124.51/39.74 YES 124.68/39.77 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 124.68/39.77 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 124.68/39.77 124.68/39.77 124.68/39.77 Termination w.r.t. Q of the given QTRS could be proven: 124.68/39.77 124.68/39.77 (0) QTRS 124.68/39.77 (1) DependencyPairsProof [EQUIVALENT, 64 ms] 124.68/39.77 (2) QDP 124.68/39.77 (3) DependencyGraphProof [EQUIVALENT, 0 ms] 124.68/39.77 (4) AND 124.68/39.77 (5) QDP 124.68/39.77 (6) UsableRulesProof [EQUIVALENT, 0 ms] 124.68/39.77 (7) QDP 124.68/39.77 (8) QReductionProof [EQUIVALENT, 0 ms] 124.68/39.77 (9) QDP 124.68/39.77 (10) QDPSizeChangeProof [EQUIVALENT, 0 ms] 124.68/39.77 (11) YES 124.68/39.77 (12) QDP 124.68/39.77 (13) UsableRulesProof [EQUIVALENT, 0 ms] 124.68/39.77 (14) QDP 124.68/39.77 (15) QReductionProof [EQUIVALENT, 0 ms] 124.68/39.77 (16) QDP 124.68/39.77 (17) QDPSizeChangeProof [EQUIVALENT, 0 ms] 124.68/39.77 (18) YES 124.68/39.77 (19) QDP 124.68/39.77 (20) UsableRulesProof [EQUIVALENT, 0 ms] 124.68/39.77 (21) QDP 124.68/39.77 (22) QReductionProof [EQUIVALENT, 0 ms] 124.68/39.77 (23) QDP 124.68/39.77 (24) QDPSizeChangeProof [EQUIVALENT, 0 ms] 124.68/39.77 (25) YES 124.68/39.77 (26) QDP 124.68/39.77 (27) UsableRulesProof [EQUIVALENT, 0 ms] 124.68/39.77 (28) QDP 124.68/39.77 (29) QReductionProof [EQUIVALENT, 0 ms] 124.68/39.77 (30) QDP 124.68/39.77 (31) QDPSizeChangeProof [EQUIVALENT, 0 ms] 124.68/39.77 (32) YES 124.68/39.77 (33) QDP 124.68/39.77 (34) UsableRulesProof [EQUIVALENT, 0 ms] 124.68/39.77 (35) QDP 124.68/39.77 (36) QReductionProof [EQUIVALENT, 0 ms] 124.68/39.77 (37) QDP 124.68/39.77 (38) QDPSizeChangeProof [EQUIVALENT, 0 ms] 124.68/39.77 (39) YES 124.68/39.77 (40) QDP 124.68/39.77 (41) UsableRulesProof [EQUIVALENT, 0 ms] 124.68/39.77 (42) QDP 124.68/39.77 (43) QReductionProof [EQUIVALENT, 0 ms] 124.68/39.77 (44) QDP 124.68/39.77 (45) QDPSizeChangeProof [EQUIVALENT, 0 ms] 124.68/39.77 (46) YES 124.68/39.77 (47) QDP 124.68/39.77 (48) UsableRulesProof [EQUIVALENT, 0 ms] 124.68/39.77 (49) QDP 124.68/39.77 (50) QReductionProof [EQUIVALENT, 0 ms] 124.68/39.77 (51) QDP 124.68/39.77 (52) QDPSizeChangeProof [EQUIVALENT, 0 ms] 124.68/39.77 (53) YES 124.68/39.77 (54) QDP 124.68/39.77 (55) UsableRulesProof [EQUIVALENT, 0 ms] 124.68/39.77 (56) QDP 124.68/39.77 (57) QReductionProof [EQUIVALENT, 0 ms] 124.68/39.77 (58) QDP 124.68/39.77 (59) QDPSizeChangeProof [EQUIVALENT, 0 ms] 124.68/39.77 (60) YES 124.68/39.77 (61) QDP 124.68/39.77 (62) UsableRulesProof [EQUIVALENT, 0 ms] 124.68/39.77 (63) QDP 124.68/39.77 (64) QReductionProof [EQUIVALENT, 0 ms] 124.68/39.77 (65) QDP 124.68/39.77 (66) QDPSizeChangeProof [EQUIVALENT, 0 ms] 124.68/39.77 (67) YES 124.68/39.77 (68) QDP 124.68/39.77 (69) UsableRulesProof [EQUIVALENT, 0 ms] 124.68/39.77 (70) QDP 124.68/39.77 (71) QReductionProof [EQUIVALENT, 0 ms] 124.68/39.77 (72) QDP 124.68/39.77 (73) QDPSizeChangeProof [EQUIVALENT, 0 ms] 124.68/39.77 (74) YES 124.68/39.77 (75) QDP 124.68/39.77 (76) UsableRulesProof [EQUIVALENT, 0 ms] 124.68/39.77 (77) QDP 124.68/39.77 (78) QReductionProof [EQUIVALENT, 0 ms] 124.68/39.77 (79) QDP 124.68/39.77 (80) QDPSizeChangeProof [EQUIVALENT, 0 ms] 124.68/39.77 (81) YES 124.68/39.77 (82) QDP 124.68/39.77 (83) UsableRulesProof [EQUIVALENT, 0 ms] 124.68/39.77 (84) QDP 124.68/39.77 (85) QReductionProof [EQUIVALENT, 0 ms] 124.68/39.77 (86) QDP 124.68/39.77 (87) QDPSizeChangeProof [EQUIVALENT, 0 ms] 124.68/39.77 (88) YES 124.68/39.77 (89) QDP 124.68/39.77 (90) QDPOrderProof [EQUIVALENT, 741 ms] 124.68/39.77 (91) QDP 124.68/39.77 (92) QDPQMonotonicMRRProof [EQUIVALENT, 283 ms] 124.68/39.77 (93) QDP 124.68/39.77 (94) QDPQMonotonicMRRProof [EQUIVALENT, 244 ms] 124.68/39.77 (95) QDP 124.68/39.77 (96) QDPQMonotonicMRRProof [EQUIVALENT, 208 ms] 124.68/39.77 (97) QDP 124.68/39.77 (98) QDPQMonotonicMRRProof [EQUIVALENT, 196 ms] 124.68/39.77 (99) QDP 124.68/39.77 (100) QDPOrderProof [EQUIVALENT, 637 ms] 124.68/39.77 (101) QDP 124.68/39.77 (102) QDPOrderProof [EQUIVALENT, 505 ms] 124.68/39.77 (103) QDP 124.68/39.77 (104) QDPOrderProof [EQUIVALENT, 530 ms] 124.68/39.77 (105) QDP 124.68/39.77 (106) QDPOrderProof [EQUIVALENT, 461 ms] 124.68/39.77 (107) QDP 124.68/39.77 (108) QDPQMonotonicMRRProof [EQUIVALENT, 161 ms] 124.68/39.77 (109) QDP 124.68/39.77 (110) QDPOrderProof [EQUIVALENT, 484 ms] 124.68/39.77 (111) QDP 124.68/39.77 (112) QDPOrderProof [EQUIVALENT, 524 ms] 124.68/39.77 (113) QDP 124.68/39.77 (114) QDPOrderProof [EQUIVALENT, 494 ms] 124.68/39.77 (115) QDP 124.68/39.77 (116) QDPOrderProof [EQUIVALENT, 508 ms] 124.68/39.77 (117) QDP 124.68/39.77 (118) QDPOrderProof [EQUIVALENT, 445 ms] 124.68/39.77 (119) QDP 124.68/39.77 (120) DependencyGraphProof [EQUIVALENT, 0 ms] 124.68/39.77 (121) QDP 124.68/39.77 (122) QDPQMonotonicMRRProof [EQUIVALENT, 122 ms] 124.68/39.77 (123) QDP 124.68/39.77 (124) QDPOrderProof [EQUIVALENT, 504 ms] 124.68/39.77 (125) QDP 124.68/39.77 (126) QDPOrderProof [EQUIVALENT, 493 ms] 124.68/39.77 (127) QDP 124.68/39.77 (128) QDPQMonotonicMRRProof [EQUIVALENT, 113 ms] 124.68/39.77 (129) QDP 124.68/39.77 (130) QDPOrderProof [EQUIVALENT, 512 ms] 124.68/39.77 (131) QDP 124.68/39.77 (132) QDPOrderProof [EQUIVALENT, 31 ms] 124.68/39.77 (133) QDP 124.68/39.77 (134) QDPOrderProof [EQUIVALENT, 22 ms] 124.68/39.77 (135) QDP 124.68/39.77 (136) QDPQMonotonicMRRProof [EQUIVALENT, 70 ms] 124.68/39.77 (137) QDP 124.68/39.77 (138) QDPOrderProof [EQUIVALENT, 556 ms] 124.68/39.77 (139) QDP 124.68/39.77 (140) QDPQMonotonicMRRProof [EQUIVALENT, 97 ms] 124.68/39.77 (141) QDP 124.68/39.77 (142) QDPQMonotonicMRRProof [EQUIVALENT, 55 ms] 124.68/39.77 (143) QDP 124.68/39.77 (144) QDPOrderProof [EQUIVALENT, 501 ms] 124.68/39.77 (145) QDP 124.68/39.77 (146) PisEmptyProof [EQUIVALENT, 0 ms] 124.68/39.77 (147) YES 124.68/39.77 124.68/39.77 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (0) 124.68/39.77 Obligation: 124.68/39.77 Q restricted rewrite system: 124.68/39.77 The TRS R consists of the following rules: 124.68/39.77 124.68/39.77 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.77 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.77 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.77 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.77 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.77 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.77 active(plus(0, Y)) -> mark(Y) 124.68/39.77 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.77 active(times(0, Y)) -> mark(0) 124.68/39.77 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.77 active(square(X)) -> mark(times(X, X)) 124.68/39.77 mark(from(X)) -> active(from(mark(X))) 124.68/39.77 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.77 mark(s(X)) -> active(s(mark(X))) 124.68/39.77 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.77 mark(0) -> active(0) 124.68/39.77 mark(rnil) -> active(rnil) 124.68/39.77 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.77 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.77 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.77 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.77 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.77 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.77 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.77 mark(square(X)) -> active(square(mark(X))) 124.68/39.77 from(mark(X)) -> from(X) 124.68/39.77 from(active(X)) -> from(X) 124.68/39.77 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.77 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.77 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.77 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.77 s(mark(X)) -> s(X) 124.68/39.77 s(active(X)) -> s(X) 124.68/39.77 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.77 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.77 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.77 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.77 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.77 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.77 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.77 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.77 posrecip(mark(X)) -> posrecip(X) 124.68/39.77 posrecip(active(X)) -> posrecip(X) 124.68/39.77 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.77 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.77 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.77 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.77 negrecip(mark(X)) -> negrecip(X) 124.68/39.77 negrecip(active(X)) -> negrecip(X) 124.68/39.77 pi(mark(X)) -> pi(X) 124.68/39.77 pi(active(X)) -> pi(X) 124.68/39.77 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.77 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.77 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.77 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.77 times(mark(X1), X2) -> times(X1, X2) 124.68/39.77 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.77 times(active(X1), X2) -> times(X1, X2) 124.68/39.77 times(X1, active(X2)) -> times(X1, X2) 124.68/39.77 square(mark(X)) -> square(X) 124.68/39.77 square(active(X)) -> square(X) 124.68/39.77 124.68/39.77 The set Q consists of the following terms: 124.68/39.77 124.68/39.77 active(from(x0)) 124.68/39.77 active(2ndspos(0, x0)) 124.68/39.77 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(2ndsneg(0, x0)) 124.68/39.77 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(pi(x0)) 124.68/39.77 active(plus(0, x0)) 124.68/39.77 active(plus(s(x0), x1)) 124.68/39.77 active(times(0, x0)) 124.68/39.77 active(times(s(x0), x1)) 124.68/39.77 active(square(x0)) 124.68/39.77 mark(from(x0)) 124.68/39.77 mark(cons(x0, x1)) 124.68/39.77 mark(s(x0)) 124.68/39.77 mark(2ndspos(x0, x1)) 124.68/39.77 mark(0) 124.68/39.77 mark(rnil) 124.68/39.77 mark(rcons(x0, x1)) 124.68/39.77 mark(posrecip(x0)) 124.68/39.77 mark(2ndsneg(x0, x1)) 124.68/39.77 mark(negrecip(x0)) 124.68/39.77 mark(pi(x0)) 124.68/39.77 mark(plus(x0, x1)) 124.68/39.77 mark(times(x0, x1)) 124.68/39.77 mark(square(x0)) 124.68/39.77 from(mark(x0)) 124.68/39.77 from(active(x0)) 124.68/39.77 cons(mark(x0), x1) 124.68/39.77 cons(x0, mark(x1)) 124.68/39.77 cons(active(x0), x1) 124.68/39.77 cons(x0, active(x1)) 124.68/39.77 s(mark(x0)) 124.68/39.77 s(active(x0)) 124.68/39.77 2ndspos(mark(x0), x1) 124.68/39.77 2ndspos(x0, mark(x1)) 124.68/39.77 2ndspos(active(x0), x1) 124.68/39.77 2ndspos(x0, active(x1)) 124.68/39.77 rcons(mark(x0), x1) 124.68/39.77 rcons(x0, mark(x1)) 124.68/39.77 rcons(active(x0), x1) 124.68/39.77 rcons(x0, active(x1)) 124.68/39.77 posrecip(mark(x0)) 124.68/39.77 posrecip(active(x0)) 124.68/39.77 2ndsneg(mark(x0), x1) 124.68/39.77 2ndsneg(x0, mark(x1)) 124.68/39.77 2ndsneg(active(x0), x1) 124.68/39.77 2ndsneg(x0, active(x1)) 124.68/39.77 negrecip(mark(x0)) 124.68/39.77 negrecip(active(x0)) 124.68/39.77 pi(mark(x0)) 124.68/39.77 pi(active(x0)) 124.68/39.77 plus(mark(x0), x1) 124.68/39.77 plus(x0, mark(x1)) 124.68/39.77 plus(active(x0), x1) 124.68/39.77 plus(x0, active(x1)) 124.68/39.77 times(mark(x0), x1) 124.68/39.77 times(x0, mark(x1)) 124.68/39.77 times(active(x0), x1) 124.68/39.77 times(x0, active(x1)) 124.68/39.77 square(mark(x0)) 124.68/39.77 square(active(x0)) 124.68/39.77 124.68/39.77 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (1) DependencyPairsProof (EQUIVALENT) 124.68/39.77 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (2) 124.68/39.77 Obligation: 124.68/39.77 Q DP problem: 124.68/39.77 The TRS P consists of the following rules: 124.68/39.77 124.68/39.77 ACTIVE(from(X)) -> MARK(cons(X, from(s(X)))) 124.68/39.77 ACTIVE(from(X)) -> CONS(X, from(s(X))) 124.68/39.77 ACTIVE(from(X)) -> FROM(s(X)) 124.68/39.77 ACTIVE(from(X)) -> S(X) 124.68/39.77 ACTIVE(2ndspos(0, Z)) -> MARK(rnil) 124.68/39.77 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.77 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> RCONS(posrecip(Y), 2ndsneg(N, Z)) 124.68/39.77 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> POSRECIP(Y) 124.68/39.77 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> 2NDSNEG(N, Z) 124.68/39.77 ACTIVE(2ndsneg(0, Z)) -> MARK(rnil) 124.68/39.77 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.77 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> RCONS(negrecip(Y), 2ndspos(N, Z)) 124.68/39.77 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> NEGRECIP(Y) 124.68/39.77 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> 2NDSPOS(N, Z) 124.68/39.77 ACTIVE(pi(X)) -> MARK(2ndspos(X, from(0))) 124.68/39.77 ACTIVE(pi(X)) -> 2NDSPOS(X, from(0)) 124.68/39.77 ACTIVE(pi(X)) -> FROM(0) 124.68/39.77 ACTIVE(plus(0, Y)) -> MARK(Y) 124.68/39.77 ACTIVE(plus(s(X), Y)) -> MARK(s(plus(X, Y))) 124.68/39.77 ACTIVE(plus(s(X), Y)) -> S(plus(X, Y)) 124.68/39.77 ACTIVE(plus(s(X), Y)) -> PLUS(X, Y) 124.68/39.77 ACTIVE(times(0, Y)) -> MARK(0) 124.68/39.77 ACTIVE(times(s(X), Y)) -> MARK(plus(Y, times(X, Y))) 124.68/39.77 ACTIVE(times(s(X), Y)) -> PLUS(Y, times(X, Y)) 124.68/39.77 ACTIVE(times(s(X), Y)) -> TIMES(X, Y) 124.68/39.77 ACTIVE(square(X)) -> MARK(times(X, X)) 124.68/39.77 ACTIVE(square(X)) -> TIMES(X, X) 124.68/39.77 MARK(from(X)) -> ACTIVE(from(mark(X))) 124.68/39.77 MARK(from(X)) -> FROM(mark(X)) 124.68/39.77 MARK(from(X)) -> MARK(X) 124.68/39.77 MARK(cons(X1, X2)) -> ACTIVE(cons(mark(X1), X2)) 124.68/39.77 MARK(cons(X1, X2)) -> CONS(mark(X1), X2) 124.68/39.77 MARK(cons(X1, X2)) -> MARK(X1) 124.68/39.77 MARK(s(X)) -> ACTIVE(s(mark(X))) 124.68/39.77 MARK(s(X)) -> S(mark(X)) 124.68/39.77 MARK(s(X)) -> MARK(X) 124.68/39.77 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.68/39.77 MARK(2ndspos(X1, X2)) -> 2NDSPOS(mark(X1), mark(X2)) 124.68/39.77 MARK(2ndspos(X1, X2)) -> MARK(X1) 124.68/39.77 MARK(2ndspos(X1, X2)) -> MARK(X2) 124.68/39.77 MARK(0) -> ACTIVE(0) 124.68/39.77 MARK(rnil) -> ACTIVE(rnil) 124.68/39.77 MARK(rcons(X1, X2)) -> ACTIVE(rcons(mark(X1), mark(X2))) 124.68/39.77 MARK(rcons(X1, X2)) -> RCONS(mark(X1), mark(X2)) 124.68/39.77 MARK(rcons(X1, X2)) -> MARK(X1) 124.68/39.77 MARK(rcons(X1, X2)) -> MARK(X2) 124.68/39.77 MARK(posrecip(X)) -> ACTIVE(posrecip(mark(X))) 124.68/39.77 MARK(posrecip(X)) -> POSRECIP(mark(X)) 124.68/39.77 MARK(posrecip(X)) -> MARK(X) 124.68/39.77 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.68/39.77 MARK(2ndsneg(X1, X2)) -> 2NDSNEG(mark(X1), mark(X2)) 124.68/39.77 MARK(2ndsneg(X1, X2)) -> MARK(X1) 124.68/39.77 MARK(2ndsneg(X1, X2)) -> MARK(X2) 124.68/39.77 MARK(negrecip(X)) -> ACTIVE(negrecip(mark(X))) 124.68/39.77 MARK(negrecip(X)) -> NEGRECIP(mark(X)) 124.68/39.77 MARK(negrecip(X)) -> MARK(X) 124.68/39.77 MARK(pi(X)) -> ACTIVE(pi(mark(X))) 124.68/39.77 MARK(pi(X)) -> PI(mark(X)) 124.68/39.77 MARK(pi(X)) -> MARK(X) 124.68/39.77 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 124.68/39.77 MARK(plus(X1, X2)) -> PLUS(mark(X1), mark(X2)) 124.68/39.77 MARK(plus(X1, X2)) -> MARK(X1) 124.68/39.77 MARK(plus(X1, X2)) -> MARK(X2) 124.68/39.77 MARK(times(X1, X2)) -> ACTIVE(times(mark(X1), mark(X2))) 124.68/39.77 MARK(times(X1, X2)) -> TIMES(mark(X1), mark(X2)) 124.68/39.77 MARK(times(X1, X2)) -> MARK(X1) 124.68/39.77 MARK(times(X1, X2)) -> MARK(X2) 124.68/39.77 MARK(square(X)) -> ACTIVE(square(mark(X))) 124.68/39.77 MARK(square(X)) -> SQUARE(mark(X)) 124.68/39.77 MARK(square(X)) -> MARK(X) 124.68/39.77 FROM(mark(X)) -> FROM(X) 124.68/39.77 FROM(active(X)) -> FROM(X) 124.68/39.77 CONS(mark(X1), X2) -> CONS(X1, X2) 124.68/39.77 CONS(X1, mark(X2)) -> CONS(X1, X2) 124.68/39.77 CONS(active(X1), X2) -> CONS(X1, X2) 124.68/39.77 CONS(X1, active(X2)) -> CONS(X1, X2) 124.68/39.77 S(mark(X)) -> S(X) 124.68/39.77 S(active(X)) -> S(X) 124.68/39.77 2NDSPOS(mark(X1), X2) -> 2NDSPOS(X1, X2) 124.68/39.77 2NDSPOS(X1, mark(X2)) -> 2NDSPOS(X1, X2) 124.68/39.77 2NDSPOS(active(X1), X2) -> 2NDSPOS(X1, X2) 124.68/39.77 2NDSPOS(X1, active(X2)) -> 2NDSPOS(X1, X2) 124.68/39.77 RCONS(mark(X1), X2) -> RCONS(X1, X2) 124.68/39.77 RCONS(X1, mark(X2)) -> RCONS(X1, X2) 124.68/39.77 RCONS(active(X1), X2) -> RCONS(X1, X2) 124.68/39.77 RCONS(X1, active(X2)) -> RCONS(X1, X2) 124.68/39.77 POSRECIP(mark(X)) -> POSRECIP(X) 124.68/39.77 POSRECIP(active(X)) -> POSRECIP(X) 124.68/39.77 2NDSNEG(mark(X1), X2) -> 2NDSNEG(X1, X2) 124.68/39.77 2NDSNEG(X1, mark(X2)) -> 2NDSNEG(X1, X2) 124.68/39.77 2NDSNEG(active(X1), X2) -> 2NDSNEG(X1, X2) 124.68/39.77 2NDSNEG(X1, active(X2)) -> 2NDSNEG(X1, X2) 124.68/39.77 NEGRECIP(mark(X)) -> NEGRECIP(X) 124.68/39.77 NEGRECIP(active(X)) -> NEGRECIP(X) 124.68/39.77 PI(mark(X)) -> PI(X) 124.68/39.77 PI(active(X)) -> PI(X) 124.68/39.77 PLUS(mark(X1), X2) -> PLUS(X1, X2) 124.68/39.77 PLUS(X1, mark(X2)) -> PLUS(X1, X2) 124.68/39.77 PLUS(active(X1), X2) -> PLUS(X1, X2) 124.68/39.77 PLUS(X1, active(X2)) -> PLUS(X1, X2) 124.68/39.77 TIMES(mark(X1), X2) -> TIMES(X1, X2) 124.68/39.77 TIMES(X1, mark(X2)) -> TIMES(X1, X2) 124.68/39.77 TIMES(active(X1), X2) -> TIMES(X1, X2) 124.68/39.77 TIMES(X1, active(X2)) -> TIMES(X1, X2) 124.68/39.77 SQUARE(mark(X)) -> SQUARE(X) 124.68/39.77 SQUARE(active(X)) -> SQUARE(X) 124.68/39.77 124.68/39.77 The TRS R consists of the following rules: 124.68/39.77 124.68/39.77 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.77 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.77 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.77 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.77 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.77 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.77 active(plus(0, Y)) -> mark(Y) 124.68/39.77 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.77 active(times(0, Y)) -> mark(0) 124.68/39.77 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.77 active(square(X)) -> mark(times(X, X)) 124.68/39.77 mark(from(X)) -> active(from(mark(X))) 124.68/39.77 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.77 mark(s(X)) -> active(s(mark(X))) 124.68/39.77 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.77 mark(0) -> active(0) 124.68/39.77 mark(rnil) -> active(rnil) 124.68/39.77 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.77 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.77 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.77 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.77 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.77 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.77 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.77 mark(square(X)) -> active(square(mark(X))) 124.68/39.77 from(mark(X)) -> from(X) 124.68/39.77 from(active(X)) -> from(X) 124.68/39.77 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.77 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.77 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.77 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.77 s(mark(X)) -> s(X) 124.68/39.77 s(active(X)) -> s(X) 124.68/39.77 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.77 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.77 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.77 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.77 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.77 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.77 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.77 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.77 posrecip(mark(X)) -> posrecip(X) 124.68/39.77 posrecip(active(X)) -> posrecip(X) 124.68/39.77 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.77 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.77 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.77 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.77 negrecip(mark(X)) -> negrecip(X) 124.68/39.77 negrecip(active(X)) -> negrecip(X) 124.68/39.77 pi(mark(X)) -> pi(X) 124.68/39.77 pi(active(X)) -> pi(X) 124.68/39.77 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.77 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.77 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.77 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.77 times(mark(X1), X2) -> times(X1, X2) 124.68/39.77 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.77 times(active(X1), X2) -> times(X1, X2) 124.68/39.77 times(X1, active(X2)) -> times(X1, X2) 124.68/39.77 square(mark(X)) -> square(X) 124.68/39.77 square(active(X)) -> square(X) 124.68/39.77 124.68/39.77 The set Q consists of the following terms: 124.68/39.77 124.68/39.77 active(from(x0)) 124.68/39.77 active(2ndspos(0, x0)) 124.68/39.77 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(2ndsneg(0, x0)) 124.68/39.77 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(pi(x0)) 124.68/39.77 active(plus(0, x0)) 124.68/39.77 active(plus(s(x0), x1)) 124.68/39.77 active(times(0, x0)) 124.68/39.77 active(times(s(x0), x1)) 124.68/39.77 active(square(x0)) 124.68/39.77 mark(from(x0)) 124.68/39.77 mark(cons(x0, x1)) 124.68/39.77 mark(s(x0)) 124.68/39.77 mark(2ndspos(x0, x1)) 124.68/39.77 mark(0) 124.68/39.77 mark(rnil) 124.68/39.77 mark(rcons(x0, x1)) 124.68/39.77 mark(posrecip(x0)) 124.68/39.77 mark(2ndsneg(x0, x1)) 124.68/39.77 mark(negrecip(x0)) 124.68/39.77 mark(pi(x0)) 124.68/39.77 mark(plus(x0, x1)) 124.68/39.77 mark(times(x0, x1)) 124.68/39.77 mark(square(x0)) 124.68/39.77 from(mark(x0)) 124.68/39.77 from(active(x0)) 124.68/39.77 cons(mark(x0), x1) 124.68/39.77 cons(x0, mark(x1)) 124.68/39.77 cons(active(x0), x1) 124.68/39.77 cons(x0, active(x1)) 124.68/39.77 s(mark(x0)) 124.68/39.77 s(active(x0)) 124.68/39.77 2ndspos(mark(x0), x1) 124.68/39.77 2ndspos(x0, mark(x1)) 124.68/39.77 2ndspos(active(x0), x1) 124.68/39.77 2ndspos(x0, active(x1)) 124.68/39.77 rcons(mark(x0), x1) 124.68/39.77 rcons(x0, mark(x1)) 124.68/39.77 rcons(active(x0), x1) 124.68/39.77 rcons(x0, active(x1)) 124.68/39.77 posrecip(mark(x0)) 124.68/39.77 posrecip(active(x0)) 124.68/39.77 2ndsneg(mark(x0), x1) 124.68/39.77 2ndsneg(x0, mark(x1)) 124.68/39.77 2ndsneg(active(x0), x1) 124.68/39.77 2ndsneg(x0, active(x1)) 124.68/39.77 negrecip(mark(x0)) 124.68/39.77 negrecip(active(x0)) 124.68/39.77 pi(mark(x0)) 124.68/39.77 pi(active(x0)) 124.68/39.77 plus(mark(x0), x1) 124.68/39.77 plus(x0, mark(x1)) 124.68/39.77 plus(active(x0), x1) 124.68/39.77 plus(x0, active(x1)) 124.68/39.77 times(mark(x0), x1) 124.68/39.77 times(x0, mark(x1)) 124.68/39.77 times(active(x0), x1) 124.68/39.77 times(x0, active(x1)) 124.68/39.77 square(mark(x0)) 124.68/39.77 square(active(x0)) 124.68/39.77 124.68/39.77 We have to consider all minimal (P,Q,R)-chains. 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (3) DependencyGraphProof (EQUIVALENT) 124.68/39.77 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 13 SCCs with 33 less nodes. 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (4) 124.68/39.77 Complex Obligation (AND) 124.68/39.77 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (5) 124.68/39.77 Obligation: 124.68/39.77 Q DP problem: 124.68/39.77 The TRS P consists of the following rules: 124.68/39.77 124.68/39.77 SQUARE(active(X)) -> SQUARE(X) 124.68/39.77 SQUARE(mark(X)) -> SQUARE(X) 124.68/39.77 124.68/39.77 The TRS R consists of the following rules: 124.68/39.77 124.68/39.77 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.77 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.77 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.77 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.77 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.77 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.77 active(plus(0, Y)) -> mark(Y) 124.68/39.77 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.77 active(times(0, Y)) -> mark(0) 124.68/39.77 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.77 active(square(X)) -> mark(times(X, X)) 124.68/39.77 mark(from(X)) -> active(from(mark(X))) 124.68/39.77 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.77 mark(s(X)) -> active(s(mark(X))) 124.68/39.77 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.77 mark(0) -> active(0) 124.68/39.77 mark(rnil) -> active(rnil) 124.68/39.77 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.77 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.77 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.77 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.77 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.77 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.77 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.77 mark(square(X)) -> active(square(mark(X))) 124.68/39.77 from(mark(X)) -> from(X) 124.68/39.77 from(active(X)) -> from(X) 124.68/39.77 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.77 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.77 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.77 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.77 s(mark(X)) -> s(X) 124.68/39.77 s(active(X)) -> s(X) 124.68/39.77 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.77 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.77 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.77 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.77 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.77 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.77 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.77 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.77 posrecip(mark(X)) -> posrecip(X) 124.68/39.77 posrecip(active(X)) -> posrecip(X) 124.68/39.77 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.77 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.77 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.77 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.77 negrecip(mark(X)) -> negrecip(X) 124.68/39.77 negrecip(active(X)) -> negrecip(X) 124.68/39.77 pi(mark(X)) -> pi(X) 124.68/39.77 pi(active(X)) -> pi(X) 124.68/39.77 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.77 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.77 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.77 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.77 times(mark(X1), X2) -> times(X1, X2) 124.68/39.77 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.77 times(active(X1), X2) -> times(X1, X2) 124.68/39.77 times(X1, active(X2)) -> times(X1, X2) 124.68/39.77 square(mark(X)) -> square(X) 124.68/39.77 square(active(X)) -> square(X) 124.68/39.77 124.68/39.77 The set Q consists of the following terms: 124.68/39.77 124.68/39.77 active(from(x0)) 124.68/39.77 active(2ndspos(0, x0)) 124.68/39.77 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(2ndsneg(0, x0)) 124.68/39.77 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(pi(x0)) 124.68/39.77 active(plus(0, x0)) 124.68/39.77 active(plus(s(x0), x1)) 124.68/39.77 active(times(0, x0)) 124.68/39.77 active(times(s(x0), x1)) 124.68/39.77 active(square(x0)) 124.68/39.77 mark(from(x0)) 124.68/39.77 mark(cons(x0, x1)) 124.68/39.77 mark(s(x0)) 124.68/39.77 mark(2ndspos(x0, x1)) 124.68/39.77 mark(0) 124.68/39.77 mark(rnil) 124.68/39.77 mark(rcons(x0, x1)) 124.68/39.77 mark(posrecip(x0)) 124.68/39.77 mark(2ndsneg(x0, x1)) 124.68/39.77 mark(negrecip(x0)) 124.68/39.77 mark(pi(x0)) 124.68/39.77 mark(plus(x0, x1)) 124.68/39.77 mark(times(x0, x1)) 124.68/39.77 mark(square(x0)) 124.68/39.77 from(mark(x0)) 124.68/39.77 from(active(x0)) 124.68/39.77 cons(mark(x0), x1) 124.68/39.77 cons(x0, mark(x1)) 124.68/39.77 cons(active(x0), x1) 124.68/39.77 cons(x0, active(x1)) 124.68/39.77 s(mark(x0)) 124.68/39.77 s(active(x0)) 124.68/39.77 2ndspos(mark(x0), x1) 124.68/39.77 2ndspos(x0, mark(x1)) 124.68/39.77 2ndspos(active(x0), x1) 124.68/39.77 2ndspos(x0, active(x1)) 124.68/39.77 rcons(mark(x0), x1) 124.68/39.77 rcons(x0, mark(x1)) 124.68/39.77 rcons(active(x0), x1) 124.68/39.77 rcons(x0, active(x1)) 124.68/39.77 posrecip(mark(x0)) 124.68/39.77 posrecip(active(x0)) 124.68/39.77 2ndsneg(mark(x0), x1) 124.68/39.77 2ndsneg(x0, mark(x1)) 124.68/39.77 2ndsneg(active(x0), x1) 124.68/39.77 2ndsneg(x0, active(x1)) 124.68/39.77 negrecip(mark(x0)) 124.68/39.77 negrecip(active(x0)) 124.68/39.77 pi(mark(x0)) 124.68/39.77 pi(active(x0)) 124.68/39.77 plus(mark(x0), x1) 124.68/39.77 plus(x0, mark(x1)) 124.68/39.77 plus(active(x0), x1) 124.68/39.77 plus(x0, active(x1)) 124.68/39.77 times(mark(x0), x1) 124.68/39.77 times(x0, mark(x1)) 124.68/39.77 times(active(x0), x1) 124.68/39.77 times(x0, active(x1)) 124.68/39.77 square(mark(x0)) 124.68/39.77 square(active(x0)) 124.68/39.77 124.68/39.77 We have to consider all minimal (P,Q,R)-chains. 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (6) UsableRulesProof (EQUIVALENT) 124.68/39.77 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (7) 124.68/39.77 Obligation: 124.68/39.77 Q DP problem: 124.68/39.77 The TRS P consists of the following rules: 124.68/39.77 124.68/39.77 SQUARE(active(X)) -> SQUARE(X) 124.68/39.77 SQUARE(mark(X)) -> SQUARE(X) 124.68/39.77 124.68/39.77 R is empty. 124.68/39.77 The set Q consists of the following terms: 124.68/39.77 124.68/39.77 active(from(x0)) 124.68/39.77 active(2ndspos(0, x0)) 124.68/39.77 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(2ndsneg(0, x0)) 124.68/39.77 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(pi(x0)) 124.68/39.77 active(plus(0, x0)) 124.68/39.77 active(plus(s(x0), x1)) 124.68/39.77 active(times(0, x0)) 124.68/39.77 active(times(s(x0), x1)) 124.68/39.77 active(square(x0)) 124.68/39.77 mark(from(x0)) 124.68/39.77 mark(cons(x0, x1)) 124.68/39.77 mark(s(x0)) 124.68/39.77 mark(2ndspos(x0, x1)) 124.68/39.77 mark(0) 124.68/39.77 mark(rnil) 124.68/39.77 mark(rcons(x0, x1)) 124.68/39.77 mark(posrecip(x0)) 124.68/39.77 mark(2ndsneg(x0, x1)) 124.68/39.77 mark(negrecip(x0)) 124.68/39.77 mark(pi(x0)) 124.68/39.77 mark(plus(x0, x1)) 124.68/39.77 mark(times(x0, x1)) 124.68/39.77 mark(square(x0)) 124.68/39.77 from(mark(x0)) 124.68/39.77 from(active(x0)) 124.68/39.77 cons(mark(x0), x1) 124.68/39.77 cons(x0, mark(x1)) 124.68/39.77 cons(active(x0), x1) 124.68/39.77 cons(x0, active(x1)) 124.68/39.77 s(mark(x0)) 124.68/39.77 s(active(x0)) 124.68/39.77 2ndspos(mark(x0), x1) 124.68/39.77 2ndspos(x0, mark(x1)) 124.68/39.77 2ndspos(active(x0), x1) 124.68/39.77 2ndspos(x0, active(x1)) 124.68/39.77 rcons(mark(x0), x1) 124.68/39.77 rcons(x0, mark(x1)) 124.68/39.77 rcons(active(x0), x1) 124.68/39.77 rcons(x0, active(x1)) 124.68/39.77 posrecip(mark(x0)) 124.68/39.77 posrecip(active(x0)) 124.68/39.77 2ndsneg(mark(x0), x1) 124.68/39.77 2ndsneg(x0, mark(x1)) 124.68/39.77 2ndsneg(active(x0), x1) 124.68/39.77 2ndsneg(x0, active(x1)) 124.68/39.77 negrecip(mark(x0)) 124.68/39.77 negrecip(active(x0)) 124.68/39.77 pi(mark(x0)) 124.68/39.77 pi(active(x0)) 124.68/39.77 plus(mark(x0), x1) 124.68/39.77 plus(x0, mark(x1)) 124.68/39.77 plus(active(x0), x1) 124.68/39.77 plus(x0, active(x1)) 124.68/39.77 times(mark(x0), x1) 124.68/39.77 times(x0, mark(x1)) 124.68/39.77 times(active(x0), x1) 124.68/39.77 times(x0, active(x1)) 124.68/39.77 square(mark(x0)) 124.68/39.77 square(active(x0)) 124.68/39.77 124.68/39.77 We have to consider all minimal (P,Q,R)-chains. 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (8) QReductionProof (EQUIVALENT) 124.68/39.77 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 124.68/39.77 124.68/39.77 from(mark(x0)) 124.68/39.77 from(active(x0)) 124.68/39.77 cons(mark(x0), x1) 124.68/39.77 cons(x0, mark(x1)) 124.68/39.77 cons(active(x0), x1) 124.68/39.77 cons(x0, active(x1)) 124.68/39.77 s(mark(x0)) 124.68/39.77 s(active(x0)) 124.68/39.77 2ndspos(mark(x0), x1) 124.68/39.77 2ndspos(x0, mark(x1)) 124.68/39.77 2ndspos(active(x0), x1) 124.68/39.77 2ndspos(x0, active(x1)) 124.68/39.77 rcons(mark(x0), x1) 124.68/39.77 rcons(x0, mark(x1)) 124.68/39.77 rcons(active(x0), x1) 124.68/39.77 rcons(x0, active(x1)) 124.68/39.77 posrecip(mark(x0)) 124.68/39.77 posrecip(active(x0)) 124.68/39.77 2ndsneg(mark(x0), x1) 124.68/39.77 2ndsneg(x0, mark(x1)) 124.68/39.77 2ndsneg(active(x0), x1) 124.68/39.77 2ndsneg(x0, active(x1)) 124.68/39.77 negrecip(mark(x0)) 124.68/39.77 negrecip(active(x0)) 124.68/39.77 pi(mark(x0)) 124.68/39.77 pi(active(x0)) 124.68/39.77 plus(mark(x0), x1) 124.68/39.77 plus(x0, mark(x1)) 124.68/39.77 plus(active(x0), x1) 124.68/39.77 plus(x0, active(x1)) 124.68/39.77 times(mark(x0), x1) 124.68/39.77 times(x0, mark(x1)) 124.68/39.77 times(active(x0), x1) 124.68/39.77 times(x0, active(x1)) 124.68/39.77 square(mark(x0)) 124.68/39.77 square(active(x0)) 124.68/39.77 124.68/39.77 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (9) 124.68/39.77 Obligation: 124.68/39.77 Q DP problem: 124.68/39.77 The TRS P consists of the following rules: 124.68/39.77 124.68/39.77 SQUARE(active(X)) -> SQUARE(X) 124.68/39.77 SQUARE(mark(X)) -> SQUARE(X) 124.68/39.77 124.68/39.77 R is empty. 124.68/39.77 The set Q consists of the following terms: 124.68/39.77 124.68/39.77 active(from(x0)) 124.68/39.77 active(2ndspos(0, x0)) 124.68/39.77 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(2ndsneg(0, x0)) 124.68/39.77 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(pi(x0)) 124.68/39.77 active(plus(0, x0)) 124.68/39.77 active(plus(s(x0), x1)) 124.68/39.77 active(times(0, x0)) 124.68/39.77 active(times(s(x0), x1)) 124.68/39.77 active(square(x0)) 124.68/39.77 mark(from(x0)) 124.68/39.77 mark(cons(x0, x1)) 124.68/39.77 mark(s(x0)) 124.68/39.77 mark(2ndspos(x0, x1)) 124.68/39.77 mark(0) 124.68/39.77 mark(rnil) 124.68/39.77 mark(rcons(x0, x1)) 124.68/39.77 mark(posrecip(x0)) 124.68/39.77 mark(2ndsneg(x0, x1)) 124.68/39.77 mark(negrecip(x0)) 124.68/39.77 mark(pi(x0)) 124.68/39.77 mark(plus(x0, x1)) 124.68/39.77 mark(times(x0, x1)) 124.68/39.77 mark(square(x0)) 124.68/39.77 124.68/39.77 We have to consider all minimal (P,Q,R)-chains. 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (10) QDPSizeChangeProof (EQUIVALENT) 124.68/39.77 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 124.68/39.77 124.68/39.77 From the DPs we obtained the following set of size-change graphs: 124.68/39.77 *SQUARE(active(X)) -> SQUARE(X) 124.68/39.77 The graph contains the following edges 1 > 1 124.68/39.77 124.68/39.77 124.68/39.77 *SQUARE(mark(X)) -> SQUARE(X) 124.68/39.77 The graph contains the following edges 1 > 1 124.68/39.77 124.68/39.77 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (11) 124.68/39.77 YES 124.68/39.77 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (12) 124.68/39.77 Obligation: 124.68/39.77 Q DP problem: 124.68/39.77 The TRS P consists of the following rules: 124.68/39.77 124.68/39.77 TIMES(X1, mark(X2)) -> TIMES(X1, X2) 124.68/39.77 TIMES(mark(X1), X2) -> TIMES(X1, X2) 124.68/39.77 TIMES(active(X1), X2) -> TIMES(X1, X2) 124.68/39.77 TIMES(X1, active(X2)) -> TIMES(X1, X2) 124.68/39.77 124.68/39.77 The TRS R consists of the following rules: 124.68/39.77 124.68/39.77 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.77 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.77 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.77 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.77 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.77 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.77 active(plus(0, Y)) -> mark(Y) 124.68/39.77 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.77 active(times(0, Y)) -> mark(0) 124.68/39.77 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.77 active(square(X)) -> mark(times(X, X)) 124.68/39.77 mark(from(X)) -> active(from(mark(X))) 124.68/39.77 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.77 mark(s(X)) -> active(s(mark(X))) 124.68/39.77 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.77 mark(0) -> active(0) 124.68/39.77 mark(rnil) -> active(rnil) 124.68/39.77 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.77 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.77 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.77 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.77 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.77 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.77 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.77 mark(square(X)) -> active(square(mark(X))) 124.68/39.77 from(mark(X)) -> from(X) 124.68/39.77 from(active(X)) -> from(X) 124.68/39.77 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.77 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.77 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.77 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.77 s(mark(X)) -> s(X) 124.68/39.77 s(active(X)) -> s(X) 124.68/39.77 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.77 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.77 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.77 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.77 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.77 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.77 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.77 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.77 posrecip(mark(X)) -> posrecip(X) 124.68/39.77 posrecip(active(X)) -> posrecip(X) 124.68/39.77 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.77 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.77 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.77 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.77 negrecip(mark(X)) -> negrecip(X) 124.68/39.77 negrecip(active(X)) -> negrecip(X) 124.68/39.77 pi(mark(X)) -> pi(X) 124.68/39.77 pi(active(X)) -> pi(X) 124.68/39.77 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.77 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.77 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.77 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.77 times(mark(X1), X2) -> times(X1, X2) 124.68/39.77 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.77 times(active(X1), X2) -> times(X1, X2) 124.68/39.77 times(X1, active(X2)) -> times(X1, X2) 124.68/39.77 square(mark(X)) -> square(X) 124.68/39.77 square(active(X)) -> square(X) 124.68/39.77 124.68/39.77 The set Q consists of the following terms: 124.68/39.77 124.68/39.77 active(from(x0)) 124.68/39.77 active(2ndspos(0, x0)) 124.68/39.77 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(2ndsneg(0, x0)) 124.68/39.77 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(pi(x0)) 124.68/39.77 active(plus(0, x0)) 124.68/39.77 active(plus(s(x0), x1)) 124.68/39.77 active(times(0, x0)) 124.68/39.77 active(times(s(x0), x1)) 124.68/39.77 active(square(x0)) 124.68/39.77 mark(from(x0)) 124.68/39.77 mark(cons(x0, x1)) 124.68/39.77 mark(s(x0)) 124.68/39.77 mark(2ndspos(x0, x1)) 124.68/39.77 mark(0) 124.68/39.77 mark(rnil) 124.68/39.77 mark(rcons(x0, x1)) 124.68/39.77 mark(posrecip(x0)) 124.68/39.77 mark(2ndsneg(x0, x1)) 124.68/39.77 mark(negrecip(x0)) 124.68/39.77 mark(pi(x0)) 124.68/39.77 mark(plus(x0, x1)) 124.68/39.77 mark(times(x0, x1)) 124.68/39.77 mark(square(x0)) 124.68/39.77 from(mark(x0)) 124.68/39.77 from(active(x0)) 124.68/39.77 cons(mark(x0), x1) 124.68/39.77 cons(x0, mark(x1)) 124.68/39.77 cons(active(x0), x1) 124.68/39.77 cons(x0, active(x1)) 124.68/39.77 s(mark(x0)) 124.68/39.77 s(active(x0)) 124.68/39.77 2ndspos(mark(x0), x1) 124.68/39.77 2ndspos(x0, mark(x1)) 124.68/39.77 2ndspos(active(x0), x1) 124.68/39.77 2ndspos(x0, active(x1)) 124.68/39.77 rcons(mark(x0), x1) 124.68/39.77 rcons(x0, mark(x1)) 124.68/39.77 rcons(active(x0), x1) 124.68/39.77 rcons(x0, active(x1)) 124.68/39.77 posrecip(mark(x0)) 124.68/39.77 posrecip(active(x0)) 124.68/39.77 2ndsneg(mark(x0), x1) 124.68/39.77 2ndsneg(x0, mark(x1)) 124.68/39.77 2ndsneg(active(x0), x1) 124.68/39.77 2ndsneg(x0, active(x1)) 124.68/39.77 negrecip(mark(x0)) 124.68/39.77 negrecip(active(x0)) 124.68/39.77 pi(mark(x0)) 124.68/39.77 pi(active(x0)) 124.68/39.77 plus(mark(x0), x1) 124.68/39.77 plus(x0, mark(x1)) 124.68/39.77 plus(active(x0), x1) 124.68/39.77 plus(x0, active(x1)) 124.68/39.77 times(mark(x0), x1) 124.68/39.77 times(x0, mark(x1)) 124.68/39.77 times(active(x0), x1) 124.68/39.77 times(x0, active(x1)) 124.68/39.77 square(mark(x0)) 124.68/39.77 square(active(x0)) 124.68/39.77 124.68/39.77 We have to consider all minimal (P,Q,R)-chains. 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (13) UsableRulesProof (EQUIVALENT) 124.68/39.77 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (14) 124.68/39.77 Obligation: 124.68/39.77 Q DP problem: 124.68/39.77 The TRS P consists of the following rules: 124.68/39.77 124.68/39.77 TIMES(X1, mark(X2)) -> TIMES(X1, X2) 124.68/39.77 TIMES(mark(X1), X2) -> TIMES(X1, X2) 124.68/39.77 TIMES(active(X1), X2) -> TIMES(X1, X2) 124.68/39.77 TIMES(X1, active(X2)) -> TIMES(X1, X2) 124.68/39.77 124.68/39.77 R is empty. 124.68/39.77 The set Q consists of the following terms: 124.68/39.77 124.68/39.77 active(from(x0)) 124.68/39.77 active(2ndspos(0, x0)) 124.68/39.77 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(2ndsneg(0, x0)) 124.68/39.77 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(pi(x0)) 124.68/39.77 active(plus(0, x0)) 124.68/39.77 active(plus(s(x0), x1)) 124.68/39.77 active(times(0, x0)) 124.68/39.77 active(times(s(x0), x1)) 124.68/39.77 active(square(x0)) 124.68/39.77 mark(from(x0)) 124.68/39.77 mark(cons(x0, x1)) 124.68/39.77 mark(s(x0)) 124.68/39.77 mark(2ndspos(x0, x1)) 124.68/39.77 mark(0) 124.68/39.77 mark(rnil) 124.68/39.77 mark(rcons(x0, x1)) 124.68/39.77 mark(posrecip(x0)) 124.68/39.77 mark(2ndsneg(x0, x1)) 124.68/39.77 mark(negrecip(x0)) 124.68/39.77 mark(pi(x0)) 124.68/39.77 mark(plus(x0, x1)) 124.68/39.77 mark(times(x0, x1)) 124.68/39.77 mark(square(x0)) 124.68/39.77 from(mark(x0)) 124.68/39.77 from(active(x0)) 124.68/39.77 cons(mark(x0), x1) 124.68/39.77 cons(x0, mark(x1)) 124.68/39.77 cons(active(x0), x1) 124.68/39.77 cons(x0, active(x1)) 124.68/39.77 s(mark(x0)) 124.68/39.77 s(active(x0)) 124.68/39.77 2ndspos(mark(x0), x1) 124.68/39.77 2ndspos(x0, mark(x1)) 124.68/39.77 2ndspos(active(x0), x1) 124.68/39.77 2ndspos(x0, active(x1)) 124.68/39.77 rcons(mark(x0), x1) 124.68/39.77 rcons(x0, mark(x1)) 124.68/39.77 rcons(active(x0), x1) 124.68/39.77 rcons(x0, active(x1)) 124.68/39.77 posrecip(mark(x0)) 124.68/39.77 posrecip(active(x0)) 124.68/39.77 2ndsneg(mark(x0), x1) 124.68/39.77 2ndsneg(x0, mark(x1)) 124.68/39.77 2ndsneg(active(x0), x1) 124.68/39.77 2ndsneg(x0, active(x1)) 124.68/39.77 negrecip(mark(x0)) 124.68/39.77 negrecip(active(x0)) 124.68/39.77 pi(mark(x0)) 124.68/39.77 pi(active(x0)) 124.68/39.77 plus(mark(x0), x1) 124.68/39.77 plus(x0, mark(x1)) 124.68/39.77 plus(active(x0), x1) 124.68/39.77 plus(x0, active(x1)) 124.68/39.77 times(mark(x0), x1) 124.68/39.77 times(x0, mark(x1)) 124.68/39.77 times(active(x0), x1) 124.68/39.77 times(x0, active(x1)) 124.68/39.77 square(mark(x0)) 124.68/39.77 square(active(x0)) 124.68/39.77 124.68/39.77 We have to consider all minimal (P,Q,R)-chains. 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (15) QReductionProof (EQUIVALENT) 124.68/39.77 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 124.68/39.77 124.68/39.77 from(mark(x0)) 124.68/39.77 from(active(x0)) 124.68/39.77 cons(mark(x0), x1) 124.68/39.77 cons(x0, mark(x1)) 124.68/39.77 cons(active(x0), x1) 124.68/39.77 cons(x0, active(x1)) 124.68/39.77 s(mark(x0)) 124.68/39.77 s(active(x0)) 124.68/39.77 2ndspos(mark(x0), x1) 124.68/39.77 2ndspos(x0, mark(x1)) 124.68/39.77 2ndspos(active(x0), x1) 124.68/39.77 2ndspos(x0, active(x1)) 124.68/39.77 rcons(mark(x0), x1) 124.68/39.77 rcons(x0, mark(x1)) 124.68/39.77 rcons(active(x0), x1) 124.68/39.77 rcons(x0, active(x1)) 124.68/39.77 posrecip(mark(x0)) 124.68/39.77 posrecip(active(x0)) 124.68/39.77 2ndsneg(mark(x0), x1) 124.68/39.77 2ndsneg(x0, mark(x1)) 124.68/39.77 2ndsneg(active(x0), x1) 124.68/39.77 2ndsneg(x0, active(x1)) 124.68/39.77 negrecip(mark(x0)) 124.68/39.77 negrecip(active(x0)) 124.68/39.77 pi(mark(x0)) 124.68/39.77 pi(active(x0)) 124.68/39.77 plus(mark(x0), x1) 124.68/39.77 plus(x0, mark(x1)) 124.68/39.77 plus(active(x0), x1) 124.68/39.77 plus(x0, active(x1)) 124.68/39.77 times(mark(x0), x1) 124.68/39.77 times(x0, mark(x1)) 124.68/39.77 times(active(x0), x1) 124.68/39.77 times(x0, active(x1)) 124.68/39.77 square(mark(x0)) 124.68/39.77 square(active(x0)) 124.68/39.77 124.68/39.77 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (16) 124.68/39.77 Obligation: 124.68/39.77 Q DP problem: 124.68/39.77 The TRS P consists of the following rules: 124.68/39.77 124.68/39.77 TIMES(X1, mark(X2)) -> TIMES(X1, X2) 124.68/39.77 TIMES(mark(X1), X2) -> TIMES(X1, X2) 124.68/39.77 TIMES(active(X1), X2) -> TIMES(X1, X2) 124.68/39.77 TIMES(X1, active(X2)) -> TIMES(X1, X2) 124.68/39.77 124.68/39.77 R is empty. 124.68/39.77 The set Q consists of the following terms: 124.68/39.77 124.68/39.77 active(from(x0)) 124.68/39.77 active(2ndspos(0, x0)) 124.68/39.77 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(2ndsneg(0, x0)) 124.68/39.77 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(pi(x0)) 124.68/39.77 active(plus(0, x0)) 124.68/39.77 active(plus(s(x0), x1)) 124.68/39.77 active(times(0, x0)) 124.68/39.77 active(times(s(x0), x1)) 124.68/39.77 active(square(x0)) 124.68/39.77 mark(from(x0)) 124.68/39.77 mark(cons(x0, x1)) 124.68/39.77 mark(s(x0)) 124.68/39.77 mark(2ndspos(x0, x1)) 124.68/39.77 mark(0) 124.68/39.77 mark(rnil) 124.68/39.77 mark(rcons(x0, x1)) 124.68/39.77 mark(posrecip(x0)) 124.68/39.77 mark(2ndsneg(x0, x1)) 124.68/39.77 mark(negrecip(x0)) 124.68/39.77 mark(pi(x0)) 124.68/39.77 mark(plus(x0, x1)) 124.68/39.77 mark(times(x0, x1)) 124.68/39.77 mark(square(x0)) 124.68/39.77 124.68/39.77 We have to consider all minimal (P,Q,R)-chains. 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (17) QDPSizeChangeProof (EQUIVALENT) 124.68/39.77 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 124.68/39.77 124.68/39.77 From the DPs we obtained the following set of size-change graphs: 124.68/39.77 *TIMES(X1, mark(X2)) -> TIMES(X1, X2) 124.68/39.77 The graph contains the following edges 1 >= 1, 2 > 2 124.68/39.77 124.68/39.77 124.68/39.77 *TIMES(mark(X1), X2) -> TIMES(X1, X2) 124.68/39.77 The graph contains the following edges 1 > 1, 2 >= 2 124.68/39.77 124.68/39.77 124.68/39.77 *TIMES(active(X1), X2) -> TIMES(X1, X2) 124.68/39.77 The graph contains the following edges 1 > 1, 2 >= 2 124.68/39.77 124.68/39.77 124.68/39.77 *TIMES(X1, active(X2)) -> TIMES(X1, X2) 124.68/39.77 The graph contains the following edges 1 >= 1, 2 > 2 124.68/39.77 124.68/39.77 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (18) 124.68/39.77 YES 124.68/39.77 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (19) 124.68/39.77 Obligation: 124.68/39.77 Q DP problem: 124.68/39.77 The TRS P consists of the following rules: 124.68/39.77 124.68/39.77 PLUS(X1, mark(X2)) -> PLUS(X1, X2) 124.68/39.77 PLUS(mark(X1), X2) -> PLUS(X1, X2) 124.68/39.77 PLUS(active(X1), X2) -> PLUS(X1, X2) 124.68/39.77 PLUS(X1, active(X2)) -> PLUS(X1, X2) 124.68/39.77 124.68/39.77 The TRS R consists of the following rules: 124.68/39.77 124.68/39.77 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.77 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.77 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.77 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.77 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.77 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.77 active(plus(0, Y)) -> mark(Y) 124.68/39.77 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.77 active(times(0, Y)) -> mark(0) 124.68/39.77 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.77 active(square(X)) -> mark(times(X, X)) 124.68/39.77 mark(from(X)) -> active(from(mark(X))) 124.68/39.77 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.77 mark(s(X)) -> active(s(mark(X))) 124.68/39.77 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.77 mark(0) -> active(0) 124.68/39.77 mark(rnil) -> active(rnil) 124.68/39.77 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.77 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.77 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.77 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.77 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.77 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.77 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.77 mark(square(X)) -> active(square(mark(X))) 124.68/39.77 from(mark(X)) -> from(X) 124.68/39.77 from(active(X)) -> from(X) 124.68/39.77 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.77 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.77 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.77 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.77 s(mark(X)) -> s(X) 124.68/39.77 s(active(X)) -> s(X) 124.68/39.77 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.77 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.77 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.77 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.77 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.77 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.77 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.77 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.77 posrecip(mark(X)) -> posrecip(X) 124.68/39.77 posrecip(active(X)) -> posrecip(X) 124.68/39.77 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.77 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.77 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.77 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.77 negrecip(mark(X)) -> negrecip(X) 124.68/39.77 negrecip(active(X)) -> negrecip(X) 124.68/39.77 pi(mark(X)) -> pi(X) 124.68/39.77 pi(active(X)) -> pi(X) 124.68/39.77 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.77 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.77 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.77 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.77 times(mark(X1), X2) -> times(X1, X2) 124.68/39.77 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.77 times(active(X1), X2) -> times(X1, X2) 124.68/39.77 times(X1, active(X2)) -> times(X1, X2) 124.68/39.77 square(mark(X)) -> square(X) 124.68/39.77 square(active(X)) -> square(X) 124.68/39.77 124.68/39.77 The set Q consists of the following terms: 124.68/39.77 124.68/39.77 active(from(x0)) 124.68/39.77 active(2ndspos(0, x0)) 124.68/39.77 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(2ndsneg(0, x0)) 124.68/39.77 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(pi(x0)) 124.68/39.77 active(plus(0, x0)) 124.68/39.77 active(plus(s(x0), x1)) 124.68/39.77 active(times(0, x0)) 124.68/39.77 active(times(s(x0), x1)) 124.68/39.77 active(square(x0)) 124.68/39.77 mark(from(x0)) 124.68/39.77 mark(cons(x0, x1)) 124.68/39.77 mark(s(x0)) 124.68/39.77 mark(2ndspos(x0, x1)) 124.68/39.77 mark(0) 124.68/39.77 mark(rnil) 124.68/39.77 mark(rcons(x0, x1)) 124.68/39.77 mark(posrecip(x0)) 124.68/39.77 mark(2ndsneg(x0, x1)) 124.68/39.77 mark(negrecip(x0)) 124.68/39.77 mark(pi(x0)) 124.68/39.77 mark(plus(x0, x1)) 124.68/39.77 mark(times(x0, x1)) 124.68/39.77 mark(square(x0)) 124.68/39.77 from(mark(x0)) 124.68/39.77 from(active(x0)) 124.68/39.77 cons(mark(x0), x1) 124.68/39.77 cons(x0, mark(x1)) 124.68/39.77 cons(active(x0), x1) 124.68/39.77 cons(x0, active(x1)) 124.68/39.77 s(mark(x0)) 124.68/39.77 s(active(x0)) 124.68/39.77 2ndspos(mark(x0), x1) 124.68/39.77 2ndspos(x0, mark(x1)) 124.68/39.77 2ndspos(active(x0), x1) 124.68/39.77 2ndspos(x0, active(x1)) 124.68/39.77 rcons(mark(x0), x1) 124.68/39.77 rcons(x0, mark(x1)) 124.68/39.77 rcons(active(x0), x1) 124.68/39.77 rcons(x0, active(x1)) 124.68/39.77 posrecip(mark(x0)) 124.68/39.77 posrecip(active(x0)) 124.68/39.77 2ndsneg(mark(x0), x1) 124.68/39.77 2ndsneg(x0, mark(x1)) 124.68/39.77 2ndsneg(active(x0), x1) 124.68/39.77 2ndsneg(x0, active(x1)) 124.68/39.77 negrecip(mark(x0)) 124.68/39.77 negrecip(active(x0)) 124.68/39.77 pi(mark(x0)) 124.68/39.77 pi(active(x0)) 124.68/39.77 plus(mark(x0), x1) 124.68/39.77 plus(x0, mark(x1)) 124.68/39.77 plus(active(x0), x1) 124.68/39.77 plus(x0, active(x1)) 124.68/39.77 times(mark(x0), x1) 124.68/39.77 times(x0, mark(x1)) 124.68/39.77 times(active(x0), x1) 124.68/39.77 times(x0, active(x1)) 124.68/39.77 square(mark(x0)) 124.68/39.77 square(active(x0)) 124.68/39.77 124.68/39.77 We have to consider all minimal (P,Q,R)-chains. 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (20) UsableRulesProof (EQUIVALENT) 124.68/39.77 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (21) 124.68/39.77 Obligation: 124.68/39.77 Q DP problem: 124.68/39.77 The TRS P consists of the following rules: 124.68/39.77 124.68/39.77 PLUS(X1, mark(X2)) -> PLUS(X1, X2) 124.68/39.77 PLUS(mark(X1), X2) -> PLUS(X1, X2) 124.68/39.77 PLUS(active(X1), X2) -> PLUS(X1, X2) 124.68/39.77 PLUS(X1, active(X2)) -> PLUS(X1, X2) 124.68/39.77 124.68/39.77 R is empty. 124.68/39.77 The set Q consists of the following terms: 124.68/39.77 124.68/39.77 active(from(x0)) 124.68/39.77 active(2ndspos(0, x0)) 124.68/39.77 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(2ndsneg(0, x0)) 124.68/39.77 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(pi(x0)) 124.68/39.77 active(plus(0, x0)) 124.68/39.77 active(plus(s(x0), x1)) 124.68/39.77 active(times(0, x0)) 124.68/39.77 active(times(s(x0), x1)) 124.68/39.77 active(square(x0)) 124.68/39.77 mark(from(x0)) 124.68/39.77 mark(cons(x0, x1)) 124.68/39.77 mark(s(x0)) 124.68/39.77 mark(2ndspos(x0, x1)) 124.68/39.77 mark(0) 124.68/39.77 mark(rnil) 124.68/39.77 mark(rcons(x0, x1)) 124.68/39.77 mark(posrecip(x0)) 124.68/39.77 mark(2ndsneg(x0, x1)) 124.68/39.77 mark(negrecip(x0)) 124.68/39.77 mark(pi(x0)) 124.68/39.77 mark(plus(x0, x1)) 124.68/39.77 mark(times(x0, x1)) 124.68/39.77 mark(square(x0)) 124.68/39.77 from(mark(x0)) 124.68/39.77 from(active(x0)) 124.68/39.77 cons(mark(x0), x1) 124.68/39.77 cons(x0, mark(x1)) 124.68/39.77 cons(active(x0), x1) 124.68/39.77 cons(x0, active(x1)) 124.68/39.77 s(mark(x0)) 124.68/39.77 s(active(x0)) 124.68/39.77 2ndspos(mark(x0), x1) 124.68/39.77 2ndspos(x0, mark(x1)) 124.68/39.77 2ndspos(active(x0), x1) 124.68/39.77 2ndspos(x0, active(x1)) 124.68/39.77 rcons(mark(x0), x1) 124.68/39.77 rcons(x0, mark(x1)) 124.68/39.77 rcons(active(x0), x1) 124.68/39.77 rcons(x0, active(x1)) 124.68/39.77 posrecip(mark(x0)) 124.68/39.77 posrecip(active(x0)) 124.68/39.77 2ndsneg(mark(x0), x1) 124.68/39.77 2ndsneg(x0, mark(x1)) 124.68/39.77 2ndsneg(active(x0), x1) 124.68/39.77 2ndsneg(x0, active(x1)) 124.68/39.77 negrecip(mark(x0)) 124.68/39.77 negrecip(active(x0)) 124.68/39.77 pi(mark(x0)) 124.68/39.77 pi(active(x0)) 124.68/39.77 plus(mark(x0), x1) 124.68/39.77 plus(x0, mark(x1)) 124.68/39.77 plus(active(x0), x1) 124.68/39.77 plus(x0, active(x1)) 124.68/39.77 times(mark(x0), x1) 124.68/39.77 times(x0, mark(x1)) 124.68/39.77 times(active(x0), x1) 124.68/39.77 times(x0, active(x1)) 124.68/39.77 square(mark(x0)) 124.68/39.77 square(active(x0)) 124.68/39.77 124.68/39.77 We have to consider all minimal (P,Q,R)-chains. 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (22) QReductionProof (EQUIVALENT) 124.68/39.77 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 124.68/39.77 124.68/39.77 from(mark(x0)) 124.68/39.77 from(active(x0)) 124.68/39.77 cons(mark(x0), x1) 124.68/39.77 cons(x0, mark(x1)) 124.68/39.77 cons(active(x0), x1) 124.68/39.77 cons(x0, active(x1)) 124.68/39.77 s(mark(x0)) 124.68/39.77 s(active(x0)) 124.68/39.77 2ndspos(mark(x0), x1) 124.68/39.77 2ndspos(x0, mark(x1)) 124.68/39.77 2ndspos(active(x0), x1) 124.68/39.77 2ndspos(x0, active(x1)) 124.68/39.77 rcons(mark(x0), x1) 124.68/39.77 rcons(x0, mark(x1)) 124.68/39.77 rcons(active(x0), x1) 124.68/39.77 rcons(x0, active(x1)) 124.68/39.77 posrecip(mark(x0)) 124.68/39.77 posrecip(active(x0)) 124.68/39.77 2ndsneg(mark(x0), x1) 124.68/39.77 2ndsneg(x0, mark(x1)) 124.68/39.77 2ndsneg(active(x0), x1) 124.68/39.77 2ndsneg(x0, active(x1)) 124.68/39.77 negrecip(mark(x0)) 124.68/39.77 negrecip(active(x0)) 124.68/39.77 pi(mark(x0)) 124.68/39.77 pi(active(x0)) 124.68/39.77 plus(mark(x0), x1) 124.68/39.77 plus(x0, mark(x1)) 124.68/39.77 plus(active(x0), x1) 124.68/39.77 plus(x0, active(x1)) 124.68/39.77 times(mark(x0), x1) 124.68/39.77 times(x0, mark(x1)) 124.68/39.77 times(active(x0), x1) 124.68/39.77 times(x0, active(x1)) 124.68/39.77 square(mark(x0)) 124.68/39.77 square(active(x0)) 124.68/39.77 124.68/39.77 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (23) 124.68/39.77 Obligation: 124.68/39.77 Q DP problem: 124.68/39.77 The TRS P consists of the following rules: 124.68/39.77 124.68/39.77 PLUS(X1, mark(X2)) -> PLUS(X1, X2) 124.68/39.77 PLUS(mark(X1), X2) -> PLUS(X1, X2) 124.68/39.77 PLUS(active(X1), X2) -> PLUS(X1, X2) 124.68/39.77 PLUS(X1, active(X2)) -> PLUS(X1, X2) 124.68/39.77 124.68/39.77 R is empty. 124.68/39.77 The set Q consists of the following terms: 124.68/39.77 124.68/39.77 active(from(x0)) 124.68/39.77 active(2ndspos(0, x0)) 124.68/39.77 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(2ndsneg(0, x0)) 124.68/39.77 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(pi(x0)) 124.68/39.77 active(plus(0, x0)) 124.68/39.77 active(plus(s(x0), x1)) 124.68/39.77 active(times(0, x0)) 124.68/39.77 active(times(s(x0), x1)) 124.68/39.77 active(square(x0)) 124.68/39.77 mark(from(x0)) 124.68/39.77 mark(cons(x0, x1)) 124.68/39.77 mark(s(x0)) 124.68/39.77 mark(2ndspos(x0, x1)) 124.68/39.77 mark(0) 124.68/39.77 mark(rnil) 124.68/39.77 mark(rcons(x0, x1)) 124.68/39.77 mark(posrecip(x0)) 124.68/39.77 mark(2ndsneg(x0, x1)) 124.68/39.77 mark(negrecip(x0)) 124.68/39.77 mark(pi(x0)) 124.68/39.77 mark(plus(x0, x1)) 124.68/39.77 mark(times(x0, x1)) 124.68/39.77 mark(square(x0)) 124.68/39.77 124.68/39.77 We have to consider all minimal (P,Q,R)-chains. 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (24) QDPSizeChangeProof (EQUIVALENT) 124.68/39.77 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 124.68/39.77 124.68/39.77 From the DPs we obtained the following set of size-change graphs: 124.68/39.77 *PLUS(X1, mark(X2)) -> PLUS(X1, X2) 124.68/39.77 The graph contains the following edges 1 >= 1, 2 > 2 124.68/39.77 124.68/39.77 124.68/39.77 *PLUS(mark(X1), X2) -> PLUS(X1, X2) 124.68/39.77 The graph contains the following edges 1 > 1, 2 >= 2 124.68/39.77 124.68/39.77 124.68/39.77 *PLUS(active(X1), X2) -> PLUS(X1, X2) 124.68/39.77 The graph contains the following edges 1 > 1, 2 >= 2 124.68/39.77 124.68/39.77 124.68/39.77 *PLUS(X1, active(X2)) -> PLUS(X1, X2) 124.68/39.77 The graph contains the following edges 1 >= 1, 2 > 2 124.68/39.77 124.68/39.77 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (25) 124.68/39.77 YES 124.68/39.77 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (26) 124.68/39.77 Obligation: 124.68/39.77 Q DP problem: 124.68/39.77 The TRS P consists of the following rules: 124.68/39.77 124.68/39.77 PI(active(X)) -> PI(X) 124.68/39.77 PI(mark(X)) -> PI(X) 124.68/39.77 124.68/39.77 The TRS R consists of the following rules: 124.68/39.77 124.68/39.77 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.77 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.77 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.77 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.77 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.77 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.77 active(plus(0, Y)) -> mark(Y) 124.68/39.77 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.77 active(times(0, Y)) -> mark(0) 124.68/39.77 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.77 active(square(X)) -> mark(times(X, X)) 124.68/39.77 mark(from(X)) -> active(from(mark(X))) 124.68/39.77 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.77 mark(s(X)) -> active(s(mark(X))) 124.68/39.77 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.77 mark(0) -> active(0) 124.68/39.77 mark(rnil) -> active(rnil) 124.68/39.77 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.77 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.77 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.77 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.77 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.77 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.77 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.77 mark(square(X)) -> active(square(mark(X))) 124.68/39.77 from(mark(X)) -> from(X) 124.68/39.77 from(active(X)) -> from(X) 124.68/39.77 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.77 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.77 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.77 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.77 s(mark(X)) -> s(X) 124.68/39.77 s(active(X)) -> s(X) 124.68/39.77 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.77 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.77 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.77 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.77 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.77 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.77 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.77 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.77 posrecip(mark(X)) -> posrecip(X) 124.68/39.77 posrecip(active(X)) -> posrecip(X) 124.68/39.77 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.77 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.77 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.77 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.77 negrecip(mark(X)) -> negrecip(X) 124.68/39.77 negrecip(active(X)) -> negrecip(X) 124.68/39.77 pi(mark(X)) -> pi(X) 124.68/39.77 pi(active(X)) -> pi(X) 124.68/39.77 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.77 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.77 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.77 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.77 times(mark(X1), X2) -> times(X1, X2) 124.68/39.77 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.77 times(active(X1), X2) -> times(X1, X2) 124.68/39.77 times(X1, active(X2)) -> times(X1, X2) 124.68/39.77 square(mark(X)) -> square(X) 124.68/39.77 square(active(X)) -> square(X) 124.68/39.77 124.68/39.77 The set Q consists of the following terms: 124.68/39.77 124.68/39.77 active(from(x0)) 124.68/39.77 active(2ndspos(0, x0)) 124.68/39.77 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(2ndsneg(0, x0)) 124.68/39.77 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(pi(x0)) 124.68/39.77 active(plus(0, x0)) 124.68/39.77 active(plus(s(x0), x1)) 124.68/39.77 active(times(0, x0)) 124.68/39.77 active(times(s(x0), x1)) 124.68/39.77 active(square(x0)) 124.68/39.77 mark(from(x0)) 124.68/39.77 mark(cons(x0, x1)) 124.68/39.77 mark(s(x0)) 124.68/39.77 mark(2ndspos(x0, x1)) 124.68/39.77 mark(0) 124.68/39.77 mark(rnil) 124.68/39.77 mark(rcons(x0, x1)) 124.68/39.77 mark(posrecip(x0)) 124.68/39.77 mark(2ndsneg(x0, x1)) 124.68/39.77 mark(negrecip(x0)) 124.68/39.77 mark(pi(x0)) 124.68/39.77 mark(plus(x0, x1)) 124.68/39.77 mark(times(x0, x1)) 124.68/39.77 mark(square(x0)) 124.68/39.77 from(mark(x0)) 124.68/39.77 from(active(x0)) 124.68/39.77 cons(mark(x0), x1) 124.68/39.77 cons(x0, mark(x1)) 124.68/39.77 cons(active(x0), x1) 124.68/39.77 cons(x0, active(x1)) 124.68/39.77 s(mark(x0)) 124.68/39.77 s(active(x0)) 124.68/39.77 2ndspos(mark(x0), x1) 124.68/39.77 2ndspos(x0, mark(x1)) 124.68/39.77 2ndspos(active(x0), x1) 124.68/39.77 2ndspos(x0, active(x1)) 124.68/39.77 rcons(mark(x0), x1) 124.68/39.77 rcons(x0, mark(x1)) 124.68/39.77 rcons(active(x0), x1) 124.68/39.77 rcons(x0, active(x1)) 124.68/39.77 posrecip(mark(x0)) 124.68/39.77 posrecip(active(x0)) 124.68/39.77 2ndsneg(mark(x0), x1) 124.68/39.77 2ndsneg(x0, mark(x1)) 124.68/39.77 2ndsneg(active(x0), x1) 124.68/39.77 2ndsneg(x0, active(x1)) 124.68/39.77 negrecip(mark(x0)) 124.68/39.77 negrecip(active(x0)) 124.68/39.77 pi(mark(x0)) 124.68/39.77 pi(active(x0)) 124.68/39.77 plus(mark(x0), x1) 124.68/39.77 plus(x0, mark(x1)) 124.68/39.77 plus(active(x0), x1) 124.68/39.77 plus(x0, active(x1)) 124.68/39.77 times(mark(x0), x1) 124.68/39.77 times(x0, mark(x1)) 124.68/39.77 times(active(x0), x1) 124.68/39.77 times(x0, active(x1)) 124.68/39.77 square(mark(x0)) 124.68/39.77 square(active(x0)) 124.68/39.77 124.68/39.77 We have to consider all minimal (P,Q,R)-chains. 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (27) UsableRulesProof (EQUIVALENT) 124.68/39.77 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (28) 124.68/39.77 Obligation: 124.68/39.77 Q DP problem: 124.68/39.77 The TRS P consists of the following rules: 124.68/39.77 124.68/39.77 PI(active(X)) -> PI(X) 124.68/39.77 PI(mark(X)) -> PI(X) 124.68/39.77 124.68/39.77 R is empty. 124.68/39.77 The set Q consists of the following terms: 124.68/39.77 124.68/39.77 active(from(x0)) 124.68/39.77 active(2ndspos(0, x0)) 124.68/39.77 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(2ndsneg(0, x0)) 124.68/39.77 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(pi(x0)) 124.68/39.77 active(plus(0, x0)) 124.68/39.77 active(plus(s(x0), x1)) 124.68/39.77 active(times(0, x0)) 124.68/39.77 active(times(s(x0), x1)) 124.68/39.77 active(square(x0)) 124.68/39.77 mark(from(x0)) 124.68/39.77 mark(cons(x0, x1)) 124.68/39.77 mark(s(x0)) 124.68/39.77 mark(2ndspos(x0, x1)) 124.68/39.77 mark(0) 124.68/39.77 mark(rnil) 124.68/39.77 mark(rcons(x0, x1)) 124.68/39.77 mark(posrecip(x0)) 124.68/39.77 mark(2ndsneg(x0, x1)) 124.68/39.77 mark(negrecip(x0)) 124.68/39.77 mark(pi(x0)) 124.68/39.77 mark(plus(x0, x1)) 124.68/39.77 mark(times(x0, x1)) 124.68/39.77 mark(square(x0)) 124.68/39.77 from(mark(x0)) 124.68/39.77 from(active(x0)) 124.68/39.77 cons(mark(x0), x1) 124.68/39.77 cons(x0, mark(x1)) 124.68/39.77 cons(active(x0), x1) 124.68/39.77 cons(x0, active(x1)) 124.68/39.77 s(mark(x0)) 124.68/39.77 s(active(x0)) 124.68/39.77 2ndspos(mark(x0), x1) 124.68/39.77 2ndspos(x0, mark(x1)) 124.68/39.77 2ndspos(active(x0), x1) 124.68/39.77 2ndspos(x0, active(x1)) 124.68/39.77 rcons(mark(x0), x1) 124.68/39.77 rcons(x0, mark(x1)) 124.68/39.77 rcons(active(x0), x1) 124.68/39.77 rcons(x0, active(x1)) 124.68/39.77 posrecip(mark(x0)) 124.68/39.77 posrecip(active(x0)) 124.68/39.77 2ndsneg(mark(x0), x1) 124.68/39.77 2ndsneg(x0, mark(x1)) 124.68/39.77 2ndsneg(active(x0), x1) 124.68/39.77 2ndsneg(x0, active(x1)) 124.68/39.77 negrecip(mark(x0)) 124.68/39.77 negrecip(active(x0)) 124.68/39.77 pi(mark(x0)) 124.68/39.77 pi(active(x0)) 124.68/39.77 plus(mark(x0), x1) 124.68/39.77 plus(x0, mark(x1)) 124.68/39.77 plus(active(x0), x1) 124.68/39.77 plus(x0, active(x1)) 124.68/39.77 times(mark(x0), x1) 124.68/39.77 times(x0, mark(x1)) 124.68/39.77 times(active(x0), x1) 124.68/39.77 times(x0, active(x1)) 124.68/39.77 square(mark(x0)) 124.68/39.77 square(active(x0)) 124.68/39.77 124.68/39.77 We have to consider all minimal (P,Q,R)-chains. 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (29) QReductionProof (EQUIVALENT) 124.68/39.77 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 124.68/39.77 124.68/39.77 from(mark(x0)) 124.68/39.77 from(active(x0)) 124.68/39.77 cons(mark(x0), x1) 124.68/39.77 cons(x0, mark(x1)) 124.68/39.77 cons(active(x0), x1) 124.68/39.77 cons(x0, active(x1)) 124.68/39.77 s(mark(x0)) 124.68/39.77 s(active(x0)) 124.68/39.77 2ndspos(mark(x0), x1) 124.68/39.77 2ndspos(x0, mark(x1)) 124.68/39.77 2ndspos(active(x0), x1) 124.68/39.77 2ndspos(x0, active(x1)) 124.68/39.77 rcons(mark(x0), x1) 124.68/39.77 rcons(x0, mark(x1)) 124.68/39.77 rcons(active(x0), x1) 124.68/39.77 rcons(x0, active(x1)) 124.68/39.77 posrecip(mark(x0)) 124.68/39.77 posrecip(active(x0)) 124.68/39.77 2ndsneg(mark(x0), x1) 124.68/39.77 2ndsneg(x0, mark(x1)) 124.68/39.77 2ndsneg(active(x0), x1) 124.68/39.77 2ndsneg(x0, active(x1)) 124.68/39.77 negrecip(mark(x0)) 124.68/39.77 negrecip(active(x0)) 124.68/39.77 pi(mark(x0)) 124.68/39.77 pi(active(x0)) 124.68/39.77 plus(mark(x0), x1) 124.68/39.77 plus(x0, mark(x1)) 124.68/39.77 plus(active(x0), x1) 124.68/39.77 plus(x0, active(x1)) 124.68/39.77 times(mark(x0), x1) 124.68/39.77 times(x0, mark(x1)) 124.68/39.77 times(active(x0), x1) 124.68/39.77 times(x0, active(x1)) 124.68/39.77 square(mark(x0)) 124.68/39.77 square(active(x0)) 124.68/39.77 124.68/39.77 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (30) 124.68/39.77 Obligation: 124.68/39.77 Q DP problem: 124.68/39.77 The TRS P consists of the following rules: 124.68/39.77 124.68/39.77 PI(active(X)) -> PI(X) 124.68/39.77 PI(mark(X)) -> PI(X) 124.68/39.77 124.68/39.77 R is empty. 124.68/39.77 The set Q consists of the following terms: 124.68/39.77 124.68/39.77 active(from(x0)) 124.68/39.77 active(2ndspos(0, x0)) 124.68/39.77 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(2ndsneg(0, x0)) 124.68/39.77 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(pi(x0)) 124.68/39.77 active(plus(0, x0)) 124.68/39.77 active(plus(s(x0), x1)) 124.68/39.77 active(times(0, x0)) 124.68/39.77 active(times(s(x0), x1)) 124.68/39.77 active(square(x0)) 124.68/39.77 mark(from(x0)) 124.68/39.77 mark(cons(x0, x1)) 124.68/39.77 mark(s(x0)) 124.68/39.77 mark(2ndspos(x0, x1)) 124.68/39.77 mark(0) 124.68/39.77 mark(rnil) 124.68/39.77 mark(rcons(x0, x1)) 124.68/39.77 mark(posrecip(x0)) 124.68/39.77 mark(2ndsneg(x0, x1)) 124.68/39.77 mark(negrecip(x0)) 124.68/39.77 mark(pi(x0)) 124.68/39.77 mark(plus(x0, x1)) 124.68/39.77 mark(times(x0, x1)) 124.68/39.77 mark(square(x0)) 124.68/39.77 124.68/39.77 We have to consider all minimal (P,Q,R)-chains. 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (31) QDPSizeChangeProof (EQUIVALENT) 124.68/39.77 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 124.68/39.77 124.68/39.77 From the DPs we obtained the following set of size-change graphs: 124.68/39.77 *PI(active(X)) -> PI(X) 124.68/39.77 The graph contains the following edges 1 > 1 124.68/39.77 124.68/39.77 124.68/39.77 *PI(mark(X)) -> PI(X) 124.68/39.77 The graph contains the following edges 1 > 1 124.68/39.77 124.68/39.77 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (32) 124.68/39.77 YES 124.68/39.77 124.68/39.77 ---------------------------------------- 124.68/39.77 124.68/39.77 (33) 124.68/39.77 Obligation: 124.68/39.77 Q DP problem: 124.68/39.77 The TRS P consists of the following rules: 124.68/39.77 124.68/39.77 NEGRECIP(active(X)) -> NEGRECIP(X) 124.68/39.77 NEGRECIP(mark(X)) -> NEGRECIP(X) 124.68/39.77 124.68/39.77 The TRS R consists of the following rules: 124.68/39.77 124.68/39.77 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.77 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.77 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.77 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.77 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.77 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.77 active(plus(0, Y)) -> mark(Y) 124.68/39.77 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.77 active(times(0, Y)) -> mark(0) 124.68/39.77 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.77 active(square(X)) -> mark(times(X, X)) 124.68/39.77 mark(from(X)) -> active(from(mark(X))) 124.68/39.77 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.77 mark(s(X)) -> active(s(mark(X))) 124.68/39.77 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.77 mark(0) -> active(0) 124.68/39.77 mark(rnil) -> active(rnil) 124.68/39.77 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.77 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.77 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.77 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.77 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.77 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.77 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.77 mark(square(X)) -> active(square(mark(X))) 124.68/39.77 from(mark(X)) -> from(X) 124.68/39.77 from(active(X)) -> from(X) 124.68/39.77 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.77 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.77 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.77 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.77 s(mark(X)) -> s(X) 124.68/39.77 s(active(X)) -> s(X) 124.68/39.77 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.77 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.77 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.77 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.77 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.77 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.77 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.77 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.77 posrecip(mark(X)) -> posrecip(X) 124.68/39.77 posrecip(active(X)) -> posrecip(X) 124.68/39.77 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.77 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.77 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.77 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.77 negrecip(mark(X)) -> negrecip(X) 124.68/39.77 negrecip(active(X)) -> negrecip(X) 124.68/39.77 pi(mark(X)) -> pi(X) 124.68/39.77 pi(active(X)) -> pi(X) 124.68/39.77 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.77 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.77 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.77 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.77 times(mark(X1), X2) -> times(X1, X2) 124.68/39.77 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.77 times(active(X1), X2) -> times(X1, X2) 124.68/39.77 times(X1, active(X2)) -> times(X1, X2) 124.68/39.77 square(mark(X)) -> square(X) 124.68/39.77 square(active(X)) -> square(X) 124.68/39.77 124.68/39.77 The set Q consists of the following terms: 124.68/39.77 124.68/39.77 active(from(x0)) 124.68/39.77 active(2ndspos(0, x0)) 124.68/39.77 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(2ndsneg(0, x0)) 124.68/39.77 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.77 active(pi(x0)) 124.68/39.77 active(plus(0, x0)) 124.68/39.77 active(plus(s(x0), x1)) 124.68/39.77 active(times(0, x0)) 124.68/39.77 active(times(s(x0), x1)) 124.68/39.77 active(square(x0)) 124.68/39.77 mark(from(x0)) 124.68/39.77 mark(cons(x0, x1)) 124.68/39.77 mark(s(x0)) 124.68/39.77 mark(2ndspos(x0, x1)) 124.68/39.79 mark(0) 124.68/39.79 mark(rnil) 124.68/39.79 mark(rcons(x0, x1)) 124.68/39.79 mark(posrecip(x0)) 124.68/39.79 mark(2ndsneg(x0, x1)) 124.68/39.79 mark(negrecip(x0)) 124.68/39.79 mark(pi(x0)) 124.68/39.79 mark(plus(x0, x1)) 124.68/39.79 mark(times(x0, x1)) 124.68/39.79 mark(square(x0)) 124.68/39.79 from(mark(x0)) 124.68/39.79 from(active(x0)) 124.68/39.79 cons(mark(x0), x1) 124.68/39.79 cons(x0, mark(x1)) 124.68/39.79 cons(active(x0), x1) 124.68/39.79 cons(x0, active(x1)) 124.68/39.79 s(mark(x0)) 124.68/39.79 s(active(x0)) 124.68/39.79 2ndspos(mark(x0), x1) 124.68/39.79 2ndspos(x0, mark(x1)) 124.68/39.79 2ndspos(active(x0), x1) 124.68/39.79 2ndspos(x0, active(x1)) 124.68/39.79 rcons(mark(x0), x1) 124.68/39.79 rcons(x0, mark(x1)) 124.68/39.79 rcons(active(x0), x1) 124.68/39.79 rcons(x0, active(x1)) 124.68/39.79 posrecip(mark(x0)) 124.68/39.79 posrecip(active(x0)) 124.68/39.79 2ndsneg(mark(x0), x1) 124.68/39.79 2ndsneg(x0, mark(x1)) 124.68/39.79 2ndsneg(active(x0), x1) 124.68/39.79 2ndsneg(x0, active(x1)) 124.68/39.79 negrecip(mark(x0)) 124.68/39.79 negrecip(active(x0)) 124.68/39.79 pi(mark(x0)) 124.68/39.79 pi(active(x0)) 124.68/39.79 plus(mark(x0), x1) 124.68/39.79 plus(x0, mark(x1)) 124.68/39.79 plus(active(x0), x1) 124.68/39.79 plus(x0, active(x1)) 124.68/39.79 times(mark(x0), x1) 124.68/39.79 times(x0, mark(x1)) 124.68/39.79 times(active(x0), x1) 124.68/39.79 times(x0, active(x1)) 124.68/39.79 square(mark(x0)) 124.68/39.79 square(active(x0)) 124.68/39.79 124.68/39.79 We have to consider all minimal (P,Q,R)-chains. 124.68/39.79 ---------------------------------------- 124.68/39.79 124.68/39.79 (34) UsableRulesProof (EQUIVALENT) 124.68/39.79 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 124.68/39.79 ---------------------------------------- 124.68/39.79 124.68/39.79 (35) 124.68/39.79 Obligation: 124.68/39.79 Q DP problem: 124.68/39.79 The TRS P consists of the following rules: 124.68/39.79 124.68/39.79 NEGRECIP(active(X)) -> NEGRECIP(X) 124.68/39.79 NEGRECIP(mark(X)) -> NEGRECIP(X) 124.68/39.79 124.68/39.79 R is empty. 124.68/39.79 The set Q consists of the following terms: 124.68/39.79 124.68/39.79 active(from(x0)) 124.68/39.79 active(2ndspos(0, x0)) 124.68/39.79 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.79 active(2ndsneg(0, x0)) 124.68/39.79 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.79 active(pi(x0)) 124.68/39.79 active(plus(0, x0)) 124.68/39.79 active(plus(s(x0), x1)) 124.68/39.79 active(times(0, x0)) 124.68/39.79 active(times(s(x0), x1)) 124.68/39.79 active(square(x0)) 124.68/39.79 mark(from(x0)) 124.68/39.79 mark(cons(x0, x1)) 124.68/39.79 mark(s(x0)) 124.68/39.79 mark(2ndspos(x0, x1)) 124.68/39.79 mark(0) 124.68/39.79 mark(rnil) 124.68/39.79 mark(rcons(x0, x1)) 124.68/39.79 mark(posrecip(x0)) 124.68/39.79 mark(2ndsneg(x0, x1)) 124.68/39.79 mark(negrecip(x0)) 124.68/39.79 mark(pi(x0)) 124.68/39.79 mark(plus(x0, x1)) 124.68/39.79 mark(times(x0, x1)) 124.68/39.79 mark(square(x0)) 124.68/39.79 from(mark(x0)) 124.68/39.79 from(active(x0)) 124.68/39.79 cons(mark(x0), x1) 124.68/39.79 cons(x0, mark(x1)) 124.68/39.79 cons(active(x0), x1) 124.68/39.79 cons(x0, active(x1)) 124.68/39.79 s(mark(x0)) 124.68/39.79 s(active(x0)) 124.68/39.79 2ndspos(mark(x0), x1) 124.68/39.79 2ndspos(x0, mark(x1)) 124.68/39.79 2ndspos(active(x0), x1) 124.68/39.79 2ndspos(x0, active(x1)) 124.68/39.79 rcons(mark(x0), x1) 124.68/39.79 rcons(x0, mark(x1)) 124.68/39.79 rcons(active(x0), x1) 124.68/39.79 rcons(x0, active(x1)) 124.68/39.79 posrecip(mark(x0)) 124.68/39.79 posrecip(active(x0)) 124.68/39.79 2ndsneg(mark(x0), x1) 124.68/39.79 2ndsneg(x0, mark(x1)) 124.68/39.79 2ndsneg(active(x0), x1) 124.68/39.79 2ndsneg(x0, active(x1)) 124.68/39.79 negrecip(mark(x0)) 124.68/39.79 negrecip(active(x0)) 124.68/39.79 pi(mark(x0)) 124.68/39.79 pi(active(x0)) 124.68/39.79 plus(mark(x0), x1) 124.68/39.79 plus(x0, mark(x1)) 124.68/39.79 plus(active(x0), x1) 124.68/39.79 plus(x0, active(x1)) 124.68/39.79 times(mark(x0), x1) 124.68/39.79 times(x0, mark(x1)) 124.68/39.79 times(active(x0), x1) 124.68/39.79 times(x0, active(x1)) 124.68/39.79 square(mark(x0)) 124.68/39.79 square(active(x0)) 124.68/39.79 124.68/39.79 We have to consider all minimal (P,Q,R)-chains. 124.68/39.79 ---------------------------------------- 124.68/39.79 124.68/39.79 (36) QReductionProof (EQUIVALENT) 124.68/39.79 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 124.68/39.79 124.68/39.79 from(mark(x0)) 124.68/39.79 from(active(x0)) 124.68/39.79 cons(mark(x0), x1) 124.68/39.79 cons(x0, mark(x1)) 124.68/39.79 cons(active(x0), x1) 124.68/39.79 cons(x0, active(x1)) 124.68/39.79 s(mark(x0)) 124.68/39.79 s(active(x0)) 124.68/39.79 2ndspos(mark(x0), x1) 124.68/39.79 2ndspos(x0, mark(x1)) 124.68/39.79 2ndspos(active(x0), x1) 124.68/39.79 2ndspos(x0, active(x1)) 124.68/39.79 rcons(mark(x0), x1) 124.68/39.79 rcons(x0, mark(x1)) 124.68/39.79 rcons(active(x0), x1) 124.68/39.79 rcons(x0, active(x1)) 124.68/39.79 posrecip(mark(x0)) 124.68/39.79 posrecip(active(x0)) 124.68/39.79 2ndsneg(mark(x0), x1) 124.68/39.79 2ndsneg(x0, mark(x1)) 124.68/39.79 2ndsneg(active(x0), x1) 124.68/39.79 2ndsneg(x0, active(x1)) 124.68/39.79 negrecip(mark(x0)) 124.68/39.79 negrecip(active(x0)) 124.68/39.79 pi(mark(x0)) 124.68/39.79 pi(active(x0)) 124.68/39.79 plus(mark(x0), x1) 124.68/39.79 plus(x0, mark(x1)) 124.68/39.79 plus(active(x0), x1) 124.68/39.79 plus(x0, active(x1)) 124.68/39.79 times(mark(x0), x1) 124.68/39.79 times(x0, mark(x1)) 124.68/39.79 times(active(x0), x1) 124.68/39.79 times(x0, active(x1)) 124.68/39.79 square(mark(x0)) 124.68/39.79 square(active(x0)) 124.68/39.79 124.68/39.79 124.68/39.79 ---------------------------------------- 124.68/39.79 124.68/39.79 (37) 124.68/39.79 Obligation: 124.68/39.79 Q DP problem: 124.68/39.79 The TRS P consists of the following rules: 124.68/39.79 124.68/39.79 NEGRECIP(active(X)) -> NEGRECIP(X) 124.68/39.79 NEGRECIP(mark(X)) -> NEGRECIP(X) 124.68/39.79 124.68/39.79 R is empty. 124.68/39.79 The set Q consists of the following terms: 124.68/39.79 124.68/39.79 active(from(x0)) 124.68/39.79 active(2ndspos(0, x0)) 124.68/39.79 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.79 active(2ndsneg(0, x0)) 124.68/39.79 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.79 active(pi(x0)) 124.68/39.79 active(plus(0, x0)) 124.68/39.79 active(plus(s(x0), x1)) 124.68/39.79 active(times(0, x0)) 124.68/39.79 active(times(s(x0), x1)) 124.68/39.79 active(square(x0)) 124.68/39.79 mark(from(x0)) 124.68/39.79 mark(cons(x0, x1)) 124.68/39.79 mark(s(x0)) 124.68/39.79 mark(2ndspos(x0, x1)) 124.68/39.79 mark(0) 124.68/39.79 mark(rnil) 124.68/39.79 mark(rcons(x0, x1)) 124.68/39.79 mark(posrecip(x0)) 124.68/39.79 mark(2ndsneg(x0, x1)) 124.68/39.79 mark(negrecip(x0)) 124.68/39.79 mark(pi(x0)) 124.68/39.79 mark(plus(x0, x1)) 124.68/39.79 mark(times(x0, x1)) 124.68/39.79 mark(square(x0)) 124.68/39.79 124.68/39.79 We have to consider all minimal (P,Q,R)-chains. 124.68/39.79 ---------------------------------------- 124.68/39.79 124.68/39.79 (38) QDPSizeChangeProof (EQUIVALENT) 124.68/39.79 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 124.68/39.79 124.68/39.79 From the DPs we obtained the following set of size-change graphs: 124.68/39.79 *NEGRECIP(active(X)) -> NEGRECIP(X) 124.68/39.79 The graph contains the following edges 1 > 1 124.68/39.79 124.68/39.79 124.68/39.79 *NEGRECIP(mark(X)) -> NEGRECIP(X) 124.68/39.79 The graph contains the following edges 1 > 1 124.68/39.79 124.68/39.79 124.68/39.79 ---------------------------------------- 124.68/39.79 124.68/39.79 (39) 124.68/39.79 YES 124.68/39.79 124.68/39.79 ---------------------------------------- 124.68/39.79 124.68/39.79 (40) 124.68/39.79 Obligation: 124.68/39.79 Q DP problem: 124.68/39.79 The TRS P consists of the following rules: 124.68/39.79 124.68/39.79 2NDSNEG(X1, mark(X2)) -> 2NDSNEG(X1, X2) 124.68/39.79 2NDSNEG(mark(X1), X2) -> 2NDSNEG(X1, X2) 124.68/39.79 2NDSNEG(active(X1), X2) -> 2NDSNEG(X1, X2) 124.68/39.79 2NDSNEG(X1, active(X2)) -> 2NDSNEG(X1, X2) 124.68/39.79 124.68/39.79 The TRS R consists of the following rules: 124.68/39.79 124.68/39.79 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.79 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.79 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.79 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.79 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.79 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.79 active(plus(0, Y)) -> mark(Y) 124.68/39.79 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.79 active(times(0, Y)) -> mark(0) 124.68/39.79 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.79 active(square(X)) -> mark(times(X, X)) 124.68/39.79 mark(from(X)) -> active(from(mark(X))) 124.68/39.79 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.79 mark(s(X)) -> active(s(mark(X))) 124.68/39.79 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.79 mark(0) -> active(0) 124.68/39.79 mark(rnil) -> active(rnil) 124.68/39.79 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.79 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.79 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.79 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.79 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.79 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.79 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.79 mark(square(X)) -> active(square(mark(X))) 124.68/39.79 from(mark(X)) -> from(X) 124.68/39.79 from(active(X)) -> from(X) 124.68/39.79 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.79 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.79 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.79 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.79 s(mark(X)) -> s(X) 124.68/39.79 s(active(X)) -> s(X) 124.68/39.79 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.79 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.79 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.79 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.79 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.79 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.79 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.79 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.79 posrecip(mark(X)) -> posrecip(X) 124.68/39.79 posrecip(active(X)) -> posrecip(X) 124.68/39.79 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.79 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.79 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.79 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.79 negrecip(mark(X)) -> negrecip(X) 124.68/39.79 negrecip(active(X)) -> negrecip(X) 124.68/39.79 pi(mark(X)) -> pi(X) 124.68/39.79 pi(active(X)) -> pi(X) 124.68/39.79 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.79 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.79 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.79 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.79 times(mark(X1), X2) -> times(X1, X2) 124.68/39.79 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.79 times(active(X1), X2) -> times(X1, X2) 124.68/39.79 times(X1, active(X2)) -> times(X1, X2) 124.68/39.79 square(mark(X)) -> square(X) 124.68/39.79 square(active(X)) -> square(X) 124.68/39.79 124.68/39.79 The set Q consists of the following terms: 124.68/39.79 124.68/39.79 active(from(x0)) 124.68/39.79 active(2ndspos(0, x0)) 124.68/39.79 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.79 active(2ndsneg(0, x0)) 124.68/39.79 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.79 active(pi(x0)) 124.68/39.79 active(plus(0, x0)) 124.68/39.79 active(plus(s(x0), x1)) 124.68/39.79 active(times(0, x0)) 124.68/39.79 active(times(s(x0), x1)) 124.68/39.79 active(square(x0)) 124.68/39.79 mark(from(x0)) 124.68/39.79 mark(cons(x0, x1)) 124.68/39.79 mark(s(x0)) 124.68/39.79 mark(2ndspos(x0, x1)) 124.68/39.79 mark(0) 124.68/39.79 mark(rnil) 124.68/39.79 mark(rcons(x0, x1)) 124.68/39.79 mark(posrecip(x0)) 124.68/39.79 mark(2ndsneg(x0, x1)) 124.68/39.79 mark(negrecip(x0)) 124.68/39.79 mark(pi(x0)) 124.68/39.79 mark(plus(x0, x1)) 124.68/39.79 mark(times(x0, x1)) 124.68/39.79 mark(square(x0)) 124.68/39.79 from(mark(x0)) 124.68/39.79 from(active(x0)) 124.68/39.79 cons(mark(x0), x1) 124.68/39.79 cons(x0, mark(x1)) 124.68/39.79 cons(active(x0), x1) 124.68/39.79 cons(x0, active(x1)) 124.68/39.79 s(mark(x0)) 124.68/39.79 s(active(x0)) 124.68/39.79 2ndspos(mark(x0), x1) 124.68/39.79 2ndspos(x0, mark(x1)) 124.68/39.79 2ndspos(active(x0), x1) 124.68/39.79 2ndspos(x0, active(x1)) 124.68/39.79 rcons(mark(x0), x1) 124.68/39.79 rcons(x0, mark(x1)) 124.68/39.79 rcons(active(x0), x1) 124.68/39.79 rcons(x0, active(x1)) 124.68/39.79 posrecip(mark(x0)) 124.68/39.79 posrecip(active(x0)) 124.68/39.79 2ndsneg(mark(x0), x1) 124.68/39.79 2ndsneg(x0, mark(x1)) 124.68/39.79 2ndsneg(active(x0), x1) 124.68/39.79 2ndsneg(x0, active(x1)) 124.68/39.79 negrecip(mark(x0)) 124.68/39.79 negrecip(active(x0)) 124.68/39.79 pi(mark(x0)) 124.68/39.79 pi(active(x0)) 124.68/39.79 plus(mark(x0), x1) 124.68/39.79 plus(x0, mark(x1)) 124.68/39.79 plus(active(x0), x1) 124.68/39.79 plus(x0, active(x1)) 124.68/39.79 times(mark(x0), x1) 124.68/39.79 times(x0, mark(x1)) 124.68/39.79 times(active(x0), x1) 124.68/39.79 times(x0, active(x1)) 124.68/39.79 square(mark(x0)) 124.68/39.79 square(active(x0)) 124.68/39.79 124.68/39.79 We have to consider all minimal (P,Q,R)-chains. 124.68/39.79 ---------------------------------------- 124.68/39.79 124.68/39.79 (41) UsableRulesProof (EQUIVALENT) 124.68/39.79 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 124.68/39.79 ---------------------------------------- 124.68/39.79 124.68/39.79 (42) 124.68/39.79 Obligation: 124.68/39.79 Q DP problem: 124.68/39.79 The TRS P consists of the following rules: 124.68/39.79 124.68/39.79 2NDSNEG(X1, mark(X2)) -> 2NDSNEG(X1, X2) 124.68/39.79 2NDSNEG(mark(X1), X2) -> 2NDSNEG(X1, X2) 124.68/39.79 2NDSNEG(active(X1), X2) -> 2NDSNEG(X1, X2) 124.68/39.79 2NDSNEG(X1, active(X2)) -> 2NDSNEG(X1, X2) 124.68/39.79 124.68/39.79 R is empty. 124.68/39.79 The set Q consists of the following terms: 124.68/39.79 124.68/39.79 active(from(x0)) 124.68/39.79 active(2ndspos(0, x0)) 124.68/39.79 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.79 active(2ndsneg(0, x0)) 124.68/39.79 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.79 active(pi(x0)) 124.68/39.79 active(plus(0, x0)) 124.68/39.79 active(plus(s(x0), x1)) 124.68/39.79 active(times(0, x0)) 124.68/39.79 active(times(s(x0), x1)) 124.68/39.79 active(square(x0)) 124.68/39.79 mark(from(x0)) 124.68/39.79 mark(cons(x0, x1)) 124.68/39.79 mark(s(x0)) 124.68/39.79 mark(2ndspos(x0, x1)) 124.68/39.79 mark(0) 124.68/39.79 mark(rnil) 124.68/39.79 mark(rcons(x0, x1)) 124.68/39.79 mark(posrecip(x0)) 124.68/39.79 mark(2ndsneg(x0, x1)) 124.68/39.79 mark(negrecip(x0)) 124.68/39.79 mark(pi(x0)) 124.68/39.79 mark(plus(x0, x1)) 124.68/39.79 mark(times(x0, x1)) 124.68/39.79 mark(square(x0)) 124.68/39.79 from(mark(x0)) 124.68/39.79 from(active(x0)) 124.68/39.79 cons(mark(x0), x1) 124.68/39.79 cons(x0, mark(x1)) 124.68/39.79 cons(active(x0), x1) 124.68/39.79 cons(x0, active(x1)) 124.68/39.79 s(mark(x0)) 124.68/39.79 s(active(x0)) 124.68/39.79 2ndspos(mark(x0), x1) 124.68/39.79 2ndspos(x0, mark(x1)) 124.68/39.79 2ndspos(active(x0), x1) 124.68/39.79 2ndspos(x0, active(x1)) 124.68/39.79 rcons(mark(x0), x1) 124.68/39.79 rcons(x0, mark(x1)) 124.68/39.79 rcons(active(x0), x1) 124.68/39.79 rcons(x0, active(x1)) 124.68/39.79 posrecip(mark(x0)) 124.68/39.79 posrecip(active(x0)) 124.68/39.79 2ndsneg(mark(x0), x1) 124.68/39.79 2ndsneg(x0, mark(x1)) 124.68/39.79 2ndsneg(active(x0), x1) 124.68/39.79 2ndsneg(x0, active(x1)) 124.68/39.79 negrecip(mark(x0)) 124.68/39.79 negrecip(active(x0)) 124.68/39.79 pi(mark(x0)) 124.68/39.79 pi(active(x0)) 124.68/39.79 plus(mark(x0), x1) 124.68/39.79 plus(x0, mark(x1)) 124.68/39.79 plus(active(x0), x1) 124.68/39.79 plus(x0, active(x1)) 124.68/39.79 times(mark(x0), x1) 124.68/39.79 times(x0, mark(x1)) 124.68/39.79 times(active(x0), x1) 124.68/39.79 times(x0, active(x1)) 124.68/39.79 square(mark(x0)) 124.68/39.79 square(active(x0)) 124.68/39.79 124.68/39.79 We have to consider all minimal (P,Q,R)-chains. 124.68/39.79 ---------------------------------------- 124.68/39.79 124.68/39.79 (43) QReductionProof (EQUIVALENT) 124.68/39.79 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 124.68/39.79 124.68/39.79 from(mark(x0)) 124.68/39.79 from(active(x0)) 124.68/39.79 cons(mark(x0), x1) 124.68/39.79 cons(x0, mark(x1)) 124.68/39.79 cons(active(x0), x1) 124.68/39.79 cons(x0, active(x1)) 124.68/39.79 s(mark(x0)) 124.68/39.79 s(active(x0)) 124.68/39.79 2ndspos(mark(x0), x1) 124.68/39.79 2ndspos(x0, mark(x1)) 124.68/39.79 2ndspos(active(x0), x1) 124.68/39.79 2ndspos(x0, active(x1)) 124.68/39.79 rcons(mark(x0), x1) 124.68/39.79 rcons(x0, mark(x1)) 124.68/39.79 rcons(active(x0), x1) 124.68/39.79 rcons(x0, active(x1)) 124.68/39.79 posrecip(mark(x0)) 124.68/39.79 posrecip(active(x0)) 124.68/39.79 2ndsneg(mark(x0), x1) 124.68/39.79 2ndsneg(x0, mark(x1)) 124.68/39.79 2ndsneg(active(x0), x1) 124.68/39.79 2ndsneg(x0, active(x1)) 124.68/39.79 negrecip(mark(x0)) 124.68/39.79 negrecip(active(x0)) 124.68/39.79 pi(mark(x0)) 124.68/39.79 pi(active(x0)) 124.68/39.79 plus(mark(x0), x1) 124.68/39.79 plus(x0, mark(x1)) 124.68/39.79 plus(active(x0), x1) 124.68/39.79 plus(x0, active(x1)) 124.68/39.79 times(mark(x0), x1) 124.68/39.79 times(x0, mark(x1)) 124.68/39.79 times(active(x0), x1) 124.68/39.79 times(x0, active(x1)) 124.68/39.79 square(mark(x0)) 124.68/39.79 square(active(x0)) 124.68/39.79 124.68/39.79 124.68/39.79 ---------------------------------------- 124.68/39.79 124.68/39.79 (44) 124.68/39.79 Obligation: 124.68/39.79 Q DP problem: 124.68/39.79 The TRS P consists of the following rules: 124.68/39.79 124.68/39.79 2NDSNEG(X1, mark(X2)) -> 2NDSNEG(X1, X2) 124.68/39.79 2NDSNEG(mark(X1), X2) -> 2NDSNEG(X1, X2) 124.68/39.79 2NDSNEG(active(X1), X2) -> 2NDSNEG(X1, X2) 124.68/39.79 2NDSNEG(X1, active(X2)) -> 2NDSNEG(X1, X2) 124.68/39.79 124.68/39.79 R is empty. 124.68/39.79 The set Q consists of the following terms: 124.68/39.79 124.68/39.79 active(from(x0)) 124.68/39.79 active(2ndspos(0, x0)) 124.68/39.79 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.79 active(2ndsneg(0, x0)) 124.68/39.79 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.79 active(pi(x0)) 124.68/39.79 active(plus(0, x0)) 124.68/39.79 active(plus(s(x0), x1)) 124.68/39.79 active(times(0, x0)) 124.68/39.79 active(times(s(x0), x1)) 124.68/39.79 active(square(x0)) 124.68/39.79 mark(from(x0)) 124.68/39.79 mark(cons(x0, x1)) 124.68/39.79 mark(s(x0)) 124.68/39.79 mark(2ndspos(x0, x1)) 124.68/39.79 mark(0) 124.68/39.79 mark(rnil) 124.68/39.79 mark(rcons(x0, x1)) 124.68/39.79 mark(posrecip(x0)) 124.68/39.79 mark(2ndsneg(x0, x1)) 124.68/39.79 mark(negrecip(x0)) 124.68/39.79 mark(pi(x0)) 124.68/39.79 mark(plus(x0, x1)) 124.68/39.79 mark(times(x0, x1)) 124.68/39.79 mark(square(x0)) 124.68/39.79 124.68/39.79 We have to consider all minimal (P,Q,R)-chains. 124.68/39.79 ---------------------------------------- 124.68/39.79 124.68/39.79 (45) QDPSizeChangeProof (EQUIVALENT) 124.68/39.79 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 124.68/39.79 124.68/39.79 From the DPs we obtained the following set of size-change graphs: 124.68/39.79 *2NDSNEG(X1, mark(X2)) -> 2NDSNEG(X1, X2) 124.68/39.79 The graph contains the following edges 1 >= 1, 2 > 2 124.68/39.79 124.68/39.79 124.68/39.79 *2NDSNEG(mark(X1), X2) -> 2NDSNEG(X1, X2) 124.68/39.79 The graph contains the following edges 1 > 1, 2 >= 2 124.68/39.79 124.68/39.79 124.68/39.79 *2NDSNEG(active(X1), X2) -> 2NDSNEG(X1, X2) 124.68/39.79 The graph contains the following edges 1 > 1, 2 >= 2 124.68/39.79 124.68/39.79 124.68/39.79 *2NDSNEG(X1, active(X2)) -> 2NDSNEG(X1, X2) 124.68/39.79 The graph contains the following edges 1 >= 1, 2 > 2 124.68/39.79 124.68/39.79 124.68/39.79 ---------------------------------------- 124.68/39.79 124.68/39.79 (46) 124.68/39.79 YES 124.68/39.79 124.68/39.79 ---------------------------------------- 124.68/39.79 124.68/39.79 (47) 124.68/39.79 Obligation: 124.68/39.79 Q DP problem: 124.68/39.79 The TRS P consists of the following rules: 124.68/39.79 124.68/39.79 POSRECIP(active(X)) -> POSRECIP(X) 124.68/39.79 POSRECIP(mark(X)) -> POSRECIP(X) 124.68/39.79 124.68/39.79 The TRS R consists of the following rules: 124.68/39.79 124.68/39.79 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.79 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.79 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.79 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.79 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.79 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.79 active(plus(0, Y)) -> mark(Y) 124.68/39.79 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.79 active(times(0, Y)) -> mark(0) 124.68/39.79 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.79 active(square(X)) -> mark(times(X, X)) 124.68/39.79 mark(from(X)) -> active(from(mark(X))) 124.68/39.79 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.79 mark(s(X)) -> active(s(mark(X))) 124.68/39.79 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.79 mark(0) -> active(0) 124.68/39.79 mark(rnil) -> active(rnil) 124.68/39.79 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.79 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.79 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.79 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.79 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.79 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.79 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.79 mark(square(X)) -> active(square(mark(X))) 124.68/39.79 from(mark(X)) -> from(X) 124.68/39.79 from(active(X)) -> from(X) 124.68/39.79 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.79 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.79 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.79 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.79 s(mark(X)) -> s(X) 124.68/39.79 s(active(X)) -> s(X) 124.68/39.79 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.79 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.79 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.79 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.79 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.79 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.79 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.79 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.79 posrecip(mark(X)) -> posrecip(X) 124.68/39.79 posrecip(active(X)) -> posrecip(X) 124.68/39.79 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.79 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.79 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.79 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.79 negrecip(mark(X)) -> negrecip(X) 124.68/39.79 negrecip(active(X)) -> negrecip(X) 124.68/39.79 pi(mark(X)) -> pi(X) 124.68/39.79 pi(active(X)) -> pi(X) 124.68/39.79 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.79 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.79 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.79 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.79 times(mark(X1), X2) -> times(X1, X2) 124.68/39.79 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.79 times(active(X1), X2) -> times(X1, X2) 124.68/39.79 times(X1, active(X2)) -> times(X1, X2) 124.68/39.79 square(mark(X)) -> square(X) 124.68/39.79 square(active(X)) -> square(X) 124.68/39.79 124.68/39.79 The set Q consists of the following terms: 124.68/39.79 124.68/39.79 active(from(x0)) 124.68/39.79 active(2ndspos(0, x0)) 124.68/39.79 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.79 active(2ndsneg(0, x0)) 124.68/39.79 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.79 active(pi(x0)) 124.68/39.79 active(plus(0, x0)) 124.68/39.79 active(plus(s(x0), x1)) 124.68/39.79 active(times(0, x0)) 124.68/39.79 active(times(s(x0), x1)) 124.68/39.79 active(square(x0)) 124.68/39.79 mark(from(x0)) 124.68/39.79 mark(cons(x0, x1)) 124.68/39.79 mark(s(x0)) 124.68/39.79 mark(2ndspos(x0, x1)) 124.68/39.79 mark(0) 124.68/39.79 mark(rnil) 124.68/39.79 mark(rcons(x0, x1)) 124.68/39.79 mark(posrecip(x0)) 124.68/39.79 mark(2ndsneg(x0, x1)) 124.68/39.79 mark(negrecip(x0)) 124.68/39.79 mark(pi(x0)) 124.68/39.79 mark(plus(x0, x1)) 124.68/39.79 mark(times(x0, x1)) 124.68/39.79 mark(square(x0)) 124.68/39.79 from(mark(x0)) 124.68/39.79 from(active(x0)) 124.68/39.79 cons(mark(x0), x1) 124.68/39.79 cons(x0, mark(x1)) 124.68/39.79 cons(active(x0), x1) 124.68/39.79 cons(x0, active(x1)) 124.68/39.79 s(mark(x0)) 124.68/39.79 s(active(x0)) 124.68/39.79 2ndspos(mark(x0), x1) 124.68/39.79 2ndspos(x0, mark(x1)) 124.68/39.79 2ndspos(active(x0), x1) 124.68/39.79 2ndspos(x0, active(x1)) 124.68/39.79 rcons(mark(x0), x1) 124.68/39.79 rcons(x0, mark(x1)) 124.68/39.79 rcons(active(x0), x1) 124.68/39.79 rcons(x0, active(x1)) 124.68/39.79 posrecip(mark(x0)) 124.68/39.79 posrecip(active(x0)) 124.68/39.79 2ndsneg(mark(x0), x1) 124.68/39.79 2ndsneg(x0, mark(x1)) 124.68/39.79 2ndsneg(active(x0), x1) 124.68/39.79 2ndsneg(x0, active(x1)) 124.68/39.79 negrecip(mark(x0)) 124.68/39.79 negrecip(active(x0)) 124.68/39.79 pi(mark(x0)) 124.68/39.79 pi(active(x0)) 124.68/39.79 plus(mark(x0), x1) 124.68/39.79 plus(x0, mark(x1)) 124.68/39.79 plus(active(x0), x1) 124.68/39.79 plus(x0, active(x1)) 124.68/39.79 times(mark(x0), x1) 124.68/39.79 times(x0, mark(x1)) 124.68/39.79 times(active(x0), x1) 124.68/39.79 times(x0, active(x1)) 124.68/39.79 square(mark(x0)) 124.68/39.79 square(active(x0)) 124.68/39.79 124.68/39.79 We have to consider all minimal (P,Q,R)-chains. 124.68/39.79 ---------------------------------------- 124.68/39.79 124.68/39.79 (48) UsableRulesProof (EQUIVALENT) 124.68/39.79 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 124.68/39.79 ---------------------------------------- 124.68/39.79 124.68/39.79 (49) 124.68/39.79 Obligation: 124.68/39.79 Q DP problem: 124.68/39.79 The TRS P consists of the following rules: 124.68/39.80 124.68/39.80 POSRECIP(active(X)) -> POSRECIP(X) 124.68/39.80 POSRECIP(mark(X)) -> POSRECIP(X) 124.68/39.80 124.68/39.80 R is empty. 124.68/39.80 The set Q consists of the following terms: 124.68/39.80 124.68/39.80 active(from(x0)) 124.68/39.80 active(2ndspos(0, x0)) 124.68/39.80 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(2ndsneg(0, x0)) 124.68/39.80 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(pi(x0)) 124.68/39.80 active(plus(0, x0)) 124.68/39.80 active(plus(s(x0), x1)) 124.68/39.80 active(times(0, x0)) 124.68/39.80 active(times(s(x0), x1)) 124.68/39.80 active(square(x0)) 124.68/39.80 mark(from(x0)) 124.68/39.80 mark(cons(x0, x1)) 124.68/39.80 mark(s(x0)) 124.68/39.80 mark(2ndspos(x0, x1)) 124.68/39.80 mark(0) 124.68/39.80 mark(rnil) 124.68/39.80 mark(rcons(x0, x1)) 124.68/39.80 mark(posrecip(x0)) 124.68/39.80 mark(2ndsneg(x0, x1)) 124.68/39.80 mark(negrecip(x0)) 124.68/39.80 mark(pi(x0)) 124.68/39.80 mark(plus(x0, x1)) 124.68/39.80 mark(times(x0, x1)) 124.68/39.80 mark(square(x0)) 124.68/39.80 from(mark(x0)) 124.68/39.80 from(active(x0)) 124.68/39.80 cons(mark(x0), x1) 124.68/39.80 cons(x0, mark(x1)) 124.68/39.80 cons(active(x0), x1) 124.68/39.80 cons(x0, active(x1)) 124.68/39.80 s(mark(x0)) 124.68/39.80 s(active(x0)) 124.68/39.80 2ndspos(mark(x0), x1) 124.68/39.80 2ndspos(x0, mark(x1)) 124.68/39.80 2ndspos(active(x0), x1) 124.68/39.80 2ndspos(x0, active(x1)) 124.68/39.80 rcons(mark(x0), x1) 124.68/39.80 rcons(x0, mark(x1)) 124.68/39.80 rcons(active(x0), x1) 124.68/39.80 rcons(x0, active(x1)) 124.68/39.80 posrecip(mark(x0)) 124.68/39.80 posrecip(active(x0)) 124.68/39.80 2ndsneg(mark(x0), x1) 124.68/39.80 2ndsneg(x0, mark(x1)) 124.68/39.80 2ndsneg(active(x0), x1) 124.68/39.80 2ndsneg(x0, active(x1)) 124.68/39.80 negrecip(mark(x0)) 124.68/39.80 negrecip(active(x0)) 124.68/39.80 pi(mark(x0)) 124.68/39.80 pi(active(x0)) 124.68/39.80 plus(mark(x0), x1) 124.68/39.80 plus(x0, mark(x1)) 124.68/39.80 plus(active(x0), x1) 124.68/39.80 plus(x0, active(x1)) 124.68/39.80 times(mark(x0), x1) 124.68/39.80 times(x0, mark(x1)) 124.68/39.80 times(active(x0), x1) 124.68/39.80 times(x0, active(x1)) 124.68/39.80 square(mark(x0)) 124.68/39.80 square(active(x0)) 124.68/39.80 124.68/39.80 We have to consider all minimal (P,Q,R)-chains. 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (50) QReductionProof (EQUIVALENT) 124.68/39.80 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 124.68/39.80 124.68/39.80 from(mark(x0)) 124.68/39.80 from(active(x0)) 124.68/39.80 cons(mark(x0), x1) 124.68/39.80 cons(x0, mark(x1)) 124.68/39.80 cons(active(x0), x1) 124.68/39.80 cons(x0, active(x1)) 124.68/39.80 s(mark(x0)) 124.68/39.80 s(active(x0)) 124.68/39.80 2ndspos(mark(x0), x1) 124.68/39.80 2ndspos(x0, mark(x1)) 124.68/39.80 2ndspos(active(x0), x1) 124.68/39.80 2ndspos(x0, active(x1)) 124.68/39.80 rcons(mark(x0), x1) 124.68/39.80 rcons(x0, mark(x1)) 124.68/39.80 rcons(active(x0), x1) 124.68/39.80 rcons(x0, active(x1)) 124.68/39.80 posrecip(mark(x0)) 124.68/39.80 posrecip(active(x0)) 124.68/39.80 2ndsneg(mark(x0), x1) 124.68/39.80 2ndsneg(x0, mark(x1)) 124.68/39.80 2ndsneg(active(x0), x1) 124.68/39.80 2ndsneg(x0, active(x1)) 124.68/39.80 negrecip(mark(x0)) 124.68/39.80 negrecip(active(x0)) 124.68/39.80 pi(mark(x0)) 124.68/39.80 pi(active(x0)) 124.68/39.80 plus(mark(x0), x1) 124.68/39.80 plus(x0, mark(x1)) 124.68/39.80 plus(active(x0), x1) 124.68/39.80 plus(x0, active(x1)) 124.68/39.80 times(mark(x0), x1) 124.68/39.80 times(x0, mark(x1)) 124.68/39.80 times(active(x0), x1) 124.68/39.80 times(x0, active(x1)) 124.68/39.80 square(mark(x0)) 124.68/39.80 square(active(x0)) 124.68/39.80 124.68/39.80 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (51) 124.68/39.80 Obligation: 124.68/39.80 Q DP problem: 124.68/39.80 The TRS P consists of the following rules: 124.68/39.80 124.68/39.80 POSRECIP(active(X)) -> POSRECIP(X) 124.68/39.80 POSRECIP(mark(X)) -> POSRECIP(X) 124.68/39.80 124.68/39.80 R is empty. 124.68/39.80 The set Q consists of the following terms: 124.68/39.80 124.68/39.80 active(from(x0)) 124.68/39.80 active(2ndspos(0, x0)) 124.68/39.80 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(2ndsneg(0, x0)) 124.68/39.80 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(pi(x0)) 124.68/39.80 active(plus(0, x0)) 124.68/39.80 active(plus(s(x0), x1)) 124.68/39.80 active(times(0, x0)) 124.68/39.80 active(times(s(x0), x1)) 124.68/39.80 active(square(x0)) 124.68/39.80 mark(from(x0)) 124.68/39.80 mark(cons(x0, x1)) 124.68/39.80 mark(s(x0)) 124.68/39.80 mark(2ndspos(x0, x1)) 124.68/39.80 mark(0) 124.68/39.80 mark(rnil) 124.68/39.80 mark(rcons(x0, x1)) 124.68/39.80 mark(posrecip(x0)) 124.68/39.80 mark(2ndsneg(x0, x1)) 124.68/39.80 mark(negrecip(x0)) 124.68/39.80 mark(pi(x0)) 124.68/39.80 mark(plus(x0, x1)) 124.68/39.80 mark(times(x0, x1)) 124.68/39.80 mark(square(x0)) 124.68/39.80 124.68/39.80 We have to consider all minimal (P,Q,R)-chains. 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (52) QDPSizeChangeProof (EQUIVALENT) 124.68/39.80 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 124.68/39.80 124.68/39.80 From the DPs we obtained the following set of size-change graphs: 124.68/39.80 *POSRECIP(active(X)) -> POSRECIP(X) 124.68/39.80 The graph contains the following edges 1 > 1 124.68/39.80 124.68/39.80 124.68/39.80 *POSRECIP(mark(X)) -> POSRECIP(X) 124.68/39.80 The graph contains the following edges 1 > 1 124.68/39.80 124.68/39.80 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (53) 124.68/39.80 YES 124.68/39.80 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (54) 124.68/39.80 Obligation: 124.68/39.80 Q DP problem: 124.68/39.80 The TRS P consists of the following rules: 124.68/39.80 124.68/39.80 RCONS(X1, mark(X2)) -> RCONS(X1, X2) 124.68/39.80 RCONS(mark(X1), X2) -> RCONS(X1, X2) 124.68/39.80 RCONS(active(X1), X2) -> RCONS(X1, X2) 124.68/39.80 RCONS(X1, active(X2)) -> RCONS(X1, X2) 124.68/39.80 124.68/39.80 The TRS R consists of the following rules: 124.68/39.80 124.68/39.80 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.80 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.80 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.80 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.80 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.80 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.80 active(plus(0, Y)) -> mark(Y) 124.68/39.80 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.80 active(times(0, Y)) -> mark(0) 124.68/39.80 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.80 active(square(X)) -> mark(times(X, X)) 124.68/39.80 mark(from(X)) -> active(from(mark(X))) 124.68/39.80 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.80 mark(s(X)) -> active(s(mark(X))) 124.68/39.80 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.80 mark(0) -> active(0) 124.68/39.80 mark(rnil) -> active(rnil) 124.68/39.80 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.80 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.80 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.80 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.80 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.80 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.80 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.80 mark(square(X)) -> active(square(mark(X))) 124.68/39.80 from(mark(X)) -> from(X) 124.68/39.80 from(active(X)) -> from(X) 124.68/39.80 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.80 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.80 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.80 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.80 s(mark(X)) -> s(X) 124.68/39.80 s(active(X)) -> s(X) 124.68/39.80 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.80 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.80 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.80 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.80 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.80 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.80 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.80 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.80 posrecip(mark(X)) -> posrecip(X) 124.68/39.80 posrecip(active(X)) -> posrecip(X) 124.68/39.80 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.80 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.80 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.80 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.80 negrecip(mark(X)) -> negrecip(X) 124.68/39.80 negrecip(active(X)) -> negrecip(X) 124.68/39.80 pi(mark(X)) -> pi(X) 124.68/39.80 pi(active(X)) -> pi(X) 124.68/39.80 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.80 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.80 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.80 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.80 times(mark(X1), X2) -> times(X1, X2) 124.68/39.80 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.80 times(active(X1), X2) -> times(X1, X2) 124.68/39.80 times(X1, active(X2)) -> times(X1, X2) 124.68/39.80 square(mark(X)) -> square(X) 124.68/39.80 square(active(X)) -> square(X) 124.68/39.80 124.68/39.80 The set Q consists of the following terms: 124.68/39.80 124.68/39.80 active(from(x0)) 124.68/39.80 active(2ndspos(0, x0)) 124.68/39.80 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(2ndsneg(0, x0)) 124.68/39.80 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(pi(x0)) 124.68/39.80 active(plus(0, x0)) 124.68/39.80 active(plus(s(x0), x1)) 124.68/39.80 active(times(0, x0)) 124.68/39.80 active(times(s(x0), x1)) 124.68/39.80 active(square(x0)) 124.68/39.80 mark(from(x0)) 124.68/39.80 mark(cons(x0, x1)) 124.68/39.80 mark(s(x0)) 124.68/39.80 mark(2ndspos(x0, x1)) 124.68/39.80 mark(0) 124.68/39.80 mark(rnil) 124.68/39.80 mark(rcons(x0, x1)) 124.68/39.80 mark(posrecip(x0)) 124.68/39.80 mark(2ndsneg(x0, x1)) 124.68/39.80 mark(negrecip(x0)) 124.68/39.80 mark(pi(x0)) 124.68/39.80 mark(plus(x0, x1)) 124.68/39.80 mark(times(x0, x1)) 124.68/39.80 mark(square(x0)) 124.68/39.80 from(mark(x0)) 124.68/39.80 from(active(x0)) 124.68/39.80 cons(mark(x0), x1) 124.68/39.80 cons(x0, mark(x1)) 124.68/39.80 cons(active(x0), x1) 124.68/39.80 cons(x0, active(x1)) 124.68/39.80 s(mark(x0)) 124.68/39.80 s(active(x0)) 124.68/39.80 2ndspos(mark(x0), x1) 124.68/39.80 2ndspos(x0, mark(x1)) 124.68/39.80 2ndspos(active(x0), x1) 124.68/39.80 2ndspos(x0, active(x1)) 124.68/39.80 rcons(mark(x0), x1) 124.68/39.80 rcons(x0, mark(x1)) 124.68/39.80 rcons(active(x0), x1) 124.68/39.80 rcons(x0, active(x1)) 124.68/39.80 posrecip(mark(x0)) 124.68/39.80 posrecip(active(x0)) 124.68/39.80 2ndsneg(mark(x0), x1) 124.68/39.80 2ndsneg(x0, mark(x1)) 124.68/39.80 2ndsneg(active(x0), x1) 124.68/39.80 2ndsneg(x0, active(x1)) 124.68/39.80 negrecip(mark(x0)) 124.68/39.80 negrecip(active(x0)) 124.68/39.80 pi(mark(x0)) 124.68/39.80 pi(active(x0)) 124.68/39.80 plus(mark(x0), x1) 124.68/39.80 plus(x0, mark(x1)) 124.68/39.80 plus(active(x0), x1) 124.68/39.80 plus(x0, active(x1)) 124.68/39.80 times(mark(x0), x1) 124.68/39.80 times(x0, mark(x1)) 124.68/39.80 times(active(x0), x1) 124.68/39.80 times(x0, active(x1)) 124.68/39.80 square(mark(x0)) 124.68/39.80 square(active(x0)) 124.68/39.80 124.68/39.80 We have to consider all minimal (P,Q,R)-chains. 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (55) UsableRulesProof (EQUIVALENT) 124.68/39.80 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (56) 124.68/39.80 Obligation: 124.68/39.80 Q DP problem: 124.68/39.80 The TRS P consists of the following rules: 124.68/39.80 124.68/39.80 RCONS(X1, mark(X2)) -> RCONS(X1, X2) 124.68/39.80 RCONS(mark(X1), X2) -> RCONS(X1, X2) 124.68/39.80 RCONS(active(X1), X2) -> RCONS(X1, X2) 124.68/39.80 RCONS(X1, active(X2)) -> RCONS(X1, X2) 124.68/39.80 124.68/39.80 R is empty. 124.68/39.80 The set Q consists of the following terms: 124.68/39.80 124.68/39.80 active(from(x0)) 124.68/39.80 active(2ndspos(0, x0)) 124.68/39.80 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(2ndsneg(0, x0)) 124.68/39.80 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(pi(x0)) 124.68/39.80 active(plus(0, x0)) 124.68/39.80 active(plus(s(x0), x1)) 124.68/39.80 active(times(0, x0)) 124.68/39.80 active(times(s(x0), x1)) 124.68/39.80 active(square(x0)) 124.68/39.80 mark(from(x0)) 124.68/39.80 mark(cons(x0, x1)) 124.68/39.80 mark(s(x0)) 124.68/39.80 mark(2ndspos(x0, x1)) 124.68/39.80 mark(0) 124.68/39.80 mark(rnil) 124.68/39.80 mark(rcons(x0, x1)) 124.68/39.80 mark(posrecip(x0)) 124.68/39.80 mark(2ndsneg(x0, x1)) 124.68/39.80 mark(negrecip(x0)) 124.68/39.80 mark(pi(x0)) 124.68/39.80 mark(plus(x0, x1)) 124.68/39.80 mark(times(x0, x1)) 124.68/39.80 mark(square(x0)) 124.68/39.80 from(mark(x0)) 124.68/39.80 from(active(x0)) 124.68/39.80 cons(mark(x0), x1) 124.68/39.80 cons(x0, mark(x1)) 124.68/39.80 cons(active(x0), x1) 124.68/39.80 cons(x0, active(x1)) 124.68/39.80 s(mark(x0)) 124.68/39.80 s(active(x0)) 124.68/39.80 2ndspos(mark(x0), x1) 124.68/39.80 2ndspos(x0, mark(x1)) 124.68/39.80 2ndspos(active(x0), x1) 124.68/39.80 2ndspos(x0, active(x1)) 124.68/39.80 rcons(mark(x0), x1) 124.68/39.80 rcons(x0, mark(x1)) 124.68/39.80 rcons(active(x0), x1) 124.68/39.80 rcons(x0, active(x1)) 124.68/39.80 posrecip(mark(x0)) 124.68/39.80 posrecip(active(x0)) 124.68/39.80 2ndsneg(mark(x0), x1) 124.68/39.80 2ndsneg(x0, mark(x1)) 124.68/39.80 2ndsneg(active(x0), x1) 124.68/39.80 2ndsneg(x0, active(x1)) 124.68/39.80 negrecip(mark(x0)) 124.68/39.80 negrecip(active(x0)) 124.68/39.80 pi(mark(x0)) 124.68/39.80 pi(active(x0)) 124.68/39.80 plus(mark(x0), x1) 124.68/39.80 plus(x0, mark(x1)) 124.68/39.80 plus(active(x0), x1) 124.68/39.80 plus(x0, active(x1)) 124.68/39.80 times(mark(x0), x1) 124.68/39.80 times(x0, mark(x1)) 124.68/39.80 times(active(x0), x1) 124.68/39.80 times(x0, active(x1)) 124.68/39.80 square(mark(x0)) 124.68/39.80 square(active(x0)) 124.68/39.80 124.68/39.80 We have to consider all minimal (P,Q,R)-chains. 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (57) QReductionProof (EQUIVALENT) 124.68/39.80 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 124.68/39.80 124.68/39.80 from(mark(x0)) 124.68/39.80 from(active(x0)) 124.68/39.80 cons(mark(x0), x1) 124.68/39.80 cons(x0, mark(x1)) 124.68/39.80 cons(active(x0), x1) 124.68/39.80 cons(x0, active(x1)) 124.68/39.80 s(mark(x0)) 124.68/39.80 s(active(x0)) 124.68/39.80 2ndspos(mark(x0), x1) 124.68/39.80 2ndspos(x0, mark(x1)) 124.68/39.80 2ndspos(active(x0), x1) 124.68/39.80 2ndspos(x0, active(x1)) 124.68/39.80 rcons(mark(x0), x1) 124.68/39.80 rcons(x0, mark(x1)) 124.68/39.80 rcons(active(x0), x1) 124.68/39.80 rcons(x0, active(x1)) 124.68/39.80 posrecip(mark(x0)) 124.68/39.80 posrecip(active(x0)) 124.68/39.80 2ndsneg(mark(x0), x1) 124.68/39.80 2ndsneg(x0, mark(x1)) 124.68/39.80 2ndsneg(active(x0), x1) 124.68/39.80 2ndsneg(x0, active(x1)) 124.68/39.80 negrecip(mark(x0)) 124.68/39.80 negrecip(active(x0)) 124.68/39.80 pi(mark(x0)) 124.68/39.80 pi(active(x0)) 124.68/39.80 plus(mark(x0), x1) 124.68/39.80 plus(x0, mark(x1)) 124.68/39.80 plus(active(x0), x1) 124.68/39.80 plus(x0, active(x1)) 124.68/39.80 times(mark(x0), x1) 124.68/39.80 times(x0, mark(x1)) 124.68/39.80 times(active(x0), x1) 124.68/39.80 times(x0, active(x1)) 124.68/39.80 square(mark(x0)) 124.68/39.80 square(active(x0)) 124.68/39.80 124.68/39.80 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (58) 124.68/39.80 Obligation: 124.68/39.80 Q DP problem: 124.68/39.80 The TRS P consists of the following rules: 124.68/39.80 124.68/39.80 RCONS(X1, mark(X2)) -> RCONS(X1, X2) 124.68/39.80 RCONS(mark(X1), X2) -> RCONS(X1, X2) 124.68/39.80 RCONS(active(X1), X2) -> RCONS(X1, X2) 124.68/39.80 RCONS(X1, active(X2)) -> RCONS(X1, X2) 124.68/39.80 124.68/39.80 R is empty. 124.68/39.80 The set Q consists of the following terms: 124.68/39.80 124.68/39.80 active(from(x0)) 124.68/39.80 active(2ndspos(0, x0)) 124.68/39.80 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(2ndsneg(0, x0)) 124.68/39.80 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(pi(x0)) 124.68/39.80 active(plus(0, x0)) 124.68/39.80 active(plus(s(x0), x1)) 124.68/39.80 active(times(0, x0)) 124.68/39.80 active(times(s(x0), x1)) 124.68/39.80 active(square(x0)) 124.68/39.80 mark(from(x0)) 124.68/39.80 mark(cons(x0, x1)) 124.68/39.80 mark(s(x0)) 124.68/39.80 mark(2ndspos(x0, x1)) 124.68/39.80 mark(0) 124.68/39.80 mark(rnil) 124.68/39.80 mark(rcons(x0, x1)) 124.68/39.80 mark(posrecip(x0)) 124.68/39.80 mark(2ndsneg(x0, x1)) 124.68/39.80 mark(negrecip(x0)) 124.68/39.80 mark(pi(x0)) 124.68/39.80 mark(plus(x0, x1)) 124.68/39.80 mark(times(x0, x1)) 124.68/39.80 mark(square(x0)) 124.68/39.80 124.68/39.80 We have to consider all minimal (P,Q,R)-chains. 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (59) QDPSizeChangeProof (EQUIVALENT) 124.68/39.80 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 124.68/39.80 124.68/39.80 From the DPs we obtained the following set of size-change graphs: 124.68/39.80 *RCONS(X1, mark(X2)) -> RCONS(X1, X2) 124.68/39.80 The graph contains the following edges 1 >= 1, 2 > 2 124.68/39.80 124.68/39.80 124.68/39.80 *RCONS(mark(X1), X2) -> RCONS(X1, X2) 124.68/39.80 The graph contains the following edges 1 > 1, 2 >= 2 124.68/39.80 124.68/39.80 124.68/39.80 *RCONS(active(X1), X2) -> RCONS(X1, X2) 124.68/39.80 The graph contains the following edges 1 > 1, 2 >= 2 124.68/39.80 124.68/39.80 124.68/39.80 *RCONS(X1, active(X2)) -> RCONS(X1, X2) 124.68/39.80 The graph contains the following edges 1 >= 1, 2 > 2 124.68/39.80 124.68/39.80 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (60) 124.68/39.80 YES 124.68/39.80 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (61) 124.68/39.80 Obligation: 124.68/39.80 Q DP problem: 124.68/39.80 The TRS P consists of the following rules: 124.68/39.80 124.68/39.80 2NDSPOS(X1, mark(X2)) -> 2NDSPOS(X1, X2) 124.68/39.80 2NDSPOS(mark(X1), X2) -> 2NDSPOS(X1, X2) 124.68/39.80 2NDSPOS(active(X1), X2) -> 2NDSPOS(X1, X2) 124.68/39.80 2NDSPOS(X1, active(X2)) -> 2NDSPOS(X1, X2) 124.68/39.80 124.68/39.80 The TRS R consists of the following rules: 124.68/39.80 124.68/39.80 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.80 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.80 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.80 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.80 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.80 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.80 active(plus(0, Y)) -> mark(Y) 124.68/39.80 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.80 active(times(0, Y)) -> mark(0) 124.68/39.80 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.80 active(square(X)) -> mark(times(X, X)) 124.68/39.80 mark(from(X)) -> active(from(mark(X))) 124.68/39.80 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.80 mark(s(X)) -> active(s(mark(X))) 124.68/39.80 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.80 mark(0) -> active(0) 124.68/39.80 mark(rnil) -> active(rnil) 124.68/39.80 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.80 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.80 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.80 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.80 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.80 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.80 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.80 mark(square(X)) -> active(square(mark(X))) 124.68/39.80 from(mark(X)) -> from(X) 124.68/39.80 from(active(X)) -> from(X) 124.68/39.80 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.80 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.80 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.80 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.80 s(mark(X)) -> s(X) 124.68/39.80 s(active(X)) -> s(X) 124.68/39.80 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.80 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.80 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.80 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.80 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.80 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.80 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.80 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.80 posrecip(mark(X)) -> posrecip(X) 124.68/39.80 posrecip(active(X)) -> posrecip(X) 124.68/39.80 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.80 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.80 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.80 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.80 negrecip(mark(X)) -> negrecip(X) 124.68/39.80 negrecip(active(X)) -> negrecip(X) 124.68/39.80 pi(mark(X)) -> pi(X) 124.68/39.80 pi(active(X)) -> pi(X) 124.68/39.80 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.80 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.80 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.80 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.80 times(mark(X1), X2) -> times(X1, X2) 124.68/39.80 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.80 times(active(X1), X2) -> times(X1, X2) 124.68/39.80 times(X1, active(X2)) -> times(X1, X2) 124.68/39.80 square(mark(X)) -> square(X) 124.68/39.80 square(active(X)) -> square(X) 124.68/39.80 124.68/39.80 The set Q consists of the following terms: 124.68/39.80 124.68/39.80 active(from(x0)) 124.68/39.80 active(2ndspos(0, x0)) 124.68/39.80 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(2ndsneg(0, x0)) 124.68/39.80 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(pi(x0)) 124.68/39.80 active(plus(0, x0)) 124.68/39.80 active(plus(s(x0), x1)) 124.68/39.80 active(times(0, x0)) 124.68/39.80 active(times(s(x0), x1)) 124.68/39.80 active(square(x0)) 124.68/39.80 mark(from(x0)) 124.68/39.80 mark(cons(x0, x1)) 124.68/39.80 mark(s(x0)) 124.68/39.80 mark(2ndspos(x0, x1)) 124.68/39.80 mark(0) 124.68/39.80 mark(rnil) 124.68/39.80 mark(rcons(x0, x1)) 124.68/39.80 mark(posrecip(x0)) 124.68/39.80 mark(2ndsneg(x0, x1)) 124.68/39.80 mark(negrecip(x0)) 124.68/39.80 mark(pi(x0)) 124.68/39.80 mark(plus(x0, x1)) 124.68/39.80 mark(times(x0, x1)) 124.68/39.80 mark(square(x0)) 124.68/39.80 from(mark(x0)) 124.68/39.80 from(active(x0)) 124.68/39.80 cons(mark(x0), x1) 124.68/39.80 cons(x0, mark(x1)) 124.68/39.80 cons(active(x0), x1) 124.68/39.80 cons(x0, active(x1)) 124.68/39.80 s(mark(x0)) 124.68/39.80 s(active(x0)) 124.68/39.80 2ndspos(mark(x0), x1) 124.68/39.80 2ndspos(x0, mark(x1)) 124.68/39.80 2ndspos(active(x0), x1) 124.68/39.80 2ndspos(x0, active(x1)) 124.68/39.80 rcons(mark(x0), x1) 124.68/39.80 rcons(x0, mark(x1)) 124.68/39.80 rcons(active(x0), x1) 124.68/39.80 rcons(x0, active(x1)) 124.68/39.80 posrecip(mark(x0)) 124.68/39.80 posrecip(active(x0)) 124.68/39.80 2ndsneg(mark(x0), x1) 124.68/39.80 2ndsneg(x0, mark(x1)) 124.68/39.80 2ndsneg(active(x0), x1) 124.68/39.80 2ndsneg(x0, active(x1)) 124.68/39.80 negrecip(mark(x0)) 124.68/39.80 negrecip(active(x0)) 124.68/39.80 pi(mark(x0)) 124.68/39.80 pi(active(x0)) 124.68/39.80 plus(mark(x0), x1) 124.68/39.80 plus(x0, mark(x1)) 124.68/39.80 plus(active(x0), x1) 124.68/39.80 plus(x0, active(x1)) 124.68/39.80 times(mark(x0), x1) 124.68/39.80 times(x0, mark(x1)) 124.68/39.80 times(active(x0), x1) 124.68/39.80 times(x0, active(x1)) 124.68/39.80 square(mark(x0)) 124.68/39.80 square(active(x0)) 124.68/39.80 124.68/39.80 We have to consider all minimal (P,Q,R)-chains. 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (62) UsableRulesProof (EQUIVALENT) 124.68/39.80 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (63) 124.68/39.80 Obligation: 124.68/39.80 Q DP problem: 124.68/39.80 The TRS P consists of the following rules: 124.68/39.80 124.68/39.80 2NDSPOS(X1, mark(X2)) -> 2NDSPOS(X1, X2) 124.68/39.80 2NDSPOS(mark(X1), X2) -> 2NDSPOS(X1, X2) 124.68/39.80 2NDSPOS(active(X1), X2) -> 2NDSPOS(X1, X2) 124.68/39.80 2NDSPOS(X1, active(X2)) -> 2NDSPOS(X1, X2) 124.68/39.80 124.68/39.80 R is empty. 124.68/39.80 The set Q consists of the following terms: 124.68/39.80 124.68/39.80 active(from(x0)) 124.68/39.80 active(2ndspos(0, x0)) 124.68/39.80 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(2ndsneg(0, x0)) 124.68/39.80 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(pi(x0)) 124.68/39.80 active(plus(0, x0)) 124.68/39.80 active(plus(s(x0), x1)) 124.68/39.80 active(times(0, x0)) 124.68/39.80 active(times(s(x0), x1)) 124.68/39.80 active(square(x0)) 124.68/39.80 mark(from(x0)) 124.68/39.80 mark(cons(x0, x1)) 124.68/39.80 mark(s(x0)) 124.68/39.80 mark(2ndspos(x0, x1)) 124.68/39.80 mark(0) 124.68/39.80 mark(rnil) 124.68/39.80 mark(rcons(x0, x1)) 124.68/39.80 mark(posrecip(x0)) 124.68/39.80 mark(2ndsneg(x0, x1)) 124.68/39.80 mark(negrecip(x0)) 124.68/39.80 mark(pi(x0)) 124.68/39.80 mark(plus(x0, x1)) 124.68/39.80 mark(times(x0, x1)) 124.68/39.80 mark(square(x0)) 124.68/39.80 from(mark(x0)) 124.68/39.80 from(active(x0)) 124.68/39.80 cons(mark(x0), x1) 124.68/39.80 cons(x0, mark(x1)) 124.68/39.80 cons(active(x0), x1) 124.68/39.80 cons(x0, active(x1)) 124.68/39.80 s(mark(x0)) 124.68/39.80 s(active(x0)) 124.68/39.80 2ndspos(mark(x0), x1) 124.68/39.80 2ndspos(x0, mark(x1)) 124.68/39.80 2ndspos(active(x0), x1) 124.68/39.80 2ndspos(x0, active(x1)) 124.68/39.80 rcons(mark(x0), x1) 124.68/39.80 rcons(x0, mark(x1)) 124.68/39.80 rcons(active(x0), x1) 124.68/39.80 rcons(x0, active(x1)) 124.68/39.80 posrecip(mark(x0)) 124.68/39.80 posrecip(active(x0)) 124.68/39.80 2ndsneg(mark(x0), x1) 124.68/39.80 2ndsneg(x0, mark(x1)) 124.68/39.80 2ndsneg(active(x0), x1) 124.68/39.80 2ndsneg(x0, active(x1)) 124.68/39.80 negrecip(mark(x0)) 124.68/39.80 negrecip(active(x0)) 124.68/39.80 pi(mark(x0)) 124.68/39.80 pi(active(x0)) 124.68/39.80 plus(mark(x0), x1) 124.68/39.80 plus(x0, mark(x1)) 124.68/39.80 plus(active(x0), x1) 124.68/39.80 plus(x0, active(x1)) 124.68/39.80 times(mark(x0), x1) 124.68/39.80 times(x0, mark(x1)) 124.68/39.80 times(active(x0), x1) 124.68/39.80 times(x0, active(x1)) 124.68/39.80 square(mark(x0)) 124.68/39.80 square(active(x0)) 124.68/39.80 124.68/39.80 We have to consider all minimal (P,Q,R)-chains. 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (64) QReductionProof (EQUIVALENT) 124.68/39.80 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 124.68/39.80 124.68/39.80 from(mark(x0)) 124.68/39.80 from(active(x0)) 124.68/39.80 cons(mark(x0), x1) 124.68/39.80 cons(x0, mark(x1)) 124.68/39.80 cons(active(x0), x1) 124.68/39.80 cons(x0, active(x1)) 124.68/39.80 s(mark(x0)) 124.68/39.80 s(active(x0)) 124.68/39.80 2ndspos(mark(x0), x1) 124.68/39.80 2ndspos(x0, mark(x1)) 124.68/39.80 2ndspos(active(x0), x1) 124.68/39.80 2ndspos(x0, active(x1)) 124.68/39.80 rcons(mark(x0), x1) 124.68/39.80 rcons(x0, mark(x1)) 124.68/39.80 rcons(active(x0), x1) 124.68/39.80 rcons(x0, active(x1)) 124.68/39.80 posrecip(mark(x0)) 124.68/39.80 posrecip(active(x0)) 124.68/39.80 2ndsneg(mark(x0), x1) 124.68/39.80 2ndsneg(x0, mark(x1)) 124.68/39.80 2ndsneg(active(x0), x1) 124.68/39.80 2ndsneg(x0, active(x1)) 124.68/39.80 negrecip(mark(x0)) 124.68/39.80 negrecip(active(x0)) 124.68/39.80 pi(mark(x0)) 124.68/39.80 pi(active(x0)) 124.68/39.80 plus(mark(x0), x1) 124.68/39.80 plus(x0, mark(x1)) 124.68/39.80 plus(active(x0), x1) 124.68/39.80 plus(x0, active(x1)) 124.68/39.80 times(mark(x0), x1) 124.68/39.80 times(x0, mark(x1)) 124.68/39.80 times(active(x0), x1) 124.68/39.80 times(x0, active(x1)) 124.68/39.80 square(mark(x0)) 124.68/39.80 square(active(x0)) 124.68/39.80 124.68/39.80 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (65) 124.68/39.80 Obligation: 124.68/39.80 Q DP problem: 124.68/39.80 The TRS P consists of the following rules: 124.68/39.80 124.68/39.80 2NDSPOS(X1, mark(X2)) -> 2NDSPOS(X1, X2) 124.68/39.80 2NDSPOS(mark(X1), X2) -> 2NDSPOS(X1, X2) 124.68/39.80 2NDSPOS(active(X1), X2) -> 2NDSPOS(X1, X2) 124.68/39.80 2NDSPOS(X1, active(X2)) -> 2NDSPOS(X1, X2) 124.68/39.80 124.68/39.80 R is empty. 124.68/39.80 The set Q consists of the following terms: 124.68/39.80 124.68/39.80 active(from(x0)) 124.68/39.80 active(2ndspos(0, x0)) 124.68/39.80 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(2ndsneg(0, x0)) 124.68/39.80 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(pi(x0)) 124.68/39.80 active(plus(0, x0)) 124.68/39.80 active(plus(s(x0), x1)) 124.68/39.80 active(times(0, x0)) 124.68/39.80 active(times(s(x0), x1)) 124.68/39.80 active(square(x0)) 124.68/39.80 mark(from(x0)) 124.68/39.80 mark(cons(x0, x1)) 124.68/39.80 mark(s(x0)) 124.68/39.80 mark(2ndspos(x0, x1)) 124.68/39.80 mark(0) 124.68/39.80 mark(rnil) 124.68/39.80 mark(rcons(x0, x1)) 124.68/39.80 mark(posrecip(x0)) 124.68/39.80 mark(2ndsneg(x0, x1)) 124.68/39.80 mark(negrecip(x0)) 124.68/39.80 mark(pi(x0)) 124.68/39.80 mark(plus(x0, x1)) 124.68/39.80 mark(times(x0, x1)) 124.68/39.80 mark(square(x0)) 124.68/39.80 124.68/39.80 We have to consider all minimal (P,Q,R)-chains. 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (66) QDPSizeChangeProof (EQUIVALENT) 124.68/39.80 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 124.68/39.80 124.68/39.80 From the DPs we obtained the following set of size-change graphs: 124.68/39.80 *2NDSPOS(X1, mark(X2)) -> 2NDSPOS(X1, X2) 124.68/39.80 The graph contains the following edges 1 >= 1, 2 > 2 124.68/39.80 124.68/39.80 124.68/39.80 *2NDSPOS(mark(X1), X2) -> 2NDSPOS(X1, X2) 124.68/39.80 The graph contains the following edges 1 > 1, 2 >= 2 124.68/39.80 124.68/39.80 124.68/39.80 *2NDSPOS(active(X1), X2) -> 2NDSPOS(X1, X2) 124.68/39.80 The graph contains the following edges 1 > 1, 2 >= 2 124.68/39.80 124.68/39.80 124.68/39.80 *2NDSPOS(X1, active(X2)) -> 2NDSPOS(X1, X2) 124.68/39.80 The graph contains the following edges 1 >= 1, 2 > 2 124.68/39.80 124.68/39.80 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (67) 124.68/39.80 YES 124.68/39.80 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (68) 124.68/39.80 Obligation: 124.68/39.80 Q DP problem: 124.68/39.80 The TRS P consists of the following rules: 124.68/39.80 124.68/39.80 S(active(X)) -> S(X) 124.68/39.80 S(mark(X)) -> S(X) 124.68/39.80 124.68/39.80 The TRS R consists of the following rules: 124.68/39.80 124.68/39.80 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.80 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.80 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.80 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.80 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.80 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.80 active(plus(0, Y)) -> mark(Y) 124.68/39.80 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.80 active(times(0, Y)) -> mark(0) 124.68/39.80 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.80 active(square(X)) -> mark(times(X, X)) 124.68/39.80 mark(from(X)) -> active(from(mark(X))) 124.68/39.80 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.80 mark(s(X)) -> active(s(mark(X))) 124.68/39.80 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.80 mark(0) -> active(0) 124.68/39.80 mark(rnil) -> active(rnil) 124.68/39.80 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.80 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.80 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.80 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.80 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.80 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.80 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.80 mark(square(X)) -> active(square(mark(X))) 124.68/39.80 from(mark(X)) -> from(X) 124.68/39.80 from(active(X)) -> from(X) 124.68/39.80 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.80 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.80 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.80 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.80 s(mark(X)) -> s(X) 124.68/39.80 s(active(X)) -> s(X) 124.68/39.80 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.80 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.80 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.80 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.80 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.80 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.80 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.80 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.80 posrecip(mark(X)) -> posrecip(X) 124.68/39.80 posrecip(active(X)) -> posrecip(X) 124.68/39.80 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.80 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.80 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.80 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.80 negrecip(mark(X)) -> negrecip(X) 124.68/39.80 negrecip(active(X)) -> negrecip(X) 124.68/39.80 pi(mark(X)) -> pi(X) 124.68/39.80 pi(active(X)) -> pi(X) 124.68/39.80 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.80 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.80 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.80 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.80 times(mark(X1), X2) -> times(X1, X2) 124.68/39.80 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.80 times(active(X1), X2) -> times(X1, X2) 124.68/39.80 times(X1, active(X2)) -> times(X1, X2) 124.68/39.80 square(mark(X)) -> square(X) 124.68/39.80 square(active(X)) -> square(X) 124.68/39.80 124.68/39.80 The set Q consists of the following terms: 124.68/39.80 124.68/39.80 active(from(x0)) 124.68/39.80 active(2ndspos(0, x0)) 124.68/39.80 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(2ndsneg(0, x0)) 124.68/39.80 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(pi(x0)) 124.68/39.80 active(plus(0, x0)) 124.68/39.80 active(plus(s(x0), x1)) 124.68/39.80 active(times(0, x0)) 124.68/39.80 active(times(s(x0), x1)) 124.68/39.80 active(square(x0)) 124.68/39.80 mark(from(x0)) 124.68/39.80 mark(cons(x0, x1)) 124.68/39.80 mark(s(x0)) 124.68/39.80 mark(2ndspos(x0, x1)) 124.68/39.80 mark(0) 124.68/39.80 mark(rnil) 124.68/39.80 mark(rcons(x0, x1)) 124.68/39.80 mark(posrecip(x0)) 124.68/39.80 mark(2ndsneg(x0, x1)) 124.68/39.80 mark(negrecip(x0)) 124.68/39.80 mark(pi(x0)) 124.68/39.80 mark(plus(x0, x1)) 124.68/39.80 mark(times(x0, x1)) 124.68/39.80 mark(square(x0)) 124.68/39.80 from(mark(x0)) 124.68/39.80 from(active(x0)) 124.68/39.80 cons(mark(x0), x1) 124.68/39.80 cons(x0, mark(x1)) 124.68/39.80 cons(active(x0), x1) 124.68/39.80 cons(x0, active(x1)) 124.68/39.80 s(mark(x0)) 124.68/39.80 s(active(x0)) 124.68/39.80 2ndspos(mark(x0), x1) 124.68/39.80 2ndspos(x0, mark(x1)) 124.68/39.80 2ndspos(active(x0), x1) 124.68/39.80 2ndspos(x0, active(x1)) 124.68/39.80 rcons(mark(x0), x1) 124.68/39.80 rcons(x0, mark(x1)) 124.68/39.80 rcons(active(x0), x1) 124.68/39.80 rcons(x0, active(x1)) 124.68/39.80 posrecip(mark(x0)) 124.68/39.80 posrecip(active(x0)) 124.68/39.80 2ndsneg(mark(x0), x1) 124.68/39.80 2ndsneg(x0, mark(x1)) 124.68/39.80 2ndsneg(active(x0), x1) 124.68/39.80 2ndsneg(x0, active(x1)) 124.68/39.80 negrecip(mark(x0)) 124.68/39.80 negrecip(active(x0)) 124.68/39.80 pi(mark(x0)) 124.68/39.80 pi(active(x0)) 124.68/39.80 plus(mark(x0), x1) 124.68/39.80 plus(x0, mark(x1)) 124.68/39.80 plus(active(x0), x1) 124.68/39.80 plus(x0, active(x1)) 124.68/39.80 times(mark(x0), x1) 124.68/39.80 times(x0, mark(x1)) 124.68/39.80 times(active(x0), x1) 124.68/39.80 times(x0, active(x1)) 124.68/39.80 square(mark(x0)) 124.68/39.80 square(active(x0)) 124.68/39.80 124.68/39.80 We have to consider all minimal (P,Q,R)-chains. 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (69) UsableRulesProof (EQUIVALENT) 124.68/39.80 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (70) 124.68/39.80 Obligation: 124.68/39.80 Q DP problem: 124.68/39.80 The TRS P consists of the following rules: 124.68/39.80 124.68/39.80 S(active(X)) -> S(X) 124.68/39.80 S(mark(X)) -> S(X) 124.68/39.80 124.68/39.80 R is empty. 124.68/39.80 The set Q consists of the following terms: 124.68/39.80 124.68/39.80 active(from(x0)) 124.68/39.80 active(2ndspos(0, x0)) 124.68/39.80 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(2ndsneg(0, x0)) 124.68/39.80 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(pi(x0)) 124.68/39.80 active(plus(0, x0)) 124.68/39.80 active(plus(s(x0), x1)) 124.68/39.80 active(times(0, x0)) 124.68/39.80 active(times(s(x0), x1)) 124.68/39.80 active(square(x0)) 124.68/39.80 mark(from(x0)) 124.68/39.80 mark(cons(x0, x1)) 124.68/39.80 mark(s(x0)) 124.68/39.80 mark(2ndspos(x0, x1)) 124.68/39.80 mark(0) 124.68/39.80 mark(rnil) 124.68/39.80 mark(rcons(x0, x1)) 124.68/39.80 mark(posrecip(x0)) 124.68/39.80 mark(2ndsneg(x0, x1)) 124.68/39.80 mark(negrecip(x0)) 124.68/39.80 mark(pi(x0)) 124.68/39.80 mark(plus(x0, x1)) 124.68/39.80 mark(times(x0, x1)) 124.68/39.80 mark(square(x0)) 124.68/39.80 from(mark(x0)) 124.68/39.80 from(active(x0)) 124.68/39.80 cons(mark(x0), x1) 124.68/39.80 cons(x0, mark(x1)) 124.68/39.80 cons(active(x0), x1) 124.68/39.80 cons(x0, active(x1)) 124.68/39.80 s(mark(x0)) 124.68/39.80 s(active(x0)) 124.68/39.80 2ndspos(mark(x0), x1) 124.68/39.80 2ndspos(x0, mark(x1)) 124.68/39.80 2ndspos(active(x0), x1) 124.68/39.80 2ndspos(x0, active(x1)) 124.68/39.80 rcons(mark(x0), x1) 124.68/39.80 rcons(x0, mark(x1)) 124.68/39.80 rcons(active(x0), x1) 124.68/39.80 rcons(x0, active(x1)) 124.68/39.80 posrecip(mark(x0)) 124.68/39.80 posrecip(active(x0)) 124.68/39.80 2ndsneg(mark(x0), x1) 124.68/39.80 2ndsneg(x0, mark(x1)) 124.68/39.80 2ndsneg(active(x0), x1) 124.68/39.80 2ndsneg(x0, active(x1)) 124.68/39.80 negrecip(mark(x0)) 124.68/39.80 negrecip(active(x0)) 124.68/39.80 pi(mark(x0)) 124.68/39.80 pi(active(x0)) 124.68/39.80 plus(mark(x0), x1) 124.68/39.80 plus(x0, mark(x1)) 124.68/39.80 plus(active(x0), x1) 124.68/39.80 plus(x0, active(x1)) 124.68/39.80 times(mark(x0), x1) 124.68/39.80 times(x0, mark(x1)) 124.68/39.80 times(active(x0), x1) 124.68/39.80 times(x0, active(x1)) 124.68/39.80 square(mark(x0)) 124.68/39.80 square(active(x0)) 124.68/39.80 124.68/39.80 We have to consider all minimal (P,Q,R)-chains. 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (71) QReductionProof (EQUIVALENT) 124.68/39.80 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 124.68/39.80 124.68/39.80 from(mark(x0)) 124.68/39.80 from(active(x0)) 124.68/39.80 cons(mark(x0), x1) 124.68/39.80 cons(x0, mark(x1)) 124.68/39.80 cons(active(x0), x1) 124.68/39.80 cons(x0, active(x1)) 124.68/39.80 s(mark(x0)) 124.68/39.80 s(active(x0)) 124.68/39.80 2ndspos(mark(x0), x1) 124.68/39.80 2ndspos(x0, mark(x1)) 124.68/39.80 2ndspos(active(x0), x1) 124.68/39.80 2ndspos(x0, active(x1)) 124.68/39.80 rcons(mark(x0), x1) 124.68/39.80 rcons(x0, mark(x1)) 124.68/39.80 rcons(active(x0), x1) 124.68/39.80 rcons(x0, active(x1)) 124.68/39.80 posrecip(mark(x0)) 124.68/39.80 posrecip(active(x0)) 124.68/39.80 2ndsneg(mark(x0), x1) 124.68/39.80 2ndsneg(x0, mark(x1)) 124.68/39.80 2ndsneg(active(x0), x1) 124.68/39.80 2ndsneg(x0, active(x1)) 124.68/39.80 negrecip(mark(x0)) 124.68/39.80 negrecip(active(x0)) 124.68/39.80 pi(mark(x0)) 124.68/39.80 pi(active(x0)) 124.68/39.80 plus(mark(x0), x1) 124.68/39.80 plus(x0, mark(x1)) 124.68/39.80 plus(active(x0), x1) 124.68/39.80 plus(x0, active(x1)) 124.68/39.80 times(mark(x0), x1) 124.68/39.80 times(x0, mark(x1)) 124.68/39.80 times(active(x0), x1) 124.68/39.80 times(x0, active(x1)) 124.68/39.80 square(mark(x0)) 124.68/39.80 square(active(x0)) 124.68/39.80 124.68/39.80 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (72) 124.68/39.80 Obligation: 124.68/39.80 Q DP problem: 124.68/39.80 The TRS P consists of the following rules: 124.68/39.80 124.68/39.80 S(active(X)) -> S(X) 124.68/39.80 S(mark(X)) -> S(X) 124.68/39.80 124.68/39.80 R is empty. 124.68/39.80 The set Q consists of the following terms: 124.68/39.80 124.68/39.80 active(from(x0)) 124.68/39.80 active(2ndspos(0, x0)) 124.68/39.80 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(2ndsneg(0, x0)) 124.68/39.80 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(pi(x0)) 124.68/39.80 active(plus(0, x0)) 124.68/39.80 active(plus(s(x0), x1)) 124.68/39.80 active(times(0, x0)) 124.68/39.80 active(times(s(x0), x1)) 124.68/39.80 active(square(x0)) 124.68/39.80 mark(from(x0)) 124.68/39.80 mark(cons(x0, x1)) 124.68/39.80 mark(s(x0)) 124.68/39.80 mark(2ndspos(x0, x1)) 124.68/39.80 mark(0) 124.68/39.80 mark(rnil) 124.68/39.80 mark(rcons(x0, x1)) 124.68/39.80 mark(posrecip(x0)) 124.68/39.80 mark(2ndsneg(x0, x1)) 124.68/39.80 mark(negrecip(x0)) 124.68/39.80 mark(pi(x0)) 124.68/39.80 mark(plus(x0, x1)) 124.68/39.80 mark(times(x0, x1)) 124.68/39.80 mark(square(x0)) 124.68/39.80 124.68/39.80 We have to consider all minimal (P,Q,R)-chains. 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (73) QDPSizeChangeProof (EQUIVALENT) 124.68/39.80 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 124.68/39.80 124.68/39.80 From the DPs we obtained the following set of size-change graphs: 124.68/39.80 *S(active(X)) -> S(X) 124.68/39.80 The graph contains the following edges 1 > 1 124.68/39.80 124.68/39.80 124.68/39.80 *S(mark(X)) -> S(X) 124.68/39.80 The graph contains the following edges 1 > 1 124.68/39.80 124.68/39.80 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (74) 124.68/39.80 YES 124.68/39.80 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (75) 124.68/39.80 Obligation: 124.68/39.80 Q DP problem: 124.68/39.80 The TRS P consists of the following rules: 124.68/39.80 124.68/39.80 CONS(X1, mark(X2)) -> CONS(X1, X2) 124.68/39.80 CONS(mark(X1), X2) -> CONS(X1, X2) 124.68/39.80 CONS(active(X1), X2) -> CONS(X1, X2) 124.68/39.80 CONS(X1, active(X2)) -> CONS(X1, X2) 124.68/39.80 124.68/39.80 The TRS R consists of the following rules: 124.68/39.80 124.68/39.80 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.80 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.80 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.80 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.80 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.80 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.80 active(plus(0, Y)) -> mark(Y) 124.68/39.80 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.80 active(times(0, Y)) -> mark(0) 124.68/39.80 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.80 active(square(X)) -> mark(times(X, X)) 124.68/39.80 mark(from(X)) -> active(from(mark(X))) 124.68/39.80 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.80 mark(s(X)) -> active(s(mark(X))) 124.68/39.80 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.80 mark(0) -> active(0) 124.68/39.80 mark(rnil) -> active(rnil) 124.68/39.80 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.80 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.80 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.80 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.80 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.80 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.80 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.80 mark(square(X)) -> active(square(mark(X))) 124.68/39.80 from(mark(X)) -> from(X) 124.68/39.80 from(active(X)) -> from(X) 124.68/39.80 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.80 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.80 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.80 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.80 s(mark(X)) -> s(X) 124.68/39.80 s(active(X)) -> s(X) 124.68/39.80 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.80 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.80 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.80 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.80 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.80 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.80 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.80 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.80 posrecip(mark(X)) -> posrecip(X) 124.68/39.80 posrecip(active(X)) -> posrecip(X) 124.68/39.80 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.80 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.80 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.80 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.80 negrecip(mark(X)) -> negrecip(X) 124.68/39.80 negrecip(active(X)) -> negrecip(X) 124.68/39.80 pi(mark(X)) -> pi(X) 124.68/39.80 pi(active(X)) -> pi(X) 124.68/39.80 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.80 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.80 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.80 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.80 times(mark(X1), X2) -> times(X1, X2) 124.68/39.80 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.80 times(active(X1), X2) -> times(X1, X2) 124.68/39.80 times(X1, active(X2)) -> times(X1, X2) 124.68/39.80 square(mark(X)) -> square(X) 124.68/39.80 square(active(X)) -> square(X) 124.68/39.80 124.68/39.80 The set Q consists of the following terms: 124.68/39.80 124.68/39.80 active(from(x0)) 124.68/39.80 active(2ndspos(0, x0)) 124.68/39.80 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(2ndsneg(0, x0)) 124.68/39.80 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(pi(x0)) 124.68/39.80 active(plus(0, x0)) 124.68/39.80 active(plus(s(x0), x1)) 124.68/39.80 active(times(0, x0)) 124.68/39.80 active(times(s(x0), x1)) 124.68/39.80 active(square(x0)) 124.68/39.80 mark(from(x0)) 124.68/39.80 mark(cons(x0, x1)) 124.68/39.80 mark(s(x0)) 124.68/39.80 mark(2ndspos(x0, x1)) 124.68/39.80 mark(0) 124.68/39.80 mark(rnil) 124.68/39.80 mark(rcons(x0, x1)) 124.68/39.80 mark(posrecip(x0)) 124.68/39.80 mark(2ndsneg(x0, x1)) 124.68/39.80 mark(negrecip(x0)) 124.68/39.80 mark(pi(x0)) 124.68/39.80 mark(plus(x0, x1)) 124.68/39.80 mark(times(x0, x1)) 124.68/39.80 mark(square(x0)) 124.68/39.80 from(mark(x0)) 124.68/39.80 from(active(x0)) 124.68/39.80 cons(mark(x0), x1) 124.68/39.80 cons(x0, mark(x1)) 124.68/39.80 cons(active(x0), x1) 124.68/39.80 cons(x0, active(x1)) 124.68/39.80 s(mark(x0)) 124.68/39.80 s(active(x0)) 124.68/39.80 2ndspos(mark(x0), x1) 124.68/39.80 2ndspos(x0, mark(x1)) 124.68/39.80 2ndspos(active(x0), x1) 124.68/39.80 2ndspos(x0, active(x1)) 124.68/39.80 rcons(mark(x0), x1) 124.68/39.80 rcons(x0, mark(x1)) 124.68/39.80 rcons(active(x0), x1) 124.68/39.80 rcons(x0, active(x1)) 124.68/39.80 posrecip(mark(x0)) 124.68/39.80 posrecip(active(x0)) 124.68/39.80 2ndsneg(mark(x0), x1) 124.68/39.80 2ndsneg(x0, mark(x1)) 124.68/39.80 2ndsneg(active(x0), x1) 124.68/39.80 2ndsneg(x0, active(x1)) 124.68/39.80 negrecip(mark(x0)) 124.68/39.80 negrecip(active(x0)) 124.68/39.80 pi(mark(x0)) 124.68/39.80 pi(active(x0)) 124.68/39.80 plus(mark(x0), x1) 124.68/39.80 plus(x0, mark(x1)) 124.68/39.80 plus(active(x0), x1) 124.68/39.80 plus(x0, active(x1)) 124.68/39.80 times(mark(x0), x1) 124.68/39.80 times(x0, mark(x1)) 124.68/39.80 times(active(x0), x1) 124.68/39.80 times(x0, active(x1)) 124.68/39.80 square(mark(x0)) 124.68/39.80 square(active(x0)) 124.68/39.80 124.68/39.80 We have to consider all minimal (P,Q,R)-chains. 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (76) UsableRulesProof (EQUIVALENT) 124.68/39.80 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (77) 124.68/39.80 Obligation: 124.68/39.80 Q DP problem: 124.68/39.80 The TRS P consists of the following rules: 124.68/39.80 124.68/39.80 CONS(X1, mark(X2)) -> CONS(X1, X2) 124.68/39.80 CONS(mark(X1), X2) -> CONS(X1, X2) 124.68/39.80 CONS(active(X1), X2) -> CONS(X1, X2) 124.68/39.80 CONS(X1, active(X2)) -> CONS(X1, X2) 124.68/39.80 124.68/39.80 R is empty. 124.68/39.80 The set Q consists of the following terms: 124.68/39.80 124.68/39.80 active(from(x0)) 124.68/39.80 active(2ndspos(0, x0)) 124.68/39.80 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(2ndsneg(0, x0)) 124.68/39.80 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(pi(x0)) 124.68/39.80 active(plus(0, x0)) 124.68/39.80 active(plus(s(x0), x1)) 124.68/39.80 active(times(0, x0)) 124.68/39.80 active(times(s(x0), x1)) 124.68/39.80 active(square(x0)) 124.68/39.80 mark(from(x0)) 124.68/39.80 mark(cons(x0, x1)) 124.68/39.80 mark(s(x0)) 124.68/39.80 mark(2ndspos(x0, x1)) 124.68/39.80 mark(0) 124.68/39.80 mark(rnil) 124.68/39.80 mark(rcons(x0, x1)) 124.68/39.80 mark(posrecip(x0)) 124.68/39.80 mark(2ndsneg(x0, x1)) 124.68/39.80 mark(negrecip(x0)) 124.68/39.80 mark(pi(x0)) 124.68/39.80 mark(plus(x0, x1)) 124.68/39.80 mark(times(x0, x1)) 124.68/39.80 mark(square(x0)) 124.68/39.80 from(mark(x0)) 124.68/39.80 from(active(x0)) 124.68/39.80 cons(mark(x0), x1) 124.68/39.80 cons(x0, mark(x1)) 124.68/39.80 cons(active(x0), x1) 124.68/39.80 cons(x0, active(x1)) 124.68/39.80 s(mark(x0)) 124.68/39.80 s(active(x0)) 124.68/39.80 2ndspos(mark(x0), x1) 124.68/39.80 2ndspos(x0, mark(x1)) 124.68/39.80 2ndspos(active(x0), x1) 124.68/39.80 2ndspos(x0, active(x1)) 124.68/39.80 rcons(mark(x0), x1) 124.68/39.80 rcons(x0, mark(x1)) 124.68/39.80 rcons(active(x0), x1) 124.68/39.80 rcons(x0, active(x1)) 124.68/39.80 posrecip(mark(x0)) 124.68/39.80 posrecip(active(x0)) 124.68/39.80 2ndsneg(mark(x0), x1) 124.68/39.80 2ndsneg(x0, mark(x1)) 124.68/39.80 2ndsneg(active(x0), x1) 124.68/39.80 2ndsneg(x0, active(x1)) 124.68/39.80 negrecip(mark(x0)) 124.68/39.80 negrecip(active(x0)) 124.68/39.80 pi(mark(x0)) 124.68/39.80 pi(active(x0)) 124.68/39.80 plus(mark(x0), x1) 124.68/39.80 plus(x0, mark(x1)) 124.68/39.80 plus(active(x0), x1) 124.68/39.80 plus(x0, active(x1)) 124.68/39.80 times(mark(x0), x1) 124.68/39.80 times(x0, mark(x1)) 124.68/39.80 times(active(x0), x1) 124.68/39.80 times(x0, active(x1)) 124.68/39.80 square(mark(x0)) 124.68/39.80 square(active(x0)) 124.68/39.80 124.68/39.80 We have to consider all minimal (P,Q,R)-chains. 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (78) QReductionProof (EQUIVALENT) 124.68/39.80 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 124.68/39.80 124.68/39.80 from(mark(x0)) 124.68/39.80 from(active(x0)) 124.68/39.80 cons(mark(x0), x1) 124.68/39.80 cons(x0, mark(x1)) 124.68/39.80 cons(active(x0), x1) 124.68/39.80 cons(x0, active(x1)) 124.68/39.80 s(mark(x0)) 124.68/39.80 s(active(x0)) 124.68/39.80 2ndspos(mark(x0), x1) 124.68/39.80 2ndspos(x0, mark(x1)) 124.68/39.80 2ndspos(active(x0), x1) 124.68/39.80 2ndspos(x0, active(x1)) 124.68/39.80 rcons(mark(x0), x1) 124.68/39.80 rcons(x0, mark(x1)) 124.68/39.80 rcons(active(x0), x1) 124.68/39.80 rcons(x0, active(x1)) 124.68/39.80 posrecip(mark(x0)) 124.68/39.80 posrecip(active(x0)) 124.68/39.80 2ndsneg(mark(x0), x1) 124.68/39.80 2ndsneg(x0, mark(x1)) 124.68/39.80 2ndsneg(active(x0), x1) 124.68/39.80 2ndsneg(x0, active(x1)) 124.68/39.80 negrecip(mark(x0)) 124.68/39.80 negrecip(active(x0)) 124.68/39.80 pi(mark(x0)) 124.68/39.80 pi(active(x0)) 124.68/39.80 plus(mark(x0), x1) 124.68/39.80 plus(x0, mark(x1)) 124.68/39.80 plus(active(x0), x1) 124.68/39.80 plus(x0, active(x1)) 124.68/39.80 times(mark(x0), x1) 124.68/39.80 times(x0, mark(x1)) 124.68/39.80 times(active(x0), x1) 124.68/39.80 times(x0, active(x1)) 124.68/39.80 square(mark(x0)) 124.68/39.80 square(active(x0)) 124.68/39.80 124.68/39.80 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (79) 124.68/39.80 Obligation: 124.68/39.80 Q DP problem: 124.68/39.80 The TRS P consists of the following rules: 124.68/39.80 124.68/39.80 CONS(X1, mark(X2)) -> CONS(X1, X2) 124.68/39.80 CONS(mark(X1), X2) -> CONS(X1, X2) 124.68/39.80 CONS(active(X1), X2) -> CONS(X1, X2) 124.68/39.80 CONS(X1, active(X2)) -> CONS(X1, X2) 124.68/39.80 124.68/39.80 R is empty. 124.68/39.80 The set Q consists of the following terms: 124.68/39.80 124.68/39.80 active(from(x0)) 124.68/39.80 active(2ndspos(0, x0)) 124.68/39.80 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(2ndsneg(0, x0)) 124.68/39.80 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(pi(x0)) 124.68/39.80 active(plus(0, x0)) 124.68/39.80 active(plus(s(x0), x1)) 124.68/39.80 active(times(0, x0)) 124.68/39.80 active(times(s(x0), x1)) 124.68/39.80 active(square(x0)) 124.68/39.80 mark(from(x0)) 124.68/39.80 mark(cons(x0, x1)) 124.68/39.80 mark(s(x0)) 124.68/39.80 mark(2ndspos(x0, x1)) 124.68/39.80 mark(0) 124.68/39.80 mark(rnil) 124.68/39.80 mark(rcons(x0, x1)) 124.68/39.80 mark(posrecip(x0)) 124.68/39.80 mark(2ndsneg(x0, x1)) 124.68/39.80 mark(negrecip(x0)) 124.68/39.80 mark(pi(x0)) 124.68/39.80 mark(plus(x0, x1)) 124.68/39.80 mark(times(x0, x1)) 124.68/39.80 mark(square(x0)) 124.68/39.80 124.68/39.80 We have to consider all minimal (P,Q,R)-chains. 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (80) QDPSizeChangeProof (EQUIVALENT) 124.68/39.80 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 124.68/39.80 124.68/39.80 From the DPs we obtained the following set of size-change graphs: 124.68/39.80 *CONS(X1, mark(X2)) -> CONS(X1, X2) 124.68/39.80 The graph contains the following edges 1 >= 1, 2 > 2 124.68/39.80 124.68/39.80 124.68/39.80 *CONS(mark(X1), X2) -> CONS(X1, X2) 124.68/39.80 The graph contains the following edges 1 > 1, 2 >= 2 124.68/39.80 124.68/39.80 124.68/39.80 *CONS(active(X1), X2) -> CONS(X1, X2) 124.68/39.80 The graph contains the following edges 1 > 1, 2 >= 2 124.68/39.80 124.68/39.80 124.68/39.80 *CONS(X1, active(X2)) -> CONS(X1, X2) 124.68/39.80 The graph contains the following edges 1 >= 1, 2 > 2 124.68/39.80 124.68/39.80 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (81) 124.68/39.80 YES 124.68/39.80 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (82) 124.68/39.80 Obligation: 124.68/39.80 Q DP problem: 124.68/39.80 The TRS P consists of the following rules: 124.68/39.80 124.68/39.80 FROM(active(X)) -> FROM(X) 124.68/39.80 FROM(mark(X)) -> FROM(X) 124.68/39.80 124.68/39.80 The TRS R consists of the following rules: 124.68/39.80 124.68/39.80 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.80 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.80 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.80 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.80 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.80 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.80 active(plus(0, Y)) -> mark(Y) 124.68/39.80 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.80 active(times(0, Y)) -> mark(0) 124.68/39.80 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.80 active(square(X)) -> mark(times(X, X)) 124.68/39.80 mark(from(X)) -> active(from(mark(X))) 124.68/39.80 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.80 mark(s(X)) -> active(s(mark(X))) 124.68/39.80 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.80 mark(0) -> active(0) 124.68/39.80 mark(rnil) -> active(rnil) 124.68/39.80 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.80 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.80 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.80 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.80 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.80 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.80 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.80 mark(square(X)) -> active(square(mark(X))) 124.68/39.80 from(mark(X)) -> from(X) 124.68/39.80 from(active(X)) -> from(X) 124.68/39.80 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.80 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.80 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.80 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.80 s(mark(X)) -> s(X) 124.68/39.80 s(active(X)) -> s(X) 124.68/39.80 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.80 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.80 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.80 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.80 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.80 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.80 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.80 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.80 posrecip(mark(X)) -> posrecip(X) 124.68/39.80 posrecip(active(X)) -> posrecip(X) 124.68/39.80 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.80 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.80 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.80 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.80 negrecip(mark(X)) -> negrecip(X) 124.68/39.80 negrecip(active(X)) -> negrecip(X) 124.68/39.80 pi(mark(X)) -> pi(X) 124.68/39.80 pi(active(X)) -> pi(X) 124.68/39.80 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.80 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.80 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.80 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.80 times(mark(X1), X2) -> times(X1, X2) 124.68/39.80 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.80 times(active(X1), X2) -> times(X1, X2) 124.68/39.80 times(X1, active(X2)) -> times(X1, X2) 124.68/39.80 square(mark(X)) -> square(X) 124.68/39.80 square(active(X)) -> square(X) 124.68/39.80 124.68/39.80 The set Q consists of the following terms: 124.68/39.80 124.68/39.80 active(from(x0)) 124.68/39.80 active(2ndspos(0, x0)) 124.68/39.80 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(2ndsneg(0, x0)) 124.68/39.80 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(pi(x0)) 124.68/39.80 active(plus(0, x0)) 124.68/39.80 active(plus(s(x0), x1)) 124.68/39.80 active(times(0, x0)) 124.68/39.80 active(times(s(x0), x1)) 124.68/39.80 active(square(x0)) 124.68/39.80 mark(from(x0)) 124.68/39.80 mark(cons(x0, x1)) 124.68/39.80 mark(s(x0)) 124.68/39.80 mark(2ndspos(x0, x1)) 124.68/39.80 mark(0) 124.68/39.80 mark(rnil) 124.68/39.80 mark(rcons(x0, x1)) 124.68/39.80 mark(posrecip(x0)) 124.68/39.80 mark(2ndsneg(x0, x1)) 124.68/39.80 mark(negrecip(x0)) 124.68/39.80 mark(pi(x0)) 124.68/39.80 mark(plus(x0, x1)) 124.68/39.80 mark(times(x0, x1)) 124.68/39.80 mark(square(x0)) 124.68/39.80 from(mark(x0)) 124.68/39.80 from(active(x0)) 124.68/39.80 cons(mark(x0), x1) 124.68/39.80 cons(x0, mark(x1)) 124.68/39.80 cons(active(x0), x1) 124.68/39.80 cons(x0, active(x1)) 124.68/39.80 s(mark(x0)) 124.68/39.80 s(active(x0)) 124.68/39.80 2ndspos(mark(x0), x1) 124.68/39.80 2ndspos(x0, mark(x1)) 124.68/39.80 2ndspos(active(x0), x1) 124.68/39.80 2ndspos(x0, active(x1)) 124.68/39.80 rcons(mark(x0), x1) 124.68/39.80 rcons(x0, mark(x1)) 124.68/39.80 rcons(active(x0), x1) 124.68/39.80 rcons(x0, active(x1)) 124.68/39.80 posrecip(mark(x0)) 124.68/39.80 posrecip(active(x0)) 124.68/39.80 2ndsneg(mark(x0), x1) 124.68/39.80 2ndsneg(x0, mark(x1)) 124.68/39.80 2ndsneg(active(x0), x1) 124.68/39.80 2ndsneg(x0, active(x1)) 124.68/39.80 negrecip(mark(x0)) 124.68/39.80 negrecip(active(x0)) 124.68/39.80 pi(mark(x0)) 124.68/39.80 pi(active(x0)) 124.68/39.80 plus(mark(x0), x1) 124.68/39.80 plus(x0, mark(x1)) 124.68/39.80 plus(active(x0), x1) 124.68/39.80 plus(x0, active(x1)) 124.68/39.80 times(mark(x0), x1) 124.68/39.80 times(x0, mark(x1)) 124.68/39.80 times(active(x0), x1) 124.68/39.80 times(x0, active(x1)) 124.68/39.80 square(mark(x0)) 124.68/39.80 square(active(x0)) 124.68/39.80 124.68/39.80 We have to consider all minimal (P,Q,R)-chains. 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (83) UsableRulesProof (EQUIVALENT) 124.68/39.80 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (84) 124.68/39.80 Obligation: 124.68/39.80 Q DP problem: 124.68/39.80 The TRS P consists of the following rules: 124.68/39.80 124.68/39.80 FROM(active(X)) -> FROM(X) 124.68/39.80 FROM(mark(X)) -> FROM(X) 124.68/39.80 124.68/39.80 R is empty. 124.68/39.80 The set Q consists of the following terms: 124.68/39.80 124.68/39.80 active(from(x0)) 124.68/39.80 active(2ndspos(0, x0)) 124.68/39.80 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(2ndsneg(0, x0)) 124.68/39.80 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(pi(x0)) 124.68/39.80 active(plus(0, x0)) 124.68/39.80 active(plus(s(x0), x1)) 124.68/39.80 active(times(0, x0)) 124.68/39.80 active(times(s(x0), x1)) 124.68/39.80 active(square(x0)) 124.68/39.80 mark(from(x0)) 124.68/39.80 mark(cons(x0, x1)) 124.68/39.80 mark(s(x0)) 124.68/39.80 mark(2ndspos(x0, x1)) 124.68/39.80 mark(0) 124.68/39.80 mark(rnil) 124.68/39.80 mark(rcons(x0, x1)) 124.68/39.80 mark(posrecip(x0)) 124.68/39.80 mark(2ndsneg(x0, x1)) 124.68/39.80 mark(negrecip(x0)) 124.68/39.80 mark(pi(x0)) 124.68/39.80 mark(plus(x0, x1)) 124.68/39.80 mark(times(x0, x1)) 124.68/39.80 mark(square(x0)) 124.68/39.80 from(mark(x0)) 124.68/39.80 from(active(x0)) 124.68/39.80 cons(mark(x0), x1) 124.68/39.80 cons(x0, mark(x1)) 124.68/39.80 cons(active(x0), x1) 124.68/39.80 cons(x0, active(x1)) 124.68/39.80 s(mark(x0)) 124.68/39.80 s(active(x0)) 124.68/39.80 2ndspos(mark(x0), x1) 124.68/39.80 2ndspos(x0, mark(x1)) 124.68/39.80 2ndspos(active(x0), x1) 124.68/39.80 2ndspos(x0, active(x1)) 124.68/39.80 rcons(mark(x0), x1) 124.68/39.80 rcons(x0, mark(x1)) 124.68/39.80 rcons(active(x0), x1) 124.68/39.80 rcons(x0, active(x1)) 124.68/39.80 posrecip(mark(x0)) 124.68/39.80 posrecip(active(x0)) 124.68/39.80 2ndsneg(mark(x0), x1) 124.68/39.80 2ndsneg(x0, mark(x1)) 124.68/39.80 2ndsneg(active(x0), x1) 124.68/39.80 2ndsneg(x0, active(x1)) 124.68/39.80 negrecip(mark(x0)) 124.68/39.80 negrecip(active(x0)) 124.68/39.80 pi(mark(x0)) 124.68/39.80 pi(active(x0)) 124.68/39.80 plus(mark(x0), x1) 124.68/39.80 plus(x0, mark(x1)) 124.68/39.80 plus(active(x0), x1) 124.68/39.80 plus(x0, active(x1)) 124.68/39.80 times(mark(x0), x1) 124.68/39.80 times(x0, mark(x1)) 124.68/39.80 times(active(x0), x1) 124.68/39.80 times(x0, active(x1)) 124.68/39.80 square(mark(x0)) 124.68/39.80 square(active(x0)) 124.68/39.80 124.68/39.80 We have to consider all minimal (P,Q,R)-chains. 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (85) QReductionProof (EQUIVALENT) 124.68/39.80 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 124.68/39.80 124.68/39.80 from(mark(x0)) 124.68/39.80 from(active(x0)) 124.68/39.80 cons(mark(x0), x1) 124.68/39.80 cons(x0, mark(x1)) 124.68/39.80 cons(active(x0), x1) 124.68/39.80 cons(x0, active(x1)) 124.68/39.80 s(mark(x0)) 124.68/39.80 s(active(x0)) 124.68/39.80 2ndspos(mark(x0), x1) 124.68/39.80 2ndspos(x0, mark(x1)) 124.68/39.80 2ndspos(active(x0), x1) 124.68/39.80 2ndspos(x0, active(x1)) 124.68/39.80 rcons(mark(x0), x1) 124.68/39.80 rcons(x0, mark(x1)) 124.68/39.80 rcons(active(x0), x1) 124.68/39.80 rcons(x0, active(x1)) 124.68/39.80 posrecip(mark(x0)) 124.68/39.80 posrecip(active(x0)) 124.68/39.80 2ndsneg(mark(x0), x1) 124.68/39.80 2ndsneg(x0, mark(x1)) 124.68/39.80 2ndsneg(active(x0), x1) 124.68/39.80 2ndsneg(x0, active(x1)) 124.68/39.80 negrecip(mark(x0)) 124.68/39.80 negrecip(active(x0)) 124.68/39.80 pi(mark(x0)) 124.68/39.80 pi(active(x0)) 124.68/39.80 plus(mark(x0), x1) 124.68/39.80 plus(x0, mark(x1)) 124.68/39.80 plus(active(x0), x1) 124.68/39.80 plus(x0, active(x1)) 124.68/39.80 times(mark(x0), x1) 124.68/39.80 times(x0, mark(x1)) 124.68/39.80 times(active(x0), x1) 124.68/39.80 times(x0, active(x1)) 124.68/39.80 square(mark(x0)) 124.68/39.80 square(active(x0)) 124.68/39.80 124.68/39.80 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (86) 124.68/39.80 Obligation: 124.68/39.80 Q DP problem: 124.68/39.80 The TRS P consists of the following rules: 124.68/39.80 124.68/39.80 FROM(active(X)) -> FROM(X) 124.68/39.80 FROM(mark(X)) -> FROM(X) 124.68/39.80 124.68/39.80 R is empty. 124.68/39.80 The set Q consists of the following terms: 124.68/39.80 124.68/39.80 active(from(x0)) 124.68/39.80 active(2ndspos(0, x0)) 124.68/39.80 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(2ndsneg(0, x0)) 124.68/39.80 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(pi(x0)) 124.68/39.80 active(plus(0, x0)) 124.68/39.80 active(plus(s(x0), x1)) 124.68/39.80 active(times(0, x0)) 124.68/39.80 active(times(s(x0), x1)) 124.68/39.80 active(square(x0)) 124.68/39.80 mark(from(x0)) 124.68/39.80 mark(cons(x0, x1)) 124.68/39.80 mark(s(x0)) 124.68/39.80 mark(2ndspos(x0, x1)) 124.68/39.80 mark(0) 124.68/39.80 mark(rnil) 124.68/39.80 mark(rcons(x0, x1)) 124.68/39.80 mark(posrecip(x0)) 124.68/39.80 mark(2ndsneg(x0, x1)) 124.68/39.80 mark(negrecip(x0)) 124.68/39.80 mark(pi(x0)) 124.68/39.80 mark(plus(x0, x1)) 124.68/39.80 mark(times(x0, x1)) 124.68/39.80 mark(square(x0)) 124.68/39.80 124.68/39.80 We have to consider all minimal (P,Q,R)-chains. 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (87) QDPSizeChangeProof (EQUIVALENT) 124.68/39.80 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 124.68/39.80 124.68/39.80 From the DPs we obtained the following set of size-change graphs: 124.68/39.80 *FROM(active(X)) -> FROM(X) 124.68/39.80 The graph contains the following edges 1 > 1 124.68/39.80 124.68/39.80 124.68/39.80 *FROM(mark(X)) -> FROM(X) 124.68/39.80 The graph contains the following edges 1 > 1 124.68/39.80 124.68/39.80 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (88) 124.68/39.80 YES 124.68/39.80 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (89) 124.68/39.80 Obligation: 124.68/39.80 Q DP problem: 124.68/39.80 The TRS P consists of the following rules: 124.68/39.80 124.68/39.80 MARK(cons(X1, X2)) -> ACTIVE(cons(mark(X1), X2)) 124.68/39.80 ACTIVE(from(X)) -> MARK(cons(X, from(s(X)))) 124.68/39.80 MARK(cons(X1, X2)) -> MARK(X1) 124.68/39.80 MARK(from(X)) -> ACTIVE(from(mark(X))) 124.68/39.80 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.80 MARK(rcons(X1, X2)) -> ACTIVE(rcons(mark(X1), mark(X2))) 124.68/39.80 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.80 MARK(rcons(X1, X2)) -> MARK(X1) 124.68/39.80 MARK(from(X)) -> MARK(X) 124.68/39.80 MARK(s(X)) -> ACTIVE(s(mark(X))) 124.68/39.80 ACTIVE(pi(X)) -> MARK(2ndspos(X, from(0))) 124.68/39.80 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.68/39.80 ACTIVE(plus(0, Y)) -> MARK(Y) 124.68/39.80 MARK(s(X)) -> MARK(X) 124.68/39.80 MARK(2ndspos(X1, X2)) -> MARK(X1) 124.68/39.80 MARK(2ndspos(X1, X2)) -> MARK(X2) 124.68/39.80 MARK(rcons(X1, X2)) -> MARK(X2) 124.68/39.80 MARK(posrecip(X)) -> ACTIVE(posrecip(mark(X))) 124.68/39.80 ACTIVE(plus(s(X), Y)) -> MARK(s(plus(X, Y))) 124.68/39.80 ACTIVE(times(s(X), Y)) -> MARK(plus(Y, times(X, Y))) 124.68/39.80 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 124.68/39.80 ACTIVE(square(X)) -> MARK(times(X, X)) 124.68/39.80 MARK(times(X1, X2)) -> ACTIVE(times(mark(X1), mark(X2))) 124.68/39.80 MARK(times(X1, X2)) -> MARK(X1) 124.68/39.80 MARK(posrecip(X)) -> MARK(X) 124.68/39.80 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.68/39.80 MARK(2ndsneg(X1, X2)) -> MARK(X1) 124.68/39.80 MARK(2ndsneg(X1, X2)) -> MARK(X2) 124.68/39.80 MARK(negrecip(X)) -> ACTIVE(negrecip(mark(X))) 124.68/39.80 MARK(negrecip(X)) -> MARK(X) 124.68/39.80 MARK(pi(X)) -> ACTIVE(pi(mark(X))) 124.68/39.80 MARK(pi(X)) -> MARK(X) 124.68/39.80 MARK(plus(X1, X2)) -> MARK(X1) 124.68/39.80 MARK(plus(X1, X2)) -> MARK(X2) 124.68/39.80 MARK(times(X1, X2)) -> MARK(X2) 124.68/39.80 MARK(square(X)) -> ACTIVE(square(mark(X))) 124.68/39.80 MARK(square(X)) -> MARK(X) 124.68/39.80 124.68/39.80 The TRS R consists of the following rules: 124.68/39.80 124.68/39.80 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.80 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.80 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.80 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.80 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.80 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.80 active(plus(0, Y)) -> mark(Y) 124.68/39.80 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.80 active(times(0, Y)) -> mark(0) 124.68/39.80 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.80 active(square(X)) -> mark(times(X, X)) 124.68/39.80 mark(from(X)) -> active(from(mark(X))) 124.68/39.80 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.80 mark(s(X)) -> active(s(mark(X))) 124.68/39.80 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.80 mark(0) -> active(0) 124.68/39.80 mark(rnil) -> active(rnil) 124.68/39.80 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.80 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.80 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.80 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.80 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.80 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.80 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.80 mark(square(X)) -> active(square(mark(X))) 124.68/39.80 from(mark(X)) -> from(X) 124.68/39.80 from(active(X)) -> from(X) 124.68/39.80 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.80 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.80 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.80 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.80 s(mark(X)) -> s(X) 124.68/39.80 s(active(X)) -> s(X) 124.68/39.80 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.80 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.80 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.80 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.80 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.80 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.80 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.80 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.80 posrecip(mark(X)) -> posrecip(X) 124.68/39.80 posrecip(active(X)) -> posrecip(X) 124.68/39.80 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.80 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.80 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.80 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.80 negrecip(mark(X)) -> negrecip(X) 124.68/39.80 negrecip(active(X)) -> negrecip(X) 124.68/39.80 pi(mark(X)) -> pi(X) 124.68/39.80 pi(active(X)) -> pi(X) 124.68/39.80 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.80 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.80 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.80 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.80 times(mark(X1), X2) -> times(X1, X2) 124.68/39.80 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.80 times(active(X1), X2) -> times(X1, X2) 124.68/39.80 times(X1, active(X2)) -> times(X1, X2) 124.68/39.80 square(mark(X)) -> square(X) 124.68/39.80 square(active(X)) -> square(X) 124.68/39.80 124.68/39.80 The set Q consists of the following terms: 124.68/39.80 124.68/39.80 active(from(x0)) 124.68/39.80 active(2ndspos(0, x0)) 124.68/39.80 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(2ndsneg(0, x0)) 124.68/39.80 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.80 active(pi(x0)) 124.68/39.80 active(plus(0, x0)) 124.68/39.80 active(plus(s(x0), x1)) 124.68/39.80 active(times(0, x0)) 124.68/39.80 active(times(s(x0), x1)) 124.68/39.80 active(square(x0)) 124.68/39.80 mark(from(x0)) 124.68/39.80 mark(cons(x0, x1)) 124.68/39.80 mark(s(x0)) 124.68/39.80 mark(2ndspos(x0, x1)) 124.68/39.80 mark(0) 124.68/39.80 mark(rnil) 124.68/39.80 mark(rcons(x0, x1)) 124.68/39.80 mark(posrecip(x0)) 124.68/39.80 mark(2ndsneg(x0, x1)) 124.68/39.80 mark(negrecip(x0)) 124.68/39.80 mark(pi(x0)) 124.68/39.80 mark(plus(x0, x1)) 124.68/39.80 mark(times(x0, x1)) 124.68/39.80 mark(square(x0)) 124.68/39.80 from(mark(x0)) 124.68/39.80 from(active(x0)) 124.68/39.80 cons(mark(x0), x1) 124.68/39.80 cons(x0, mark(x1)) 124.68/39.80 cons(active(x0), x1) 124.68/39.80 cons(x0, active(x1)) 124.68/39.80 s(mark(x0)) 124.68/39.80 s(active(x0)) 124.68/39.80 2ndspos(mark(x0), x1) 124.68/39.80 2ndspos(x0, mark(x1)) 124.68/39.80 2ndspos(active(x0), x1) 124.68/39.80 2ndspos(x0, active(x1)) 124.68/39.80 rcons(mark(x0), x1) 124.68/39.80 rcons(x0, mark(x1)) 124.68/39.80 rcons(active(x0), x1) 124.68/39.80 rcons(x0, active(x1)) 124.68/39.80 posrecip(mark(x0)) 124.68/39.80 posrecip(active(x0)) 124.68/39.80 2ndsneg(mark(x0), x1) 124.68/39.80 2ndsneg(x0, mark(x1)) 124.68/39.80 2ndsneg(active(x0), x1) 124.68/39.80 2ndsneg(x0, active(x1)) 124.68/39.80 negrecip(mark(x0)) 124.68/39.80 negrecip(active(x0)) 124.68/39.80 pi(mark(x0)) 124.68/39.80 pi(active(x0)) 124.68/39.80 plus(mark(x0), x1) 124.68/39.80 plus(x0, mark(x1)) 124.68/39.80 plus(active(x0), x1) 124.68/39.80 plus(x0, active(x1)) 124.68/39.80 times(mark(x0), x1) 124.68/39.80 times(x0, mark(x1)) 124.68/39.80 times(active(x0), x1) 124.68/39.80 times(x0, active(x1)) 124.68/39.80 square(mark(x0)) 124.68/39.80 square(active(x0)) 124.68/39.80 124.68/39.80 We have to consider all minimal (P,Q,R)-chains. 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (90) QDPOrderProof (EQUIVALENT) 124.68/39.80 We use the reduction pair processor [LPAR04,JAR06]. 124.68/39.80 124.68/39.80 124.68/39.80 The following pairs can be oriented strictly and are deleted. 124.68/39.80 124.68/39.80 MARK(posrecip(X)) -> ACTIVE(posrecip(mark(X))) 124.68/39.80 The remaining pairs can at least be oriented weakly. 124.68/39.80 Used ordering: Combined order from the following AFS and order. 124.68/39.80 MARK(x1) = MARK 124.68/39.80 124.68/39.80 cons(x1, x2) = cons 124.68/39.80 124.68/39.80 ACTIVE(x1) = x1 124.68/39.80 124.68/39.80 mark(x1) = mark 124.68/39.80 124.68/39.80 from(x1) = from 124.68/39.80 124.68/39.80 s(x1) = s 124.68/39.80 124.68/39.80 2ndspos(x1, x2) = 2ndspos 124.68/39.80 124.68/39.80 rcons(x1, x2) = rcons 124.68/39.80 124.68/39.80 posrecip(x1) = posrecip 124.68/39.80 124.68/39.80 2ndsneg(x1, x2) = 2ndsneg 124.68/39.80 124.68/39.80 negrecip(x1) = negrecip 124.68/39.80 124.68/39.80 pi(x1) = pi 124.68/39.80 124.68/39.80 0 = 0 124.68/39.80 124.68/39.80 plus(x1, x2) = plus 124.68/39.80 124.68/39.80 times(x1, x2) = times 124.68/39.80 124.68/39.80 square(x1) = square 124.68/39.80 124.68/39.80 active(x1) = x1 124.68/39.80 124.68/39.80 rnil = rnil 124.68/39.80 124.68/39.80 124.68/39.80 Recursive path order with status [RPO]. 124.68/39.80 Quasi-Precedence: mark > 0 > [MARK, cons, from, s, 2ndspos, rcons, 2ndsneg, negrecip, pi, plus, times, square] > posrecip 124.68/39.80 124.68/39.80 Status: MARK: [] 124.68/39.80 cons: [] 124.68/39.80 mark: multiset status 124.68/39.80 from: [] 124.68/39.80 s: [] 124.68/39.80 2ndspos: [] 124.68/39.80 rcons: [] 124.68/39.80 posrecip: multiset status 124.68/39.80 2ndsneg: [] 124.68/39.80 negrecip: [] 124.68/39.80 pi: [] 124.68/39.80 0: multiset status 124.68/39.80 plus: [] 124.68/39.80 times: [] 124.68/39.80 square: [] 124.68/39.80 rnil: multiset status 124.68/39.80 124.68/39.80 124.68/39.80 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 124.68/39.80 124.68/39.80 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.80 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.80 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.80 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.80 from(active(X)) -> from(X) 124.68/39.80 from(mark(X)) -> from(X) 124.68/39.80 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.80 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.80 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.80 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.80 s(active(X)) -> s(X) 124.68/39.80 s(mark(X)) -> s(X) 124.68/39.80 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.80 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.80 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.80 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.80 posrecip(active(X)) -> posrecip(X) 124.68/39.80 posrecip(mark(X)) -> posrecip(X) 124.68/39.80 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.80 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.80 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.80 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.80 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.80 times(mark(X1), X2) -> times(X1, X2) 124.68/39.80 times(active(X1), X2) -> times(X1, X2) 124.68/39.80 times(X1, active(X2)) -> times(X1, X2) 124.68/39.80 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.80 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.80 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.80 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.80 negrecip(active(X)) -> negrecip(X) 124.68/39.80 negrecip(mark(X)) -> negrecip(X) 124.68/39.80 pi(active(X)) -> pi(X) 124.68/39.80 pi(mark(X)) -> pi(X) 124.68/39.80 square(active(X)) -> square(X) 124.68/39.80 square(mark(X)) -> square(X) 124.68/39.80 124.68/39.80 124.68/39.80 ---------------------------------------- 124.68/39.80 124.68/39.80 (91) 124.68/39.80 Obligation: 124.68/39.80 Q DP problem: 124.68/39.80 The TRS P consists of the following rules: 124.68/39.80 124.68/39.80 MARK(cons(X1, X2)) -> ACTIVE(cons(mark(X1), X2)) 124.68/39.80 ACTIVE(from(X)) -> MARK(cons(X, from(s(X)))) 124.68/39.80 MARK(cons(X1, X2)) -> MARK(X1) 124.68/39.80 MARK(from(X)) -> ACTIVE(from(mark(X))) 124.68/39.80 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.80 MARK(rcons(X1, X2)) -> ACTIVE(rcons(mark(X1), mark(X2))) 124.68/39.80 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.80 MARK(rcons(X1, X2)) -> MARK(X1) 124.68/39.80 MARK(from(X)) -> MARK(X) 124.68/39.80 MARK(s(X)) -> ACTIVE(s(mark(X))) 124.68/39.80 ACTIVE(pi(X)) -> MARK(2ndspos(X, from(0))) 124.68/39.80 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.68/39.80 ACTIVE(plus(0, Y)) -> MARK(Y) 124.68/39.80 MARK(s(X)) -> MARK(X) 124.68/39.80 MARK(2ndspos(X1, X2)) -> MARK(X1) 124.68/39.80 MARK(2ndspos(X1, X2)) -> MARK(X2) 124.68/39.80 MARK(rcons(X1, X2)) -> MARK(X2) 124.68/39.80 ACTIVE(plus(s(X), Y)) -> MARK(s(plus(X, Y))) 124.68/39.80 ACTIVE(times(s(X), Y)) -> MARK(plus(Y, times(X, Y))) 124.68/39.80 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 124.68/39.80 ACTIVE(square(X)) -> MARK(times(X, X)) 124.68/39.80 MARK(times(X1, X2)) -> ACTIVE(times(mark(X1), mark(X2))) 124.68/39.80 MARK(times(X1, X2)) -> MARK(X1) 124.68/39.80 MARK(posrecip(X)) -> MARK(X) 124.68/39.80 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.68/39.80 MARK(2ndsneg(X1, X2)) -> MARK(X1) 124.68/39.80 MARK(2ndsneg(X1, X2)) -> MARK(X2) 124.68/39.80 MARK(negrecip(X)) -> ACTIVE(negrecip(mark(X))) 124.68/39.80 MARK(negrecip(X)) -> MARK(X) 124.68/39.80 MARK(pi(X)) -> ACTIVE(pi(mark(X))) 124.68/39.80 MARK(pi(X)) -> MARK(X) 124.68/39.80 MARK(plus(X1, X2)) -> MARK(X1) 124.68/39.80 MARK(plus(X1, X2)) -> MARK(X2) 124.68/39.80 MARK(times(X1, X2)) -> MARK(X2) 124.68/39.80 MARK(square(X)) -> ACTIVE(square(mark(X))) 124.68/39.80 MARK(square(X)) -> MARK(X) 124.68/39.80 124.68/39.80 The TRS R consists of the following rules: 124.68/39.80 124.68/39.80 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.81 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.81 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.81 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.81 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.81 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.81 active(plus(0, Y)) -> mark(Y) 124.68/39.81 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.81 active(times(0, Y)) -> mark(0) 124.68/39.81 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.81 active(square(X)) -> mark(times(X, X)) 124.68/39.81 mark(from(X)) -> active(from(mark(X))) 124.68/39.81 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.81 mark(s(X)) -> active(s(mark(X))) 124.68/39.81 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.81 mark(0) -> active(0) 124.68/39.81 mark(rnil) -> active(rnil) 124.68/39.81 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.81 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.81 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.81 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.81 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.81 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.81 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.81 mark(square(X)) -> active(square(mark(X))) 124.68/39.81 from(mark(X)) -> from(X) 124.68/39.81 from(active(X)) -> from(X) 124.68/39.81 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.81 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.81 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.81 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.81 s(mark(X)) -> s(X) 124.68/39.81 s(active(X)) -> s(X) 124.68/39.81 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.81 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.81 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.81 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.81 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.81 posrecip(mark(X)) -> posrecip(X) 124.68/39.81 posrecip(active(X)) -> posrecip(X) 124.68/39.81 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.81 negrecip(mark(X)) -> negrecip(X) 124.68/39.81 negrecip(active(X)) -> negrecip(X) 124.68/39.81 pi(mark(X)) -> pi(X) 124.68/39.81 pi(active(X)) -> pi(X) 124.68/39.81 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.81 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.81 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.81 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.81 times(mark(X1), X2) -> times(X1, X2) 124.68/39.81 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.81 times(active(X1), X2) -> times(X1, X2) 124.68/39.81 times(X1, active(X2)) -> times(X1, X2) 124.68/39.81 square(mark(X)) -> square(X) 124.68/39.81 square(active(X)) -> square(X) 124.68/39.81 124.68/39.81 The set Q consists of the following terms: 124.68/39.81 124.68/39.81 active(from(x0)) 124.68/39.81 active(2ndspos(0, x0)) 124.68/39.81 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.81 active(2ndsneg(0, x0)) 124.68/39.81 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.81 active(pi(x0)) 124.68/39.81 active(plus(0, x0)) 124.68/39.81 active(plus(s(x0), x1)) 124.68/39.81 active(times(0, x0)) 124.68/39.81 active(times(s(x0), x1)) 124.68/39.81 active(square(x0)) 124.68/39.81 mark(from(x0)) 124.68/39.81 mark(cons(x0, x1)) 124.68/39.81 mark(s(x0)) 124.68/39.81 mark(2ndspos(x0, x1)) 124.68/39.81 mark(0) 124.68/39.81 mark(rnil) 124.68/39.81 mark(rcons(x0, x1)) 124.68/39.81 mark(posrecip(x0)) 124.68/39.81 mark(2ndsneg(x0, x1)) 124.68/39.81 mark(negrecip(x0)) 124.68/39.81 mark(pi(x0)) 124.68/39.81 mark(plus(x0, x1)) 124.68/39.81 mark(times(x0, x1)) 124.68/39.81 mark(square(x0)) 124.68/39.81 from(mark(x0)) 124.68/39.81 from(active(x0)) 124.68/39.81 cons(mark(x0), x1) 124.68/39.81 cons(x0, mark(x1)) 124.68/39.81 cons(active(x0), x1) 124.68/39.81 cons(x0, active(x1)) 124.68/39.81 s(mark(x0)) 124.68/39.81 s(active(x0)) 124.68/39.81 2ndspos(mark(x0), x1) 124.68/39.81 2ndspos(x0, mark(x1)) 124.68/39.81 2ndspos(active(x0), x1) 124.68/39.81 2ndspos(x0, active(x1)) 124.68/39.81 rcons(mark(x0), x1) 124.68/39.81 rcons(x0, mark(x1)) 124.68/39.81 rcons(active(x0), x1) 124.68/39.81 rcons(x0, active(x1)) 124.68/39.81 posrecip(mark(x0)) 124.68/39.81 posrecip(active(x0)) 124.68/39.81 2ndsneg(mark(x0), x1) 124.68/39.81 2ndsneg(x0, mark(x1)) 124.68/39.81 2ndsneg(active(x0), x1) 124.68/39.81 2ndsneg(x0, active(x1)) 124.68/39.81 negrecip(mark(x0)) 124.68/39.81 negrecip(active(x0)) 124.68/39.81 pi(mark(x0)) 124.68/39.81 pi(active(x0)) 124.68/39.81 plus(mark(x0), x1) 124.68/39.81 plus(x0, mark(x1)) 124.68/39.81 plus(active(x0), x1) 124.68/39.81 plus(x0, active(x1)) 124.68/39.81 times(mark(x0), x1) 124.68/39.81 times(x0, mark(x1)) 124.68/39.81 times(active(x0), x1) 124.68/39.81 times(x0, active(x1)) 124.68/39.81 square(mark(x0)) 124.68/39.81 square(active(x0)) 124.68/39.81 124.68/39.81 We have to consider all minimal (P,Q,R)-chains. 124.68/39.81 ---------------------------------------- 124.68/39.81 124.68/39.81 (92) QDPQMonotonicMRRProof (EQUIVALENT) 124.68/39.81 By using the Q-monotonic rule removal processor with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented such that it always occurs at a strongly monotonic position in a (P,Q,R)-chain. 124.68/39.81 124.68/39.81 Strictly oriented dependency pairs: 124.68/39.81 124.68/39.81 MARK(rcons(X1, X2)) -> ACTIVE(rcons(mark(X1), mark(X2))) 124.68/39.81 124.68/39.81 124.68/39.81 Used ordering: Polynomial interpretation [POLO]: 124.68/39.81 124.68/39.81 POL(0) = 0 124.68/39.81 POL(2ndsneg(x_1, x_2)) = 1 124.68/39.81 POL(2ndspos(x_1, x_2)) = 1 124.68/39.81 POL(ACTIVE(x_1)) = x_1 124.68/39.81 POL(MARK(x_1)) = 1 124.68/39.81 POL(active(x_1)) = 2*x_1 124.68/39.81 POL(cons(x_1, x_2)) = 1 124.68/39.81 POL(from(x_1)) = 1 124.68/39.81 POL(mark(x_1)) = 2 124.68/39.81 POL(negrecip(x_1)) = 1 124.68/39.81 POL(pi(x_1)) = 1 124.68/39.81 POL(plus(x_1, x_2)) = 1 124.68/39.81 POL(posrecip(x_1)) = 0 124.68/39.81 POL(rcons(x_1, x_2)) = 0 124.68/39.81 POL(rnil) = 0 124.68/39.81 POL(s(x_1)) = 1 124.68/39.81 POL(square(x_1)) = 1 124.68/39.81 POL(times(x_1, x_2)) = 1 124.68/39.81 124.68/39.81 124.68/39.81 ---------------------------------------- 124.68/39.81 124.68/39.81 (93) 124.68/39.81 Obligation: 124.68/39.81 Q DP problem: 124.68/39.81 The TRS P consists of the following rules: 124.68/39.81 124.68/39.81 MARK(cons(X1, X2)) -> ACTIVE(cons(mark(X1), X2)) 124.68/39.81 ACTIVE(from(X)) -> MARK(cons(X, from(s(X)))) 124.68/39.81 MARK(cons(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(from(X)) -> ACTIVE(from(mark(X))) 124.68/39.81 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.81 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.81 MARK(rcons(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(from(X)) -> MARK(X) 124.68/39.81 MARK(s(X)) -> ACTIVE(s(mark(X))) 124.68/39.81 ACTIVE(pi(X)) -> MARK(2ndspos(X, from(0))) 124.68/39.81 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.68/39.81 ACTIVE(plus(0, Y)) -> MARK(Y) 124.68/39.81 MARK(s(X)) -> MARK(X) 124.68/39.81 MARK(2ndspos(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(2ndspos(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(rcons(X1, X2)) -> MARK(X2) 124.68/39.81 ACTIVE(plus(s(X), Y)) -> MARK(s(plus(X, Y))) 124.68/39.81 ACTIVE(times(s(X), Y)) -> MARK(plus(Y, times(X, Y))) 124.68/39.81 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 124.68/39.81 ACTIVE(square(X)) -> MARK(times(X, X)) 124.68/39.81 MARK(times(X1, X2)) -> ACTIVE(times(mark(X1), mark(X2))) 124.68/39.81 MARK(times(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(posrecip(X)) -> MARK(X) 124.68/39.81 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.68/39.81 MARK(2ndsneg(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(2ndsneg(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(negrecip(X)) -> ACTIVE(negrecip(mark(X))) 124.68/39.81 MARK(negrecip(X)) -> MARK(X) 124.68/39.81 MARK(pi(X)) -> ACTIVE(pi(mark(X))) 124.68/39.81 MARK(pi(X)) -> MARK(X) 124.68/39.81 MARK(plus(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(plus(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(times(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(square(X)) -> ACTIVE(square(mark(X))) 124.68/39.81 MARK(square(X)) -> MARK(X) 124.68/39.81 124.68/39.81 The TRS R consists of the following rules: 124.68/39.81 124.68/39.81 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.81 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.81 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.81 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.81 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.81 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.81 active(plus(0, Y)) -> mark(Y) 124.68/39.81 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.81 active(times(0, Y)) -> mark(0) 124.68/39.81 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.81 active(square(X)) -> mark(times(X, X)) 124.68/39.81 mark(from(X)) -> active(from(mark(X))) 124.68/39.81 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.81 mark(s(X)) -> active(s(mark(X))) 124.68/39.81 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.81 mark(0) -> active(0) 124.68/39.81 mark(rnil) -> active(rnil) 124.68/39.81 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.81 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.81 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.81 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.81 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.81 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.81 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.81 mark(square(X)) -> active(square(mark(X))) 124.68/39.81 from(mark(X)) -> from(X) 124.68/39.81 from(active(X)) -> from(X) 124.68/39.81 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.81 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.81 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.81 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.81 s(mark(X)) -> s(X) 124.68/39.81 s(active(X)) -> s(X) 124.68/39.81 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.81 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.81 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.81 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.81 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.81 posrecip(mark(X)) -> posrecip(X) 124.68/39.81 posrecip(active(X)) -> posrecip(X) 124.68/39.81 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.81 negrecip(mark(X)) -> negrecip(X) 124.68/39.81 negrecip(active(X)) -> negrecip(X) 124.68/39.81 pi(mark(X)) -> pi(X) 124.68/39.81 pi(active(X)) -> pi(X) 124.68/39.81 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.81 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.81 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.81 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.81 times(mark(X1), X2) -> times(X1, X2) 124.68/39.81 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.81 times(active(X1), X2) -> times(X1, X2) 124.68/39.81 times(X1, active(X2)) -> times(X1, X2) 124.68/39.81 square(mark(X)) -> square(X) 124.68/39.81 square(active(X)) -> square(X) 124.68/39.81 124.68/39.81 The set Q consists of the following terms: 124.68/39.81 124.68/39.81 active(from(x0)) 124.68/39.81 active(2ndspos(0, x0)) 124.68/39.81 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.81 active(2ndsneg(0, x0)) 124.68/39.81 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.81 active(pi(x0)) 124.68/39.81 active(plus(0, x0)) 124.68/39.81 active(plus(s(x0), x1)) 124.68/39.81 active(times(0, x0)) 124.68/39.81 active(times(s(x0), x1)) 124.68/39.81 active(square(x0)) 124.68/39.81 mark(from(x0)) 124.68/39.81 mark(cons(x0, x1)) 124.68/39.81 mark(s(x0)) 124.68/39.81 mark(2ndspos(x0, x1)) 124.68/39.81 mark(0) 124.68/39.81 mark(rnil) 124.68/39.81 mark(rcons(x0, x1)) 124.68/39.81 mark(posrecip(x0)) 124.68/39.81 mark(2ndsneg(x0, x1)) 124.68/39.81 mark(negrecip(x0)) 124.68/39.81 mark(pi(x0)) 124.68/39.81 mark(plus(x0, x1)) 124.68/39.81 mark(times(x0, x1)) 124.68/39.81 mark(square(x0)) 124.68/39.81 from(mark(x0)) 124.68/39.81 from(active(x0)) 124.68/39.81 cons(mark(x0), x1) 124.68/39.81 cons(x0, mark(x1)) 124.68/39.81 cons(active(x0), x1) 124.68/39.81 cons(x0, active(x1)) 124.68/39.81 s(mark(x0)) 124.68/39.81 s(active(x0)) 124.68/39.81 2ndspos(mark(x0), x1) 124.68/39.81 2ndspos(x0, mark(x1)) 124.68/39.81 2ndspos(active(x0), x1) 124.68/39.81 2ndspos(x0, active(x1)) 124.68/39.81 rcons(mark(x0), x1) 124.68/39.81 rcons(x0, mark(x1)) 124.68/39.81 rcons(active(x0), x1) 124.68/39.81 rcons(x0, active(x1)) 124.68/39.81 posrecip(mark(x0)) 124.68/39.81 posrecip(active(x0)) 124.68/39.81 2ndsneg(mark(x0), x1) 124.68/39.81 2ndsneg(x0, mark(x1)) 124.68/39.81 2ndsneg(active(x0), x1) 124.68/39.81 2ndsneg(x0, active(x1)) 124.68/39.81 negrecip(mark(x0)) 124.68/39.81 negrecip(active(x0)) 124.68/39.81 pi(mark(x0)) 124.68/39.81 pi(active(x0)) 124.68/39.81 plus(mark(x0), x1) 124.68/39.81 plus(x0, mark(x1)) 124.68/39.81 plus(active(x0), x1) 124.68/39.81 plus(x0, active(x1)) 124.68/39.81 times(mark(x0), x1) 124.68/39.81 times(x0, mark(x1)) 124.68/39.81 times(active(x0), x1) 124.68/39.81 times(x0, active(x1)) 124.68/39.81 square(mark(x0)) 124.68/39.81 square(active(x0)) 124.68/39.81 124.68/39.81 We have to consider all minimal (P,Q,R)-chains. 124.68/39.81 ---------------------------------------- 124.68/39.81 124.68/39.81 (94) QDPQMonotonicMRRProof (EQUIVALENT) 124.68/39.81 By using the Q-monotonic rule removal processor with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented such that it always occurs at a strongly monotonic position in a (P,Q,R)-chain. 124.68/39.81 124.68/39.81 Strictly oriented dependency pairs: 124.68/39.81 124.68/39.81 MARK(cons(X1, X2)) -> ACTIVE(cons(mark(X1), X2)) 124.68/39.81 124.68/39.81 124.68/39.81 Used ordering: Polynomial interpretation [POLO]: 124.68/39.81 124.68/39.81 POL(0) = 0 124.68/39.81 POL(2ndsneg(x_1, x_2)) = 1 124.68/39.81 POL(2ndspos(x_1, x_2)) = 1 124.68/39.81 POL(ACTIVE(x_1)) = x_1 124.68/39.81 POL(MARK(x_1)) = 1 124.68/39.81 POL(active(x_1)) = 2*x_1 124.68/39.81 POL(cons(x_1, x_2)) = 0 124.68/39.81 POL(from(x_1)) = 1 124.68/39.81 POL(mark(x_1)) = 2 124.68/39.81 POL(negrecip(x_1)) = 1 124.68/39.81 POL(pi(x_1)) = 1 124.68/39.81 POL(plus(x_1, x_2)) = 1 124.68/39.81 POL(posrecip(x_1)) = 0 124.68/39.81 POL(rcons(x_1, x_2)) = 0 124.68/39.81 POL(rnil) = 0 124.68/39.81 POL(s(x_1)) = 1 124.68/39.81 POL(square(x_1)) = 1 124.68/39.81 POL(times(x_1, x_2)) = 1 124.68/39.81 124.68/39.81 124.68/39.81 ---------------------------------------- 124.68/39.81 124.68/39.81 (95) 124.68/39.81 Obligation: 124.68/39.81 Q DP problem: 124.68/39.81 The TRS P consists of the following rules: 124.68/39.81 124.68/39.81 ACTIVE(from(X)) -> MARK(cons(X, from(s(X)))) 124.68/39.81 MARK(cons(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(from(X)) -> ACTIVE(from(mark(X))) 124.68/39.81 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.81 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.81 MARK(rcons(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(from(X)) -> MARK(X) 124.68/39.81 MARK(s(X)) -> ACTIVE(s(mark(X))) 124.68/39.81 ACTIVE(pi(X)) -> MARK(2ndspos(X, from(0))) 124.68/39.81 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.68/39.81 ACTIVE(plus(0, Y)) -> MARK(Y) 124.68/39.81 MARK(s(X)) -> MARK(X) 124.68/39.81 MARK(2ndspos(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(2ndspos(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(rcons(X1, X2)) -> MARK(X2) 124.68/39.81 ACTIVE(plus(s(X), Y)) -> MARK(s(plus(X, Y))) 124.68/39.81 ACTIVE(times(s(X), Y)) -> MARK(plus(Y, times(X, Y))) 124.68/39.81 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 124.68/39.81 ACTIVE(square(X)) -> MARK(times(X, X)) 124.68/39.81 MARK(times(X1, X2)) -> ACTIVE(times(mark(X1), mark(X2))) 124.68/39.81 MARK(times(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(posrecip(X)) -> MARK(X) 124.68/39.81 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.68/39.81 MARK(2ndsneg(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(2ndsneg(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(negrecip(X)) -> ACTIVE(negrecip(mark(X))) 124.68/39.81 MARK(negrecip(X)) -> MARK(X) 124.68/39.81 MARK(pi(X)) -> ACTIVE(pi(mark(X))) 124.68/39.81 MARK(pi(X)) -> MARK(X) 124.68/39.81 MARK(plus(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(plus(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(times(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(square(X)) -> ACTIVE(square(mark(X))) 124.68/39.81 MARK(square(X)) -> MARK(X) 124.68/39.81 124.68/39.81 The TRS R consists of the following rules: 124.68/39.81 124.68/39.81 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.81 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.81 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.81 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.81 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.81 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.81 active(plus(0, Y)) -> mark(Y) 124.68/39.81 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.81 active(times(0, Y)) -> mark(0) 124.68/39.81 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.81 active(square(X)) -> mark(times(X, X)) 124.68/39.81 mark(from(X)) -> active(from(mark(X))) 124.68/39.81 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.81 mark(s(X)) -> active(s(mark(X))) 124.68/39.81 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.81 mark(0) -> active(0) 124.68/39.81 mark(rnil) -> active(rnil) 124.68/39.81 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.81 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.81 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.81 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.81 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.81 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.81 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.81 mark(square(X)) -> active(square(mark(X))) 124.68/39.81 from(mark(X)) -> from(X) 124.68/39.81 from(active(X)) -> from(X) 124.68/39.81 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.81 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.81 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.81 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.81 s(mark(X)) -> s(X) 124.68/39.81 s(active(X)) -> s(X) 124.68/39.81 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.81 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.81 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.81 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.81 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.81 posrecip(mark(X)) -> posrecip(X) 124.68/39.81 posrecip(active(X)) -> posrecip(X) 124.68/39.81 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.81 negrecip(mark(X)) -> negrecip(X) 124.68/39.81 negrecip(active(X)) -> negrecip(X) 124.68/39.81 pi(mark(X)) -> pi(X) 124.68/39.81 pi(active(X)) -> pi(X) 124.68/39.81 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.81 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.81 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.81 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.81 times(mark(X1), X2) -> times(X1, X2) 124.68/39.81 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.81 times(active(X1), X2) -> times(X1, X2) 124.68/39.81 times(X1, active(X2)) -> times(X1, X2) 124.68/39.81 square(mark(X)) -> square(X) 124.68/39.81 square(active(X)) -> square(X) 124.68/39.81 124.68/39.81 The set Q consists of the following terms: 124.68/39.81 124.68/39.81 active(from(x0)) 124.68/39.81 active(2ndspos(0, x0)) 124.68/39.81 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.81 active(2ndsneg(0, x0)) 124.68/39.81 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.81 active(pi(x0)) 124.68/39.81 active(plus(0, x0)) 124.68/39.81 active(plus(s(x0), x1)) 124.68/39.81 active(times(0, x0)) 124.68/39.81 active(times(s(x0), x1)) 124.68/39.81 active(square(x0)) 124.68/39.81 mark(from(x0)) 124.68/39.81 mark(cons(x0, x1)) 124.68/39.81 mark(s(x0)) 124.68/39.81 mark(2ndspos(x0, x1)) 124.68/39.81 mark(0) 124.68/39.81 mark(rnil) 124.68/39.81 mark(rcons(x0, x1)) 124.68/39.81 mark(posrecip(x0)) 124.68/39.81 mark(2ndsneg(x0, x1)) 124.68/39.81 mark(negrecip(x0)) 124.68/39.81 mark(pi(x0)) 124.68/39.81 mark(plus(x0, x1)) 124.68/39.81 mark(times(x0, x1)) 124.68/39.81 mark(square(x0)) 124.68/39.81 from(mark(x0)) 124.68/39.81 from(active(x0)) 124.68/39.81 cons(mark(x0), x1) 124.68/39.81 cons(x0, mark(x1)) 124.68/39.81 cons(active(x0), x1) 124.68/39.81 cons(x0, active(x1)) 124.68/39.81 s(mark(x0)) 124.68/39.81 s(active(x0)) 124.68/39.81 2ndspos(mark(x0), x1) 124.68/39.81 2ndspos(x0, mark(x1)) 124.68/39.81 2ndspos(active(x0), x1) 124.68/39.81 2ndspos(x0, active(x1)) 124.68/39.81 rcons(mark(x0), x1) 124.68/39.81 rcons(x0, mark(x1)) 124.68/39.81 rcons(active(x0), x1) 124.68/39.81 rcons(x0, active(x1)) 124.68/39.81 posrecip(mark(x0)) 124.68/39.81 posrecip(active(x0)) 124.68/39.81 2ndsneg(mark(x0), x1) 124.68/39.81 2ndsneg(x0, mark(x1)) 124.68/39.81 2ndsneg(active(x0), x1) 124.68/39.81 2ndsneg(x0, active(x1)) 124.68/39.81 negrecip(mark(x0)) 124.68/39.81 negrecip(active(x0)) 124.68/39.81 pi(mark(x0)) 124.68/39.81 pi(active(x0)) 124.68/39.81 plus(mark(x0), x1) 124.68/39.81 plus(x0, mark(x1)) 124.68/39.81 plus(active(x0), x1) 124.68/39.81 plus(x0, active(x1)) 124.68/39.81 times(mark(x0), x1) 124.68/39.81 times(x0, mark(x1)) 124.68/39.81 times(active(x0), x1) 124.68/39.81 times(x0, active(x1)) 124.68/39.81 square(mark(x0)) 124.68/39.81 square(active(x0)) 124.68/39.81 124.68/39.81 We have to consider all minimal (P,Q,R)-chains. 124.68/39.81 ---------------------------------------- 124.68/39.81 124.68/39.81 (96) QDPQMonotonicMRRProof (EQUIVALENT) 124.68/39.81 By using the Q-monotonic rule removal processor with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented such that it always occurs at a strongly monotonic position in a (P,Q,R)-chain. 124.68/39.81 124.68/39.81 Strictly oriented dependency pairs: 124.68/39.81 124.68/39.81 MARK(negrecip(X)) -> ACTIVE(negrecip(mark(X))) 124.68/39.81 124.68/39.81 124.68/39.81 Used ordering: Polynomial interpretation [POLO]: 124.68/39.81 124.68/39.81 POL(0) = 0 124.68/39.81 POL(2ndsneg(x_1, x_2)) = 1 124.68/39.81 POL(2ndspos(x_1, x_2)) = 1 124.68/39.81 POL(ACTIVE(x_1)) = x_1 124.68/39.81 POL(MARK(x_1)) = 1 124.68/39.81 POL(active(x_1)) = 0 124.68/39.81 POL(cons(x_1, x_2)) = 0 124.68/39.81 POL(from(x_1)) = 1 124.68/39.81 POL(mark(x_1)) = 0 124.68/39.81 POL(negrecip(x_1)) = 0 124.68/39.81 POL(pi(x_1)) = 1 124.68/39.81 POL(plus(x_1, x_2)) = 1 124.68/39.81 POL(posrecip(x_1)) = 0 124.68/39.81 POL(rcons(x_1, x_2)) = 0 124.68/39.81 POL(rnil) = 0 124.68/39.81 POL(s(x_1)) = 1 124.68/39.81 POL(square(x_1)) = 1 124.68/39.81 POL(times(x_1, x_2)) = 1 124.68/39.81 124.68/39.81 124.68/39.81 ---------------------------------------- 124.68/39.81 124.68/39.81 (97) 124.68/39.81 Obligation: 124.68/39.81 Q DP problem: 124.68/39.81 The TRS P consists of the following rules: 124.68/39.81 124.68/39.81 ACTIVE(from(X)) -> MARK(cons(X, from(s(X)))) 124.68/39.81 MARK(cons(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(from(X)) -> ACTIVE(from(mark(X))) 124.68/39.81 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.81 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.81 MARK(rcons(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(from(X)) -> MARK(X) 124.68/39.81 MARK(s(X)) -> ACTIVE(s(mark(X))) 124.68/39.81 ACTIVE(pi(X)) -> MARK(2ndspos(X, from(0))) 124.68/39.81 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.68/39.81 ACTIVE(plus(0, Y)) -> MARK(Y) 124.68/39.81 MARK(s(X)) -> MARK(X) 124.68/39.81 MARK(2ndspos(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(2ndspos(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(rcons(X1, X2)) -> MARK(X2) 124.68/39.81 ACTIVE(plus(s(X), Y)) -> MARK(s(plus(X, Y))) 124.68/39.81 ACTIVE(times(s(X), Y)) -> MARK(plus(Y, times(X, Y))) 124.68/39.81 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 124.68/39.81 ACTIVE(square(X)) -> MARK(times(X, X)) 124.68/39.81 MARK(times(X1, X2)) -> ACTIVE(times(mark(X1), mark(X2))) 124.68/39.81 MARK(times(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(posrecip(X)) -> MARK(X) 124.68/39.81 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.68/39.81 MARK(2ndsneg(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(2ndsneg(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(negrecip(X)) -> MARK(X) 124.68/39.81 MARK(pi(X)) -> ACTIVE(pi(mark(X))) 124.68/39.81 MARK(pi(X)) -> MARK(X) 124.68/39.81 MARK(plus(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(plus(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(times(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(square(X)) -> ACTIVE(square(mark(X))) 124.68/39.81 MARK(square(X)) -> MARK(X) 124.68/39.81 124.68/39.81 The TRS R consists of the following rules: 124.68/39.81 124.68/39.81 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.81 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.81 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.81 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.81 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.81 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.81 active(plus(0, Y)) -> mark(Y) 124.68/39.81 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.81 active(times(0, Y)) -> mark(0) 124.68/39.81 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.81 active(square(X)) -> mark(times(X, X)) 124.68/39.81 mark(from(X)) -> active(from(mark(X))) 124.68/39.81 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.81 mark(s(X)) -> active(s(mark(X))) 124.68/39.81 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.81 mark(0) -> active(0) 124.68/39.81 mark(rnil) -> active(rnil) 124.68/39.81 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.81 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.81 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.81 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.81 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.81 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.81 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.81 mark(square(X)) -> active(square(mark(X))) 124.68/39.81 from(mark(X)) -> from(X) 124.68/39.81 from(active(X)) -> from(X) 124.68/39.81 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.81 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.81 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.81 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.81 s(mark(X)) -> s(X) 124.68/39.81 s(active(X)) -> s(X) 124.68/39.81 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.81 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.81 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.81 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.81 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.81 posrecip(mark(X)) -> posrecip(X) 124.68/39.81 posrecip(active(X)) -> posrecip(X) 124.68/39.81 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.81 negrecip(mark(X)) -> negrecip(X) 124.68/39.81 negrecip(active(X)) -> negrecip(X) 124.68/39.81 pi(mark(X)) -> pi(X) 124.68/39.81 pi(active(X)) -> pi(X) 124.68/39.81 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.81 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.81 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.81 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.81 times(mark(X1), X2) -> times(X1, X2) 124.68/39.81 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.81 times(active(X1), X2) -> times(X1, X2) 124.68/39.81 times(X1, active(X2)) -> times(X1, X2) 124.68/39.81 square(mark(X)) -> square(X) 124.68/39.81 square(active(X)) -> square(X) 124.68/39.81 124.68/39.81 The set Q consists of the following terms: 124.68/39.81 124.68/39.81 active(from(x0)) 124.68/39.81 active(2ndspos(0, x0)) 124.68/39.81 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.81 active(2ndsneg(0, x0)) 124.68/39.81 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.81 active(pi(x0)) 124.68/39.81 active(plus(0, x0)) 124.68/39.81 active(plus(s(x0), x1)) 124.68/39.81 active(times(0, x0)) 124.68/39.81 active(times(s(x0), x1)) 124.68/39.81 active(square(x0)) 124.68/39.81 mark(from(x0)) 124.68/39.81 mark(cons(x0, x1)) 124.68/39.81 mark(s(x0)) 124.68/39.81 mark(2ndspos(x0, x1)) 124.68/39.81 mark(0) 124.68/39.81 mark(rnil) 124.68/39.81 mark(rcons(x0, x1)) 124.68/39.81 mark(posrecip(x0)) 124.68/39.81 mark(2ndsneg(x0, x1)) 124.68/39.81 mark(negrecip(x0)) 124.68/39.81 mark(pi(x0)) 124.68/39.81 mark(plus(x0, x1)) 124.68/39.81 mark(times(x0, x1)) 124.68/39.81 mark(square(x0)) 124.68/39.81 from(mark(x0)) 124.68/39.81 from(active(x0)) 124.68/39.81 cons(mark(x0), x1) 124.68/39.81 cons(x0, mark(x1)) 124.68/39.81 cons(active(x0), x1) 124.68/39.81 cons(x0, active(x1)) 124.68/39.81 s(mark(x0)) 124.68/39.81 s(active(x0)) 124.68/39.81 2ndspos(mark(x0), x1) 124.68/39.81 2ndspos(x0, mark(x1)) 124.68/39.81 2ndspos(active(x0), x1) 124.68/39.81 2ndspos(x0, active(x1)) 124.68/39.81 rcons(mark(x0), x1) 124.68/39.81 rcons(x0, mark(x1)) 124.68/39.81 rcons(active(x0), x1) 124.68/39.81 rcons(x0, active(x1)) 124.68/39.81 posrecip(mark(x0)) 124.68/39.81 posrecip(active(x0)) 124.68/39.81 2ndsneg(mark(x0), x1) 124.68/39.81 2ndsneg(x0, mark(x1)) 124.68/39.81 2ndsneg(active(x0), x1) 124.68/39.81 2ndsneg(x0, active(x1)) 124.68/39.81 negrecip(mark(x0)) 124.68/39.81 negrecip(active(x0)) 124.68/39.81 pi(mark(x0)) 124.68/39.81 pi(active(x0)) 124.68/39.81 plus(mark(x0), x1) 124.68/39.81 plus(x0, mark(x1)) 124.68/39.81 plus(active(x0), x1) 124.68/39.81 plus(x0, active(x1)) 124.68/39.81 times(mark(x0), x1) 124.68/39.81 times(x0, mark(x1)) 124.68/39.81 times(active(x0), x1) 124.68/39.81 times(x0, active(x1)) 124.68/39.81 square(mark(x0)) 124.68/39.81 square(active(x0)) 124.68/39.81 124.68/39.81 We have to consider all minimal (P,Q,R)-chains. 124.68/39.81 ---------------------------------------- 124.68/39.81 124.68/39.81 (98) QDPQMonotonicMRRProof (EQUIVALENT) 124.68/39.81 By using the Q-monotonic rule removal processor with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented such that it always occurs at a strongly monotonic position in a (P,Q,R)-chain. 124.68/39.81 124.68/39.81 Strictly oriented dependency pairs: 124.68/39.81 124.68/39.81 MARK(s(X)) -> ACTIVE(s(mark(X))) 124.68/39.81 124.68/39.81 124.68/39.81 Used ordering: Polynomial interpretation [POLO]: 124.68/39.81 124.68/39.81 POL(0) = 0 124.68/39.81 POL(2ndsneg(x_1, x_2)) = 1 124.68/39.81 POL(2ndspos(x_1, x_2)) = 1 124.68/39.81 POL(ACTIVE(x_1)) = x_1 124.68/39.81 POL(MARK(x_1)) = 1 124.68/39.81 POL(active(x_1)) = 2*x_1 124.68/39.81 POL(cons(x_1, x_2)) = 0 124.68/39.81 POL(from(x_1)) = 1 124.68/39.81 POL(mark(x_1)) = 2 124.68/39.81 POL(negrecip(x_1)) = 0 124.68/39.81 POL(pi(x_1)) = 1 124.68/39.81 POL(plus(x_1, x_2)) = 1 124.68/39.81 POL(posrecip(x_1)) = 0 124.68/39.81 POL(rcons(x_1, x_2)) = 0 124.68/39.81 POL(rnil) = 0 124.68/39.81 POL(s(x_1)) = 0 124.68/39.81 POL(square(x_1)) = 1 124.68/39.81 POL(times(x_1, x_2)) = 1 124.68/39.81 124.68/39.81 124.68/39.81 ---------------------------------------- 124.68/39.81 124.68/39.81 (99) 124.68/39.81 Obligation: 124.68/39.81 Q DP problem: 124.68/39.81 The TRS P consists of the following rules: 124.68/39.81 124.68/39.81 ACTIVE(from(X)) -> MARK(cons(X, from(s(X)))) 124.68/39.81 MARK(cons(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(from(X)) -> ACTIVE(from(mark(X))) 124.68/39.81 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.81 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.81 MARK(rcons(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(from(X)) -> MARK(X) 124.68/39.81 ACTIVE(pi(X)) -> MARK(2ndspos(X, from(0))) 124.68/39.81 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.68/39.81 ACTIVE(plus(0, Y)) -> MARK(Y) 124.68/39.81 MARK(s(X)) -> MARK(X) 124.68/39.81 MARK(2ndspos(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(2ndspos(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(rcons(X1, X2)) -> MARK(X2) 124.68/39.81 ACTIVE(plus(s(X), Y)) -> MARK(s(plus(X, Y))) 124.68/39.81 ACTIVE(times(s(X), Y)) -> MARK(plus(Y, times(X, Y))) 124.68/39.81 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 124.68/39.81 ACTIVE(square(X)) -> MARK(times(X, X)) 124.68/39.81 MARK(times(X1, X2)) -> ACTIVE(times(mark(X1), mark(X2))) 124.68/39.81 MARK(times(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(posrecip(X)) -> MARK(X) 124.68/39.81 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.68/39.81 MARK(2ndsneg(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(2ndsneg(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(negrecip(X)) -> MARK(X) 124.68/39.81 MARK(pi(X)) -> ACTIVE(pi(mark(X))) 124.68/39.81 MARK(pi(X)) -> MARK(X) 124.68/39.81 MARK(plus(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(plus(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(times(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(square(X)) -> ACTIVE(square(mark(X))) 124.68/39.81 MARK(square(X)) -> MARK(X) 124.68/39.81 124.68/39.81 The TRS R consists of the following rules: 124.68/39.81 124.68/39.81 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.81 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.81 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.81 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.81 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.81 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.81 active(plus(0, Y)) -> mark(Y) 124.68/39.81 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.81 active(times(0, Y)) -> mark(0) 124.68/39.81 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.81 active(square(X)) -> mark(times(X, X)) 124.68/39.81 mark(from(X)) -> active(from(mark(X))) 124.68/39.81 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.81 mark(s(X)) -> active(s(mark(X))) 124.68/39.81 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.81 mark(0) -> active(0) 124.68/39.81 mark(rnil) -> active(rnil) 124.68/39.81 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.81 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.81 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.81 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.81 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.81 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.81 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.81 mark(square(X)) -> active(square(mark(X))) 124.68/39.81 from(mark(X)) -> from(X) 124.68/39.81 from(active(X)) -> from(X) 124.68/39.81 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.81 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.81 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.81 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.81 s(mark(X)) -> s(X) 124.68/39.81 s(active(X)) -> s(X) 124.68/39.81 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.81 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.81 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.81 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.81 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.81 posrecip(mark(X)) -> posrecip(X) 124.68/39.81 posrecip(active(X)) -> posrecip(X) 124.68/39.81 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.81 negrecip(mark(X)) -> negrecip(X) 124.68/39.81 negrecip(active(X)) -> negrecip(X) 124.68/39.81 pi(mark(X)) -> pi(X) 124.68/39.81 pi(active(X)) -> pi(X) 124.68/39.81 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.81 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.81 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.81 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.81 times(mark(X1), X2) -> times(X1, X2) 124.68/39.81 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.81 times(active(X1), X2) -> times(X1, X2) 124.68/39.81 times(X1, active(X2)) -> times(X1, X2) 124.68/39.81 square(mark(X)) -> square(X) 124.68/39.81 square(active(X)) -> square(X) 124.68/39.81 124.68/39.81 The set Q consists of the following terms: 124.68/39.81 124.68/39.81 active(from(x0)) 124.68/39.81 active(2ndspos(0, x0)) 124.68/39.81 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.81 active(2ndsneg(0, x0)) 124.68/39.81 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.81 active(pi(x0)) 124.68/39.81 active(plus(0, x0)) 124.68/39.81 active(plus(s(x0), x1)) 124.68/39.81 active(times(0, x0)) 124.68/39.81 active(times(s(x0), x1)) 124.68/39.81 active(square(x0)) 124.68/39.81 mark(from(x0)) 124.68/39.81 mark(cons(x0, x1)) 124.68/39.81 mark(s(x0)) 124.68/39.81 mark(2ndspos(x0, x1)) 124.68/39.81 mark(0) 124.68/39.81 mark(rnil) 124.68/39.81 mark(rcons(x0, x1)) 124.68/39.81 mark(posrecip(x0)) 124.68/39.81 mark(2ndsneg(x0, x1)) 124.68/39.81 mark(negrecip(x0)) 124.68/39.81 mark(pi(x0)) 124.68/39.81 mark(plus(x0, x1)) 124.68/39.81 mark(times(x0, x1)) 124.68/39.81 mark(square(x0)) 124.68/39.81 from(mark(x0)) 124.68/39.81 from(active(x0)) 124.68/39.81 cons(mark(x0), x1) 124.68/39.81 cons(x0, mark(x1)) 124.68/39.81 cons(active(x0), x1) 124.68/39.81 cons(x0, active(x1)) 124.68/39.81 s(mark(x0)) 124.68/39.81 s(active(x0)) 124.68/39.81 2ndspos(mark(x0), x1) 124.68/39.81 2ndspos(x0, mark(x1)) 124.68/39.81 2ndspos(active(x0), x1) 124.68/39.81 2ndspos(x0, active(x1)) 124.68/39.81 rcons(mark(x0), x1) 124.68/39.81 rcons(x0, mark(x1)) 124.68/39.81 rcons(active(x0), x1) 124.68/39.81 rcons(x0, active(x1)) 124.68/39.81 posrecip(mark(x0)) 124.68/39.81 posrecip(active(x0)) 124.68/39.81 2ndsneg(mark(x0), x1) 124.68/39.81 2ndsneg(x0, mark(x1)) 124.68/39.81 2ndsneg(active(x0), x1) 124.68/39.81 2ndsneg(x0, active(x1)) 124.68/39.81 negrecip(mark(x0)) 124.68/39.81 negrecip(active(x0)) 124.68/39.81 pi(mark(x0)) 124.68/39.81 pi(active(x0)) 124.68/39.81 plus(mark(x0), x1) 124.68/39.81 plus(x0, mark(x1)) 124.68/39.81 plus(active(x0), x1) 124.68/39.81 plus(x0, active(x1)) 124.68/39.81 times(mark(x0), x1) 124.68/39.81 times(x0, mark(x1)) 124.68/39.81 times(active(x0), x1) 124.68/39.81 times(x0, active(x1)) 124.68/39.81 square(mark(x0)) 124.68/39.81 square(active(x0)) 124.68/39.81 124.68/39.81 We have to consider all minimal (P,Q,R)-chains. 124.68/39.81 ---------------------------------------- 124.68/39.81 124.68/39.81 (100) QDPOrderProof (EQUIVALENT) 124.68/39.81 We use the reduction pair processor [LPAR04,JAR06]. 124.68/39.81 124.68/39.81 124.68/39.81 The following pairs can be oriented strictly and are deleted. 124.68/39.81 124.68/39.81 MARK(square(X)) -> MARK(X) 124.68/39.81 The remaining pairs can at least be oriented weakly. 124.68/39.81 Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(ACTIVE(x_1)) = [[0A]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(from(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(MARK(x_1)) = [[0A]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(cons(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(s(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(mark(x_1)) = [[0A]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(2ndspos(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(rcons(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(posrecip(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(2ndsneg(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(negrecip(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(pi(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(0) = [[0A]] 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(plus(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(times(x_1, x_2)) = [[1A]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(square(x_1)) = [[1A]] + [[1A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(active(x_1)) = [[0A]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(rnil) = [[0A]] 124.68/39.81 >>> 124.68/39.81 124.68/39.81 124.68/39.81 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 124.68/39.81 124.68/39.81 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.81 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.81 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.81 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.81 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.81 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.81 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.81 active(plus(0, Y)) -> mark(Y) 124.68/39.81 mark(from(X)) -> active(from(mark(X))) 124.68/39.81 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.81 mark(s(X)) -> active(s(mark(X))) 124.68/39.81 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.81 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.81 active(square(X)) -> mark(times(X, X)) 124.68/39.81 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.81 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.81 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.81 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.81 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.81 mark(square(X)) -> active(square(mark(X))) 124.68/39.81 mark(0) -> active(0) 124.68/39.81 mark(rnil) -> active(rnil) 124.68/39.81 from(active(X)) -> from(X) 124.68/39.81 from(mark(X)) -> from(X) 124.68/39.81 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.81 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.81 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.81 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.81 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.81 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.81 times(mark(X1), X2) -> times(X1, X2) 124.68/39.81 times(active(X1), X2) -> times(X1, X2) 124.68/39.81 times(X1, active(X2)) -> times(X1, X2) 124.68/39.81 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.81 pi(active(X)) -> pi(X) 124.68/39.81 pi(mark(X)) -> pi(X) 124.68/39.81 square(active(X)) -> square(X) 124.68/39.81 square(mark(X)) -> square(X) 124.68/39.81 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.81 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.81 active(times(0, Y)) -> mark(0) 124.68/39.81 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.81 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.81 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.81 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.81 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.81 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.81 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.81 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.81 s(active(X)) -> s(X) 124.68/39.81 s(mark(X)) -> s(X) 124.68/39.81 posrecip(active(X)) -> posrecip(X) 124.68/39.81 posrecip(mark(X)) -> posrecip(X) 124.68/39.81 negrecip(active(X)) -> negrecip(X) 124.68/39.81 negrecip(mark(X)) -> negrecip(X) 124.68/39.81 124.68/39.81 124.68/39.81 ---------------------------------------- 124.68/39.81 124.68/39.81 (101) 124.68/39.81 Obligation: 124.68/39.81 Q DP problem: 124.68/39.81 The TRS P consists of the following rules: 124.68/39.81 124.68/39.81 ACTIVE(from(X)) -> MARK(cons(X, from(s(X)))) 124.68/39.81 MARK(cons(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(from(X)) -> ACTIVE(from(mark(X))) 124.68/39.81 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.81 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.81 MARK(rcons(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(from(X)) -> MARK(X) 124.68/39.81 ACTIVE(pi(X)) -> MARK(2ndspos(X, from(0))) 124.68/39.81 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.68/39.81 ACTIVE(plus(0, Y)) -> MARK(Y) 124.68/39.81 MARK(s(X)) -> MARK(X) 124.68/39.81 MARK(2ndspos(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(2ndspos(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(rcons(X1, X2)) -> MARK(X2) 124.68/39.81 ACTIVE(plus(s(X), Y)) -> MARK(s(plus(X, Y))) 124.68/39.81 ACTIVE(times(s(X), Y)) -> MARK(plus(Y, times(X, Y))) 124.68/39.81 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 124.68/39.81 ACTIVE(square(X)) -> MARK(times(X, X)) 124.68/39.81 MARK(times(X1, X2)) -> ACTIVE(times(mark(X1), mark(X2))) 124.68/39.81 MARK(times(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(posrecip(X)) -> MARK(X) 124.68/39.81 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.68/39.81 MARK(2ndsneg(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(2ndsneg(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(negrecip(X)) -> MARK(X) 124.68/39.81 MARK(pi(X)) -> ACTIVE(pi(mark(X))) 124.68/39.81 MARK(pi(X)) -> MARK(X) 124.68/39.81 MARK(plus(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(plus(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(times(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(square(X)) -> ACTIVE(square(mark(X))) 124.68/39.81 124.68/39.81 The TRS R consists of the following rules: 124.68/39.81 124.68/39.81 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.81 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.81 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.81 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.81 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.81 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.81 active(plus(0, Y)) -> mark(Y) 124.68/39.81 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.81 active(times(0, Y)) -> mark(0) 124.68/39.81 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.81 active(square(X)) -> mark(times(X, X)) 124.68/39.81 mark(from(X)) -> active(from(mark(X))) 124.68/39.81 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.81 mark(s(X)) -> active(s(mark(X))) 124.68/39.81 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.81 mark(0) -> active(0) 124.68/39.81 mark(rnil) -> active(rnil) 124.68/39.81 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.81 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.81 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.81 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.81 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.81 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.81 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.81 mark(square(X)) -> active(square(mark(X))) 124.68/39.81 from(mark(X)) -> from(X) 124.68/39.81 from(active(X)) -> from(X) 124.68/39.81 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.81 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.81 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.81 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.81 s(mark(X)) -> s(X) 124.68/39.81 s(active(X)) -> s(X) 124.68/39.81 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.81 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.81 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.81 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.81 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.81 posrecip(mark(X)) -> posrecip(X) 124.68/39.81 posrecip(active(X)) -> posrecip(X) 124.68/39.81 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.81 negrecip(mark(X)) -> negrecip(X) 124.68/39.81 negrecip(active(X)) -> negrecip(X) 124.68/39.81 pi(mark(X)) -> pi(X) 124.68/39.81 pi(active(X)) -> pi(X) 124.68/39.81 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.81 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.81 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.81 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.81 times(mark(X1), X2) -> times(X1, X2) 124.68/39.81 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.81 times(active(X1), X2) -> times(X1, X2) 124.68/39.81 times(X1, active(X2)) -> times(X1, X2) 124.68/39.81 square(mark(X)) -> square(X) 124.68/39.81 square(active(X)) -> square(X) 124.68/39.81 124.68/39.81 The set Q consists of the following terms: 124.68/39.81 124.68/39.81 active(from(x0)) 124.68/39.81 active(2ndspos(0, x0)) 124.68/39.81 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.81 active(2ndsneg(0, x0)) 124.68/39.81 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.81 active(pi(x0)) 124.68/39.81 active(plus(0, x0)) 124.68/39.81 active(plus(s(x0), x1)) 124.68/39.81 active(times(0, x0)) 124.68/39.81 active(times(s(x0), x1)) 124.68/39.81 active(square(x0)) 124.68/39.81 mark(from(x0)) 124.68/39.81 mark(cons(x0, x1)) 124.68/39.81 mark(s(x0)) 124.68/39.81 mark(2ndspos(x0, x1)) 124.68/39.81 mark(0) 124.68/39.81 mark(rnil) 124.68/39.81 mark(rcons(x0, x1)) 124.68/39.81 mark(posrecip(x0)) 124.68/39.81 mark(2ndsneg(x0, x1)) 124.68/39.81 mark(negrecip(x0)) 124.68/39.81 mark(pi(x0)) 124.68/39.81 mark(plus(x0, x1)) 124.68/39.81 mark(times(x0, x1)) 124.68/39.81 mark(square(x0)) 124.68/39.81 from(mark(x0)) 124.68/39.81 from(active(x0)) 124.68/39.81 cons(mark(x0), x1) 124.68/39.81 cons(x0, mark(x1)) 124.68/39.81 cons(active(x0), x1) 124.68/39.81 cons(x0, active(x1)) 124.68/39.81 s(mark(x0)) 124.68/39.81 s(active(x0)) 124.68/39.81 2ndspos(mark(x0), x1) 124.68/39.81 2ndspos(x0, mark(x1)) 124.68/39.81 2ndspos(active(x0), x1) 124.68/39.81 2ndspos(x0, active(x1)) 124.68/39.81 rcons(mark(x0), x1) 124.68/39.81 rcons(x0, mark(x1)) 124.68/39.81 rcons(active(x0), x1) 124.68/39.81 rcons(x0, active(x1)) 124.68/39.81 posrecip(mark(x0)) 124.68/39.81 posrecip(active(x0)) 124.68/39.81 2ndsneg(mark(x0), x1) 124.68/39.81 2ndsneg(x0, mark(x1)) 124.68/39.81 2ndsneg(active(x0), x1) 124.68/39.81 2ndsneg(x0, active(x1)) 124.68/39.81 negrecip(mark(x0)) 124.68/39.81 negrecip(active(x0)) 124.68/39.81 pi(mark(x0)) 124.68/39.81 pi(active(x0)) 124.68/39.81 plus(mark(x0), x1) 124.68/39.81 plus(x0, mark(x1)) 124.68/39.81 plus(active(x0), x1) 124.68/39.81 plus(x0, active(x1)) 124.68/39.81 times(mark(x0), x1) 124.68/39.81 times(x0, mark(x1)) 124.68/39.81 times(active(x0), x1) 124.68/39.81 times(x0, active(x1)) 124.68/39.81 square(mark(x0)) 124.68/39.81 square(active(x0)) 124.68/39.81 124.68/39.81 We have to consider all minimal (P,Q,R)-chains. 124.68/39.81 ---------------------------------------- 124.68/39.81 124.68/39.81 (102) QDPOrderProof (EQUIVALENT) 124.68/39.81 We use the reduction pair processor [LPAR04,JAR06]. 124.68/39.81 124.68/39.81 124.68/39.81 The following pairs can be oriented strictly and are deleted. 124.68/39.81 124.68/39.81 MARK(2ndsneg(X1, X2)) -> MARK(X1) 124.68/39.81 The remaining pairs can at least be oriented weakly. 124.68/39.81 Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(ACTIVE(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(from(x_1)) = [[1A]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(MARK(x_1)) = [[1A]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(cons(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(s(x_1)) = [[1A]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(mark(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(2ndspos(x_1, x_2)) = [[-I]] + [[1A]] * x_1 + [[0A]] * x_2 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(rcons(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(posrecip(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(2ndsneg(x_1, x_2)) = [[2A]] + [[1A]] * x_1 + [[0A]] * x_2 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(negrecip(x_1)) = [[2A]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(pi(x_1)) = [[1A]] + [[1A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(0) = [[0A]] 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(plus(x_1, x_2)) = [[1A]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(times(x_1, x_2)) = [[1A]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(square(x_1)) = [[1A]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(active(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(rnil) = [[0A]] 124.68/39.81 >>> 124.68/39.81 124.68/39.81 124.68/39.81 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 124.68/39.81 124.68/39.81 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.81 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.81 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.81 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.81 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.81 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.81 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.81 active(plus(0, Y)) -> mark(Y) 124.68/39.81 mark(from(X)) -> active(from(mark(X))) 124.68/39.81 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.81 mark(s(X)) -> active(s(mark(X))) 124.68/39.81 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.81 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.81 active(square(X)) -> mark(times(X, X)) 124.68/39.81 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.81 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.81 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.81 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.81 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.81 mark(square(X)) -> active(square(mark(X))) 124.68/39.81 mark(0) -> active(0) 124.68/39.81 mark(rnil) -> active(rnil) 124.68/39.81 from(active(X)) -> from(X) 124.68/39.81 from(mark(X)) -> from(X) 124.68/39.81 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.81 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.81 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.81 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.81 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.81 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.81 times(mark(X1), X2) -> times(X1, X2) 124.68/39.81 times(active(X1), X2) -> times(X1, X2) 124.68/39.81 times(X1, active(X2)) -> times(X1, X2) 124.68/39.81 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.81 pi(active(X)) -> pi(X) 124.68/39.81 pi(mark(X)) -> pi(X) 124.68/39.81 square(active(X)) -> square(X) 124.68/39.81 square(mark(X)) -> square(X) 124.68/39.81 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.81 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.81 active(times(0, Y)) -> mark(0) 124.68/39.81 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.81 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.81 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.81 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.81 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.81 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.81 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.81 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.81 s(active(X)) -> s(X) 124.68/39.81 s(mark(X)) -> s(X) 124.68/39.81 posrecip(active(X)) -> posrecip(X) 124.68/39.81 posrecip(mark(X)) -> posrecip(X) 124.68/39.81 negrecip(active(X)) -> negrecip(X) 124.68/39.81 negrecip(mark(X)) -> negrecip(X) 124.68/39.81 124.68/39.81 124.68/39.81 ---------------------------------------- 124.68/39.81 124.68/39.81 (103) 124.68/39.81 Obligation: 124.68/39.81 Q DP problem: 124.68/39.81 The TRS P consists of the following rules: 124.68/39.81 124.68/39.81 ACTIVE(from(X)) -> MARK(cons(X, from(s(X)))) 124.68/39.81 MARK(cons(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(from(X)) -> ACTIVE(from(mark(X))) 124.68/39.81 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.81 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.81 MARK(rcons(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(from(X)) -> MARK(X) 124.68/39.81 ACTIVE(pi(X)) -> MARK(2ndspos(X, from(0))) 124.68/39.81 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.68/39.81 ACTIVE(plus(0, Y)) -> MARK(Y) 124.68/39.81 MARK(s(X)) -> MARK(X) 124.68/39.81 MARK(2ndspos(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(2ndspos(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(rcons(X1, X2)) -> MARK(X2) 124.68/39.81 ACTIVE(plus(s(X), Y)) -> MARK(s(plus(X, Y))) 124.68/39.81 ACTIVE(times(s(X), Y)) -> MARK(plus(Y, times(X, Y))) 124.68/39.81 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 124.68/39.81 ACTIVE(square(X)) -> MARK(times(X, X)) 124.68/39.81 MARK(times(X1, X2)) -> ACTIVE(times(mark(X1), mark(X2))) 124.68/39.81 MARK(times(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(posrecip(X)) -> MARK(X) 124.68/39.81 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.68/39.81 MARK(2ndsneg(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(negrecip(X)) -> MARK(X) 124.68/39.81 MARK(pi(X)) -> ACTIVE(pi(mark(X))) 124.68/39.81 MARK(pi(X)) -> MARK(X) 124.68/39.81 MARK(plus(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(plus(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(times(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(square(X)) -> ACTIVE(square(mark(X))) 124.68/39.81 124.68/39.81 The TRS R consists of the following rules: 124.68/39.81 124.68/39.81 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.81 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.81 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.81 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.81 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.81 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.81 active(plus(0, Y)) -> mark(Y) 124.68/39.81 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.81 active(times(0, Y)) -> mark(0) 124.68/39.81 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.81 active(square(X)) -> mark(times(X, X)) 124.68/39.81 mark(from(X)) -> active(from(mark(X))) 124.68/39.81 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.81 mark(s(X)) -> active(s(mark(X))) 124.68/39.81 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.81 mark(0) -> active(0) 124.68/39.81 mark(rnil) -> active(rnil) 124.68/39.81 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.81 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.81 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.81 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.81 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.81 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.81 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.81 mark(square(X)) -> active(square(mark(X))) 124.68/39.81 from(mark(X)) -> from(X) 124.68/39.81 from(active(X)) -> from(X) 124.68/39.81 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.81 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.81 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.81 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.81 s(mark(X)) -> s(X) 124.68/39.81 s(active(X)) -> s(X) 124.68/39.81 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.81 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.81 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.81 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.81 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.81 posrecip(mark(X)) -> posrecip(X) 124.68/39.81 posrecip(active(X)) -> posrecip(X) 124.68/39.81 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.81 negrecip(mark(X)) -> negrecip(X) 124.68/39.81 negrecip(active(X)) -> negrecip(X) 124.68/39.81 pi(mark(X)) -> pi(X) 124.68/39.81 pi(active(X)) -> pi(X) 124.68/39.81 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.81 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.81 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.81 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.81 times(mark(X1), X2) -> times(X1, X2) 124.68/39.81 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.81 times(active(X1), X2) -> times(X1, X2) 124.68/39.81 times(X1, active(X2)) -> times(X1, X2) 124.68/39.81 square(mark(X)) -> square(X) 124.68/39.81 square(active(X)) -> square(X) 124.68/39.81 124.68/39.81 The set Q consists of the following terms: 124.68/39.81 124.68/39.81 active(from(x0)) 124.68/39.81 active(2ndspos(0, x0)) 124.68/39.81 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.81 active(2ndsneg(0, x0)) 124.68/39.81 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.81 active(pi(x0)) 124.68/39.81 active(plus(0, x0)) 124.68/39.81 active(plus(s(x0), x1)) 124.68/39.81 active(times(0, x0)) 124.68/39.81 active(times(s(x0), x1)) 124.68/39.81 active(square(x0)) 124.68/39.81 mark(from(x0)) 124.68/39.81 mark(cons(x0, x1)) 124.68/39.81 mark(s(x0)) 124.68/39.81 mark(2ndspos(x0, x1)) 124.68/39.81 mark(0) 124.68/39.81 mark(rnil) 124.68/39.81 mark(rcons(x0, x1)) 124.68/39.81 mark(posrecip(x0)) 124.68/39.81 mark(2ndsneg(x0, x1)) 124.68/39.81 mark(negrecip(x0)) 124.68/39.81 mark(pi(x0)) 124.68/39.81 mark(plus(x0, x1)) 124.68/39.81 mark(times(x0, x1)) 124.68/39.81 mark(square(x0)) 124.68/39.81 from(mark(x0)) 124.68/39.81 from(active(x0)) 124.68/39.81 cons(mark(x0), x1) 124.68/39.81 cons(x0, mark(x1)) 124.68/39.81 cons(active(x0), x1) 124.68/39.81 cons(x0, active(x1)) 124.68/39.81 s(mark(x0)) 124.68/39.81 s(active(x0)) 124.68/39.81 2ndspos(mark(x0), x1) 124.68/39.81 2ndspos(x0, mark(x1)) 124.68/39.81 2ndspos(active(x0), x1) 124.68/39.81 2ndspos(x0, active(x1)) 124.68/39.81 rcons(mark(x0), x1) 124.68/39.81 rcons(x0, mark(x1)) 124.68/39.81 rcons(active(x0), x1) 124.68/39.81 rcons(x0, active(x1)) 124.68/39.81 posrecip(mark(x0)) 124.68/39.81 posrecip(active(x0)) 124.68/39.81 2ndsneg(mark(x0), x1) 124.68/39.81 2ndsneg(x0, mark(x1)) 124.68/39.81 2ndsneg(active(x0), x1) 124.68/39.81 2ndsneg(x0, active(x1)) 124.68/39.81 negrecip(mark(x0)) 124.68/39.81 negrecip(active(x0)) 124.68/39.81 pi(mark(x0)) 124.68/39.81 pi(active(x0)) 124.68/39.81 plus(mark(x0), x1) 124.68/39.81 plus(x0, mark(x1)) 124.68/39.81 plus(active(x0), x1) 124.68/39.81 plus(x0, active(x1)) 124.68/39.81 times(mark(x0), x1) 124.68/39.81 times(x0, mark(x1)) 124.68/39.81 times(active(x0), x1) 124.68/39.81 times(x0, active(x1)) 124.68/39.81 square(mark(x0)) 124.68/39.81 square(active(x0)) 124.68/39.81 124.68/39.81 We have to consider all minimal (P,Q,R)-chains. 124.68/39.81 ---------------------------------------- 124.68/39.81 124.68/39.81 (104) QDPOrderProof (EQUIVALENT) 124.68/39.81 We use the reduction pair processor [LPAR04,JAR06]. 124.68/39.81 124.68/39.81 124.68/39.81 The following pairs can be oriented strictly and are deleted. 124.68/39.81 124.68/39.81 MARK(from(X)) -> MARK(X) 124.68/39.81 The remaining pairs can at least be oriented weakly. 124.68/39.81 Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(ACTIVE(x_1)) = [[0A]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(from(x_1)) = [[1A]] + [[1A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(MARK(x_1)) = [[0A]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(cons(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(s(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(mark(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(2ndspos(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(rcons(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(posrecip(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(2ndsneg(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(negrecip(x_1)) = [[0A]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(pi(x_1)) = [[1A]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(0) = [[0A]] 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(plus(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(times(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(square(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(active(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(rnil) = [[0A]] 124.68/39.81 >>> 124.68/39.81 124.68/39.81 124.68/39.81 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 124.68/39.81 124.68/39.81 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.81 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.81 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.81 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.81 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.81 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.81 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.81 active(plus(0, Y)) -> mark(Y) 124.68/39.81 mark(from(X)) -> active(from(mark(X))) 124.68/39.81 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.81 mark(s(X)) -> active(s(mark(X))) 124.68/39.81 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.81 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.81 active(square(X)) -> mark(times(X, X)) 124.68/39.81 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.81 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.81 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.81 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.81 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.81 mark(square(X)) -> active(square(mark(X))) 124.68/39.81 mark(0) -> active(0) 124.68/39.81 mark(rnil) -> active(rnil) 124.68/39.81 from(active(X)) -> from(X) 124.68/39.81 from(mark(X)) -> from(X) 124.68/39.81 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.81 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.81 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.81 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.81 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.81 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.81 times(mark(X1), X2) -> times(X1, X2) 124.68/39.81 times(active(X1), X2) -> times(X1, X2) 124.68/39.81 times(X1, active(X2)) -> times(X1, X2) 124.68/39.81 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.81 pi(active(X)) -> pi(X) 124.68/39.81 pi(mark(X)) -> pi(X) 124.68/39.81 square(active(X)) -> square(X) 124.68/39.81 square(mark(X)) -> square(X) 124.68/39.81 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.81 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.81 active(times(0, Y)) -> mark(0) 124.68/39.81 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.81 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.81 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.81 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.81 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.81 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.81 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.81 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.81 s(active(X)) -> s(X) 124.68/39.81 s(mark(X)) -> s(X) 124.68/39.81 posrecip(active(X)) -> posrecip(X) 124.68/39.81 posrecip(mark(X)) -> posrecip(X) 124.68/39.81 negrecip(active(X)) -> negrecip(X) 124.68/39.81 negrecip(mark(X)) -> negrecip(X) 124.68/39.81 124.68/39.81 124.68/39.81 ---------------------------------------- 124.68/39.81 124.68/39.81 (105) 124.68/39.81 Obligation: 124.68/39.81 Q DP problem: 124.68/39.81 The TRS P consists of the following rules: 124.68/39.81 124.68/39.81 ACTIVE(from(X)) -> MARK(cons(X, from(s(X)))) 124.68/39.81 MARK(cons(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(from(X)) -> ACTIVE(from(mark(X))) 124.68/39.81 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.81 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.81 MARK(rcons(X1, X2)) -> MARK(X1) 124.68/39.81 ACTIVE(pi(X)) -> MARK(2ndspos(X, from(0))) 124.68/39.81 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.68/39.81 ACTIVE(plus(0, Y)) -> MARK(Y) 124.68/39.81 MARK(s(X)) -> MARK(X) 124.68/39.81 MARK(2ndspos(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(2ndspos(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(rcons(X1, X2)) -> MARK(X2) 124.68/39.81 ACTIVE(plus(s(X), Y)) -> MARK(s(plus(X, Y))) 124.68/39.81 ACTIVE(times(s(X), Y)) -> MARK(plus(Y, times(X, Y))) 124.68/39.81 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 124.68/39.81 ACTIVE(square(X)) -> MARK(times(X, X)) 124.68/39.81 MARK(times(X1, X2)) -> ACTIVE(times(mark(X1), mark(X2))) 124.68/39.81 MARK(times(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(posrecip(X)) -> MARK(X) 124.68/39.81 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.68/39.81 MARK(2ndsneg(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(negrecip(X)) -> MARK(X) 124.68/39.81 MARK(pi(X)) -> ACTIVE(pi(mark(X))) 124.68/39.81 MARK(pi(X)) -> MARK(X) 124.68/39.81 MARK(plus(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(plus(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(times(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(square(X)) -> ACTIVE(square(mark(X))) 124.68/39.81 124.68/39.81 The TRS R consists of the following rules: 124.68/39.81 124.68/39.81 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.81 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.81 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.81 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.81 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.81 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.81 active(plus(0, Y)) -> mark(Y) 124.68/39.81 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.81 active(times(0, Y)) -> mark(0) 124.68/39.81 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.81 active(square(X)) -> mark(times(X, X)) 124.68/39.81 mark(from(X)) -> active(from(mark(X))) 124.68/39.81 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.81 mark(s(X)) -> active(s(mark(X))) 124.68/39.81 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.81 mark(0) -> active(0) 124.68/39.81 mark(rnil) -> active(rnil) 124.68/39.81 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.81 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.81 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.81 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.81 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.81 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.81 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.81 mark(square(X)) -> active(square(mark(X))) 124.68/39.81 from(mark(X)) -> from(X) 124.68/39.81 from(active(X)) -> from(X) 124.68/39.81 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.81 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.81 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.81 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.81 s(mark(X)) -> s(X) 124.68/39.81 s(active(X)) -> s(X) 124.68/39.81 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.81 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.81 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.81 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.81 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.81 posrecip(mark(X)) -> posrecip(X) 124.68/39.81 posrecip(active(X)) -> posrecip(X) 124.68/39.81 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.81 negrecip(mark(X)) -> negrecip(X) 124.68/39.81 negrecip(active(X)) -> negrecip(X) 124.68/39.81 pi(mark(X)) -> pi(X) 124.68/39.81 pi(active(X)) -> pi(X) 124.68/39.81 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.81 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.81 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.81 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.81 times(mark(X1), X2) -> times(X1, X2) 124.68/39.81 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.81 times(active(X1), X2) -> times(X1, X2) 124.68/39.81 times(X1, active(X2)) -> times(X1, X2) 124.68/39.81 square(mark(X)) -> square(X) 124.68/39.81 square(active(X)) -> square(X) 124.68/39.81 124.68/39.81 The set Q consists of the following terms: 124.68/39.81 124.68/39.81 active(from(x0)) 124.68/39.81 active(2ndspos(0, x0)) 124.68/39.81 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.81 active(2ndsneg(0, x0)) 124.68/39.81 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.81 active(pi(x0)) 124.68/39.81 active(plus(0, x0)) 124.68/39.81 active(plus(s(x0), x1)) 124.68/39.81 active(times(0, x0)) 124.68/39.81 active(times(s(x0), x1)) 124.68/39.81 active(square(x0)) 124.68/39.81 mark(from(x0)) 124.68/39.81 mark(cons(x0, x1)) 124.68/39.81 mark(s(x0)) 124.68/39.81 mark(2ndspos(x0, x1)) 124.68/39.81 mark(0) 124.68/39.81 mark(rnil) 124.68/39.81 mark(rcons(x0, x1)) 124.68/39.81 mark(posrecip(x0)) 124.68/39.81 mark(2ndsneg(x0, x1)) 124.68/39.81 mark(negrecip(x0)) 124.68/39.81 mark(pi(x0)) 124.68/39.81 mark(plus(x0, x1)) 124.68/39.81 mark(times(x0, x1)) 124.68/39.81 mark(square(x0)) 124.68/39.81 from(mark(x0)) 124.68/39.81 from(active(x0)) 124.68/39.81 cons(mark(x0), x1) 124.68/39.81 cons(x0, mark(x1)) 124.68/39.81 cons(active(x0), x1) 124.68/39.81 cons(x0, active(x1)) 124.68/39.81 s(mark(x0)) 124.68/39.81 s(active(x0)) 124.68/39.81 2ndspos(mark(x0), x1) 124.68/39.81 2ndspos(x0, mark(x1)) 124.68/39.81 2ndspos(active(x0), x1) 124.68/39.81 2ndspos(x0, active(x1)) 124.68/39.81 rcons(mark(x0), x1) 124.68/39.81 rcons(x0, mark(x1)) 124.68/39.81 rcons(active(x0), x1) 124.68/39.81 rcons(x0, active(x1)) 124.68/39.81 posrecip(mark(x0)) 124.68/39.81 posrecip(active(x0)) 124.68/39.81 2ndsneg(mark(x0), x1) 124.68/39.81 2ndsneg(x0, mark(x1)) 124.68/39.81 2ndsneg(active(x0), x1) 124.68/39.81 2ndsneg(x0, active(x1)) 124.68/39.81 negrecip(mark(x0)) 124.68/39.81 negrecip(active(x0)) 124.68/39.81 pi(mark(x0)) 124.68/39.81 pi(active(x0)) 124.68/39.81 plus(mark(x0), x1) 124.68/39.81 plus(x0, mark(x1)) 124.68/39.81 plus(active(x0), x1) 124.68/39.81 plus(x0, active(x1)) 124.68/39.81 times(mark(x0), x1) 124.68/39.81 times(x0, mark(x1)) 124.68/39.81 times(active(x0), x1) 124.68/39.81 times(x0, active(x1)) 124.68/39.81 square(mark(x0)) 124.68/39.81 square(active(x0)) 124.68/39.81 124.68/39.81 We have to consider all minimal (P,Q,R)-chains. 124.68/39.81 ---------------------------------------- 124.68/39.81 124.68/39.81 (106) QDPOrderProof (EQUIVALENT) 124.68/39.81 We use the reduction pair processor [LPAR04,JAR06]. 124.68/39.81 124.68/39.81 124.68/39.81 The following pairs can be oriented strictly and are deleted. 124.68/39.81 124.68/39.81 ACTIVE(square(X)) -> MARK(times(X, X)) 124.68/39.81 The remaining pairs can at least be oriented weakly. 124.68/39.81 Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(ACTIVE(x_1)) = [[2A]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(from(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(MARK(x_1)) = [[2A]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(cons(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(s(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(mark(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(2ndspos(x_1, x_2)) = [[-I]] + [[1A]] * x_1 + [[0A]] * x_2 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(rcons(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(posrecip(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(2ndsneg(x_1, x_2)) = [[-I]] + [[1A]] * x_1 + [[0A]] * x_2 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(negrecip(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(pi(x_1)) = [[1A]] + [[1A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(0) = [[0A]] 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(plus(x_1, x_2)) = [[3A]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(times(x_1, x_2)) = [[3A]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(square(x_1)) = [[4A]] + [[2A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(active(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.81 >>> 124.68/39.81 124.68/39.81 <<< 124.68/39.81 POL(rnil) = [[0A]] 124.68/39.81 >>> 124.68/39.81 124.68/39.81 124.68/39.81 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 124.68/39.81 124.68/39.81 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.81 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.81 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.81 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.81 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.81 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.81 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.81 active(plus(0, Y)) -> mark(Y) 124.68/39.81 mark(from(X)) -> active(from(mark(X))) 124.68/39.81 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.81 mark(s(X)) -> active(s(mark(X))) 124.68/39.81 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.81 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.81 active(square(X)) -> mark(times(X, X)) 124.68/39.81 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.81 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.81 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.81 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.81 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.81 mark(square(X)) -> active(square(mark(X))) 124.68/39.81 mark(0) -> active(0) 124.68/39.81 mark(rnil) -> active(rnil) 124.68/39.81 from(active(X)) -> from(X) 124.68/39.81 from(mark(X)) -> from(X) 124.68/39.81 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.81 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.81 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.81 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.81 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.81 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.81 times(mark(X1), X2) -> times(X1, X2) 124.68/39.81 times(active(X1), X2) -> times(X1, X2) 124.68/39.81 times(X1, active(X2)) -> times(X1, X2) 124.68/39.81 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.81 pi(active(X)) -> pi(X) 124.68/39.81 pi(mark(X)) -> pi(X) 124.68/39.81 square(active(X)) -> square(X) 124.68/39.81 square(mark(X)) -> square(X) 124.68/39.81 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.81 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.81 active(times(0, Y)) -> mark(0) 124.68/39.81 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.81 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.81 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.81 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.81 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.81 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.81 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.81 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.81 s(active(X)) -> s(X) 124.68/39.81 s(mark(X)) -> s(X) 124.68/39.81 posrecip(active(X)) -> posrecip(X) 124.68/39.81 posrecip(mark(X)) -> posrecip(X) 124.68/39.81 negrecip(active(X)) -> negrecip(X) 124.68/39.81 negrecip(mark(X)) -> negrecip(X) 124.68/39.81 124.68/39.81 124.68/39.81 ---------------------------------------- 124.68/39.81 124.68/39.81 (107) 124.68/39.81 Obligation: 124.68/39.81 Q DP problem: 124.68/39.81 The TRS P consists of the following rules: 124.68/39.81 124.68/39.81 ACTIVE(from(X)) -> MARK(cons(X, from(s(X)))) 124.68/39.81 MARK(cons(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(from(X)) -> ACTIVE(from(mark(X))) 124.68/39.81 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.81 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.81 MARK(rcons(X1, X2)) -> MARK(X1) 124.68/39.81 ACTIVE(pi(X)) -> MARK(2ndspos(X, from(0))) 124.68/39.81 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.68/39.81 ACTIVE(plus(0, Y)) -> MARK(Y) 124.68/39.81 MARK(s(X)) -> MARK(X) 124.68/39.81 MARK(2ndspos(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(2ndspos(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(rcons(X1, X2)) -> MARK(X2) 124.68/39.81 ACTIVE(plus(s(X), Y)) -> MARK(s(plus(X, Y))) 124.68/39.81 ACTIVE(times(s(X), Y)) -> MARK(plus(Y, times(X, Y))) 124.68/39.81 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 124.68/39.81 MARK(times(X1, X2)) -> ACTIVE(times(mark(X1), mark(X2))) 124.68/39.81 MARK(times(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(posrecip(X)) -> MARK(X) 124.68/39.81 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.68/39.81 MARK(2ndsneg(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(negrecip(X)) -> MARK(X) 124.68/39.81 MARK(pi(X)) -> ACTIVE(pi(mark(X))) 124.68/39.81 MARK(pi(X)) -> MARK(X) 124.68/39.81 MARK(plus(X1, X2)) -> MARK(X1) 124.68/39.81 MARK(plus(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(times(X1, X2)) -> MARK(X2) 124.68/39.81 MARK(square(X)) -> ACTIVE(square(mark(X))) 124.68/39.81 124.68/39.81 The TRS R consists of the following rules: 124.68/39.81 124.68/39.81 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.81 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.81 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.81 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.81 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.81 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.81 active(plus(0, Y)) -> mark(Y) 124.68/39.81 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.81 active(times(0, Y)) -> mark(0) 124.68/39.81 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.81 active(square(X)) -> mark(times(X, X)) 124.68/39.81 mark(from(X)) -> active(from(mark(X))) 124.68/39.81 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.81 mark(s(X)) -> active(s(mark(X))) 124.68/39.81 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.81 mark(0) -> active(0) 124.68/39.81 mark(rnil) -> active(rnil) 124.68/39.81 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.81 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.81 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.81 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.81 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.81 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.81 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.81 mark(square(X)) -> active(square(mark(X))) 124.68/39.81 from(mark(X)) -> from(X) 124.68/39.81 from(active(X)) -> from(X) 124.68/39.81 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.81 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.81 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.81 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.81 s(mark(X)) -> s(X) 124.68/39.81 s(active(X)) -> s(X) 124.68/39.81 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.81 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.81 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.81 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.81 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.81 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.81 posrecip(mark(X)) -> posrecip(X) 124.68/39.81 posrecip(active(X)) -> posrecip(X) 124.68/39.81 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.81 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.81 negrecip(mark(X)) -> negrecip(X) 124.68/39.81 negrecip(active(X)) -> negrecip(X) 124.68/39.81 pi(mark(X)) -> pi(X) 124.68/39.81 pi(active(X)) -> pi(X) 124.68/39.81 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.81 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.81 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.81 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.81 times(mark(X1), X2) -> times(X1, X2) 124.68/39.81 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.81 times(active(X1), X2) -> times(X1, X2) 124.68/39.81 times(X1, active(X2)) -> times(X1, X2) 124.68/39.81 square(mark(X)) -> square(X) 124.68/39.81 square(active(X)) -> square(X) 124.68/39.81 124.68/39.81 The set Q consists of the following terms: 124.68/39.81 124.68/39.81 active(from(x0)) 124.68/39.81 active(2ndspos(0, x0)) 124.68/39.81 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.81 active(2ndsneg(0, x0)) 124.68/39.81 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.81 active(pi(x0)) 124.68/39.81 active(plus(0, x0)) 124.68/39.81 active(plus(s(x0), x1)) 124.68/39.81 active(times(0, x0)) 124.68/39.81 active(times(s(x0), x1)) 124.68/39.81 active(square(x0)) 124.68/39.81 mark(from(x0)) 124.68/39.81 mark(cons(x0, x1)) 124.68/39.81 mark(s(x0)) 124.68/39.81 mark(2ndspos(x0, x1)) 124.68/39.81 mark(0) 124.68/39.81 mark(rnil) 124.68/39.81 mark(rcons(x0, x1)) 124.68/39.81 mark(posrecip(x0)) 124.68/39.81 mark(2ndsneg(x0, x1)) 124.68/39.81 mark(negrecip(x0)) 124.68/39.81 mark(pi(x0)) 124.68/39.81 mark(plus(x0, x1)) 124.68/39.81 mark(times(x0, x1)) 124.68/39.81 mark(square(x0)) 124.68/39.81 from(mark(x0)) 124.68/39.81 from(active(x0)) 124.68/39.81 cons(mark(x0), x1) 124.68/39.81 cons(x0, mark(x1)) 124.68/39.81 cons(active(x0), x1) 124.68/39.81 cons(x0, active(x1)) 124.68/39.81 s(mark(x0)) 124.68/39.81 s(active(x0)) 124.68/39.81 2ndspos(mark(x0), x1) 124.68/39.81 2ndspos(x0, mark(x1)) 124.68/39.81 2ndspos(active(x0), x1) 124.68/39.81 2ndspos(x0, active(x1)) 124.68/39.81 rcons(mark(x0), x1) 124.68/39.81 rcons(x0, mark(x1)) 124.68/39.81 rcons(active(x0), x1) 124.68/39.81 rcons(x0, active(x1)) 124.68/39.81 posrecip(mark(x0)) 124.68/39.82 posrecip(active(x0)) 124.68/39.82 2ndsneg(mark(x0), x1) 124.68/39.82 2ndsneg(x0, mark(x1)) 124.68/39.82 2ndsneg(active(x0), x1) 124.68/39.82 2ndsneg(x0, active(x1)) 124.68/39.82 negrecip(mark(x0)) 124.68/39.82 negrecip(active(x0)) 124.68/39.82 pi(mark(x0)) 124.68/39.82 pi(active(x0)) 124.68/39.82 plus(mark(x0), x1) 124.68/39.82 plus(x0, mark(x1)) 124.68/39.82 plus(active(x0), x1) 124.68/39.82 plus(x0, active(x1)) 124.68/39.82 times(mark(x0), x1) 124.68/39.82 times(x0, mark(x1)) 124.68/39.82 times(active(x0), x1) 124.68/39.82 times(x0, active(x1)) 124.68/39.82 square(mark(x0)) 124.68/39.82 square(active(x0)) 124.68/39.82 124.68/39.82 We have to consider all minimal (P,Q,R)-chains. 124.68/39.82 ---------------------------------------- 124.68/39.82 124.68/39.82 (108) QDPQMonotonicMRRProof (EQUIVALENT) 124.68/39.82 By using the Q-monotonic rule removal processor with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented such that it always occurs at a strongly monotonic position in a (P,Q,R)-chain. 124.68/39.82 124.68/39.82 Strictly oriented dependency pairs: 124.68/39.82 124.68/39.82 MARK(square(X)) -> ACTIVE(square(mark(X))) 124.68/39.82 124.68/39.82 124.68/39.82 Used ordering: Polynomial interpretation [POLO]: 124.68/39.82 124.68/39.82 POL(0) = 0 124.68/39.82 POL(2ndsneg(x_1, x_2)) = 1 124.68/39.82 POL(2ndspos(x_1, x_2)) = 1 124.68/39.82 POL(ACTIVE(x_1)) = x_1 124.68/39.82 POL(MARK(x_1)) = 1 124.68/39.82 POL(active(x_1)) = 0 124.68/39.82 POL(cons(x_1, x_2)) = 0 124.68/39.82 POL(from(x_1)) = 1 124.68/39.82 POL(mark(x_1)) = 0 124.68/39.82 POL(negrecip(x_1)) = 0 124.68/39.82 POL(pi(x_1)) = 1 124.68/39.82 POL(plus(x_1, x_2)) = 1 124.68/39.82 POL(posrecip(x_1)) = 0 124.68/39.82 POL(rcons(x_1, x_2)) = 0 124.68/39.82 POL(rnil) = 0 124.68/39.82 POL(s(x_1)) = 0 124.68/39.82 POL(square(x_1)) = 0 124.68/39.82 POL(times(x_1, x_2)) = 1 124.68/39.82 124.68/39.82 124.68/39.82 ---------------------------------------- 124.68/39.82 124.68/39.82 (109) 124.68/39.82 Obligation: 124.68/39.82 Q DP problem: 124.68/39.82 The TRS P consists of the following rules: 124.68/39.82 124.68/39.82 ACTIVE(from(X)) -> MARK(cons(X, from(s(X)))) 124.68/39.82 MARK(cons(X1, X2)) -> MARK(X1) 124.68/39.82 MARK(from(X)) -> ACTIVE(from(mark(X))) 124.68/39.82 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.82 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.82 MARK(rcons(X1, X2)) -> MARK(X1) 124.68/39.82 ACTIVE(pi(X)) -> MARK(2ndspos(X, from(0))) 124.68/39.82 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.68/39.82 ACTIVE(plus(0, Y)) -> MARK(Y) 124.68/39.82 MARK(s(X)) -> MARK(X) 124.68/39.82 MARK(2ndspos(X1, X2)) -> MARK(X1) 124.68/39.82 MARK(2ndspos(X1, X2)) -> MARK(X2) 124.68/39.82 MARK(rcons(X1, X2)) -> MARK(X2) 124.68/39.82 ACTIVE(plus(s(X), Y)) -> MARK(s(plus(X, Y))) 124.68/39.82 ACTIVE(times(s(X), Y)) -> MARK(plus(Y, times(X, Y))) 124.68/39.82 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 124.68/39.82 MARK(times(X1, X2)) -> ACTIVE(times(mark(X1), mark(X2))) 124.68/39.82 MARK(times(X1, X2)) -> MARK(X1) 124.68/39.82 MARK(posrecip(X)) -> MARK(X) 124.68/39.82 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.68/39.82 MARK(2ndsneg(X1, X2)) -> MARK(X2) 124.68/39.82 MARK(negrecip(X)) -> MARK(X) 124.68/39.82 MARK(pi(X)) -> ACTIVE(pi(mark(X))) 124.68/39.82 MARK(pi(X)) -> MARK(X) 124.68/39.82 MARK(plus(X1, X2)) -> MARK(X1) 124.68/39.82 MARK(plus(X1, X2)) -> MARK(X2) 124.68/39.82 MARK(times(X1, X2)) -> MARK(X2) 124.68/39.82 124.68/39.82 The TRS R consists of the following rules: 124.68/39.82 124.68/39.82 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.82 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.82 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.82 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.82 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.82 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.82 active(plus(0, Y)) -> mark(Y) 124.68/39.82 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.82 active(times(0, Y)) -> mark(0) 124.68/39.82 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.82 active(square(X)) -> mark(times(X, X)) 124.68/39.82 mark(from(X)) -> active(from(mark(X))) 124.68/39.82 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.82 mark(s(X)) -> active(s(mark(X))) 124.68/39.82 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.82 mark(0) -> active(0) 124.68/39.82 mark(rnil) -> active(rnil) 124.68/39.82 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.82 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.82 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.82 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.82 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.82 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.82 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.82 mark(square(X)) -> active(square(mark(X))) 124.68/39.82 from(mark(X)) -> from(X) 124.68/39.82 from(active(X)) -> from(X) 124.68/39.82 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.82 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.82 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.82 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.82 s(mark(X)) -> s(X) 124.68/39.82 s(active(X)) -> s(X) 124.68/39.82 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.82 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.82 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.82 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.82 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.82 posrecip(mark(X)) -> posrecip(X) 124.68/39.82 posrecip(active(X)) -> posrecip(X) 124.68/39.82 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.82 negrecip(mark(X)) -> negrecip(X) 124.68/39.82 negrecip(active(X)) -> negrecip(X) 124.68/39.82 pi(mark(X)) -> pi(X) 124.68/39.82 pi(active(X)) -> pi(X) 124.68/39.82 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.82 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.82 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.82 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.82 times(mark(X1), X2) -> times(X1, X2) 124.68/39.82 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.82 times(active(X1), X2) -> times(X1, X2) 124.68/39.82 times(X1, active(X2)) -> times(X1, X2) 124.68/39.82 square(mark(X)) -> square(X) 124.68/39.82 square(active(X)) -> square(X) 124.68/39.82 124.68/39.82 The set Q consists of the following terms: 124.68/39.82 124.68/39.82 active(from(x0)) 124.68/39.82 active(2ndspos(0, x0)) 124.68/39.82 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.82 active(2ndsneg(0, x0)) 124.68/39.82 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.82 active(pi(x0)) 124.68/39.82 active(plus(0, x0)) 124.68/39.82 active(plus(s(x0), x1)) 124.68/39.82 active(times(0, x0)) 124.68/39.82 active(times(s(x0), x1)) 124.68/39.82 active(square(x0)) 124.68/39.82 mark(from(x0)) 124.68/39.82 mark(cons(x0, x1)) 124.68/39.82 mark(s(x0)) 124.68/39.82 mark(2ndspos(x0, x1)) 124.68/39.82 mark(0) 124.68/39.82 mark(rnil) 124.68/39.82 mark(rcons(x0, x1)) 124.68/39.82 mark(posrecip(x0)) 124.68/39.82 mark(2ndsneg(x0, x1)) 124.68/39.82 mark(negrecip(x0)) 124.68/39.82 mark(pi(x0)) 124.68/39.82 mark(plus(x0, x1)) 124.68/39.82 mark(times(x0, x1)) 124.68/39.82 mark(square(x0)) 124.68/39.82 from(mark(x0)) 124.68/39.82 from(active(x0)) 124.68/39.82 cons(mark(x0), x1) 124.68/39.82 cons(x0, mark(x1)) 124.68/39.82 cons(active(x0), x1) 124.68/39.82 cons(x0, active(x1)) 124.68/39.82 s(mark(x0)) 124.68/39.82 s(active(x0)) 124.68/39.82 2ndspos(mark(x0), x1) 124.68/39.82 2ndspos(x0, mark(x1)) 124.68/39.82 2ndspos(active(x0), x1) 124.68/39.82 2ndspos(x0, active(x1)) 124.68/39.82 rcons(mark(x0), x1) 124.68/39.82 rcons(x0, mark(x1)) 124.68/39.82 rcons(active(x0), x1) 124.68/39.82 rcons(x0, active(x1)) 124.68/39.82 posrecip(mark(x0)) 124.68/39.82 posrecip(active(x0)) 124.68/39.82 2ndsneg(mark(x0), x1) 124.68/39.82 2ndsneg(x0, mark(x1)) 124.68/39.82 2ndsneg(active(x0), x1) 124.68/39.82 2ndsneg(x0, active(x1)) 124.68/39.82 negrecip(mark(x0)) 124.68/39.82 negrecip(active(x0)) 124.68/39.82 pi(mark(x0)) 124.68/39.82 pi(active(x0)) 124.68/39.82 plus(mark(x0), x1) 124.68/39.82 plus(x0, mark(x1)) 124.68/39.82 plus(active(x0), x1) 124.68/39.82 plus(x0, active(x1)) 124.68/39.82 times(mark(x0), x1) 124.68/39.82 times(x0, mark(x1)) 124.68/39.82 times(active(x0), x1) 124.68/39.82 times(x0, active(x1)) 124.68/39.82 square(mark(x0)) 124.68/39.82 square(active(x0)) 124.68/39.82 124.68/39.82 We have to consider all minimal (P,Q,R)-chains. 124.68/39.82 ---------------------------------------- 124.68/39.82 124.68/39.82 (110) QDPOrderProof (EQUIVALENT) 124.68/39.82 We use the reduction pair processor [LPAR04,JAR06]. 124.68/39.82 124.68/39.82 124.68/39.82 The following pairs can be oriented strictly and are deleted. 124.68/39.82 124.68/39.82 MARK(times(X1, X2)) -> MARK(X1) 124.68/39.82 The remaining pairs can at least be oriented weakly. 124.68/39.82 Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(ACTIVE(x_1)) = [[0A]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(from(x_1)) = [[2A]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(MARK(x_1)) = [[2A]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(cons(x_1, x_2)) = [[2A]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(s(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(mark(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(2ndspos(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(rcons(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(posrecip(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(2ndsneg(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(negrecip(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(pi(x_1)) = [[2A]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(0) = [[0A]] 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(plus(x_1, x_2)) = [[2A]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(times(x_1, x_2)) = [[3A]] + [[1A]] * x_1 + [[0A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(active(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(square(x_1)) = [[3A]] + [[2A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(rnil) = [[0A]] 124.68/39.82 >>> 124.68/39.82 124.68/39.82 124.68/39.82 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 124.68/39.82 124.68/39.82 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.82 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.82 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.82 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.82 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.82 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.82 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.82 active(plus(0, Y)) -> mark(Y) 124.68/39.82 mark(from(X)) -> active(from(mark(X))) 124.68/39.82 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.82 mark(s(X)) -> active(s(mark(X))) 124.68/39.82 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.82 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.82 active(square(X)) -> mark(times(X, X)) 124.68/39.82 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.82 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.82 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.82 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.82 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.82 mark(square(X)) -> active(square(mark(X))) 124.68/39.82 mark(0) -> active(0) 124.68/39.82 mark(rnil) -> active(rnil) 124.68/39.82 from(active(X)) -> from(X) 124.68/39.82 from(mark(X)) -> from(X) 124.68/39.82 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.82 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.82 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.82 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.82 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.82 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.82 times(mark(X1), X2) -> times(X1, X2) 124.68/39.82 times(active(X1), X2) -> times(X1, X2) 124.68/39.82 times(X1, active(X2)) -> times(X1, X2) 124.68/39.82 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.82 pi(active(X)) -> pi(X) 124.68/39.82 pi(mark(X)) -> pi(X) 124.68/39.82 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.82 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.82 active(times(0, Y)) -> mark(0) 124.68/39.82 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.82 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.82 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.82 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.82 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.82 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.82 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.82 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.82 s(active(X)) -> s(X) 124.68/39.82 s(mark(X)) -> s(X) 124.68/39.82 posrecip(active(X)) -> posrecip(X) 124.68/39.82 posrecip(mark(X)) -> posrecip(X) 124.68/39.82 negrecip(active(X)) -> negrecip(X) 124.68/39.82 negrecip(mark(X)) -> negrecip(X) 124.68/39.82 square(active(X)) -> square(X) 124.68/39.82 square(mark(X)) -> square(X) 124.68/39.82 124.68/39.82 124.68/39.82 ---------------------------------------- 124.68/39.82 124.68/39.82 (111) 124.68/39.82 Obligation: 124.68/39.82 Q DP problem: 124.68/39.82 The TRS P consists of the following rules: 124.68/39.82 124.68/39.82 ACTIVE(from(X)) -> MARK(cons(X, from(s(X)))) 124.68/39.82 MARK(cons(X1, X2)) -> MARK(X1) 124.68/39.82 MARK(from(X)) -> ACTIVE(from(mark(X))) 124.68/39.82 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.82 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.82 MARK(rcons(X1, X2)) -> MARK(X1) 124.68/39.82 ACTIVE(pi(X)) -> MARK(2ndspos(X, from(0))) 124.68/39.82 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.68/39.82 ACTIVE(plus(0, Y)) -> MARK(Y) 124.68/39.82 MARK(s(X)) -> MARK(X) 124.68/39.82 MARK(2ndspos(X1, X2)) -> MARK(X1) 124.68/39.82 MARK(2ndspos(X1, X2)) -> MARK(X2) 124.68/39.82 MARK(rcons(X1, X2)) -> MARK(X2) 124.68/39.82 ACTIVE(plus(s(X), Y)) -> MARK(s(plus(X, Y))) 124.68/39.82 ACTIVE(times(s(X), Y)) -> MARK(plus(Y, times(X, Y))) 124.68/39.82 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 124.68/39.82 MARK(times(X1, X2)) -> ACTIVE(times(mark(X1), mark(X2))) 124.68/39.82 MARK(posrecip(X)) -> MARK(X) 124.68/39.82 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.68/39.82 MARK(2ndsneg(X1, X2)) -> MARK(X2) 124.68/39.82 MARK(negrecip(X)) -> MARK(X) 124.68/39.82 MARK(pi(X)) -> ACTIVE(pi(mark(X))) 124.68/39.82 MARK(pi(X)) -> MARK(X) 124.68/39.82 MARK(plus(X1, X2)) -> MARK(X1) 124.68/39.82 MARK(plus(X1, X2)) -> MARK(X2) 124.68/39.82 MARK(times(X1, X2)) -> MARK(X2) 124.68/39.82 124.68/39.82 The TRS R consists of the following rules: 124.68/39.82 124.68/39.82 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.82 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.82 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.82 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.82 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.82 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.82 active(plus(0, Y)) -> mark(Y) 124.68/39.82 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.82 active(times(0, Y)) -> mark(0) 124.68/39.82 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.82 active(square(X)) -> mark(times(X, X)) 124.68/39.82 mark(from(X)) -> active(from(mark(X))) 124.68/39.82 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.82 mark(s(X)) -> active(s(mark(X))) 124.68/39.82 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.82 mark(0) -> active(0) 124.68/39.82 mark(rnil) -> active(rnil) 124.68/39.82 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.82 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.82 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.82 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.82 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.82 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.82 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.82 mark(square(X)) -> active(square(mark(X))) 124.68/39.82 from(mark(X)) -> from(X) 124.68/39.82 from(active(X)) -> from(X) 124.68/39.82 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.82 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.82 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.82 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.82 s(mark(X)) -> s(X) 124.68/39.82 s(active(X)) -> s(X) 124.68/39.82 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.82 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.82 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.82 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.82 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.82 posrecip(mark(X)) -> posrecip(X) 124.68/39.82 posrecip(active(X)) -> posrecip(X) 124.68/39.82 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.82 negrecip(mark(X)) -> negrecip(X) 124.68/39.82 negrecip(active(X)) -> negrecip(X) 124.68/39.82 pi(mark(X)) -> pi(X) 124.68/39.82 pi(active(X)) -> pi(X) 124.68/39.82 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.82 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.82 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.82 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.82 times(mark(X1), X2) -> times(X1, X2) 124.68/39.82 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.82 times(active(X1), X2) -> times(X1, X2) 124.68/39.82 times(X1, active(X2)) -> times(X1, X2) 124.68/39.82 square(mark(X)) -> square(X) 124.68/39.82 square(active(X)) -> square(X) 124.68/39.82 124.68/39.82 The set Q consists of the following terms: 124.68/39.82 124.68/39.82 active(from(x0)) 124.68/39.82 active(2ndspos(0, x0)) 124.68/39.82 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.82 active(2ndsneg(0, x0)) 124.68/39.82 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.82 active(pi(x0)) 124.68/39.82 active(plus(0, x0)) 124.68/39.82 active(plus(s(x0), x1)) 124.68/39.82 active(times(0, x0)) 124.68/39.82 active(times(s(x0), x1)) 124.68/39.82 active(square(x0)) 124.68/39.82 mark(from(x0)) 124.68/39.82 mark(cons(x0, x1)) 124.68/39.82 mark(s(x0)) 124.68/39.82 mark(2ndspos(x0, x1)) 124.68/39.82 mark(0) 124.68/39.82 mark(rnil) 124.68/39.82 mark(rcons(x0, x1)) 124.68/39.82 mark(posrecip(x0)) 124.68/39.82 mark(2ndsneg(x0, x1)) 124.68/39.82 mark(negrecip(x0)) 124.68/39.82 mark(pi(x0)) 124.68/39.82 mark(plus(x0, x1)) 124.68/39.82 mark(times(x0, x1)) 124.68/39.82 mark(square(x0)) 124.68/39.82 from(mark(x0)) 124.68/39.82 from(active(x0)) 124.68/39.82 cons(mark(x0), x1) 124.68/39.82 cons(x0, mark(x1)) 124.68/39.82 cons(active(x0), x1) 124.68/39.82 cons(x0, active(x1)) 124.68/39.82 s(mark(x0)) 124.68/39.82 s(active(x0)) 124.68/39.82 2ndspos(mark(x0), x1) 124.68/39.82 2ndspos(x0, mark(x1)) 124.68/39.82 2ndspos(active(x0), x1) 124.68/39.82 2ndspos(x0, active(x1)) 124.68/39.82 rcons(mark(x0), x1) 124.68/39.82 rcons(x0, mark(x1)) 124.68/39.82 rcons(active(x0), x1) 124.68/39.82 rcons(x0, active(x1)) 124.68/39.82 posrecip(mark(x0)) 124.68/39.82 posrecip(active(x0)) 124.68/39.82 2ndsneg(mark(x0), x1) 124.68/39.82 2ndsneg(x0, mark(x1)) 124.68/39.82 2ndsneg(active(x0), x1) 124.68/39.82 2ndsneg(x0, active(x1)) 124.68/39.82 negrecip(mark(x0)) 124.68/39.82 negrecip(active(x0)) 124.68/39.82 pi(mark(x0)) 124.68/39.82 pi(active(x0)) 124.68/39.82 plus(mark(x0), x1) 124.68/39.82 plus(x0, mark(x1)) 124.68/39.82 plus(active(x0), x1) 124.68/39.82 plus(x0, active(x1)) 124.68/39.82 times(mark(x0), x1) 124.68/39.82 times(x0, mark(x1)) 124.68/39.82 times(active(x0), x1) 124.68/39.82 times(x0, active(x1)) 124.68/39.82 square(mark(x0)) 124.68/39.82 square(active(x0)) 124.68/39.82 124.68/39.82 We have to consider all minimal (P,Q,R)-chains. 124.68/39.82 ---------------------------------------- 124.68/39.82 124.68/39.82 (112) QDPOrderProof (EQUIVALENT) 124.68/39.82 We use the reduction pair processor [LPAR04,JAR06]. 124.68/39.82 124.68/39.82 124.68/39.82 The following pairs can be oriented strictly and are deleted. 124.68/39.82 124.68/39.82 MARK(2ndspos(X1, X2)) -> MARK(X2) 124.68/39.82 MARK(2ndsneg(X1, X2)) -> MARK(X2) 124.68/39.82 The remaining pairs can at least be oriented weakly. 124.68/39.82 Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(ACTIVE(x_1)) = [[0A]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(from(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(MARK(x_1)) = [[0A]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(cons(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(s(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(mark(x_1)) = [[0A]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(2ndspos(x_1, x_2)) = [[1A]] + [[0A]] * x_1 + [[1A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(rcons(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(posrecip(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(2ndsneg(x_1, x_2)) = [[1A]] + [[0A]] * x_1 + [[1A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(negrecip(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(pi(x_1)) = [[2A]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(0) = [[0A]] 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(plus(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(times(x_1, x_2)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(active(x_1)) = [[0A]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(square(x_1)) = [[0A]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(rnil) = [[0A]] 124.68/39.82 >>> 124.68/39.82 124.68/39.82 124.68/39.82 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 124.68/39.82 124.68/39.82 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.82 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.82 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.82 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.82 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.82 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.82 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.82 active(plus(0, Y)) -> mark(Y) 124.68/39.82 mark(from(X)) -> active(from(mark(X))) 124.68/39.82 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.82 mark(s(X)) -> active(s(mark(X))) 124.68/39.82 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.82 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.82 active(square(X)) -> mark(times(X, X)) 124.68/39.82 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.82 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.82 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.82 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.82 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.82 mark(square(X)) -> active(square(mark(X))) 124.68/39.82 mark(0) -> active(0) 124.68/39.82 mark(rnil) -> active(rnil) 124.68/39.82 from(active(X)) -> from(X) 124.68/39.82 from(mark(X)) -> from(X) 124.68/39.82 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.82 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.82 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.82 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.82 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.82 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.82 times(mark(X1), X2) -> times(X1, X2) 124.68/39.82 times(active(X1), X2) -> times(X1, X2) 124.68/39.82 times(X1, active(X2)) -> times(X1, X2) 124.68/39.82 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.82 pi(active(X)) -> pi(X) 124.68/39.82 pi(mark(X)) -> pi(X) 124.68/39.82 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.82 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.82 active(times(0, Y)) -> mark(0) 124.68/39.82 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.82 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.82 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.82 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.82 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.82 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.82 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.82 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.82 s(active(X)) -> s(X) 124.68/39.82 s(mark(X)) -> s(X) 124.68/39.82 posrecip(active(X)) -> posrecip(X) 124.68/39.82 posrecip(mark(X)) -> posrecip(X) 124.68/39.82 negrecip(active(X)) -> negrecip(X) 124.68/39.82 negrecip(mark(X)) -> negrecip(X) 124.68/39.82 square(active(X)) -> square(X) 124.68/39.82 square(mark(X)) -> square(X) 124.68/39.82 124.68/39.82 124.68/39.82 ---------------------------------------- 124.68/39.82 124.68/39.82 (113) 124.68/39.82 Obligation: 124.68/39.82 Q DP problem: 124.68/39.82 The TRS P consists of the following rules: 124.68/39.82 124.68/39.82 ACTIVE(from(X)) -> MARK(cons(X, from(s(X)))) 124.68/39.82 MARK(cons(X1, X2)) -> MARK(X1) 124.68/39.82 MARK(from(X)) -> ACTIVE(from(mark(X))) 124.68/39.82 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.82 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.82 MARK(rcons(X1, X2)) -> MARK(X1) 124.68/39.82 ACTIVE(pi(X)) -> MARK(2ndspos(X, from(0))) 124.68/39.82 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.68/39.82 ACTIVE(plus(0, Y)) -> MARK(Y) 124.68/39.82 MARK(s(X)) -> MARK(X) 124.68/39.82 MARK(2ndspos(X1, X2)) -> MARK(X1) 124.68/39.82 MARK(rcons(X1, X2)) -> MARK(X2) 124.68/39.82 ACTIVE(plus(s(X), Y)) -> MARK(s(plus(X, Y))) 124.68/39.82 ACTIVE(times(s(X), Y)) -> MARK(plus(Y, times(X, Y))) 124.68/39.82 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 124.68/39.82 MARK(times(X1, X2)) -> ACTIVE(times(mark(X1), mark(X2))) 124.68/39.82 MARK(posrecip(X)) -> MARK(X) 124.68/39.82 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.68/39.82 MARK(negrecip(X)) -> MARK(X) 124.68/39.82 MARK(pi(X)) -> ACTIVE(pi(mark(X))) 124.68/39.82 MARK(pi(X)) -> MARK(X) 124.68/39.82 MARK(plus(X1, X2)) -> MARK(X1) 124.68/39.82 MARK(plus(X1, X2)) -> MARK(X2) 124.68/39.82 MARK(times(X1, X2)) -> MARK(X2) 124.68/39.82 124.68/39.82 The TRS R consists of the following rules: 124.68/39.82 124.68/39.82 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.82 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.82 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.82 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.82 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.82 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.82 active(plus(0, Y)) -> mark(Y) 124.68/39.82 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.82 active(times(0, Y)) -> mark(0) 124.68/39.82 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.82 active(square(X)) -> mark(times(X, X)) 124.68/39.82 mark(from(X)) -> active(from(mark(X))) 124.68/39.82 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.82 mark(s(X)) -> active(s(mark(X))) 124.68/39.82 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.82 mark(0) -> active(0) 124.68/39.82 mark(rnil) -> active(rnil) 124.68/39.82 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.82 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.82 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.82 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.82 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.82 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.82 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.82 mark(square(X)) -> active(square(mark(X))) 124.68/39.82 from(mark(X)) -> from(X) 124.68/39.82 from(active(X)) -> from(X) 124.68/39.82 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.82 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.82 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.82 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.82 s(mark(X)) -> s(X) 124.68/39.82 s(active(X)) -> s(X) 124.68/39.82 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.82 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.82 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.82 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.82 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.82 posrecip(mark(X)) -> posrecip(X) 124.68/39.82 posrecip(active(X)) -> posrecip(X) 124.68/39.82 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.82 negrecip(mark(X)) -> negrecip(X) 124.68/39.82 negrecip(active(X)) -> negrecip(X) 124.68/39.82 pi(mark(X)) -> pi(X) 124.68/39.82 pi(active(X)) -> pi(X) 124.68/39.82 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.82 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.82 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.82 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.82 times(mark(X1), X2) -> times(X1, X2) 124.68/39.82 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.82 times(active(X1), X2) -> times(X1, X2) 124.68/39.82 times(X1, active(X2)) -> times(X1, X2) 124.68/39.82 square(mark(X)) -> square(X) 124.68/39.82 square(active(X)) -> square(X) 124.68/39.82 124.68/39.82 The set Q consists of the following terms: 124.68/39.82 124.68/39.82 active(from(x0)) 124.68/39.82 active(2ndspos(0, x0)) 124.68/39.82 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.82 active(2ndsneg(0, x0)) 124.68/39.82 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.82 active(pi(x0)) 124.68/39.82 active(plus(0, x0)) 124.68/39.82 active(plus(s(x0), x1)) 124.68/39.82 active(times(0, x0)) 124.68/39.82 active(times(s(x0), x1)) 124.68/39.82 active(square(x0)) 124.68/39.82 mark(from(x0)) 124.68/39.82 mark(cons(x0, x1)) 124.68/39.82 mark(s(x0)) 124.68/39.82 mark(2ndspos(x0, x1)) 124.68/39.82 mark(0) 124.68/39.82 mark(rnil) 124.68/39.82 mark(rcons(x0, x1)) 124.68/39.82 mark(posrecip(x0)) 124.68/39.82 mark(2ndsneg(x0, x1)) 124.68/39.82 mark(negrecip(x0)) 124.68/39.82 mark(pi(x0)) 124.68/39.82 mark(plus(x0, x1)) 124.68/39.82 mark(times(x0, x1)) 124.68/39.82 mark(square(x0)) 124.68/39.82 from(mark(x0)) 124.68/39.82 from(active(x0)) 124.68/39.82 cons(mark(x0), x1) 124.68/39.82 cons(x0, mark(x1)) 124.68/39.82 cons(active(x0), x1) 124.68/39.82 cons(x0, active(x1)) 124.68/39.82 s(mark(x0)) 124.68/39.82 s(active(x0)) 124.68/39.82 2ndspos(mark(x0), x1) 124.68/39.82 2ndspos(x0, mark(x1)) 124.68/39.82 2ndspos(active(x0), x1) 124.68/39.82 2ndspos(x0, active(x1)) 124.68/39.82 rcons(mark(x0), x1) 124.68/39.82 rcons(x0, mark(x1)) 124.68/39.82 rcons(active(x0), x1) 124.68/39.82 rcons(x0, active(x1)) 124.68/39.82 posrecip(mark(x0)) 124.68/39.82 posrecip(active(x0)) 124.68/39.82 2ndsneg(mark(x0), x1) 124.68/39.82 2ndsneg(x0, mark(x1)) 124.68/39.82 2ndsneg(active(x0), x1) 124.68/39.82 2ndsneg(x0, active(x1)) 124.68/39.82 negrecip(mark(x0)) 124.68/39.82 negrecip(active(x0)) 124.68/39.82 pi(mark(x0)) 124.68/39.82 pi(active(x0)) 124.68/39.82 plus(mark(x0), x1) 124.68/39.82 plus(x0, mark(x1)) 124.68/39.82 plus(active(x0), x1) 124.68/39.82 plus(x0, active(x1)) 124.68/39.82 times(mark(x0), x1) 124.68/39.82 times(x0, mark(x1)) 124.68/39.82 times(active(x0), x1) 124.68/39.82 times(x0, active(x1)) 124.68/39.82 square(mark(x0)) 124.68/39.82 square(active(x0)) 124.68/39.82 124.68/39.82 We have to consider all minimal (P,Q,R)-chains. 124.68/39.82 ---------------------------------------- 124.68/39.82 124.68/39.82 (114) QDPOrderProof (EQUIVALENT) 124.68/39.82 We use the reduction pair processor [LPAR04,JAR06]. 124.68/39.82 124.68/39.82 124.68/39.82 The following pairs can be oriented strictly and are deleted. 124.68/39.82 124.68/39.82 MARK(plus(X1, X2)) -> MARK(X1) 124.68/39.82 The remaining pairs can at least be oriented weakly. 124.68/39.82 Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(ACTIVE(x_1)) = [[0A]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(from(x_1)) = [[0A]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(MARK(x_1)) = [[0A]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(cons(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(s(x_1)) = [[0A]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(mark(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(2ndspos(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(rcons(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(posrecip(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(2ndsneg(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(negrecip(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(pi(x_1)) = [[0A]] + [[1A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(0) = [[0A]] 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(plus(x_1, x_2)) = [[1A]] + [[1A]] * x_1 + [[0A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(times(x_1, x_2)) = [[-I]] + [[2A]] * x_1 + [[1A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(active(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(square(x_1)) = [[0A]] + [[3A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(rnil) = [[0A]] 124.68/39.82 >>> 124.68/39.82 124.68/39.82 124.68/39.82 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 124.68/39.82 124.68/39.82 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.82 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.82 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.82 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.82 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.82 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.82 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.82 active(plus(0, Y)) -> mark(Y) 124.68/39.82 mark(from(X)) -> active(from(mark(X))) 124.68/39.82 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.82 mark(s(X)) -> active(s(mark(X))) 124.68/39.82 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.82 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.82 active(square(X)) -> mark(times(X, X)) 124.68/39.82 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.82 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.82 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.82 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.82 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.82 mark(square(X)) -> active(square(mark(X))) 124.68/39.82 mark(0) -> active(0) 124.68/39.82 mark(rnil) -> active(rnil) 124.68/39.82 from(active(X)) -> from(X) 124.68/39.82 from(mark(X)) -> from(X) 124.68/39.82 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.82 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.82 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.82 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.82 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.82 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.82 times(mark(X1), X2) -> times(X1, X2) 124.68/39.82 times(active(X1), X2) -> times(X1, X2) 124.68/39.82 times(X1, active(X2)) -> times(X1, X2) 124.68/39.82 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.82 pi(active(X)) -> pi(X) 124.68/39.82 pi(mark(X)) -> pi(X) 124.68/39.82 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.82 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.82 active(times(0, Y)) -> mark(0) 124.68/39.82 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.82 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.82 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.82 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.82 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.82 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.82 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.82 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.82 s(active(X)) -> s(X) 124.68/39.82 s(mark(X)) -> s(X) 124.68/39.82 posrecip(active(X)) -> posrecip(X) 124.68/39.82 posrecip(mark(X)) -> posrecip(X) 124.68/39.82 negrecip(active(X)) -> negrecip(X) 124.68/39.82 negrecip(mark(X)) -> negrecip(X) 124.68/39.82 square(active(X)) -> square(X) 124.68/39.82 square(mark(X)) -> square(X) 124.68/39.82 124.68/39.82 124.68/39.82 ---------------------------------------- 124.68/39.82 124.68/39.82 (115) 124.68/39.82 Obligation: 124.68/39.82 Q DP problem: 124.68/39.82 The TRS P consists of the following rules: 124.68/39.82 124.68/39.82 ACTIVE(from(X)) -> MARK(cons(X, from(s(X)))) 124.68/39.82 MARK(cons(X1, X2)) -> MARK(X1) 124.68/39.82 MARK(from(X)) -> ACTIVE(from(mark(X))) 124.68/39.82 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.82 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.82 MARK(rcons(X1, X2)) -> MARK(X1) 124.68/39.82 ACTIVE(pi(X)) -> MARK(2ndspos(X, from(0))) 124.68/39.82 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.68/39.82 ACTIVE(plus(0, Y)) -> MARK(Y) 124.68/39.82 MARK(s(X)) -> MARK(X) 124.68/39.82 MARK(2ndspos(X1, X2)) -> MARK(X1) 124.68/39.82 MARK(rcons(X1, X2)) -> MARK(X2) 124.68/39.82 ACTIVE(plus(s(X), Y)) -> MARK(s(plus(X, Y))) 124.68/39.82 ACTIVE(times(s(X), Y)) -> MARK(plus(Y, times(X, Y))) 124.68/39.82 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 124.68/39.82 MARK(times(X1, X2)) -> ACTIVE(times(mark(X1), mark(X2))) 124.68/39.82 MARK(posrecip(X)) -> MARK(X) 124.68/39.82 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.68/39.82 MARK(negrecip(X)) -> MARK(X) 124.68/39.82 MARK(pi(X)) -> ACTIVE(pi(mark(X))) 124.68/39.82 MARK(pi(X)) -> MARK(X) 124.68/39.82 MARK(plus(X1, X2)) -> MARK(X2) 124.68/39.82 MARK(times(X1, X2)) -> MARK(X2) 124.68/39.82 124.68/39.82 The TRS R consists of the following rules: 124.68/39.82 124.68/39.82 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.82 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.82 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.82 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.82 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.82 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.82 active(plus(0, Y)) -> mark(Y) 124.68/39.82 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.82 active(times(0, Y)) -> mark(0) 124.68/39.82 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.82 active(square(X)) -> mark(times(X, X)) 124.68/39.82 mark(from(X)) -> active(from(mark(X))) 124.68/39.82 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.82 mark(s(X)) -> active(s(mark(X))) 124.68/39.82 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.82 mark(0) -> active(0) 124.68/39.82 mark(rnil) -> active(rnil) 124.68/39.82 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.82 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.82 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.82 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.82 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.82 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.82 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.82 mark(square(X)) -> active(square(mark(X))) 124.68/39.82 from(mark(X)) -> from(X) 124.68/39.82 from(active(X)) -> from(X) 124.68/39.82 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.82 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.82 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.82 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.82 s(mark(X)) -> s(X) 124.68/39.82 s(active(X)) -> s(X) 124.68/39.82 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.82 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.82 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.82 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.82 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.82 posrecip(mark(X)) -> posrecip(X) 124.68/39.82 posrecip(active(X)) -> posrecip(X) 124.68/39.82 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.82 negrecip(mark(X)) -> negrecip(X) 124.68/39.82 negrecip(active(X)) -> negrecip(X) 124.68/39.82 pi(mark(X)) -> pi(X) 124.68/39.82 pi(active(X)) -> pi(X) 124.68/39.82 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.82 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.82 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.82 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.82 times(mark(X1), X2) -> times(X1, X2) 124.68/39.82 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.82 times(active(X1), X2) -> times(X1, X2) 124.68/39.82 times(X1, active(X2)) -> times(X1, X2) 124.68/39.82 square(mark(X)) -> square(X) 124.68/39.82 square(active(X)) -> square(X) 124.68/39.82 124.68/39.82 The set Q consists of the following terms: 124.68/39.82 124.68/39.82 active(from(x0)) 124.68/39.82 active(2ndspos(0, x0)) 124.68/39.82 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.82 active(2ndsneg(0, x0)) 124.68/39.82 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.82 active(pi(x0)) 124.68/39.82 active(plus(0, x0)) 124.68/39.82 active(plus(s(x0), x1)) 124.68/39.82 active(times(0, x0)) 124.68/39.82 active(times(s(x0), x1)) 124.68/39.82 active(square(x0)) 124.68/39.82 mark(from(x0)) 124.68/39.82 mark(cons(x0, x1)) 124.68/39.82 mark(s(x0)) 124.68/39.82 mark(2ndspos(x0, x1)) 124.68/39.82 mark(0) 124.68/39.82 mark(rnil) 124.68/39.82 mark(rcons(x0, x1)) 124.68/39.82 mark(posrecip(x0)) 124.68/39.82 mark(2ndsneg(x0, x1)) 124.68/39.82 mark(negrecip(x0)) 124.68/39.82 mark(pi(x0)) 124.68/39.82 mark(plus(x0, x1)) 124.68/39.82 mark(times(x0, x1)) 124.68/39.82 mark(square(x0)) 124.68/39.82 from(mark(x0)) 124.68/39.82 from(active(x0)) 124.68/39.82 cons(mark(x0), x1) 124.68/39.82 cons(x0, mark(x1)) 124.68/39.82 cons(active(x0), x1) 124.68/39.82 cons(x0, active(x1)) 124.68/39.82 s(mark(x0)) 124.68/39.82 s(active(x0)) 124.68/39.82 2ndspos(mark(x0), x1) 124.68/39.82 2ndspos(x0, mark(x1)) 124.68/39.82 2ndspos(active(x0), x1) 124.68/39.82 2ndspos(x0, active(x1)) 124.68/39.82 rcons(mark(x0), x1) 124.68/39.82 rcons(x0, mark(x1)) 124.68/39.82 rcons(active(x0), x1) 124.68/39.82 rcons(x0, active(x1)) 124.68/39.82 posrecip(mark(x0)) 124.68/39.82 posrecip(active(x0)) 124.68/39.82 2ndsneg(mark(x0), x1) 124.68/39.82 2ndsneg(x0, mark(x1)) 124.68/39.82 2ndsneg(active(x0), x1) 124.68/39.82 2ndsneg(x0, active(x1)) 124.68/39.82 negrecip(mark(x0)) 124.68/39.82 negrecip(active(x0)) 124.68/39.82 pi(mark(x0)) 124.68/39.82 pi(active(x0)) 124.68/39.82 plus(mark(x0), x1) 124.68/39.82 plus(x0, mark(x1)) 124.68/39.82 plus(active(x0), x1) 124.68/39.82 plus(x0, active(x1)) 124.68/39.82 times(mark(x0), x1) 124.68/39.82 times(x0, mark(x1)) 124.68/39.82 times(active(x0), x1) 124.68/39.82 times(x0, active(x1)) 124.68/39.82 square(mark(x0)) 124.68/39.82 square(active(x0)) 124.68/39.82 124.68/39.82 We have to consider all minimal (P,Q,R)-chains. 124.68/39.82 ---------------------------------------- 124.68/39.82 124.68/39.82 (116) QDPOrderProof (EQUIVALENT) 124.68/39.82 We use the reduction pair processor [LPAR04,JAR06]. 124.68/39.82 124.68/39.82 124.68/39.82 The following pairs can be oriented strictly and are deleted. 124.68/39.82 124.68/39.82 MARK(times(X1, X2)) -> MARK(X2) 124.68/39.82 The remaining pairs can at least be oriented weakly. 124.68/39.82 Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(ACTIVE(x_1)) = [[1A]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(from(x_1)) = [[0A]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(MARK(x_1)) = [[1A]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(cons(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(s(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(mark(x_1)) = [[0A]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(2ndspos(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(rcons(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(posrecip(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(2ndsneg(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(negrecip(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(pi(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(0) = [[0A]] 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(plus(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(times(x_1, x_2)) = [[2A]] + [[-I]] * x_1 + [[1A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(active(x_1)) = [[0A]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(square(x_1)) = [[2A]] + [[2A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(rnil) = [[0A]] 124.68/39.82 >>> 124.68/39.82 124.68/39.82 124.68/39.82 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 124.68/39.82 124.68/39.82 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.82 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.82 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.82 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.82 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.82 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.82 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.82 active(plus(0, Y)) -> mark(Y) 124.68/39.82 mark(from(X)) -> active(from(mark(X))) 124.68/39.82 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.82 mark(s(X)) -> active(s(mark(X))) 124.68/39.82 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.82 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.82 active(square(X)) -> mark(times(X, X)) 124.68/39.82 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.82 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.82 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.82 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.82 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.82 mark(square(X)) -> active(square(mark(X))) 124.68/39.82 mark(0) -> active(0) 124.68/39.82 mark(rnil) -> active(rnil) 124.68/39.82 from(active(X)) -> from(X) 124.68/39.82 from(mark(X)) -> from(X) 124.68/39.82 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.82 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.82 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.82 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.82 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.82 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.82 times(mark(X1), X2) -> times(X1, X2) 124.68/39.82 times(active(X1), X2) -> times(X1, X2) 124.68/39.82 times(X1, active(X2)) -> times(X1, X2) 124.68/39.82 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.82 pi(active(X)) -> pi(X) 124.68/39.82 pi(mark(X)) -> pi(X) 124.68/39.82 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.82 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.82 active(times(0, Y)) -> mark(0) 124.68/39.82 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.82 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.82 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.82 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.82 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.82 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.82 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.82 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.82 s(active(X)) -> s(X) 124.68/39.82 s(mark(X)) -> s(X) 124.68/39.82 posrecip(active(X)) -> posrecip(X) 124.68/39.82 posrecip(mark(X)) -> posrecip(X) 124.68/39.82 negrecip(active(X)) -> negrecip(X) 124.68/39.82 negrecip(mark(X)) -> negrecip(X) 124.68/39.82 square(active(X)) -> square(X) 124.68/39.82 square(mark(X)) -> square(X) 124.68/39.82 124.68/39.82 124.68/39.82 ---------------------------------------- 124.68/39.82 124.68/39.82 (117) 124.68/39.82 Obligation: 124.68/39.82 Q DP problem: 124.68/39.82 The TRS P consists of the following rules: 124.68/39.82 124.68/39.82 ACTIVE(from(X)) -> MARK(cons(X, from(s(X)))) 124.68/39.82 MARK(cons(X1, X2)) -> MARK(X1) 124.68/39.82 MARK(from(X)) -> ACTIVE(from(mark(X))) 124.68/39.82 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.82 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.82 MARK(rcons(X1, X2)) -> MARK(X1) 124.68/39.82 ACTIVE(pi(X)) -> MARK(2ndspos(X, from(0))) 124.68/39.82 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.68/39.82 ACTIVE(plus(0, Y)) -> MARK(Y) 124.68/39.82 MARK(s(X)) -> MARK(X) 124.68/39.82 MARK(2ndspos(X1, X2)) -> MARK(X1) 124.68/39.82 MARK(rcons(X1, X2)) -> MARK(X2) 124.68/39.82 ACTIVE(plus(s(X), Y)) -> MARK(s(plus(X, Y))) 124.68/39.82 ACTIVE(times(s(X), Y)) -> MARK(plus(Y, times(X, Y))) 124.68/39.82 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 124.68/39.82 MARK(times(X1, X2)) -> ACTIVE(times(mark(X1), mark(X2))) 124.68/39.82 MARK(posrecip(X)) -> MARK(X) 124.68/39.82 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.68/39.82 MARK(negrecip(X)) -> MARK(X) 124.68/39.82 MARK(pi(X)) -> ACTIVE(pi(mark(X))) 124.68/39.82 MARK(pi(X)) -> MARK(X) 124.68/39.82 MARK(plus(X1, X2)) -> MARK(X2) 124.68/39.82 124.68/39.82 The TRS R consists of the following rules: 124.68/39.82 124.68/39.82 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.82 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.82 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.82 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.82 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.82 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.82 active(plus(0, Y)) -> mark(Y) 124.68/39.82 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.82 active(times(0, Y)) -> mark(0) 124.68/39.82 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.82 active(square(X)) -> mark(times(X, X)) 124.68/39.82 mark(from(X)) -> active(from(mark(X))) 124.68/39.82 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.82 mark(s(X)) -> active(s(mark(X))) 124.68/39.82 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.82 mark(0) -> active(0) 124.68/39.82 mark(rnil) -> active(rnil) 124.68/39.82 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.82 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.82 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.82 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.82 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.82 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.82 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.82 mark(square(X)) -> active(square(mark(X))) 124.68/39.82 from(mark(X)) -> from(X) 124.68/39.82 from(active(X)) -> from(X) 124.68/39.82 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.82 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.82 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.82 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.82 s(mark(X)) -> s(X) 124.68/39.82 s(active(X)) -> s(X) 124.68/39.82 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.82 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.82 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.82 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.82 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.82 posrecip(mark(X)) -> posrecip(X) 124.68/39.82 posrecip(active(X)) -> posrecip(X) 124.68/39.82 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.82 negrecip(mark(X)) -> negrecip(X) 124.68/39.82 negrecip(active(X)) -> negrecip(X) 124.68/39.82 pi(mark(X)) -> pi(X) 124.68/39.82 pi(active(X)) -> pi(X) 124.68/39.82 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.82 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.82 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.82 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.82 times(mark(X1), X2) -> times(X1, X2) 124.68/39.82 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.82 times(active(X1), X2) -> times(X1, X2) 124.68/39.82 times(X1, active(X2)) -> times(X1, X2) 124.68/39.82 square(mark(X)) -> square(X) 124.68/39.82 square(active(X)) -> square(X) 124.68/39.82 124.68/39.82 The set Q consists of the following terms: 124.68/39.82 124.68/39.82 active(from(x0)) 124.68/39.82 active(2ndspos(0, x0)) 124.68/39.82 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.82 active(2ndsneg(0, x0)) 124.68/39.82 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.82 active(pi(x0)) 124.68/39.82 active(plus(0, x0)) 124.68/39.82 active(plus(s(x0), x1)) 124.68/39.82 active(times(0, x0)) 124.68/39.82 active(times(s(x0), x1)) 124.68/39.82 active(square(x0)) 124.68/39.82 mark(from(x0)) 124.68/39.82 mark(cons(x0, x1)) 124.68/39.82 mark(s(x0)) 124.68/39.82 mark(2ndspos(x0, x1)) 124.68/39.82 mark(0) 124.68/39.82 mark(rnil) 124.68/39.82 mark(rcons(x0, x1)) 124.68/39.82 mark(posrecip(x0)) 124.68/39.82 mark(2ndsneg(x0, x1)) 124.68/39.82 mark(negrecip(x0)) 124.68/39.82 mark(pi(x0)) 124.68/39.82 mark(plus(x0, x1)) 124.68/39.82 mark(times(x0, x1)) 124.68/39.82 mark(square(x0)) 124.68/39.82 from(mark(x0)) 124.68/39.82 from(active(x0)) 124.68/39.82 cons(mark(x0), x1) 124.68/39.82 cons(x0, mark(x1)) 124.68/39.82 cons(active(x0), x1) 124.68/39.82 cons(x0, active(x1)) 124.68/39.82 s(mark(x0)) 124.68/39.82 s(active(x0)) 124.68/39.82 2ndspos(mark(x0), x1) 124.68/39.82 2ndspos(x0, mark(x1)) 124.68/39.82 2ndspos(active(x0), x1) 124.68/39.82 2ndspos(x0, active(x1)) 124.68/39.82 rcons(mark(x0), x1) 124.68/39.82 rcons(x0, mark(x1)) 124.68/39.82 rcons(active(x0), x1) 124.68/39.82 rcons(x0, active(x1)) 124.68/39.82 posrecip(mark(x0)) 124.68/39.82 posrecip(active(x0)) 124.68/39.82 2ndsneg(mark(x0), x1) 124.68/39.82 2ndsneg(x0, mark(x1)) 124.68/39.82 2ndsneg(active(x0), x1) 124.68/39.82 2ndsneg(x0, active(x1)) 124.68/39.82 negrecip(mark(x0)) 124.68/39.82 negrecip(active(x0)) 124.68/39.82 pi(mark(x0)) 124.68/39.82 pi(active(x0)) 124.68/39.82 plus(mark(x0), x1) 124.68/39.82 plus(x0, mark(x1)) 124.68/39.82 plus(active(x0), x1) 124.68/39.82 plus(x0, active(x1)) 124.68/39.82 times(mark(x0), x1) 124.68/39.82 times(x0, mark(x1)) 124.68/39.82 times(active(x0), x1) 124.68/39.82 times(x0, active(x1)) 124.68/39.82 square(mark(x0)) 124.68/39.82 square(active(x0)) 124.68/39.82 124.68/39.82 We have to consider all minimal (P,Q,R)-chains. 124.68/39.82 ---------------------------------------- 124.68/39.82 124.68/39.82 (118) QDPOrderProof (EQUIVALENT) 124.68/39.82 We use the reduction pair processor [LPAR04,JAR06]. 124.68/39.82 124.68/39.82 124.68/39.82 The following pairs can be oriented strictly and are deleted. 124.68/39.82 124.68/39.82 MARK(cons(X1, X2)) -> MARK(X1) 124.68/39.82 The remaining pairs can at least be oriented weakly. 124.68/39.82 Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(ACTIVE(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(from(x_1)) = [[0A]] + [[1A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(MARK(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(cons(x_1, x_2)) = [[-I]] + [[1A]] * x_1 + [[0A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(s(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(mark(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(2ndspos(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(rcons(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(posrecip(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(2ndsneg(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(negrecip(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(pi(x_1)) = [[1A]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(0) = [[0A]] 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(plus(x_1, x_2)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(times(x_1, x_2)) = [[0A]] + [[-I]] * x_1 + [[-I]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(active(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(square(x_1)) = [[0A]] + [[-I]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(rnil) = [[0A]] 124.68/39.82 >>> 124.68/39.82 124.68/39.82 124.68/39.82 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 124.68/39.82 124.68/39.82 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.82 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.82 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.82 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.82 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.82 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.82 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.82 active(plus(0, Y)) -> mark(Y) 124.68/39.82 mark(from(X)) -> active(from(mark(X))) 124.68/39.82 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.82 mark(s(X)) -> active(s(mark(X))) 124.68/39.82 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.82 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.82 active(square(X)) -> mark(times(X, X)) 124.68/39.82 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.82 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.82 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.82 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.82 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.82 mark(square(X)) -> active(square(mark(X))) 124.68/39.82 mark(0) -> active(0) 124.68/39.82 mark(rnil) -> active(rnil) 124.68/39.82 from(active(X)) -> from(X) 124.68/39.82 from(mark(X)) -> from(X) 124.68/39.82 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.82 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.82 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.82 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.82 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.82 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.82 times(mark(X1), X2) -> times(X1, X2) 124.68/39.82 times(active(X1), X2) -> times(X1, X2) 124.68/39.82 times(X1, active(X2)) -> times(X1, X2) 124.68/39.82 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.82 pi(active(X)) -> pi(X) 124.68/39.82 pi(mark(X)) -> pi(X) 124.68/39.82 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.82 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.82 active(times(0, Y)) -> mark(0) 124.68/39.82 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.82 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.82 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.82 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.82 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.82 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.82 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.82 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.82 s(active(X)) -> s(X) 124.68/39.82 s(mark(X)) -> s(X) 124.68/39.82 posrecip(active(X)) -> posrecip(X) 124.68/39.82 posrecip(mark(X)) -> posrecip(X) 124.68/39.82 negrecip(active(X)) -> negrecip(X) 124.68/39.82 negrecip(mark(X)) -> negrecip(X) 124.68/39.82 square(active(X)) -> square(X) 124.68/39.82 square(mark(X)) -> square(X) 124.68/39.82 124.68/39.82 124.68/39.82 ---------------------------------------- 124.68/39.82 124.68/39.82 (119) 124.68/39.82 Obligation: 124.68/39.82 Q DP problem: 124.68/39.82 The TRS P consists of the following rules: 124.68/39.82 124.68/39.82 ACTIVE(from(X)) -> MARK(cons(X, from(s(X)))) 124.68/39.82 MARK(from(X)) -> ACTIVE(from(mark(X))) 124.68/39.82 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.82 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.82 MARK(rcons(X1, X2)) -> MARK(X1) 124.68/39.82 ACTIVE(pi(X)) -> MARK(2ndspos(X, from(0))) 124.68/39.82 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.68/39.82 ACTIVE(plus(0, Y)) -> MARK(Y) 124.68/39.82 MARK(s(X)) -> MARK(X) 124.68/39.82 MARK(2ndspos(X1, X2)) -> MARK(X1) 124.68/39.82 MARK(rcons(X1, X2)) -> MARK(X2) 124.68/39.82 ACTIVE(plus(s(X), Y)) -> MARK(s(plus(X, Y))) 124.68/39.82 ACTIVE(times(s(X), Y)) -> MARK(plus(Y, times(X, Y))) 124.68/39.82 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 124.68/39.82 MARK(times(X1, X2)) -> ACTIVE(times(mark(X1), mark(X2))) 124.68/39.82 MARK(posrecip(X)) -> MARK(X) 124.68/39.82 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.68/39.82 MARK(negrecip(X)) -> MARK(X) 124.68/39.82 MARK(pi(X)) -> ACTIVE(pi(mark(X))) 124.68/39.82 MARK(pi(X)) -> MARK(X) 124.68/39.82 MARK(plus(X1, X2)) -> MARK(X2) 124.68/39.82 124.68/39.82 The TRS R consists of the following rules: 124.68/39.82 124.68/39.82 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.82 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.82 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.82 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.82 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.82 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.82 active(plus(0, Y)) -> mark(Y) 124.68/39.82 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.82 active(times(0, Y)) -> mark(0) 124.68/39.82 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.82 active(square(X)) -> mark(times(X, X)) 124.68/39.82 mark(from(X)) -> active(from(mark(X))) 124.68/39.82 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.82 mark(s(X)) -> active(s(mark(X))) 124.68/39.82 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.82 mark(0) -> active(0) 124.68/39.82 mark(rnil) -> active(rnil) 124.68/39.82 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.82 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.82 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.82 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.82 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.82 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.82 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.82 mark(square(X)) -> active(square(mark(X))) 124.68/39.82 from(mark(X)) -> from(X) 124.68/39.82 from(active(X)) -> from(X) 124.68/39.82 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.82 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.82 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.82 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.82 s(mark(X)) -> s(X) 124.68/39.82 s(active(X)) -> s(X) 124.68/39.82 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.82 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.82 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.82 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.82 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.82 posrecip(mark(X)) -> posrecip(X) 124.68/39.82 posrecip(active(X)) -> posrecip(X) 124.68/39.82 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.82 negrecip(mark(X)) -> negrecip(X) 124.68/39.82 negrecip(active(X)) -> negrecip(X) 124.68/39.82 pi(mark(X)) -> pi(X) 124.68/39.82 pi(active(X)) -> pi(X) 124.68/39.82 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.82 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.82 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.82 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.82 times(mark(X1), X2) -> times(X1, X2) 124.68/39.82 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.82 times(active(X1), X2) -> times(X1, X2) 124.68/39.82 times(X1, active(X2)) -> times(X1, X2) 124.68/39.82 square(mark(X)) -> square(X) 124.68/39.82 square(active(X)) -> square(X) 124.68/39.82 124.68/39.82 The set Q consists of the following terms: 124.68/39.82 124.68/39.82 active(from(x0)) 124.68/39.82 active(2ndspos(0, x0)) 124.68/39.82 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.82 active(2ndsneg(0, x0)) 124.68/39.82 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.82 active(pi(x0)) 124.68/39.82 active(plus(0, x0)) 124.68/39.82 active(plus(s(x0), x1)) 124.68/39.82 active(times(0, x0)) 124.68/39.82 active(times(s(x0), x1)) 124.68/39.82 active(square(x0)) 124.68/39.82 mark(from(x0)) 124.68/39.82 mark(cons(x0, x1)) 124.68/39.82 mark(s(x0)) 124.68/39.82 mark(2ndspos(x0, x1)) 124.68/39.82 mark(0) 124.68/39.82 mark(rnil) 124.68/39.82 mark(rcons(x0, x1)) 124.68/39.82 mark(posrecip(x0)) 124.68/39.82 mark(2ndsneg(x0, x1)) 124.68/39.82 mark(negrecip(x0)) 124.68/39.82 mark(pi(x0)) 124.68/39.82 mark(plus(x0, x1)) 124.68/39.82 mark(times(x0, x1)) 124.68/39.82 mark(square(x0)) 124.68/39.82 from(mark(x0)) 124.68/39.82 from(active(x0)) 124.68/39.82 cons(mark(x0), x1) 124.68/39.82 cons(x0, mark(x1)) 124.68/39.82 cons(active(x0), x1) 124.68/39.82 cons(x0, active(x1)) 124.68/39.82 s(mark(x0)) 124.68/39.82 s(active(x0)) 124.68/39.82 2ndspos(mark(x0), x1) 124.68/39.82 2ndspos(x0, mark(x1)) 124.68/39.82 2ndspos(active(x0), x1) 124.68/39.82 2ndspos(x0, active(x1)) 124.68/39.82 rcons(mark(x0), x1) 124.68/39.82 rcons(x0, mark(x1)) 124.68/39.82 rcons(active(x0), x1) 124.68/39.82 rcons(x0, active(x1)) 124.68/39.82 posrecip(mark(x0)) 124.68/39.82 posrecip(active(x0)) 124.68/39.82 2ndsneg(mark(x0), x1) 124.68/39.82 2ndsneg(x0, mark(x1)) 124.68/39.82 2ndsneg(active(x0), x1) 124.68/39.82 2ndsneg(x0, active(x1)) 124.68/39.82 negrecip(mark(x0)) 124.68/39.82 negrecip(active(x0)) 124.68/39.82 pi(mark(x0)) 124.68/39.82 pi(active(x0)) 124.68/39.82 plus(mark(x0), x1) 124.68/39.82 plus(x0, mark(x1)) 124.68/39.82 plus(active(x0), x1) 124.68/39.82 plus(x0, active(x1)) 124.68/39.82 times(mark(x0), x1) 124.68/39.82 times(x0, mark(x1)) 124.68/39.82 times(active(x0), x1) 124.68/39.82 times(x0, active(x1)) 124.68/39.82 square(mark(x0)) 124.68/39.82 square(active(x0)) 124.68/39.82 124.68/39.82 We have to consider all minimal (P,Q,R)-chains. 124.68/39.82 ---------------------------------------- 124.68/39.82 124.68/39.82 (120) DependencyGraphProof (EQUIVALENT) 124.68/39.82 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 124.68/39.82 ---------------------------------------- 124.68/39.82 124.68/39.82 (121) 124.68/39.82 Obligation: 124.68/39.82 Q DP problem: 124.68/39.82 The TRS P consists of the following rules: 124.68/39.82 124.68/39.82 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.82 MARK(rcons(X1, X2)) -> MARK(X1) 124.68/39.82 MARK(from(X)) -> ACTIVE(from(mark(X))) 124.68/39.82 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.82 MARK(rcons(X1, X2)) -> MARK(X2) 124.68/39.82 MARK(s(X)) -> MARK(X) 124.68/39.82 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.68/39.82 ACTIVE(pi(X)) -> MARK(2ndspos(X, from(0))) 124.68/39.82 MARK(2ndspos(X1, X2)) -> MARK(X1) 124.68/39.82 MARK(posrecip(X)) -> MARK(X) 124.68/39.82 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.68/39.82 ACTIVE(plus(0, Y)) -> MARK(Y) 124.68/39.82 MARK(negrecip(X)) -> MARK(X) 124.68/39.82 MARK(pi(X)) -> ACTIVE(pi(mark(X))) 124.68/39.82 ACTIVE(plus(s(X), Y)) -> MARK(s(plus(X, Y))) 124.68/39.82 ACTIVE(times(s(X), Y)) -> MARK(plus(Y, times(X, Y))) 124.68/39.82 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 124.68/39.82 MARK(plus(X1, X2)) -> MARK(X2) 124.68/39.82 MARK(pi(X)) -> MARK(X) 124.68/39.82 MARK(times(X1, X2)) -> ACTIVE(times(mark(X1), mark(X2))) 124.68/39.82 124.68/39.82 The TRS R consists of the following rules: 124.68/39.82 124.68/39.82 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.82 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.82 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.82 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.82 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.82 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.82 active(plus(0, Y)) -> mark(Y) 124.68/39.82 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.82 active(times(0, Y)) -> mark(0) 124.68/39.82 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.82 active(square(X)) -> mark(times(X, X)) 124.68/39.82 mark(from(X)) -> active(from(mark(X))) 124.68/39.82 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.82 mark(s(X)) -> active(s(mark(X))) 124.68/39.82 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.82 mark(0) -> active(0) 124.68/39.82 mark(rnil) -> active(rnil) 124.68/39.82 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.82 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.82 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.82 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.82 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.82 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.82 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.82 mark(square(X)) -> active(square(mark(X))) 124.68/39.82 from(mark(X)) -> from(X) 124.68/39.82 from(active(X)) -> from(X) 124.68/39.82 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.82 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.82 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.82 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.82 s(mark(X)) -> s(X) 124.68/39.82 s(active(X)) -> s(X) 124.68/39.82 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.82 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.82 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.82 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.82 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.82 posrecip(mark(X)) -> posrecip(X) 124.68/39.82 posrecip(active(X)) -> posrecip(X) 124.68/39.82 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.82 negrecip(mark(X)) -> negrecip(X) 124.68/39.82 negrecip(active(X)) -> negrecip(X) 124.68/39.82 pi(mark(X)) -> pi(X) 124.68/39.82 pi(active(X)) -> pi(X) 124.68/39.82 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.82 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.82 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.82 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.82 times(mark(X1), X2) -> times(X1, X2) 124.68/39.82 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.82 times(active(X1), X2) -> times(X1, X2) 124.68/39.82 times(X1, active(X2)) -> times(X1, X2) 124.68/39.82 square(mark(X)) -> square(X) 124.68/39.82 square(active(X)) -> square(X) 124.68/39.82 124.68/39.82 The set Q consists of the following terms: 124.68/39.82 124.68/39.82 active(from(x0)) 124.68/39.82 active(2ndspos(0, x0)) 124.68/39.82 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.82 active(2ndsneg(0, x0)) 124.68/39.82 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.82 active(pi(x0)) 124.68/39.82 active(plus(0, x0)) 124.68/39.82 active(plus(s(x0), x1)) 124.68/39.82 active(times(0, x0)) 124.68/39.82 active(times(s(x0), x1)) 124.68/39.82 active(square(x0)) 124.68/39.82 mark(from(x0)) 124.68/39.82 mark(cons(x0, x1)) 124.68/39.82 mark(s(x0)) 124.68/39.82 mark(2ndspos(x0, x1)) 124.68/39.82 mark(0) 124.68/39.82 mark(rnil) 124.68/39.82 mark(rcons(x0, x1)) 124.68/39.82 mark(posrecip(x0)) 124.68/39.82 mark(2ndsneg(x0, x1)) 124.68/39.82 mark(negrecip(x0)) 124.68/39.82 mark(pi(x0)) 124.68/39.82 mark(plus(x0, x1)) 124.68/39.82 mark(times(x0, x1)) 124.68/39.82 mark(square(x0)) 124.68/39.82 from(mark(x0)) 124.68/39.82 from(active(x0)) 124.68/39.82 cons(mark(x0), x1) 124.68/39.82 cons(x0, mark(x1)) 124.68/39.82 cons(active(x0), x1) 124.68/39.82 cons(x0, active(x1)) 124.68/39.82 s(mark(x0)) 124.68/39.82 s(active(x0)) 124.68/39.82 2ndspos(mark(x0), x1) 124.68/39.82 2ndspos(x0, mark(x1)) 124.68/39.82 2ndspos(active(x0), x1) 124.68/39.82 2ndspos(x0, active(x1)) 124.68/39.82 rcons(mark(x0), x1) 124.68/39.82 rcons(x0, mark(x1)) 124.68/39.82 rcons(active(x0), x1) 124.68/39.82 rcons(x0, active(x1)) 124.68/39.82 posrecip(mark(x0)) 124.68/39.82 posrecip(active(x0)) 124.68/39.82 2ndsneg(mark(x0), x1) 124.68/39.82 2ndsneg(x0, mark(x1)) 124.68/39.82 2ndsneg(active(x0), x1) 124.68/39.82 2ndsneg(x0, active(x1)) 124.68/39.82 negrecip(mark(x0)) 124.68/39.82 negrecip(active(x0)) 124.68/39.82 pi(mark(x0)) 124.68/39.82 pi(active(x0)) 124.68/39.82 plus(mark(x0), x1) 124.68/39.82 plus(x0, mark(x1)) 124.68/39.82 plus(active(x0), x1) 124.68/39.82 plus(x0, active(x1)) 124.68/39.82 times(mark(x0), x1) 124.68/39.82 times(x0, mark(x1)) 124.68/39.82 times(active(x0), x1) 124.68/39.82 times(x0, active(x1)) 124.68/39.82 square(mark(x0)) 124.68/39.82 square(active(x0)) 124.68/39.82 124.68/39.82 We have to consider all minimal (P,Q,R)-chains. 124.68/39.82 ---------------------------------------- 124.68/39.82 124.68/39.82 (122) QDPQMonotonicMRRProof (EQUIVALENT) 124.68/39.82 By using the Q-monotonic rule removal processor with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented such that it always occurs at a strongly monotonic position in a (P,Q,R)-chain. 124.68/39.82 124.68/39.82 Strictly oriented dependency pairs: 124.68/39.82 124.68/39.82 MARK(from(X)) -> ACTIVE(from(mark(X))) 124.68/39.82 124.68/39.82 124.68/39.82 Used ordering: Polynomial interpretation [POLO]: 124.68/39.82 124.68/39.82 POL(0) = 0 124.68/39.82 POL(2ndsneg(x_1, x_2)) = 1 124.68/39.82 POL(2ndspos(x_1, x_2)) = 1 124.68/39.82 POL(ACTIVE(x_1)) = x_1 124.68/39.82 POL(MARK(x_1)) = 1 124.68/39.82 POL(active(x_1)) = 0 124.68/39.82 POL(cons(x_1, x_2)) = 0 124.68/39.82 POL(from(x_1)) = 0 124.68/39.82 POL(mark(x_1)) = 0 124.68/39.82 POL(negrecip(x_1)) = 0 124.68/39.82 POL(pi(x_1)) = 1 124.68/39.82 POL(plus(x_1, x_2)) = 1 124.68/39.82 POL(posrecip(x_1)) = 0 124.68/39.82 POL(rcons(x_1, x_2)) = 0 124.68/39.82 POL(rnil) = 0 124.68/39.82 POL(s(x_1)) = 0 124.68/39.82 POL(square(x_1)) = 0 124.68/39.82 POL(times(x_1, x_2)) = 1 124.68/39.82 124.68/39.82 124.68/39.82 ---------------------------------------- 124.68/39.82 124.68/39.82 (123) 124.68/39.82 Obligation: 124.68/39.82 Q DP problem: 124.68/39.82 The TRS P consists of the following rules: 124.68/39.82 124.68/39.82 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.82 MARK(rcons(X1, X2)) -> MARK(X1) 124.68/39.82 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.82 MARK(rcons(X1, X2)) -> MARK(X2) 124.68/39.82 MARK(s(X)) -> MARK(X) 124.68/39.82 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.68/39.82 ACTIVE(pi(X)) -> MARK(2ndspos(X, from(0))) 124.68/39.82 MARK(2ndspos(X1, X2)) -> MARK(X1) 124.68/39.82 MARK(posrecip(X)) -> MARK(X) 124.68/39.82 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.68/39.82 ACTIVE(plus(0, Y)) -> MARK(Y) 124.68/39.82 MARK(negrecip(X)) -> MARK(X) 124.68/39.82 MARK(pi(X)) -> ACTIVE(pi(mark(X))) 124.68/39.82 ACTIVE(plus(s(X), Y)) -> MARK(s(plus(X, Y))) 124.68/39.82 ACTIVE(times(s(X), Y)) -> MARK(plus(Y, times(X, Y))) 124.68/39.82 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 124.68/39.82 MARK(plus(X1, X2)) -> MARK(X2) 124.68/39.82 MARK(pi(X)) -> MARK(X) 124.68/39.82 MARK(times(X1, X2)) -> ACTIVE(times(mark(X1), mark(X2))) 124.68/39.82 124.68/39.82 The TRS R consists of the following rules: 124.68/39.82 124.68/39.82 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.82 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.82 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.82 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.82 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.82 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.82 active(plus(0, Y)) -> mark(Y) 124.68/39.82 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.82 active(times(0, Y)) -> mark(0) 124.68/39.82 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.82 active(square(X)) -> mark(times(X, X)) 124.68/39.82 mark(from(X)) -> active(from(mark(X))) 124.68/39.82 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.82 mark(s(X)) -> active(s(mark(X))) 124.68/39.82 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.82 mark(0) -> active(0) 124.68/39.82 mark(rnil) -> active(rnil) 124.68/39.82 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.82 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.82 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.82 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.82 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.82 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.82 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.82 mark(square(X)) -> active(square(mark(X))) 124.68/39.82 from(mark(X)) -> from(X) 124.68/39.82 from(active(X)) -> from(X) 124.68/39.82 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.82 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.82 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.82 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.82 s(mark(X)) -> s(X) 124.68/39.82 s(active(X)) -> s(X) 124.68/39.82 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.82 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.82 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.82 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.82 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.82 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.82 posrecip(mark(X)) -> posrecip(X) 124.68/39.82 posrecip(active(X)) -> posrecip(X) 124.68/39.82 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.82 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.82 negrecip(mark(X)) -> negrecip(X) 124.68/39.82 negrecip(active(X)) -> negrecip(X) 124.68/39.82 pi(mark(X)) -> pi(X) 124.68/39.82 pi(active(X)) -> pi(X) 124.68/39.82 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.82 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.82 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.82 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.82 times(mark(X1), X2) -> times(X1, X2) 124.68/39.82 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.82 times(active(X1), X2) -> times(X1, X2) 124.68/39.82 times(X1, active(X2)) -> times(X1, X2) 124.68/39.82 square(mark(X)) -> square(X) 124.68/39.82 square(active(X)) -> square(X) 124.68/39.82 124.68/39.82 The set Q consists of the following terms: 124.68/39.82 124.68/39.82 active(from(x0)) 124.68/39.82 active(2ndspos(0, x0)) 124.68/39.82 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.82 active(2ndsneg(0, x0)) 124.68/39.82 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.82 active(pi(x0)) 124.68/39.82 active(plus(0, x0)) 124.68/39.82 active(plus(s(x0), x1)) 124.68/39.82 active(times(0, x0)) 124.68/39.82 active(times(s(x0), x1)) 124.68/39.82 active(square(x0)) 124.68/39.82 mark(from(x0)) 124.68/39.82 mark(cons(x0, x1)) 124.68/39.82 mark(s(x0)) 124.68/39.82 mark(2ndspos(x0, x1)) 124.68/39.82 mark(0) 124.68/39.82 mark(rnil) 124.68/39.82 mark(rcons(x0, x1)) 124.68/39.82 mark(posrecip(x0)) 124.68/39.82 mark(2ndsneg(x0, x1)) 124.68/39.82 mark(negrecip(x0)) 124.68/39.82 mark(pi(x0)) 124.68/39.82 mark(plus(x0, x1)) 124.68/39.82 mark(times(x0, x1)) 124.68/39.82 mark(square(x0)) 124.68/39.82 from(mark(x0)) 124.68/39.82 from(active(x0)) 124.68/39.82 cons(mark(x0), x1) 124.68/39.82 cons(x0, mark(x1)) 124.68/39.82 cons(active(x0), x1) 124.68/39.82 cons(x0, active(x1)) 124.68/39.82 s(mark(x0)) 124.68/39.82 s(active(x0)) 124.68/39.82 2ndspos(mark(x0), x1) 124.68/39.82 2ndspos(x0, mark(x1)) 124.68/39.82 2ndspos(active(x0), x1) 124.68/39.82 2ndspos(x0, active(x1)) 124.68/39.82 rcons(mark(x0), x1) 124.68/39.82 rcons(x0, mark(x1)) 124.68/39.82 rcons(active(x0), x1) 124.68/39.82 rcons(x0, active(x1)) 124.68/39.82 posrecip(mark(x0)) 124.68/39.82 posrecip(active(x0)) 124.68/39.82 2ndsneg(mark(x0), x1) 124.68/39.82 2ndsneg(x0, mark(x1)) 124.68/39.82 2ndsneg(active(x0), x1) 124.68/39.82 2ndsneg(x0, active(x1)) 124.68/39.82 negrecip(mark(x0)) 124.68/39.82 negrecip(active(x0)) 124.68/39.82 pi(mark(x0)) 124.68/39.82 pi(active(x0)) 124.68/39.82 plus(mark(x0), x1) 124.68/39.82 plus(x0, mark(x1)) 124.68/39.82 plus(active(x0), x1) 124.68/39.82 plus(x0, active(x1)) 124.68/39.82 times(mark(x0), x1) 124.68/39.82 times(x0, mark(x1)) 124.68/39.82 times(active(x0), x1) 124.68/39.82 times(x0, active(x1)) 124.68/39.82 square(mark(x0)) 124.68/39.82 square(active(x0)) 124.68/39.82 124.68/39.82 We have to consider all minimal (P,Q,R)-chains. 124.68/39.82 ---------------------------------------- 124.68/39.82 124.68/39.82 (124) QDPOrderProof (EQUIVALENT) 124.68/39.82 We use the reduction pair processor [LPAR04,JAR06]. 124.68/39.82 124.68/39.82 124.68/39.82 The following pairs can be oriented strictly and are deleted. 124.68/39.82 124.68/39.82 MARK(pi(X)) -> MARK(X) 124.68/39.82 The remaining pairs can at least be oriented weakly. 124.68/39.82 Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(ACTIVE(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(2ndspos(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(s(x_1)) = [[0A]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(cons(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(MARK(x_1)) = [[0A]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(rcons(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(posrecip(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(2ndsneg(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.82 POL(negrecip(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.82 >>> 124.68/39.82 124.68/39.82 <<< 124.68/39.83 POL(mark(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(pi(x_1)) = [[1A]] + [[1A]] * x_1 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(from(x_1)) = [[1A]] + [[0A]] * x_1 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(0) = [[0A]] 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(plus(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(times(x_1, x_2)) = [[-I]] + [[3A]] * x_1 + [[0A]] * x_2 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(active(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(square(x_1)) = [[-I]] + [[4A]] * x_1 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(rnil) = [[0A]] 124.68/39.83 >>> 124.68/39.83 124.68/39.83 124.68/39.83 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 124.68/39.83 124.68/39.83 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.83 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.83 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.83 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.83 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.83 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.83 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.83 active(plus(0, Y)) -> mark(Y) 124.68/39.83 mark(from(X)) -> active(from(mark(X))) 124.68/39.83 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.83 mark(s(X)) -> active(s(mark(X))) 124.68/39.83 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.83 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.83 active(square(X)) -> mark(times(X, X)) 124.68/39.83 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.83 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.83 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.83 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.83 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.83 mark(square(X)) -> active(square(mark(X))) 124.68/39.83 mark(0) -> active(0) 124.68/39.83 mark(rnil) -> active(rnil) 124.68/39.83 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.83 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.83 pi(active(X)) -> pi(X) 124.68/39.83 pi(mark(X)) -> pi(X) 124.68/39.83 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.83 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.83 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.83 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.83 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.83 times(mark(X1), X2) -> times(X1, X2) 124.68/39.83 times(active(X1), X2) -> times(X1, X2) 124.68/39.83 times(X1, active(X2)) -> times(X1, X2) 124.68/39.83 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.83 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.83 active(times(0, Y)) -> mark(0) 124.68/39.83 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.83 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.83 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.83 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.83 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.83 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.83 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.83 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.83 from(active(X)) -> from(X) 124.68/39.83 from(mark(X)) -> from(X) 124.68/39.83 s(active(X)) -> s(X) 124.68/39.83 s(mark(X)) -> s(X) 124.68/39.83 posrecip(active(X)) -> posrecip(X) 124.68/39.83 posrecip(mark(X)) -> posrecip(X) 124.68/39.83 negrecip(active(X)) -> negrecip(X) 124.68/39.83 negrecip(mark(X)) -> negrecip(X) 124.68/39.83 square(active(X)) -> square(X) 124.68/39.83 square(mark(X)) -> square(X) 124.68/39.83 124.68/39.83 124.68/39.83 ---------------------------------------- 124.68/39.83 124.68/39.83 (125) 124.68/39.83 Obligation: 124.68/39.83 Q DP problem: 124.68/39.83 The TRS P consists of the following rules: 124.68/39.83 124.68/39.83 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.83 MARK(rcons(X1, X2)) -> MARK(X1) 124.68/39.83 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.83 MARK(rcons(X1, X2)) -> MARK(X2) 124.68/39.83 MARK(s(X)) -> MARK(X) 124.68/39.83 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.68/39.83 ACTIVE(pi(X)) -> MARK(2ndspos(X, from(0))) 124.68/39.83 MARK(2ndspos(X1, X2)) -> MARK(X1) 124.68/39.83 MARK(posrecip(X)) -> MARK(X) 124.68/39.83 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.68/39.83 ACTIVE(plus(0, Y)) -> MARK(Y) 124.68/39.83 MARK(negrecip(X)) -> MARK(X) 124.68/39.83 MARK(pi(X)) -> ACTIVE(pi(mark(X))) 124.68/39.83 ACTIVE(plus(s(X), Y)) -> MARK(s(plus(X, Y))) 124.68/39.83 ACTIVE(times(s(X), Y)) -> MARK(plus(Y, times(X, Y))) 124.68/39.83 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 124.68/39.83 MARK(plus(X1, X2)) -> MARK(X2) 124.68/39.83 MARK(times(X1, X2)) -> ACTIVE(times(mark(X1), mark(X2))) 124.68/39.83 124.68/39.83 The TRS R consists of the following rules: 124.68/39.83 124.68/39.83 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.83 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.83 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.83 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.83 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.83 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.83 active(plus(0, Y)) -> mark(Y) 124.68/39.83 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.83 active(times(0, Y)) -> mark(0) 124.68/39.83 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.83 active(square(X)) -> mark(times(X, X)) 124.68/39.83 mark(from(X)) -> active(from(mark(X))) 124.68/39.83 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.83 mark(s(X)) -> active(s(mark(X))) 124.68/39.83 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.83 mark(0) -> active(0) 124.68/39.83 mark(rnil) -> active(rnil) 124.68/39.83 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.83 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.83 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.83 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.83 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.83 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.83 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.83 mark(square(X)) -> active(square(mark(X))) 124.68/39.83 from(mark(X)) -> from(X) 124.68/39.83 from(active(X)) -> from(X) 124.68/39.83 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.83 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.83 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.83 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.83 s(mark(X)) -> s(X) 124.68/39.83 s(active(X)) -> s(X) 124.68/39.83 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.83 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.83 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.83 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.83 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.83 posrecip(mark(X)) -> posrecip(X) 124.68/39.83 posrecip(active(X)) -> posrecip(X) 124.68/39.83 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.83 negrecip(mark(X)) -> negrecip(X) 124.68/39.83 negrecip(active(X)) -> negrecip(X) 124.68/39.83 pi(mark(X)) -> pi(X) 124.68/39.83 pi(active(X)) -> pi(X) 124.68/39.83 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.83 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.83 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.83 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.83 times(mark(X1), X2) -> times(X1, X2) 124.68/39.83 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.83 times(active(X1), X2) -> times(X1, X2) 124.68/39.83 times(X1, active(X2)) -> times(X1, X2) 124.68/39.83 square(mark(X)) -> square(X) 124.68/39.83 square(active(X)) -> square(X) 124.68/39.83 124.68/39.83 The set Q consists of the following terms: 124.68/39.83 124.68/39.83 active(from(x0)) 124.68/39.83 active(2ndspos(0, x0)) 124.68/39.83 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.83 active(2ndsneg(0, x0)) 124.68/39.83 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.83 active(pi(x0)) 124.68/39.83 active(plus(0, x0)) 124.68/39.83 active(plus(s(x0), x1)) 124.68/39.83 active(times(0, x0)) 124.68/39.83 active(times(s(x0), x1)) 124.68/39.83 active(square(x0)) 124.68/39.83 mark(from(x0)) 124.68/39.83 mark(cons(x0, x1)) 124.68/39.83 mark(s(x0)) 124.68/39.83 mark(2ndspos(x0, x1)) 124.68/39.83 mark(0) 124.68/39.83 mark(rnil) 124.68/39.83 mark(rcons(x0, x1)) 124.68/39.83 mark(posrecip(x0)) 124.68/39.83 mark(2ndsneg(x0, x1)) 124.68/39.83 mark(negrecip(x0)) 124.68/39.83 mark(pi(x0)) 124.68/39.83 mark(plus(x0, x1)) 124.68/39.83 mark(times(x0, x1)) 124.68/39.83 mark(square(x0)) 124.68/39.83 from(mark(x0)) 124.68/39.83 from(active(x0)) 124.68/39.83 cons(mark(x0), x1) 124.68/39.83 cons(x0, mark(x1)) 124.68/39.83 cons(active(x0), x1) 124.68/39.83 cons(x0, active(x1)) 124.68/39.83 s(mark(x0)) 124.68/39.83 s(active(x0)) 124.68/39.83 2ndspos(mark(x0), x1) 124.68/39.83 2ndspos(x0, mark(x1)) 124.68/39.83 2ndspos(active(x0), x1) 124.68/39.83 2ndspos(x0, active(x1)) 124.68/39.83 rcons(mark(x0), x1) 124.68/39.83 rcons(x0, mark(x1)) 124.68/39.83 rcons(active(x0), x1) 124.68/39.83 rcons(x0, active(x1)) 124.68/39.83 posrecip(mark(x0)) 124.68/39.83 posrecip(active(x0)) 124.68/39.83 2ndsneg(mark(x0), x1) 124.68/39.83 2ndsneg(x0, mark(x1)) 124.68/39.83 2ndsneg(active(x0), x1) 124.68/39.83 2ndsneg(x0, active(x1)) 124.68/39.83 negrecip(mark(x0)) 124.68/39.83 negrecip(active(x0)) 124.68/39.83 pi(mark(x0)) 124.68/39.83 pi(active(x0)) 124.68/39.83 plus(mark(x0), x1) 124.68/39.83 plus(x0, mark(x1)) 124.68/39.83 plus(active(x0), x1) 124.68/39.83 plus(x0, active(x1)) 124.68/39.83 times(mark(x0), x1) 124.68/39.83 times(x0, mark(x1)) 124.68/39.83 times(active(x0), x1) 124.68/39.83 times(x0, active(x1)) 124.68/39.83 square(mark(x0)) 124.68/39.83 square(active(x0)) 124.68/39.83 124.68/39.83 We have to consider all minimal (P,Q,R)-chains. 124.68/39.83 ---------------------------------------- 124.68/39.83 124.68/39.83 (126) QDPOrderProof (EQUIVALENT) 124.68/39.83 We use the reduction pair processor [LPAR04,JAR06]. 124.68/39.83 124.68/39.83 124.68/39.83 The following pairs can be oriented strictly and are deleted. 124.68/39.83 124.68/39.83 ACTIVE(pi(X)) -> MARK(2ndspos(X, from(0))) 124.68/39.83 The remaining pairs can at least be oriented weakly. 124.68/39.83 Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(ACTIVE(x_1)) = [[0A]] + [[0A]] * x_1 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(2ndspos(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(s(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(cons(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(MARK(x_1)) = [[0A]] + [[0A]] * x_1 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(rcons(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(posrecip(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(2ndsneg(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(negrecip(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(mark(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(pi(x_1)) = [[3A]] + [[1A]] * x_1 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(from(x_1)) = [[0A]] + [[0A]] * x_1 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(0) = [[0A]] 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(plus(x_1, x_2)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(times(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[-I]] * x_2 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(active(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(square(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(rnil) = [[0A]] 124.68/39.83 >>> 124.68/39.83 124.68/39.83 124.68/39.83 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 124.68/39.83 124.68/39.83 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.83 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.83 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.83 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.83 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.83 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.83 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.83 active(plus(0, Y)) -> mark(Y) 124.68/39.83 mark(from(X)) -> active(from(mark(X))) 124.68/39.83 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.83 mark(s(X)) -> active(s(mark(X))) 124.68/39.83 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.83 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.83 active(square(X)) -> mark(times(X, X)) 124.68/39.83 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.83 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.83 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.83 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.83 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.83 mark(square(X)) -> active(square(mark(X))) 124.68/39.83 mark(0) -> active(0) 124.68/39.83 mark(rnil) -> active(rnil) 124.68/39.83 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.83 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.83 pi(active(X)) -> pi(X) 124.68/39.83 pi(mark(X)) -> pi(X) 124.68/39.83 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.83 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.83 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.83 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.83 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.83 times(mark(X1), X2) -> times(X1, X2) 124.68/39.83 times(active(X1), X2) -> times(X1, X2) 124.68/39.83 times(X1, active(X2)) -> times(X1, X2) 124.68/39.83 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.83 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.83 active(times(0, Y)) -> mark(0) 124.68/39.83 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.83 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.83 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.83 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.83 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.83 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.83 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.83 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.83 from(active(X)) -> from(X) 124.68/39.83 from(mark(X)) -> from(X) 124.68/39.83 s(active(X)) -> s(X) 124.68/39.83 s(mark(X)) -> s(X) 124.68/39.83 posrecip(active(X)) -> posrecip(X) 124.68/39.83 posrecip(mark(X)) -> posrecip(X) 124.68/39.83 negrecip(active(X)) -> negrecip(X) 124.68/39.83 negrecip(mark(X)) -> negrecip(X) 124.68/39.83 square(active(X)) -> square(X) 124.68/39.83 square(mark(X)) -> square(X) 124.68/39.83 124.68/39.83 124.68/39.83 ---------------------------------------- 124.68/39.83 124.68/39.83 (127) 124.68/39.83 Obligation: 124.68/39.83 Q DP problem: 124.68/39.83 The TRS P consists of the following rules: 124.68/39.83 124.68/39.83 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.83 MARK(rcons(X1, X2)) -> MARK(X1) 124.68/39.83 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.83 MARK(rcons(X1, X2)) -> MARK(X2) 124.68/39.83 MARK(s(X)) -> MARK(X) 124.68/39.83 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.68/39.83 MARK(2ndspos(X1, X2)) -> MARK(X1) 124.68/39.83 MARK(posrecip(X)) -> MARK(X) 124.68/39.83 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.68/39.83 ACTIVE(plus(0, Y)) -> MARK(Y) 124.68/39.83 MARK(negrecip(X)) -> MARK(X) 124.68/39.83 MARK(pi(X)) -> ACTIVE(pi(mark(X))) 124.68/39.83 ACTIVE(plus(s(X), Y)) -> MARK(s(plus(X, Y))) 124.68/39.83 ACTIVE(times(s(X), Y)) -> MARK(plus(Y, times(X, Y))) 124.68/39.83 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 124.68/39.83 MARK(plus(X1, X2)) -> MARK(X2) 124.68/39.83 MARK(times(X1, X2)) -> ACTIVE(times(mark(X1), mark(X2))) 124.68/39.83 124.68/39.83 The TRS R consists of the following rules: 124.68/39.83 124.68/39.83 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.83 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.83 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.83 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.83 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.83 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.83 active(plus(0, Y)) -> mark(Y) 124.68/39.83 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.83 active(times(0, Y)) -> mark(0) 124.68/39.83 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.83 active(square(X)) -> mark(times(X, X)) 124.68/39.83 mark(from(X)) -> active(from(mark(X))) 124.68/39.83 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.83 mark(s(X)) -> active(s(mark(X))) 124.68/39.83 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.83 mark(0) -> active(0) 124.68/39.83 mark(rnil) -> active(rnil) 124.68/39.83 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.83 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.83 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.83 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.83 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.83 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.83 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.83 mark(square(X)) -> active(square(mark(X))) 124.68/39.83 from(mark(X)) -> from(X) 124.68/39.83 from(active(X)) -> from(X) 124.68/39.83 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.83 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.83 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.83 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.83 s(mark(X)) -> s(X) 124.68/39.83 s(active(X)) -> s(X) 124.68/39.83 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.83 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.83 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.83 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.83 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.83 posrecip(mark(X)) -> posrecip(X) 124.68/39.83 posrecip(active(X)) -> posrecip(X) 124.68/39.83 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.83 negrecip(mark(X)) -> negrecip(X) 124.68/39.83 negrecip(active(X)) -> negrecip(X) 124.68/39.83 pi(mark(X)) -> pi(X) 124.68/39.83 pi(active(X)) -> pi(X) 124.68/39.83 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.83 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.83 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.83 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.83 times(mark(X1), X2) -> times(X1, X2) 124.68/39.83 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.83 times(active(X1), X2) -> times(X1, X2) 124.68/39.83 times(X1, active(X2)) -> times(X1, X2) 124.68/39.83 square(mark(X)) -> square(X) 124.68/39.83 square(active(X)) -> square(X) 124.68/39.83 124.68/39.83 The set Q consists of the following terms: 124.68/39.83 124.68/39.83 active(from(x0)) 124.68/39.83 active(2ndspos(0, x0)) 124.68/39.83 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.83 active(2ndsneg(0, x0)) 124.68/39.83 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.83 active(pi(x0)) 124.68/39.83 active(plus(0, x0)) 124.68/39.83 active(plus(s(x0), x1)) 124.68/39.83 active(times(0, x0)) 124.68/39.83 active(times(s(x0), x1)) 124.68/39.83 active(square(x0)) 124.68/39.83 mark(from(x0)) 124.68/39.83 mark(cons(x0, x1)) 124.68/39.83 mark(s(x0)) 124.68/39.83 mark(2ndspos(x0, x1)) 124.68/39.83 mark(0) 124.68/39.83 mark(rnil) 124.68/39.83 mark(rcons(x0, x1)) 124.68/39.83 mark(posrecip(x0)) 124.68/39.83 mark(2ndsneg(x0, x1)) 124.68/39.83 mark(negrecip(x0)) 124.68/39.83 mark(pi(x0)) 124.68/39.83 mark(plus(x0, x1)) 124.68/39.83 mark(times(x0, x1)) 124.68/39.83 mark(square(x0)) 124.68/39.83 from(mark(x0)) 124.68/39.83 from(active(x0)) 124.68/39.83 cons(mark(x0), x1) 124.68/39.83 cons(x0, mark(x1)) 124.68/39.83 cons(active(x0), x1) 124.68/39.83 cons(x0, active(x1)) 124.68/39.83 s(mark(x0)) 124.68/39.83 s(active(x0)) 124.68/39.83 2ndspos(mark(x0), x1) 124.68/39.83 2ndspos(x0, mark(x1)) 124.68/39.83 2ndspos(active(x0), x1) 124.68/39.83 2ndspos(x0, active(x1)) 124.68/39.83 rcons(mark(x0), x1) 124.68/39.83 rcons(x0, mark(x1)) 124.68/39.83 rcons(active(x0), x1) 124.68/39.83 rcons(x0, active(x1)) 124.68/39.83 posrecip(mark(x0)) 124.68/39.83 posrecip(active(x0)) 124.68/39.83 2ndsneg(mark(x0), x1) 124.68/39.83 2ndsneg(x0, mark(x1)) 124.68/39.83 2ndsneg(active(x0), x1) 124.68/39.83 2ndsneg(x0, active(x1)) 124.68/39.83 negrecip(mark(x0)) 124.68/39.83 negrecip(active(x0)) 124.68/39.83 pi(mark(x0)) 124.68/39.83 pi(active(x0)) 124.68/39.83 plus(mark(x0), x1) 124.68/39.83 plus(x0, mark(x1)) 124.68/39.83 plus(active(x0), x1) 124.68/39.83 plus(x0, active(x1)) 124.68/39.83 times(mark(x0), x1) 124.68/39.83 times(x0, mark(x1)) 124.68/39.83 times(active(x0), x1) 124.68/39.83 times(x0, active(x1)) 124.68/39.83 square(mark(x0)) 124.68/39.83 square(active(x0)) 124.68/39.83 124.68/39.83 We have to consider all minimal (P,Q,R)-chains. 124.68/39.83 ---------------------------------------- 124.68/39.83 124.68/39.83 (128) QDPQMonotonicMRRProof (EQUIVALENT) 124.68/39.83 By using the Q-monotonic rule removal processor with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented such that it always occurs at a strongly monotonic position in a (P,Q,R)-chain. 124.68/39.83 124.68/39.83 Strictly oriented dependency pairs: 124.68/39.83 124.68/39.83 MARK(pi(X)) -> ACTIVE(pi(mark(X))) 124.68/39.83 124.68/39.83 124.68/39.83 Used ordering: Polynomial interpretation [POLO]: 124.68/39.83 124.68/39.83 POL(0) = 0 124.68/39.83 POL(2ndsneg(x_1, x_2)) = 1 124.68/39.83 POL(2ndspos(x_1, x_2)) = 1 124.68/39.83 POL(ACTIVE(x_1)) = x_1 124.68/39.83 POL(MARK(x_1)) = 1 124.68/39.83 POL(active(x_1)) = 0 124.68/39.83 POL(cons(x_1, x_2)) = 0 124.68/39.83 POL(from(x_1)) = 0 124.68/39.83 POL(mark(x_1)) = 0 124.68/39.83 POL(negrecip(x_1)) = 0 124.68/39.83 POL(pi(x_1)) = 0 124.68/39.83 POL(plus(x_1, x_2)) = 1 124.68/39.83 POL(posrecip(x_1)) = 0 124.68/39.83 POL(rcons(x_1, x_2)) = 0 124.68/39.83 POL(rnil) = 0 124.68/39.83 POL(s(x_1)) = 0 124.68/39.83 POL(square(x_1)) = 0 124.68/39.83 POL(times(x_1, x_2)) = 1 124.68/39.83 124.68/39.83 124.68/39.83 ---------------------------------------- 124.68/39.83 124.68/39.83 (129) 124.68/39.83 Obligation: 124.68/39.83 Q DP problem: 124.68/39.83 The TRS P consists of the following rules: 124.68/39.83 124.68/39.83 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.83 MARK(rcons(X1, X2)) -> MARK(X1) 124.68/39.83 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.83 MARK(rcons(X1, X2)) -> MARK(X2) 124.68/39.83 MARK(s(X)) -> MARK(X) 124.68/39.83 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.68/39.83 MARK(2ndspos(X1, X2)) -> MARK(X1) 124.68/39.83 MARK(posrecip(X)) -> MARK(X) 124.68/39.83 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.68/39.83 ACTIVE(plus(0, Y)) -> MARK(Y) 124.68/39.83 MARK(negrecip(X)) -> MARK(X) 124.68/39.83 ACTIVE(plus(s(X), Y)) -> MARK(s(plus(X, Y))) 124.68/39.83 ACTIVE(times(s(X), Y)) -> MARK(plus(Y, times(X, Y))) 124.68/39.83 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 124.68/39.83 MARK(plus(X1, X2)) -> MARK(X2) 124.68/39.83 MARK(times(X1, X2)) -> ACTIVE(times(mark(X1), mark(X2))) 124.68/39.83 124.68/39.83 The TRS R consists of the following rules: 124.68/39.83 124.68/39.83 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.83 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.83 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.83 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.83 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.83 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.83 active(plus(0, Y)) -> mark(Y) 124.68/39.83 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.83 active(times(0, Y)) -> mark(0) 124.68/39.83 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.83 active(square(X)) -> mark(times(X, X)) 124.68/39.83 mark(from(X)) -> active(from(mark(X))) 124.68/39.83 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.83 mark(s(X)) -> active(s(mark(X))) 124.68/39.83 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.83 mark(0) -> active(0) 124.68/39.83 mark(rnil) -> active(rnil) 124.68/39.83 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.83 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.83 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.83 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.83 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.83 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.83 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.83 mark(square(X)) -> active(square(mark(X))) 124.68/39.83 from(mark(X)) -> from(X) 124.68/39.83 from(active(X)) -> from(X) 124.68/39.83 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.83 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.83 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.83 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.83 s(mark(X)) -> s(X) 124.68/39.83 s(active(X)) -> s(X) 124.68/39.83 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.83 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.83 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.83 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.83 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.83 posrecip(mark(X)) -> posrecip(X) 124.68/39.83 posrecip(active(X)) -> posrecip(X) 124.68/39.83 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.83 negrecip(mark(X)) -> negrecip(X) 124.68/39.83 negrecip(active(X)) -> negrecip(X) 124.68/39.83 pi(mark(X)) -> pi(X) 124.68/39.83 pi(active(X)) -> pi(X) 124.68/39.83 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.83 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.83 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.83 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.83 times(mark(X1), X2) -> times(X1, X2) 124.68/39.83 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.83 times(active(X1), X2) -> times(X1, X2) 124.68/39.83 times(X1, active(X2)) -> times(X1, X2) 124.68/39.83 square(mark(X)) -> square(X) 124.68/39.83 square(active(X)) -> square(X) 124.68/39.83 124.68/39.83 The set Q consists of the following terms: 124.68/39.83 124.68/39.83 active(from(x0)) 124.68/39.83 active(2ndspos(0, x0)) 124.68/39.83 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.83 active(2ndsneg(0, x0)) 124.68/39.83 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.83 active(pi(x0)) 124.68/39.83 active(plus(0, x0)) 124.68/39.83 active(plus(s(x0), x1)) 124.68/39.83 active(times(0, x0)) 124.68/39.83 active(times(s(x0), x1)) 124.68/39.83 active(square(x0)) 124.68/39.83 mark(from(x0)) 124.68/39.83 mark(cons(x0, x1)) 124.68/39.83 mark(s(x0)) 124.68/39.83 mark(2ndspos(x0, x1)) 124.68/39.83 mark(0) 124.68/39.83 mark(rnil) 124.68/39.83 mark(rcons(x0, x1)) 124.68/39.83 mark(posrecip(x0)) 124.68/39.83 mark(2ndsneg(x0, x1)) 124.68/39.83 mark(negrecip(x0)) 124.68/39.83 mark(pi(x0)) 124.68/39.83 mark(plus(x0, x1)) 124.68/39.83 mark(times(x0, x1)) 124.68/39.83 mark(square(x0)) 124.68/39.83 from(mark(x0)) 124.68/39.83 from(active(x0)) 124.68/39.83 cons(mark(x0), x1) 124.68/39.83 cons(x0, mark(x1)) 124.68/39.83 cons(active(x0), x1) 124.68/39.83 cons(x0, active(x1)) 124.68/39.83 s(mark(x0)) 124.68/39.83 s(active(x0)) 124.68/39.83 2ndspos(mark(x0), x1) 124.68/39.83 2ndspos(x0, mark(x1)) 124.68/39.83 2ndspos(active(x0), x1) 124.68/39.83 2ndspos(x0, active(x1)) 124.68/39.83 rcons(mark(x0), x1) 124.68/39.83 rcons(x0, mark(x1)) 124.68/39.83 rcons(active(x0), x1) 124.68/39.83 rcons(x0, active(x1)) 124.68/39.83 posrecip(mark(x0)) 124.68/39.83 posrecip(active(x0)) 124.68/39.83 2ndsneg(mark(x0), x1) 124.68/39.83 2ndsneg(x0, mark(x1)) 124.68/39.83 2ndsneg(active(x0), x1) 124.68/39.83 2ndsneg(x0, active(x1)) 124.68/39.83 negrecip(mark(x0)) 124.68/39.83 negrecip(active(x0)) 124.68/39.83 pi(mark(x0)) 124.68/39.83 pi(active(x0)) 124.68/39.83 plus(mark(x0), x1) 124.68/39.83 plus(x0, mark(x1)) 124.68/39.83 plus(active(x0), x1) 124.68/39.83 plus(x0, active(x1)) 124.68/39.83 times(mark(x0), x1) 124.68/39.83 times(x0, mark(x1)) 124.68/39.83 times(active(x0), x1) 124.68/39.83 times(x0, active(x1)) 124.68/39.83 square(mark(x0)) 124.68/39.83 square(active(x0)) 124.68/39.83 124.68/39.83 We have to consider all minimal (P,Q,R)-chains. 124.68/39.83 ---------------------------------------- 124.68/39.83 124.68/39.83 (130) QDPOrderProof (EQUIVALENT) 124.68/39.83 We use the reduction pair processor [LPAR04,JAR06]. 124.68/39.83 124.68/39.83 124.68/39.83 The following pairs can be oriented strictly and are deleted. 124.68/39.83 124.68/39.83 MARK(rcons(X1, X2)) -> MARK(X1) 124.68/39.83 The remaining pairs can at least be oriented weakly. 124.68/39.83 Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(ACTIVE(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(2ndspos(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(s(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(cons(x_1, x_2)) = [[1A]] + [[1A]] * x_1 + [[0A]] * x_2 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(MARK(x_1)) = [[0A]] + [[0A]] * x_1 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(rcons(x_1, x_2)) = [[1A]] + [[1A]] * x_1 + [[0A]] * x_2 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(posrecip(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(2ndsneg(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(negrecip(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(mark(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(plus(x_1, x_2)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(0) = [[0A]] 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(times(x_1, x_2)) = [[0A]] + [[-I]] * x_1 + [[-I]] * x_2 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(active(x_1)) = [[-I]] + [[0A]] * x_1 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(from(x_1)) = [[1A]] + [[1A]] * x_1 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(pi(x_1)) = [[1A]] + [[0A]] * x_1 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(square(x_1)) = [[0A]] + [[-I]] * x_1 124.68/39.83 >>> 124.68/39.83 124.68/39.83 <<< 124.68/39.83 POL(rnil) = [[0A]] 124.68/39.83 >>> 124.68/39.83 124.68/39.83 124.68/39.83 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 124.68/39.83 124.68/39.83 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.83 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.83 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.83 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.83 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.83 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.83 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.83 active(plus(0, Y)) -> mark(Y) 124.68/39.83 mark(from(X)) -> active(from(mark(X))) 124.68/39.83 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.83 mark(s(X)) -> active(s(mark(X))) 124.68/39.83 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.83 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.83 active(square(X)) -> mark(times(X, X)) 124.68/39.83 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.83 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.83 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.83 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.83 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.83 mark(square(X)) -> active(square(mark(X))) 124.68/39.83 mark(0) -> active(0) 124.68/39.83 mark(rnil) -> active(rnil) 124.68/39.83 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.83 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.83 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.83 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.83 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.83 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.83 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.83 times(mark(X1), X2) -> times(X1, X2) 124.68/39.83 times(active(X1), X2) -> times(X1, X2) 124.68/39.83 times(X1, active(X2)) -> times(X1, X2) 124.68/39.83 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.83 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.83 active(times(0, Y)) -> mark(0) 124.68/39.83 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.83 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.83 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.83 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.83 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.83 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.83 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.83 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.83 from(active(X)) -> from(X) 124.68/39.83 from(mark(X)) -> from(X) 124.68/39.83 s(active(X)) -> s(X) 124.68/39.83 s(mark(X)) -> s(X) 124.68/39.83 posrecip(active(X)) -> posrecip(X) 124.68/39.83 posrecip(mark(X)) -> posrecip(X) 124.68/39.83 negrecip(active(X)) -> negrecip(X) 124.68/39.83 negrecip(mark(X)) -> negrecip(X) 124.68/39.83 pi(active(X)) -> pi(X) 124.68/39.83 pi(mark(X)) -> pi(X) 124.68/39.83 square(active(X)) -> square(X) 124.68/39.83 square(mark(X)) -> square(X) 124.68/39.83 124.68/39.83 124.68/39.83 ---------------------------------------- 124.68/39.83 124.68/39.83 (131) 124.68/39.83 Obligation: 124.68/39.83 Q DP problem: 124.68/39.83 The TRS P consists of the following rules: 124.68/39.83 124.68/39.83 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.83 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.83 MARK(rcons(X1, X2)) -> MARK(X2) 124.68/39.83 MARK(s(X)) -> MARK(X) 124.68/39.83 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.68/39.83 MARK(2ndspos(X1, X2)) -> MARK(X1) 124.68/39.83 MARK(posrecip(X)) -> MARK(X) 124.68/39.83 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.68/39.83 ACTIVE(plus(0, Y)) -> MARK(Y) 124.68/39.83 MARK(negrecip(X)) -> MARK(X) 124.68/39.83 ACTIVE(plus(s(X), Y)) -> MARK(s(plus(X, Y))) 124.68/39.83 ACTIVE(times(s(X), Y)) -> MARK(plus(Y, times(X, Y))) 124.68/39.83 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 124.68/39.83 MARK(plus(X1, X2)) -> MARK(X2) 124.68/39.83 MARK(times(X1, X2)) -> ACTIVE(times(mark(X1), mark(X2))) 124.68/39.83 124.68/39.83 The TRS R consists of the following rules: 124.68/39.83 124.68/39.83 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.83 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.83 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.83 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.83 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.83 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.83 active(plus(0, Y)) -> mark(Y) 124.68/39.83 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.83 active(times(0, Y)) -> mark(0) 124.68/39.83 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.83 active(square(X)) -> mark(times(X, X)) 124.68/39.83 mark(from(X)) -> active(from(mark(X))) 124.68/39.83 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.83 mark(s(X)) -> active(s(mark(X))) 124.68/39.83 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.83 mark(0) -> active(0) 124.68/39.83 mark(rnil) -> active(rnil) 124.68/39.83 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.83 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.83 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.83 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.83 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.83 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.83 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.83 mark(square(X)) -> active(square(mark(X))) 124.68/39.83 from(mark(X)) -> from(X) 124.68/39.83 from(active(X)) -> from(X) 124.68/39.83 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.83 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.83 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.83 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.83 s(mark(X)) -> s(X) 124.68/39.83 s(active(X)) -> s(X) 124.68/39.83 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.83 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.83 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.83 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.83 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.83 posrecip(mark(X)) -> posrecip(X) 124.68/39.83 posrecip(active(X)) -> posrecip(X) 124.68/39.83 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.83 negrecip(mark(X)) -> negrecip(X) 124.68/39.83 negrecip(active(X)) -> negrecip(X) 124.68/39.83 pi(mark(X)) -> pi(X) 124.68/39.83 pi(active(X)) -> pi(X) 124.68/39.83 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.83 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.83 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.83 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.83 times(mark(X1), X2) -> times(X1, X2) 124.68/39.83 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.83 times(active(X1), X2) -> times(X1, X2) 124.68/39.83 times(X1, active(X2)) -> times(X1, X2) 124.68/39.83 square(mark(X)) -> square(X) 124.68/39.83 square(active(X)) -> square(X) 124.68/39.83 124.68/39.83 The set Q consists of the following terms: 124.68/39.83 124.68/39.83 active(from(x0)) 124.68/39.83 active(2ndspos(0, x0)) 124.68/39.83 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.83 active(2ndsneg(0, x0)) 124.68/39.83 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.83 active(pi(x0)) 124.68/39.83 active(plus(0, x0)) 124.68/39.83 active(plus(s(x0), x1)) 124.68/39.83 active(times(0, x0)) 124.68/39.83 active(times(s(x0), x1)) 124.68/39.83 active(square(x0)) 124.68/39.83 mark(from(x0)) 124.68/39.83 mark(cons(x0, x1)) 124.68/39.83 mark(s(x0)) 124.68/39.83 mark(2ndspos(x0, x1)) 124.68/39.83 mark(0) 124.68/39.83 mark(rnil) 124.68/39.83 mark(rcons(x0, x1)) 124.68/39.83 mark(posrecip(x0)) 124.68/39.83 mark(2ndsneg(x0, x1)) 124.68/39.83 mark(negrecip(x0)) 124.68/39.83 mark(pi(x0)) 124.68/39.83 mark(plus(x0, x1)) 124.68/39.83 mark(times(x0, x1)) 124.68/39.83 mark(square(x0)) 124.68/39.83 from(mark(x0)) 124.68/39.83 from(active(x0)) 124.68/39.83 cons(mark(x0), x1) 124.68/39.83 cons(x0, mark(x1)) 124.68/39.83 cons(active(x0), x1) 124.68/39.83 cons(x0, active(x1)) 124.68/39.83 s(mark(x0)) 124.68/39.83 s(active(x0)) 124.68/39.83 2ndspos(mark(x0), x1) 124.68/39.83 2ndspos(x0, mark(x1)) 124.68/39.83 2ndspos(active(x0), x1) 124.68/39.83 2ndspos(x0, active(x1)) 124.68/39.83 rcons(mark(x0), x1) 124.68/39.83 rcons(x0, mark(x1)) 124.68/39.83 rcons(active(x0), x1) 124.68/39.83 rcons(x0, active(x1)) 124.68/39.83 posrecip(mark(x0)) 124.68/39.83 posrecip(active(x0)) 124.68/39.83 2ndsneg(mark(x0), x1) 124.68/39.83 2ndsneg(x0, mark(x1)) 124.68/39.83 2ndsneg(active(x0), x1) 124.68/39.83 2ndsneg(x0, active(x1)) 124.68/39.83 negrecip(mark(x0)) 124.68/39.83 negrecip(active(x0)) 124.68/39.83 pi(mark(x0)) 124.68/39.83 pi(active(x0)) 124.68/39.83 plus(mark(x0), x1) 124.68/39.83 plus(x0, mark(x1)) 124.68/39.83 plus(active(x0), x1) 124.68/39.83 plus(x0, active(x1)) 124.68/39.83 times(mark(x0), x1) 124.68/39.83 times(x0, mark(x1)) 124.68/39.83 times(active(x0), x1) 124.68/39.83 times(x0, active(x1)) 124.68/39.83 square(mark(x0)) 124.68/39.83 square(active(x0)) 124.68/39.83 124.68/39.83 We have to consider all minimal (P,Q,R)-chains. 124.68/39.83 ---------------------------------------- 124.68/39.83 124.68/39.83 (132) QDPOrderProof (EQUIVALENT) 124.68/39.83 We use the reduction pair processor [LPAR04,JAR06]. 124.68/39.83 124.68/39.83 124.68/39.83 The following pairs can be oriented strictly and are deleted. 124.68/39.83 124.68/39.83 MARK(negrecip(X)) -> MARK(X) 124.68/39.83 The remaining pairs can at least be oriented weakly. 124.68/39.83 Used ordering: Combined order from the following AFS and order. 124.68/39.83 ACTIVE(x1) = x1 124.68/39.83 124.68/39.83 2ndspos(x1, x2) = x1 124.68/39.83 124.68/39.83 s(x1) = x1 124.68/39.83 124.68/39.83 MARK(x1) = x1 124.68/39.83 124.68/39.83 rcons(x1, x2) = x2 124.68/39.83 124.68/39.83 2ndsneg(x1, x2) = x1 124.68/39.83 124.68/39.83 mark(x1) = x1 124.68/39.83 124.68/39.83 posrecip(x1) = x1 124.68/39.83 124.68/39.83 plus(x1, x2) = x2 124.68/39.83 124.68/39.83 negrecip(x1) = negrecip(x1) 124.68/39.83 124.68/39.83 times(x1, x2) = times 124.68/39.83 124.68/39.83 cons(x1, x2) = cons 124.68/39.83 124.68/39.83 active(x1) = x1 124.68/39.83 124.68/39.83 from(x1) = from 124.68/39.83 124.68/39.83 pi(x1) = x1 124.68/39.83 124.68/39.83 square(x1) = square 124.68/39.83 124.68/39.83 0 = 0 124.68/39.83 124.68/39.83 rnil = rnil 124.68/39.83 124.68/39.83 124.68/39.83 Knuth-Bendix order [KBO] with precedence:trivial 124.68/39.83 124.68/39.83 and weight map: 124.68/39.83 124.68/39.83 negrecip_1=1 124.68/39.83 rnil=1 124.68/39.83 0=2 124.68/39.83 cons=2 124.68/39.83 square=4 124.68/39.83 from=3 124.68/39.83 times=3 124.68/39.83 124.68/39.83 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 124.68/39.83 124.68/39.83 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.83 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.83 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.83 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.83 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.83 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.83 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.83 active(plus(0, Y)) -> mark(Y) 124.68/39.83 mark(from(X)) -> active(from(mark(X))) 124.68/39.83 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.83 mark(s(X)) -> active(s(mark(X))) 124.68/39.83 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.83 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.83 active(square(X)) -> mark(times(X, X)) 124.68/39.83 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.83 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.83 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.83 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.83 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.83 mark(square(X)) -> active(square(mark(X))) 124.68/39.83 mark(0) -> active(0) 124.68/39.83 mark(rnil) -> active(rnil) 124.68/39.83 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.83 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.83 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.83 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.83 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.83 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.83 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.83 times(mark(X1), X2) -> times(X1, X2) 124.68/39.83 times(active(X1), X2) -> times(X1, X2) 124.68/39.83 times(X1, active(X2)) -> times(X1, X2) 124.68/39.83 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.83 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.83 active(times(0, Y)) -> mark(0) 124.68/39.83 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.83 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.83 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.83 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.83 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.83 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.83 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.83 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.83 from(active(X)) -> from(X) 124.68/39.83 from(mark(X)) -> from(X) 124.68/39.83 s(active(X)) -> s(X) 124.68/39.83 s(mark(X)) -> s(X) 124.68/39.83 posrecip(active(X)) -> posrecip(X) 124.68/39.83 posrecip(mark(X)) -> posrecip(X) 124.68/39.83 negrecip(active(X)) -> negrecip(X) 124.68/39.83 negrecip(mark(X)) -> negrecip(X) 124.68/39.83 pi(active(X)) -> pi(X) 124.68/39.83 pi(mark(X)) -> pi(X) 124.68/39.83 square(active(X)) -> square(X) 124.68/39.83 square(mark(X)) -> square(X) 124.68/39.83 124.68/39.83 124.68/39.83 ---------------------------------------- 124.68/39.83 124.68/39.83 (133) 124.68/39.83 Obligation: 124.68/39.83 Q DP problem: 124.68/39.83 The TRS P consists of the following rules: 124.68/39.83 124.68/39.83 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.83 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.83 MARK(rcons(X1, X2)) -> MARK(X2) 124.68/39.83 MARK(s(X)) -> MARK(X) 124.68/39.83 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.68/39.83 MARK(2ndspos(X1, X2)) -> MARK(X1) 124.68/39.83 MARK(posrecip(X)) -> MARK(X) 124.68/39.83 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.68/39.83 ACTIVE(plus(0, Y)) -> MARK(Y) 124.68/39.83 ACTIVE(plus(s(X), Y)) -> MARK(s(plus(X, Y))) 124.68/39.83 ACTIVE(times(s(X), Y)) -> MARK(plus(Y, times(X, Y))) 124.68/39.83 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 124.68/39.83 MARK(plus(X1, X2)) -> MARK(X2) 124.68/39.83 MARK(times(X1, X2)) -> ACTIVE(times(mark(X1), mark(X2))) 124.68/39.83 124.68/39.83 The TRS R consists of the following rules: 124.68/39.83 124.68/39.83 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.83 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.83 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.83 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.83 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.83 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.83 active(plus(0, Y)) -> mark(Y) 124.68/39.83 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.83 active(times(0, Y)) -> mark(0) 124.68/39.83 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.83 active(square(X)) -> mark(times(X, X)) 124.68/39.83 mark(from(X)) -> active(from(mark(X))) 124.68/39.83 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.83 mark(s(X)) -> active(s(mark(X))) 124.68/39.83 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.83 mark(0) -> active(0) 124.68/39.83 mark(rnil) -> active(rnil) 124.68/39.83 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.83 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.83 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.83 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.83 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.83 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.83 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.83 mark(square(X)) -> active(square(mark(X))) 124.68/39.83 from(mark(X)) -> from(X) 124.68/39.83 from(active(X)) -> from(X) 124.68/39.83 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.83 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.83 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.83 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.83 s(mark(X)) -> s(X) 124.68/39.83 s(active(X)) -> s(X) 124.68/39.83 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.83 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.83 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.83 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.83 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.83 posrecip(mark(X)) -> posrecip(X) 124.68/39.83 posrecip(active(X)) -> posrecip(X) 124.68/39.83 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.83 negrecip(mark(X)) -> negrecip(X) 124.68/39.83 negrecip(active(X)) -> negrecip(X) 124.68/39.83 pi(mark(X)) -> pi(X) 124.68/39.83 pi(active(X)) -> pi(X) 124.68/39.83 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.83 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.83 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.83 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.83 times(mark(X1), X2) -> times(X1, X2) 124.68/39.83 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.83 times(active(X1), X2) -> times(X1, X2) 124.68/39.83 times(X1, active(X2)) -> times(X1, X2) 124.68/39.83 square(mark(X)) -> square(X) 124.68/39.83 square(active(X)) -> square(X) 124.68/39.83 124.68/39.83 The set Q consists of the following terms: 124.68/39.83 124.68/39.83 active(from(x0)) 124.68/39.83 active(2ndspos(0, x0)) 124.68/39.83 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.83 active(2ndsneg(0, x0)) 124.68/39.83 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.83 active(pi(x0)) 124.68/39.83 active(plus(0, x0)) 124.68/39.83 active(plus(s(x0), x1)) 124.68/39.83 active(times(0, x0)) 124.68/39.83 active(times(s(x0), x1)) 124.68/39.83 active(square(x0)) 124.68/39.83 mark(from(x0)) 124.68/39.83 mark(cons(x0, x1)) 124.68/39.83 mark(s(x0)) 124.68/39.83 mark(2ndspos(x0, x1)) 124.68/39.83 mark(0) 124.68/39.83 mark(rnil) 124.68/39.83 mark(rcons(x0, x1)) 124.68/39.83 mark(posrecip(x0)) 124.68/39.83 mark(2ndsneg(x0, x1)) 124.68/39.83 mark(negrecip(x0)) 124.68/39.83 mark(pi(x0)) 124.68/39.83 mark(plus(x0, x1)) 124.68/39.83 mark(times(x0, x1)) 124.68/39.83 mark(square(x0)) 124.68/39.83 from(mark(x0)) 124.68/39.83 from(active(x0)) 124.68/39.83 cons(mark(x0), x1) 124.68/39.83 cons(x0, mark(x1)) 124.68/39.83 cons(active(x0), x1) 124.68/39.83 cons(x0, active(x1)) 124.68/39.83 s(mark(x0)) 124.68/39.83 s(active(x0)) 124.68/39.83 2ndspos(mark(x0), x1) 124.68/39.83 2ndspos(x0, mark(x1)) 124.68/39.83 2ndspos(active(x0), x1) 124.68/39.83 2ndspos(x0, active(x1)) 124.68/39.83 rcons(mark(x0), x1) 124.68/39.83 rcons(x0, mark(x1)) 124.68/39.83 rcons(active(x0), x1) 124.68/39.83 rcons(x0, active(x1)) 124.68/39.83 posrecip(mark(x0)) 124.68/39.83 posrecip(active(x0)) 124.68/39.83 2ndsneg(mark(x0), x1) 124.68/39.83 2ndsneg(x0, mark(x1)) 124.68/39.83 2ndsneg(active(x0), x1) 124.68/39.83 2ndsneg(x0, active(x1)) 124.68/39.83 negrecip(mark(x0)) 124.68/39.83 negrecip(active(x0)) 124.68/39.83 pi(mark(x0)) 124.68/39.83 pi(active(x0)) 124.68/39.83 plus(mark(x0), x1) 124.68/39.83 plus(x0, mark(x1)) 124.68/39.83 plus(active(x0), x1) 124.68/39.83 plus(x0, active(x1)) 124.68/39.83 times(mark(x0), x1) 124.68/39.83 times(x0, mark(x1)) 124.68/39.83 times(active(x0), x1) 124.68/39.83 times(x0, active(x1)) 124.68/39.83 square(mark(x0)) 124.68/39.83 square(active(x0)) 124.68/39.83 124.68/39.83 We have to consider all minimal (P,Q,R)-chains. 124.68/39.83 ---------------------------------------- 124.68/39.83 124.68/39.83 (134) QDPOrderProof (EQUIVALENT) 124.68/39.83 We use the reduction pair processor [LPAR04,JAR06]. 124.68/39.83 124.68/39.83 124.68/39.83 The following pairs can be oriented strictly and are deleted. 124.68/39.83 124.68/39.83 MARK(posrecip(X)) -> MARK(X) 124.68/39.83 The remaining pairs can at least be oriented weakly. 124.68/39.83 Used ordering: Combined order from the following AFS and order. 124.68/39.83 ACTIVE(x1) = x1 124.68/39.83 124.68/39.83 2ndspos(x1, x2) = x1 124.68/39.83 124.68/39.83 s(x1) = x1 124.68/39.83 124.68/39.83 MARK(x1) = x1 124.68/39.83 124.68/39.83 rcons(x1, x2) = x2 124.68/39.83 124.68/39.83 2ndsneg(x1, x2) = x1 124.68/39.83 124.68/39.83 mark(x1) = x1 124.68/39.83 124.68/39.83 posrecip(x1) = posrecip(x1) 124.68/39.83 124.68/39.83 plus(x1, x2) = x2 124.68/39.83 124.68/39.83 times(x1, x2) = times 124.68/39.83 124.68/39.83 cons(x1, x2) = cons 124.68/39.83 124.68/39.83 active(x1) = x1 124.68/39.83 124.68/39.83 from(x1) = from 124.68/39.83 124.68/39.83 pi(x1) = x1 124.68/39.83 124.68/39.83 square(x1) = square 124.68/39.83 124.68/39.83 negrecip(x1) = negrecip 124.68/39.83 124.68/39.83 0 = 0 124.68/39.83 124.68/39.83 rnil = rnil 124.68/39.83 124.68/39.83 124.68/39.83 Knuth-Bendix order [KBO] with precedence:trivial 124.68/39.83 124.68/39.83 and weight map: 124.68/39.83 124.68/39.83 negrecip=1 124.68/39.83 rnil=2 124.68/39.83 0=3 124.68/39.83 cons=2 124.68/39.83 square=5 124.68/39.83 posrecip_1=1 124.68/39.83 from=3 124.68/39.83 times=4 124.68/39.83 124.68/39.83 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 124.68/39.83 124.68/39.83 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.83 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.83 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.83 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.83 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.83 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.83 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.83 active(plus(0, Y)) -> mark(Y) 124.68/39.83 mark(from(X)) -> active(from(mark(X))) 124.68/39.83 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.83 mark(s(X)) -> active(s(mark(X))) 124.68/39.83 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.83 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.83 active(square(X)) -> mark(times(X, X)) 124.68/39.83 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.83 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.83 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.83 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.83 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.83 mark(square(X)) -> active(square(mark(X))) 124.68/39.83 mark(0) -> active(0) 124.68/39.83 mark(rnil) -> active(rnil) 124.68/39.83 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.83 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.83 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.83 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.83 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.83 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.83 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.83 times(mark(X1), X2) -> times(X1, X2) 124.68/39.83 times(active(X1), X2) -> times(X1, X2) 124.68/39.83 times(X1, active(X2)) -> times(X1, X2) 124.68/39.83 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.83 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.83 active(times(0, Y)) -> mark(0) 124.68/39.83 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.83 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.83 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.83 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.83 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.83 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.83 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.83 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.83 from(active(X)) -> from(X) 124.68/39.83 from(mark(X)) -> from(X) 124.68/39.83 s(active(X)) -> s(X) 124.68/39.83 s(mark(X)) -> s(X) 124.68/39.83 posrecip(active(X)) -> posrecip(X) 124.68/39.83 posrecip(mark(X)) -> posrecip(X) 124.68/39.83 negrecip(active(X)) -> negrecip(X) 124.68/39.83 negrecip(mark(X)) -> negrecip(X) 124.68/39.83 pi(active(X)) -> pi(X) 124.68/39.83 pi(mark(X)) -> pi(X) 124.68/39.83 square(active(X)) -> square(X) 124.68/39.83 square(mark(X)) -> square(X) 124.68/39.83 124.68/39.83 124.68/39.83 ---------------------------------------- 124.68/39.83 124.68/39.83 (135) 124.68/39.83 Obligation: 124.68/39.83 Q DP problem: 124.68/39.83 The TRS P consists of the following rules: 124.68/39.83 124.68/39.83 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.83 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.83 MARK(rcons(X1, X2)) -> MARK(X2) 124.68/39.83 MARK(s(X)) -> MARK(X) 124.68/39.83 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.68/39.83 MARK(2ndspos(X1, X2)) -> MARK(X1) 124.68/39.83 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.68/39.83 ACTIVE(plus(0, Y)) -> MARK(Y) 124.68/39.83 ACTIVE(plus(s(X), Y)) -> MARK(s(plus(X, Y))) 124.68/39.83 ACTIVE(times(s(X), Y)) -> MARK(plus(Y, times(X, Y))) 124.68/39.83 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 124.68/39.83 MARK(plus(X1, X2)) -> MARK(X2) 124.68/39.83 MARK(times(X1, X2)) -> ACTIVE(times(mark(X1), mark(X2))) 124.68/39.83 124.68/39.83 The TRS R consists of the following rules: 124.68/39.83 124.68/39.83 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.83 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.83 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.83 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.83 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.83 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.83 active(plus(0, Y)) -> mark(Y) 124.68/39.83 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.83 active(times(0, Y)) -> mark(0) 124.68/39.83 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.83 active(square(X)) -> mark(times(X, X)) 124.68/39.83 mark(from(X)) -> active(from(mark(X))) 124.68/39.83 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.83 mark(s(X)) -> active(s(mark(X))) 124.68/39.83 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.83 mark(0) -> active(0) 124.68/39.83 mark(rnil) -> active(rnil) 124.68/39.83 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.83 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.83 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.83 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.83 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.83 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.83 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.83 mark(square(X)) -> active(square(mark(X))) 124.68/39.83 from(mark(X)) -> from(X) 124.68/39.83 from(active(X)) -> from(X) 124.68/39.83 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.83 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.83 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.83 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.83 s(mark(X)) -> s(X) 124.68/39.83 s(active(X)) -> s(X) 124.68/39.83 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.83 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.83 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.83 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.83 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.83 posrecip(mark(X)) -> posrecip(X) 124.68/39.83 posrecip(active(X)) -> posrecip(X) 124.68/39.83 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.83 negrecip(mark(X)) -> negrecip(X) 124.68/39.83 negrecip(active(X)) -> negrecip(X) 124.68/39.83 pi(mark(X)) -> pi(X) 124.68/39.83 pi(active(X)) -> pi(X) 124.68/39.83 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.83 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.83 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.83 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.83 times(mark(X1), X2) -> times(X1, X2) 124.68/39.83 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.83 times(active(X1), X2) -> times(X1, X2) 124.68/39.83 times(X1, active(X2)) -> times(X1, X2) 124.68/39.83 square(mark(X)) -> square(X) 124.68/39.83 square(active(X)) -> square(X) 124.68/39.83 124.68/39.83 The set Q consists of the following terms: 124.68/39.83 124.68/39.83 active(from(x0)) 124.68/39.83 active(2ndspos(0, x0)) 124.68/39.83 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.83 active(2ndsneg(0, x0)) 124.68/39.83 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.83 active(pi(x0)) 124.68/39.83 active(plus(0, x0)) 124.68/39.83 active(plus(s(x0), x1)) 124.68/39.83 active(times(0, x0)) 124.68/39.83 active(times(s(x0), x1)) 124.68/39.83 active(square(x0)) 124.68/39.83 mark(from(x0)) 124.68/39.83 mark(cons(x0, x1)) 124.68/39.83 mark(s(x0)) 124.68/39.83 mark(2ndspos(x0, x1)) 124.68/39.83 mark(0) 124.68/39.83 mark(rnil) 124.68/39.83 mark(rcons(x0, x1)) 124.68/39.83 mark(posrecip(x0)) 124.68/39.83 mark(2ndsneg(x0, x1)) 124.68/39.83 mark(negrecip(x0)) 124.68/39.83 mark(pi(x0)) 124.68/39.83 mark(plus(x0, x1)) 124.68/39.83 mark(times(x0, x1)) 124.68/39.83 mark(square(x0)) 124.68/39.83 from(mark(x0)) 124.68/39.83 from(active(x0)) 124.68/39.83 cons(mark(x0), x1) 124.68/39.83 cons(x0, mark(x1)) 124.68/39.83 cons(active(x0), x1) 124.68/39.83 cons(x0, active(x1)) 124.68/39.83 s(mark(x0)) 124.68/39.83 s(active(x0)) 124.68/39.83 2ndspos(mark(x0), x1) 124.68/39.83 2ndspos(x0, mark(x1)) 124.68/39.83 2ndspos(active(x0), x1) 124.68/39.83 2ndspos(x0, active(x1)) 124.68/39.83 rcons(mark(x0), x1) 124.68/39.83 rcons(x0, mark(x1)) 124.68/39.83 rcons(active(x0), x1) 124.68/39.83 rcons(x0, active(x1)) 124.68/39.83 posrecip(mark(x0)) 124.68/39.83 posrecip(active(x0)) 124.68/39.83 2ndsneg(mark(x0), x1) 124.68/39.83 2ndsneg(x0, mark(x1)) 124.68/39.83 2ndsneg(active(x0), x1) 124.68/39.83 2ndsneg(x0, active(x1)) 124.68/39.83 negrecip(mark(x0)) 124.68/39.83 negrecip(active(x0)) 124.68/39.83 pi(mark(x0)) 124.68/39.83 pi(active(x0)) 124.68/39.83 plus(mark(x0), x1) 124.68/39.83 plus(x0, mark(x1)) 124.68/39.83 plus(active(x0), x1) 124.68/39.83 plus(x0, active(x1)) 124.68/39.83 times(mark(x0), x1) 124.68/39.83 times(x0, mark(x1)) 124.68/39.83 times(active(x0), x1) 124.68/39.83 times(x0, active(x1)) 124.68/39.83 square(mark(x0)) 124.68/39.83 square(active(x0)) 124.68/39.83 124.68/39.83 We have to consider all minimal (P,Q,R)-chains. 124.68/39.83 ---------------------------------------- 124.68/39.83 124.68/39.83 (136) QDPQMonotonicMRRProof (EQUIVALENT) 124.68/39.83 By using the Q-monotonic rule removal processor with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented such that it always occurs at a strongly monotonic position in a (P,Q,R)-chain. 124.68/39.83 124.68/39.83 Strictly oriented dependency pairs: 124.68/39.83 124.68/39.83 MARK(2ndspos(X1, X2)) -> MARK(X1) 124.68/39.83 124.68/39.83 124.68/39.83 Used ordering: Polynomial interpretation [POLO]: 124.68/39.83 124.68/39.83 POL(0) = 0 124.68/39.83 POL(2ndsneg(x_1, x_2)) = 1 + 2*x_1 124.68/39.83 POL(2ndspos(x_1, x_2)) = 1 + 2*x_1 124.68/39.83 POL(ACTIVE(x_1)) = 2*x_1 124.68/39.83 POL(MARK(x_1)) = 2*x_1 124.68/39.83 POL(active(x_1)) = x_1 124.68/39.83 POL(cons(x_1, x_2)) = 0 124.68/39.83 POL(from(x_1)) = 0 124.68/39.83 POL(mark(x_1)) = x_1 124.68/39.83 POL(negrecip(x_1)) = 0 124.68/39.83 POL(pi(x_1)) = 1 + 2*x_1 124.68/39.83 POL(plus(x_1, x_2)) = 2*x_2 124.68/39.83 POL(posrecip(x_1)) = 0 124.68/39.83 POL(rcons(x_1, x_2)) = x_2 124.68/39.83 POL(rnil) = 0 124.68/39.83 POL(s(x_1)) = x_1 124.68/39.83 POL(square(x_1)) = 2 124.68/39.83 POL(times(x_1, x_2)) = 0 124.68/39.83 124.68/39.83 124.68/39.83 ---------------------------------------- 124.68/39.83 124.68/39.83 (137) 124.68/39.83 Obligation: 124.68/39.83 Q DP problem: 124.68/39.83 The TRS P consists of the following rules: 124.68/39.83 124.68/39.83 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.83 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.83 MARK(rcons(X1, X2)) -> MARK(X2) 124.68/39.83 MARK(s(X)) -> MARK(X) 124.68/39.83 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.68/39.83 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.68/39.83 ACTIVE(plus(0, Y)) -> MARK(Y) 124.68/39.83 ACTIVE(plus(s(X), Y)) -> MARK(s(plus(X, Y))) 124.68/39.83 ACTIVE(times(s(X), Y)) -> MARK(plus(Y, times(X, Y))) 124.68/39.83 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 124.68/39.83 MARK(plus(X1, X2)) -> MARK(X2) 124.68/39.83 MARK(times(X1, X2)) -> ACTIVE(times(mark(X1), mark(X2))) 124.68/39.83 124.68/39.83 The TRS R consists of the following rules: 124.68/39.83 124.68/39.83 active(from(X)) -> mark(cons(X, from(s(X)))) 124.68/39.83 active(2ndspos(0, Z)) -> mark(rnil) 124.68/39.83 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.68/39.83 active(2ndsneg(0, Z)) -> mark(rnil) 124.68/39.83 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.68/39.83 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.68/39.83 active(plus(0, Y)) -> mark(Y) 124.68/39.83 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.68/39.83 active(times(0, Y)) -> mark(0) 124.68/39.83 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.68/39.83 active(square(X)) -> mark(times(X, X)) 124.68/39.83 mark(from(X)) -> active(from(mark(X))) 124.68/39.83 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.68/39.83 mark(s(X)) -> active(s(mark(X))) 124.68/39.83 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.68/39.83 mark(0) -> active(0) 124.68/39.83 mark(rnil) -> active(rnil) 124.68/39.83 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.68/39.83 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.68/39.83 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.68/39.83 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.68/39.83 mark(pi(X)) -> active(pi(mark(X))) 124.68/39.83 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.68/39.83 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.68/39.83 mark(square(X)) -> active(square(mark(X))) 124.68/39.83 from(mark(X)) -> from(X) 124.68/39.83 from(active(X)) -> from(X) 124.68/39.83 cons(mark(X1), X2) -> cons(X1, X2) 124.68/39.83 cons(X1, mark(X2)) -> cons(X1, X2) 124.68/39.83 cons(active(X1), X2) -> cons(X1, X2) 124.68/39.83 cons(X1, active(X2)) -> cons(X1, X2) 124.68/39.83 s(mark(X)) -> s(X) 124.68/39.83 s(active(X)) -> s(X) 124.68/39.83 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.68/39.83 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.68/39.83 rcons(mark(X1), X2) -> rcons(X1, X2) 124.68/39.83 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.68/39.83 rcons(active(X1), X2) -> rcons(X1, X2) 124.68/39.83 rcons(X1, active(X2)) -> rcons(X1, X2) 124.68/39.83 posrecip(mark(X)) -> posrecip(X) 124.68/39.83 posrecip(active(X)) -> posrecip(X) 124.68/39.83 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.68/39.83 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.68/39.83 negrecip(mark(X)) -> negrecip(X) 124.68/39.83 negrecip(active(X)) -> negrecip(X) 124.68/39.83 pi(mark(X)) -> pi(X) 124.68/39.83 pi(active(X)) -> pi(X) 124.68/39.83 plus(mark(X1), X2) -> plus(X1, X2) 124.68/39.83 plus(X1, mark(X2)) -> plus(X1, X2) 124.68/39.83 plus(active(X1), X2) -> plus(X1, X2) 124.68/39.83 plus(X1, active(X2)) -> plus(X1, X2) 124.68/39.83 times(mark(X1), X2) -> times(X1, X2) 124.68/39.83 times(X1, mark(X2)) -> times(X1, X2) 124.68/39.83 times(active(X1), X2) -> times(X1, X2) 124.68/39.83 times(X1, active(X2)) -> times(X1, X2) 124.68/39.83 square(mark(X)) -> square(X) 124.68/39.83 square(active(X)) -> square(X) 124.68/39.83 124.68/39.83 The set Q consists of the following terms: 124.68/39.83 124.68/39.83 active(from(x0)) 124.68/39.83 active(2ndspos(0, x0)) 124.68/39.83 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.83 active(2ndsneg(0, x0)) 124.68/39.83 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.68/39.83 active(pi(x0)) 124.68/39.83 active(plus(0, x0)) 124.68/39.83 active(plus(s(x0), x1)) 124.68/39.83 active(times(0, x0)) 124.68/39.83 active(times(s(x0), x1)) 124.68/39.83 active(square(x0)) 124.68/39.83 mark(from(x0)) 124.68/39.83 mark(cons(x0, x1)) 124.68/39.83 mark(s(x0)) 124.68/39.83 mark(2ndspos(x0, x1)) 124.68/39.83 mark(0) 124.68/39.83 mark(rnil) 124.68/39.83 mark(rcons(x0, x1)) 124.68/39.83 mark(posrecip(x0)) 124.68/39.83 mark(2ndsneg(x0, x1)) 124.68/39.83 mark(negrecip(x0)) 124.68/39.83 mark(pi(x0)) 124.68/39.83 mark(plus(x0, x1)) 124.68/39.83 mark(times(x0, x1)) 124.68/39.83 mark(square(x0)) 124.68/39.83 from(mark(x0)) 124.68/39.83 from(active(x0)) 124.68/39.83 cons(mark(x0), x1) 124.68/39.83 cons(x0, mark(x1)) 124.68/39.83 cons(active(x0), x1) 124.68/39.83 cons(x0, active(x1)) 124.68/39.83 s(mark(x0)) 124.68/39.83 s(active(x0)) 124.68/39.83 2ndspos(mark(x0), x1) 124.68/39.83 2ndspos(x0, mark(x1)) 124.68/39.83 2ndspos(active(x0), x1) 124.68/39.83 2ndspos(x0, active(x1)) 124.68/39.83 rcons(mark(x0), x1) 124.68/39.83 rcons(x0, mark(x1)) 124.68/39.83 rcons(active(x0), x1) 124.68/39.83 rcons(x0, active(x1)) 124.68/39.83 posrecip(mark(x0)) 124.68/39.83 posrecip(active(x0)) 124.68/39.83 2ndsneg(mark(x0), x1) 124.68/39.83 2ndsneg(x0, mark(x1)) 124.68/39.83 2ndsneg(active(x0), x1) 124.68/39.83 2ndsneg(x0, active(x1)) 124.68/39.83 negrecip(mark(x0)) 124.68/39.83 negrecip(active(x0)) 124.68/39.83 pi(mark(x0)) 124.68/39.83 pi(active(x0)) 124.68/39.83 plus(mark(x0), x1) 124.68/39.83 plus(x0, mark(x1)) 124.68/39.83 plus(active(x0), x1) 124.68/39.83 plus(x0, active(x1)) 124.68/39.83 times(mark(x0), x1) 124.68/39.83 times(x0, mark(x1)) 124.68/39.83 times(active(x0), x1) 124.68/39.83 times(x0, active(x1)) 124.68/39.83 square(mark(x0)) 124.68/39.83 square(active(x0)) 124.68/39.83 124.68/39.83 We have to consider all minimal (P,Q,R)-chains. 124.68/39.83 ---------------------------------------- 124.68/39.83 124.68/39.83 (138) QDPOrderProof (EQUIVALENT) 124.68/39.83 We use the reduction pair processor [LPAR04,JAR06]. 124.68/39.83 124.68/39.83 124.68/39.83 The following pairs can be oriented strictly and are deleted. 124.68/39.83 124.68/39.83 MARK(s(X)) -> MARK(X) 124.68/39.83 ACTIVE(plus(0, Y)) -> MARK(Y) 124.68/39.83 ACTIVE(plus(s(X), Y)) -> MARK(s(plus(X, Y))) 124.68/39.83 ACTIVE(times(s(X), Y)) -> MARK(plus(Y, times(X, Y))) 124.68/39.83 MARK(plus(X1, X2)) -> MARK(X2) 124.68/39.83 The remaining pairs can at least be oriented weakly. 124.68/39.83 Used ordering: Combined order from the following AFS and order. 124.68/39.83 ACTIVE(x1) = ACTIVE(x1) 124.68/39.83 124.68/39.83 2ndspos(x1, x2) = 2ndspos 124.68/39.83 124.68/39.83 s(x1) = s(x1) 124.68/39.83 124.68/39.83 cons(x1, x2) = x2 124.68/39.83 124.68/39.83 MARK(x1) = MARK(x1) 124.68/39.83 124.68/39.83 rcons(x1, x2) = x2 124.68/39.83 124.68/39.83 posrecip(x1) = posrecip 124.68/39.83 124.68/39.83 2ndsneg(x1, x2) = 2ndsneg 124.68/39.83 124.68/39.83 negrecip(x1) = negrecip(x1) 124.68/39.83 124.68/39.83 mark(x1) = x1 124.68/39.83 124.68/39.83 plus(x1, x2) = plus(x1, x2) 124.68/39.83 124.68/39.83 0 = 0 124.68/39.83 124.68/39.83 times(x1, x2) = times(x1, x2) 124.68/39.83 124.68/39.83 active(x1) = x1 124.68/39.83 124.68/39.83 from(x1) = from 124.68/39.83 124.68/39.83 pi(x1) = pi 124.68/39.83 124.68/39.83 square(x1) = square(x1) 124.68/39.83 124.68/39.83 rnil = rnil 124.68/39.83 124.68/39.83 124.68/39.83 Recursive path order with status [RPO]. 124.68/39.83 Quasi-Precedence: [2ndspos, 2ndsneg, 0, pi] > [ACTIVE_1, MARK_1, times_2] > posrecip 124.68/39.83 [2ndspos, 2ndsneg, 0, pi] > [ACTIVE_1, MARK_1, times_2] > negrecip_1 124.68/39.83 [2ndspos, 2ndsneg, 0, pi] > [ACTIVE_1, MARK_1, times_2] > plus_2 > [s_1, from] 124.68/39.83 [2ndspos, 2ndsneg, 0, pi] > rnil 124.68/39.83 square_1 > [ACTIVE_1, MARK_1, times_2] > posrecip 124.95/39.83 square_1 > [ACTIVE_1, MARK_1, times_2] > negrecip_1 124.95/39.83 square_1 > [ACTIVE_1, MARK_1, times_2] > plus_2 > [s_1, from] 124.95/39.83 124.95/39.83 Status: ACTIVE_1: [1] 124.95/39.83 2ndspos: [] 124.95/39.83 s_1: multiset status 124.95/39.83 MARK_1: [1] 124.95/39.83 posrecip: multiset status 124.95/39.83 2ndsneg: [] 124.95/39.83 negrecip_1: multiset status 124.95/39.83 plus_2: [2,1] 124.95/39.83 0: multiset status 124.95/39.83 times_2: [1,2] 124.95/39.83 from: [] 124.95/39.83 pi: [] 124.95/39.83 square_1: multiset status 124.95/39.83 rnil: multiset status 124.95/39.83 124.95/39.83 124.95/39.83 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 124.95/39.83 124.95/39.83 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.95/39.83 active(from(X)) -> mark(cons(X, from(s(X)))) 124.95/39.83 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.95/39.83 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.95/39.83 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.95/39.83 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.95/39.83 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.95/39.83 active(plus(0, Y)) -> mark(Y) 124.95/39.83 mark(from(X)) -> active(from(mark(X))) 124.95/39.83 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.95/39.83 mark(s(X)) -> active(s(mark(X))) 124.95/39.83 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.95/39.83 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.95/39.83 active(square(X)) -> mark(times(X, X)) 124.95/39.83 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.95/39.83 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.95/39.83 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.95/39.83 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.95/39.83 mark(pi(X)) -> active(pi(mark(X))) 124.95/39.83 mark(square(X)) -> active(square(mark(X))) 124.95/39.83 mark(0) -> active(0) 124.95/39.83 mark(rnil) -> active(rnil) 124.95/39.83 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.95/39.83 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.95/39.83 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.95/39.83 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.95/39.83 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.95/39.83 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.95/39.83 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.95/39.83 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.95/39.83 plus(X1, mark(X2)) -> plus(X1, X2) 124.95/39.83 plus(mark(X1), X2) -> plus(X1, X2) 124.95/39.83 plus(active(X1), X2) -> plus(X1, X2) 124.95/39.83 plus(X1, active(X2)) -> plus(X1, X2) 124.95/39.83 times(X1, mark(X2)) -> times(X1, X2) 124.95/39.83 times(mark(X1), X2) -> times(X1, X2) 124.95/39.83 times(active(X1), X2) -> times(X1, X2) 124.95/39.83 times(X1, active(X2)) -> times(X1, X2) 124.95/39.83 active(2ndspos(0, Z)) -> mark(rnil) 124.95/39.83 active(2ndsneg(0, Z)) -> mark(rnil) 124.95/39.83 active(times(0, Y)) -> mark(0) 124.95/39.83 cons(X1, mark(X2)) -> cons(X1, X2) 124.95/39.83 cons(mark(X1), X2) -> cons(X1, X2) 124.95/39.83 cons(active(X1), X2) -> cons(X1, X2) 124.95/39.83 cons(X1, active(X2)) -> cons(X1, X2) 124.95/39.83 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.95/39.83 rcons(mark(X1), X2) -> rcons(X1, X2) 124.95/39.83 rcons(active(X1), X2) -> rcons(X1, X2) 124.95/39.83 rcons(X1, active(X2)) -> rcons(X1, X2) 124.95/39.83 from(active(X)) -> from(X) 124.95/39.83 from(mark(X)) -> from(X) 124.95/39.83 s(active(X)) -> s(X) 124.95/39.83 s(mark(X)) -> s(X) 124.95/39.83 posrecip(active(X)) -> posrecip(X) 124.95/39.83 posrecip(mark(X)) -> posrecip(X) 124.95/39.83 negrecip(active(X)) -> negrecip(X) 124.95/39.83 negrecip(mark(X)) -> negrecip(X) 124.95/39.83 pi(active(X)) -> pi(X) 124.95/39.83 pi(mark(X)) -> pi(X) 124.95/39.83 square(active(X)) -> square(X) 124.95/39.83 square(mark(X)) -> square(X) 124.95/39.83 124.95/39.83 124.95/39.83 ---------------------------------------- 124.95/39.83 124.95/39.83 (139) 124.95/39.83 Obligation: 124.95/39.83 Q DP problem: 124.95/39.83 The TRS P consists of the following rules: 124.95/39.83 124.95/39.83 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.95/39.83 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.95/39.83 MARK(rcons(X1, X2)) -> MARK(X2) 124.95/39.83 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.95/39.83 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.95/39.83 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 124.95/39.83 MARK(times(X1, X2)) -> ACTIVE(times(mark(X1), mark(X2))) 124.95/39.83 124.95/39.83 The TRS R consists of the following rules: 124.95/39.83 124.95/39.83 active(from(X)) -> mark(cons(X, from(s(X)))) 124.95/39.83 active(2ndspos(0, Z)) -> mark(rnil) 124.95/39.83 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.95/39.83 active(2ndsneg(0, Z)) -> mark(rnil) 124.95/39.83 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.95/39.83 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.95/39.83 active(plus(0, Y)) -> mark(Y) 124.95/39.83 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.95/39.83 active(times(0, Y)) -> mark(0) 124.95/39.83 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.95/39.83 active(square(X)) -> mark(times(X, X)) 124.95/39.83 mark(from(X)) -> active(from(mark(X))) 124.95/39.83 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.95/39.83 mark(s(X)) -> active(s(mark(X))) 124.95/39.83 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.95/39.83 mark(0) -> active(0) 124.95/39.83 mark(rnil) -> active(rnil) 124.95/39.83 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.95/39.83 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.95/39.83 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.95/39.83 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.95/39.83 mark(pi(X)) -> active(pi(mark(X))) 124.95/39.83 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.95/39.83 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.95/39.83 mark(square(X)) -> active(square(mark(X))) 124.95/39.83 from(mark(X)) -> from(X) 124.95/39.83 from(active(X)) -> from(X) 124.95/39.83 cons(mark(X1), X2) -> cons(X1, X2) 124.95/39.83 cons(X1, mark(X2)) -> cons(X1, X2) 124.95/39.83 cons(active(X1), X2) -> cons(X1, X2) 124.95/39.83 cons(X1, active(X2)) -> cons(X1, X2) 124.95/39.83 s(mark(X)) -> s(X) 124.95/39.83 s(active(X)) -> s(X) 124.95/39.83 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.95/39.83 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.95/39.83 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.95/39.83 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.95/39.83 rcons(mark(X1), X2) -> rcons(X1, X2) 124.95/39.83 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.95/39.83 rcons(active(X1), X2) -> rcons(X1, X2) 124.95/39.83 rcons(X1, active(X2)) -> rcons(X1, X2) 124.95/39.83 posrecip(mark(X)) -> posrecip(X) 124.95/39.83 posrecip(active(X)) -> posrecip(X) 124.95/39.83 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.95/39.83 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.95/39.83 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.95/39.83 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.95/39.83 negrecip(mark(X)) -> negrecip(X) 124.95/39.83 negrecip(active(X)) -> negrecip(X) 124.95/39.83 pi(mark(X)) -> pi(X) 124.95/39.83 pi(active(X)) -> pi(X) 124.95/39.83 plus(mark(X1), X2) -> plus(X1, X2) 124.95/39.83 plus(X1, mark(X2)) -> plus(X1, X2) 124.95/39.83 plus(active(X1), X2) -> plus(X1, X2) 124.95/39.83 plus(X1, active(X2)) -> plus(X1, X2) 124.95/39.83 times(mark(X1), X2) -> times(X1, X2) 124.95/39.83 times(X1, mark(X2)) -> times(X1, X2) 124.95/39.83 times(active(X1), X2) -> times(X1, X2) 124.95/39.83 times(X1, active(X2)) -> times(X1, X2) 124.95/39.83 square(mark(X)) -> square(X) 124.95/39.83 square(active(X)) -> square(X) 124.95/39.83 124.95/39.83 The set Q consists of the following terms: 124.95/39.83 124.95/39.83 active(from(x0)) 124.95/39.83 active(2ndspos(0, x0)) 124.95/39.83 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.95/39.83 active(2ndsneg(0, x0)) 124.95/39.83 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.95/39.83 active(pi(x0)) 124.95/39.83 active(plus(0, x0)) 124.95/39.83 active(plus(s(x0), x1)) 124.95/39.83 active(times(0, x0)) 124.95/39.83 active(times(s(x0), x1)) 124.95/39.83 active(square(x0)) 124.95/39.83 mark(from(x0)) 124.95/39.83 mark(cons(x0, x1)) 124.95/39.83 mark(s(x0)) 124.95/39.83 mark(2ndspos(x0, x1)) 124.95/39.83 mark(0) 124.95/39.83 mark(rnil) 124.95/39.83 mark(rcons(x0, x1)) 124.95/39.83 mark(posrecip(x0)) 124.95/39.83 mark(2ndsneg(x0, x1)) 124.95/39.83 mark(negrecip(x0)) 124.95/39.83 mark(pi(x0)) 124.95/39.83 mark(plus(x0, x1)) 124.95/39.83 mark(times(x0, x1)) 124.95/39.83 mark(square(x0)) 124.95/39.83 from(mark(x0)) 124.95/39.83 from(active(x0)) 124.95/39.83 cons(mark(x0), x1) 124.95/39.83 cons(x0, mark(x1)) 124.95/39.83 cons(active(x0), x1) 124.95/39.83 cons(x0, active(x1)) 124.95/39.83 s(mark(x0)) 124.95/39.83 s(active(x0)) 124.95/39.83 2ndspos(mark(x0), x1) 124.95/39.83 2ndspos(x0, mark(x1)) 124.95/39.83 2ndspos(active(x0), x1) 124.95/39.83 2ndspos(x0, active(x1)) 124.95/39.83 rcons(mark(x0), x1) 124.95/39.83 rcons(x0, mark(x1)) 124.95/39.83 rcons(active(x0), x1) 124.95/39.83 rcons(x0, active(x1)) 124.95/39.83 posrecip(mark(x0)) 124.95/39.83 posrecip(active(x0)) 124.95/39.83 2ndsneg(mark(x0), x1) 124.95/39.83 2ndsneg(x0, mark(x1)) 124.95/39.83 2ndsneg(active(x0), x1) 124.95/39.83 2ndsneg(x0, active(x1)) 124.95/39.83 negrecip(mark(x0)) 124.95/39.83 negrecip(active(x0)) 124.95/39.83 pi(mark(x0)) 124.95/39.83 pi(active(x0)) 124.95/39.83 plus(mark(x0), x1) 124.95/39.83 plus(x0, mark(x1)) 124.95/39.83 plus(active(x0), x1) 124.95/39.83 plus(x0, active(x1)) 124.95/39.83 times(mark(x0), x1) 124.95/39.83 times(x0, mark(x1)) 124.95/39.83 times(active(x0), x1) 124.95/39.83 times(x0, active(x1)) 124.95/39.83 square(mark(x0)) 124.95/39.83 square(active(x0)) 124.95/39.83 124.95/39.83 We have to consider all minimal (P,Q,R)-chains. 124.95/39.83 ---------------------------------------- 124.95/39.83 124.95/39.83 (140) QDPQMonotonicMRRProof (EQUIVALENT) 124.95/39.83 By using the Q-monotonic rule removal processor with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented such that it always occurs at a strongly monotonic position in a (P,Q,R)-chain. 124.95/39.83 124.95/39.83 Strictly oriented dependency pairs: 124.95/39.83 124.95/39.83 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 124.95/39.83 124.95/39.83 124.95/39.83 Used ordering: Polynomial interpretation [POLO]: 124.95/39.83 124.95/39.83 POL(0) = 0 124.95/39.83 POL(2ndsneg(x_1, x_2)) = 1 124.95/39.83 POL(2ndspos(x_1, x_2)) = 1 124.95/39.83 POL(ACTIVE(x_1)) = 2*x_1 124.95/39.83 POL(MARK(x_1)) = 2 124.95/39.83 POL(active(x_1)) = 0 124.95/39.83 POL(cons(x_1, x_2)) = 0 124.95/39.83 POL(from(x_1)) = 0 124.95/39.83 POL(mark(x_1)) = 0 124.95/39.83 POL(negrecip(x_1)) = 0 124.95/39.83 POL(pi(x_1)) = 0 124.95/39.83 POL(plus(x_1, x_2)) = 0 124.95/39.83 POL(posrecip(x_1)) = 0 124.95/39.83 POL(rcons(x_1, x_2)) = 0 124.95/39.83 POL(rnil) = 0 124.95/39.83 POL(s(x_1)) = 0 124.95/39.83 POL(square(x_1)) = 0 124.95/39.83 POL(times(x_1, x_2)) = 1 124.95/39.83 124.95/39.83 124.95/39.83 ---------------------------------------- 124.95/39.83 124.95/39.83 (141) 124.95/39.83 Obligation: 124.95/39.83 Q DP problem: 124.95/39.83 The TRS P consists of the following rules: 124.95/39.83 124.95/39.83 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.95/39.83 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.95/39.83 MARK(rcons(X1, X2)) -> MARK(X2) 124.95/39.83 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.95/39.83 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.95/39.84 MARK(times(X1, X2)) -> ACTIVE(times(mark(X1), mark(X2))) 124.95/39.84 124.95/39.84 The TRS R consists of the following rules: 124.95/39.84 124.95/39.84 active(from(X)) -> mark(cons(X, from(s(X)))) 124.95/39.84 active(2ndspos(0, Z)) -> mark(rnil) 124.95/39.84 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.95/39.84 active(2ndsneg(0, Z)) -> mark(rnil) 124.95/39.84 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.95/39.84 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.95/39.84 active(plus(0, Y)) -> mark(Y) 124.95/39.84 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.95/39.84 active(times(0, Y)) -> mark(0) 124.95/39.84 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.95/39.84 active(square(X)) -> mark(times(X, X)) 124.95/39.84 mark(from(X)) -> active(from(mark(X))) 124.95/39.84 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.95/39.84 mark(s(X)) -> active(s(mark(X))) 124.95/39.84 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.95/39.84 mark(0) -> active(0) 124.95/39.84 mark(rnil) -> active(rnil) 124.95/39.84 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.95/39.84 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.95/39.84 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.95/39.84 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.95/39.84 mark(pi(X)) -> active(pi(mark(X))) 124.95/39.84 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.95/39.84 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.95/39.84 mark(square(X)) -> active(square(mark(X))) 124.95/39.84 from(mark(X)) -> from(X) 124.95/39.84 from(active(X)) -> from(X) 124.95/39.84 cons(mark(X1), X2) -> cons(X1, X2) 124.95/39.84 cons(X1, mark(X2)) -> cons(X1, X2) 124.95/39.84 cons(active(X1), X2) -> cons(X1, X2) 124.95/39.84 cons(X1, active(X2)) -> cons(X1, X2) 124.95/39.84 s(mark(X)) -> s(X) 124.95/39.84 s(active(X)) -> s(X) 124.95/39.84 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.95/39.84 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.95/39.84 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.95/39.84 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.95/39.84 rcons(mark(X1), X2) -> rcons(X1, X2) 124.95/39.84 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.95/39.84 rcons(active(X1), X2) -> rcons(X1, X2) 124.95/39.84 rcons(X1, active(X2)) -> rcons(X1, X2) 124.95/39.84 posrecip(mark(X)) -> posrecip(X) 124.95/39.84 posrecip(active(X)) -> posrecip(X) 124.95/39.84 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.95/39.84 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.95/39.84 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.95/39.84 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.95/39.84 negrecip(mark(X)) -> negrecip(X) 124.95/39.84 negrecip(active(X)) -> negrecip(X) 124.95/39.84 pi(mark(X)) -> pi(X) 124.95/39.84 pi(active(X)) -> pi(X) 124.95/39.84 plus(mark(X1), X2) -> plus(X1, X2) 124.95/39.84 plus(X1, mark(X2)) -> plus(X1, X2) 124.95/39.84 plus(active(X1), X2) -> plus(X1, X2) 124.95/39.84 plus(X1, active(X2)) -> plus(X1, X2) 124.95/39.84 times(mark(X1), X2) -> times(X1, X2) 124.95/39.84 times(X1, mark(X2)) -> times(X1, X2) 124.95/39.84 times(active(X1), X2) -> times(X1, X2) 124.95/39.84 times(X1, active(X2)) -> times(X1, X2) 124.95/39.84 square(mark(X)) -> square(X) 124.95/39.84 square(active(X)) -> square(X) 124.95/39.84 124.95/39.84 The set Q consists of the following terms: 124.95/39.84 124.95/39.84 active(from(x0)) 124.95/39.84 active(2ndspos(0, x0)) 124.95/39.84 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.95/39.84 active(2ndsneg(0, x0)) 124.95/39.84 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.95/39.84 active(pi(x0)) 124.95/39.84 active(plus(0, x0)) 124.95/39.84 active(plus(s(x0), x1)) 124.95/39.84 active(times(0, x0)) 124.95/39.84 active(times(s(x0), x1)) 124.95/39.84 active(square(x0)) 124.95/39.84 mark(from(x0)) 124.95/39.84 mark(cons(x0, x1)) 124.95/39.84 mark(s(x0)) 124.95/39.84 mark(2ndspos(x0, x1)) 124.95/39.84 mark(0) 124.95/39.84 mark(rnil) 124.95/39.84 mark(rcons(x0, x1)) 124.95/39.84 mark(posrecip(x0)) 124.95/39.84 mark(2ndsneg(x0, x1)) 124.95/39.84 mark(negrecip(x0)) 124.95/39.84 mark(pi(x0)) 124.95/39.84 mark(plus(x0, x1)) 124.95/39.84 mark(times(x0, x1)) 124.95/39.84 mark(square(x0)) 124.95/39.84 from(mark(x0)) 124.95/39.84 from(active(x0)) 124.95/39.84 cons(mark(x0), x1) 124.95/39.84 cons(x0, mark(x1)) 124.95/39.84 cons(active(x0), x1) 124.95/39.84 cons(x0, active(x1)) 124.95/39.84 s(mark(x0)) 124.95/39.84 s(active(x0)) 124.95/39.84 2ndspos(mark(x0), x1) 124.95/39.84 2ndspos(x0, mark(x1)) 124.95/39.84 2ndspos(active(x0), x1) 124.95/39.84 2ndspos(x0, active(x1)) 124.95/39.84 rcons(mark(x0), x1) 124.95/39.84 rcons(x0, mark(x1)) 124.95/39.84 rcons(active(x0), x1) 124.95/39.84 rcons(x0, active(x1)) 124.95/39.84 posrecip(mark(x0)) 124.95/39.84 posrecip(active(x0)) 124.95/39.84 2ndsneg(mark(x0), x1) 124.95/39.84 2ndsneg(x0, mark(x1)) 124.95/39.84 2ndsneg(active(x0), x1) 124.95/39.84 2ndsneg(x0, active(x1)) 124.95/39.84 negrecip(mark(x0)) 124.95/39.84 negrecip(active(x0)) 124.95/39.84 pi(mark(x0)) 124.95/39.84 pi(active(x0)) 124.95/39.84 plus(mark(x0), x1) 124.95/39.84 plus(x0, mark(x1)) 124.95/39.84 plus(active(x0), x1) 124.95/39.84 plus(x0, active(x1)) 124.95/39.84 times(mark(x0), x1) 124.95/39.84 times(x0, mark(x1)) 124.95/39.84 times(active(x0), x1) 124.95/39.84 times(x0, active(x1)) 124.95/39.84 square(mark(x0)) 124.95/39.84 square(active(x0)) 124.95/39.84 124.95/39.84 We have to consider all minimal (P,Q,R)-chains. 124.95/39.84 ---------------------------------------- 124.95/39.84 124.95/39.84 (142) QDPQMonotonicMRRProof (EQUIVALENT) 124.95/39.84 By using the Q-monotonic rule removal processor with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented such that it always occurs at a strongly monotonic position in a (P,Q,R)-chain. 124.95/39.84 124.95/39.84 Strictly oriented dependency pairs: 124.95/39.84 124.95/39.84 MARK(times(X1, X2)) -> ACTIVE(times(mark(X1), mark(X2))) 124.95/39.84 124.95/39.84 124.95/39.84 Used ordering: Polynomial interpretation [POLO]: 124.95/39.84 124.95/39.84 POL(0) = 0 124.95/39.84 POL(2ndsneg(x_1, x_2)) = 1 124.95/39.84 POL(2ndspos(x_1, x_2)) = 1 124.95/39.84 POL(ACTIVE(x_1)) = 2*x_1 124.95/39.84 POL(MARK(x_1)) = 2 124.95/39.84 POL(active(x_1)) = 0 124.95/39.84 POL(cons(x_1, x_2)) = 0 124.95/39.84 POL(from(x_1)) = 0 124.95/39.84 POL(mark(x_1)) = 0 124.95/39.84 POL(negrecip(x_1)) = 0 124.95/39.84 POL(pi(x_1)) = 0 124.95/39.84 POL(plus(x_1, x_2)) = 0 124.95/39.84 POL(posrecip(x_1)) = 0 124.95/39.84 POL(rcons(x_1, x_2)) = 0 124.95/39.84 POL(rnil) = 0 124.95/39.84 POL(s(x_1)) = 0 124.95/39.84 POL(square(x_1)) = 0 124.95/39.84 POL(times(x_1, x_2)) = 0 124.95/39.84 124.95/39.84 124.95/39.84 ---------------------------------------- 124.95/39.84 124.95/39.84 (143) 124.95/39.84 Obligation: 124.95/39.84 Q DP problem: 124.95/39.84 The TRS P consists of the following rules: 124.95/39.84 124.95/39.84 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.95/39.84 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.95/39.84 MARK(rcons(X1, X2)) -> MARK(X2) 124.95/39.84 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.95/39.84 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.95/39.84 124.95/39.84 The TRS R consists of the following rules: 124.95/39.84 124.95/39.84 active(from(X)) -> mark(cons(X, from(s(X)))) 124.95/39.84 active(2ndspos(0, Z)) -> mark(rnil) 124.95/39.84 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.95/39.84 active(2ndsneg(0, Z)) -> mark(rnil) 124.95/39.84 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.95/39.84 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.95/39.84 active(plus(0, Y)) -> mark(Y) 124.95/39.84 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.95/39.84 active(times(0, Y)) -> mark(0) 124.95/39.84 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.95/39.84 active(square(X)) -> mark(times(X, X)) 124.95/39.84 mark(from(X)) -> active(from(mark(X))) 124.95/39.84 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.95/39.84 mark(s(X)) -> active(s(mark(X))) 124.95/39.84 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.95/39.84 mark(0) -> active(0) 124.95/39.84 mark(rnil) -> active(rnil) 124.95/39.84 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.95/39.84 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.95/39.84 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.95/39.84 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.95/39.84 mark(pi(X)) -> active(pi(mark(X))) 124.95/39.84 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.95/39.84 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.95/39.84 mark(square(X)) -> active(square(mark(X))) 124.95/39.84 from(mark(X)) -> from(X) 124.95/39.84 from(active(X)) -> from(X) 124.95/39.84 cons(mark(X1), X2) -> cons(X1, X2) 124.95/39.84 cons(X1, mark(X2)) -> cons(X1, X2) 124.95/39.84 cons(active(X1), X2) -> cons(X1, X2) 124.95/39.84 cons(X1, active(X2)) -> cons(X1, X2) 124.95/39.84 s(mark(X)) -> s(X) 124.95/39.84 s(active(X)) -> s(X) 124.95/39.84 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.95/39.84 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.95/39.84 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.95/39.84 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.95/39.84 rcons(mark(X1), X2) -> rcons(X1, X2) 124.95/39.84 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.95/39.84 rcons(active(X1), X2) -> rcons(X1, X2) 124.95/39.84 rcons(X1, active(X2)) -> rcons(X1, X2) 124.95/39.84 posrecip(mark(X)) -> posrecip(X) 124.95/39.84 posrecip(active(X)) -> posrecip(X) 124.95/39.84 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.95/39.84 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.95/39.84 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.95/39.84 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.95/39.84 negrecip(mark(X)) -> negrecip(X) 124.95/39.84 negrecip(active(X)) -> negrecip(X) 124.95/39.84 pi(mark(X)) -> pi(X) 124.95/39.84 pi(active(X)) -> pi(X) 124.95/39.84 plus(mark(X1), X2) -> plus(X1, X2) 124.95/39.84 plus(X1, mark(X2)) -> plus(X1, X2) 124.95/39.84 plus(active(X1), X2) -> plus(X1, X2) 124.95/39.84 plus(X1, active(X2)) -> plus(X1, X2) 124.95/39.84 times(mark(X1), X2) -> times(X1, X2) 124.95/39.84 times(X1, mark(X2)) -> times(X1, X2) 124.95/39.84 times(active(X1), X2) -> times(X1, X2) 124.95/39.84 times(X1, active(X2)) -> times(X1, X2) 124.95/39.84 square(mark(X)) -> square(X) 124.95/39.84 square(active(X)) -> square(X) 124.95/39.84 124.95/39.84 The set Q consists of the following terms: 124.95/39.84 124.95/39.84 active(from(x0)) 124.95/39.84 active(2ndspos(0, x0)) 124.95/39.84 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.95/39.84 active(2ndsneg(0, x0)) 124.95/39.84 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.95/39.84 active(pi(x0)) 124.95/39.84 active(plus(0, x0)) 124.95/39.84 active(plus(s(x0), x1)) 124.95/39.84 active(times(0, x0)) 124.95/39.84 active(times(s(x0), x1)) 124.95/39.84 active(square(x0)) 124.95/39.84 mark(from(x0)) 124.95/39.84 mark(cons(x0, x1)) 124.95/39.84 mark(s(x0)) 124.95/39.84 mark(2ndspos(x0, x1)) 124.95/39.84 mark(0) 124.95/39.84 mark(rnil) 124.95/39.84 mark(rcons(x0, x1)) 124.95/39.84 mark(posrecip(x0)) 124.95/39.84 mark(2ndsneg(x0, x1)) 124.95/39.84 mark(negrecip(x0)) 124.95/39.84 mark(pi(x0)) 124.95/39.84 mark(plus(x0, x1)) 124.95/39.84 mark(times(x0, x1)) 124.95/39.84 mark(square(x0)) 124.95/39.84 from(mark(x0)) 124.95/39.84 from(active(x0)) 124.95/39.84 cons(mark(x0), x1) 124.95/39.84 cons(x0, mark(x1)) 124.95/39.84 cons(active(x0), x1) 124.95/39.84 cons(x0, active(x1)) 124.95/39.84 s(mark(x0)) 124.95/39.84 s(active(x0)) 124.95/39.84 2ndspos(mark(x0), x1) 124.95/39.84 2ndspos(x0, mark(x1)) 124.95/39.84 2ndspos(active(x0), x1) 124.95/39.84 2ndspos(x0, active(x1)) 124.95/39.84 rcons(mark(x0), x1) 124.95/39.84 rcons(x0, mark(x1)) 124.95/39.84 rcons(active(x0), x1) 124.95/39.84 rcons(x0, active(x1)) 124.95/39.84 posrecip(mark(x0)) 124.95/39.84 posrecip(active(x0)) 124.95/39.84 2ndsneg(mark(x0), x1) 124.95/39.84 2ndsneg(x0, mark(x1)) 124.95/39.84 2ndsneg(active(x0), x1) 124.95/39.84 2ndsneg(x0, active(x1)) 124.95/39.84 negrecip(mark(x0)) 124.95/39.84 negrecip(active(x0)) 124.95/39.84 pi(mark(x0)) 124.95/39.84 pi(active(x0)) 124.95/39.84 plus(mark(x0), x1) 124.95/39.84 plus(x0, mark(x1)) 124.95/39.84 plus(active(x0), x1) 124.95/39.84 plus(x0, active(x1)) 124.95/39.84 times(mark(x0), x1) 124.95/39.84 times(x0, mark(x1)) 124.95/39.84 times(active(x0), x1) 124.95/39.84 times(x0, active(x1)) 124.95/39.84 square(mark(x0)) 124.95/39.84 square(active(x0)) 124.95/39.84 124.95/39.84 We have to consider all minimal (P,Q,R)-chains. 124.95/39.84 ---------------------------------------- 124.95/39.84 124.95/39.84 (144) QDPOrderProof (EQUIVALENT) 124.95/39.84 We use the reduction pair processor [LPAR04,JAR06]. 124.95/39.84 124.95/39.84 124.95/39.84 The following pairs can be oriented strictly and are deleted. 124.95/39.84 124.95/39.84 ACTIVE(2ndspos(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.95/39.84 ACTIVE(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> MARK(rcons(negrecip(Y), 2ndspos(N, Z))) 124.95/39.84 MARK(rcons(X1, X2)) -> MARK(X2) 124.95/39.84 MARK(2ndspos(X1, X2)) -> ACTIVE(2ndspos(mark(X1), mark(X2))) 124.95/39.84 MARK(2ndsneg(X1, X2)) -> ACTIVE(2ndsneg(mark(X1), mark(X2))) 124.95/39.84 The remaining pairs can at least be oriented weakly. 124.95/39.84 Used ordering: Combined order from the following AFS and order. 124.95/39.84 ACTIVE(x1) = x1 124.95/39.84 124.95/39.84 2ndspos(x1, x2) = x1 124.95/39.84 124.95/39.84 s(x1) = s(x1) 124.95/39.84 124.95/39.84 cons(x1, x2) = x2 124.95/39.84 124.95/39.84 MARK(x1) = MARK(x1) 124.95/39.84 124.95/39.84 rcons(x1, x2) = rcons(x1, x2) 124.95/39.84 124.95/39.84 posrecip(x1) = posrecip 124.95/39.84 124.95/39.84 2ndsneg(x1, x2) = x1 124.95/39.84 124.95/39.84 negrecip(x1) = negrecip 124.95/39.84 124.95/39.84 mark(x1) = x1 124.95/39.84 124.95/39.84 active(x1) = x1 124.95/39.84 124.95/39.84 from(x1) = from 124.95/39.84 124.95/39.84 pi(x1) = pi(x1) 124.95/39.84 124.95/39.84 0 = 0 124.95/39.84 124.95/39.84 plus(x1, x2) = plus(x1, x2) 124.95/39.84 124.95/39.84 times(x1, x2) = times(x1, x2) 124.95/39.84 124.95/39.84 square(x1) = square(x1) 124.95/39.84 124.95/39.84 rnil = rnil 124.95/39.84 124.95/39.84 124.95/39.84 Recursive path order with status [RPO]. 124.95/39.84 Quasi-Precedence: from > s_1 > [MARK_1, rcons_2] 124.95/39.84 from > s_1 > posrecip 124.95/39.84 from > s_1 > negrecip 124.95/39.84 [0, rnil] 124.95/39.84 square_1 > times_2 > plus_2 > s_1 > [MARK_1, rcons_2] 124.95/39.84 square_1 > times_2 > plus_2 > s_1 > posrecip 124.95/39.84 square_1 > times_2 > plus_2 > s_1 > negrecip 124.95/39.84 124.95/39.84 Status: s_1: [1] 124.95/39.84 MARK_1: multiset status 124.95/39.84 rcons_2: [1,2] 124.95/39.84 posrecip: multiset status 124.95/39.84 negrecip: multiset status 124.95/39.84 from: [] 124.95/39.84 pi_1: [1] 124.95/39.84 0: multiset status 124.95/39.84 plus_2: [1,2] 124.95/39.84 times_2: [1,2] 124.95/39.84 square_1: [1] 124.95/39.84 rnil: multiset status 124.95/39.84 124.95/39.84 124.95/39.84 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 124.95/39.84 124.95/39.84 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.95/39.84 active(from(X)) -> mark(cons(X, from(s(X)))) 124.95/39.84 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.95/39.84 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.95/39.84 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.95/39.84 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.95/39.84 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.95/39.84 active(plus(0, Y)) -> mark(Y) 124.95/39.84 mark(from(X)) -> active(from(mark(X))) 124.95/39.84 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.95/39.84 mark(s(X)) -> active(s(mark(X))) 124.95/39.84 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.95/39.84 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.95/39.84 active(square(X)) -> mark(times(X, X)) 124.95/39.84 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.95/39.84 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.95/39.84 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.95/39.84 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.95/39.84 mark(pi(X)) -> active(pi(mark(X))) 124.95/39.84 mark(square(X)) -> active(square(mark(X))) 124.95/39.84 mark(0) -> active(0) 124.95/39.84 mark(rnil) -> active(rnil) 124.95/39.84 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.95/39.84 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.95/39.84 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.95/39.84 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.95/39.84 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.95/39.84 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.95/39.84 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.95/39.84 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.95/39.84 active(2ndspos(0, Z)) -> mark(rnil) 124.95/39.84 active(2ndsneg(0, Z)) -> mark(rnil) 124.95/39.84 active(times(0, Y)) -> mark(0) 124.95/39.84 cons(X1, mark(X2)) -> cons(X1, X2) 124.95/39.84 cons(mark(X1), X2) -> cons(X1, X2) 124.95/39.84 cons(active(X1), X2) -> cons(X1, X2) 124.95/39.84 cons(X1, active(X2)) -> cons(X1, X2) 124.95/39.84 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.95/39.84 rcons(mark(X1), X2) -> rcons(X1, X2) 124.95/39.84 rcons(active(X1), X2) -> rcons(X1, X2) 124.95/39.84 rcons(X1, active(X2)) -> rcons(X1, X2) 124.95/39.84 from(active(X)) -> from(X) 124.95/39.84 from(mark(X)) -> from(X) 124.95/39.84 s(active(X)) -> s(X) 124.95/39.84 s(mark(X)) -> s(X) 124.95/39.84 plus(X1, mark(X2)) -> plus(X1, X2) 124.95/39.84 plus(mark(X1), X2) -> plus(X1, X2) 124.95/39.84 plus(active(X1), X2) -> plus(X1, X2) 124.95/39.84 plus(X1, active(X2)) -> plus(X1, X2) 124.95/39.84 times(X1, mark(X2)) -> times(X1, X2) 124.95/39.84 times(mark(X1), X2) -> times(X1, X2) 124.95/39.84 times(active(X1), X2) -> times(X1, X2) 124.95/39.84 times(X1, active(X2)) -> times(X1, X2) 124.95/39.84 posrecip(active(X)) -> posrecip(X) 124.95/39.84 posrecip(mark(X)) -> posrecip(X) 124.95/39.84 negrecip(active(X)) -> negrecip(X) 124.95/39.84 negrecip(mark(X)) -> negrecip(X) 124.95/39.84 pi(active(X)) -> pi(X) 124.95/39.84 pi(mark(X)) -> pi(X) 124.95/39.84 square(active(X)) -> square(X) 124.95/39.84 square(mark(X)) -> square(X) 124.95/39.84 124.95/39.84 124.95/39.84 ---------------------------------------- 124.95/39.84 124.95/39.84 (145) 124.95/39.84 Obligation: 124.95/39.84 Q DP problem: 124.95/39.84 P is empty. 124.95/39.84 The TRS R consists of the following rules: 124.95/39.84 124.95/39.84 active(from(X)) -> mark(cons(X, from(s(X)))) 124.95/39.84 active(2ndspos(0, Z)) -> mark(rnil) 124.95/39.84 active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) 124.95/39.84 active(2ndsneg(0, Z)) -> mark(rnil) 124.95/39.84 active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) 124.95/39.84 active(pi(X)) -> mark(2ndspos(X, from(0))) 124.95/39.84 active(plus(0, Y)) -> mark(Y) 124.95/39.84 active(plus(s(X), Y)) -> mark(s(plus(X, Y))) 124.95/39.84 active(times(0, Y)) -> mark(0) 124.95/39.84 active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) 124.95/39.84 active(square(X)) -> mark(times(X, X)) 124.95/39.84 mark(from(X)) -> active(from(mark(X))) 124.95/39.84 mark(cons(X1, X2)) -> active(cons(mark(X1), X2)) 124.95/39.84 mark(s(X)) -> active(s(mark(X))) 124.95/39.84 mark(2ndspos(X1, X2)) -> active(2ndspos(mark(X1), mark(X2))) 124.95/39.84 mark(0) -> active(0) 124.95/39.84 mark(rnil) -> active(rnil) 124.95/39.84 mark(rcons(X1, X2)) -> active(rcons(mark(X1), mark(X2))) 124.95/39.84 mark(posrecip(X)) -> active(posrecip(mark(X))) 124.95/39.84 mark(2ndsneg(X1, X2)) -> active(2ndsneg(mark(X1), mark(X2))) 124.95/39.84 mark(negrecip(X)) -> active(negrecip(mark(X))) 124.95/39.84 mark(pi(X)) -> active(pi(mark(X))) 124.95/39.84 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 124.95/39.84 mark(times(X1, X2)) -> active(times(mark(X1), mark(X2))) 124.95/39.84 mark(square(X)) -> active(square(mark(X))) 124.95/39.84 from(mark(X)) -> from(X) 124.95/39.84 from(active(X)) -> from(X) 124.95/39.84 cons(mark(X1), X2) -> cons(X1, X2) 124.95/39.84 cons(X1, mark(X2)) -> cons(X1, X2) 124.95/39.84 cons(active(X1), X2) -> cons(X1, X2) 124.95/39.84 cons(X1, active(X2)) -> cons(X1, X2) 124.95/39.84 s(mark(X)) -> s(X) 124.95/39.84 s(active(X)) -> s(X) 124.95/39.84 2ndspos(mark(X1), X2) -> 2ndspos(X1, X2) 124.95/39.84 2ndspos(X1, mark(X2)) -> 2ndspos(X1, X2) 124.95/39.84 2ndspos(active(X1), X2) -> 2ndspos(X1, X2) 124.95/39.84 2ndspos(X1, active(X2)) -> 2ndspos(X1, X2) 124.95/39.84 rcons(mark(X1), X2) -> rcons(X1, X2) 124.95/39.84 rcons(X1, mark(X2)) -> rcons(X1, X2) 124.95/39.84 rcons(active(X1), X2) -> rcons(X1, X2) 124.95/39.84 rcons(X1, active(X2)) -> rcons(X1, X2) 124.95/39.84 posrecip(mark(X)) -> posrecip(X) 124.95/39.84 posrecip(active(X)) -> posrecip(X) 124.95/39.84 2ndsneg(mark(X1), X2) -> 2ndsneg(X1, X2) 124.95/39.84 2ndsneg(X1, mark(X2)) -> 2ndsneg(X1, X2) 124.95/39.84 2ndsneg(active(X1), X2) -> 2ndsneg(X1, X2) 124.95/39.84 2ndsneg(X1, active(X2)) -> 2ndsneg(X1, X2) 124.95/39.84 negrecip(mark(X)) -> negrecip(X) 124.95/39.84 negrecip(active(X)) -> negrecip(X) 124.95/39.84 pi(mark(X)) -> pi(X) 124.95/39.84 pi(active(X)) -> pi(X) 124.95/39.84 plus(mark(X1), X2) -> plus(X1, X2) 124.95/39.84 plus(X1, mark(X2)) -> plus(X1, X2) 124.95/39.84 plus(active(X1), X2) -> plus(X1, X2) 124.95/39.84 plus(X1, active(X2)) -> plus(X1, X2) 124.95/39.84 times(mark(X1), X2) -> times(X1, X2) 124.95/39.84 times(X1, mark(X2)) -> times(X1, X2) 124.95/39.84 times(active(X1), X2) -> times(X1, X2) 124.95/39.84 times(X1, active(X2)) -> times(X1, X2) 124.95/39.84 square(mark(X)) -> square(X) 124.95/39.84 square(active(X)) -> square(X) 124.95/39.84 124.95/39.84 The set Q consists of the following terms: 124.95/39.84 124.95/39.84 active(from(x0)) 124.95/39.84 active(2ndspos(0, x0)) 124.95/39.84 active(2ndspos(s(x0), cons(x1, cons(x2, x3)))) 124.95/39.84 active(2ndsneg(0, x0)) 124.95/39.84 active(2ndsneg(s(x0), cons(x1, cons(x2, x3)))) 124.95/39.84 active(pi(x0)) 124.95/39.84 active(plus(0, x0)) 124.95/39.84 active(plus(s(x0), x1)) 124.95/39.84 active(times(0, x0)) 124.95/39.84 active(times(s(x0), x1)) 124.95/39.84 active(square(x0)) 124.95/39.84 mark(from(x0)) 124.95/39.84 mark(cons(x0, x1)) 124.95/39.84 mark(s(x0)) 124.95/39.84 mark(2ndspos(x0, x1)) 124.95/39.84 mark(0) 124.95/39.84 mark(rnil) 124.95/39.84 mark(rcons(x0, x1)) 124.95/39.84 mark(posrecip(x0)) 124.95/39.84 mark(2ndsneg(x0, x1)) 124.95/39.84 mark(negrecip(x0)) 124.95/39.84 mark(pi(x0)) 124.95/39.84 mark(plus(x0, x1)) 124.95/39.84 mark(times(x0, x1)) 124.95/39.84 mark(square(x0)) 124.95/39.84 from(mark(x0)) 124.95/39.84 from(active(x0)) 124.95/39.84 cons(mark(x0), x1) 124.95/39.84 cons(x0, mark(x1)) 124.95/39.84 cons(active(x0), x1) 124.95/39.84 cons(x0, active(x1)) 124.95/39.84 s(mark(x0)) 124.95/39.84 s(active(x0)) 124.95/39.84 2ndspos(mark(x0), x1) 124.95/39.84 2ndspos(x0, mark(x1)) 124.95/39.84 2ndspos(active(x0), x1) 124.95/39.84 2ndspos(x0, active(x1)) 124.95/39.84 rcons(mark(x0), x1) 124.95/39.84 rcons(x0, mark(x1)) 124.95/39.84 rcons(active(x0), x1) 124.95/39.84 rcons(x0, active(x1)) 124.95/39.84 posrecip(mark(x0)) 124.95/39.84 posrecip(active(x0)) 124.95/39.84 2ndsneg(mark(x0), x1) 124.95/39.84 2ndsneg(x0, mark(x1)) 124.95/39.84 2ndsneg(active(x0), x1) 124.95/39.84 2ndsneg(x0, active(x1)) 124.95/39.84 negrecip(mark(x0)) 124.95/39.84 negrecip(active(x0)) 124.95/39.84 pi(mark(x0)) 124.95/39.84 pi(active(x0)) 124.95/39.84 plus(mark(x0), x1) 124.95/39.84 plus(x0, mark(x1)) 124.95/39.84 plus(active(x0), x1) 124.95/39.84 plus(x0, active(x1)) 124.95/39.84 times(mark(x0), x1) 124.95/39.84 times(x0, mark(x1)) 124.95/39.84 times(active(x0), x1) 124.95/39.84 times(x0, active(x1)) 124.95/39.84 square(mark(x0)) 124.95/39.84 square(active(x0)) 124.95/39.84 124.95/39.84 We have to consider all minimal (P,Q,R)-chains. 124.95/39.84 ---------------------------------------- 124.95/39.84 124.95/39.84 (146) PisEmptyProof (EQUIVALENT) 124.95/39.84 The TRS P is empty. Hence, there is no (P,Q,R) chain. 124.95/39.84 ---------------------------------------- 124.95/39.84 124.95/39.84 (147) 124.95/39.84 YES 125.00/39.89 EOF