176.40/63.09 YES 176.40/63.10 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 176.40/63.10 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 176.40/63.10 176.40/63.10 176.40/63.10 Termination w.r.t. Q of the given QTRS could be proven: 176.40/63.10 176.40/63.10 (0) QTRS 176.40/63.10 (1) DependencyPairsProof [EQUIVALENT, 267 ms] 176.40/63.10 (2) QDP 176.40/63.10 (3) DependencyGraphProof [EQUIVALENT, 0 ms] 176.40/63.10 (4) AND 176.40/63.10 (5) QDP 176.40/63.10 (6) UsableRulesProof [EQUIVALENT, 0 ms] 176.40/63.10 (7) QDP 176.40/63.10 (8) QReductionProof [EQUIVALENT, 0 ms] 176.40/63.10 (9) QDP 176.40/63.10 (10) QDPSizeChangeProof [EQUIVALENT, 0 ms] 176.40/63.10 (11) YES 176.40/63.10 (12) QDP 176.40/63.10 (13) UsableRulesProof [EQUIVALENT, 0 ms] 176.40/63.10 (14) QDP 176.40/63.10 (15) QReductionProof [EQUIVALENT, 0 ms] 176.40/63.10 (16) QDP 176.40/63.10 (17) QDPSizeChangeProof [EQUIVALENT, 0 ms] 176.40/63.10 (18) YES 176.40/63.10 (19) QDP 176.40/63.10 (20) UsableRulesProof [EQUIVALENT, 0 ms] 176.40/63.10 (21) QDP 176.40/63.10 (22) QReductionProof [EQUIVALENT, 0 ms] 176.40/63.10 (23) QDP 176.40/63.10 (24) QDPSizeChangeProof [EQUIVALENT, 0 ms] 176.40/63.10 (25) YES 176.40/63.10 (26) QDP 176.40/63.10 (27) UsableRulesProof [EQUIVALENT, 0 ms] 176.40/63.10 (28) QDP 176.40/63.11 (29) QReductionProof [EQUIVALENT, 0 ms] 176.40/63.11 (30) QDP 176.40/63.11 (31) QDPSizeChangeProof [EQUIVALENT, 0 ms] 176.40/63.11 (32) YES 176.40/63.11 (33) QDP 176.40/63.11 (34) UsableRulesProof [EQUIVALENT, 0 ms] 176.40/63.11 (35) QDP 176.40/63.11 (36) QReductionProof [EQUIVALENT, 0 ms] 176.40/63.11 (37) QDP 176.40/63.11 (38) QDPSizeChangeProof [EQUIVALENT, 0 ms] 176.40/63.11 (39) YES 176.40/63.11 (40) QDP 176.40/63.11 (41) UsableRulesProof [EQUIVALENT, 0 ms] 176.40/63.11 (42) QDP 176.40/63.11 (43) QReductionProof [EQUIVALENT, 0 ms] 176.40/63.11 (44) QDP 176.40/63.11 (45) QDPSizeChangeProof [EQUIVALENT, 0 ms] 176.40/63.11 (46) YES 176.40/63.11 (47) QDP 176.40/63.11 (48) UsableRulesProof [EQUIVALENT, 0 ms] 176.40/63.11 (49) QDP 176.40/63.11 (50) QReductionProof [EQUIVALENT, 0 ms] 176.40/63.11 (51) QDP 176.40/63.11 (52) QDPSizeChangeProof [EQUIVALENT, 0 ms] 176.40/63.11 (53) YES 176.40/63.11 (54) QDP 176.40/63.11 (55) UsableRulesProof [EQUIVALENT, 0 ms] 176.40/63.11 (56) QDP 176.40/63.11 (57) QReductionProof [EQUIVALENT, 0 ms] 176.40/63.11 (58) QDP 176.40/63.11 (59) QDPSizeChangeProof [EQUIVALENT, 0 ms] 176.40/63.11 (60) YES 176.40/63.11 (61) QDP 176.40/63.11 (62) UsableRulesProof [EQUIVALENT, 0 ms] 176.40/63.11 (63) QDP 176.40/63.11 (64) QReductionProof [EQUIVALENT, 0 ms] 176.40/63.11 (65) QDP 176.40/63.11 (66) QDPSizeChangeProof [EQUIVALENT, 0 ms] 176.40/63.11 (67) YES 176.40/63.11 (68) QDP 176.40/63.11 (69) UsableRulesProof [EQUIVALENT, 0 ms] 176.40/63.11 (70) QDP 176.40/63.11 (71) QReductionProof [EQUIVALENT, 0 ms] 176.40/63.11 (72) QDP 176.40/63.11 (73) QDPSizeChangeProof [EQUIVALENT, 0 ms] 176.40/63.11 (74) YES 176.40/63.11 (75) QDP 176.40/63.11 (76) UsableRulesProof [EQUIVALENT, 0 ms] 176.40/63.11 (77) QDP 176.40/63.11 (78) QReductionProof [EQUIVALENT, 0 ms] 176.40/63.11 (79) QDP 176.40/63.11 (80) QDPSizeChangeProof [EQUIVALENT, 0 ms] 176.40/63.11 (81) YES 176.40/63.11 (82) QDP 176.40/63.11 (83) UsableRulesProof [EQUIVALENT, 0 ms] 176.40/63.11 (84) QDP 176.40/63.11 (85) QReductionProof [EQUIVALENT, 0 ms] 176.40/63.11 (86) QDP 176.40/63.11 (87) QDPSizeChangeProof [EQUIVALENT, 0 ms] 176.40/63.11 (88) YES 176.40/63.11 (89) QDP 176.40/63.11 (90) UsableRulesProof [EQUIVALENT, 0 ms] 176.40/63.11 (91) QDP 176.40/63.11 (92) QReductionProof [EQUIVALENT, 0 ms] 176.40/63.11 (93) QDP 176.40/63.11 (94) QDPSizeChangeProof [EQUIVALENT, 0 ms] 176.40/63.11 (95) YES 176.40/63.11 (96) QDP 176.40/63.11 (97) UsableRulesProof [EQUIVALENT, 0 ms] 176.40/63.11 (98) QDP 176.40/63.11 (99) QReductionProof [EQUIVALENT, 0 ms] 176.40/63.11 (100) QDP 176.40/63.11 (101) QDPSizeChangeProof [EQUIVALENT, 0 ms] 176.40/63.11 (102) YES 176.40/63.11 (103) QDP 176.40/63.11 (104) UsableRulesProof [EQUIVALENT, 0 ms] 176.40/63.11 (105) QDP 176.40/63.11 (106) QReductionProof [EQUIVALENT, 0 ms] 176.40/63.11 (107) QDP 176.40/63.11 (108) QDPSizeChangeProof [EQUIVALENT, 0 ms] 176.40/63.11 (109) YES 176.40/63.11 (110) QDP 176.40/63.11 (111) UsableRulesProof [EQUIVALENT, 0 ms] 176.40/63.11 (112) QDP 176.40/63.11 (113) QReductionProof [EQUIVALENT, 0 ms] 176.40/63.11 (114) QDP 176.40/63.11 (115) QDPSizeChangeProof [EQUIVALENT, 0 ms] 176.40/63.11 (116) YES 176.40/63.11 (117) QDP 176.40/63.11 (118) UsableRulesProof [EQUIVALENT, 0 ms] 176.40/63.11 (119) QDP 176.40/63.11 (120) QReductionProof [EQUIVALENT, 0 ms] 176.40/63.11 (121) QDP 176.40/63.11 (122) QDPSizeChangeProof [EQUIVALENT, 0 ms] 176.40/63.11 (123) YES 176.40/63.11 (124) QDP 176.40/63.11 (125) UsableRulesProof [EQUIVALENT, 0 ms] 176.40/63.11 (126) QDP 176.40/63.11 (127) QReductionProof [EQUIVALENT, 0 ms] 176.40/63.11 (128) QDP 176.40/63.11 (129) QDPSizeChangeProof [EQUIVALENT, 0 ms] 176.40/63.11 (130) YES 176.40/63.11 (131) QDP 176.40/63.11 (132) UsableRulesProof [EQUIVALENT, 0 ms] 176.40/63.11 (133) QDP 176.40/63.11 (134) QReductionProof [EQUIVALENT, 0 ms] 176.40/63.11 (135) QDP 176.40/63.11 (136) QDPSizeChangeProof [EQUIVALENT, 0 ms] 176.40/63.11 (137) YES 176.40/63.11 (138) QDP 176.40/63.11 (139) UsableRulesProof [EQUIVALENT, 0 ms] 176.40/63.11 (140) QDP 176.40/63.11 (141) QReductionProof [EQUIVALENT, 0 ms] 176.40/63.11 (142) QDP 176.40/63.11 (143) QDPSizeChangeProof [EQUIVALENT, 0 ms] 176.40/63.11 (144) YES 176.40/63.11 (145) QDP 176.40/63.11 (146) UsableRulesProof [EQUIVALENT, 0 ms] 176.40/63.11 (147) QDP 176.40/63.11 (148) QReductionProof [EQUIVALENT, 0 ms] 176.40/63.11 (149) QDP 176.40/63.11 (150) QDPSizeChangeProof [EQUIVALENT, 0 ms] 176.40/63.11 (151) YES 176.40/63.11 (152) QDP 176.40/63.11 (153) UsableRulesProof [EQUIVALENT, 0 ms] 176.40/63.11 (154) QDP 176.40/63.11 (155) QReductionProof [EQUIVALENT, 0 ms] 176.40/63.11 (156) QDP 176.40/63.11 (157) QDPSizeChangeProof [EQUIVALENT, 0 ms] 176.40/63.11 (158) YES 176.40/63.11 (159) QDP 176.40/63.11 (160) UsableRulesProof [EQUIVALENT, 0 ms] 176.40/63.11 (161) QDP 176.40/63.11 (162) QDPQMonotonicMRRProof [EQUIVALENT, 1052 ms] 176.40/63.11 (163) QDP 176.40/63.11 (164) QDPOrderProof [EQUIVALENT, 84 ms] 176.40/63.11 (165) QDP 176.40/63.11 (166) QDPOrderProof [EQUIVALENT, 58 ms] 176.40/63.11 (167) QDP 176.40/63.11 (168) QDPOrderProof [EQUIVALENT, 52 ms] 176.40/63.11 (169) QDP 176.40/63.11 (170) DependencyGraphProof [EQUIVALENT, 0 ms] 176.40/63.11 (171) QDP 176.40/63.11 (172) QDPQMonotonicMRRProof [EQUIVALENT, 666 ms] 176.40/63.11 (173) QDP 176.40/63.11 (174) DependencyGraphProof [EQUIVALENT, 0 ms] 176.40/63.11 (175) QDP 176.40/63.11 (176) QDPOrderProof [EQUIVALENT, 592 ms] 176.40/63.11 (177) QDP 176.40/63.11 (178) DependencyGraphProof [EQUIVALENT, 0 ms] 176.40/63.11 (179) QDP 176.40/63.11 (180) QDPOrderProof [EQUIVALENT, 572 ms] 176.40/63.11 (181) QDP 176.40/63.11 (182) DependencyGraphProof [EQUIVALENT, 0 ms] 176.40/63.11 (183) QDP 176.40/63.11 (184) QDPQMonotonicMRRProof [EQUIVALENT, 452 ms] 176.40/63.11 (185) QDP 176.40/63.11 (186) DependencyGraphProof [EQUIVALENT, 0 ms] 176.40/63.11 (187) QDP 176.40/63.11 (188) QDPQMonotonicMRRProof [EQUIVALENT, 428 ms] 176.40/63.11 (189) QDP 176.40/63.11 (190) QDPQMonotonicMRRProof [EQUIVALENT, 460 ms] 176.40/63.11 (191) QDP 176.40/63.11 (192) QDPQMonotonicMRRProof [EQUIVALENT, 400 ms] 176.40/63.11 (193) QDP 176.40/63.11 (194) QDPQMonotonicMRRProof [EQUIVALENT, 410 ms] 176.40/63.11 (195) QDP 176.40/63.11 (196) QDPOrderProof [EQUIVALENT, 750 ms] 176.40/63.11 (197) QDP 176.40/63.11 (198) QDPOrderProof [EQUIVALENT, 518 ms] 176.40/63.11 (199) QDP 176.40/63.11 (200) QDPOrderProof [EQUIVALENT, 508 ms] 176.40/63.11 (201) QDP 176.40/63.11 (202) QDPOrderProof [EQUIVALENT, 436 ms] 176.40/63.11 (203) QDP 176.40/63.11 (204) QDPQMonotonicMRRProof [EQUIVALENT, 406 ms] 176.40/63.11 (205) QDP 176.40/63.11 (206) QDPQMonotonicMRRProof [EQUIVALENT, 350 ms] 176.40/63.11 (207) QDP 176.40/63.11 (208) QDPOrderProof [EQUIVALENT, 512 ms] 176.40/63.11 (209) QDP 176.40/63.11 (210) QDPOrderProof [EQUIVALENT, 743 ms] 176.40/63.11 (211) QDP 176.40/63.11 (212) DependencyGraphProof [EQUIVALENT, 0 ms] 176.40/63.11 (213) QDP 176.40/63.11 (214) QDPOrderProof [EQUIVALENT, 449 ms] 176.40/63.11 (215) QDP 176.40/63.11 (216) QDPOrderProof [EQUIVALENT, 383 ms] 176.40/63.11 (217) QDP 176.40/63.11 (218) QDPOrderProof [EQUIVALENT, 388 ms] 176.40/63.11 (219) QDP 176.40/63.11 (220) QDPOrderProof [EQUIVALENT, 387 ms] 176.40/63.11 (221) QDP 176.40/63.11 (222) QDPOrderProof [EQUIVALENT, 432 ms] 176.40/63.11 (223) QDP 176.40/63.11 (224) QDPOrderProof [EQUIVALENT, 397 ms] 176.40/63.11 (225) QDP 176.40/63.11 (226) QDPOrderProof [EQUIVALENT, 399 ms] 176.40/63.11 (227) QDP 176.40/63.11 (228) QDPOrderProof [EQUIVALENT, 358 ms] 176.40/63.11 (229) QDP 176.40/63.11 (230) QDPOrderProof [EQUIVALENT, 389 ms] 176.40/63.11 (231) QDP 176.40/63.11 (232) QDPQMonotonicMRRProof [EQUIVALENT, 183 ms] 176.40/63.11 (233) QDP 176.40/63.11 (234) UsableRulesProof [EQUIVALENT, 0 ms] 176.40/63.11 (235) QDP 176.40/63.11 (236) QReductionProof [EQUIVALENT, 0 ms] 176.40/63.11 (237) QDP 176.40/63.11 (238) QDPSizeChangeProof [EQUIVALENT, 0 ms] 176.40/63.11 (239) YES 176.40/63.11 176.40/63.11 176.40/63.11 ---------------------------------------- 176.40/63.11 176.40/63.11 (0) 176.40/63.11 Obligation: 176.40/63.11 Q restricted rewrite system: 176.40/63.11 The TRS R consists of the following rules: 176.40/63.11 176.40/63.11 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 176.40/63.11 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 176.40/63.11 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 176.40/63.11 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 176.40/63.11 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 176.40/63.11 active(U16(tt)) -> mark(tt) 176.40/63.11 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 176.40/63.11 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 176.40/63.11 active(U23(tt)) -> mark(tt) 176.40/63.11 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 176.40/63.11 active(U32(tt)) -> mark(tt) 176.40/63.11 active(U41(tt)) -> mark(tt) 176.40/63.11 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 176.40/63.11 active(U52(tt, N)) -> mark(N) 176.40/63.11 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 176.40/63.11 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 176.40/63.11 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 176.40/63.11 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 176.40/63.11 active(isNat(0)) -> mark(tt) 176.40/63.11 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 176.40/63.11 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 176.40/63.11 active(isNatKind(0)) -> mark(tt) 176.40/63.11 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 176.40/63.11 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 176.40/63.11 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 176.40/63.11 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 176.40/63.11 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 176.40/63.11 mark(tt) -> active(tt) 176.40/63.11 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 176.40/63.11 mark(isNatKind(X)) -> active(isNatKind(X)) 176.40/63.11 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 176.40/63.11 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 176.40/63.11 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 176.40/63.11 mark(isNat(X)) -> active(isNat(X)) 176.40/63.11 mark(U16(X)) -> active(U16(mark(X))) 176.40/63.11 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 176.40/63.11 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 176.40/63.11 mark(U23(X)) -> active(U23(mark(X))) 176.40/63.11 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 176.40/63.11 mark(U32(X)) -> active(U32(mark(X))) 176.40/63.11 mark(U41(X)) -> active(U41(mark(X))) 176.40/63.11 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 176.40/63.11 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 176.40/63.11 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 176.40/63.11 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 176.40/63.11 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 176.40/63.11 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 176.40/63.11 mark(s(X)) -> active(s(mark(X))) 176.40/63.11 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 176.40/63.11 mark(0) -> active(0) 176.40/63.11 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 176.40/63.11 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 176.40/63.11 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 176.40/63.11 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 176.40/63.11 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 176.40/63.11 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 176.40/63.11 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 176.40/63.11 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 176.40/63.11 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 176.40/63.11 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 176.40/63.11 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 176.40/63.11 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 176.40/63.11 isNatKind(mark(X)) -> isNatKind(X) 176.40/63.11 isNatKind(active(X)) -> isNatKind(X) 176.40/63.11 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 176.40/63.11 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 176.40/63.11 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 176.40/63.11 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 176.40/63.11 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 176.40/63.11 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 176.40/63.11 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 176.40/63.11 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 176.40/63.11 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 176.40/63.11 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 176.40/63.11 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 176.40/63.11 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 176.40/63.11 U15(mark(X1), X2) -> U15(X1, X2) 176.40/63.11 U15(X1, mark(X2)) -> U15(X1, X2) 176.40/63.11 U15(active(X1), X2) -> U15(X1, X2) 176.40/63.11 U15(X1, active(X2)) -> U15(X1, X2) 176.40/63.11 isNat(mark(X)) -> isNat(X) 176.40/63.11 isNat(active(X)) -> isNat(X) 176.40/63.11 U16(mark(X)) -> U16(X) 176.40/63.11 U16(active(X)) -> U16(X) 176.40/63.11 U21(mark(X1), X2) -> U21(X1, X2) 176.40/63.11 U21(X1, mark(X2)) -> U21(X1, X2) 176.40/63.11 U21(active(X1), X2) -> U21(X1, X2) 176.40/63.11 U21(X1, active(X2)) -> U21(X1, X2) 176.40/63.11 U22(mark(X1), X2) -> U22(X1, X2) 176.40/63.11 U22(X1, mark(X2)) -> U22(X1, X2) 176.40/63.11 U22(active(X1), X2) -> U22(X1, X2) 176.40/63.11 U22(X1, active(X2)) -> U22(X1, X2) 176.40/63.11 U23(mark(X)) -> U23(X) 176.40/63.11 U23(active(X)) -> U23(X) 176.40/63.11 U31(mark(X1), X2) -> U31(X1, X2) 176.40/63.11 U31(X1, mark(X2)) -> U31(X1, X2) 176.40/63.11 U31(active(X1), X2) -> U31(X1, X2) 176.40/63.11 U31(X1, active(X2)) -> U31(X1, X2) 176.40/63.11 U32(mark(X)) -> U32(X) 176.40/63.11 U32(active(X)) -> U32(X) 176.40/63.11 U41(mark(X)) -> U41(X) 176.40/63.11 U41(active(X)) -> U41(X) 176.40/63.11 U51(mark(X1), X2) -> U51(X1, X2) 176.40/63.11 U51(X1, mark(X2)) -> U51(X1, X2) 176.40/63.11 U51(active(X1), X2) -> U51(X1, X2) 176.40/63.11 U51(X1, active(X2)) -> U51(X1, X2) 176.40/63.11 U52(mark(X1), X2) -> U52(X1, X2) 176.40/63.11 U52(X1, mark(X2)) -> U52(X1, X2) 176.40/63.11 U52(active(X1), X2) -> U52(X1, X2) 176.40/63.11 U52(X1, active(X2)) -> U52(X1, X2) 176.40/63.11 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 176.40/63.11 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 176.40/63.11 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 176.40/63.11 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 176.40/63.11 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 176.40/63.11 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 176.40/63.11 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 176.40/63.11 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 176.40/63.11 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 176.40/63.11 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 176.40/63.11 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 176.40/63.11 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 176.40/63.11 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 176.40/63.11 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 176.40/63.11 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 176.40/63.11 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 176.40/63.11 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 176.40/63.11 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 176.40/63.11 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 176.40/63.11 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 176.40/63.11 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 176.40/63.11 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 176.40/63.11 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 176.40/63.11 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 176.40/63.11 s(mark(X)) -> s(X) 176.40/63.11 s(active(X)) -> s(X) 176.40/63.11 plus(mark(X1), X2) -> plus(X1, X2) 176.40/63.11 plus(X1, mark(X2)) -> plus(X1, X2) 176.40/63.11 plus(active(X1), X2) -> plus(X1, X2) 176.40/63.11 plus(X1, active(X2)) -> plus(X1, X2) 176.40/63.11 176.40/63.11 The set Q consists of the following terms: 176.40/63.11 176.40/63.11 active(U11(tt, x0, x1)) 176.40/63.11 active(U12(tt, x0, x1)) 176.40/63.11 active(U13(tt, x0, x1)) 176.40/63.11 active(U14(tt, x0, x1)) 176.40/63.11 active(U15(tt, x0)) 176.40/63.11 active(U16(tt)) 176.40/63.11 active(U21(tt, x0)) 176.40/63.11 active(U22(tt, x0)) 176.40/63.11 active(U23(tt)) 176.40/63.11 active(U31(tt, x0)) 176.40/63.11 active(U32(tt)) 176.40/63.11 active(U41(tt)) 176.40/63.11 active(U51(tt, x0)) 176.40/63.11 active(U52(tt, x0)) 176.40/63.11 active(U61(tt, x0, x1)) 176.40/63.11 active(U62(tt, x0, x1)) 176.40/63.11 active(U63(tt, x0, x1)) 176.40/63.11 active(U64(tt, x0, x1)) 176.40/63.11 active(isNat(0)) 176.40/63.11 active(isNat(plus(x0, x1))) 176.40/63.11 active(isNat(s(x0))) 176.40/63.11 active(isNatKind(0)) 176.40/63.11 active(isNatKind(plus(x0, x1))) 176.40/63.11 active(isNatKind(s(x0))) 176.40/63.11 active(plus(x0, 0)) 176.40/63.11 active(plus(x0, s(x1))) 176.40/63.11 mark(U11(x0, x1, x2)) 176.40/63.11 mark(tt) 176.40/63.11 mark(U12(x0, x1, x2)) 176.40/63.11 mark(isNatKind(x0)) 176.40/63.11 mark(U13(x0, x1, x2)) 176.40/63.11 mark(U14(x0, x1, x2)) 176.40/63.11 mark(U15(x0, x1)) 176.40/63.11 mark(isNat(x0)) 176.40/63.11 mark(U16(x0)) 176.40/63.11 mark(U21(x0, x1)) 176.40/63.11 mark(U22(x0, x1)) 176.40/63.11 mark(U23(x0)) 176.40/63.11 mark(U31(x0, x1)) 176.40/63.11 mark(U32(x0)) 176.40/63.11 mark(U41(x0)) 176.40/63.11 mark(U51(x0, x1)) 176.40/63.11 mark(U52(x0, x1)) 176.40/63.11 mark(U61(x0, x1, x2)) 176.40/63.11 mark(U62(x0, x1, x2)) 176.40/63.11 mark(U63(x0, x1, x2)) 176.40/63.11 mark(U64(x0, x1, x2)) 176.40/63.11 mark(s(x0)) 176.40/63.11 mark(plus(x0, x1)) 176.40/63.11 mark(0) 176.40/63.11 U11(mark(x0), x1, x2) 176.40/63.11 U11(x0, mark(x1), x2) 176.40/63.11 U11(x0, x1, mark(x2)) 176.40/63.11 U11(active(x0), x1, x2) 176.40/63.11 U11(x0, active(x1), x2) 176.40/63.11 U11(x0, x1, active(x2)) 176.40/63.11 U12(mark(x0), x1, x2) 176.40/63.11 U12(x0, mark(x1), x2) 176.40/63.11 U12(x0, x1, mark(x2)) 176.40/63.11 U12(active(x0), x1, x2) 176.40/63.11 U12(x0, active(x1), x2) 176.40/63.11 U12(x0, x1, active(x2)) 176.40/63.11 isNatKind(mark(x0)) 176.40/63.11 isNatKind(active(x0)) 176.40/63.11 U13(mark(x0), x1, x2) 176.40/63.11 U13(x0, mark(x1), x2) 176.40/63.11 U13(x0, x1, mark(x2)) 176.40/63.11 U13(active(x0), x1, x2) 176.40/63.11 U13(x0, active(x1), x2) 176.40/63.11 U13(x0, x1, active(x2)) 176.40/63.11 U14(mark(x0), x1, x2) 176.40/63.11 U14(x0, mark(x1), x2) 176.40/63.11 U14(x0, x1, mark(x2)) 176.40/63.11 U14(active(x0), x1, x2) 176.40/63.11 U14(x0, active(x1), x2) 176.40/63.11 U14(x0, x1, active(x2)) 176.40/63.11 U15(mark(x0), x1) 176.40/63.11 U15(x0, mark(x1)) 176.40/63.11 U15(active(x0), x1) 176.40/63.11 U15(x0, active(x1)) 176.40/63.11 isNat(mark(x0)) 176.40/63.11 isNat(active(x0)) 176.40/63.11 U16(mark(x0)) 176.40/63.11 U16(active(x0)) 176.40/63.11 U21(mark(x0), x1) 176.40/63.11 U21(x0, mark(x1)) 176.40/63.11 U21(active(x0), x1) 176.40/63.11 U21(x0, active(x1)) 176.40/63.11 U22(mark(x0), x1) 176.40/63.11 U22(x0, mark(x1)) 176.40/63.11 U22(active(x0), x1) 176.40/63.11 U22(x0, active(x1)) 176.40/63.11 U23(mark(x0)) 176.40/63.11 U23(active(x0)) 176.40/63.11 U31(mark(x0), x1) 176.40/63.11 U31(x0, mark(x1)) 176.40/63.11 U31(active(x0), x1) 176.40/63.11 U31(x0, active(x1)) 176.40/63.11 U32(mark(x0)) 176.40/63.11 U32(active(x0)) 176.40/63.11 U41(mark(x0)) 176.40/63.11 U41(active(x0)) 176.40/63.11 U51(mark(x0), x1) 176.40/63.11 U51(x0, mark(x1)) 176.40/63.11 U51(active(x0), x1) 176.40/63.11 U51(x0, active(x1)) 176.40/63.11 U52(mark(x0), x1) 176.40/63.11 U52(x0, mark(x1)) 176.40/63.11 U52(active(x0), x1) 176.40/63.11 U52(x0, active(x1)) 176.40/63.11 U61(mark(x0), x1, x2) 176.40/63.11 U61(x0, mark(x1), x2) 176.40/63.11 U61(x0, x1, mark(x2)) 176.40/63.11 U61(active(x0), x1, x2) 176.40/63.11 U61(x0, active(x1), x2) 176.40/63.11 U61(x0, x1, active(x2)) 176.40/63.11 U62(mark(x0), x1, x2) 176.40/63.11 U62(x0, mark(x1), x2) 176.40/63.11 U62(x0, x1, mark(x2)) 176.40/63.11 U62(active(x0), x1, x2) 176.40/63.11 U62(x0, active(x1), x2) 176.40/63.11 U62(x0, x1, active(x2)) 176.40/63.11 U63(mark(x0), x1, x2) 176.40/63.11 U63(x0, mark(x1), x2) 176.40/63.11 U63(x0, x1, mark(x2)) 176.40/63.11 U63(active(x0), x1, x2) 176.40/63.11 U63(x0, active(x1), x2) 176.40/63.11 U63(x0, x1, active(x2)) 176.40/63.11 U64(mark(x0), x1, x2) 176.40/63.11 U64(x0, mark(x1), x2) 176.40/63.11 U64(x0, x1, mark(x2)) 176.40/63.11 U64(active(x0), x1, x2) 176.40/63.11 U64(x0, active(x1), x2) 176.40/63.11 U64(x0, x1, active(x2)) 176.40/63.11 s(mark(x0)) 176.40/63.11 s(active(x0)) 176.40/63.11 plus(mark(x0), x1) 176.40/63.11 plus(x0, mark(x1)) 176.40/63.11 plus(active(x0), x1) 176.40/63.11 plus(x0, active(x1)) 176.40/63.11 176.40/63.11 176.40/63.11 ---------------------------------------- 176.40/63.11 176.40/63.11 (1) DependencyPairsProof (EQUIVALENT) 176.40/63.11 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 176.40/63.11 ---------------------------------------- 176.40/63.11 176.40/63.11 (2) 176.40/63.11 Obligation: 176.40/63.11 Q DP problem: 176.40/63.11 The TRS P consists of the following rules: 176.40/63.11 176.40/63.11 ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) 176.40/63.11 ACTIVE(U11(tt, V1, V2)) -> U12^1(isNatKind(V1), V1, V2) 176.40/63.11 ACTIVE(U11(tt, V1, V2)) -> ISNATKIND(V1) 176.40/63.11 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 176.40/63.11 ACTIVE(U12(tt, V1, V2)) -> U13^1(isNatKind(V2), V1, V2) 176.40/63.11 ACTIVE(U12(tt, V1, V2)) -> ISNATKIND(V2) 176.40/63.11 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 176.40/63.11 ACTIVE(U13(tt, V1, V2)) -> U14^1(isNatKind(V2), V1, V2) 176.40/63.11 ACTIVE(U13(tt, V1, V2)) -> ISNATKIND(V2) 176.40/63.11 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 176.40/63.11 ACTIVE(U14(tt, V1, V2)) -> U15^1(isNat(V1), V2) 176.40/63.11 ACTIVE(U14(tt, V1, V2)) -> ISNAT(V1) 176.40/63.11 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 176.40/63.11 ACTIVE(U15(tt, V2)) -> U16^1(isNat(V2)) 176.40/63.11 ACTIVE(U15(tt, V2)) -> ISNAT(V2) 176.40/63.11 ACTIVE(U16(tt)) -> MARK(tt) 176.40/63.11 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 176.40/63.11 ACTIVE(U21(tt, V1)) -> U22^1(isNatKind(V1), V1) 176.40/63.11 ACTIVE(U21(tt, V1)) -> ISNATKIND(V1) 176.40/63.11 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 176.40/63.11 ACTIVE(U22(tt, V1)) -> U23^1(isNat(V1)) 176.40/63.11 ACTIVE(U22(tt, V1)) -> ISNAT(V1) 176.40/63.11 ACTIVE(U23(tt)) -> MARK(tt) 176.40/63.11 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 176.40/63.11 ACTIVE(U31(tt, V2)) -> U32^1(isNatKind(V2)) 176.40/63.11 ACTIVE(U31(tt, V2)) -> ISNATKIND(V2) 176.40/63.11 ACTIVE(U32(tt)) -> MARK(tt) 176.40/63.11 ACTIVE(U41(tt)) -> MARK(tt) 176.40/63.11 ACTIVE(U51(tt, N)) -> MARK(U52(isNatKind(N), N)) 176.40/63.11 ACTIVE(U51(tt, N)) -> U52^1(isNatKind(N), N) 176.40/63.11 ACTIVE(U51(tt, N)) -> ISNATKIND(N) 176.40/63.11 ACTIVE(U52(tt, N)) -> MARK(N) 176.40/63.11 ACTIVE(U61(tt, M, N)) -> MARK(U62(isNatKind(M), M, N)) 176.40/63.11 ACTIVE(U61(tt, M, N)) -> U62^1(isNatKind(M), M, N) 176.40/63.11 ACTIVE(U61(tt, M, N)) -> ISNATKIND(M) 176.40/63.11 ACTIVE(U62(tt, M, N)) -> MARK(U63(isNat(N), M, N)) 176.40/63.11 ACTIVE(U62(tt, M, N)) -> U63^1(isNat(N), M, N) 176.40/63.11 ACTIVE(U62(tt, M, N)) -> ISNAT(N) 176.40/63.11 ACTIVE(U63(tt, M, N)) -> MARK(U64(isNatKind(N), M, N)) 176.40/63.11 ACTIVE(U63(tt, M, N)) -> U64^1(isNatKind(N), M, N) 176.40/63.11 ACTIVE(U63(tt, M, N)) -> ISNATKIND(N) 176.40/63.11 ACTIVE(U64(tt, M, N)) -> MARK(s(plus(N, M))) 176.40/63.11 ACTIVE(U64(tt, M, N)) -> S(plus(N, M)) 176.40/63.11 ACTIVE(U64(tt, M, N)) -> PLUS(N, M) 176.40/63.11 ACTIVE(isNat(0)) -> MARK(tt) 176.40/63.11 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) 176.40/63.11 ACTIVE(isNat(plus(V1, V2))) -> U11^1(isNatKind(V1), V1, V2) 176.40/63.11 ACTIVE(isNat(plus(V1, V2))) -> ISNATKIND(V1) 176.40/63.11 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 176.40/63.11 ACTIVE(isNat(s(V1))) -> U21^1(isNatKind(V1), V1) 176.40/63.11 ACTIVE(isNat(s(V1))) -> ISNATKIND(V1) 176.40/63.11 ACTIVE(isNatKind(0)) -> MARK(tt) 176.40/63.11 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 176.40/63.11 ACTIVE(isNatKind(plus(V1, V2))) -> U31^1(isNatKind(V1), V2) 176.40/63.11 ACTIVE(isNatKind(plus(V1, V2))) -> ISNATKIND(V1) 176.40/63.11 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 176.40/63.11 ACTIVE(isNatKind(s(V1))) -> U41^1(isNatKind(V1)) 176.40/63.11 ACTIVE(isNatKind(s(V1))) -> ISNATKIND(V1) 176.40/63.11 ACTIVE(plus(N, 0)) -> MARK(U51(isNat(N), N)) 176.40/63.11 ACTIVE(plus(N, 0)) -> U51^1(isNat(N), N) 176.40/63.11 ACTIVE(plus(N, 0)) -> ISNAT(N) 176.40/63.11 ACTIVE(plus(N, s(M))) -> MARK(U61(isNat(M), M, N)) 176.40/63.11 ACTIVE(plus(N, s(M))) -> U61^1(isNat(M), M, N) 176.40/63.11 ACTIVE(plus(N, s(M))) -> ISNAT(M) 176.40/63.11 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 176.40/63.11 MARK(U11(X1, X2, X3)) -> U11^1(mark(X1), X2, X3) 176.40/63.11 MARK(U11(X1, X2, X3)) -> MARK(X1) 176.40/63.11 MARK(tt) -> ACTIVE(tt) 176.40/63.11 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 176.40/63.11 MARK(U12(X1, X2, X3)) -> U12^1(mark(X1), X2, X3) 176.40/63.11 MARK(U12(X1, X2, X3)) -> MARK(X1) 176.40/63.11 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 176.40/63.11 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 176.40/63.11 MARK(U13(X1, X2, X3)) -> U13^1(mark(X1), X2, X3) 176.40/63.11 MARK(U13(X1, X2, X3)) -> MARK(X1) 176.40/63.11 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 176.40/63.11 MARK(U14(X1, X2, X3)) -> U14^1(mark(X1), X2, X3) 176.40/63.11 MARK(U14(X1, X2, X3)) -> MARK(X1) 176.40/63.11 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 176.40/63.11 MARK(U15(X1, X2)) -> U15^1(mark(X1), X2) 176.40/63.11 MARK(U15(X1, X2)) -> MARK(X1) 176.40/63.11 MARK(isNat(X)) -> ACTIVE(isNat(X)) 176.40/63.11 MARK(U16(X)) -> ACTIVE(U16(mark(X))) 176.40/63.11 MARK(U16(X)) -> U16^1(mark(X)) 176.40/63.11 MARK(U16(X)) -> MARK(X) 176.40/63.11 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 176.40/63.11 MARK(U21(X1, X2)) -> U21^1(mark(X1), X2) 176.40/63.11 MARK(U21(X1, X2)) -> MARK(X1) 176.40/63.11 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 176.40/63.11 MARK(U22(X1, X2)) -> U22^1(mark(X1), X2) 176.40/63.11 MARK(U22(X1, X2)) -> MARK(X1) 176.40/63.11 MARK(U23(X)) -> ACTIVE(U23(mark(X))) 176.40/63.11 MARK(U23(X)) -> U23^1(mark(X)) 176.40/63.11 MARK(U23(X)) -> MARK(X) 176.40/63.11 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 176.40/63.11 MARK(U31(X1, X2)) -> U31^1(mark(X1), X2) 176.40/63.11 MARK(U31(X1, X2)) -> MARK(X1) 176.40/63.11 MARK(U32(X)) -> ACTIVE(U32(mark(X))) 176.40/63.11 MARK(U32(X)) -> U32^1(mark(X)) 176.40/63.11 MARK(U32(X)) -> MARK(X) 176.40/63.11 MARK(U41(X)) -> ACTIVE(U41(mark(X))) 176.40/63.11 MARK(U41(X)) -> U41^1(mark(X)) 176.40/63.11 MARK(U41(X)) -> MARK(X) 176.40/63.11 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 176.40/63.11 MARK(U51(X1, X2)) -> U51^1(mark(X1), X2) 176.40/63.11 MARK(U51(X1, X2)) -> MARK(X1) 176.40/63.11 MARK(U52(X1, X2)) -> ACTIVE(U52(mark(X1), X2)) 176.40/63.11 MARK(U52(X1, X2)) -> U52^1(mark(X1), X2) 176.40/63.11 MARK(U52(X1, X2)) -> MARK(X1) 176.40/63.11 MARK(U61(X1, X2, X3)) -> ACTIVE(U61(mark(X1), X2, X3)) 176.40/63.11 MARK(U61(X1, X2, X3)) -> U61^1(mark(X1), X2, X3) 176.40/63.11 MARK(U61(X1, X2, X3)) -> MARK(X1) 176.40/63.11 MARK(U62(X1, X2, X3)) -> ACTIVE(U62(mark(X1), X2, X3)) 176.40/63.11 MARK(U62(X1, X2, X3)) -> U62^1(mark(X1), X2, X3) 176.40/63.11 MARK(U62(X1, X2, X3)) -> MARK(X1) 176.40/63.11 MARK(U63(X1, X2, X3)) -> ACTIVE(U63(mark(X1), X2, X3)) 176.40/63.11 MARK(U63(X1, X2, X3)) -> U63^1(mark(X1), X2, X3) 176.40/63.11 MARK(U63(X1, X2, X3)) -> MARK(X1) 176.40/63.11 MARK(U64(X1, X2, X3)) -> ACTIVE(U64(mark(X1), X2, X3)) 176.40/63.11 MARK(U64(X1, X2, X3)) -> U64^1(mark(X1), X2, X3) 176.40/63.11 MARK(U64(X1, X2, X3)) -> MARK(X1) 176.40/63.11 MARK(s(X)) -> ACTIVE(s(mark(X))) 176.40/63.11 MARK(s(X)) -> S(mark(X)) 176.40/63.11 MARK(s(X)) -> MARK(X) 176.40/63.11 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 176.40/63.11 MARK(plus(X1, X2)) -> PLUS(mark(X1), mark(X2)) 176.40/63.11 MARK(plus(X1, X2)) -> MARK(X1) 176.40/63.11 MARK(plus(X1, X2)) -> MARK(X2) 176.40/63.11 MARK(0) -> ACTIVE(0) 176.40/63.11 U11^1(mark(X1), X2, X3) -> U11^1(X1, X2, X3) 176.40/63.11 U11^1(X1, mark(X2), X3) -> U11^1(X1, X2, X3) 176.40/63.11 U11^1(X1, X2, mark(X3)) -> U11^1(X1, X2, X3) 176.40/63.11 U11^1(active(X1), X2, X3) -> U11^1(X1, X2, X3) 176.40/63.11 U11^1(X1, active(X2), X3) -> U11^1(X1, X2, X3) 176.40/63.11 U11^1(X1, X2, active(X3)) -> U11^1(X1, X2, X3) 176.40/63.11 U12^1(mark(X1), X2, X3) -> U12^1(X1, X2, X3) 176.40/63.11 U12^1(X1, mark(X2), X3) -> U12^1(X1, X2, X3) 176.40/63.11 U12^1(X1, X2, mark(X3)) -> U12^1(X1, X2, X3) 176.40/63.11 U12^1(active(X1), X2, X3) -> U12^1(X1, X2, X3) 176.40/63.11 U12^1(X1, active(X2), X3) -> U12^1(X1, X2, X3) 176.40/63.11 U12^1(X1, X2, active(X3)) -> U12^1(X1, X2, X3) 176.40/63.11 ISNATKIND(mark(X)) -> ISNATKIND(X) 176.40/63.11 ISNATKIND(active(X)) -> ISNATKIND(X) 176.40/63.11 U13^1(mark(X1), X2, X3) -> U13^1(X1, X2, X3) 176.40/63.11 U13^1(X1, mark(X2), X3) -> U13^1(X1, X2, X3) 176.40/63.11 U13^1(X1, X2, mark(X3)) -> U13^1(X1, X2, X3) 176.40/63.11 U13^1(active(X1), X2, X3) -> U13^1(X1, X2, X3) 176.40/63.11 U13^1(X1, active(X2), X3) -> U13^1(X1, X2, X3) 176.40/63.11 U13^1(X1, X2, active(X3)) -> U13^1(X1, X2, X3) 176.40/63.11 U14^1(mark(X1), X2, X3) -> U14^1(X1, X2, X3) 176.40/63.11 U14^1(X1, mark(X2), X3) -> U14^1(X1, X2, X3) 176.40/63.11 U14^1(X1, X2, mark(X3)) -> U14^1(X1, X2, X3) 176.40/63.11 U14^1(active(X1), X2, X3) -> U14^1(X1, X2, X3) 176.40/63.11 U14^1(X1, active(X2), X3) -> U14^1(X1, X2, X3) 176.40/63.11 U14^1(X1, X2, active(X3)) -> U14^1(X1, X2, X3) 176.40/63.11 U15^1(mark(X1), X2) -> U15^1(X1, X2) 176.40/63.11 U15^1(X1, mark(X2)) -> U15^1(X1, X2) 176.40/63.11 U15^1(active(X1), X2) -> U15^1(X1, X2) 176.40/63.11 U15^1(X1, active(X2)) -> U15^1(X1, X2) 176.40/63.11 ISNAT(mark(X)) -> ISNAT(X) 176.40/63.11 ISNAT(active(X)) -> ISNAT(X) 176.40/63.11 U16^1(mark(X)) -> U16^1(X) 176.40/63.11 U16^1(active(X)) -> U16^1(X) 176.40/63.11 U21^1(mark(X1), X2) -> U21^1(X1, X2) 176.40/63.11 U21^1(X1, mark(X2)) -> U21^1(X1, X2) 176.40/63.11 U21^1(active(X1), X2) -> U21^1(X1, X2) 176.40/63.11 U21^1(X1, active(X2)) -> U21^1(X1, X2) 176.40/63.11 U22^1(mark(X1), X2) -> U22^1(X1, X2) 176.40/63.11 U22^1(X1, mark(X2)) -> U22^1(X1, X2) 176.40/63.11 U22^1(active(X1), X2) -> U22^1(X1, X2) 176.40/63.11 U22^1(X1, active(X2)) -> U22^1(X1, X2) 176.40/63.11 U23^1(mark(X)) -> U23^1(X) 176.40/63.11 U23^1(active(X)) -> U23^1(X) 176.40/63.11 U31^1(mark(X1), X2) -> U31^1(X1, X2) 176.40/63.11 U31^1(X1, mark(X2)) -> U31^1(X1, X2) 176.40/63.11 U31^1(active(X1), X2) -> U31^1(X1, X2) 176.40/63.11 U31^1(X1, active(X2)) -> U31^1(X1, X2) 176.40/63.11 U32^1(mark(X)) -> U32^1(X) 176.40/63.11 U32^1(active(X)) -> U32^1(X) 176.40/63.11 U41^1(mark(X)) -> U41^1(X) 176.40/63.11 U41^1(active(X)) -> U41^1(X) 176.40/63.11 U51^1(mark(X1), X2) -> U51^1(X1, X2) 176.40/63.11 U51^1(X1, mark(X2)) -> U51^1(X1, X2) 176.40/63.11 U51^1(active(X1), X2) -> U51^1(X1, X2) 176.40/63.11 U51^1(X1, active(X2)) -> U51^1(X1, X2) 176.40/63.11 U52^1(mark(X1), X2) -> U52^1(X1, X2) 176.40/63.11 U52^1(X1, mark(X2)) -> U52^1(X1, X2) 176.40/63.11 U52^1(active(X1), X2) -> U52^1(X1, X2) 176.40/63.11 U52^1(X1, active(X2)) -> U52^1(X1, X2) 176.40/63.11 U61^1(mark(X1), X2, X3) -> U61^1(X1, X2, X3) 176.40/63.11 U61^1(X1, mark(X2), X3) -> U61^1(X1, X2, X3) 176.40/63.11 U61^1(X1, X2, mark(X3)) -> U61^1(X1, X2, X3) 176.40/63.11 U61^1(active(X1), X2, X3) -> U61^1(X1, X2, X3) 176.40/63.11 U61^1(X1, active(X2), X3) -> U61^1(X1, X2, X3) 176.40/63.11 U61^1(X1, X2, active(X3)) -> U61^1(X1, X2, X3) 176.40/63.11 U62^1(mark(X1), X2, X3) -> U62^1(X1, X2, X3) 176.40/63.11 U62^1(X1, mark(X2), X3) -> U62^1(X1, X2, X3) 176.40/63.11 U62^1(X1, X2, mark(X3)) -> U62^1(X1, X2, X3) 176.40/63.11 U62^1(active(X1), X2, X3) -> U62^1(X1, X2, X3) 176.40/63.11 U62^1(X1, active(X2), X3) -> U62^1(X1, X2, X3) 176.40/63.11 U62^1(X1, X2, active(X3)) -> U62^1(X1, X2, X3) 176.40/63.11 U63^1(mark(X1), X2, X3) -> U63^1(X1, X2, X3) 176.40/63.11 U63^1(X1, mark(X2), X3) -> U63^1(X1, X2, X3) 176.40/63.11 U63^1(X1, X2, mark(X3)) -> U63^1(X1, X2, X3) 176.40/63.11 U63^1(active(X1), X2, X3) -> U63^1(X1, X2, X3) 176.40/63.11 U63^1(X1, active(X2), X3) -> U63^1(X1, X2, X3) 176.40/63.11 U63^1(X1, X2, active(X3)) -> U63^1(X1, X2, X3) 176.40/63.11 U64^1(mark(X1), X2, X3) -> U64^1(X1, X2, X3) 176.40/63.11 U64^1(X1, mark(X2), X3) -> U64^1(X1, X2, X3) 176.40/63.11 U64^1(X1, X2, mark(X3)) -> U64^1(X1, X2, X3) 176.40/63.11 U64^1(active(X1), X2, X3) -> U64^1(X1, X2, X3) 176.40/63.11 U64^1(X1, active(X2), X3) -> U64^1(X1, X2, X3) 176.40/63.11 U64^1(X1, X2, active(X3)) -> U64^1(X1, X2, X3) 176.40/63.11 S(mark(X)) -> S(X) 176.40/63.11 S(active(X)) -> S(X) 176.40/63.11 PLUS(mark(X1), X2) -> PLUS(X1, X2) 176.40/63.11 PLUS(X1, mark(X2)) -> PLUS(X1, X2) 176.40/63.11 PLUS(active(X1), X2) -> PLUS(X1, X2) 176.40/63.11 PLUS(X1, active(X2)) -> PLUS(X1, X2) 176.40/63.11 176.40/63.11 The TRS R consists of the following rules: 176.40/63.11 176.40/63.11 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 176.40/63.11 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 176.40/63.11 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 176.40/63.11 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 176.40/63.11 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 176.40/63.11 active(U16(tt)) -> mark(tt) 176.40/63.11 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 176.40/63.11 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 176.40/63.11 active(U23(tt)) -> mark(tt) 176.40/63.11 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 176.40/63.11 active(U32(tt)) -> mark(tt) 176.40/63.11 active(U41(tt)) -> mark(tt) 176.40/63.11 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 176.40/63.11 active(U52(tt, N)) -> mark(N) 176.40/63.11 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 176.40/63.11 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 176.40/63.11 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 176.40/63.11 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 176.40/63.11 active(isNat(0)) -> mark(tt) 176.40/63.11 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 176.40/63.11 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 176.40/63.11 active(isNatKind(0)) -> mark(tt) 176.40/63.11 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 176.40/63.11 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 176.40/63.11 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 176.40/63.11 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 176.40/63.11 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 176.40/63.11 mark(tt) -> active(tt) 176.40/63.11 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 176.40/63.11 mark(isNatKind(X)) -> active(isNatKind(X)) 176.40/63.11 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 176.40/63.11 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 176.40/63.11 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 176.40/63.11 mark(isNat(X)) -> active(isNat(X)) 176.40/63.11 mark(U16(X)) -> active(U16(mark(X))) 176.40/63.11 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 176.40/63.11 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 176.40/63.11 mark(U23(X)) -> active(U23(mark(X))) 176.40/63.11 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 176.40/63.11 mark(U32(X)) -> active(U32(mark(X))) 176.40/63.11 mark(U41(X)) -> active(U41(mark(X))) 176.40/63.11 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 176.40/63.11 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 176.40/63.11 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 176.40/63.11 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 176.40/63.11 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 176.40/63.11 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 176.40/63.11 mark(s(X)) -> active(s(mark(X))) 176.40/63.11 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 176.40/63.11 mark(0) -> active(0) 176.40/63.11 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 176.40/63.11 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 176.40/63.11 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 176.40/63.11 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 176.40/63.11 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 176.40/63.11 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 176.40/63.11 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 176.40/63.11 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 176.40/63.11 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 176.40/63.11 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 176.40/63.11 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 176.40/63.11 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 176.40/63.11 isNatKind(mark(X)) -> isNatKind(X) 176.40/63.11 isNatKind(active(X)) -> isNatKind(X) 176.40/63.11 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 176.40/63.11 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 176.40/63.11 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 176.40/63.11 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 176.40/63.11 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 176.40/63.11 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 176.40/63.11 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 176.40/63.11 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 176.40/63.11 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 176.40/63.11 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 176.40/63.11 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 176.40/63.11 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 176.40/63.11 U15(mark(X1), X2) -> U15(X1, X2) 176.40/63.11 U15(X1, mark(X2)) -> U15(X1, X2) 176.40/63.11 U15(active(X1), X2) -> U15(X1, X2) 176.40/63.11 U15(X1, active(X2)) -> U15(X1, X2) 176.40/63.11 isNat(mark(X)) -> isNat(X) 176.40/63.11 isNat(active(X)) -> isNat(X) 176.40/63.11 U16(mark(X)) -> U16(X) 176.40/63.11 U16(active(X)) -> U16(X) 176.40/63.11 U21(mark(X1), X2) -> U21(X1, X2) 176.40/63.11 U21(X1, mark(X2)) -> U21(X1, X2) 176.40/63.11 U21(active(X1), X2) -> U21(X1, X2) 176.40/63.11 U21(X1, active(X2)) -> U21(X1, X2) 176.40/63.11 U22(mark(X1), X2) -> U22(X1, X2) 176.40/63.11 U22(X1, mark(X2)) -> U22(X1, X2) 176.40/63.11 U22(active(X1), X2) -> U22(X1, X2) 176.40/63.11 U22(X1, active(X2)) -> U22(X1, X2) 176.40/63.11 U23(mark(X)) -> U23(X) 176.40/63.11 U23(active(X)) -> U23(X) 176.40/63.11 U31(mark(X1), X2) -> U31(X1, X2) 176.40/63.11 U31(X1, mark(X2)) -> U31(X1, X2) 176.40/63.11 U31(active(X1), X2) -> U31(X1, X2) 176.40/63.11 U31(X1, active(X2)) -> U31(X1, X2) 176.40/63.11 U32(mark(X)) -> U32(X) 176.40/63.11 U32(active(X)) -> U32(X) 176.40/63.11 U41(mark(X)) -> U41(X) 176.40/63.11 U41(active(X)) -> U41(X) 176.40/63.11 U51(mark(X1), X2) -> U51(X1, X2) 176.40/63.11 U51(X1, mark(X2)) -> U51(X1, X2) 176.40/63.11 U51(active(X1), X2) -> U51(X1, X2) 176.40/63.11 U51(X1, active(X2)) -> U51(X1, X2) 176.40/63.11 U52(mark(X1), X2) -> U52(X1, X2) 176.40/63.11 U52(X1, mark(X2)) -> U52(X1, X2) 176.40/63.11 U52(active(X1), X2) -> U52(X1, X2) 176.40/63.11 U52(X1, active(X2)) -> U52(X1, X2) 176.40/63.11 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 176.40/63.11 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 176.40/63.11 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 176.40/63.11 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 176.40/63.11 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 176.40/63.11 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 176.40/63.11 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 176.40/63.11 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 176.40/63.11 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 176.40/63.11 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 176.40/63.11 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 176.40/63.11 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 176.40/63.11 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 176.40/63.11 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 176.40/63.11 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 176.40/63.11 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 176.40/63.11 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 176.40/63.11 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 176.40/63.11 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 176.40/63.11 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 176.40/63.11 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 176.40/63.11 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 176.40/63.11 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 176.40/63.11 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 176.40/63.11 s(mark(X)) -> s(X) 176.40/63.11 s(active(X)) -> s(X) 176.40/63.11 plus(mark(X1), X2) -> plus(X1, X2) 176.40/63.11 plus(X1, mark(X2)) -> plus(X1, X2) 176.40/63.11 plus(active(X1), X2) -> plus(X1, X2) 176.40/63.11 plus(X1, active(X2)) -> plus(X1, X2) 176.40/63.11 176.40/63.11 The set Q consists of the following terms: 176.40/63.11 176.40/63.11 active(U11(tt, x0, x1)) 176.40/63.11 active(U12(tt, x0, x1)) 176.40/63.11 active(U13(tt, x0, x1)) 176.40/63.11 active(U14(tt, x0, x1)) 176.40/63.11 active(U15(tt, x0)) 176.40/63.11 active(U16(tt)) 176.40/63.11 active(U21(tt, x0)) 176.40/63.11 active(U22(tt, x0)) 176.40/63.11 active(U23(tt)) 176.40/63.11 active(U31(tt, x0)) 176.40/63.11 active(U32(tt)) 176.40/63.11 active(U41(tt)) 176.40/63.11 active(U51(tt, x0)) 176.40/63.11 active(U52(tt, x0)) 176.40/63.12 active(U61(tt, x0, x1)) 176.40/63.12 active(U62(tt, x0, x1)) 176.40/63.12 active(U63(tt, x0, x1)) 176.40/63.12 active(U64(tt, x0, x1)) 176.40/63.12 active(isNat(0)) 176.40/63.12 active(isNat(plus(x0, x1))) 176.40/63.12 active(isNat(s(x0))) 176.40/63.12 active(isNatKind(0)) 176.40/63.12 active(isNatKind(plus(x0, x1))) 176.40/63.12 active(isNatKind(s(x0))) 176.40/63.12 active(plus(x0, 0)) 176.40/63.12 active(plus(x0, s(x1))) 176.40/63.12 mark(U11(x0, x1, x2)) 176.40/63.12 mark(tt) 176.40/63.12 mark(U12(x0, x1, x2)) 176.40/63.12 mark(isNatKind(x0)) 176.40/63.12 mark(U13(x0, x1, x2)) 176.40/63.12 mark(U14(x0, x1, x2)) 176.40/63.12 mark(U15(x0, x1)) 176.40/63.12 mark(isNat(x0)) 176.40/63.12 mark(U16(x0)) 176.40/63.12 mark(U21(x0, x1)) 176.40/63.12 mark(U22(x0, x1)) 176.40/63.12 mark(U23(x0)) 176.40/63.12 mark(U31(x0, x1)) 176.40/63.12 mark(U32(x0)) 176.40/63.12 mark(U41(x0)) 176.40/63.12 mark(U51(x0, x1)) 176.40/63.12 mark(U52(x0, x1)) 176.40/63.12 mark(U61(x0, x1, x2)) 176.40/63.12 mark(U62(x0, x1, x2)) 176.40/63.12 mark(U63(x0, x1, x2)) 176.40/63.12 mark(U64(x0, x1, x2)) 176.40/63.12 mark(s(x0)) 176.40/63.12 mark(plus(x0, x1)) 176.40/63.12 mark(0) 176.40/63.12 U11(mark(x0), x1, x2) 176.40/63.12 U11(x0, mark(x1), x2) 176.40/63.12 U11(x0, x1, mark(x2)) 176.40/63.12 U11(active(x0), x1, x2) 176.40/63.12 U11(x0, active(x1), x2) 176.40/63.12 U11(x0, x1, active(x2)) 176.40/63.12 U12(mark(x0), x1, x2) 176.40/63.12 U12(x0, mark(x1), x2) 176.40/63.12 U12(x0, x1, mark(x2)) 176.40/63.12 U12(active(x0), x1, x2) 176.40/63.12 U12(x0, active(x1), x2) 176.40/63.12 U12(x0, x1, active(x2)) 176.40/63.12 isNatKind(mark(x0)) 176.40/63.12 isNatKind(active(x0)) 176.40/63.12 U13(mark(x0), x1, x2) 176.40/63.12 U13(x0, mark(x1), x2) 176.40/63.12 U13(x0, x1, mark(x2)) 176.40/63.12 U13(active(x0), x1, x2) 176.40/63.12 U13(x0, active(x1), x2) 176.40/63.12 U13(x0, x1, active(x2)) 176.40/63.12 U14(mark(x0), x1, x2) 176.40/63.12 U14(x0, mark(x1), x2) 176.40/63.12 U14(x0, x1, mark(x2)) 176.40/63.12 U14(active(x0), x1, x2) 176.40/63.12 U14(x0, active(x1), x2) 176.40/63.12 U14(x0, x1, active(x2)) 176.40/63.12 U15(mark(x0), x1) 176.40/63.12 U15(x0, mark(x1)) 176.40/63.12 U15(active(x0), x1) 176.40/63.12 U15(x0, active(x1)) 176.40/63.12 isNat(mark(x0)) 176.40/63.12 isNat(active(x0)) 176.40/63.12 U16(mark(x0)) 176.40/63.12 U16(active(x0)) 176.40/63.12 U21(mark(x0), x1) 176.40/63.12 U21(x0, mark(x1)) 176.40/63.12 U21(active(x0), x1) 176.40/63.12 U21(x0, active(x1)) 176.40/63.12 U22(mark(x0), x1) 176.40/63.12 U22(x0, mark(x1)) 176.40/63.12 U22(active(x0), x1) 176.40/63.12 U22(x0, active(x1)) 176.40/63.12 U23(mark(x0)) 176.40/63.12 U23(active(x0)) 176.40/63.12 U31(mark(x0), x1) 176.40/63.12 U31(x0, mark(x1)) 176.40/63.12 U31(active(x0), x1) 176.40/63.12 U31(x0, active(x1)) 176.40/63.12 U32(mark(x0)) 176.40/63.12 U32(active(x0)) 176.40/63.12 U41(mark(x0)) 176.40/63.12 U41(active(x0)) 176.40/63.12 U51(mark(x0), x1) 176.40/63.12 U51(x0, mark(x1)) 176.40/63.12 U51(active(x0), x1) 176.40/63.12 U51(x0, active(x1)) 176.40/63.12 U52(mark(x0), x1) 176.40/63.12 U52(x0, mark(x1)) 176.40/63.12 U52(active(x0), x1) 176.40/63.12 U52(x0, active(x1)) 176.40/63.12 U61(mark(x0), x1, x2) 176.40/63.12 U61(x0, mark(x1), x2) 176.40/63.12 U61(x0, x1, mark(x2)) 176.40/63.12 U61(active(x0), x1, x2) 176.40/63.12 U61(x0, active(x1), x2) 176.40/63.12 U61(x0, x1, active(x2)) 176.40/63.12 U62(mark(x0), x1, x2) 176.40/63.12 U62(x0, mark(x1), x2) 176.40/63.12 U62(x0, x1, mark(x2)) 176.40/63.12 U62(active(x0), x1, x2) 176.40/63.12 U62(x0, active(x1), x2) 176.40/63.12 U62(x0, x1, active(x2)) 176.40/63.12 U63(mark(x0), x1, x2) 176.40/63.12 U63(x0, mark(x1), x2) 176.40/63.12 U63(x0, x1, mark(x2)) 176.40/63.12 U63(active(x0), x1, x2) 176.40/63.12 U63(x0, active(x1), x2) 176.40/63.12 U63(x0, x1, active(x2)) 176.40/63.12 U64(mark(x0), x1, x2) 176.40/63.12 U64(x0, mark(x1), x2) 176.40/63.12 U64(x0, x1, mark(x2)) 176.40/63.12 U64(active(x0), x1, x2) 176.40/63.12 U64(x0, active(x1), x2) 176.40/63.12 U64(x0, x1, active(x2)) 176.40/63.12 s(mark(x0)) 176.40/63.12 s(active(x0)) 176.40/63.12 plus(mark(x0), x1) 176.40/63.12 plus(x0, mark(x1)) 176.40/63.12 plus(active(x0), x1) 176.40/63.12 plus(x0, active(x1)) 176.40/63.12 176.40/63.12 We have to consider all minimal (P,Q,R)-chains. 176.40/63.12 ---------------------------------------- 176.40/63.12 176.40/63.12 (3) DependencyGraphProof (EQUIVALENT) 176.40/63.12 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 23 SCCs with 66 less nodes. 176.40/63.12 ---------------------------------------- 176.40/63.12 176.40/63.12 (4) 176.40/63.12 Complex Obligation (AND) 176.40/63.12 176.40/63.12 ---------------------------------------- 176.40/63.12 176.40/63.12 (5) 176.40/63.12 Obligation: 176.40/63.12 Q DP problem: 176.40/63.12 The TRS P consists of the following rules: 176.40/63.12 176.40/63.12 PLUS(X1, mark(X2)) -> PLUS(X1, X2) 176.40/63.12 PLUS(mark(X1), X2) -> PLUS(X1, X2) 176.40/63.12 PLUS(active(X1), X2) -> PLUS(X1, X2) 176.40/63.12 PLUS(X1, active(X2)) -> PLUS(X1, X2) 176.40/63.12 176.40/63.12 The TRS R consists of the following rules: 176.40/63.12 176.40/63.12 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 176.40/63.12 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 176.40/63.12 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 176.40/63.12 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 176.40/63.12 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 176.40/63.12 active(U16(tt)) -> mark(tt) 176.40/63.12 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 176.40/63.12 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 176.40/63.12 active(U23(tt)) -> mark(tt) 176.40/63.12 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 176.40/63.12 active(U32(tt)) -> mark(tt) 176.40/63.12 active(U41(tt)) -> mark(tt) 176.40/63.12 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 176.40/63.12 active(U52(tt, N)) -> mark(N) 176.40/63.12 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 176.40/63.12 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 176.40/63.12 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 176.40/63.12 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 176.40/63.12 active(isNat(0)) -> mark(tt) 176.40/63.12 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 176.40/63.12 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 176.40/63.12 active(isNatKind(0)) -> mark(tt) 176.40/63.12 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 176.40/63.12 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 176.40/63.12 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 176.40/63.12 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 176.40/63.12 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 176.40/63.12 mark(tt) -> active(tt) 176.40/63.12 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 176.40/63.12 mark(isNatKind(X)) -> active(isNatKind(X)) 176.40/63.12 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 176.40/63.12 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 176.40/63.12 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 176.40/63.12 mark(isNat(X)) -> active(isNat(X)) 176.40/63.12 mark(U16(X)) -> active(U16(mark(X))) 176.40/63.12 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 176.40/63.12 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 176.40/63.12 mark(U23(X)) -> active(U23(mark(X))) 176.40/63.12 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 176.40/63.12 mark(U32(X)) -> active(U32(mark(X))) 176.40/63.12 mark(U41(X)) -> active(U41(mark(X))) 176.40/63.12 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 176.40/63.12 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 176.40/63.12 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 176.40/63.12 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 176.40/63.12 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 176.40/63.12 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 176.40/63.12 mark(s(X)) -> active(s(mark(X))) 176.40/63.12 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 176.40/63.12 mark(0) -> active(0) 176.40/63.12 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 176.40/63.12 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 176.40/63.12 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 176.40/63.12 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 176.40/63.12 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 176.40/63.12 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 176.40/63.12 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 176.40/63.12 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 176.40/63.12 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 176.40/63.12 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 176.40/63.12 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 176.40/63.12 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 176.40/63.12 isNatKind(mark(X)) -> isNatKind(X) 176.40/63.12 isNatKind(active(X)) -> isNatKind(X) 176.40/63.12 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 176.40/63.12 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 176.40/63.12 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 176.40/63.12 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 176.40/63.12 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 176.40/63.12 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 176.40/63.12 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 176.40/63.12 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 176.40/63.12 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 176.40/63.12 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 176.40/63.12 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 176.40/63.12 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 176.88/63.13 U15(mark(X1), X2) -> U15(X1, X2) 176.88/63.13 U15(X1, mark(X2)) -> U15(X1, X2) 176.88/63.13 U15(active(X1), X2) -> U15(X1, X2) 176.88/63.13 U15(X1, active(X2)) -> U15(X1, X2) 176.88/63.13 isNat(mark(X)) -> isNat(X) 176.88/63.13 isNat(active(X)) -> isNat(X) 176.88/63.13 U16(mark(X)) -> U16(X) 176.88/63.13 U16(active(X)) -> U16(X) 176.88/63.13 U21(mark(X1), X2) -> U21(X1, X2) 176.88/63.13 U21(X1, mark(X2)) -> U21(X1, X2) 176.88/63.13 U21(active(X1), X2) -> U21(X1, X2) 176.88/63.13 U21(X1, active(X2)) -> U21(X1, X2) 176.88/63.13 U22(mark(X1), X2) -> U22(X1, X2) 176.88/63.13 U22(X1, mark(X2)) -> U22(X1, X2) 176.88/63.13 U22(active(X1), X2) -> U22(X1, X2) 176.88/63.13 U22(X1, active(X2)) -> U22(X1, X2) 176.88/63.13 U23(mark(X)) -> U23(X) 176.88/63.13 U23(active(X)) -> U23(X) 176.88/63.13 U31(mark(X1), X2) -> U31(X1, X2) 176.88/63.13 U31(X1, mark(X2)) -> U31(X1, X2) 176.88/63.13 U31(active(X1), X2) -> U31(X1, X2) 176.88/63.13 U31(X1, active(X2)) -> U31(X1, X2) 176.88/63.13 U32(mark(X)) -> U32(X) 176.88/63.13 U32(active(X)) -> U32(X) 176.88/63.13 U41(mark(X)) -> U41(X) 176.88/63.13 U41(active(X)) -> U41(X) 176.88/63.13 U51(mark(X1), X2) -> U51(X1, X2) 176.88/63.13 U51(X1, mark(X2)) -> U51(X1, X2) 176.88/63.13 U51(active(X1), X2) -> U51(X1, X2) 176.88/63.13 U51(X1, active(X2)) -> U51(X1, X2) 176.88/63.13 U52(mark(X1), X2) -> U52(X1, X2) 176.88/63.13 U52(X1, mark(X2)) -> U52(X1, X2) 176.88/63.13 U52(active(X1), X2) -> U52(X1, X2) 176.88/63.13 U52(X1, active(X2)) -> U52(X1, X2) 176.88/63.13 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 176.88/63.13 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 176.88/63.13 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 176.88/63.13 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 176.88/63.13 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 176.88/63.13 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 176.88/63.13 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 176.88/63.13 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 176.88/63.13 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 176.88/63.13 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 176.88/63.13 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 176.88/63.13 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 176.88/63.13 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 176.88/63.13 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 176.88/63.13 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 176.88/63.13 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 176.88/63.13 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 176.88/63.13 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 176.88/63.13 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 176.88/63.13 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 176.88/63.13 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 176.88/63.13 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 176.88/63.13 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 176.88/63.13 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 176.88/63.13 s(mark(X)) -> s(X) 176.88/63.13 s(active(X)) -> s(X) 176.88/63.13 plus(mark(X1), X2) -> plus(X1, X2) 176.88/63.13 plus(X1, mark(X2)) -> plus(X1, X2) 176.88/63.13 plus(active(X1), X2) -> plus(X1, X2) 176.88/63.13 plus(X1, active(X2)) -> plus(X1, X2) 176.88/63.13 176.88/63.13 The set Q consists of the following terms: 176.88/63.13 176.88/63.13 active(U11(tt, x0, x1)) 176.88/63.13 active(U12(tt, x0, x1)) 176.88/63.13 active(U13(tt, x0, x1)) 176.88/63.13 active(U14(tt, x0, x1)) 176.88/63.13 active(U15(tt, x0)) 176.88/63.13 active(U16(tt)) 176.88/63.13 active(U21(tt, x0)) 176.88/63.13 active(U22(tt, x0)) 176.88/63.13 active(U23(tt)) 176.88/63.13 active(U31(tt, x0)) 176.88/63.13 active(U32(tt)) 176.88/63.13 active(U41(tt)) 176.88/63.13 active(U51(tt, x0)) 176.88/63.13 active(U52(tt, x0)) 176.88/63.13 active(U61(tt, x0, x1)) 176.88/63.13 active(U62(tt, x0, x1)) 176.88/63.13 active(U63(tt, x0, x1)) 176.88/63.13 active(U64(tt, x0, x1)) 176.88/63.13 active(isNat(0)) 176.88/63.13 active(isNat(plus(x0, x1))) 176.88/63.13 active(isNat(s(x0))) 176.88/63.13 active(isNatKind(0)) 176.88/63.13 active(isNatKind(plus(x0, x1))) 176.88/63.13 active(isNatKind(s(x0))) 176.88/63.13 active(plus(x0, 0)) 176.88/63.13 active(plus(x0, s(x1))) 176.88/63.13 mark(U11(x0, x1, x2)) 176.88/63.13 mark(tt) 176.88/63.13 mark(U12(x0, x1, x2)) 176.88/63.13 mark(isNatKind(x0)) 176.88/63.13 mark(U13(x0, x1, x2)) 176.88/63.13 mark(U14(x0, x1, x2)) 176.88/63.13 mark(U15(x0, x1)) 176.88/63.13 mark(isNat(x0)) 176.88/63.13 mark(U16(x0)) 176.88/63.13 mark(U21(x0, x1)) 176.88/63.13 mark(U22(x0, x1)) 176.88/63.13 mark(U23(x0)) 176.88/63.13 mark(U31(x0, x1)) 176.88/63.13 mark(U32(x0)) 176.88/63.13 mark(U41(x0)) 176.88/63.13 mark(U51(x0, x1)) 176.88/63.13 mark(U52(x0, x1)) 176.88/63.13 mark(U61(x0, x1, x2)) 176.88/63.13 mark(U62(x0, x1, x2)) 176.88/63.13 mark(U63(x0, x1, x2)) 176.88/63.13 mark(U64(x0, x1, x2)) 176.88/63.13 mark(s(x0)) 176.88/63.13 mark(plus(x0, x1)) 176.88/63.13 mark(0) 176.88/63.13 U11(mark(x0), x1, x2) 176.88/63.13 U11(x0, mark(x1), x2) 176.88/63.13 U11(x0, x1, mark(x2)) 176.88/63.13 U11(active(x0), x1, x2) 176.88/63.13 U11(x0, active(x1), x2) 176.88/63.13 U11(x0, x1, active(x2)) 176.88/63.13 U12(mark(x0), x1, x2) 176.88/63.13 U12(x0, mark(x1), x2) 176.88/63.13 U12(x0, x1, mark(x2)) 176.88/63.13 U12(active(x0), x1, x2) 176.88/63.13 U12(x0, active(x1), x2) 176.88/63.13 U12(x0, x1, active(x2)) 176.88/63.13 isNatKind(mark(x0)) 176.88/63.13 isNatKind(active(x0)) 176.88/63.13 U13(mark(x0), x1, x2) 176.88/63.13 U13(x0, mark(x1), x2) 176.88/63.13 U13(x0, x1, mark(x2)) 176.88/63.13 U13(active(x0), x1, x2) 176.88/63.13 U13(x0, active(x1), x2) 176.88/63.13 U13(x0, x1, active(x2)) 176.88/63.13 U14(mark(x0), x1, x2) 176.88/63.13 U14(x0, mark(x1), x2) 176.88/63.13 U14(x0, x1, mark(x2)) 176.88/63.13 U14(active(x0), x1, x2) 176.88/63.13 U14(x0, active(x1), x2) 176.88/63.13 U14(x0, x1, active(x2)) 176.88/63.13 U15(mark(x0), x1) 176.88/63.13 U15(x0, mark(x1)) 176.88/63.13 U15(active(x0), x1) 176.88/63.13 U15(x0, active(x1)) 176.88/63.13 isNat(mark(x0)) 176.88/63.13 isNat(active(x0)) 176.88/63.13 U16(mark(x0)) 176.88/63.13 U16(active(x0)) 176.88/63.13 U21(mark(x0), x1) 176.88/63.13 U21(x0, mark(x1)) 176.88/63.13 U21(active(x0), x1) 176.88/63.13 U21(x0, active(x1)) 176.88/63.13 U22(mark(x0), x1) 176.88/63.13 U22(x0, mark(x1)) 176.88/63.13 U22(active(x0), x1) 176.88/63.13 U22(x0, active(x1)) 176.88/63.13 U23(mark(x0)) 176.88/63.13 U23(active(x0)) 176.88/63.13 U31(mark(x0), x1) 176.88/63.13 U31(x0, mark(x1)) 176.88/63.13 U31(active(x0), x1) 176.88/63.13 U31(x0, active(x1)) 176.88/63.13 U32(mark(x0)) 176.88/63.13 U32(active(x0)) 176.88/63.13 U41(mark(x0)) 176.88/63.13 U41(active(x0)) 176.88/63.13 U51(mark(x0), x1) 176.88/63.13 U51(x0, mark(x1)) 176.88/63.13 U51(active(x0), x1) 176.88/63.13 U51(x0, active(x1)) 176.88/63.13 U52(mark(x0), x1) 176.88/63.13 U52(x0, mark(x1)) 176.88/63.13 U52(active(x0), x1) 176.88/63.13 U52(x0, active(x1)) 176.88/63.13 U61(mark(x0), x1, x2) 176.88/63.13 U61(x0, mark(x1), x2) 176.88/63.13 U61(x0, x1, mark(x2)) 176.88/63.13 U61(active(x0), x1, x2) 176.88/63.13 U61(x0, active(x1), x2) 176.88/63.13 U61(x0, x1, active(x2)) 176.88/63.13 U62(mark(x0), x1, x2) 176.88/63.13 U62(x0, mark(x1), x2) 176.88/63.13 U62(x0, x1, mark(x2)) 176.88/63.13 U62(active(x0), x1, x2) 176.88/63.13 U62(x0, active(x1), x2) 176.88/63.13 U62(x0, x1, active(x2)) 176.88/63.13 U63(mark(x0), x1, x2) 176.88/63.13 U63(x0, mark(x1), x2) 176.88/63.13 U63(x0, x1, mark(x2)) 176.88/63.13 U63(active(x0), x1, x2) 176.88/63.13 U63(x0, active(x1), x2) 176.88/63.13 U63(x0, x1, active(x2)) 176.88/63.13 U64(mark(x0), x1, x2) 176.88/63.13 U64(x0, mark(x1), x2) 176.88/63.13 U64(x0, x1, mark(x2)) 176.88/63.13 U64(active(x0), x1, x2) 176.88/63.13 U64(x0, active(x1), x2) 176.88/63.13 U64(x0, x1, active(x2)) 176.88/63.13 s(mark(x0)) 176.88/63.13 s(active(x0)) 176.88/63.13 plus(mark(x0), x1) 176.88/63.13 plus(x0, mark(x1)) 176.88/63.13 plus(active(x0), x1) 176.88/63.13 plus(x0, active(x1)) 176.88/63.13 176.88/63.13 We have to consider all minimal (P,Q,R)-chains. 176.88/63.13 ---------------------------------------- 176.88/63.13 176.88/63.13 (6) UsableRulesProof (EQUIVALENT) 176.88/63.13 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. 176.88/63.13 ---------------------------------------- 176.88/63.13 176.88/63.13 (7) 176.88/63.13 Obligation: 176.88/63.13 Q DP problem: 176.88/63.13 The TRS P consists of the following rules: 176.88/63.13 176.88/63.13 PLUS(X1, mark(X2)) -> PLUS(X1, X2) 176.88/63.13 PLUS(mark(X1), X2) -> PLUS(X1, X2) 176.88/63.13 PLUS(active(X1), X2) -> PLUS(X1, X2) 176.88/63.13 PLUS(X1, active(X2)) -> PLUS(X1, X2) 176.88/63.13 176.88/63.13 R is empty. 176.88/63.13 The set Q consists of the following terms: 176.88/63.13 176.88/63.13 active(U11(tt, x0, x1)) 176.88/63.13 active(U12(tt, x0, x1)) 176.88/63.13 active(U13(tt, x0, x1)) 176.88/63.13 active(U14(tt, x0, x1)) 176.88/63.13 active(U15(tt, x0)) 176.88/63.13 active(U16(tt)) 176.88/63.13 active(U21(tt, x0)) 176.88/63.13 active(U22(tt, x0)) 176.88/63.13 active(U23(tt)) 176.88/63.13 active(U31(tt, x0)) 176.88/63.13 active(U32(tt)) 176.88/63.13 active(U41(tt)) 176.88/63.13 active(U51(tt, x0)) 176.88/63.13 active(U52(tt, x0)) 176.88/63.13 active(U61(tt, x0, x1)) 176.88/63.13 active(U62(tt, x0, x1)) 176.88/63.13 active(U63(tt, x0, x1)) 176.88/63.13 active(U64(tt, x0, x1)) 176.88/63.13 active(isNat(0)) 176.88/63.13 active(isNat(plus(x0, x1))) 176.88/63.13 active(isNat(s(x0))) 176.88/63.13 active(isNatKind(0)) 176.88/63.13 active(isNatKind(plus(x0, x1))) 176.88/63.13 active(isNatKind(s(x0))) 176.88/63.13 active(plus(x0, 0)) 176.88/63.13 active(plus(x0, s(x1))) 176.88/63.13 mark(U11(x0, x1, x2)) 176.88/63.13 mark(tt) 176.88/63.13 mark(U12(x0, x1, x2)) 176.88/63.13 mark(isNatKind(x0)) 176.88/63.13 mark(U13(x0, x1, x2)) 176.88/63.13 mark(U14(x0, x1, x2)) 176.88/63.13 mark(U15(x0, x1)) 176.88/63.13 mark(isNat(x0)) 176.88/63.13 mark(U16(x0)) 176.88/63.13 mark(U21(x0, x1)) 176.88/63.13 mark(U22(x0, x1)) 176.88/63.13 mark(U23(x0)) 176.88/63.13 mark(U31(x0, x1)) 176.88/63.13 mark(U32(x0)) 176.88/63.13 mark(U41(x0)) 176.88/63.13 mark(U51(x0, x1)) 176.88/63.13 mark(U52(x0, x1)) 176.88/63.13 mark(U61(x0, x1, x2)) 176.88/63.13 mark(U62(x0, x1, x2)) 176.88/63.13 mark(U63(x0, x1, x2)) 176.88/63.13 mark(U64(x0, x1, x2)) 176.88/63.13 mark(s(x0)) 176.88/63.13 mark(plus(x0, x1)) 176.88/63.13 mark(0) 176.88/63.13 U11(mark(x0), x1, x2) 176.88/63.13 U11(x0, mark(x1), x2) 176.88/63.13 U11(x0, x1, mark(x2)) 176.88/63.13 U11(active(x0), x1, x2) 176.88/63.13 U11(x0, active(x1), x2) 176.88/63.13 U11(x0, x1, active(x2)) 176.88/63.13 U12(mark(x0), x1, x2) 176.88/63.13 U12(x0, mark(x1), x2) 176.88/63.13 U12(x0, x1, mark(x2)) 176.88/63.13 U12(active(x0), x1, x2) 176.88/63.13 U12(x0, active(x1), x2) 176.88/63.13 U12(x0, x1, active(x2)) 176.88/63.13 isNatKind(mark(x0)) 176.88/63.13 isNatKind(active(x0)) 176.88/63.13 U13(mark(x0), x1, x2) 176.88/63.13 U13(x0, mark(x1), x2) 176.88/63.13 U13(x0, x1, mark(x2)) 176.88/63.13 U13(active(x0), x1, x2) 176.88/63.13 U13(x0, active(x1), x2) 176.88/63.13 U13(x0, x1, active(x2)) 176.88/63.13 U14(mark(x0), x1, x2) 176.88/63.13 U14(x0, mark(x1), x2) 176.88/63.13 U14(x0, x1, mark(x2)) 176.88/63.13 U14(active(x0), x1, x2) 176.88/63.13 U14(x0, active(x1), x2) 176.88/63.13 U14(x0, x1, active(x2)) 176.88/63.13 U15(mark(x0), x1) 176.88/63.13 U15(x0, mark(x1)) 176.88/63.13 U15(active(x0), x1) 176.88/63.13 U15(x0, active(x1)) 176.88/63.13 isNat(mark(x0)) 176.88/63.13 isNat(active(x0)) 176.88/63.13 U16(mark(x0)) 176.88/63.13 U16(active(x0)) 176.88/63.13 U21(mark(x0), x1) 176.88/63.13 U21(x0, mark(x1)) 176.88/63.13 U21(active(x0), x1) 176.88/63.13 U21(x0, active(x1)) 176.88/63.13 U22(mark(x0), x1) 176.88/63.13 U22(x0, mark(x1)) 176.88/63.13 U22(active(x0), x1) 176.88/63.13 U22(x0, active(x1)) 176.88/63.13 U23(mark(x0)) 176.88/63.13 U23(active(x0)) 176.88/63.13 U31(mark(x0), x1) 176.88/63.13 U31(x0, mark(x1)) 176.88/63.13 U31(active(x0), x1) 176.88/63.13 U31(x0, active(x1)) 176.88/63.13 U32(mark(x0)) 176.88/63.13 U32(active(x0)) 176.88/63.13 U41(mark(x0)) 176.88/63.13 U41(active(x0)) 176.88/63.13 U51(mark(x0), x1) 176.88/63.13 U51(x0, mark(x1)) 176.88/63.13 U51(active(x0), x1) 176.88/63.13 U51(x0, active(x1)) 176.88/63.13 U52(mark(x0), x1) 176.88/63.13 U52(x0, mark(x1)) 176.88/63.13 U52(active(x0), x1) 176.88/63.13 U52(x0, active(x1)) 176.88/63.13 U61(mark(x0), x1, x2) 176.88/63.13 U61(x0, mark(x1), x2) 176.88/63.13 U61(x0, x1, mark(x2)) 176.88/63.13 U61(active(x0), x1, x2) 176.88/63.13 U61(x0, active(x1), x2) 176.88/63.13 U61(x0, x1, active(x2)) 176.88/63.13 U62(mark(x0), x1, x2) 176.88/63.13 U62(x0, mark(x1), x2) 176.88/63.13 U62(x0, x1, mark(x2)) 176.88/63.13 U62(active(x0), x1, x2) 176.88/63.13 U62(x0, active(x1), x2) 176.88/63.13 U62(x0, x1, active(x2)) 176.88/63.13 U63(mark(x0), x1, x2) 176.88/63.13 U63(x0, mark(x1), x2) 176.88/63.13 U63(x0, x1, mark(x2)) 176.88/63.13 U63(active(x0), x1, x2) 176.88/63.13 U63(x0, active(x1), x2) 176.88/63.13 U63(x0, x1, active(x2)) 176.88/63.13 U64(mark(x0), x1, x2) 176.88/63.13 U64(x0, mark(x1), x2) 176.88/63.13 U64(x0, x1, mark(x2)) 176.88/63.13 U64(active(x0), x1, x2) 176.88/63.13 U64(x0, active(x1), x2) 176.88/63.13 U64(x0, x1, active(x2)) 176.88/63.13 s(mark(x0)) 176.88/63.13 s(active(x0)) 176.88/63.13 plus(mark(x0), x1) 176.88/63.13 plus(x0, mark(x1)) 176.88/63.13 plus(active(x0), x1) 176.88/63.13 plus(x0, active(x1)) 176.88/63.13 176.88/63.13 We have to consider all minimal (P,Q,R)-chains. 176.88/63.13 ---------------------------------------- 176.88/63.13 176.88/63.13 (8) QReductionProof (EQUIVALENT) 176.88/63.13 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 176.88/63.13 176.88/63.13 U11(mark(x0), x1, x2) 176.88/63.13 U11(x0, mark(x1), x2) 176.88/63.13 U11(x0, x1, mark(x2)) 176.88/63.13 U11(active(x0), x1, x2) 176.88/63.13 U11(x0, active(x1), x2) 176.88/63.13 U11(x0, x1, active(x2)) 176.88/63.13 U12(mark(x0), x1, x2) 176.88/63.13 U12(x0, mark(x1), x2) 176.88/63.13 U12(x0, x1, mark(x2)) 176.88/63.13 U12(active(x0), x1, x2) 176.88/63.13 U12(x0, active(x1), x2) 176.88/63.13 U12(x0, x1, active(x2)) 176.88/63.13 isNatKind(mark(x0)) 176.88/63.13 isNatKind(active(x0)) 176.88/63.13 U13(mark(x0), x1, x2) 176.88/63.13 U13(x0, mark(x1), x2) 176.88/63.13 U13(x0, x1, mark(x2)) 176.88/63.13 U13(active(x0), x1, x2) 176.88/63.13 U13(x0, active(x1), x2) 176.88/63.13 U13(x0, x1, active(x2)) 176.88/63.13 U14(mark(x0), x1, x2) 176.88/63.13 U14(x0, mark(x1), x2) 176.88/63.13 U14(x0, x1, mark(x2)) 176.88/63.13 U14(active(x0), x1, x2) 176.88/63.13 U14(x0, active(x1), x2) 176.88/63.13 U14(x0, x1, active(x2)) 176.88/63.13 U15(mark(x0), x1) 176.88/63.13 U15(x0, mark(x1)) 176.88/63.13 U15(active(x0), x1) 176.88/63.13 U15(x0, active(x1)) 176.88/63.13 isNat(mark(x0)) 176.88/63.13 isNat(active(x0)) 176.88/63.13 U16(mark(x0)) 176.88/63.13 U16(active(x0)) 176.88/63.13 U21(mark(x0), x1) 176.88/63.13 U21(x0, mark(x1)) 176.88/63.13 U21(active(x0), x1) 176.88/63.13 U21(x0, active(x1)) 176.88/63.13 U22(mark(x0), x1) 176.88/63.13 U22(x0, mark(x1)) 176.88/63.13 U22(active(x0), x1) 176.88/63.13 U22(x0, active(x1)) 176.88/63.13 U23(mark(x0)) 176.88/63.13 U23(active(x0)) 176.88/63.13 U31(mark(x0), x1) 176.88/63.13 U31(x0, mark(x1)) 176.88/63.13 U31(active(x0), x1) 176.88/63.13 U31(x0, active(x1)) 176.88/63.13 U32(mark(x0)) 176.88/63.13 U32(active(x0)) 176.88/63.13 U41(mark(x0)) 176.88/63.13 U41(active(x0)) 176.88/63.13 U51(mark(x0), x1) 176.88/63.13 U51(x0, mark(x1)) 176.88/63.13 U51(active(x0), x1) 176.88/63.13 U51(x0, active(x1)) 176.88/63.13 U52(mark(x0), x1) 176.88/63.13 U52(x0, mark(x1)) 176.88/63.13 U52(active(x0), x1) 176.88/63.13 U52(x0, active(x1)) 176.88/63.13 U61(mark(x0), x1, x2) 176.88/63.13 U61(x0, mark(x1), x2) 176.88/63.13 U61(x0, x1, mark(x2)) 176.88/63.13 U61(active(x0), x1, x2) 176.88/63.13 U61(x0, active(x1), x2) 176.88/63.13 U61(x0, x1, active(x2)) 176.88/63.13 U62(mark(x0), x1, x2) 176.88/63.13 U62(x0, mark(x1), x2) 176.88/63.13 U62(x0, x1, mark(x2)) 176.88/63.13 U62(active(x0), x1, x2) 176.88/63.13 U62(x0, active(x1), x2) 176.88/63.13 U62(x0, x1, active(x2)) 176.88/63.13 U63(mark(x0), x1, x2) 176.88/63.13 U63(x0, mark(x1), x2) 176.88/63.13 U63(x0, x1, mark(x2)) 176.88/63.13 U63(active(x0), x1, x2) 176.88/63.13 U63(x0, active(x1), x2) 176.88/63.13 U63(x0, x1, active(x2)) 176.88/63.13 U64(mark(x0), x1, x2) 176.88/63.13 U64(x0, mark(x1), x2) 176.88/63.13 U64(x0, x1, mark(x2)) 176.88/63.13 U64(active(x0), x1, x2) 176.88/63.13 U64(x0, active(x1), x2) 176.88/63.13 U64(x0, x1, active(x2)) 176.88/63.13 s(mark(x0)) 176.88/63.13 s(active(x0)) 176.88/63.13 plus(mark(x0), x1) 176.88/63.13 plus(x0, mark(x1)) 176.88/63.13 plus(active(x0), x1) 176.88/63.13 plus(x0, active(x1)) 176.88/63.13 176.88/63.13 176.88/63.13 ---------------------------------------- 176.88/63.13 176.88/63.13 (9) 176.88/63.13 Obligation: 176.88/63.13 Q DP problem: 176.88/63.13 The TRS P consists of the following rules: 176.88/63.13 176.88/63.13 PLUS(X1, mark(X2)) -> PLUS(X1, X2) 176.88/63.13 PLUS(mark(X1), X2) -> PLUS(X1, X2) 176.88/63.13 PLUS(active(X1), X2) -> PLUS(X1, X2) 176.88/63.13 PLUS(X1, active(X2)) -> PLUS(X1, X2) 176.88/63.13 176.88/63.13 R is empty. 176.88/63.13 The set Q consists of the following terms: 176.88/63.13 176.88/63.13 active(U11(tt, x0, x1)) 176.88/63.13 active(U12(tt, x0, x1)) 176.88/63.13 active(U13(tt, x0, x1)) 176.88/63.13 active(U14(tt, x0, x1)) 176.88/63.13 active(U15(tt, x0)) 176.88/63.13 active(U16(tt)) 176.88/63.13 active(U21(tt, x0)) 176.88/63.13 active(U22(tt, x0)) 176.88/63.13 active(U23(tt)) 176.88/63.13 active(U31(tt, x0)) 176.88/63.13 active(U32(tt)) 176.88/63.13 active(U41(tt)) 176.88/63.13 active(U51(tt, x0)) 176.88/63.13 active(U52(tt, x0)) 176.88/63.13 active(U61(tt, x0, x1)) 176.88/63.13 active(U62(tt, x0, x1)) 176.88/63.13 active(U63(tt, x0, x1)) 176.88/63.13 active(U64(tt, x0, x1)) 176.88/63.13 active(isNat(0)) 176.88/63.13 active(isNat(plus(x0, x1))) 176.88/63.13 active(isNat(s(x0))) 176.88/63.13 active(isNatKind(0)) 176.88/63.13 active(isNatKind(plus(x0, x1))) 176.88/63.13 active(isNatKind(s(x0))) 176.88/63.13 active(plus(x0, 0)) 176.88/63.13 active(plus(x0, s(x1))) 176.88/63.13 mark(U11(x0, x1, x2)) 176.88/63.13 mark(tt) 176.88/63.13 mark(U12(x0, x1, x2)) 176.88/63.13 mark(isNatKind(x0)) 176.88/63.13 mark(U13(x0, x1, x2)) 176.88/63.13 mark(U14(x0, x1, x2)) 176.88/63.13 mark(U15(x0, x1)) 176.88/63.13 mark(isNat(x0)) 176.88/63.13 mark(U16(x0)) 176.88/63.13 mark(U21(x0, x1)) 176.88/63.13 mark(U22(x0, x1)) 176.88/63.13 mark(U23(x0)) 176.88/63.13 mark(U31(x0, x1)) 176.88/63.13 mark(U32(x0)) 176.88/63.13 mark(U41(x0)) 176.88/63.13 mark(U51(x0, x1)) 176.88/63.13 mark(U52(x0, x1)) 176.88/63.13 mark(U61(x0, x1, x2)) 176.88/63.13 mark(U62(x0, x1, x2)) 176.88/63.13 mark(U63(x0, x1, x2)) 176.88/63.13 mark(U64(x0, x1, x2)) 176.88/63.13 mark(s(x0)) 176.88/63.13 mark(plus(x0, x1)) 176.88/63.13 mark(0) 176.88/63.13 176.88/63.13 We have to consider all minimal (P,Q,R)-chains. 176.88/63.13 ---------------------------------------- 176.88/63.13 176.88/63.13 (10) QDPSizeChangeProof (EQUIVALENT) 176.88/63.13 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. 176.88/63.13 176.88/63.13 From the DPs we obtained the following set of size-change graphs: 176.88/63.13 *PLUS(X1, mark(X2)) -> PLUS(X1, X2) 176.88/63.13 The graph contains the following edges 1 >= 1, 2 > 2 176.88/63.13 176.88/63.13 176.88/63.13 *PLUS(mark(X1), X2) -> PLUS(X1, X2) 176.88/63.13 The graph contains the following edges 1 > 1, 2 >= 2 176.88/63.13 176.88/63.13 176.88/63.13 *PLUS(active(X1), X2) -> PLUS(X1, X2) 176.88/63.13 The graph contains the following edges 1 > 1, 2 >= 2 176.88/63.13 176.88/63.13 176.88/63.13 *PLUS(X1, active(X2)) -> PLUS(X1, X2) 176.88/63.13 The graph contains the following edges 1 >= 1, 2 > 2 176.88/63.13 176.88/63.13 176.88/63.13 ---------------------------------------- 176.88/63.13 176.88/63.13 (11) 176.88/63.13 YES 176.88/63.13 176.88/63.13 ---------------------------------------- 176.88/63.13 176.88/63.13 (12) 176.88/63.13 Obligation: 176.88/63.13 Q DP problem: 176.88/63.13 The TRS P consists of the following rules: 176.88/63.13 176.88/63.13 S(active(X)) -> S(X) 176.88/63.13 S(mark(X)) -> S(X) 176.88/63.13 176.88/63.13 The TRS R consists of the following rules: 176.88/63.13 176.88/63.13 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 176.88/63.13 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 176.88/63.13 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 176.88/63.13 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 176.88/63.13 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 176.88/63.13 active(U16(tt)) -> mark(tt) 176.88/63.13 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 176.88/63.13 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 176.88/63.13 active(U23(tt)) -> mark(tt) 176.88/63.13 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 176.88/63.13 active(U32(tt)) -> mark(tt) 176.88/63.13 active(U41(tt)) -> mark(tt) 176.88/63.13 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 176.88/63.13 active(U52(tt, N)) -> mark(N) 176.88/63.13 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 176.88/63.13 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 176.88/63.13 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 176.88/63.13 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 176.88/63.13 active(isNat(0)) -> mark(tt) 176.88/63.13 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 176.88/63.13 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 176.88/63.13 active(isNatKind(0)) -> mark(tt) 176.88/63.13 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 176.88/63.13 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 176.88/63.13 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 176.88/63.13 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 176.88/63.13 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 176.88/63.13 mark(tt) -> active(tt) 176.88/63.13 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 176.88/63.13 mark(isNatKind(X)) -> active(isNatKind(X)) 176.88/63.13 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 176.88/63.13 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 176.88/63.13 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 176.88/63.13 mark(isNat(X)) -> active(isNat(X)) 176.88/63.13 mark(U16(X)) -> active(U16(mark(X))) 176.88/63.13 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 176.88/63.13 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 176.88/63.13 mark(U23(X)) -> active(U23(mark(X))) 176.88/63.13 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 176.88/63.13 mark(U32(X)) -> active(U32(mark(X))) 176.88/63.13 mark(U41(X)) -> active(U41(mark(X))) 176.88/63.13 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 176.88/63.13 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 176.88/63.13 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 176.88/63.13 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 176.88/63.13 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 176.88/63.13 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 176.88/63.13 mark(s(X)) -> active(s(mark(X))) 176.88/63.13 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 176.88/63.13 mark(0) -> active(0) 176.88/63.13 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 176.88/63.13 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 176.88/63.13 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 176.88/63.13 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 176.88/63.13 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 176.88/63.13 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 176.88/63.13 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 176.88/63.13 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 176.88/63.13 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 176.88/63.13 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 176.88/63.13 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 176.88/63.13 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 176.88/63.13 isNatKind(mark(X)) -> isNatKind(X) 176.88/63.13 isNatKind(active(X)) -> isNatKind(X) 176.88/63.13 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 176.88/63.13 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 176.88/63.13 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 176.88/63.13 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 176.88/63.13 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 176.88/63.13 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 176.88/63.13 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 176.88/63.13 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 176.88/63.13 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 176.88/63.13 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 176.88/63.13 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 176.88/63.13 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 176.88/63.13 U15(mark(X1), X2) -> U15(X1, X2) 176.88/63.13 U15(X1, mark(X2)) -> U15(X1, X2) 176.88/63.13 U15(active(X1), X2) -> U15(X1, X2) 176.88/63.13 U15(X1, active(X2)) -> U15(X1, X2) 176.88/63.13 isNat(mark(X)) -> isNat(X) 176.88/63.13 isNat(active(X)) -> isNat(X) 176.88/63.13 U16(mark(X)) -> U16(X) 176.88/63.13 U16(active(X)) -> U16(X) 176.88/63.13 U21(mark(X1), X2) -> U21(X1, X2) 176.88/63.13 U21(X1, mark(X2)) -> U21(X1, X2) 176.88/63.13 U21(active(X1), X2) -> U21(X1, X2) 176.88/63.13 U21(X1, active(X2)) -> U21(X1, X2) 176.88/63.13 U22(mark(X1), X2) -> U22(X1, X2) 176.88/63.13 U22(X1, mark(X2)) -> U22(X1, X2) 176.88/63.13 U22(active(X1), X2) -> U22(X1, X2) 176.88/63.13 U22(X1, active(X2)) -> U22(X1, X2) 176.88/63.13 U23(mark(X)) -> U23(X) 176.88/63.13 U23(active(X)) -> U23(X) 176.88/63.13 U31(mark(X1), X2) -> U31(X1, X2) 176.88/63.13 U31(X1, mark(X2)) -> U31(X1, X2) 176.88/63.13 U31(active(X1), X2) -> U31(X1, X2) 176.88/63.13 U31(X1, active(X2)) -> U31(X1, X2) 176.88/63.13 U32(mark(X)) -> U32(X) 176.88/63.13 U32(active(X)) -> U32(X) 176.88/63.13 U41(mark(X)) -> U41(X) 176.88/63.13 U41(active(X)) -> U41(X) 176.88/63.13 U51(mark(X1), X2) -> U51(X1, X2) 176.88/63.13 U51(X1, mark(X2)) -> U51(X1, X2) 176.88/63.13 U51(active(X1), X2) -> U51(X1, X2) 176.88/63.13 U51(X1, active(X2)) -> U51(X1, X2) 176.88/63.13 U52(mark(X1), X2) -> U52(X1, X2) 176.88/63.13 U52(X1, mark(X2)) -> U52(X1, X2) 176.88/63.13 U52(active(X1), X2) -> U52(X1, X2) 176.88/63.13 U52(X1, active(X2)) -> U52(X1, X2) 176.88/63.13 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 176.88/63.13 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 176.88/63.13 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 176.88/63.13 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 176.88/63.13 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 176.88/63.13 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 176.88/63.13 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 176.88/63.13 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 176.88/63.13 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 176.88/63.13 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 176.88/63.13 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 176.88/63.13 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 176.88/63.13 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 176.88/63.13 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 176.88/63.13 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 176.88/63.13 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 176.88/63.13 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 176.88/63.13 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 176.88/63.13 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 176.88/63.13 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 176.88/63.13 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 176.88/63.13 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 176.88/63.13 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 176.88/63.13 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 176.88/63.13 s(mark(X)) -> s(X) 176.88/63.13 s(active(X)) -> s(X) 176.88/63.13 plus(mark(X1), X2) -> plus(X1, X2) 176.88/63.13 plus(X1, mark(X2)) -> plus(X1, X2) 176.88/63.13 plus(active(X1), X2) -> plus(X1, X2) 176.88/63.13 plus(X1, active(X2)) -> plus(X1, X2) 176.88/63.13 176.88/63.13 The set Q consists of the following terms: 176.88/63.13 176.88/63.13 active(U11(tt, x0, x1)) 176.88/63.13 active(U12(tt, x0, x1)) 176.88/63.13 active(U13(tt, x0, x1)) 176.88/63.13 active(U14(tt, x0, x1)) 176.88/63.13 active(U15(tt, x0)) 176.88/63.13 active(U16(tt)) 176.88/63.13 active(U21(tt, x0)) 176.88/63.13 active(U22(tt, x0)) 176.88/63.13 active(U23(tt)) 176.88/63.13 active(U31(tt, x0)) 176.88/63.13 active(U32(tt)) 176.88/63.13 active(U41(tt)) 176.88/63.13 active(U51(tt, x0)) 176.88/63.13 active(U52(tt, x0)) 176.88/63.13 active(U61(tt, x0, x1)) 176.88/63.13 active(U62(tt, x0, x1)) 176.88/63.13 active(U63(tt, x0, x1)) 176.88/63.13 active(U64(tt, x0, x1)) 176.88/63.13 active(isNat(0)) 176.88/63.13 active(isNat(plus(x0, x1))) 176.88/63.13 active(isNat(s(x0))) 176.88/63.13 active(isNatKind(0)) 176.88/63.13 active(isNatKind(plus(x0, x1))) 176.88/63.13 active(isNatKind(s(x0))) 176.88/63.13 active(plus(x0, 0)) 176.88/63.13 active(plus(x0, s(x1))) 176.88/63.13 mark(U11(x0, x1, x2)) 176.88/63.13 mark(tt) 176.88/63.13 mark(U12(x0, x1, x2)) 176.88/63.13 mark(isNatKind(x0)) 176.88/63.13 mark(U13(x0, x1, x2)) 176.88/63.13 mark(U14(x0, x1, x2)) 176.88/63.13 mark(U15(x0, x1)) 176.88/63.13 mark(isNat(x0)) 176.88/63.13 mark(U16(x0)) 176.88/63.13 mark(U21(x0, x1)) 176.88/63.13 mark(U22(x0, x1)) 176.88/63.13 mark(U23(x0)) 176.88/63.13 mark(U31(x0, x1)) 176.88/63.13 mark(U32(x0)) 176.88/63.13 mark(U41(x0)) 176.88/63.13 mark(U51(x0, x1)) 176.88/63.13 mark(U52(x0, x1)) 176.88/63.13 mark(U61(x0, x1, x2)) 176.88/63.13 mark(U62(x0, x1, x2)) 176.88/63.13 mark(U63(x0, x1, x2)) 176.88/63.13 mark(U64(x0, x1, x2)) 176.88/63.13 mark(s(x0)) 176.88/63.13 mark(plus(x0, x1)) 176.88/63.13 mark(0) 176.88/63.13 U11(mark(x0), x1, x2) 176.88/63.13 U11(x0, mark(x1), x2) 176.88/63.13 U11(x0, x1, mark(x2)) 176.88/63.13 U11(active(x0), x1, x2) 176.88/63.13 U11(x0, active(x1), x2) 176.88/63.13 U11(x0, x1, active(x2)) 176.88/63.13 U12(mark(x0), x1, x2) 176.88/63.13 U12(x0, mark(x1), x2) 176.88/63.13 U12(x0, x1, mark(x2)) 176.88/63.13 U12(active(x0), x1, x2) 176.88/63.13 U12(x0, active(x1), x2) 176.88/63.13 U12(x0, x1, active(x2)) 176.88/63.13 isNatKind(mark(x0)) 176.88/63.13 isNatKind(active(x0)) 176.88/63.13 U13(mark(x0), x1, x2) 176.88/63.13 U13(x0, mark(x1), x2) 176.88/63.13 U13(x0, x1, mark(x2)) 176.88/63.13 U13(active(x0), x1, x2) 176.88/63.13 U13(x0, active(x1), x2) 176.88/63.13 U13(x0, x1, active(x2)) 176.88/63.13 U14(mark(x0), x1, x2) 176.88/63.13 U14(x0, mark(x1), x2) 176.88/63.13 U14(x0, x1, mark(x2)) 176.88/63.13 U14(active(x0), x1, x2) 176.88/63.13 U14(x0, active(x1), x2) 176.88/63.13 U14(x0, x1, active(x2)) 176.88/63.13 U15(mark(x0), x1) 176.88/63.13 U15(x0, mark(x1)) 176.88/63.13 U15(active(x0), x1) 176.88/63.13 U15(x0, active(x1)) 176.88/63.13 isNat(mark(x0)) 176.88/63.13 isNat(active(x0)) 176.88/63.13 U16(mark(x0)) 176.88/63.13 U16(active(x0)) 176.88/63.13 U21(mark(x0), x1) 176.88/63.13 U21(x0, mark(x1)) 176.88/63.13 U21(active(x0), x1) 176.88/63.13 U21(x0, active(x1)) 176.88/63.13 U22(mark(x0), x1) 176.88/63.13 U22(x0, mark(x1)) 176.88/63.13 U22(active(x0), x1) 176.88/63.13 U22(x0, active(x1)) 176.88/63.13 U23(mark(x0)) 176.88/63.13 U23(active(x0)) 176.88/63.13 U31(mark(x0), x1) 176.88/63.13 U31(x0, mark(x1)) 176.88/63.13 U31(active(x0), x1) 176.88/63.13 U31(x0, active(x1)) 176.88/63.13 U32(mark(x0)) 176.88/63.13 U32(active(x0)) 176.88/63.13 U41(mark(x0)) 176.88/63.13 U41(active(x0)) 176.88/63.13 U51(mark(x0), x1) 176.88/63.13 U51(x0, mark(x1)) 176.88/63.13 U51(active(x0), x1) 176.88/63.13 U51(x0, active(x1)) 176.88/63.13 U52(mark(x0), x1) 176.88/63.13 U52(x0, mark(x1)) 176.88/63.13 U52(active(x0), x1) 176.88/63.13 U52(x0, active(x1)) 176.88/63.13 U61(mark(x0), x1, x2) 176.88/63.13 U61(x0, mark(x1), x2) 176.88/63.13 U61(x0, x1, mark(x2)) 176.88/63.13 U61(active(x0), x1, x2) 176.88/63.13 U61(x0, active(x1), x2) 176.88/63.13 U61(x0, x1, active(x2)) 176.88/63.13 U62(mark(x0), x1, x2) 176.88/63.13 U62(x0, mark(x1), x2) 176.88/63.13 U62(x0, x1, mark(x2)) 176.88/63.13 U62(active(x0), x1, x2) 176.88/63.13 U62(x0, active(x1), x2) 176.88/63.13 U62(x0, x1, active(x2)) 176.88/63.13 U63(mark(x0), x1, x2) 176.88/63.13 U63(x0, mark(x1), x2) 176.88/63.13 U63(x0, x1, mark(x2)) 176.88/63.13 U63(active(x0), x1, x2) 176.88/63.13 U63(x0, active(x1), x2) 176.88/63.13 U63(x0, x1, active(x2)) 176.88/63.13 U64(mark(x0), x1, x2) 176.88/63.13 U64(x0, mark(x1), x2) 176.88/63.13 U64(x0, x1, mark(x2)) 176.88/63.13 U64(active(x0), x1, x2) 176.88/63.13 U64(x0, active(x1), x2) 176.88/63.13 U64(x0, x1, active(x2)) 176.88/63.13 s(mark(x0)) 176.88/63.13 s(active(x0)) 176.88/63.13 plus(mark(x0), x1) 176.88/63.13 plus(x0, mark(x1)) 176.88/63.13 plus(active(x0), x1) 176.88/63.13 plus(x0, active(x1)) 176.88/63.13 176.88/63.13 We have to consider all minimal (P,Q,R)-chains. 176.88/63.13 ---------------------------------------- 176.88/63.13 176.88/63.13 (13) UsableRulesProof (EQUIVALENT) 176.88/63.13 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. 176.88/63.13 ---------------------------------------- 176.88/63.13 176.88/63.13 (14) 176.88/63.13 Obligation: 176.88/63.13 Q DP problem: 176.88/63.13 The TRS P consists of the following rules: 176.88/63.13 176.88/63.13 S(active(X)) -> S(X) 176.88/63.13 S(mark(X)) -> S(X) 176.88/63.13 176.88/63.13 R is empty. 176.88/63.13 The set Q consists of the following terms: 176.88/63.13 176.88/63.13 active(U11(tt, x0, x1)) 176.88/63.13 active(U12(tt, x0, x1)) 176.88/63.13 active(U13(tt, x0, x1)) 176.88/63.13 active(U14(tt, x0, x1)) 176.88/63.13 active(U15(tt, x0)) 176.88/63.13 active(U16(tt)) 176.88/63.13 active(U21(tt, x0)) 176.88/63.13 active(U22(tt, x0)) 176.88/63.13 active(U23(tt)) 176.88/63.13 active(U31(tt, x0)) 176.88/63.13 active(U32(tt)) 176.88/63.13 active(U41(tt)) 176.88/63.13 active(U51(tt, x0)) 176.88/63.13 active(U52(tt, x0)) 176.88/63.13 active(U61(tt, x0, x1)) 176.88/63.13 active(U62(tt, x0, x1)) 176.88/63.13 active(U63(tt, x0, x1)) 176.88/63.13 active(U64(tt, x0, x1)) 176.88/63.13 active(isNat(0)) 176.88/63.13 active(isNat(plus(x0, x1))) 176.88/63.13 active(isNat(s(x0))) 176.88/63.13 active(isNatKind(0)) 176.88/63.13 active(isNatKind(plus(x0, x1))) 176.88/63.13 active(isNatKind(s(x0))) 176.88/63.13 active(plus(x0, 0)) 176.88/63.13 active(plus(x0, s(x1))) 176.88/63.13 mark(U11(x0, x1, x2)) 176.88/63.13 mark(tt) 176.88/63.13 mark(U12(x0, x1, x2)) 176.88/63.13 mark(isNatKind(x0)) 176.88/63.13 mark(U13(x0, x1, x2)) 176.88/63.13 mark(U14(x0, x1, x2)) 176.88/63.13 mark(U15(x0, x1)) 176.88/63.13 mark(isNat(x0)) 176.88/63.13 mark(U16(x0)) 176.88/63.13 mark(U21(x0, x1)) 176.88/63.13 mark(U22(x0, x1)) 176.88/63.13 mark(U23(x0)) 176.88/63.13 mark(U31(x0, x1)) 176.88/63.13 mark(U32(x0)) 176.88/63.13 mark(U41(x0)) 176.88/63.13 mark(U51(x0, x1)) 176.88/63.13 mark(U52(x0, x1)) 176.88/63.13 mark(U61(x0, x1, x2)) 176.88/63.13 mark(U62(x0, x1, x2)) 176.88/63.13 mark(U63(x0, x1, x2)) 176.88/63.13 mark(U64(x0, x1, x2)) 176.88/63.13 mark(s(x0)) 176.88/63.13 mark(plus(x0, x1)) 176.88/63.13 mark(0) 176.88/63.13 U11(mark(x0), x1, x2) 176.88/63.13 U11(x0, mark(x1), x2) 176.88/63.13 U11(x0, x1, mark(x2)) 176.88/63.13 U11(active(x0), x1, x2) 176.88/63.13 U11(x0, active(x1), x2) 176.88/63.13 U11(x0, x1, active(x2)) 176.88/63.13 U12(mark(x0), x1, x2) 176.88/63.13 U12(x0, mark(x1), x2) 176.88/63.13 U12(x0, x1, mark(x2)) 176.88/63.13 U12(active(x0), x1, x2) 176.88/63.13 U12(x0, active(x1), x2) 176.88/63.13 U12(x0, x1, active(x2)) 176.88/63.13 isNatKind(mark(x0)) 176.88/63.13 isNatKind(active(x0)) 176.88/63.13 U13(mark(x0), x1, x2) 176.88/63.13 U13(x0, mark(x1), x2) 176.88/63.13 U13(x0, x1, mark(x2)) 176.88/63.13 U13(active(x0), x1, x2) 176.88/63.13 U13(x0, active(x1), x2) 176.88/63.13 U13(x0, x1, active(x2)) 176.88/63.13 U14(mark(x0), x1, x2) 176.88/63.13 U14(x0, mark(x1), x2) 176.88/63.13 U14(x0, x1, mark(x2)) 176.88/63.13 U14(active(x0), x1, x2) 176.88/63.13 U14(x0, active(x1), x2) 176.88/63.13 U14(x0, x1, active(x2)) 176.88/63.13 U15(mark(x0), x1) 176.88/63.13 U15(x0, mark(x1)) 176.88/63.13 U15(active(x0), x1) 176.88/63.13 U15(x0, active(x1)) 176.88/63.13 isNat(mark(x0)) 176.88/63.13 isNat(active(x0)) 176.88/63.13 U16(mark(x0)) 176.88/63.13 U16(active(x0)) 176.88/63.13 U21(mark(x0), x1) 176.88/63.13 U21(x0, mark(x1)) 176.88/63.13 U21(active(x0), x1) 176.88/63.13 U21(x0, active(x1)) 176.88/63.13 U22(mark(x0), x1) 176.88/63.13 U22(x0, mark(x1)) 176.88/63.13 U22(active(x0), x1) 176.88/63.13 U22(x0, active(x1)) 176.88/63.13 U23(mark(x0)) 176.88/63.13 U23(active(x0)) 176.88/63.13 U31(mark(x0), x1) 176.88/63.13 U31(x0, mark(x1)) 176.88/63.13 U31(active(x0), x1) 176.88/63.14 U31(x0, active(x1)) 176.88/63.14 U32(mark(x0)) 176.88/63.14 U32(active(x0)) 176.88/63.14 U41(mark(x0)) 176.88/63.14 U41(active(x0)) 176.88/63.14 U51(mark(x0), x1) 176.88/63.14 U51(x0, mark(x1)) 176.88/63.14 U51(active(x0), x1) 176.88/63.14 U51(x0, active(x1)) 176.88/63.14 U52(mark(x0), x1) 176.88/63.14 U52(x0, mark(x1)) 176.88/63.14 U52(active(x0), x1) 176.88/63.14 U52(x0, active(x1)) 176.88/63.14 U61(mark(x0), x1, x2) 176.88/63.14 U61(x0, mark(x1), x2) 176.88/63.14 U61(x0, x1, mark(x2)) 176.88/63.14 U61(active(x0), x1, x2) 176.88/63.14 U61(x0, active(x1), x2) 176.88/63.14 U61(x0, x1, active(x2)) 176.88/63.14 U62(mark(x0), x1, x2) 176.88/63.14 U62(x0, mark(x1), x2) 176.88/63.14 U62(x0, x1, mark(x2)) 176.88/63.14 U62(active(x0), x1, x2) 176.88/63.14 U62(x0, active(x1), x2) 176.88/63.14 U62(x0, x1, active(x2)) 176.88/63.14 U63(mark(x0), x1, x2) 176.88/63.14 U63(x0, mark(x1), x2) 176.88/63.14 U63(x0, x1, mark(x2)) 176.88/63.14 U63(active(x0), x1, x2) 176.88/63.14 U63(x0, active(x1), x2) 176.88/63.14 U63(x0, x1, active(x2)) 176.88/63.14 U64(mark(x0), x1, x2) 176.88/63.14 U64(x0, mark(x1), x2) 176.88/63.14 U64(x0, x1, mark(x2)) 176.88/63.14 U64(active(x0), x1, x2) 176.88/63.14 U64(x0, active(x1), x2) 176.88/63.14 U64(x0, x1, active(x2)) 176.88/63.14 s(mark(x0)) 176.88/63.14 s(active(x0)) 176.88/63.14 plus(mark(x0), x1) 176.88/63.14 plus(x0, mark(x1)) 176.88/63.14 plus(active(x0), x1) 176.88/63.14 plus(x0, active(x1)) 176.88/63.14 176.88/63.14 We have to consider all minimal (P,Q,R)-chains. 176.88/63.14 ---------------------------------------- 176.88/63.14 176.88/63.14 (15) QReductionProof (EQUIVALENT) 176.88/63.14 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 176.88/63.14 176.88/63.14 U11(mark(x0), x1, x2) 176.88/63.14 U11(x0, mark(x1), x2) 176.88/63.14 U11(x0, x1, mark(x2)) 176.88/63.14 U11(active(x0), x1, x2) 176.88/63.14 U11(x0, active(x1), x2) 176.88/63.14 U11(x0, x1, active(x2)) 176.88/63.14 U12(mark(x0), x1, x2) 176.88/63.14 U12(x0, mark(x1), x2) 176.88/63.14 U12(x0, x1, mark(x2)) 176.88/63.14 U12(active(x0), x1, x2) 176.88/63.14 U12(x0, active(x1), x2) 176.88/63.14 U12(x0, x1, active(x2)) 176.88/63.14 isNatKind(mark(x0)) 176.88/63.14 isNatKind(active(x0)) 176.88/63.14 U13(mark(x0), x1, x2) 176.88/63.14 U13(x0, mark(x1), x2) 176.88/63.14 U13(x0, x1, mark(x2)) 176.88/63.14 U13(active(x0), x1, x2) 176.88/63.14 U13(x0, active(x1), x2) 176.88/63.14 U13(x0, x1, active(x2)) 176.88/63.14 U14(mark(x0), x1, x2) 176.88/63.14 U14(x0, mark(x1), x2) 176.88/63.14 U14(x0, x1, mark(x2)) 176.88/63.14 U14(active(x0), x1, x2) 176.88/63.14 U14(x0, active(x1), x2) 176.88/63.14 U14(x0, x1, active(x2)) 176.88/63.14 U15(mark(x0), x1) 176.88/63.14 U15(x0, mark(x1)) 176.88/63.14 U15(active(x0), x1) 176.88/63.14 U15(x0, active(x1)) 176.88/63.14 isNat(mark(x0)) 176.88/63.14 isNat(active(x0)) 176.88/63.14 U16(mark(x0)) 176.88/63.14 U16(active(x0)) 176.88/63.14 U21(mark(x0), x1) 176.88/63.14 U21(x0, mark(x1)) 176.88/63.14 U21(active(x0), x1) 176.88/63.14 U21(x0, active(x1)) 176.88/63.14 U22(mark(x0), x1) 176.88/63.14 U22(x0, mark(x1)) 176.88/63.14 U22(active(x0), x1) 176.88/63.14 U22(x0, active(x1)) 176.88/63.14 U23(mark(x0)) 176.88/63.14 U23(active(x0)) 176.88/63.14 U31(mark(x0), x1) 176.88/63.14 U31(x0, mark(x1)) 176.88/63.14 U31(active(x0), x1) 176.88/63.14 U31(x0, active(x1)) 176.88/63.14 U32(mark(x0)) 176.88/63.14 U32(active(x0)) 176.88/63.14 U41(mark(x0)) 176.88/63.14 U41(active(x0)) 176.88/63.14 U51(mark(x0), x1) 176.88/63.14 U51(x0, mark(x1)) 176.88/63.14 U51(active(x0), x1) 176.88/63.14 U51(x0, active(x1)) 176.88/63.14 U52(mark(x0), x1) 176.88/63.14 U52(x0, mark(x1)) 176.88/63.14 U52(active(x0), x1) 176.88/63.14 U52(x0, active(x1)) 176.88/63.14 U61(mark(x0), x1, x2) 176.88/63.14 U61(x0, mark(x1), x2) 176.88/63.14 U61(x0, x1, mark(x2)) 176.88/63.14 U61(active(x0), x1, x2) 176.88/63.14 U61(x0, active(x1), x2) 176.88/63.14 U61(x0, x1, active(x2)) 176.88/63.14 U62(mark(x0), x1, x2) 176.88/63.14 U62(x0, mark(x1), x2) 176.88/63.14 U62(x0, x1, mark(x2)) 176.88/63.14 U62(active(x0), x1, x2) 176.88/63.14 U62(x0, active(x1), x2) 176.88/63.14 U62(x0, x1, active(x2)) 176.88/63.14 U63(mark(x0), x1, x2) 176.88/63.14 U63(x0, mark(x1), x2) 176.88/63.14 U63(x0, x1, mark(x2)) 176.88/63.14 U63(active(x0), x1, x2) 176.88/63.14 U63(x0, active(x1), x2) 176.88/63.14 U63(x0, x1, active(x2)) 176.88/63.14 U64(mark(x0), x1, x2) 176.88/63.14 U64(x0, mark(x1), x2) 176.88/63.14 U64(x0, x1, mark(x2)) 176.88/63.14 U64(active(x0), x1, x2) 176.88/63.14 U64(x0, active(x1), x2) 176.88/63.14 U64(x0, x1, active(x2)) 176.88/63.14 s(mark(x0)) 176.88/63.14 s(active(x0)) 176.88/63.14 plus(mark(x0), x1) 176.88/63.14 plus(x0, mark(x1)) 176.88/63.14 plus(active(x0), x1) 176.88/63.14 plus(x0, active(x1)) 176.88/63.14 176.88/63.14 176.88/63.14 ---------------------------------------- 176.88/63.14 176.88/63.14 (16) 176.88/63.14 Obligation: 176.88/63.14 Q DP problem: 176.88/63.14 The TRS P consists of the following rules: 176.88/63.14 176.88/63.14 S(active(X)) -> S(X) 176.88/63.14 S(mark(X)) -> S(X) 176.88/63.14 176.88/63.14 R is empty. 176.88/63.14 The set Q consists of the following terms: 176.88/63.14 176.88/63.14 active(U11(tt, x0, x1)) 176.88/63.14 active(U12(tt, x0, x1)) 176.88/63.14 active(U13(tt, x0, x1)) 176.88/63.14 active(U14(tt, x0, x1)) 176.88/63.14 active(U15(tt, x0)) 176.88/63.14 active(U16(tt)) 176.88/63.14 active(U21(tt, x0)) 176.88/63.14 active(U22(tt, x0)) 176.88/63.14 active(U23(tt)) 176.88/63.14 active(U31(tt, x0)) 176.88/63.14 active(U32(tt)) 176.88/63.14 active(U41(tt)) 176.88/63.14 active(U51(tt, x0)) 176.88/63.14 active(U52(tt, x0)) 176.88/63.14 active(U61(tt, x0, x1)) 176.88/63.14 active(U62(tt, x0, x1)) 176.88/63.14 active(U63(tt, x0, x1)) 176.88/63.14 active(U64(tt, x0, x1)) 176.88/63.14 active(isNat(0)) 176.88/63.14 active(isNat(plus(x0, x1))) 176.88/63.14 active(isNat(s(x0))) 176.88/63.14 active(isNatKind(0)) 176.88/63.14 active(isNatKind(plus(x0, x1))) 176.88/63.14 active(isNatKind(s(x0))) 176.88/63.14 active(plus(x0, 0)) 176.88/63.14 active(plus(x0, s(x1))) 176.88/63.14 mark(U11(x0, x1, x2)) 176.88/63.14 mark(tt) 176.88/63.14 mark(U12(x0, x1, x2)) 176.88/63.14 mark(isNatKind(x0)) 176.88/63.14 mark(U13(x0, x1, x2)) 176.88/63.14 mark(U14(x0, x1, x2)) 176.88/63.14 mark(U15(x0, x1)) 176.88/63.14 mark(isNat(x0)) 176.88/63.14 mark(U16(x0)) 176.88/63.14 mark(U21(x0, x1)) 176.88/63.14 mark(U22(x0, x1)) 176.88/63.14 mark(U23(x0)) 176.88/63.14 mark(U31(x0, x1)) 176.88/63.14 mark(U32(x0)) 176.88/63.14 mark(U41(x0)) 176.88/63.14 mark(U51(x0, x1)) 176.88/63.14 mark(U52(x0, x1)) 176.88/63.14 mark(U61(x0, x1, x2)) 176.88/63.14 mark(U62(x0, x1, x2)) 176.88/63.14 mark(U63(x0, x1, x2)) 176.88/63.14 mark(U64(x0, x1, x2)) 176.88/63.14 mark(s(x0)) 176.88/63.14 mark(plus(x0, x1)) 176.88/63.14 mark(0) 176.88/63.14 176.88/63.14 We have to consider all minimal (P,Q,R)-chains. 176.88/63.14 ---------------------------------------- 176.88/63.14 176.88/63.14 (17) QDPSizeChangeProof (EQUIVALENT) 176.88/63.14 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. 176.88/63.14 176.88/63.14 From the DPs we obtained the following set of size-change graphs: 176.88/63.14 *S(active(X)) -> S(X) 176.88/63.14 The graph contains the following edges 1 > 1 176.88/63.14 176.88/63.14 176.88/63.14 *S(mark(X)) -> S(X) 176.88/63.14 The graph contains the following edges 1 > 1 176.88/63.14 176.88/63.14 176.88/63.14 ---------------------------------------- 176.88/63.14 176.88/63.14 (18) 176.88/63.14 YES 176.88/63.14 176.88/63.14 ---------------------------------------- 176.88/63.14 176.88/63.14 (19) 176.88/63.14 Obligation: 176.88/63.14 Q DP problem: 176.88/63.14 The TRS P consists of the following rules: 176.88/63.14 176.88/63.14 U64^1(X1, mark(X2), X3) -> U64^1(X1, X2, X3) 176.88/63.14 U64^1(mark(X1), X2, X3) -> U64^1(X1, X2, X3) 176.88/63.14 U64^1(X1, X2, mark(X3)) -> U64^1(X1, X2, X3) 176.88/63.14 U64^1(active(X1), X2, X3) -> U64^1(X1, X2, X3) 176.88/63.14 U64^1(X1, active(X2), X3) -> U64^1(X1, X2, X3) 176.88/63.14 U64^1(X1, X2, active(X3)) -> U64^1(X1, X2, X3) 176.88/63.14 176.88/63.14 The TRS R consists of the following rules: 176.88/63.14 176.88/63.14 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 176.88/63.14 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 176.88/63.14 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 176.88/63.14 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 176.88/63.14 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 176.88/63.14 active(U16(tt)) -> mark(tt) 176.88/63.14 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 176.88/63.14 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 176.88/63.14 active(U23(tt)) -> mark(tt) 176.88/63.14 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 176.88/63.14 active(U32(tt)) -> mark(tt) 176.88/63.14 active(U41(tt)) -> mark(tt) 176.88/63.14 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 176.88/63.14 active(U52(tt, N)) -> mark(N) 176.88/63.14 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 176.88/63.14 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 176.88/63.14 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 176.88/63.14 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 176.88/63.14 active(isNat(0)) -> mark(tt) 176.88/63.14 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 176.88/63.14 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 176.88/63.14 active(isNatKind(0)) -> mark(tt) 176.88/63.14 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 176.88/63.14 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 176.88/63.14 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 176.88/63.14 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 176.88/63.14 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 176.88/63.14 mark(tt) -> active(tt) 176.88/63.14 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 176.88/63.14 mark(isNatKind(X)) -> active(isNatKind(X)) 176.88/63.14 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 176.88/63.14 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 176.88/63.14 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 176.88/63.14 mark(isNat(X)) -> active(isNat(X)) 176.88/63.14 mark(U16(X)) -> active(U16(mark(X))) 176.88/63.14 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 176.88/63.14 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 176.88/63.14 mark(U23(X)) -> active(U23(mark(X))) 176.88/63.14 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 176.88/63.14 mark(U32(X)) -> active(U32(mark(X))) 176.88/63.14 mark(U41(X)) -> active(U41(mark(X))) 176.88/63.14 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 176.88/63.14 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 176.88/63.14 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 176.88/63.14 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 176.88/63.14 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 176.88/63.14 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 176.88/63.14 mark(s(X)) -> active(s(mark(X))) 176.88/63.14 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 176.88/63.14 mark(0) -> active(0) 176.88/63.14 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 176.88/63.14 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 176.88/63.14 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 176.88/63.14 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 176.88/63.14 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 176.88/63.14 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 176.88/63.14 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 176.88/63.14 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 176.88/63.14 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 176.88/63.14 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 176.88/63.14 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 176.88/63.14 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 176.88/63.14 isNatKind(mark(X)) -> isNatKind(X) 176.88/63.14 isNatKind(active(X)) -> isNatKind(X) 176.88/63.14 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 176.88/63.14 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 176.88/63.14 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 176.88/63.14 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 176.88/63.14 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 176.88/63.14 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 176.88/63.14 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 176.88/63.14 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 176.88/63.14 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 176.88/63.14 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 176.88/63.14 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 176.88/63.14 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 176.88/63.14 U15(mark(X1), X2) -> U15(X1, X2) 176.88/63.14 U15(X1, mark(X2)) -> U15(X1, X2) 176.88/63.14 U15(active(X1), X2) -> U15(X1, X2) 176.88/63.14 U15(X1, active(X2)) -> U15(X1, X2) 176.88/63.14 isNat(mark(X)) -> isNat(X) 176.88/63.14 isNat(active(X)) -> isNat(X) 176.88/63.14 U16(mark(X)) -> U16(X) 176.88/63.14 U16(active(X)) -> U16(X) 176.88/63.14 U21(mark(X1), X2) -> U21(X1, X2) 176.88/63.14 U21(X1, mark(X2)) -> U21(X1, X2) 176.88/63.14 U21(active(X1), X2) -> U21(X1, X2) 176.88/63.14 U21(X1, active(X2)) -> U21(X1, X2) 176.88/63.14 U22(mark(X1), X2) -> U22(X1, X2) 176.88/63.14 U22(X1, mark(X2)) -> U22(X1, X2) 176.88/63.14 U22(active(X1), X2) -> U22(X1, X2) 176.88/63.14 U22(X1, active(X2)) -> U22(X1, X2) 176.88/63.14 U23(mark(X)) -> U23(X) 176.88/63.14 U23(active(X)) -> U23(X) 176.88/63.14 U31(mark(X1), X2) -> U31(X1, X2) 176.88/63.14 U31(X1, mark(X2)) -> U31(X1, X2) 176.88/63.14 U31(active(X1), X2) -> U31(X1, X2) 176.88/63.14 U31(X1, active(X2)) -> U31(X1, X2) 176.88/63.14 U32(mark(X)) -> U32(X) 176.88/63.14 U32(active(X)) -> U32(X) 176.88/63.14 U41(mark(X)) -> U41(X) 176.88/63.14 U41(active(X)) -> U41(X) 176.88/63.14 U51(mark(X1), X2) -> U51(X1, X2) 176.88/63.14 U51(X1, mark(X2)) -> U51(X1, X2) 176.88/63.14 U51(active(X1), X2) -> U51(X1, X2) 176.88/63.14 U51(X1, active(X2)) -> U51(X1, X2) 176.88/63.14 U52(mark(X1), X2) -> U52(X1, X2) 176.88/63.14 U52(X1, mark(X2)) -> U52(X1, X2) 176.88/63.14 U52(active(X1), X2) -> U52(X1, X2) 176.88/63.14 U52(X1, active(X2)) -> U52(X1, X2) 176.88/63.14 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 176.88/63.14 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 176.88/63.14 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 176.88/63.14 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 176.88/63.14 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 176.88/63.14 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 176.88/63.14 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 176.88/63.14 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 176.88/63.14 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 176.88/63.14 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 176.88/63.14 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 176.88/63.14 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 176.88/63.14 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 176.88/63.14 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 176.88/63.14 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 176.88/63.14 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 176.88/63.14 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 176.88/63.14 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 176.88/63.14 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 176.88/63.14 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 176.88/63.14 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 176.88/63.14 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 176.88/63.14 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 176.88/63.14 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 176.88/63.14 s(mark(X)) -> s(X) 176.88/63.14 s(active(X)) -> s(X) 176.88/63.14 plus(mark(X1), X2) -> plus(X1, X2) 176.88/63.14 plus(X1, mark(X2)) -> plus(X1, X2) 176.88/63.14 plus(active(X1), X2) -> plus(X1, X2) 176.88/63.14 plus(X1, active(X2)) -> plus(X1, X2) 176.88/63.14 176.88/63.14 The set Q consists of the following terms: 176.88/63.14 176.88/63.14 active(U11(tt, x0, x1)) 176.88/63.14 active(U12(tt, x0, x1)) 176.88/63.14 active(U13(tt, x0, x1)) 176.88/63.14 active(U14(tt, x0, x1)) 176.88/63.14 active(U15(tt, x0)) 176.88/63.14 active(U16(tt)) 176.88/63.14 active(U21(tt, x0)) 176.88/63.14 active(U22(tt, x0)) 176.88/63.14 active(U23(tt)) 176.88/63.14 active(U31(tt, x0)) 176.88/63.14 active(U32(tt)) 176.88/63.14 active(U41(tt)) 176.88/63.14 active(U51(tt, x0)) 176.88/63.14 active(U52(tt, x0)) 176.88/63.14 active(U61(tt, x0, x1)) 176.88/63.14 active(U62(tt, x0, x1)) 176.88/63.14 active(U63(tt, x0, x1)) 176.88/63.14 active(U64(tt, x0, x1)) 176.88/63.14 active(isNat(0)) 176.88/63.14 active(isNat(plus(x0, x1))) 176.88/63.14 active(isNat(s(x0))) 176.88/63.14 active(isNatKind(0)) 176.88/63.14 active(isNatKind(plus(x0, x1))) 176.88/63.14 active(isNatKind(s(x0))) 176.88/63.14 active(plus(x0, 0)) 176.88/63.14 active(plus(x0, s(x1))) 176.88/63.14 mark(U11(x0, x1, x2)) 176.88/63.14 mark(tt) 176.88/63.14 mark(U12(x0, x1, x2)) 176.88/63.14 mark(isNatKind(x0)) 176.88/63.14 mark(U13(x0, x1, x2)) 176.88/63.14 mark(U14(x0, x1, x2)) 176.88/63.14 mark(U15(x0, x1)) 176.88/63.14 mark(isNat(x0)) 176.88/63.14 mark(U16(x0)) 176.88/63.14 mark(U21(x0, x1)) 176.88/63.14 mark(U22(x0, x1)) 176.88/63.14 mark(U23(x0)) 176.88/63.14 mark(U31(x0, x1)) 176.88/63.14 mark(U32(x0)) 176.88/63.14 mark(U41(x0)) 176.88/63.14 mark(U51(x0, x1)) 176.88/63.14 mark(U52(x0, x1)) 176.88/63.14 mark(U61(x0, x1, x2)) 176.88/63.14 mark(U62(x0, x1, x2)) 176.88/63.14 mark(U63(x0, x1, x2)) 176.88/63.14 mark(U64(x0, x1, x2)) 176.88/63.14 mark(s(x0)) 176.88/63.14 mark(plus(x0, x1)) 176.88/63.14 mark(0) 176.88/63.14 U11(mark(x0), x1, x2) 176.88/63.14 U11(x0, mark(x1), x2) 176.88/63.14 U11(x0, x1, mark(x2)) 176.88/63.14 U11(active(x0), x1, x2) 176.88/63.14 U11(x0, active(x1), x2) 176.88/63.14 U11(x0, x1, active(x2)) 176.88/63.14 U12(mark(x0), x1, x2) 176.88/63.14 U12(x0, mark(x1), x2) 176.88/63.14 U12(x0, x1, mark(x2)) 176.88/63.14 U12(active(x0), x1, x2) 176.88/63.14 U12(x0, active(x1), x2) 176.88/63.14 U12(x0, x1, active(x2)) 176.88/63.14 isNatKind(mark(x0)) 176.88/63.14 isNatKind(active(x0)) 176.88/63.14 U13(mark(x0), x1, x2) 176.88/63.14 U13(x0, mark(x1), x2) 176.88/63.14 U13(x0, x1, mark(x2)) 176.88/63.14 U13(active(x0), x1, x2) 176.88/63.14 U13(x0, active(x1), x2) 176.88/63.14 U13(x0, x1, active(x2)) 176.88/63.14 U14(mark(x0), x1, x2) 176.88/63.14 U14(x0, mark(x1), x2) 176.88/63.14 U14(x0, x1, mark(x2)) 176.88/63.14 U14(active(x0), x1, x2) 176.88/63.14 U14(x0, active(x1), x2) 176.88/63.14 U14(x0, x1, active(x2)) 176.88/63.14 U15(mark(x0), x1) 176.88/63.14 U15(x0, mark(x1)) 176.88/63.14 U15(active(x0), x1) 176.88/63.14 U15(x0, active(x1)) 176.88/63.14 isNat(mark(x0)) 176.88/63.14 isNat(active(x0)) 176.88/63.14 U16(mark(x0)) 176.88/63.14 U16(active(x0)) 176.88/63.14 U21(mark(x0), x1) 176.88/63.14 U21(x0, mark(x1)) 176.88/63.14 U21(active(x0), x1) 176.88/63.14 U21(x0, active(x1)) 176.88/63.14 U22(mark(x0), x1) 176.88/63.14 U22(x0, mark(x1)) 176.88/63.14 U22(active(x0), x1) 176.88/63.14 U22(x0, active(x1)) 176.88/63.14 U23(mark(x0)) 176.88/63.14 U23(active(x0)) 176.88/63.14 U31(mark(x0), x1) 176.88/63.14 U31(x0, mark(x1)) 176.88/63.14 U31(active(x0), x1) 176.88/63.14 U31(x0, active(x1)) 176.88/63.14 U32(mark(x0)) 176.88/63.14 U32(active(x0)) 176.88/63.14 U41(mark(x0)) 176.88/63.14 U41(active(x0)) 176.88/63.14 U51(mark(x0), x1) 176.88/63.14 U51(x0, mark(x1)) 176.88/63.14 U51(active(x0), x1) 176.88/63.14 U51(x0, active(x1)) 176.88/63.14 U52(mark(x0), x1) 176.88/63.14 U52(x0, mark(x1)) 176.88/63.14 U52(active(x0), x1) 176.88/63.14 U52(x0, active(x1)) 176.88/63.14 U61(mark(x0), x1, x2) 176.88/63.14 U61(x0, mark(x1), x2) 176.88/63.14 U61(x0, x1, mark(x2)) 176.88/63.14 U61(active(x0), x1, x2) 176.88/63.14 U61(x0, active(x1), x2) 176.88/63.14 U61(x0, x1, active(x2)) 176.88/63.14 U62(mark(x0), x1, x2) 176.88/63.14 U62(x0, mark(x1), x2) 176.88/63.14 U62(x0, x1, mark(x2)) 176.88/63.14 U62(active(x0), x1, x2) 176.88/63.14 U62(x0, active(x1), x2) 176.88/63.14 U62(x0, x1, active(x2)) 176.88/63.14 U63(mark(x0), x1, x2) 176.88/63.14 U63(x0, mark(x1), x2) 176.88/63.14 U63(x0, x1, mark(x2)) 176.88/63.14 U63(active(x0), x1, x2) 176.88/63.14 U63(x0, active(x1), x2) 176.88/63.14 U63(x0, x1, active(x2)) 176.88/63.14 U64(mark(x0), x1, x2) 176.88/63.14 U64(x0, mark(x1), x2) 176.88/63.14 U64(x0, x1, mark(x2)) 176.88/63.14 U64(active(x0), x1, x2) 176.88/63.14 U64(x0, active(x1), x2) 176.88/63.14 U64(x0, x1, active(x2)) 176.88/63.14 s(mark(x0)) 176.88/63.14 s(active(x0)) 176.88/63.14 plus(mark(x0), x1) 176.88/63.14 plus(x0, mark(x1)) 176.88/63.14 plus(active(x0), x1) 176.88/63.14 plus(x0, active(x1)) 176.88/63.14 176.88/63.14 We have to consider all minimal (P,Q,R)-chains. 176.88/63.14 ---------------------------------------- 176.88/63.14 176.88/63.14 (20) UsableRulesProof (EQUIVALENT) 176.88/63.14 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. 176.88/63.14 ---------------------------------------- 176.88/63.14 176.88/63.14 (21) 176.88/63.14 Obligation: 176.88/63.14 Q DP problem: 176.88/63.14 The TRS P consists of the following rules: 176.88/63.14 176.88/63.14 U64^1(X1, mark(X2), X3) -> U64^1(X1, X2, X3) 176.88/63.14 U64^1(mark(X1), X2, X3) -> U64^1(X1, X2, X3) 176.88/63.14 U64^1(X1, X2, mark(X3)) -> U64^1(X1, X2, X3) 176.88/63.14 U64^1(active(X1), X2, X3) -> U64^1(X1, X2, X3) 176.88/63.14 U64^1(X1, active(X2), X3) -> U64^1(X1, X2, X3) 176.88/63.14 U64^1(X1, X2, active(X3)) -> U64^1(X1, X2, X3) 176.88/63.14 176.88/63.14 R is empty. 176.88/63.14 The set Q consists of the following terms: 176.88/63.14 176.88/63.14 active(U11(tt, x0, x1)) 176.88/63.14 active(U12(tt, x0, x1)) 176.88/63.14 active(U13(tt, x0, x1)) 176.88/63.14 active(U14(tt, x0, x1)) 176.88/63.14 active(U15(tt, x0)) 176.88/63.14 active(U16(tt)) 176.88/63.14 active(U21(tt, x0)) 176.88/63.14 active(U22(tt, x0)) 176.88/63.14 active(U23(tt)) 176.88/63.14 active(U31(tt, x0)) 176.88/63.14 active(U32(tt)) 176.88/63.14 active(U41(tt)) 176.88/63.14 active(U51(tt, x0)) 176.88/63.14 active(U52(tt, x0)) 176.88/63.14 active(U61(tt, x0, x1)) 176.88/63.14 active(U62(tt, x0, x1)) 176.88/63.14 active(U63(tt, x0, x1)) 176.88/63.14 active(U64(tt, x0, x1)) 176.88/63.14 active(isNat(0)) 176.88/63.14 active(isNat(plus(x0, x1))) 176.88/63.14 active(isNat(s(x0))) 176.88/63.14 active(isNatKind(0)) 176.88/63.14 active(isNatKind(plus(x0, x1))) 176.88/63.14 active(isNatKind(s(x0))) 176.88/63.14 active(plus(x0, 0)) 176.88/63.14 active(plus(x0, s(x1))) 176.88/63.14 mark(U11(x0, x1, x2)) 176.88/63.14 mark(tt) 176.88/63.14 mark(U12(x0, x1, x2)) 176.88/63.14 mark(isNatKind(x0)) 176.88/63.14 mark(U13(x0, x1, x2)) 176.88/63.14 mark(U14(x0, x1, x2)) 176.88/63.14 mark(U15(x0, x1)) 176.88/63.14 mark(isNat(x0)) 176.88/63.14 mark(U16(x0)) 176.88/63.14 mark(U21(x0, x1)) 176.88/63.14 mark(U22(x0, x1)) 176.88/63.14 mark(U23(x0)) 176.88/63.14 mark(U31(x0, x1)) 176.88/63.14 mark(U32(x0)) 176.88/63.14 mark(U41(x0)) 176.88/63.14 mark(U51(x0, x1)) 176.88/63.14 mark(U52(x0, x1)) 176.88/63.14 mark(U61(x0, x1, x2)) 176.88/63.14 mark(U62(x0, x1, x2)) 176.88/63.14 mark(U63(x0, x1, x2)) 176.88/63.14 mark(U64(x0, x1, x2)) 176.88/63.14 mark(s(x0)) 176.88/63.14 mark(plus(x0, x1)) 176.88/63.14 mark(0) 176.88/63.14 U11(mark(x0), x1, x2) 176.88/63.14 U11(x0, mark(x1), x2) 176.88/63.14 U11(x0, x1, mark(x2)) 176.88/63.14 U11(active(x0), x1, x2) 176.88/63.14 U11(x0, active(x1), x2) 176.88/63.14 U11(x0, x1, active(x2)) 176.88/63.14 U12(mark(x0), x1, x2) 176.88/63.14 U12(x0, mark(x1), x2) 176.88/63.14 U12(x0, x1, mark(x2)) 176.88/63.14 U12(active(x0), x1, x2) 176.88/63.14 U12(x0, active(x1), x2) 176.88/63.14 U12(x0, x1, active(x2)) 176.88/63.14 isNatKind(mark(x0)) 176.88/63.14 isNatKind(active(x0)) 176.88/63.14 U13(mark(x0), x1, x2) 176.88/63.14 U13(x0, mark(x1), x2) 176.88/63.14 U13(x0, x1, mark(x2)) 176.88/63.14 U13(active(x0), x1, x2) 176.88/63.14 U13(x0, active(x1), x2) 176.88/63.14 U13(x0, x1, active(x2)) 176.88/63.14 U14(mark(x0), x1, x2) 176.88/63.14 U14(x0, mark(x1), x2) 176.88/63.14 U14(x0, x1, mark(x2)) 176.88/63.14 U14(active(x0), x1, x2) 176.88/63.14 U14(x0, active(x1), x2) 176.88/63.14 U14(x0, x1, active(x2)) 176.88/63.14 U15(mark(x0), x1) 176.88/63.14 U15(x0, mark(x1)) 176.88/63.14 U15(active(x0), x1) 176.88/63.14 U15(x0, active(x1)) 176.88/63.14 isNat(mark(x0)) 176.88/63.14 isNat(active(x0)) 176.88/63.14 U16(mark(x0)) 176.88/63.14 U16(active(x0)) 176.88/63.14 U21(mark(x0), x1) 176.88/63.14 U21(x0, mark(x1)) 176.88/63.14 U21(active(x0), x1) 176.88/63.14 U21(x0, active(x1)) 176.88/63.14 U22(mark(x0), x1) 176.88/63.14 U22(x0, mark(x1)) 176.88/63.14 U22(active(x0), x1) 176.88/63.14 U22(x0, active(x1)) 176.88/63.14 U23(mark(x0)) 176.88/63.14 U23(active(x0)) 176.88/63.14 U31(mark(x0), x1) 176.88/63.14 U31(x0, mark(x1)) 176.88/63.14 U31(active(x0), x1) 176.88/63.14 U31(x0, active(x1)) 176.88/63.14 U32(mark(x0)) 176.88/63.14 U32(active(x0)) 176.88/63.14 U41(mark(x0)) 176.88/63.14 U41(active(x0)) 176.88/63.14 U51(mark(x0), x1) 176.88/63.14 U51(x0, mark(x1)) 176.88/63.14 U51(active(x0), x1) 176.88/63.14 U51(x0, active(x1)) 176.88/63.14 U52(mark(x0), x1) 176.88/63.14 U52(x0, mark(x1)) 176.88/63.14 U52(active(x0), x1) 176.88/63.14 U52(x0, active(x1)) 176.88/63.14 U61(mark(x0), x1, x2) 176.88/63.14 U61(x0, mark(x1), x2) 176.88/63.14 U61(x0, x1, mark(x2)) 176.88/63.14 U61(active(x0), x1, x2) 176.88/63.14 U61(x0, active(x1), x2) 176.88/63.14 U61(x0, x1, active(x2)) 176.88/63.14 U62(mark(x0), x1, x2) 176.88/63.14 U62(x0, mark(x1), x2) 176.88/63.14 U62(x0, x1, mark(x2)) 176.88/63.14 U62(active(x0), x1, x2) 176.88/63.14 U62(x0, active(x1), x2) 176.88/63.14 U62(x0, x1, active(x2)) 176.88/63.14 U63(mark(x0), x1, x2) 176.88/63.14 U63(x0, mark(x1), x2) 176.88/63.14 U63(x0, x1, mark(x2)) 176.88/63.14 U63(active(x0), x1, x2) 176.88/63.14 U63(x0, active(x1), x2) 176.88/63.14 U63(x0, x1, active(x2)) 176.88/63.14 U64(mark(x0), x1, x2) 176.88/63.14 U64(x0, mark(x1), x2) 176.88/63.14 U64(x0, x1, mark(x2)) 176.88/63.14 U64(active(x0), x1, x2) 176.88/63.14 U64(x0, active(x1), x2) 176.88/63.14 U64(x0, x1, active(x2)) 176.88/63.14 s(mark(x0)) 176.88/63.14 s(active(x0)) 176.88/63.14 plus(mark(x0), x1) 176.88/63.14 plus(x0, mark(x1)) 176.88/63.14 plus(active(x0), x1) 176.88/63.14 plus(x0, active(x1)) 176.88/63.14 176.88/63.14 We have to consider all minimal (P,Q,R)-chains. 176.88/63.14 ---------------------------------------- 176.88/63.14 176.88/63.14 (22) QReductionProof (EQUIVALENT) 176.88/63.14 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 176.88/63.14 176.88/63.14 U11(mark(x0), x1, x2) 176.88/63.14 U11(x0, mark(x1), x2) 176.88/63.14 U11(x0, x1, mark(x2)) 176.88/63.14 U11(active(x0), x1, x2) 176.88/63.14 U11(x0, active(x1), x2) 176.88/63.14 U11(x0, x1, active(x2)) 176.88/63.14 U12(mark(x0), x1, x2) 176.88/63.14 U12(x0, mark(x1), x2) 176.88/63.14 U12(x0, x1, mark(x2)) 176.88/63.14 U12(active(x0), x1, x2) 176.88/63.14 U12(x0, active(x1), x2) 176.88/63.14 U12(x0, x1, active(x2)) 176.88/63.14 isNatKind(mark(x0)) 176.88/63.14 isNatKind(active(x0)) 176.88/63.14 U13(mark(x0), x1, x2) 176.88/63.14 U13(x0, mark(x1), x2) 176.88/63.14 U13(x0, x1, mark(x2)) 176.88/63.14 U13(active(x0), x1, x2) 176.88/63.14 U13(x0, active(x1), x2) 176.88/63.14 U13(x0, x1, active(x2)) 176.88/63.14 U14(mark(x0), x1, x2) 176.88/63.14 U14(x0, mark(x1), x2) 176.88/63.14 U14(x0, x1, mark(x2)) 176.88/63.14 U14(active(x0), x1, x2) 176.88/63.14 U14(x0, active(x1), x2) 176.88/63.14 U14(x0, x1, active(x2)) 176.88/63.14 U15(mark(x0), x1) 176.88/63.14 U15(x0, mark(x1)) 176.88/63.14 U15(active(x0), x1) 176.88/63.14 U15(x0, active(x1)) 176.88/63.14 isNat(mark(x0)) 176.88/63.14 isNat(active(x0)) 176.88/63.14 U16(mark(x0)) 176.88/63.14 U16(active(x0)) 176.88/63.14 U21(mark(x0), x1) 176.88/63.14 U21(x0, mark(x1)) 176.88/63.14 U21(active(x0), x1) 176.88/63.14 U21(x0, active(x1)) 176.88/63.14 U22(mark(x0), x1) 176.88/63.14 U22(x0, mark(x1)) 176.88/63.14 U22(active(x0), x1) 176.88/63.14 U22(x0, active(x1)) 176.88/63.14 U23(mark(x0)) 176.88/63.14 U23(active(x0)) 176.88/63.14 U31(mark(x0), x1) 176.88/63.14 U31(x0, mark(x1)) 176.88/63.14 U31(active(x0), x1) 176.88/63.14 U31(x0, active(x1)) 176.88/63.14 U32(mark(x0)) 176.88/63.14 U32(active(x0)) 176.88/63.14 U41(mark(x0)) 176.88/63.14 U41(active(x0)) 176.88/63.14 U51(mark(x0), x1) 176.88/63.14 U51(x0, mark(x1)) 176.88/63.14 U51(active(x0), x1) 176.88/63.14 U51(x0, active(x1)) 176.88/63.14 U52(mark(x0), x1) 176.88/63.14 U52(x0, mark(x1)) 176.88/63.14 U52(active(x0), x1) 176.88/63.14 U52(x0, active(x1)) 176.88/63.14 U61(mark(x0), x1, x2) 176.88/63.14 U61(x0, mark(x1), x2) 176.88/63.14 U61(x0, x1, mark(x2)) 176.88/63.14 U61(active(x0), x1, x2) 176.88/63.14 U61(x0, active(x1), x2) 176.88/63.14 U61(x0, x1, active(x2)) 176.88/63.14 U62(mark(x0), x1, x2) 176.88/63.14 U62(x0, mark(x1), x2) 176.88/63.14 U62(x0, x1, mark(x2)) 176.88/63.14 U62(active(x0), x1, x2) 176.88/63.14 U62(x0, active(x1), x2) 176.88/63.14 U62(x0, x1, active(x2)) 176.88/63.14 U63(mark(x0), x1, x2) 176.88/63.14 U63(x0, mark(x1), x2) 176.88/63.14 U63(x0, x1, mark(x2)) 176.88/63.14 U63(active(x0), x1, x2) 176.88/63.14 U63(x0, active(x1), x2) 176.88/63.14 U63(x0, x1, active(x2)) 176.88/63.14 U64(mark(x0), x1, x2) 176.88/63.14 U64(x0, mark(x1), x2) 176.88/63.14 U64(x0, x1, mark(x2)) 176.88/63.14 U64(active(x0), x1, x2) 176.88/63.14 U64(x0, active(x1), x2) 176.88/63.14 U64(x0, x1, active(x2)) 176.88/63.14 s(mark(x0)) 176.88/63.14 s(active(x0)) 176.88/63.14 plus(mark(x0), x1) 176.88/63.14 plus(x0, mark(x1)) 176.88/63.14 plus(active(x0), x1) 176.88/63.14 plus(x0, active(x1)) 176.88/63.14 176.88/63.14 176.88/63.14 ---------------------------------------- 176.88/63.14 176.88/63.14 (23) 176.88/63.14 Obligation: 176.88/63.14 Q DP problem: 176.88/63.14 The TRS P consists of the following rules: 176.88/63.14 176.88/63.14 U64^1(X1, mark(X2), X3) -> U64^1(X1, X2, X3) 176.88/63.14 U64^1(mark(X1), X2, X3) -> U64^1(X1, X2, X3) 176.88/63.14 U64^1(X1, X2, mark(X3)) -> U64^1(X1, X2, X3) 176.88/63.14 U64^1(active(X1), X2, X3) -> U64^1(X1, X2, X3) 176.88/63.14 U64^1(X1, active(X2), X3) -> U64^1(X1, X2, X3) 176.88/63.14 U64^1(X1, X2, active(X3)) -> U64^1(X1, X2, X3) 176.88/63.14 176.88/63.14 R is empty. 176.88/63.14 The set Q consists of the following terms: 176.88/63.14 176.88/63.14 active(U11(tt, x0, x1)) 176.88/63.14 active(U12(tt, x0, x1)) 176.88/63.14 active(U13(tt, x0, x1)) 176.88/63.14 active(U14(tt, x0, x1)) 176.88/63.14 active(U15(tt, x0)) 176.88/63.14 active(U16(tt)) 176.88/63.14 active(U21(tt, x0)) 176.88/63.14 active(U22(tt, x0)) 176.88/63.14 active(U23(tt)) 176.88/63.14 active(U31(tt, x0)) 176.88/63.14 active(U32(tt)) 176.88/63.14 active(U41(tt)) 176.88/63.14 active(U51(tt, x0)) 176.88/63.14 active(U52(tt, x0)) 176.88/63.14 active(U61(tt, x0, x1)) 176.88/63.14 active(U62(tt, x0, x1)) 176.88/63.14 active(U63(tt, x0, x1)) 176.88/63.14 active(U64(tt, x0, x1)) 176.88/63.14 active(isNat(0)) 176.88/63.14 active(isNat(plus(x0, x1))) 176.88/63.14 active(isNat(s(x0))) 176.88/63.14 active(isNatKind(0)) 176.88/63.14 active(isNatKind(plus(x0, x1))) 176.88/63.14 active(isNatKind(s(x0))) 176.88/63.14 active(plus(x0, 0)) 176.88/63.14 active(plus(x0, s(x1))) 176.88/63.14 mark(U11(x0, x1, x2)) 176.88/63.14 mark(tt) 176.88/63.14 mark(U12(x0, x1, x2)) 176.88/63.14 mark(isNatKind(x0)) 176.88/63.14 mark(U13(x0, x1, x2)) 176.88/63.14 mark(U14(x0, x1, x2)) 176.88/63.14 mark(U15(x0, x1)) 176.88/63.14 mark(isNat(x0)) 176.88/63.14 mark(U16(x0)) 176.88/63.14 mark(U21(x0, x1)) 176.88/63.14 mark(U22(x0, x1)) 176.88/63.14 mark(U23(x0)) 176.88/63.14 mark(U31(x0, x1)) 176.88/63.14 mark(U32(x0)) 176.88/63.14 mark(U41(x0)) 176.88/63.14 mark(U51(x0, x1)) 176.88/63.14 mark(U52(x0, x1)) 176.88/63.14 mark(U61(x0, x1, x2)) 176.88/63.14 mark(U62(x0, x1, x2)) 176.88/63.14 mark(U63(x0, x1, x2)) 176.88/63.14 mark(U64(x0, x1, x2)) 176.88/63.14 mark(s(x0)) 176.88/63.14 mark(plus(x0, x1)) 176.88/63.14 mark(0) 176.88/63.14 176.88/63.14 We have to consider all minimal (P,Q,R)-chains. 176.88/63.14 ---------------------------------------- 176.88/63.14 176.88/63.14 (24) QDPSizeChangeProof (EQUIVALENT) 176.88/63.14 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. 176.88/63.14 176.88/63.14 From the DPs we obtained the following set of size-change graphs: 176.88/63.14 *U64^1(X1, mark(X2), X3) -> U64^1(X1, X2, X3) 176.88/63.14 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 176.88/63.14 176.88/63.14 176.88/63.14 *U64^1(mark(X1), X2, X3) -> U64^1(X1, X2, X3) 176.88/63.14 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 176.88/63.14 176.88/63.14 176.88/63.14 *U64^1(X1, X2, mark(X3)) -> U64^1(X1, X2, X3) 176.88/63.14 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 176.88/63.14 176.88/63.14 176.88/63.14 *U64^1(active(X1), X2, X3) -> U64^1(X1, X2, X3) 176.88/63.14 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 176.88/63.14 176.88/63.14 176.88/63.14 *U64^1(X1, active(X2), X3) -> U64^1(X1, X2, X3) 176.88/63.14 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 176.88/63.14 176.88/63.14 176.88/63.14 *U64^1(X1, X2, active(X3)) -> U64^1(X1, X2, X3) 176.88/63.14 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 176.88/63.14 176.88/63.14 176.88/63.14 ---------------------------------------- 176.88/63.14 176.88/63.14 (25) 176.88/63.14 YES 176.88/63.14 176.88/63.14 ---------------------------------------- 176.88/63.14 176.88/63.14 (26) 176.88/63.14 Obligation: 176.88/63.14 Q DP problem: 176.88/63.14 The TRS P consists of the following rules: 176.88/63.14 176.88/63.14 U63^1(X1, mark(X2), X3) -> U63^1(X1, X2, X3) 176.88/63.14 U63^1(mark(X1), X2, X3) -> U63^1(X1, X2, X3) 176.88/63.14 U63^1(X1, X2, mark(X3)) -> U63^1(X1, X2, X3) 176.88/63.14 U63^1(active(X1), X2, X3) -> U63^1(X1, X2, X3) 176.88/63.14 U63^1(X1, active(X2), X3) -> U63^1(X1, X2, X3) 176.88/63.14 U63^1(X1, X2, active(X3)) -> U63^1(X1, X2, X3) 176.88/63.14 176.88/63.14 The TRS R consists of the following rules: 176.88/63.14 176.88/63.14 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 176.88/63.14 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 176.88/63.14 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 176.88/63.14 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 176.88/63.14 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 176.88/63.14 active(U16(tt)) -> mark(tt) 176.88/63.14 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 176.88/63.14 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 176.88/63.14 active(U23(tt)) -> mark(tt) 176.88/63.14 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 176.88/63.14 active(U32(tt)) -> mark(tt) 176.88/63.14 active(U41(tt)) -> mark(tt) 176.88/63.14 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 176.88/63.14 active(U52(tt, N)) -> mark(N) 176.88/63.14 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 176.88/63.14 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 176.88/63.14 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 176.88/63.14 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 176.88/63.14 active(isNat(0)) -> mark(tt) 176.88/63.14 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 176.88/63.14 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 176.88/63.14 active(isNatKind(0)) -> mark(tt) 176.88/63.14 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 176.88/63.14 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 176.88/63.14 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 176.88/63.14 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 176.88/63.14 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 176.88/63.14 mark(tt) -> active(tt) 176.88/63.14 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 176.88/63.14 mark(isNatKind(X)) -> active(isNatKind(X)) 176.88/63.14 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 176.88/63.14 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 176.88/63.14 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 176.88/63.14 mark(isNat(X)) -> active(isNat(X)) 176.88/63.14 mark(U16(X)) -> active(U16(mark(X))) 176.88/63.14 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 176.88/63.14 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 176.88/63.14 mark(U23(X)) -> active(U23(mark(X))) 176.88/63.14 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 176.88/63.14 mark(U32(X)) -> active(U32(mark(X))) 176.88/63.14 mark(U41(X)) -> active(U41(mark(X))) 176.88/63.14 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 176.88/63.14 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 176.88/63.14 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 176.88/63.14 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 176.88/63.14 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 176.88/63.14 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 176.88/63.14 mark(s(X)) -> active(s(mark(X))) 176.88/63.14 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 176.88/63.14 mark(0) -> active(0) 176.88/63.14 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 176.88/63.14 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 176.88/63.14 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 176.88/63.14 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 176.88/63.14 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 176.88/63.14 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 176.88/63.14 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 176.88/63.14 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 176.88/63.14 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 176.88/63.14 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 176.88/63.14 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 176.88/63.14 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 176.88/63.14 isNatKind(mark(X)) -> isNatKind(X) 176.88/63.14 isNatKind(active(X)) -> isNatKind(X) 176.88/63.14 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 176.88/63.14 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 176.88/63.14 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 176.88/63.14 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 176.88/63.14 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 176.88/63.14 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 176.88/63.14 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 176.88/63.14 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 176.88/63.14 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 176.88/63.14 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 176.88/63.14 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 176.88/63.14 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 176.88/63.14 U15(mark(X1), X2) -> U15(X1, X2) 176.88/63.14 U15(X1, mark(X2)) -> U15(X1, X2) 176.88/63.14 U15(active(X1), X2) -> U15(X1, X2) 176.88/63.14 U15(X1, active(X2)) -> U15(X1, X2) 176.88/63.14 isNat(mark(X)) -> isNat(X) 176.88/63.14 isNat(active(X)) -> isNat(X) 176.88/63.14 U16(mark(X)) -> U16(X) 176.88/63.14 U16(active(X)) -> U16(X) 176.88/63.14 U21(mark(X1), X2) -> U21(X1, X2) 176.88/63.14 U21(X1, mark(X2)) -> U21(X1, X2) 176.88/63.14 U21(active(X1), X2) -> U21(X1, X2) 176.88/63.14 U21(X1, active(X2)) -> U21(X1, X2) 176.88/63.14 U22(mark(X1), X2) -> U22(X1, X2) 176.88/63.14 U22(X1, mark(X2)) -> U22(X1, X2) 176.88/63.14 U22(active(X1), X2) -> U22(X1, X2) 176.88/63.14 U22(X1, active(X2)) -> U22(X1, X2) 176.88/63.14 U23(mark(X)) -> U23(X) 176.88/63.14 U23(active(X)) -> U23(X) 176.88/63.14 U31(mark(X1), X2) -> U31(X1, X2) 176.88/63.14 U31(X1, mark(X2)) -> U31(X1, X2) 176.88/63.14 U31(active(X1), X2) -> U31(X1, X2) 176.88/63.14 U31(X1, active(X2)) -> U31(X1, X2) 176.88/63.14 U32(mark(X)) -> U32(X) 176.88/63.14 U32(active(X)) -> U32(X) 176.88/63.14 U41(mark(X)) -> U41(X) 176.88/63.14 U41(active(X)) -> U41(X) 176.88/63.14 U51(mark(X1), X2) -> U51(X1, X2) 176.88/63.14 U51(X1, mark(X2)) -> U51(X1, X2) 176.88/63.14 U51(active(X1), X2) -> U51(X1, X2) 176.88/63.14 U51(X1, active(X2)) -> U51(X1, X2) 176.88/63.14 U52(mark(X1), X2) -> U52(X1, X2) 176.88/63.14 U52(X1, mark(X2)) -> U52(X1, X2) 176.88/63.14 U52(active(X1), X2) -> U52(X1, X2) 176.88/63.14 U52(X1, active(X2)) -> U52(X1, X2) 176.88/63.14 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 176.88/63.14 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 176.88/63.14 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 176.88/63.14 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 176.88/63.14 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 176.88/63.14 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 176.88/63.14 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 176.88/63.14 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 176.88/63.14 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 176.88/63.14 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 176.88/63.14 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 176.88/63.14 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 176.88/63.14 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 176.88/63.14 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 176.88/63.14 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 176.88/63.14 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 176.88/63.14 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 176.88/63.14 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 176.88/63.14 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 176.88/63.14 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 176.88/63.14 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 176.88/63.14 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 176.88/63.14 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 176.88/63.14 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 176.88/63.14 s(mark(X)) -> s(X) 176.88/63.14 s(active(X)) -> s(X) 176.88/63.14 plus(mark(X1), X2) -> plus(X1, X2) 176.88/63.14 plus(X1, mark(X2)) -> plus(X1, X2) 176.88/63.14 plus(active(X1), X2) -> plus(X1, X2) 176.88/63.14 plus(X1, active(X2)) -> plus(X1, X2) 176.88/63.14 176.88/63.14 The set Q consists of the following terms: 176.88/63.14 176.88/63.14 active(U11(tt, x0, x1)) 176.88/63.14 active(U12(tt, x0, x1)) 176.88/63.14 active(U13(tt, x0, x1)) 176.88/63.14 active(U14(tt, x0, x1)) 176.88/63.14 active(U15(tt, x0)) 176.88/63.14 active(U16(tt)) 176.88/63.14 active(U21(tt, x0)) 176.88/63.14 active(U22(tt, x0)) 176.88/63.14 active(U23(tt)) 176.88/63.14 active(U31(tt, x0)) 176.88/63.14 active(U32(tt)) 176.88/63.14 active(U41(tt)) 176.88/63.14 active(U51(tt, x0)) 176.88/63.14 active(U52(tt, x0)) 176.88/63.14 active(U61(tt, x0, x1)) 176.88/63.14 active(U62(tt, x0, x1)) 176.88/63.14 active(U63(tt, x0, x1)) 176.88/63.14 active(U64(tt, x0, x1)) 176.88/63.14 active(isNat(0)) 176.88/63.14 active(isNat(plus(x0, x1))) 176.88/63.14 active(isNat(s(x0))) 176.88/63.14 active(isNatKind(0)) 176.88/63.14 active(isNatKind(plus(x0, x1))) 176.88/63.14 active(isNatKind(s(x0))) 176.88/63.14 active(plus(x0, 0)) 176.88/63.14 active(plus(x0, s(x1))) 176.88/63.14 mark(U11(x0, x1, x2)) 176.88/63.14 mark(tt) 176.88/63.14 mark(U12(x0, x1, x2)) 176.88/63.14 mark(isNatKind(x0)) 176.88/63.14 mark(U13(x0, x1, x2)) 176.88/63.14 mark(U14(x0, x1, x2)) 176.88/63.14 mark(U15(x0, x1)) 176.88/63.14 mark(isNat(x0)) 176.88/63.14 mark(U16(x0)) 176.88/63.14 mark(U21(x0, x1)) 176.88/63.14 mark(U22(x0, x1)) 176.88/63.14 mark(U23(x0)) 176.88/63.14 mark(U31(x0, x1)) 176.88/63.14 mark(U32(x0)) 176.88/63.14 mark(U41(x0)) 176.88/63.14 mark(U51(x0, x1)) 176.88/63.14 mark(U52(x0, x1)) 176.88/63.14 mark(U61(x0, x1, x2)) 176.88/63.14 mark(U62(x0, x1, x2)) 176.88/63.14 mark(U63(x0, x1, x2)) 176.88/63.14 mark(U64(x0, x1, x2)) 176.88/63.14 mark(s(x0)) 176.88/63.14 mark(plus(x0, x1)) 176.88/63.14 mark(0) 176.88/63.14 U11(mark(x0), x1, x2) 176.88/63.14 U11(x0, mark(x1), x2) 176.88/63.14 U11(x0, x1, mark(x2)) 176.88/63.14 U11(active(x0), x1, x2) 176.88/63.14 U11(x0, active(x1), x2) 176.88/63.14 U11(x0, x1, active(x2)) 176.88/63.14 U12(mark(x0), x1, x2) 176.88/63.14 U12(x0, mark(x1), x2) 176.88/63.14 U12(x0, x1, mark(x2)) 176.88/63.14 U12(active(x0), x1, x2) 176.88/63.14 U12(x0, active(x1), x2) 176.88/63.14 U12(x0, x1, active(x2)) 176.88/63.14 isNatKind(mark(x0)) 176.88/63.14 isNatKind(active(x0)) 176.88/63.14 U13(mark(x0), x1, x2) 176.88/63.14 U13(x0, mark(x1), x2) 176.88/63.14 U13(x0, x1, mark(x2)) 176.88/63.14 U13(active(x0), x1, x2) 176.88/63.14 U13(x0, active(x1), x2) 176.88/63.14 U13(x0, x1, active(x2)) 176.88/63.14 U14(mark(x0), x1, x2) 176.88/63.14 U14(x0, mark(x1), x2) 176.88/63.14 U14(x0, x1, mark(x2)) 176.88/63.14 U14(active(x0), x1, x2) 176.88/63.14 U14(x0, active(x1), x2) 176.88/63.14 U14(x0, x1, active(x2)) 176.88/63.14 U15(mark(x0), x1) 176.88/63.14 U15(x0, mark(x1)) 176.88/63.14 U15(active(x0), x1) 176.88/63.14 U15(x0, active(x1)) 176.88/63.14 isNat(mark(x0)) 176.88/63.14 isNat(active(x0)) 176.88/63.14 U16(mark(x0)) 176.88/63.14 U16(active(x0)) 176.88/63.14 U21(mark(x0), x1) 176.88/63.14 U21(x0, mark(x1)) 176.88/63.14 U21(active(x0), x1) 176.88/63.14 U21(x0, active(x1)) 176.88/63.14 U22(mark(x0), x1) 176.88/63.14 U22(x0, mark(x1)) 176.88/63.14 U22(active(x0), x1) 176.88/63.14 U22(x0, active(x1)) 176.88/63.14 U23(mark(x0)) 176.88/63.14 U23(active(x0)) 176.88/63.14 U31(mark(x0), x1) 176.88/63.14 U31(x0, mark(x1)) 176.88/63.14 U31(active(x0), x1) 176.88/63.14 U31(x0, active(x1)) 176.88/63.14 U32(mark(x0)) 176.88/63.14 U32(active(x0)) 176.88/63.14 U41(mark(x0)) 176.88/63.14 U41(active(x0)) 176.88/63.14 U51(mark(x0), x1) 176.88/63.14 U51(x0, mark(x1)) 176.88/63.14 U51(active(x0), x1) 176.88/63.14 U51(x0, active(x1)) 176.88/63.14 U52(mark(x0), x1) 176.88/63.14 U52(x0, mark(x1)) 176.88/63.14 U52(active(x0), x1) 176.88/63.14 U52(x0, active(x1)) 176.88/63.14 U61(mark(x0), x1, x2) 176.88/63.14 U61(x0, mark(x1), x2) 176.88/63.14 U61(x0, x1, mark(x2)) 176.88/63.14 U61(active(x0), x1, x2) 176.88/63.14 U61(x0, active(x1), x2) 176.88/63.14 U61(x0, x1, active(x2)) 176.88/63.14 U62(mark(x0), x1, x2) 176.88/63.14 U62(x0, mark(x1), x2) 176.88/63.14 U62(x0, x1, mark(x2)) 176.88/63.14 U62(active(x0), x1, x2) 176.88/63.14 U62(x0, active(x1), x2) 176.88/63.14 U62(x0, x1, active(x2)) 176.88/63.14 U63(mark(x0), x1, x2) 176.88/63.14 U63(x0, mark(x1), x2) 176.88/63.14 U63(x0, x1, mark(x2)) 176.88/63.14 U63(active(x0), x1, x2) 176.88/63.14 U63(x0, active(x1), x2) 176.88/63.14 U63(x0, x1, active(x2)) 176.88/63.14 U64(mark(x0), x1, x2) 176.93/63.14 U64(x0, mark(x1), x2) 176.93/63.14 U64(x0, x1, mark(x2)) 176.93/63.14 U64(active(x0), x1, x2) 176.93/63.14 U64(x0, active(x1), x2) 176.93/63.14 U64(x0, x1, active(x2)) 176.93/63.14 s(mark(x0)) 176.93/63.14 s(active(x0)) 176.93/63.14 plus(mark(x0), x1) 176.93/63.14 plus(x0, mark(x1)) 176.93/63.14 plus(active(x0), x1) 176.93/63.14 plus(x0, active(x1)) 176.93/63.14 176.93/63.14 We have to consider all minimal (P,Q,R)-chains. 176.93/63.14 ---------------------------------------- 176.93/63.14 176.93/63.14 (27) UsableRulesProof (EQUIVALENT) 176.93/63.14 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. 176.93/63.14 ---------------------------------------- 176.93/63.14 176.93/63.14 (28) 176.93/63.14 Obligation: 176.93/63.14 Q DP problem: 176.93/63.14 The TRS P consists of the following rules: 176.93/63.14 176.93/63.14 U63^1(X1, mark(X2), X3) -> U63^1(X1, X2, X3) 176.93/63.14 U63^1(mark(X1), X2, X3) -> U63^1(X1, X2, X3) 176.93/63.14 U63^1(X1, X2, mark(X3)) -> U63^1(X1, X2, X3) 176.93/63.14 U63^1(active(X1), X2, X3) -> U63^1(X1, X2, X3) 176.93/63.14 U63^1(X1, active(X2), X3) -> U63^1(X1, X2, X3) 176.93/63.14 U63^1(X1, X2, active(X3)) -> U63^1(X1, X2, X3) 176.93/63.14 176.93/63.14 R is empty. 176.93/63.14 The set Q consists of the following terms: 176.93/63.14 176.93/63.14 active(U11(tt, x0, x1)) 176.93/63.14 active(U12(tt, x0, x1)) 176.93/63.14 active(U13(tt, x0, x1)) 176.93/63.14 active(U14(tt, x0, x1)) 176.93/63.14 active(U15(tt, x0)) 176.93/63.14 active(U16(tt)) 176.93/63.14 active(U21(tt, x0)) 176.93/63.14 active(U22(tt, x0)) 176.93/63.14 active(U23(tt)) 176.93/63.14 active(U31(tt, x0)) 176.93/63.14 active(U32(tt)) 176.93/63.14 active(U41(tt)) 176.93/63.14 active(U51(tt, x0)) 176.93/63.14 active(U52(tt, x0)) 176.93/63.14 active(U61(tt, x0, x1)) 176.93/63.14 active(U62(tt, x0, x1)) 176.93/63.14 active(U63(tt, x0, x1)) 176.93/63.14 active(U64(tt, x0, x1)) 176.93/63.14 active(isNat(0)) 176.93/63.14 active(isNat(plus(x0, x1))) 176.93/63.14 active(isNat(s(x0))) 176.93/63.14 active(isNatKind(0)) 176.93/63.14 active(isNatKind(plus(x0, x1))) 176.93/63.14 active(isNatKind(s(x0))) 176.93/63.14 active(plus(x0, 0)) 176.93/63.14 active(plus(x0, s(x1))) 176.93/63.14 mark(U11(x0, x1, x2)) 176.93/63.14 mark(tt) 176.93/63.14 mark(U12(x0, x1, x2)) 176.93/63.14 mark(isNatKind(x0)) 176.93/63.14 mark(U13(x0, x1, x2)) 176.93/63.14 mark(U14(x0, x1, x2)) 176.93/63.14 mark(U15(x0, x1)) 176.93/63.14 mark(isNat(x0)) 176.93/63.14 mark(U16(x0)) 176.93/63.14 mark(U21(x0, x1)) 176.93/63.14 mark(U22(x0, x1)) 176.93/63.14 mark(U23(x0)) 176.93/63.14 mark(U31(x0, x1)) 176.93/63.14 mark(U32(x0)) 176.93/63.14 mark(U41(x0)) 176.93/63.14 mark(U51(x0, x1)) 176.93/63.14 mark(U52(x0, x1)) 176.93/63.14 mark(U61(x0, x1, x2)) 176.93/63.14 mark(U62(x0, x1, x2)) 176.93/63.14 mark(U63(x0, x1, x2)) 176.93/63.14 mark(U64(x0, x1, x2)) 176.93/63.14 mark(s(x0)) 176.93/63.14 mark(plus(x0, x1)) 176.93/63.14 mark(0) 176.93/63.14 U11(mark(x0), x1, x2) 176.93/63.14 U11(x0, mark(x1), x2) 176.93/63.14 U11(x0, x1, mark(x2)) 176.93/63.14 U11(active(x0), x1, x2) 176.93/63.14 U11(x0, active(x1), x2) 176.93/63.14 U11(x0, x1, active(x2)) 176.93/63.14 U12(mark(x0), x1, x2) 176.93/63.14 U12(x0, mark(x1), x2) 176.93/63.14 U12(x0, x1, mark(x2)) 176.93/63.14 U12(active(x0), x1, x2) 176.93/63.14 U12(x0, active(x1), x2) 176.93/63.14 U12(x0, x1, active(x2)) 176.93/63.14 isNatKind(mark(x0)) 176.93/63.14 isNatKind(active(x0)) 176.93/63.14 U13(mark(x0), x1, x2) 176.93/63.14 U13(x0, mark(x1), x2) 176.93/63.14 U13(x0, x1, mark(x2)) 176.93/63.14 U13(active(x0), x1, x2) 176.93/63.14 U13(x0, active(x1), x2) 176.93/63.14 U13(x0, x1, active(x2)) 176.93/63.14 U14(mark(x0), x1, x2) 176.93/63.14 U14(x0, mark(x1), x2) 176.93/63.14 U14(x0, x1, mark(x2)) 176.93/63.14 U14(active(x0), x1, x2) 176.93/63.14 U14(x0, active(x1), x2) 176.93/63.14 U14(x0, x1, active(x2)) 176.93/63.14 U15(mark(x0), x1) 176.93/63.14 U15(x0, mark(x1)) 176.93/63.14 U15(active(x0), x1) 176.93/63.14 U15(x0, active(x1)) 176.93/63.14 isNat(mark(x0)) 176.93/63.14 isNat(active(x0)) 176.93/63.14 U16(mark(x0)) 176.93/63.14 U16(active(x0)) 176.93/63.14 U21(mark(x0), x1) 176.93/63.14 U21(x0, mark(x1)) 176.93/63.14 U21(active(x0), x1) 176.93/63.14 U21(x0, active(x1)) 176.93/63.14 U22(mark(x0), x1) 176.93/63.14 U22(x0, mark(x1)) 176.93/63.14 U22(active(x0), x1) 176.93/63.14 U22(x0, active(x1)) 176.93/63.14 U23(mark(x0)) 176.93/63.14 U23(active(x0)) 176.93/63.14 U31(mark(x0), x1) 176.93/63.14 U31(x0, mark(x1)) 176.93/63.14 U31(active(x0), x1) 176.93/63.14 U31(x0, active(x1)) 176.93/63.14 U32(mark(x0)) 176.93/63.14 U32(active(x0)) 176.93/63.14 U41(mark(x0)) 176.93/63.14 U41(active(x0)) 176.93/63.14 U51(mark(x0), x1) 176.93/63.14 U51(x0, mark(x1)) 176.93/63.14 U51(active(x0), x1) 176.93/63.14 U51(x0, active(x1)) 176.93/63.14 U52(mark(x0), x1) 176.93/63.14 U52(x0, mark(x1)) 176.93/63.14 U52(active(x0), x1) 176.93/63.14 U52(x0, active(x1)) 176.93/63.14 U61(mark(x0), x1, x2) 176.93/63.14 U61(x0, mark(x1), x2) 176.93/63.14 U61(x0, x1, mark(x2)) 176.93/63.14 U61(active(x0), x1, x2) 176.93/63.14 U61(x0, active(x1), x2) 176.93/63.14 U61(x0, x1, active(x2)) 176.93/63.14 U62(mark(x0), x1, x2) 176.93/63.14 U62(x0, mark(x1), x2) 176.93/63.14 U62(x0, x1, mark(x2)) 176.93/63.14 U62(active(x0), x1, x2) 176.93/63.14 U62(x0, active(x1), x2) 176.93/63.14 U62(x0, x1, active(x2)) 176.93/63.14 U63(mark(x0), x1, x2) 176.93/63.14 U63(x0, mark(x1), x2) 176.93/63.14 U63(x0, x1, mark(x2)) 176.93/63.14 U63(active(x0), x1, x2) 176.93/63.14 U63(x0, active(x1), x2) 176.93/63.14 U63(x0, x1, active(x2)) 176.93/63.14 U64(mark(x0), x1, x2) 176.93/63.14 U64(x0, mark(x1), x2) 176.93/63.14 U64(x0, x1, mark(x2)) 176.93/63.14 U64(active(x0), x1, x2) 176.93/63.14 U64(x0, active(x1), x2) 176.93/63.14 U64(x0, x1, active(x2)) 176.93/63.14 s(mark(x0)) 176.93/63.14 s(active(x0)) 176.93/63.14 plus(mark(x0), x1) 176.93/63.14 plus(x0, mark(x1)) 176.93/63.14 plus(active(x0), x1) 176.93/63.14 plus(x0, active(x1)) 176.93/63.14 176.93/63.14 We have to consider all minimal (P,Q,R)-chains. 176.93/63.14 ---------------------------------------- 176.93/63.14 176.93/63.14 (29) QReductionProof (EQUIVALENT) 176.93/63.14 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 176.93/63.14 176.93/63.14 U11(mark(x0), x1, x2) 176.93/63.14 U11(x0, mark(x1), x2) 176.93/63.14 U11(x0, x1, mark(x2)) 176.93/63.14 U11(active(x0), x1, x2) 176.93/63.14 U11(x0, active(x1), x2) 176.93/63.14 U11(x0, x1, active(x2)) 176.93/63.14 U12(mark(x0), x1, x2) 176.93/63.14 U12(x0, mark(x1), x2) 176.93/63.14 U12(x0, x1, mark(x2)) 176.93/63.14 U12(active(x0), x1, x2) 176.93/63.14 U12(x0, active(x1), x2) 176.93/63.14 U12(x0, x1, active(x2)) 176.93/63.14 isNatKind(mark(x0)) 176.93/63.14 isNatKind(active(x0)) 176.93/63.14 U13(mark(x0), x1, x2) 176.93/63.14 U13(x0, mark(x1), x2) 176.93/63.14 U13(x0, x1, mark(x2)) 176.93/63.14 U13(active(x0), x1, x2) 176.93/63.14 U13(x0, active(x1), x2) 176.93/63.14 U13(x0, x1, active(x2)) 176.93/63.14 U14(mark(x0), x1, x2) 176.93/63.14 U14(x0, mark(x1), x2) 176.93/63.14 U14(x0, x1, mark(x2)) 176.93/63.14 U14(active(x0), x1, x2) 176.93/63.14 U14(x0, active(x1), x2) 176.93/63.14 U14(x0, x1, active(x2)) 176.93/63.14 U15(mark(x0), x1) 176.93/63.14 U15(x0, mark(x1)) 176.93/63.14 U15(active(x0), x1) 176.93/63.14 U15(x0, active(x1)) 176.93/63.14 isNat(mark(x0)) 176.93/63.14 isNat(active(x0)) 176.93/63.14 U16(mark(x0)) 176.93/63.14 U16(active(x0)) 176.93/63.14 U21(mark(x0), x1) 176.93/63.14 U21(x0, mark(x1)) 176.93/63.14 U21(active(x0), x1) 176.93/63.14 U21(x0, active(x1)) 176.93/63.14 U22(mark(x0), x1) 176.93/63.14 U22(x0, mark(x1)) 176.93/63.14 U22(active(x0), x1) 176.93/63.14 U22(x0, active(x1)) 176.93/63.14 U23(mark(x0)) 176.93/63.14 U23(active(x0)) 176.93/63.14 U31(mark(x0), x1) 176.93/63.14 U31(x0, mark(x1)) 176.93/63.14 U31(active(x0), x1) 176.93/63.14 U31(x0, active(x1)) 176.93/63.14 U32(mark(x0)) 176.93/63.14 U32(active(x0)) 176.93/63.14 U41(mark(x0)) 176.93/63.14 U41(active(x0)) 176.93/63.14 U51(mark(x0), x1) 176.93/63.14 U51(x0, mark(x1)) 176.93/63.14 U51(active(x0), x1) 176.93/63.14 U51(x0, active(x1)) 176.93/63.14 U52(mark(x0), x1) 176.93/63.14 U52(x0, mark(x1)) 176.93/63.14 U52(active(x0), x1) 176.93/63.14 U52(x0, active(x1)) 176.93/63.14 U61(mark(x0), x1, x2) 176.93/63.14 U61(x0, mark(x1), x2) 176.93/63.14 U61(x0, x1, mark(x2)) 176.93/63.14 U61(active(x0), x1, x2) 176.93/63.14 U61(x0, active(x1), x2) 176.93/63.14 U61(x0, x1, active(x2)) 176.93/63.14 U62(mark(x0), x1, x2) 176.93/63.14 U62(x0, mark(x1), x2) 176.93/63.14 U62(x0, x1, mark(x2)) 176.93/63.14 U62(active(x0), x1, x2) 176.93/63.14 U62(x0, active(x1), x2) 176.93/63.14 U62(x0, x1, active(x2)) 176.93/63.14 U63(mark(x0), x1, x2) 176.93/63.14 U63(x0, mark(x1), x2) 176.93/63.14 U63(x0, x1, mark(x2)) 176.93/63.14 U63(active(x0), x1, x2) 176.93/63.14 U63(x0, active(x1), x2) 176.93/63.14 U63(x0, x1, active(x2)) 176.93/63.14 U64(mark(x0), x1, x2) 176.93/63.14 U64(x0, mark(x1), x2) 176.93/63.14 U64(x0, x1, mark(x2)) 176.93/63.14 U64(active(x0), x1, x2) 176.93/63.14 U64(x0, active(x1), x2) 176.93/63.14 U64(x0, x1, active(x2)) 176.93/63.14 s(mark(x0)) 176.93/63.14 s(active(x0)) 176.93/63.14 plus(mark(x0), x1) 176.93/63.14 plus(x0, mark(x1)) 176.93/63.14 plus(active(x0), x1) 176.93/63.14 plus(x0, active(x1)) 176.93/63.14 176.93/63.14 176.93/63.14 ---------------------------------------- 176.93/63.14 176.93/63.14 (30) 176.93/63.14 Obligation: 176.93/63.14 Q DP problem: 176.93/63.14 The TRS P consists of the following rules: 176.93/63.14 176.93/63.14 U63^1(X1, mark(X2), X3) -> U63^1(X1, X2, X3) 176.93/63.14 U63^1(mark(X1), X2, X3) -> U63^1(X1, X2, X3) 176.93/63.14 U63^1(X1, X2, mark(X3)) -> U63^1(X1, X2, X3) 176.93/63.14 U63^1(active(X1), X2, X3) -> U63^1(X1, X2, X3) 176.93/63.14 U63^1(X1, active(X2), X3) -> U63^1(X1, X2, X3) 176.93/63.14 U63^1(X1, X2, active(X3)) -> U63^1(X1, X2, X3) 176.93/63.14 176.93/63.14 R is empty. 176.93/63.14 The set Q consists of the following terms: 176.93/63.14 176.93/63.14 active(U11(tt, x0, x1)) 176.93/63.14 active(U12(tt, x0, x1)) 176.93/63.14 active(U13(tt, x0, x1)) 176.93/63.14 active(U14(tt, x0, x1)) 176.93/63.14 active(U15(tt, x0)) 176.93/63.14 active(U16(tt)) 176.93/63.14 active(U21(tt, x0)) 176.93/63.14 active(U22(tt, x0)) 176.93/63.14 active(U23(tt)) 176.93/63.14 active(U31(tt, x0)) 176.93/63.14 active(U32(tt)) 176.93/63.14 active(U41(tt)) 176.93/63.14 active(U51(tt, x0)) 176.93/63.14 active(U52(tt, x0)) 176.93/63.14 active(U61(tt, x0, x1)) 176.93/63.14 active(U62(tt, x0, x1)) 176.93/63.14 active(U63(tt, x0, x1)) 176.93/63.14 active(U64(tt, x0, x1)) 176.93/63.14 active(isNat(0)) 176.93/63.14 active(isNat(plus(x0, x1))) 176.93/63.14 active(isNat(s(x0))) 176.93/63.14 active(isNatKind(0)) 176.93/63.14 active(isNatKind(plus(x0, x1))) 176.93/63.14 active(isNatKind(s(x0))) 176.93/63.14 active(plus(x0, 0)) 176.93/63.14 active(plus(x0, s(x1))) 176.93/63.14 mark(U11(x0, x1, x2)) 176.93/63.14 mark(tt) 176.93/63.14 mark(U12(x0, x1, x2)) 176.93/63.14 mark(isNatKind(x0)) 176.93/63.14 mark(U13(x0, x1, x2)) 176.93/63.14 mark(U14(x0, x1, x2)) 176.93/63.14 mark(U15(x0, x1)) 176.93/63.14 mark(isNat(x0)) 176.93/63.14 mark(U16(x0)) 176.93/63.14 mark(U21(x0, x1)) 176.93/63.14 mark(U22(x0, x1)) 176.93/63.14 mark(U23(x0)) 176.93/63.14 mark(U31(x0, x1)) 176.93/63.14 mark(U32(x0)) 176.93/63.14 mark(U41(x0)) 176.93/63.14 mark(U51(x0, x1)) 176.93/63.14 mark(U52(x0, x1)) 176.93/63.14 mark(U61(x0, x1, x2)) 176.93/63.14 mark(U62(x0, x1, x2)) 176.93/63.14 mark(U63(x0, x1, x2)) 176.93/63.14 mark(U64(x0, x1, x2)) 176.93/63.14 mark(s(x0)) 176.93/63.14 mark(plus(x0, x1)) 176.93/63.14 mark(0) 176.93/63.14 176.93/63.14 We have to consider all minimal (P,Q,R)-chains. 176.93/63.14 ---------------------------------------- 176.93/63.14 176.93/63.14 (31) QDPSizeChangeProof (EQUIVALENT) 176.93/63.14 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. 176.93/63.14 176.93/63.14 From the DPs we obtained the following set of size-change graphs: 176.93/63.14 *U63^1(X1, mark(X2), X3) -> U63^1(X1, X2, X3) 176.93/63.14 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 176.93/63.14 176.93/63.14 176.93/63.14 *U63^1(mark(X1), X2, X3) -> U63^1(X1, X2, X3) 176.93/63.14 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 176.93/63.14 176.93/63.14 176.93/63.14 *U63^1(X1, X2, mark(X3)) -> U63^1(X1, X2, X3) 176.93/63.14 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 176.93/63.14 176.93/63.14 176.93/63.14 *U63^1(active(X1), X2, X3) -> U63^1(X1, X2, X3) 176.93/63.14 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 176.93/63.14 176.93/63.14 176.93/63.14 *U63^1(X1, active(X2), X3) -> U63^1(X1, X2, X3) 176.93/63.14 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 176.93/63.14 176.93/63.14 176.93/63.14 *U63^1(X1, X2, active(X3)) -> U63^1(X1, X2, X3) 176.93/63.14 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 176.93/63.14 176.93/63.14 176.93/63.14 ---------------------------------------- 176.93/63.14 176.93/63.14 (32) 176.93/63.14 YES 176.93/63.14 176.93/63.14 ---------------------------------------- 176.93/63.14 176.93/63.14 (33) 176.93/63.14 Obligation: 176.93/63.14 Q DP problem: 176.93/63.14 The TRS P consists of the following rules: 176.93/63.14 176.93/63.14 U62^1(X1, mark(X2), X3) -> U62^1(X1, X2, X3) 176.93/63.14 U62^1(mark(X1), X2, X3) -> U62^1(X1, X2, X3) 176.93/63.14 U62^1(X1, X2, mark(X3)) -> U62^1(X1, X2, X3) 176.93/63.14 U62^1(active(X1), X2, X3) -> U62^1(X1, X2, X3) 176.93/63.14 U62^1(X1, active(X2), X3) -> U62^1(X1, X2, X3) 176.93/63.14 U62^1(X1, X2, active(X3)) -> U62^1(X1, X2, X3) 176.93/63.14 176.93/63.14 The TRS R consists of the following rules: 176.93/63.14 176.93/63.14 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 176.93/63.14 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 176.93/63.14 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 176.93/63.14 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 176.93/63.14 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 176.93/63.14 active(U16(tt)) -> mark(tt) 176.93/63.14 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 176.93/63.14 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 176.93/63.14 active(U23(tt)) -> mark(tt) 176.93/63.14 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 176.93/63.14 active(U32(tt)) -> mark(tt) 176.93/63.14 active(U41(tt)) -> mark(tt) 176.93/63.14 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 176.93/63.14 active(U52(tt, N)) -> mark(N) 176.93/63.14 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 176.93/63.14 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 176.93/63.14 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 176.93/63.14 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 176.93/63.14 active(isNat(0)) -> mark(tt) 176.93/63.14 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 176.93/63.14 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 176.93/63.14 active(isNatKind(0)) -> mark(tt) 176.93/63.14 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 176.93/63.14 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 176.93/63.14 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 176.93/63.14 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 176.93/63.14 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 176.93/63.14 mark(tt) -> active(tt) 176.93/63.14 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 176.93/63.14 mark(isNatKind(X)) -> active(isNatKind(X)) 176.93/63.14 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 176.93/63.14 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 176.93/63.14 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 176.93/63.14 mark(isNat(X)) -> active(isNat(X)) 176.93/63.14 mark(U16(X)) -> active(U16(mark(X))) 176.93/63.14 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 176.93/63.14 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 176.93/63.14 mark(U23(X)) -> active(U23(mark(X))) 176.93/63.14 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 176.93/63.14 mark(U32(X)) -> active(U32(mark(X))) 176.93/63.14 mark(U41(X)) -> active(U41(mark(X))) 176.93/63.14 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 176.93/63.14 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 176.93/63.14 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 176.93/63.14 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 176.93/63.14 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 176.93/63.14 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 176.93/63.14 mark(s(X)) -> active(s(mark(X))) 176.93/63.14 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 176.93/63.14 mark(0) -> active(0) 176.93/63.14 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 176.93/63.14 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 176.93/63.14 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 176.93/63.14 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 176.93/63.14 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 176.93/63.14 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 176.93/63.14 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 176.93/63.14 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 176.93/63.14 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 176.93/63.14 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 176.93/63.14 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 176.93/63.14 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 176.93/63.14 isNatKind(mark(X)) -> isNatKind(X) 176.93/63.14 isNatKind(active(X)) -> isNatKind(X) 176.93/63.14 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 176.93/63.14 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 176.93/63.14 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 176.93/63.14 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 176.93/63.14 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 176.93/63.14 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 176.93/63.14 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 176.93/63.14 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 176.93/63.14 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 176.93/63.14 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 176.93/63.16 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 176.93/63.16 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 176.93/63.16 U15(mark(X1), X2) -> U15(X1, X2) 176.93/63.16 U15(X1, mark(X2)) -> U15(X1, X2) 176.93/63.16 U15(active(X1), X2) -> U15(X1, X2) 176.93/63.16 U15(X1, active(X2)) -> U15(X1, X2) 176.93/63.16 isNat(mark(X)) -> isNat(X) 176.93/63.16 isNat(active(X)) -> isNat(X) 176.93/63.16 U16(mark(X)) -> U16(X) 176.93/63.16 U16(active(X)) -> U16(X) 176.93/63.16 U21(mark(X1), X2) -> U21(X1, X2) 176.93/63.16 U21(X1, mark(X2)) -> U21(X1, X2) 176.93/63.16 U21(active(X1), X2) -> U21(X1, X2) 176.93/63.16 U21(X1, active(X2)) -> U21(X1, X2) 176.93/63.16 U22(mark(X1), X2) -> U22(X1, X2) 176.93/63.16 U22(X1, mark(X2)) -> U22(X1, X2) 176.93/63.16 U22(active(X1), X2) -> U22(X1, X2) 176.93/63.16 U22(X1, active(X2)) -> U22(X1, X2) 176.93/63.16 U23(mark(X)) -> U23(X) 176.93/63.16 U23(active(X)) -> U23(X) 176.93/63.16 U31(mark(X1), X2) -> U31(X1, X2) 176.93/63.16 U31(X1, mark(X2)) -> U31(X1, X2) 176.93/63.16 U31(active(X1), X2) -> U31(X1, X2) 176.93/63.16 U31(X1, active(X2)) -> U31(X1, X2) 176.93/63.16 U32(mark(X)) -> U32(X) 176.93/63.16 U32(active(X)) -> U32(X) 176.93/63.16 U41(mark(X)) -> U41(X) 176.93/63.16 U41(active(X)) -> U41(X) 176.93/63.16 U51(mark(X1), X2) -> U51(X1, X2) 176.93/63.16 U51(X1, mark(X2)) -> U51(X1, X2) 176.93/63.16 U51(active(X1), X2) -> U51(X1, X2) 176.93/63.16 U51(X1, active(X2)) -> U51(X1, X2) 176.93/63.16 U52(mark(X1), X2) -> U52(X1, X2) 176.93/63.16 U52(X1, mark(X2)) -> U52(X1, X2) 176.93/63.16 U52(active(X1), X2) -> U52(X1, X2) 176.93/63.16 U52(X1, active(X2)) -> U52(X1, X2) 176.93/63.16 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 176.93/63.16 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 176.93/63.16 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 176.93/63.16 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 176.93/63.16 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 176.93/63.16 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 176.93/63.16 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 176.93/63.16 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 176.93/63.16 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 176.93/63.16 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 176.93/63.16 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 176.93/63.16 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 176.93/63.16 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 176.93/63.16 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 176.93/63.16 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 176.93/63.16 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 176.93/63.16 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 176.93/63.16 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 176.93/63.16 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 176.93/63.16 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 176.93/63.16 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 176.93/63.16 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 176.93/63.16 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 176.93/63.16 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 176.93/63.16 s(mark(X)) -> s(X) 176.93/63.16 s(active(X)) -> s(X) 176.93/63.16 plus(mark(X1), X2) -> plus(X1, X2) 176.93/63.16 plus(X1, mark(X2)) -> plus(X1, X2) 176.93/63.16 plus(active(X1), X2) -> plus(X1, X2) 176.93/63.16 plus(X1, active(X2)) -> plus(X1, X2) 176.93/63.16 176.93/63.16 The set Q consists of the following terms: 176.93/63.16 176.93/63.16 active(U11(tt, x0, x1)) 176.93/63.16 active(U12(tt, x0, x1)) 176.93/63.16 active(U13(tt, x0, x1)) 176.93/63.16 active(U14(tt, x0, x1)) 176.93/63.16 active(U15(tt, x0)) 176.93/63.16 active(U16(tt)) 176.93/63.16 active(U21(tt, x0)) 176.93/63.16 active(U22(tt, x0)) 176.93/63.16 active(U23(tt)) 176.93/63.16 active(U31(tt, x0)) 176.93/63.16 active(U32(tt)) 176.93/63.16 active(U41(tt)) 176.93/63.16 active(U51(tt, x0)) 176.93/63.16 active(U52(tt, x0)) 176.93/63.16 active(U61(tt, x0, x1)) 176.93/63.16 active(U62(tt, x0, x1)) 176.93/63.16 active(U63(tt, x0, x1)) 176.93/63.16 active(U64(tt, x0, x1)) 176.93/63.16 active(isNat(0)) 176.93/63.16 active(isNat(plus(x0, x1))) 176.93/63.16 active(isNat(s(x0))) 176.93/63.16 active(isNatKind(0)) 176.93/63.16 active(isNatKind(plus(x0, x1))) 176.93/63.16 active(isNatKind(s(x0))) 176.93/63.16 active(plus(x0, 0)) 176.93/63.16 active(plus(x0, s(x1))) 176.93/63.16 mark(U11(x0, x1, x2)) 176.93/63.16 mark(tt) 176.93/63.16 mark(U12(x0, x1, x2)) 176.93/63.16 mark(isNatKind(x0)) 176.93/63.16 mark(U13(x0, x1, x2)) 176.93/63.16 mark(U14(x0, x1, x2)) 176.93/63.16 mark(U15(x0, x1)) 176.93/63.16 mark(isNat(x0)) 176.93/63.16 mark(U16(x0)) 176.93/63.16 mark(U21(x0, x1)) 176.93/63.16 mark(U22(x0, x1)) 176.93/63.16 mark(U23(x0)) 176.93/63.16 mark(U31(x0, x1)) 176.93/63.16 mark(U32(x0)) 176.93/63.16 mark(U41(x0)) 176.93/63.16 mark(U51(x0, x1)) 176.93/63.16 mark(U52(x0, x1)) 176.93/63.16 mark(U61(x0, x1, x2)) 176.93/63.16 mark(U62(x0, x1, x2)) 176.93/63.16 mark(U63(x0, x1, x2)) 176.93/63.16 mark(U64(x0, x1, x2)) 176.93/63.16 mark(s(x0)) 176.93/63.16 mark(plus(x0, x1)) 176.93/63.16 mark(0) 176.93/63.16 U11(mark(x0), x1, x2) 176.93/63.16 U11(x0, mark(x1), x2) 176.93/63.16 U11(x0, x1, mark(x2)) 176.93/63.16 U11(active(x0), x1, x2) 176.93/63.16 U11(x0, active(x1), x2) 176.93/63.16 U11(x0, x1, active(x2)) 176.93/63.16 U12(mark(x0), x1, x2) 176.93/63.16 U12(x0, mark(x1), x2) 176.93/63.16 U12(x0, x1, mark(x2)) 176.93/63.16 U12(active(x0), x1, x2) 176.93/63.16 U12(x0, active(x1), x2) 176.93/63.16 U12(x0, x1, active(x2)) 176.93/63.16 isNatKind(mark(x0)) 176.93/63.16 isNatKind(active(x0)) 176.93/63.16 U13(mark(x0), x1, x2) 176.93/63.16 U13(x0, mark(x1), x2) 176.93/63.16 U13(x0, x1, mark(x2)) 176.93/63.16 U13(active(x0), x1, x2) 176.93/63.16 U13(x0, active(x1), x2) 176.93/63.16 U13(x0, x1, active(x2)) 176.93/63.16 U14(mark(x0), x1, x2) 176.93/63.16 U14(x0, mark(x1), x2) 176.93/63.16 U14(x0, x1, mark(x2)) 176.93/63.16 U14(active(x0), x1, x2) 176.93/63.16 U14(x0, active(x1), x2) 176.93/63.16 U14(x0, x1, active(x2)) 176.93/63.16 U15(mark(x0), x1) 176.93/63.16 U15(x0, mark(x1)) 176.93/63.16 U15(active(x0), x1) 176.93/63.16 U15(x0, active(x1)) 176.93/63.16 isNat(mark(x0)) 176.93/63.16 isNat(active(x0)) 176.93/63.16 U16(mark(x0)) 176.93/63.16 U16(active(x0)) 176.93/63.16 U21(mark(x0), x1) 176.93/63.16 U21(x0, mark(x1)) 176.93/63.16 U21(active(x0), x1) 176.93/63.16 U21(x0, active(x1)) 176.93/63.16 U22(mark(x0), x1) 176.93/63.16 U22(x0, mark(x1)) 176.93/63.16 U22(active(x0), x1) 176.93/63.16 U22(x0, active(x1)) 176.93/63.16 U23(mark(x0)) 176.93/63.16 U23(active(x0)) 176.93/63.16 U31(mark(x0), x1) 176.93/63.16 U31(x0, mark(x1)) 176.93/63.16 U31(active(x0), x1) 176.93/63.16 U31(x0, active(x1)) 176.93/63.16 U32(mark(x0)) 176.93/63.16 U32(active(x0)) 176.93/63.16 U41(mark(x0)) 176.93/63.16 U41(active(x0)) 176.93/63.16 U51(mark(x0), x1) 176.93/63.16 U51(x0, mark(x1)) 176.93/63.16 U51(active(x0), x1) 176.93/63.16 U51(x0, active(x1)) 176.93/63.16 U52(mark(x0), x1) 176.93/63.16 U52(x0, mark(x1)) 176.93/63.16 U52(active(x0), x1) 176.93/63.16 U52(x0, active(x1)) 176.93/63.16 U61(mark(x0), x1, x2) 176.93/63.16 U61(x0, mark(x1), x2) 176.93/63.16 U61(x0, x1, mark(x2)) 176.93/63.16 U61(active(x0), x1, x2) 176.93/63.16 U61(x0, active(x1), x2) 176.93/63.16 U61(x0, x1, active(x2)) 176.93/63.16 U62(mark(x0), x1, x2) 176.93/63.16 U62(x0, mark(x1), x2) 176.93/63.16 U62(x0, x1, mark(x2)) 176.93/63.16 U62(active(x0), x1, x2) 176.93/63.16 U62(x0, active(x1), x2) 176.93/63.16 U62(x0, x1, active(x2)) 176.93/63.16 U63(mark(x0), x1, x2) 176.93/63.16 U63(x0, mark(x1), x2) 176.93/63.16 U63(x0, x1, mark(x2)) 176.93/63.16 U63(active(x0), x1, x2) 176.93/63.16 U63(x0, active(x1), x2) 176.93/63.16 U63(x0, x1, active(x2)) 176.93/63.16 U64(mark(x0), x1, x2) 176.93/63.16 U64(x0, mark(x1), x2) 176.93/63.16 U64(x0, x1, mark(x2)) 176.93/63.16 U64(active(x0), x1, x2) 176.93/63.16 U64(x0, active(x1), x2) 176.93/63.16 U64(x0, x1, active(x2)) 176.93/63.16 s(mark(x0)) 176.93/63.16 s(active(x0)) 176.93/63.16 plus(mark(x0), x1) 176.93/63.16 plus(x0, mark(x1)) 176.93/63.16 plus(active(x0), x1) 176.93/63.16 plus(x0, active(x1)) 176.93/63.16 176.93/63.16 We have to consider all minimal (P,Q,R)-chains. 176.93/63.16 ---------------------------------------- 176.93/63.16 176.93/63.16 (34) UsableRulesProof (EQUIVALENT) 176.93/63.16 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. 176.93/63.17 ---------------------------------------- 176.93/63.17 176.93/63.17 (35) 176.93/63.17 Obligation: 176.93/63.17 Q DP problem: 176.93/63.17 The TRS P consists of the following rules: 176.93/63.17 176.93/63.17 U62^1(X1, mark(X2), X3) -> U62^1(X1, X2, X3) 176.93/63.17 U62^1(mark(X1), X2, X3) -> U62^1(X1, X2, X3) 176.93/63.17 U62^1(X1, X2, mark(X3)) -> U62^1(X1, X2, X3) 176.93/63.17 U62^1(active(X1), X2, X3) -> U62^1(X1, X2, X3) 176.93/63.17 U62^1(X1, active(X2), X3) -> U62^1(X1, X2, X3) 176.93/63.17 U62^1(X1, X2, active(X3)) -> U62^1(X1, X2, X3) 176.93/63.17 176.93/63.17 R is empty. 176.93/63.17 The set Q consists of the following terms: 176.93/63.17 176.93/63.17 active(U11(tt, x0, x1)) 176.93/63.17 active(U12(tt, x0, x1)) 176.93/63.17 active(U13(tt, x0, x1)) 176.93/63.17 active(U14(tt, x0, x1)) 176.93/63.17 active(U15(tt, x0)) 176.93/63.17 active(U16(tt)) 176.93/63.17 active(U21(tt, x0)) 176.93/63.17 active(U22(tt, x0)) 176.93/63.17 active(U23(tt)) 176.93/63.17 active(U31(tt, x0)) 176.93/63.17 active(U32(tt)) 176.93/63.17 active(U41(tt)) 176.93/63.17 active(U51(tt, x0)) 176.93/63.17 active(U52(tt, x0)) 176.93/63.17 active(U61(tt, x0, x1)) 176.93/63.17 active(U62(tt, x0, x1)) 176.93/63.17 active(U63(tt, x0, x1)) 176.93/63.17 active(U64(tt, x0, x1)) 176.93/63.17 active(isNat(0)) 176.93/63.17 active(isNat(plus(x0, x1))) 176.93/63.17 active(isNat(s(x0))) 176.93/63.17 active(isNatKind(0)) 176.93/63.17 active(isNatKind(plus(x0, x1))) 176.93/63.17 active(isNatKind(s(x0))) 176.93/63.17 active(plus(x0, 0)) 176.93/63.17 active(plus(x0, s(x1))) 176.93/63.17 mark(U11(x0, x1, x2)) 176.93/63.17 mark(tt) 176.93/63.17 mark(U12(x0, x1, x2)) 176.93/63.17 mark(isNatKind(x0)) 176.93/63.17 mark(U13(x0, x1, x2)) 176.93/63.17 mark(U14(x0, x1, x2)) 176.93/63.17 mark(U15(x0, x1)) 176.93/63.17 mark(isNat(x0)) 176.93/63.17 mark(U16(x0)) 176.93/63.17 mark(U21(x0, x1)) 176.93/63.17 mark(U22(x0, x1)) 176.93/63.17 mark(U23(x0)) 176.93/63.17 mark(U31(x0, x1)) 176.93/63.17 mark(U32(x0)) 176.93/63.17 mark(U41(x0)) 176.93/63.17 mark(U51(x0, x1)) 176.93/63.17 mark(U52(x0, x1)) 176.93/63.17 mark(U61(x0, x1, x2)) 176.93/63.17 mark(U62(x0, x1, x2)) 176.93/63.17 mark(U63(x0, x1, x2)) 176.93/63.17 mark(U64(x0, x1, x2)) 176.93/63.17 mark(s(x0)) 176.93/63.17 mark(plus(x0, x1)) 176.93/63.17 mark(0) 176.93/63.17 U11(mark(x0), x1, x2) 176.93/63.17 U11(x0, mark(x1), x2) 176.93/63.17 U11(x0, x1, mark(x2)) 176.93/63.17 U11(active(x0), x1, x2) 176.93/63.17 U11(x0, active(x1), x2) 176.93/63.17 U11(x0, x1, active(x2)) 176.93/63.17 U12(mark(x0), x1, x2) 176.93/63.17 U12(x0, mark(x1), x2) 176.93/63.17 U12(x0, x1, mark(x2)) 176.93/63.17 U12(active(x0), x1, x2) 176.93/63.17 U12(x0, active(x1), x2) 176.93/63.17 U12(x0, x1, active(x2)) 176.93/63.17 isNatKind(mark(x0)) 176.93/63.17 isNatKind(active(x0)) 176.93/63.17 U13(mark(x0), x1, x2) 176.93/63.17 U13(x0, mark(x1), x2) 176.93/63.17 U13(x0, x1, mark(x2)) 176.93/63.17 U13(active(x0), x1, x2) 176.93/63.17 U13(x0, active(x1), x2) 176.93/63.17 U13(x0, x1, active(x2)) 176.93/63.17 U14(mark(x0), x1, x2) 176.93/63.17 U14(x0, mark(x1), x2) 176.93/63.17 U14(x0, x1, mark(x2)) 176.93/63.17 U14(active(x0), x1, x2) 176.93/63.17 U14(x0, active(x1), x2) 176.93/63.17 U14(x0, x1, active(x2)) 176.93/63.17 U15(mark(x0), x1) 176.93/63.17 U15(x0, mark(x1)) 176.93/63.17 U15(active(x0), x1) 176.93/63.17 U15(x0, active(x1)) 176.93/63.17 isNat(mark(x0)) 176.93/63.17 isNat(active(x0)) 176.93/63.17 U16(mark(x0)) 176.93/63.17 U16(active(x0)) 176.93/63.17 U21(mark(x0), x1) 176.93/63.17 U21(x0, mark(x1)) 176.93/63.17 U21(active(x0), x1) 176.93/63.17 U21(x0, active(x1)) 176.93/63.17 U22(mark(x0), x1) 176.93/63.17 U22(x0, mark(x1)) 176.93/63.17 U22(active(x0), x1) 176.93/63.17 U22(x0, active(x1)) 176.93/63.17 U23(mark(x0)) 176.93/63.17 U23(active(x0)) 176.93/63.17 U31(mark(x0), x1) 176.93/63.17 U31(x0, mark(x1)) 176.93/63.17 U31(active(x0), x1) 176.93/63.17 U31(x0, active(x1)) 176.93/63.17 U32(mark(x0)) 176.93/63.17 U32(active(x0)) 176.93/63.17 U41(mark(x0)) 176.93/63.17 U41(active(x0)) 176.93/63.17 U51(mark(x0), x1) 176.93/63.17 U51(x0, mark(x1)) 176.93/63.17 U51(active(x0), x1) 176.93/63.17 U51(x0, active(x1)) 176.93/63.17 U52(mark(x0), x1) 176.93/63.17 U52(x0, mark(x1)) 176.93/63.17 U52(active(x0), x1) 176.93/63.17 U52(x0, active(x1)) 176.93/63.17 U61(mark(x0), x1, x2) 176.93/63.17 U61(x0, mark(x1), x2) 176.93/63.17 U61(x0, x1, mark(x2)) 176.93/63.17 U61(active(x0), x1, x2) 176.93/63.17 U61(x0, active(x1), x2) 176.93/63.17 U61(x0, x1, active(x2)) 176.93/63.17 U62(mark(x0), x1, x2) 176.93/63.17 U62(x0, mark(x1), x2) 176.93/63.17 U62(x0, x1, mark(x2)) 176.93/63.17 U62(active(x0), x1, x2) 176.93/63.17 U62(x0, active(x1), x2) 176.93/63.17 U62(x0, x1, active(x2)) 176.93/63.17 U63(mark(x0), x1, x2) 176.93/63.17 U63(x0, mark(x1), x2) 176.93/63.17 U63(x0, x1, mark(x2)) 176.93/63.17 U63(active(x0), x1, x2) 176.93/63.17 U63(x0, active(x1), x2) 176.93/63.17 U63(x0, x1, active(x2)) 176.93/63.17 U64(mark(x0), x1, x2) 176.93/63.17 U64(x0, mark(x1), x2) 176.93/63.17 U64(x0, x1, mark(x2)) 176.93/63.17 U64(active(x0), x1, x2) 176.93/63.17 U64(x0, active(x1), x2) 176.93/63.17 U64(x0, x1, active(x2)) 176.93/63.17 s(mark(x0)) 176.93/63.17 s(active(x0)) 176.93/63.17 plus(mark(x0), x1) 176.93/63.17 plus(x0, mark(x1)) 176.93/63.17 plus(active(x0), x1) 176.93/63.17 plus(x0, active(x1)) 176.93/63.17 176.93/63.17 We have to consider all minimal (P,Q,R)-chains. 176.93/63.17 ---------------------------------------- 176.93/63.17 176.93/63.17 (36) QReductionProof (EQUIVALENT) 176.93/63.17 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 176.93/63.17 176.93/63.17 U11(mark(x0), x1, x2) 176.93/63.17 U11(x0, mark(x1), x2) 176.93/63.17 U11(x0, x1, mark(x2)) 176.93/63.17 U11(active(x0), x1, x2) 176.93/63.17 U11(x0, active(x1), x2) 176.93/63.17 U11(x0, x1, active(x2)) 176.93/63.17 U12(mark(x0), x1, x2) 176.93/63.17 U12(x0, mark(x1), x2) 176.93/63.17 U12(x0, x1, mark(x2)) 176.93/63.17 U12(active(x0), x1, x2) 176.93/63.17 U12(x0, active(x1), x2) 176.93/63.17 U12(x0, x1, active(x2)) 176.93/63.17 isNatKind(mark(x0)) 176.93/63.17 isNatKind(active(x0)) 176.93/63.17 U13(mark(x0), x1, x2) 176.93/63.17 U13(x0, mark(x1), x2) 176.93/63.17 U13(x0, x1, mark(x2)) 176.93/63.17 U13(active(x0), x1, x2) 176.93/63.17 U13(x0, active(x1), x2) 176.93/63.17 U13(x0, x1, active(x2)) 176.93/63.17 U14(mark(x0), x1, x2) 176.93/63.17 U14(x0, mark(x1), x2) 176.93/63.17 U14(x0, x1, mark(x2)) 176.93/63.17 U14(active(x0), x1, x2) 176.93/63.17 U14(x0, active(x1), x2) 176.93/63.17 U14(x0, x1, active(x2)) 176.93/63.17 U15(mark(x0), x1) 176.93/63.17 U15(x0, mark(x1)) 176.93/63.17 U15(active(x0), x1) 176.93/63.17 U15(x0, active(x1)) 176.93/63.17 isNat(mark(x0)) 176.93/63.17 isNat(active(x0)) 176.93/63.17 U16(mark(x0)) 176.93/63.17 U16(active(x0)) 176.93/63.17 U21(mark(x0), x1) 176.93/63.17 U21(x0, mark(x1)) 176.93/63.17 U21(active(x0), x1) 176.93/63.17 U21(x0, active(x1)) 176.93/63.17 U22(mark(x0), x1) 176.93/63.17 U22(x0, mark(x1)) 176.93/63.17 U22(active(x0), x1) 176.93/63.17 U22(x0, active(x1)) 176.93/63.17 U23(mark(x0)) 176.93/63.17 U23(active(x0)) 176.93/63.17 U31(mark(x0), x1) 176.93/63.17 U31(x0, mark(x1)) 176.93/63.17 U31(active(x0), x1) 176.93/63.17 U31(x0, active(x1)) 176.93/63.17 U32(mark(x0)) 176.93/63.17 U32(active(x0)) 176.93/63.17 U41(mark(x0)) 176.93/63.17 U41(active(x0)) 176.93/63.17 U51(mark(x0), x1) 176.93/63.17 U51(x0, mark(x1)) 176.93/63.17 U51(active(x0), x1) 176.93/63.17 U51(x0, active(x1)) 176.93/63.17 U52(mark(x0), x1) 176.93/63.17 U52(x0, mark(x1)) 176.93/63.17 U52(active(x0), x1) 176.93/63.17 U52(x0, active(x1)) 176.93/63.17 U61(mark(x0), x1, x2) 176.93/63.17 U61(x0, mark(x1), x2) 176.93/63.17 U61(x0, x1, mark(x2)) 176.93/63.17 U61(active(x0), x1, x2) 176.93/63.17 U61(x0, active(x1), x2) 176.93/63.17 U61(x0, x1, active(x2)) 176.93/63.17 U62(mark(x0), x1, x2) 176.93/63.17 U62(x0, mark(x1), x2) 176.93/63.17 U62(x0, x1, mark(x2)) 176.93/63.17 U62(active(x0), x1, x2) 176.93/63.17 U62(x0, active(x1), x2) 176.93/63.17 U62(x0, x1, active(x2)) 176.93/63.17 U63(mark(x0), x1, x2) 176.93/63.17 U63(x0, mark(x1), x2) 176.93/63.17 U63(x0, x1, mark(x2)) 176.93/63.17 U63(active(x0), x1, x2) 176.93/63.17 U63(x0, active(x1), x2) 176.93/63.17 U63(x0, x1, active(x2)) 176.93/63.17 U64(mark(x0), x1, x2) 176.93/63.17 U64(x0, mark(x1), x2) 176.93/63.17 U64(x0, x1, mark(x2)) 176.93/63.17 U64(active(x0), x1, x2) 176.93/63.17 U64(x0, active(x1), x2) 176.93/63.17 U64(x0, x1, active(x2)) 176.93/63.17 s(mark(x0)) 176.93/63.17 s(active(x0)) 176.93/63.17 plus(mark(x0), x1) 176.93/63.17 plus(x0, mark(x1)) 176.93/63.17 plus(active(x0), x1) 176.93/63.17 plus(x0, active(x1)) 176.93/63.17 176.93/63.17 176.93/63.17 ---------------------------------------- 176.93/63.17 176.93/63.17 (37) 176.93/63.17 Obligation: 176.93/63.17 Q DP problem: 176.93/63.17 The TRS P consists of the following rules: 176.93/63.17 176.93/63.17 U62^1(X1, mark(X2), X3) -> U62^1(X1, X2, X3) 176.93/63.17 U62^1(mark(X1), X2, X3) -> U62^1(X1, X2, X3) 176.93/63.17 U62^1(X1, X2, mark(X3)) -> U62^1(X1, X2, X3) 176.93/63.17 U62^1(active(X1), X2, X3) -> U62^1(X1, X2, X3) 176.93/63.17 U62^1(X1, active(X2), X3) -> U62^1(X1, X2, X3) 176.93/63.17 U62^1(X1, X2, active(X3)) -> U62^1(X1, X2, X3) 176.93/63.17 176.93/63.17 R is empty. 176.93/63.17 The set Q consists of the following terms: 176.93/63.17 176.93/63.17 active(U11(tt, x0, x1)) 176.93/63.17 active(U12(tt, x0, x1)) 176.93/63.17 active(U13(tt, x0, x1)) 176.93/63.17 active(U14(tt, x0, x1)) 176.93/63.17 active(U15(tt, x0)) 176.93/63.17 active(U16(tt)) 176.93/63.17 active(U21(tt, x0)) 176.93/63.17 active(U22(tt, x0)) 176.93/63.17 active(U23(tt)) 176.93/63.17 active(U31(tt, x0)) 176.93/63.17 active(U32(tt)) 176.93/63.17 active(U41(tt)) 176.93/63.17 active(U51(tt, x0)) 176.93/63.17 active(U52(tt, x0)) 176.93/63.17 active(U61(tt, x0, x1)) 176.93/63.17 active(U62(tt, x0, x1)) 176.93/63.17 active(U63(tt, x0, x1)) 176.93/63.17 active(U64(tt, x0, x1)) 176.93/63.17 active(isNat(0)) 176.93/63.17 active(isNat(plus(x0, x1))) 176.93/63.17 active(isNat(s(x0))) 176.93/63.17 active(isNatKind(0)) 176.93/63.17 active(isNatKind(plus(x0, x1))) 176.93/63.17 active(isNatKind(s(x0))) 176.93/63.17 active(plus(x0, 0)) 176.93/63.17 active(plus(x0, s(x1))) 176.93/63.17 mark(U11(x0, x1, x2)) 176.93/63.17 mark(tt) 176.93/63.17 mark(U12(x0, x1, x2)) 176.93/63.17 mark(isNatKind(x0)) 176.93/63.17 mark(U13(x0, x1, x2)) 176.93/63.17 mark(U14(x0, x1, x2)) 176.93/63.17 mark(U15(x0, x1)) 176.93/63.17 mark(isNat(x0)) 176.93/63.17 mark(U16(x0)) 176.93/63.17 mark(U21(x0, x1)) 176.93/63.17 mark(U22(x0, x1)) 176.93/63.17 mark(U23(x0)) 176.93/63.17 mark(U31(x0, x1)) 176.93/63.17 mark(U32(x0)) 176.93/63.17 mark(U41(x0)) 176.93/63.17 mark(U51(x0, x1)) 176.93/63.17 mark(U52(x0, x1)) 176.93/63.17 mark(U61(x0, x1, x2)) 176.93/63.17 mark(U62(x0, x1, x2)) 176.93/63.17 mark(U63(x0, x1, x2)) 176.93/63.17 mark(U64(x0, x1, x2)) 176.93/63.17 mark(s(x0)) 176.93/63.17 mark(plus(x0, x1)) 176.93/63.17 mark(0) 176.93/63.17 176.93/63.17 We have to consider all minimal (P,Q,R)-chains. 176.93/63.17 ---------------------------------------- 176.93/63.17 176.93/63.17 (38) QDPSizeChangeProof (EQUIVALENT) 176.93/63.17 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. 176.93/63.17 176.93/63.17 From the DPs we obtained the following set of size-change graphs: 176.93/63.17 *U62^1(X1, mark(X2), X3) -> U62^1(X1, X2, X3) 176.93/63.17 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 176.93/63.17 176.93/63.17 176.93/63.17 *U62^1(mark(X1), X2, X3) -> U62^1(X1, X2, X3) 176.93/63.17 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 176.93/63.17 176.93/63.17 176.93/63.17 *U62^1(X1, X2, mark(X3)) -> U62^1(X1, X2, X3) 176.93/63.17 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 176.93/63.17 176.93/63.17 176.93/63.17 *U62^1(active(X1), X2, X3) -> U62^1(X1, X2, X3) 176.93/63.17 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 176.93/63.17 176.93/63.17 176.93/63.17 *U62^1(X1, active(X2), X3) -> U62^1(X1, X2, X3) 176.93/63.17 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 176.93/63.17 176.93/63.17 176.93/63.17 *U62^1(X1, X2, active(X3)) -> U62^1(X1, X2, X3) 176.93/63.17 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 176.93/63.17 176.93/63.17 176.93/63.17 ---------------------------------------- 176.93/63.17 176.93/63.17 (39) 176.93/63.17 YES 176.93/63.17 176.93/63.17 ---------------------------------------- 176.93/63.17 176.93/63.17 (40) 176.93/63.17 Obligation: 176.93/63.17 Q DP problem: 176.93/63.17 The TRS P consists of the following rules: 176.93/63.17 176.93/63.17 U61^1(X1, mark(X2), X3) -> U61^1(X1, X2, X3) 176.93/63.17 U61^1(mark(X1), X2, X3) -> U61^1(X1, X2, X3) 176.93/63.17 U61^1(X1, X2, mark(X3)) -> U61^1(X1, X2, X3) 176.93/63.17 U61^1(active(X1), X2, X3) -> U61^1(X1, X2, X3) 176.93/63.17 U61^1(X1, active(X2), X3) -> U61^1(X1, X2, X3) 176.93/63.17 U61^1(X1, X2, active(X3)) -> U61^1(X1, X2, X3) 176.93/63.17 176.93/63.17 The TRS R consists of the following rules: 176.93/63.17 176.93/63.17 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 176.93/63.17 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 176.93/63.17 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 176.93/63.17 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 176.93/63.17 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 176.93/63.17 active(U16(tt)) -> mark(tt) 176.93/63.17 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 176.93/63.17 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 176.93/63.17 active(U23(tt)) -> mark(tt) 176.93/63.17 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 176.93/63.17 active(U32(tt)) -> mark(tt) 176.93/63.17 active(U41(tt)) -> mark(tt) 176.93/63.17 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 176.93/63.17 active(U52(tt, N)) -> mark(N) 176.93/63.17 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 176.93/63.17 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 176.93/63.17 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 176.93/63.17 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 176.93/63.17 active(isNat(0)) -> mark(tt) 176.93/63.17 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 176.93/63.17 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 176.93/63.17 active(isNatKind(0)) -> mark(tt) 176.93/63.17 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 176.93/63.17 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 176.93/63.17 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 176.93/63.17 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 176.93/63.17 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 176.93/63.17 mark(tt) -> active(tt) 176.93/63.17 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 176.93/63.17 mark(isNatKind(X)) -> active(isNatKind(X)) 176.93/63.17 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 176.93/63.17 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 176.93/63.17 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 176.93/63.17 mark(isNat(X)) -> active(isNat(X)) 176.93/63.17 mark(U16(X)) -> active(U16(mark(X))) 176.93/63.17 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 176.93/63.17 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 176.93/63.17 mark(U23(X)) -> active(U23(mark(X))) 176.93/63.17 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 176.93/63.17 mark(U32(X)) -> active(U32(mark(X))) 176.93/63.17 mark(U41(X)) -> active(U41(mark(X))) 176.93/63.17 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 176.93/63.17 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 176.93/63.17 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 176.93/63.17 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 176.93/63.17 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 176.93/63.17 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 176.93/63.17 mark(s(X)) -> active(s(mark(X))) 176.93/63.17 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 176.93/63.17 mark(0) -> active(0) 176.93/63.17 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 176.93/63.17 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 176.93/63.17 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 176.93/63.17 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 176.93/63.17 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 176.93/63.17 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 176.93/63.17 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 176.93/63.17 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 176.93/63.17 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 176.93/63.17 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 176.93/63.17 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 176.93/63.17 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 176.93/63.17 isNatKind(mark(X)) -> isNatKind(X) 176.93/63.17 isNatKind(active(X)) -> isNatKind(X) 176.93/63.17 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 176.93/63.17 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 176.93/63.17 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 176.93/63.17 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 176.93/63.17 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 176.93/63.17 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 176.93/63.17 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 176.93/63.17 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 176.93/63.17 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 176.93/63.17 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 176.93/63.17 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 176.93/63.17 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 176.93/63.17 U15(mark(X1), X2) -> U15(X1, X2) 176.93/63.17 U15(X1, mark(X2)) -> U15(X1, X2) 176.93/63.17 U15(active(X1), X2) -> U15(X1, X2) 176.93/63.17 U15(X1, active(X2)) -> U15(X1, X2) 176.93/63.17 isNat(mark(X)) -> isNat(X) 176.93/63.17 isNat(active(X)) -> isNat(X) 176.93/63.17 U16(mark(X)) -> U16(X) 176.93/63.17 U16(active(X)) -> U16(X) 176.93/63.17 U21(mark(X1), X2) -> U21(X1, X2) 176.93/63.17 U21(X1, mark(X2)) -> U21(X1, X2) 176.93/63.17 U21(active(X1), X2) -> U21(X1, X2) 176.93/63.17 U21(X1, active(X2)) -> U21(X1, X2) 176.93/63.17 U22(mark(X1), X2) -> U22(X1, X2) 176.93/63.17 U22(X1, mark(X2)) -> U22(X1, X2) 176.93/63.17 U22(active(X1), X2) -> U22(X1, X2) 176.93/63.17 U22(X1, active(X2)) -> U22(X1, X2) 176.93/63.17 U23(mark(X)) -> U23(X) 176.93/63.17 U23(active(X)) -> U23(X) 176.93/63.17 U31(mark(X1), X2) -> U31(X1, X2) 176.93/63.17 U31(X1, mark(X2)) -> U31(X1, X2) 176.93/63.17 U31(active(X1), X2) -> U31(X1, X2) 176.93/63.17 U31(X1, active(X2)) -> U31(X1, X2) 176.93/63.17 U32(mark(X)) -> U32(X) 176.93/63.17 U32(active(X)) -> U32(X) 176.93/63.17 U41(mark(X)) -> U41(X) 176.93/63.17 U41(active(X)) -> U41(X) 176.93/63.17 U51(mark(X1), X2) -> U51(X1, X2) 176.93/63.17 U51(X1, mark(X2)) -> U51(X1, X2) 176.93/63.17 U51(active(X1), X2) -> U51(X1, X2) 176.93/63.17 U51(X1, active(X2)) -> U51(X1, X2) 176.93/63.17 U52(mark(X1), X2) -> U52(X1, X2) 176.93/63.17 U52(X1, mark(X2)) -> U52(X1, X2) 176.93/63.17 U52(active(X1), X2) -> U52(X1, X2) 176.93/63.17 U52(X1, active(X2)) -> U52(X1, X2) 176.93/63.17 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 176.93/63.17 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 176.93/63.17 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 176.93/63.17 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 176.93/63.17 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 176.93/63.17 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 176.93/63.17 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 176.93/63.17 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 176.93/63.17 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 176.93/63.17 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 176.93/63.17 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 176.93/63.17 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 176.93/63.17 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 176.93/63.17 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 176.93/63.17 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 176.93/63.17 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 176.93/63.17 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 176.93/63.17 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 176.93/63.17 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 176.93/63.17 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 176.93/63.17 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 176.93/63.17 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 176.93/63.17 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 176.93/63.17 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 176.93/63.17 s(mark(X)) -> s(X) 176.93/63.17 s(active(X)) -> s(X) 176.93/63.17 plus(mark(X1), X2) -> plus(X1, X2) 176.93/63.17 plus(X1, mark(X2)) -> plus(X1, X2) 176.93/63.17 plus(active(X1), X2) -> plus(X1, X2) 176.93/63.17 plus(X1, active(X2)) -> plus(X1, X2) 176.93/63.17 176.93/63.17 The set Q consists of the following terms: 176.93/63.17 176.93/63.17 active(U11(tt, x0, x1)) 176.93/63.17 active(U12(tt, x0, x1)) 176.93/63.17 active(U13(tt, x0, x1)) 176.93/63.17 active(U14(tt, x0, x1)) 176.93/63.17 active(U15(tt, x0)) 176.93/63.17 active(U16(tt)) 176.93/63.17 active(U21(tt, x0)) 176.93/63.17 active(U22(tt, x0)) 176.93/63.17 active(U23(tt)) 176.93/63.17 active(U31(tt, x0)) 176.93/63.17 active(U32(tt)) 176.93/63.17 active(U41(tt)) 176.93/63.17 active(U51(tt, x0)) 176.93/63.17 active(U52(tt, x0)) 176.93/63.17 active(U61(tt, x0, x1)) 176.93/63.17 active(U62(tt, x0, x1)) 176.93/63.17 active(U63(tt, x0, x1)) 176.93/63.17 active(U64(tt, x0, x1)) 176.93/63.17 active(isNat(0)) 176.93/63.17 active(isNat(plus(x0, x1))) 176.93/63.17 active(isNat(s(x0))) 176.93/63.17 active(isNatKind(0)) 176.93/63.17 active(isNatKind(plus(x0, x1))) 176.93/63.17 active(isNatKind(s(x0))) 176.93/63.17 active(plus(x0, 0)) 176.93/63.17 active(plus(x0, s(x1))) 176.93/63.17 mark(U11(x0, x1, x2)) 176.93/63.17 mark(tt) 176.93/63.17 mark(U12(x0, x1, x2)) 176.93/63.17 mark(isNatKind(x0)) 176.93/63.17 mark(U13(x0, x1, x2)) 176.93/63.17 mark(U14(x0, x1, x2)) 176.93/63.17 mark(U15(x0, x1)) 176.93/63.17 mark(isNat(x0)) 176.93/63.17 mark(U16(x0)) 176.93/63.17 mark(U21(x0, x1)) 176.93/63.17 mark(U22(x0, x1)) 176.93/63.17 mark(U23(x0)) 176.93/63.17 mark(U31(x0, x1)) 176.93/63.17 mark(U32(x0)) 176.93/63.17 mark(U41(x0)) 176.93/63.17 mark(U51(x0, x1)) 176.93/63.17 mark(U52(x0, x1)) 176.93/63.17 mark(U61(x0, x1, x2)) 176.93/63.17 mark(U62(x0, x1, x2)) 176.93/63.17 mark(U63(x0, x1, x2)) 176.93/63.17 mark(U64(x0, x1, x2)) 176.93/63.17 mark(s(x0)) 176.93/63.17 mark(plus(x0, x1)) 176.93/63.17 mark(0) 176.93/63.17 U11(mark(x0), x1, x2) 176.93/63.17 U11(x0, mark(x1), x2) 176.93/63.17 U11(x0, x1, mark(x2)) 176.93/63.17 U11(active(x0), x1, x2) 176.93/63.17 U11(x0, active(x1), x2) 176.93/63.17 U11(x0, x1, active(x2)) 176.93/63.17 U12(mark(x0), x1, x2) 176.93/63.17 U12(x0, mark(x1), x2) 176.93/63.17 U12(x0, x1, mark(x2)) 176.93/63.17 U12(active(x0), x1, x2) 176.93/63.17 U12(x0, active(x1), x2) 176.93/63.17 U12(x0, x1, active(x2)) 176.93/63.17 isNatKind(mark(x0)) 176.93/63.17 isNatKind(active(x0)) 176.93/63.17 U13(mark(x0), x1, x2) 176.93/63.17 U13(x0, mark(x1), x2) 176.93/63.17 U13(x0, x1, mark(x2)) 176.93/63.17 U13(active(x0), x1, x2) 176.93/63.17 U13(x0, active(x1), x2) 176.93/63.17 U13(x0, x1, active(x2)) 176.93/63.17 U14(mark(x0), x1, x2) 176.93/63.17 U14(x0, mark(x1), x2) 176.93/63.17 U14(x0, x1, mark(x2)) 176.93/63.17 U14(active(x0), x1, x2) 176.93/63.17 U14(x0, active(x1), x2) 176.93/63.17 U14(x0, x1, active(x2)) 176.93/63.17 U15(mark(x0), x1) 176.93/63.17 U15(x0, mark(x1)) 176.93/63.17 U15(active(x0), x1) 176.93/63.17 U15(x0, active(x1)) 176.93/63.17 isNat(mark(x0)) 176.93/63.17 isNat(active(x0)) 176.93/63.17 U16(mark(x0)) 176.93/63.17 U16(active(x0)) 176.93/63.17 U21(mark(x0), x1) 176.93/63.17 U21(x0, mark(x1)) 176.93/63.17 U21(active(x0), x1) 176.93/63.17 U21(x0, active(x1)) 176.93/63.17 U22(mark(x0), x1) 176.93/63.17 U22(x0, mark(x1)) 176.93/63.17 U22(active(x0), x1) 176.93/63.17 U22(x0, active(x1)) 176.93/63.17 U23(mark(x0)) 176.93/63.17 U23(active(x0)) 176.93/63.17 U31(mark(x0), x1) 176.93/63.17 U31(x0, mark(x1)) 176.93/63.17 U31(active(x0), x1) 176.93/63.17 U31(x0, active(x1)) 176.93/63.17 U32(mark(x0)) 176.93/63.17 U32(active(x0)) 176.93/63.17 U41(mark(x0)) 176.93/63.17 U41(active(x0)) 176.93/63.17 U51(mark(x0), x1) 176.93/63.17 U51(x0, mark(x1)) 176.93/63.17 U51(active(x0), x1) 176.93/63.17 U51(x0, active(x1)) 176.93/63.17 U52(mark(x0), x1) 176.93/63.17 U52(x0, mark(x1)) 176.93/63.17 U52(active(x0), x1) 176.93/63.17 U52(x0, active(x1)) 176.93/63.17 U61(mark(x0), x1, x2) 176.93/63.17 U61(x0, mark(x1), x2) 176.93/63.17 U61(x0, x1, mark(x2)) 176.93/63.17 U61(active(x0), x1, x2) 176.93/63.17 U61(x0, active(x1), x2) 176.93/63.17 U61(x0, x1, active(x2)) 176.93/63.17 U62(mark(x0), x1, x2) 176.93/63.17 U62(x0, mark(x1), x2) 176.93/63.17 U62(x0, x1, mark(x2)) 176.93/63.17 U62(active(x0), x1, x2) 176.93/63.17 U62(x0, active(x1), x2) 176.93/63.17 U62(x0, x1, active(x2)) 176.93/63.17 U63(mark(x0), x1, x2) 176.93/63.17 U63(x0, mark(x1), x2) 176.93/63.17 U63(x0, x1, mark(x2)) 176.93/63.17 U63(active(x0), x1, x2) 176.93/63.17 U63(x0, active(x1), x2) 176.93/63.17 U63(x0, x1, active(x2)) 176.93/63.17 U64(mark(x0), x1, x2) 176.93/63.17 U64(x0, mark(x1), x2) 176.93/63.17 U64(x0, x1, mark(x2)) 176.93/63.17 U64(active(x0), x1, x2) 176.93/63.17 U64(x0, active(x1), x2) 176.93/63.17 U64(x0, x1, active(x2)) 176.93/63.17 s(mark(x0)) 176.93/63.17 s(active(x0)) 176.93/63.17 plus(mark(x0), x1) 176.93/63.17 plus(x0, mark(x1)) 176.93/63.17 plus(active(x0), x1) 176.93/63.17 plus(x0, active(x1)) 176.93/63.17 176.93/63.17 We have to consider all minimal (P,Q,R)-chains. 176.93/63.17 ---------------------------------------- 176.93/63.17 176.93/63.17 (41) UsableRulesProof (EQUIVALENT) 176.93/63.17 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. 176.93/63.17 ---------------------------------------- 176.93/63.17 176.93/63.17 (42) 176.93/63.17 Obligation: 176.93/63.17 Q DP problem: 176.93/63.17 The TRS P consists of the following rules: 176.93/63.17 176.93/63.17 U61^1(X1, mark(X2), X3) -> U61^1(X1, X2, X3) 176.93/63.17 U61^1(mark(X1), X2, X3) -> U61^1(X1, X2, X3) 176.93/63.17 U61^1(X1, X2, mark(X3)) -> U61^1(X1, X2, X3) 176.93/63.17 U61^1(active(X1), X2, X3) -> U61^1(X1, X2, X3) 176.93/63.17 U61^1(X1, active(X2), X3) -> U61^1(X1, X2, X3) 176.93/63.17 U61^1(X1, X2, active(X3)) -> U61^1(X1, X2, X3) 176.93/63.17 176.93/63.17 R is empty. 176.93/63.17 The set Q consists of the following terms: 176.93/63.17 176.93/63.17 active(U11(tt, x0, x1)) 176.93/63.17 active(U12(tt, x0, x1)) 176.93/63.17 active(U13(tt, x0, x1)) 176.93/63.17 active(U14(tt, x0, x1)) 176.93/63.17 active(U15(tt, x0)) 176.93/63.17 active(U16(tt)) 176.93/63.17 active(U21(tt, x0)) 176.93/63.17 active(U22(tt, x0)) 176.93/63.17 active(U23(tt)) 176.93/63.17 active(U31(tt, x0)) 176.93/63.17 active(U32(tt)) 176.93/63.17 active(U41(tt)) 176.93/63.17 active(U51(tt, x0)) 176.93/63.17 active(U52(tt, x0)) 176.93/63.17 active(U61(tt, x0, x1)) 176.93/63.17 active(U62(tt, x0, x1)) 176.93/63.17 active(U63(tt, x0, x1)) 176.93/63.17 active(U64(tt, x0, x1)) 176.93/63.17 active(isNat(0)) 176.93/63.17 active(isNat(plus(x0, x1))) 176.93/63.17 active(isNat(s(x0))) 176.93/63.17 active(isNatKind(0)) 176.93/63.17 active(isNatKind(plus(x0, x1))) 176.93/63.17 active(isNatKind(s(x0))) 176.93/63.17 active(plus(x0, 0)) 176.93/63.17 active(plus(x0, s(x1))) 176.93/63.17 mark(U11(x0, x1, x2)) 176.93/63.17 mark(tt) 176.93/63.17 mark(U12(x0, x1, x2)) 176.93/63.17 mark(isNatKind(x0)) 176.93/63.17 mark(U13(x0, x1, x2)) 176.93/63.17 mark(U14(x0, x1, x2)) 176.93/63.17 mark(U15(x0, x1)) 176.93/63.17 mark(isNat(x0)) 176.93/63.17 mark(U16(x0)) 176.93/63.17 mark(U21(x0, x1)) 176.93/63.17 mark(U22(x0, x1)) 176.93/63.17 mark(U23(x0)) 176.93/63.17 mark(U31(x0, x1)) 176.93/63.17 mark(U32(x0)) 176.93/63.17 mark(U41(x0)) 176.93/63.17 mark(U51(x0, x1)) 176.93/63.17 mark(U52(x0, x1)) 176.93/63.17 mark(U61(x0, x1, x2)) 176.93/63.17 mark(U62(x0, x1, x2)) 176.93/63.17 mark(U63(x0, x1, x2)) 176.93/63.17 mark(U64(x0, x1, x2)) 176.93/63.17 mark(s(x0)) 176.93/63.17 mark(plus(x0, x1)) 176.93/63.17 mark(0) 176.93/63.17 U11(mark(x0), x1, x2) 176.93/63.17 U11(x0, mark(x1), x2) 176.93/63.17 U11(x0, x1, mark(x2)) 176.93/63.17 U11(active(x0), x1, x2) 176.93/63.17 U11(x0, active(x1), x2) 176.93/63.17 U11(x0, x1, active(x2)) 176.93/63.17 U12(mark(x0), x1, x2) 176.93/63.17 U12(x0, mark(x1), x2) 176.93/63.17 U12(x0, x1, mark(x2)) 176.93/63.17 U12(active(x0), x1, x2) 176.93/63.17 U12(x0, active(x1), x2) 176.93/63.17 U12(x0, x1, active(x2)) 176.93/63.17 isNatKind(mark(x0)) 176.93/63.17 isNatKind(active(x0)) 176.93/63.17 U13(mark(x0), x1, x2) 176.93/63.17 U13(x0, mark(x1), x2) 176.93/63.17 U13(x0, x1, mark(x2)) 176.93/63.17 U13(active(x0), x1, x2) 176.93/63.17 U13(x0, active(x1), x2) 176.93/63.17 U13(x0, x1, active(x2)) 176.93/63.17 U14(mark(x0), x1, x2) 176.93/63.17 U14(x0, mark(x1), x2) 176.93/63.17 U14(x0, x1, mark(x2)) 176.93/63.17 U14(active(x0), x1, x2) 176.93/63.17 U14(x0, active(x1), x2) 176.93/63.17 U14(x0, x1, active(x2)) 176.93/63.17 U15(mark(x0), x1) 176.93/63.17 U15(x0, mark(x1)) 176.93/63.17 U15(active(x0), x1) 176.93/63.17 U15(x0, active(x1)) 176.93/63.17 isNat(mark(x0)) 176.93/63.17 isNat(active(x0)) 176.93/63.17 U16(mark(x0)) 176.93/63.17 U16(active(x0)) 176.93/63.17 U21(mark(x0), x1) 176.93/63.17 U21(x0, mark(x1)) 176.93/63.17 U21(active(x0), x1) 176.93/63.17 U21(x0, active(x1)) 176.93/63.17 U22(mark(x0), x1) 176.93/63.17 U22(x0, mark(x1)) 176.93/63.17 U22(active(x0), x1) 176.93/63.17 U22(x0, active(x1)) 176.93/63.17 U23(mark(x0)) 176.93/63.17 U23(active(x0)) 176.93/63.17 U31(mark(x0), x1) 176.93/63.17 U31(x0, mark(x1)) 176.93/63.17 U31(active(x0), x1) 176.93/63.17 U31(x0, active(x1)) 176.93/63.17 U32(mark(x0)) 176.93/63.17 U32(active(x0)) 176.93/63.17 U41(mark(x0)) 176.93/63.17 U41(active(x0)) 176.93/63.17 U51(mark(x0), x1) 176.93/63.17 U51(x0, mark(x1)) 176.93/63.17 U51(active(x0), x1) 176.93/63.17 U51(x0, active(x1)) 176.93/63.17 U52(mark(x0), x1) 176.93/63.17 U52(x0, mark(x1)) 176.93/63.17 U52(active(x0), x1) 176.93/63.17 U52(x0, active(x1)) 176.93/63.17 U61(mark(x0), x1, x2) 176.93/63.17 U61(x0, mark(x1), x2) 176.93/63.17 U61(x0, x1, mark(x2)) 176.93/63.17 U61(active(x0), x1, x2) 176.93/63.17 U61(x0, active(x1), x2) 176.93/63.17 U61(x0, x1, active(x2)) 176.93/63.17 U62(mark(x0), x1, x2) 176.93/63.17 U62(x0, mark(x1), x2) 176.93/63.17 U62(x0, x1, mark(x2)) 176.93/63.17 U62(active(x0), x1, x2) 176.93/63.17 U62(x0, active(x1), x2) 176.93/63.17 U62(x0, x1, active(x2)) 176.93/63.17 U63(mark(x0), x1, x2) 176.93/63.17 U63(x0, mark(x1), x2) 176.93/63.17 U63(x0, x1, mark(x2)) 176.93/63.17 U63(active(x0), x1, x2) 176.93/63.17 U63(x0, active(x1), x2) 176.93/63.17 U63(x0, x1, active(x2)) 176.93/63.17 U64(mark(x0), x1, x2) 176.93/63.17 U64(x0, mark(x1), x2) 176.93/63.17 U64(x0, x1, mark(x2)) 176.93/63.17 U64(active(x0), x1, x2) 176.93/63.17 U64(x0, active(x1), x2) 176.93/63.17 U64(x0, x1, active(x2)) 176.93/63.17 s(mark(x0)) 176.93/63.17 s(active(x0)) 176.93/63.17 plus(mark(x0), x1) 176.93/63.17 plus(x0, mark(x1)) 176.93/63.17 plus(active(x0), x1) 176.93/63.17 plus(x0, active(x1)) 176.93/63.17 176.93/63.17 We have to consider all minimal (P,Q,R)-chains. 176.93/63.17 ---------------------------------------- 176.93/63.17 176.93/63.17 (43) QReductionProof (EQUIVALENT) 176.93/63.17 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 176.93/63.17 176.93/63.17 U11(mark(x0), x1, x2) 176.93/63.17 U11(x0, mark(x1), x2) 176.93/63.17 U11(x0, x1, mark(x2)) 176.93/63.17 U11(active(x0), x1, x2) 176.93/63.17 U11(x0, active(x1), x2) 176.93/63.17 U11(x0, x1, active(x2)) 176.93/63.17 U12(mark(x0), x1, x2) 176.93/63.17 U12(x0, mark(x1), x2) 176.93/63.17 U12(x0, x1, mark(x2)) 176.93/63.17 U12(active(x0), x1, x2) 176.93/63.17 U12(x0, active(x1), x2) 176.93/63.17 U12(x0, x1, active(x2)) 176.93/63.17 isNatKind(mark(x0)) 176.93/63.17 isNatKind(active(x0)) 176.93/63.17 U13(mark(x0), x1, x2) 176.93/63.17 U13(x0, mark(x1), x2) 176.93/63.17 U13(x0, x1, mark(x2)) 176.93/63.17 U13(active(x0), x1, x2) 176.93/63.17 U13(x0, active(x1), x2) 176.93/63.17 U13(x0, x1, active(x2)) 176.93/63.17 U14(mark(x0), x1, x2) 176.93/63.17 U14(x0, mark(x1), x2) 176.93/63.17 U14(x0, x1, mark(x2)) 176.93/63.17 U14(active(x0), x1, x2) 176.93/63.17 U14(x0, active(x1), x2) 176.93/63.17 U14(x0, x1, active(x2)) 176.93/63.17 U15(mark(x0), x1) 176.93/63.17 U15(x0, mark(x1)) 176.93/63.17 U15(active(x0), x1) 176.93/63.17 U15(x0, active(x1)) 176.93/63.17 isNat(mark(x0)) 176.93/63.17 isNat(active(x0)) 176.93/63.17 U16(mark(x0)) 176.93/63.17 U16(active(x0)) 176.93/63.17 U21(mark(x0), x1) 176.93/63.17 U21(x0, mark(x1)) 176.93/63.17 U21(active(x0), x1) 176.93/63.17 U21(x0, active(x1)) 176.93/63.17 U22(mark(x0), x1) 176.93/63.17 U22(x0, mark(x1)) 176.93/63.17 U22(active(x0), x1) 176.93/63.17 U22(x0, active(x1)) 176.93/63.17 U23(mark(x0)) 176.93/63.17 U23(active(x0)) 176.93/63.17 U31(mark(x0), x1) 176.93/63.17 U31(x0, mark(x1)) 176.93/63.17 U31(active(x0), x1) 176.93/63.17 U31(x0, active(x1)) 176.93/63.17 U32(mark(x0)) 176.93/63.17 U32(active(x0)) 176.93/63.17 U41(mark(x0)) 176.93/63.17 U41(active(x0)) 176.93/63.17 U51(mark(x0), x1) 176.93/63.17 U51(x0, mark(x1)) 176.93/63.17 U51(active(x0), x1) 176.93/63.17 U51(x0, active(x1)) 176.93/63.17 U52(mark(x0), x1) 176.93/63.17 U52(x0, mark(x1)) 176.93/63.17 U52(active(x0), x1) 176.93/63.17 U52(x0, active(x1)) 176.93/63.17 U61(mark(x0), x1, x2) 176.93/63.17 U61(x0, mark(x1), x2) 176.93/63.17 U61(x0, x1, mark(x2)) 176.93/63.17 U61(active(x0), x1, x2) 176.93/63.17 U61(x0, active(x1), x2) 176.93/63.17 U61(x0, x1, active(x2)) 176.93/63.17 U62(mark(x0), x1, x2) 176.93/63.17 U62(x0, mark(x1), x2) 176.93/63.17 U62(x0, x1, mark(x2)) 176.93/63.17 U62(active(x0), x1, x2) 176.93/63.17 U62(x0, active(x1), x2) 176.93/63.17 U62(x0, x1, active(x2)) 176.93/63.17 U63(mark(x0), x1, x2) 176.93/63.17 U63(x0, mark(x1), x2) 176.93/63.17 U63(x0, x1, mark(x2)) 176.93/63.17 U63(active(x0), x1, x2) 176.93/63.17 U63(x0, active(x1), x2) 176.93/63.17 U63(x0, x1, active(x2)) 176.93/63.17 U64(mark(x0), x1, x2) 176.93/63.17 U64(x0, mark(x1), x2) 176.93/63.17 U64(x0, x1, mark(x2)) 176.93/63.17 U64(active(x0), x1, x2) 176.93/63.17 U64(x0, active(x1), x2) 176.93/63.17 U64(x0, x1, active(x2)) 176.93/63.17 s(mark(x0)) 176.93/63.17 s(active(x0)) 176.93/63.17 plus(mark(x0), x1) 176.93/63.17 plus(x0, mark(x1)) 176.93/63.17 plus(active(x0), x1) 176.93/63.17 plus(x0, active(x1)) 176.93/63.17 176.93/63.17 176.93/63.17 ---------------------------------------- 176.93/63.17 176.93/63.17 (44) 176.93/63.17 Obligation: 176.93/63.17 Q DP problem: 176.93/63.17 The TRS P consists of the following rules: 176.93/63.17 176.93/63.17 U61^1(X1, mark(X2), X3) -> U61^1(X1, X2, X3) 176.93/63.17 U61^1(mark(X1), X2, X3) -> U61^1(X1, X2, X3) 176.93/63.17 U61^1(X1, X2, mark(X3)) -> U61^1(X1, X2, X3) 176.93/63.17 U61^1(active(X1), X2, X3) -> U61^1(X1, X2, X3) 176.93/63.17 U61^1(X1, active(X2), X3) -> U61^1(X1, X2, X3) 176.93/63.17 U61^1(X1, X2, active(X3)) -> U61^1(X1, X2, X3) 176.93/63.17 176.93/63.17 R is empty. 176.93/63.17 The set Q consists of the following terms: 176.93/63.17 176.93/63.17 active(U11(tt, x0, x1)) 176.93/63.17 active(U12(tt, x0, x1)) 176.93/63.17 active(U13(tt, x0, x1)) 176.93/63.17 active(U14(tt, x0, x1)) 176.93/63.17 active(U15(tt, x0)) 176.93/63.17 active(U16(tt)) 176.93/63.17 active(U21(tt, x0)) 176.93/63.17 active(U22(tt, x0)) 176.93/63.17 active(U23(tt)) 176.93/63.17 active(U31(tt, x0)) 176.93/63.17 active(U32(tt)) 176.93/63.17 active(U41(tt)) 176.93/63.17 active(U51(tt, x0)) 176.93/63.17 active(U52(tt, x0)) 176.93/63.17 active(U61(tt, x0, x1)) 176.93/63.17 active(U62(tt, x0, x1)) 176.93/63.17 active(U63(tt, x0, x1)) 176.93/63.17 active(U64(tt, x0, x1)) 176.93/63.17 active(isNat(0)) 176.93/63.17 active(isNat(plus(x0, x1))) 176.93/63.17 active(isNat(s(x0))) 176.93/63.17 active(isNatKind(0)) 176.93/63.17 active(isNatKind(plus(x0, x1))) 176.93/63.17 active(isNatKind(s(x0))) 176.93/63.17 active(plus(x0, 0)) 176.93/63.17 active(plus(x0, s(x1))) 176.93/63.17 mark(U11(x0, x1, x2)) 176.93/63.17 mark(tt) 176.93/63.17 mark(U12(x0, x1, x2)) 176.93/63.17 mark(isNatKind(x0)) 176.93/63.17 mark(U13(x0, x1, x2)) 176.93/63.17 mark(U14(x0, x1, x2)) 176.93/63.17 mark(U15(x0, x1)) 176.93/63.17 mark(isNat(x0)) 176.93/63.17 mark(U16(x0)) 176.93/63.17 mark(U21(x0, x1)) 176.93/63.17 mark(U22(x0, x1)) 176.93/63.17 mark(U23(x0)) 176.93/63.17 mark(U31(x0, x1)) 176.93/63.17 mark(U32(x0)) 176.93/63.17 mark(U41(x0)) 176.93/63.17 mark(U51(x0, x1)) 176.93/63.17 mark(U52(x0, x1)) 176.93/63.17 mark(U61(x0, x1, x2)) 176.93/63.17 mark(U62(x0, x1, x2)) 176.93/63.17 mark(U63(x0, x1, x2)) 176.93/63.17 mark(U64(x0, x1, x2)) 176.93/63.17 mark(s(x0)) 176.93/63.17 mark(plus(x0, x1)) 176.93/63.17 mark(0) 176.93/63.17 176.93/63.17 We have to consider all minimal (P,Q,R)-chains. 176.93/63.17 ---------------------------------------- 176.93/63.17 176.93/63.17 (45) QDPSizeChangeProof (EQUIVALENT) 176.93/63.17 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. 176.93/63.17 176.93/63.17 From the DPs we obtained the following set of size-change graphs: 176.93/63.17 *U61^1(X1, mark(X2), X3) -> U61^1(X1, X2, X3) 176.93/63.17 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 176.93/63.17 176.93/63.17 176.93/63.17 *U61^1(mark(X1), X2, X3) -> U61^1(X1, X2, X3) 176.93/63.17 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 176.93/63.17 176.93/63.17 176.93/63.17 *U61^1(X1, X2, mark(X3)) -> U61^1(X1, X2, X3) 176.93/63.17 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 176.93/63.17 176.93/63.17 176.93/63.17 *U61^1(active(X1), X2, X3) -> U61^1(X1, X2, X3) 176.93/63.17 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 176.93/63.17 176.93/63.17 176.93/63.17 *U61^1(X1, active(X2), X3) -> U61^1(X1, X2, X3) 176.93/63.17 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 176.93/63.17 176.93/63.17 176.93/63.17 *U61^1(X1, X2, active(X3)) -> U61^1(X1, X2, X3) 176.93/63.17 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 176.93/63.17 176.93/63.17 176.93/63.17 ---------------------------------------- 176.93/63.17 176.93/63.17 (46) 176.93/63.17 YES 176.93/63.17 176.93/63.17 ---------------------------------------- 176.93/63.17 176.93/63.17 (47) 176.93/63.17 Obligation: 176.93/63.17 Q DP problem: 176.93/63.17 The TRS P consists of the following rules: 176.93/63.17 176.93/63.17 U52^1(X1, mark(X2)) -> U52^1(X1, X2) 176.93/63.17 U52^1(mark(X1), X2) -> U52^1(X1, X2) 176.93/63.17 U52^1(active(X1), X2) -> U52^1(X1, X2) 176.93/63.17 U52^1(X1, active(X2)) -> U52^1(X1, X2) 176.93/63.17 176.93/63.17 The TRS R consists of the following rules: 176.93/63.17 176.93/63.17 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 176.93/63.17 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 176.93/63.17 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 176.93/63.17 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 176.93/63.17 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 176.93/63.17 active(U16(tt)) -> mark(tt) 176.93/63.17 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 176.93/63.17 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 176.93/63.17 active(U23(tt)) -> mark(tt) 176.93/63.17 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 176.93/63.17 active(U32(tt)) -> mark(tt) 176.93/63.17 active(U41(tt)) -> mark(tt) 176.93/63.17 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 176.93/63.17 active(U52(tt, N)) -> mark(N) 176.93/63.17 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 176.93/63.17 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 176.93/63.17 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 176.93/63.17 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 176.93/63.17 active(isNat(0)) -> mark(tt) 176.93/63.17 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 176.93/63.17 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 176.93/63.17 active(isNatKind(0)) -> mark(tt) 176.93/63.17 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 176.93/63.17 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 176.93/63.17 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 176.93/63.17 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 176.93/63.17 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 176.93/63.17 mark(tt) -> active(tt) 176.93/63.17 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 176.93/63.17 mark(isNatKind(X)) -> active(isNatKind(X)) 176.93/63.17 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 176.93/63.17 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 176.93/63.17 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 176.93/63.17 mark(isNat(X)) -> active(isNat(X)) 176.93/63.17 mark(U16(X)) -> active(U16(mark(X))) 176.93/63.17 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 176.93/63.17 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 176.93/63.17 mark(U23(X)) -> active(U23(mark(X))) 176.93/63.17 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 176.93/63.17 mark(U32(X)) -> active(U32(mark(X))) 176.93/63.17 mark(U41(X)) -> active(U41(mark(X))) 176.93/63.17 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 176.93/63.17 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 176.93/63.17 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 176.93/63.17 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 176.93/63.17 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 176.93/63.17 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 176.93/63.17 mark(s(X)) -> active(s(mark(X))) 176.93/63.17 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 176.93/63.17 mark(0) -> active(0) 176.93/63.17 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 176.93/63.17 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 176.93/63.17 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 176.93/63.17 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 176.93/63.17 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 176.93/63.17 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 176.93/63.17 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 176.93/63.17 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 176.93/63.17 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 176.93/63.17 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 176.93/63.17 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 176.93/63.17 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 176.93/63.17 isNatKind(mark(X)) -> isNatKind(X) 176.93/63.17 isNatKind(active(X)) -> isNatKind(X) 176.93/63.17 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 176.93/63.17 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 176.93/63.17 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 176.93/63.17 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 176.93/63.17 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 176.93/63.17 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 176.93/63.17 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 176.93/63.17 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 176.93/63.17 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 176.93/63.17 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 176.93/63.17 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 176.93/63.17 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 176.93/63.17 U15(mark(X1), X2) -> U15(X1, X2) 176.93/63.17 U15(X1, mark(X2)) -> U15(X1, X2) 176.93/63.17 U15(active(X1), X2) -> U15(X1, X2) 176.93/63.17 U15(X1, active(X2)) -> U15(X1, X2) 176.93/63.17 isNat(mark(X)) -> isNat(X) 176.93/63.17 isNat(active(X)) -> isNat(X) 176.93/63.17 U16(mark(X)) -> U16(X) 176.93/63.17 U16(active(X)) -> U16(X) 176.93/63.17 U21(mark(X1), X2) -> U21(X1, X2) 176.93/63.17 U21(X1, mark(X2)) -> U21(X1, X2) 176.93/63.17 U21(active(X1), X2) -> U21(X1, X2) 176.93/63.17 U21(X1, active(X2)) -> U21(X1, X2) 176.93/63.17 U22(mark(X1), X2) -> U22(X1, X2) 176.93/63.17 U22(X1, mark(X2)) -> U22(X1, X2) 176.93/63.17 U22(active(X1), X2) -> U22(X1, X2) 176.93/63.17 U22(X1, active(X2)) -> U22(X1, X2) 176.93/63.17 U23(mark(X)) -> U23(X) 176.93/63.17 U23(active(X)) -> U23(X) 176.93/63.17 U31(mark(X1), X2) -> U31(X1, X2) 176.93/63.17 U31(X1, mark(X2)) -> U31(X1, X2) 176.93/63.17 U31(active(X1), X2) -> U31(X1, X2) 176.93/63.17 U31(X1, active(X2)) -> U31(X1, X2) 176.93/63.17 U32(mark(X)) -> U32(X) 176.93/63.17 U32(active(X)) -> U32(X) 176.93/63.17 U41(mark(X)) -> U41(X) 176.93/63.17 U41(active(X)) -> U41(X) 176.93/63.17 U51(mark(X1), X2) -> U51(X1, X2) 176.93/63.17 U51(X1, mark(X2)) -> U51(X1, X2) 176.93/63.17 U51(active(X1), X2) -> U51(X1, X2) 176.93/63.17 U51(X1, active(X2)) -> U51(X1, X2) 176.93/63.17 U52(mark(X1), X2) -> U52(X1, X2) 176.93/63.17 U52(X1, mark(X2)) -> U52(X1, X2) 176.93/63.17 U52(active(X1), X2) -> U52(X1, X2) 176.93/63.17 U52(X1, active(X2)) -> U52(X1, X2) 176.93/63.17 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 176.93/63.17 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 176.93/63.17 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 176.93/63.17 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 176.93/63.17 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 176.93/63.17 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 176.93/63.17 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 176.93/63.17 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 176.93/63.17 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 176.93/63.17 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 176.93/63.17 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 176.93/63.17 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 176.93/63.17 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 176.93/63.17 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 176.93/63.17 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 176.93/63.17 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 176.93/63.17 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 176.93/63.17 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 176.93/63.17 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 176.93/63.17 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 176.93/63.17 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 176.93/63.17 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 176.93/63.17 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 176.93/63.17 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 176.93/63.17 s(mark(X)) -> s(X) 176.93/63.17 s(active(X)) -> s(X) 176.93/63.17 plus(mark(X1), X2) -> plus(X1, X2) 176.93/63.17 plus(X1, mark(X2)) -> plus(X1, X2) 176.93/63.17 plus(active(X1), X2) -> plus(X1, X2) 176.93/63.17 plus(X1, active(X2)) -> plus(X1, X2) 176.93/63.17 176.93/63.17 The set Q consists of the following terms: 176.93/63.17 176.93/63.17 active(U11(tt, x0, x1)) 176.93/63.17 active(U12(tt, x0, x1)) 176.93/63.17 active(U13(tt, x0, x1)) 176.93/63.17 active(U14(tt, x0, x1)) 176.93/63.17 active(U15(tt, x0)) 176.93/63.17 active(U16(tt)) 176.93/63.17 active(U21(tt, x0)) 176.93/63.17 active(U22(tt, x0)) 176.93/63.17 active(U23(tt)) 176.93/63.17 active(U31(tt, x0)) 176.93/63.17 active(U32(tt)) 176.93/63.17 active(U41(tt)) 176.93/63.17 active(U51(tt, x0)) 176.93/63.17 active(U52(tt, x0)) 176.93/63.17 active(U61(tt, x0, x1)) 176.93/63.17 active(U62(tt, x0, x1)) 176.93/63.17 active(U63(tt, x0, x1)) 176.93/63.17 active(U64(tt, x0, x1)) 176.93/63.17 active(isNat(0)) 176.93/63.17 active(isNat(plus(x0, x1))) 176.93/63.17 active(isNat(s(x0))) 176.93/63.17 active(isNatKind(0)) 176.93/63.17 active(isNatKind(plus(x0, x1))) 176.93/63.17 active(isNatKind(s(x0))) 176.93/63.17 active(plus(x0, 0)) 176.93/63.17 active(plus(x0, s(x1))) 176.93/63.17 mark(U11(x0, x1, x2)) 176.93/63.17 mark(tt) 176.93/63.17 mark(U12(x0, x1, x2)) 176.93/63.17 mark(isNatKind(x0)) 176.93/63.17 mark(U13(x0, x1, x2)) 176.93/63.17 mark(U14(x0, x1, x2)) 176.93/63.17 mark(U15(x0, x1)) 176.93/63.17 mark(isNat(x0)) 176.93/63.17 mark(U16(x0)) 176.93/63.17 mark(U21(x0, x1)) 176.93/63.17 mark(U22(x0, x1)) 176.93/63.17 mark(U23(x0)) 176.93/63.17 mark(U31(x0, x1)) 176.93/63.17 mark(U32(x0)) 176.93/63.17 mark(U41(x0)) 176.93/63.17 mark(U51(x0, x1)) 176.93/63.17 mark(U52(x0, x1)) 176.93/63.17 mark(U61(x0, x1, x2)) 176.93/63.17 mark(U62(x0, x1, x2)) 176.93/63.17 mark(U63(x0, x1, x2)) 176.93/63.17 mark(U64(x0, x1, x2)) 176.93/63.17 mark(s(x0)) 176.93/63.17 mark(plus(x0, x1)) 176.93/63.17 mark(0) 176.93/63.17 U11(mark(x0), x1, x2) 176.93/63.17 U11(x0, mark(x1), x2) 176.93/63.17 U11(x0, x1, mark(x2)) 176.93/63.17 U11(active(x0), x1, x2) 176.93/63.17 U11(x0, active(x1), x2) 176.93/63.17 U11(x0, x1, active(x2)) 176.93/63.17 U12(mark(x0), x1, x2) 176.93/63.17 U12(x0, mark(x1), x2) 176.93/63.17 U12(x0, x1, mark(x2)) 176.93/63.17 U12(active(x0), x1, x2) 176.93/63.17 U12(x0, active(x1), x2) 176.93/63.17 U12(x0, x1, active(x2)) 176.93/63.17 isNatKind(mark(x0)) 176.93/63.17 isNatKind(active(x0)) 176.93/63.17 U13(mark(x0), x1, x2) 176.93/63.17 U13(x0, mark(x1), x2) 176.93/63.17 U13(x0, x1, mark(x2)) 176.93/63.17 U13(active(x0), x1, x2) 176.93/63.17 U13(x0, active(x1), x2) 176.93/63.17 U13(x0, x1, active(x2)) 176.93/63.17 U14(mark(x0), x1, x2) 176.93/63.17 U14(x0, mark(x1), x2) 176.93/63.17 U14(x0, x1, mark(x2)) 176.93/63.17 U14(active(x0), x1, x2) 176.93/63.17 U14(x0, active(x1), x2) 176.93/63.17 U14(x0, x1, active(x2)) 176.93/63.17 U15(mark(x0), x1) 176.93/63.17 U15(x0, mark(x1)) 176.93/63.17 U15(active(x0), x1) 176.93/63.17 U15(x0, active(x1)) 176.93/63.17 isNat(mark(x0)) 176.93/63.17 isNat(active(x0)) 176.93/63.17 U16(mark(x0)) 176.93/63.17 U16(active(x0)) 176.93/63.17 U21(mark(x0), x1) 176.93/63.17 U21(x0, mark(x1)) 176.93/63.17 U21(active(x0), x1) 176.93/63.17 U21(x0, active(x1)) 176.93/63.17 U22(mark(x0), x1) 176.93/63.17 U22(x0, mark(x1)) 176.93/63.17 U22(active(x0), x1) 176.93/63.17 U22(x0, active(x1)) 176.93/63.17 U23(mark(x0)) 176.93/63.17 U23(active(x0)) 176.93/63.17 U31(mark(x0), x1) 176.93/63.17 U31(x0, mark(x1)) 176.93/63.17 U31(active(x0), x1) 176.93/63.17 U31(x0, active(x1)) 176.93/63.17 U32(mark(x0)) 176.93/63.17 U32(active(x0)) 176.93/63.17 U41(mark(x0)) 176.93/63.17 U41(active(x0)) 176.93/63.17 U51(mark(x0), x1) 176.93/63.17 U51(x0, mark(x1)) 176.93/63.17 U51(active(x0), x1) 176.93/63.17 U51(x0, active(x1)) 176.93/63.17 U52(mark(x0), x1) 176.93/63.17 U52(x0, mark(x1)) 176.93/63.17 U52(active(x0), x1) 176.93/63.17 U52(x0, active(x1)) 176.93/63.17 U61(mark(x0), x1, x2) 176.93/63.17 U61(x0, mark(x1), x2) 176.93/63.17 U61(x0, x1, mark(x2)) 176.93/63.17 U61(active(x0), x1, x2) 176.93/63.17 U61(x0, active(x1), x2) 176.93/63.17 U61(x0, x1, active(x2)) 176.93/63.17 U62(mark(x0), x1, x2) 176.93/63.17 U62(x0, mark(x1), x2) 176.93/63.17 U62(x0, x1, mark(x2)) 176.93/63.17 U62(active(x0), x1, x2) 176.93/63.17 U62(x0, active(x1), x2) 176.93/63.17 U62(x0, x1, active(x2)) 176.93/63.17 U63(mark(x0), x1, x2) 176.93/63.17 U63(x0, mark(x1), x2) 176.93/63.17 U63(x0, x1, mark(x2)) 176.93/63.17 U63(active(x0), x1, x2) 176.93/63.17 U63(x0, active(x1), x2) 176.93/63.17 U63(x0, x1, active(x2)) 176.93/63.17 U64(mark(x0), x1, x2) 176.93/63.17 U64(x0, mark(x1), x2) 176.93/63.17 U64(x0, x1, mark(x2)) 176.93/63.17 U64(active(x0), x1, x2) 176.93/63.17 U64(x0, active(x1), x2) 176.93/63.17 U64(x0, x1, active(x2)) 176.93/63.17 s(mark(x0)) 176.93/63.17 s(active(x0)) 176.93/63.17 plus(mark(x0), x1) 176.93/63.17 plus(x0, mark(x1)) 176.93/63.17 plus(active(x0), x1) 176.93/63.17 plus(x0, active(x1)) 176.93/63.17 176.93/63.17 We have to consider all minimal (P,Q,R)-chains. 176.93/63.17 ---------------------------------------- 176.93/63.17 176.93/63.17 (48) UsableRulesProof (EQUIVALENT) 176.93/63.17 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. 176.93/63.17 ---------------------------------------- 176.93/63.17 176.93/63.17 (49) 176.93/63.17 Obligation: 176.93/63.17 Q DP problem: 176.93/63.17 The TRS P consists of the following rules: 176.93/63.17 176.93/63.17 U52^1(X1, mark(X2)) -> U52^1(X1, X2) 176.93/63.17 U52^1(mark(X1), X2) -> U52^1(X1, X2) 176.93/63.17 U52^1(active(X1), X2) -> U52^1(X1, X2) 176.93/63.17 U52^1(X1, active(X2)) -> U52^1(X1, X2) 176.93/63.17 176.93/63.17 R is empty. 176.93/63.17 The set Q consists of the following terms: 176.93/63.17 176.93/63.17 active(U11(tt, x0, x1)) 176.93/63.17 active(U12(tt, x0, x1)) 176.93/63.17 active(U13(tt, x0, x1)) 176.93/63.17 active(U14(tt, x0, x1)) 176.93/63.17 active(U15(tt, x0)) 176.93/63.17 active(U16(tt)) 176.93/63.17 active(U21(tt, x0)) 176.93/63.17 active(U22(tt, x0)) 176.93/63.17 active(U23(tt)) 176.93/63.17 active(U31(tt, x0)) 176.93/63.17 active(U32(tt)) 176.93/63.17 active(U41(tt)) 176.93/63.17 active(U51(tt, x0)) 176.93/63.17 active(U52(tt, x0)) 176.93/63.17 active(U61(tt, x0, x1)) 176.93/63.17 active(U62(tt, x0, x1)) 176.93/63.17 active(U63(tt, x0, x1)) 176.93/63.17 active(U64(tt, x0, x1)) 176.93/63.17 active(isNat(0)) 176.93/63.17 active(isNat(plus(x0, x1))) 176.93/63.17 active(isNat(s(x0))) 176.93/63.17 active(isNatKind(0)) 176.93/63.17 active(isNatKind(plus(x0, x1))) 176.93/63.17 active(isNatKind(s(x0))) 176.93/63.17 active(plus(x0, 0)) 176.93/63.17 active(plus(x0, s(x1))) 176.93/63.17 mark(U11(x0, x1, x2)) 176.93/63.17 mark(tt) 176.93/63.17 mark(U12(x0, x1, x2)) 176.93/63.17 mark(isNatKind(x0)) 176.93/63.17 mark(U13(x0, x1, x2)) 176.93/63.17 mark(U14(x0, x1, x2)) 176.93/63.17 mark(U15(x0, x1)) 176.93/63.17 mark(isNat(x0)) 176.93/63.17 mark(U16(x0)) 176.93/63.17 mark(U21(x0, x1)) 176.93/63.17 mark(U22(x0, x1)) 176.93/63.17 mark(U23(x0)) 176.93/63.17 mark(U31(x0, x1)) 176.93/63.17 mark(U32(x0)) 176.93/63.17 mark(U41(x0)) 176.93/63.17 mark(U51(x0, x1)) 176.93/63.17 mark(U52(x0, x1)) 176.93/63.17 mark(U61(x0, x1, x2)) 176.93/63.17 mark(U62(x0, x1, x2)) 176.93/63.17 mark(U63(x0, x1, x2)) 176.93/63.17 mark(U64(x0, x1, x2)) 176.93/63.17 mark(s(x0)) 176.93/63.17 mark(plus(x0, x1)) 176.93/63.17 mark(0) 176.93/63.17 U11(mark(x0), x1, x2) 176.93/63.17 U11(x0, mark(x1), x2) 176.93/63.17 U11(x0, x1, mark(x2)) 176.93/63.17 U11(active(x0), x1, x2) 176.93/63.17 U11(x0, active(x1), x2) 176.93/63.17 U11(x0, x1, active(x2)) 176.93/63.17 U12(mark(x0), x1, x2) 176.93/63.17 U12(x0, mark(x1), x2) 176.93/63.17 U12(x0, x1, mark(x2)) 176.93/63.17 U12(active(x0), x1, x2) 176.93/63.17 U12(x0, active(x1), x2) 176.93/63.17 U12(x0, x1, active(x2)) 176.93/63.17 isNatKind(mark(x0)) 176.93/63.17 isNatKind(active(x0)) 176.93/63.17 U13(mark(x0), x1, x2) 176.93/63.17 U13(x0, mark(x1), x2) 176.93/63.17 U13(x0, x1, mark(x2)) 176.93/63.17 U13(active(x0), x1, x2) 176.93/63.17 U13(x0, active(x1), x2) 176.93/63.17 U13(x0, x1, active(x2)) 176.93/63.17 U14(mark(x0), x1, x2) 176.93/63.17 U14(x0, mark(x1), x2) 176.93/63.17 U14(x0, x1, mark(x2)) 176.93/63.17 U14(active(x0), x1, x2) 176.93/63.17 U14(x0, active(x1), x2) 176.93/63.17 U14(x0, x1, active(x2)) 176.93/63.17 U15(mark(x0), x1) 176.93/63.17 U15(x0, mark(x1)) 176.93/63.17 U15(active(x0), x1) 176.93/63.17 U15(x0, active(x1)) 176.93/63.17 isNat(mark(x0)) 176.93/63.17 isNat(active(x0)) 176.93/63.17 U16(mark(x0)) 176.93/63.17 U16(active(x0)) 176.93/63.17 U21(mark(x0), x1) 176.93/63.17 U21(x0, mark(x1)) 176.93/63.17 U21(active(x0), x1) 176.93/63.17 U21(x0, active(x1)) 176.93/63.17 U22(mark(x0), x1) 176.93/63.17 U22(x0, mark(x1)) 176.93/63.17 U22(active(x0), x1) 176.93/63.17 U22(x0, active(x1)) 176.93/63.17 U23(mark(x0)) 176.93/63.17 U23(active(x0)) 176.93/63.17 U31(mark(x0), x1) 176.93/63.17 U31(x0, mark(x1)) 176.93/63.17 U31(active(x0), x1) 176.93/63.17 U31(x0, active(x1)) 176.93/63.17 U32(mark(x0)) 176.93/63.17 U32(active(x0)) 176.93/63.17 U41(mark(x0)) 176.93/63.17 U41(active(x0)) 176.93/63.17 U51(mark(x0), x1) 176.93/63.17 U51(x0, mark(x1)) 176.93/63.17 U51(active(x0), x1) 176.93/63.17 U51(x0, active(x1)) 176.93/63.17 U52(mark(x0), x1) 176.93/63.17 U52(x0, mark(x1)) 176.93/63.17 U52(active(x0), x1) 176.93/63.17 U52(x0, active(x1)) 176.93/63.17 U61(mark(x0), x1, x2) 176.93/63.17 U61(x0, mark(x1), x2) 176.93/63.17 U61(x0, x1, mark(x2)) 176.93/63.17 U61(active(x0), x1, x2) 176.93/63.17 U61(x0, active(x1), x2) 176.93/63.17 U61(x0, x1, active(x2)) 176.93/63.17 U62(mark(x0), x1, x2) 176.93/63.17 U62(x0, mark(x1), x2) 176.93/63.17 U62(x0, x1, mark(x2)) 176.93/63.17 U62(active(x0), x1, x2) 176.93/63.17 U62(x0, active(x1), x2) 176.93/63.17 U62(x0, x1, active(x2)) 176.93/63.17 U63(mark(x0), x1, x2) 176.93/63.17 U63(x0, mark(x1), x2) 176.93/63.17 U63(x0, x1, mark(x2)) 176.93/63.17 U63(active(x0), x1, x2) 176.93/63.17 U63(x0, active(x1), x2) 176.93/63.17 U63(x0, x1, active(x2)) 176.93/63.17 U64(mark(x0), x1, x2) 176.93/63.17 U64(x0, mark(x1), x2) 176.93/63.17 U64(x0, x1, mark(x2)) 176.93/63.17 U64(active(x0), x1, x2) 176.93/63.17 U64(x0, active(x1), x2) 176.93/63.17 U64(x0, x1, active(x2)) 176.93/63.17 s(mark(x0)) 176.93/63.17 s(active(x0)) 176.93/63.17 plus(mark(x0), x1) 176.93/63.17 plus(x0, mark(x1)) 176.93/63.17 plus(active(x0), x1) 176.93/63.17 plus(x0, active(x1)) 176.93/63.17 176.93/63.17 We have to consider all minimal (P,Q,R)-chains. 176.93/63.17 ---------------------------------------- 176.93/63.17 176.93/63.17 (50) QReductionProof (EQUIVALENT) 176.93/63.17 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 176.93/63.17 176.93/63.17 U11(mark(x0), x1, x2) 176.93/63.17 U11(x0, mark(x1), x2) 176.93/63.17 U11(x0, x1, mark(x2)) 176.93/63.17 U11(active(x0), x1, x2) 176.93/63.17 U11(x0, active(x1), x2) 176.93/63.17 U11(x0, x1, active(x2)) 176.93/63.17 U12(mark(x0), x1, x2) 176.93/63.17 U12(x0, mark(x1), x2) 176.93/63.17 U12(x0, x1, mark(x2)) 176.93/63.17 U12(active(x0), x1, x2) 176.93/63.17 U12(x0, active(x1), x2) 176.93/63.17 U12(x0, x1, active(x2)) 176.93/63.17 isNatKind(mark(x0)) 176.93/63.17 isNatKind(active(x0)) 176.93/63.17 U13(mark(x0), x1, x2) 176.93/63.17 U13(x0, mark(x1), x2) 176.93/63.17 U13(x0, x1, mark(x2)) 176.93/63.17 U13(active(x0), x1, x2) 176.93/63.17 U13(x0, active(x1), x2) 176.93/63.17 U13(x0, x1, active(x2)) 176.93/63.17 U14(mark(x0), x1, x2) 176.93/63.17 U14(x0, mark(x1), x2) 176.93/63.17 U14(x0, x1, mark(x2)) 176.93/63.17 U14(active(x0), x1, x2) 176.93/63.17 U14(x0, active(x1), x2) 176.93/63.17 U14(x0, x1, active(x2)) 176.93/63.17 U15(mark(x0), x1) 176.93/63.17 U15(x0, mark(x1)) 176.93/63.17 U15(active(x0), x1) 176.93/63.17 U15(x0, active(x1)) 176.93/63.17 isNat(mark(x0)) 176.93/63.17 isNat(active(x0)) 176.93/63.17 U16(mark(x0)) 176.93/63.17 U16(active(x0)) 176.93/63.17 U21(mark(x0), x1) 176.93/63.17 U21(x0, mark(x1)) 176.93/63.17 U21(active(x0), x1) 176.93/63.17 U21(x0, active(x1)) 176.93/63.17 U22(mark(x0), x1) 176.93/63.17 U22(x0, mark(x1)) 176.93/63.17 U22(active(x0), x1) 176.93/63.17 U22(x0, active(x1)) 176.93/63.17 U23(mark(x0)) 176.93/63.17 U23(active(x0)) 176.93/63.17 U31(mark(x0), x1) 176.93/63.17 U31(x0, mark(x1)) 176.93/63.17 U31(active(x0), x1) 176.93/63.17 U31(x0, active(x1)) 176.93/63.17 U32(mark(x0)) 176.93/63.17 U32(active(x0)) 176.93/63.17 U41(mark(x0)) 176.93/63.17 U41(active(x0)) 176.93/63.17 U51(mark(x0), x1) 176.93/63.17 U51(x0, mark(x1)) 176.93/63.17 U51(active(x0), x1) 176.93/63.17 U51(x0, active(x1)) 176.93/63.17 U52(mark(x0), x1) 176.93/63.17 U52(x0, mark(x1)) 176.93/63.17 U52(active(x0), x1) 176.93/63.17 U52(x0, active(x1)) 176.93/63.17 U61(mark(x0), x1, x2) 176.93/63.17 U61(x0, mark(x1), x2) 176.93/63.17 U61(x0, x1, mark(x2)) 176.93/63.17 U61(active(x0), x1, x2) 176.93/63.17 U61(x0, active(x1), x2) 176.93/63.17 U61(x0, x1, active(x2)) 176.93/63.17 U62(mark(x0), x1, x2) 176.93/63.17 U62(x0, mark(x1), x2) 176.93/63.17 U62(x0, x1, mark(x2)) 176.93/63.17 U62(active(x0), x1, x2) 176.93/63.17 U62(x0, active(x1), x2) 176.93/63.17 U62(x0, x1, active(x2)) 176.93/63.17 U63(mark(x0), x1, x2) 176.93/63.17 U63(x0, mark(x1), x2) 176.93/63.17 U63(x0, x1, mark(x2)) 176.93/63.17 U63(active(x0), x1, x2) 176.93/63.17 U63(x0, active(x1), x2) 176.93/63.17 U63(x0, x1, active(x2)) 176.93/63.17 U64(mark(x0), x1, x2) 176.93/63.17 U64(x0, mark(x1), x2) 176.93/63.17 U64(x0, x1, mark(x2)) 176.93/63.17 U64(active(x0), x1, x2) 176.93/63.17 U64(x0, active(x1), x2) 176.93/63.17 U64(x0, x1, active(x2)) 176.93/63.17 s(mark(x0)) 176.93/63.17 s(active(x0)) 176.93/63.17 plus(mark(x0), x1) 176.93/63.17 plus(x0, mark(x1)) 176.93/63.17 plus(active(x0), x1) 176.93/63.17 plus(x0, active(x1)) 176.93/63.17 176.93/63.17 176.93/63.17 ---------------------------------------- 176.93/63.17 176.93/63.17 (51) 176.93/63.17 Obligation: 176.93/63.17 Q DP problem: 176.93/63.17 The TRS P consists of the following rules: 176.93/63.17 176.93/63.17 U52^1(X1, mark(X2)) -> U52^1(X1, X2) 176.93/63.17 U52^1(mark(X1), X2) -> U52^1(X1, X2) 176.93/63.17 U52^1(active(X1), X2) -> U52^1(X1, X2) 176.93/63.17 U52^1(X1, active(X2)) -> U52^1(X1, X2) 176.93/63.17 176.93/63.17 R is empty. 176.93/63.17 The set Q consists of the following terms: 176.93/63.17 176.93/63.17 active(U11(tt, x0, x1)) 176.93/63.17 active(U12(tt, x0, x1)) 176.93/63.17 active(U13(tt, x0, x1)) 176.93/63.17 active(U14(tt, x0, x1)) 176.93/63.17 active(U15(tt, x0)) 176.93/63.17 active(U16(tt)) 176.93/63.17 active(U21(tt, x0)) 176.93/63.17 active(U22(tt, x0)) 176.93/63.17 active(U23(tt)) 176.93/63.17 active(U31(tt, x0)) 176.93/63.17 active(U32(tt)) 176.93/63.17 active(U41(tt)) 176.93/63.17 active(U51(tt, x0)) 176.93/63.17 active(U52(tt, x0)) 176.93/63.17 active(U61(tt, x0, x1)) 176.93/63.17 active(U62(tt, x0, x1)) 176.93/63.17 active(U63(tt, x0, x1)) 176.93/63.17 active(U64(tt, x0, x1)) 176.93/63.17 active(isNat(0)) 176.93/63.17 active(isNat(plus(x0, x1))) 176.93/63.17 active(isNat(s(x0))) 176.93/63.17 active(isNatKind(0)) 176.93/63.17 active(isNatKind(plus(x0, x1))) 176.93/63.17 active(isNatKind(s(x0))) 176.93/63.17 active(plus(x0, 0)) 176.93/63.17 active(plus(x0, s(x1))) 176.93/63.17 mark(U11(x0, x1, x2)) 176.93/63.17 mark(tt) 176.93/63.17 mark(U12(x0, x1, x2)) 176.93/63.17 mark(isNatKind(x0)) 176.93/63.17 mark(U13(x0, x1, x2)) 176.93/63.17 mark(U14(x0, x1, x2)) 176.93/63.17 mark(U15(x0, x1)) 176.93/63.17 mark(isNat(x0)) 176.93/63.17 mark(U16(x0)) 176.93/63.17 mark(U21(x0, x1)) 176.93/63.17 mark(U22(x0, x1)) 176.93/63.17 mark(U23(x0)) 176.93/63.17 mark(U31(x0, x1)) 176.93/63.17 mark(U32(x0)) 176.93/63.17 mark(U41(x0)) 176.93/63.17 mark(U51(x0, x1)) 176.93/63.17 mark(U52(x0, x1)) 176.93/63.17 mark(U61(x0, x1, x2)) 176.93/63.17 mark(U62(x0, x1, x2)) 176.93/63.17 mark(U63(x0, x1, x2)) 176.93/63.17 mark(U64(x0, x1, x2)) 176.93/63.17 mark(s(x0)) 176.93/63.17 mark(plus(x0, x1)) 176.93/63.17 mark(0) 176.93/63.17 176.93/63.17 We have to consider all minimal (P,Q,R)-chains. 176.93/63.17 ---------------------------------------- 176.93/63.17 176.93/63.17 (52) QDPSizeChangeProof (EQUIVALENT) 176.93/63.17 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. 176.93/63.17 176.93/63.17 From the DPs we obtained the following set of size-change graphs: 176.93/63.17 *U52^1(X1, mark(X2)) -> U52^1(X1, X2) 176.93/63.17 The graph contains the following edges 1 >= 1, 2 > 2 176.93/63.17 176.93/63.17 176.93/63.17 *U52^1(mark(X1), X2) -> U52^1(X1, X2) 176.93/63.17 The graph contains the following edges 1 > 1, 2 >= 2 176.93/63.17 176.93/63.17 176.93/63.17 *U52^1(active(X1), X2) -> U52^1(X1, X2) 176.93/63.17 The graph contains the following edges 1 > 1, 2 >= 2 176.93/63.17 176.93/63.17 176.93/63.17 *U52^1(X1, active(X2)) -> U52^1(X1, X2) 176.93/63.17 The graph contains the following edges 1 >= 1, 2 > 2 176.93/63.17 176.93/63.17 176.93/63.17 ---------------------------------------- 176.93/63.17 176.93/63.17 (53) 176.93/63.17 YES 176.93/63.17 176.93/63.17 ---------------------------------------- 176.93/63.17 176.93/63.17 (54) 176.93/63.17 Obligation: 176.93/63.17 Q DP problem: 176.93/63.17 The TRS P consists of the following rules: 176.93/63.17 176.93/63.17 U51^1(X1, mark(X2)) -> U51^1(X1, X2) 176.93/63.17 U51^1(mark(X1), X2) -> U51^1(X1, X2) 176.93/63.17 U51^1(active(X1), X2) -> U51^1(X1, X2) 176.93/63.17 U51^1(X1, active(X2)) -> U51^1(X1, X2) 176.93/63.17 176.93/63.17 The TRS R consists of the following rules: 176.93/63.17 176.93/63.17 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 176.93/63.17 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 176.93/63.17 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 176.93/63.17 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 176.93/63.17 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 176.93/63.17 active(U16(tt)) -> mark(tt) 176.93/63.17 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 176.93/63.17 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 176.93/63.17 active(U23(tt)) -> mark(tt) 176.93/63.17 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 176.93/63.17 active(U32(tt)) -> mark(tt) 176.93/63.17 active(U41(tt)) -> mark(tt) 176.93/63.17 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 176.93/63.17 active(U52(tt, N)) -> mark(N) 176.93/63.17 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 176.93/63.17 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 176.93/63.17 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 176.93/63.17 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 176.93/63.17 active(isNat(0)) -> mark(tt) 176.93/63.17 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 176.93/63.17 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 176.93/63.17 active(isNatKind(0)) -> mark(tt) 176.93/63.17 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 176.93/63.17 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 176.93/63.17 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 176.93/63.17 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 176.93/63.17 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 176.93/63.17 mark(tt) -> active(tt) 176.93/63.17 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 176.93/63.17 mark(isNatKind(X)) -> active(isNatKind(X)) 176.93/63.17 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 176.93/63.17 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 176.93/63.17 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 176.93/63.17 mark(isNat(X)) -> active(isNat(X)) 176.93/63.17 mark(U16(X)) -> active(U16(mark(X))) 176.93/63.17 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 176.93/63.17 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 176.93/63.17 mark(U23(X)) -> active(U23(mark(X))) 176.93/63.17 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 176.93/63.17 mark(U32(X)) -> active(U32(mark(X))) 176.93/63.17 mark(U41(X)) -> active(U41(mark(X))) 176.93/63.17 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 176.93/63.17 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 176.93/63.17 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 176.93/63.17 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 176.93/63.17 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 176.93/63.17 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 176.93/63.17 mark(s(X)) -> active(s(mark(X))) 176.93/63.17 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 176.93/63.17 mark(0) -> active(0) 176.93/63.17 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 176.93/63.17 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 176.93/63.17 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 176.93/63.17 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 176.93/63.17 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 176.93/63.17 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 176.93/63.17 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 176.93/63.17 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 176.93/63.17 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 176.93/63.17 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 176.93/63.17 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 176.93/63.17 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 176.93/63.17 isNatKind(mark(X)) -> isNatKind(X) 176.93/63.17 isNatKind(active(X)) -> isNatKind(X) 176.93/63.17 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 176.93/63.17 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 176.93/63.17 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 176.93/63.17 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 176.93/63.17 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 176.93/63.17 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 176.93/63.17 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 176.93/63.17 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 176.93/63.17 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 176.93/63.17 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 176.93/63.17 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 176.93/63.17 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 176.93/63.17 U15(mark(X1), X2) -> U15(X1, X2) 176.93/63.17 U15(X1, mark(X2)) -> U15(X1, X2) 176.93/63.17 U15(active(X1), X2) -> U15(X1, X2) 176.93/63.17 U15(X1, active(X2)) -> U15(X1, X2) 176.93/63.17 isNat(mark(X)) -> isNat(X) 176.93/63.17 isNat(active(X)) -> isNat(X) 176.93/63.17 U16(mark(X)) -> U16(X) 176.93/63.17 U16(active(X)) -> U16(X) 176.93/63.17 U21(mark(X1), X2) -> U21(X1, X2) 176.93/63.17 U21(X1, mark(X2)) -> U21(X1, X2) 176.93/63.17 U21(active(X1), X2) -> U21(X1, X2) 176.93/63.17 U21(X1, active(X2)) -> U21(X1, X2) 176.93/63.17 U22(mark(X1), X2) -> U22(X1, X2) 176.93/63.17 U22(X1, mark(X2)) -> U22(X1, X2) 176.93/63.17 U22(active(X1), X2) -> U22(X1, X2) 176.93/63.17 U22(X1, active(X2)) -> U22(X1, X2) 176.93/63.17 U23(mark(X)) -> U23(X) 176.93/63.17 U23(active(X)) -> U23(X) 176.93/63.17 U31(mark(X1), X2) -> U31(X1, X2) 176.93/63.17 U31(X1, mark(X2)) -> U31(X1, X2) 176.93/63.17 U31(active(X1), X2) -> U31(X1, X2) 176.93/63.17 U31(X1, active(X2)) -> U31(X1, X2) 176.93/63.17 U32(mark(X)) -> U32(X) 176.93/63.17 U32(active(X)) -> U32(X) 176.93/63.17 U41(mark(X)) -> U41(X) 176.93/63.17 U41(active(X)) -> U41(X) 176.93/63.17 U51(mark(X1), X2) -> U51(X1, X2) 176.93/63.17 U51(X1, mark(X2)) -> U51(X1, X2) 176.93/63.17 U51(active(X1), X2) -> U51(X1, X2) 176.93/63.17 U51(X1, active(X2)) -> U51(X1, X2) 176.93/63.17 U52(mark(X1), X2) -> U52(X1, X2) 176.93/63.17 U52(X1, mark(X2)) -> U52(X1, X2) 176.93/63.17 U52(active(X1), X2) -> U52(X1, X2) 176.93/63.17 U52(X1, active(X2)) -> U52(X1, X2) 176.93/63.17 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 176.93/63.17 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 176.93/63.17 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 176.93/63.17 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 176.93/63.17 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 176.93/63.17 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 176.93/63.17 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 176.93/63.17 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 176.93/63.17 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 176.93/63.17 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 176.93/63.17 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 176.93/63.17 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 176.93/63.17 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 176.93/63.17 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 176.93/63.17 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 176.93/63.17 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 176.93/63.17 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 176.93/63.17 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 176.93/63.17 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 176.93/63.17 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 176.93/63.17 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 176.93/63.17 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 176.93/63.17 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 176.93/63.17 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 176.93/63.17 s(mark(X)) -> s(X) 176.93/63.17 s(active(X)) -> s(X) 176.93/63.17 plus(mark(X1), X2) -> plus(X1, X2) 176.93/63.17 plus(X1, mark(X2)) -> plus(X1, X2) 176.93/63.17 plus(active(X1), X2) -> plus(X1, X2) 176.93/63.17 plus(X1, active(X2)) -> plus(X1, X2) 176.93/63.17 176.93/63.17 The set Q consists of the following terms: 176.93/63.17 176.93/63.17 active(U11(tt, x0, x1)) 176.93/63.17 active(U12(tt, x0, x1)) 176.93/63.17 active(U13(tt, x0, x1)) 176.93/63.17 active(U14(tt, x0, x1)) 176.93/63.17 active(U15(tt, x0)) 176.93/63.17 active(U16(tt)) 176.93/63.17 active(U21(tt, x0)) 176.93/63.17 active(U22(tt, x0)) 176.93/63.17 active(U23(tt)) 176.93/63.17 active(U31(tt, x0)) 176.93/63.17 active(U32(tt)) 176.93/63.17 active(U41(tt)) 176.93/63.17 active(U51(tt, x0)) 176.93/63.17 active(U52(tt, x0)) 176.93/63.17 active(U61(tt, x0, x1)) 176.93/63.17 active(U62(tt, x0, x1)) 176.93/63.17 active(U63(tt, x0, x1)) 176.93/63.17 active(U64(tt, x0, x1)) 176.93/63.17 active(isNat(0)) 176.93/63.17 active(isNat(plus(x0, x1))) 176.93/63.17 active(isNat(s(x0))) 176.93/63.17 active(isNatKind(0)) 176.93/63.17 active(isNatKind(plus(x0, x1))) 176.93/63.17 active(isNatKind(s(x0))) 176.93/63.17 active(plus(x0, 0)) 176.93/63.17 active(plus(x0, s(x1))) 176.93/63.17 mark(U11(x0, x1, x2)) 176.93/63.17 mark(tt) 176.93/63.17 mark(U12(x0, x1, x2)) 176.93/63.17 mark(isNatKind(x0)) 176.93/63.17 mark(U13(x0, x1, x2)) 176.93/63.17 mark(U14(x0, x1, x2)) 176.93/63.17 mark(U15(x0, x1)) 176.93/63.17 mark(isNat(x0)) 176.93/63.17 mark(U16(x0)) 176.93/63.17 mark(U21(x0, x1)) 176.93/63.17 mark(U22(x0, x1)) 176.93/63.17 mark(U23(x0)) 176.93/63.17 mark(U31(x0, x1)) 176.93/63.17 mark(U32(x0)) 176.93/63.17 mark(U41(x0)) 176.93/63.17 mark(U51(x0, x1)) 176.93/63.17 mark(U52(x0, x1)) 176.93/63.17 mark(U61(x0, x1, x2)) 176.93/63.17 mark(U62(x0, x1, x2)) 176.93/63.17 mark(U63(x0, x1, x2)) 176.93/63.17 mark(U64(x0, x1, x2)) 176.93/63.17 mark(s(x0)) 176.93/63.17 mark(plus(x0, x1)) 176.93/63.17 mark(0) 176.93/63.17 U11(mark(x0), x1, x2) 176.93/63.17 U11(x0, mark(x1), x2) 176.93/63.17 U11(x0, x1, mark(x2)) 176.93/63.17 U11(active(x0), x1, x2) 176.93/63.17 U11(x0, active(x1), x2) 176.93/63.17 U11(x0, x1, active(x2)) 176.93/63.17 U12(mark(x0), x1, x2) 176.93/63.17 U12(x0, mark(x1), x2) 176.93/63.17 U12(x0, x1, mark(x2)) 176.93/63.17 U12(active(x0), x1, x2) 176.93/63.17 U12(x0, active(x1), x2) 176.93/63.17 U12(x0, x1, active(x2)) 176.93/63.17 isNatKind(mark(x0)) 176.93/63.17 isNatKind(active(x0)) 176.93/63.17 U13(mark(x0), x1, x2) 176.93/63.17 U13(x0, mark(x1), x2) 176.93/63.17 U13(x0, x1, mark(x2)) 176.93/63.17 U13(active(x0), x1, x2) 176.93/63.17 U13(x0, active(x1), x2) 176.93/63.17 U13(x0, x1, active(x2)) 176.93/63.17 U14(mark(x0), x1, x2) 176.93/63.17 U14(x0, mark(x1), x2) 176.93/63.17 U14(x0, x1, mark(x2)) 176.93/63.17 U14(active(x0), x1, x2) 176.93/63.17 U14(x0, active(x1), x2) 176.93/63.17 U14(x0, x1, active(x2)) 176.93/63.17 U15(mark(x0), x1) 176.93/63.17 U15(x0, mark(x1)) 176.93/63.17 U15(active(x0), x1) 176.93/63.17 U15(x0, active(x1)) 176.93/63.17 isNat(mark(x0)) 176.93/63.17 isNat(active(x0)) 176.93/63.17 U16(mark(x0)) 176.93/63.17 U16(active(x0)) 176.93/63.17 U21(mark(x0), x1) 176.93/63.17 U21(x0, mark(x1)) 176.93/63.17 U21(active(x0), x1) 176.93/63.17 U21(x0, active(x1)) 176.93/63.17 U22(mark(x0), x1) 176.93/63.17 U22(x0, mark(x1)) 176.93/63.17 U22(active(x0), x1) 176.93/63.17 U22(x0, active(x1)) 176.93/63.17 U23(mark(x0)) 176.93/63.17 U23(active(x0)) 176.93/63.17 U31(mark(x0), x1) 176.93/63.17 U31(x0, mark(x1)) 176.93/63.17 U31(active(x0), x1) 176.93/63.17 U31(x0, active(x1)) 176.93/63.17 U32(mark(x0)) 176.93/63.17 U32(active(x0)) 176.93/63.17 U41(mark(x0)) 176.93/63.17 U41(active(x0)) 176.93/63.17 U51(mark(x0), x1) 176.93/63.17 U51(x0, mark(x1)) 176.93/63.17 U51(active(x0), x1) 176.93/63.17 U51(x0, active(x1)) 176.93/63.17 U52(mark(x0), x1) 176.93/63.17 U52(x0, mark(x1)) 176.93/63.17 U52(active(x0), x1) 176.93/63.17 U52(x0, active(x1)) 176.93/63.17 U61(mark(x0), x1, x2) 176.93/63.17 U61(x0, mark(x1), x2) 176.93/63.17 U61(x0, x1, mark(x2)) 176.93/63.17 U61(active(x0), x1, x2) 176.93/63.17 U61(x0, active(x1), x2) 176.93/63.17 U61(x0, x1, active(x2)) 176.93/63.17 U62(mark(x0), x1, x2) 176.93/63.17 U62(x0, mark(x1), x2) 176.93/63.17 U62(x0, x1, mark(x2)) 176.93/63.17 U62(active(x0), x1, x2) 176.93/63.17 U62(x0, active(x1), x2) 176.93/63.17 U62(x0, x1, active(x2)) 176.93/63.17 U63(mark(x0), x1, x2) 176.93/63.17 U63(x0, mark(x1), x2) 176.93/63.17 U63(x0, x1, mark(x2)) 176.93/63.17 U63(active(x0), x1, x2) 176.93/63.17 U63(x0, active(x1), x2) 176.93/63.17 U63(x0, x1, active(x2)) 176.93/63.17 U64(mark(x0), x1, x2) 176.93/63.17 U64(x0, mark(x1), x2) 176.93/63.17 U64(x0, x1, mark(x2)) 176.93/63.17 U64(active(x0), x1, x2) 176.93/63.17 U64(x0, active(x1), x2) 176.93/63.17 U64(x0, x1, active(x2)) 176.93/63.17 s(mark(x0)) 176.93/63.17 s(active(x0)) 176.93/63.17 plus(mark(x0), x1) 176.93/63.17 plus(x0, mark(x1)) 176.93/63.17 plus(active(x0), x1) 176.93/63.17 plus(x0, active(x1)) 176.93/63.17 176.93/63.17 We have to consider all minimal (P,Q,R)-chains. 176.93/63.17 ---------------------------------------- 176.93/63.17 176.93/63.17 (55) UsableRulesProof (EQUIVALENT) 176.93/63.17 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. 176.93/63.17 ---------------------------------------- 176.93/63.17 176.93/63.17 (56) 176.93/63.17 Obligation: 176.93/63.17 Q DP problem: 176.93/63.17 The TRS P consists of the following rules: 176.93/63.17 176.93/63.17 U51^1(X1, mark(X2)) -> U51^1(X1, X2) 176.93/63.17 U51^1(mark(X1), X2) -> U51^1(X1, X2) 176.93/63.17 U51^1(active(X1), X2) -> U51^1(X1, X2) 176.93/63.17 U51^1(X1, active(X2)) -> U51^1(X1, X2) 176.93/63.17 176.93/63.17 R is empty. 176.93/63.17 The set Q consists of the following terms: 176.93/63.17 176.93/63.17 active(U11(tt, x0, x1)) 176.93/63.17 active(U12(tt, x0, x1)) 176.93/63.20 active(U13(tt, x0, x1)) 176.93/63.20 active(U14(tt, x0, x1)) 176.93/63.20 active(U15(tt, x0)) 176.93/63.20 active(U16(tt)) 176.93/63.20 active(U21(tt, x0)) 176.93/63.20 active(U22(tt, x0)) 176.93/63.20 active(U23(tt)) 176.93/63.20 active(U31(tt, x0)) 176.93/63.20 active(U32(tt)) 176.93/63.20 active(U41(tt)) 176.93/63.20 active(U51(tt, x0)) 176.93/63.20 active(U52(tt, x0)) 176.93/63.20 active(U61(tt, x0, x1)) 176.93/63.20 active(U62(tt, x0, x1)) 176.93/63.20 active(U63(tt, x0, x1)) 176.93/63.20 active(U64(tt, x0, x1)) 176.93/63.20 active(isNat(0)) 176.93/63.20 active(isNat(plus(x0, x1))) 176.93/63.20 active(isNat(s(x0))) 176.93/63.20 active(isNatKind(0)) 176.93/63.20 active(isNatKind(plus(x0, x1))) 176.93/63.20 active(isNatKind(s(x0))) 176.93/63.20 active(plus(x0, 0)) 176.93/63.20 active(plus(x0, s(x1))) 176.93/63.20 mark(U11(x0, x1, x2)) 176.93/63.20 mark(tt) 176.93/63.20 mark(U12(x0, x1, x2)) 176.93/63.20 mark(isNatKind(x0)) 176.93/63.20 mark(U13(x0, x1, x2)) 176.93/63.20 mark(U14(x0, x1, x2)) 176.93/63.20 mark(U15(x0, x1)) 176.93/63.20 mark(isNat(x0)) 176.93/63.20 mark(U16(x0)) 176.93/63.20 mark(U21(x0, x1)) 176.93/63.20 mark(U22(x0, x1)) 176.93/63.20 mark(U23(x0)) 176.93/63.20 mark(U31(x0, x1)) 176.93/63.20 mark(U32(x0)) 176.93/63.20 mark(U41(x0)) 176.93/63.20 mark(U51(x0, x1)) 176.93/63.20 mark(U52(x0, x1)) 176.93/63.20 mark(U61(x0, x1, x2)) 176.93/63.20 mark(U62(x0, x1, x2)) 176.93/63.20 mark(U63(x0, x1, x2)) 176.93/63.20 mark(U64(x0, x1, x2)) 176.93/63.20 mark(s(x0)) 176.93/63.20 mark(plus(x0, x1)) 176.93/63.20 mark(0) 176.93/63.20 U11(mark(x0), x1, x2) 176.93/63.20 U11(x0, mark(x1), x2) 176.93/63.20 U11(x0, x1, mark(x2)) 176.93/63.20 U11(active(x0), x1, x2) 176.93/63.20 U11(x0, active(x1), x2) 176.93/63.20 U11(x0, x1, active(x2)) 176.93/63.20 U12(mark(x0), x1, x2) 176.93/63.20 U12(x0, mark(x1), x2) 176.93/63.20 U12(x0, x1, mark(x2)) 176.93/63.20 U12(active(x0), x1, x2) 176.93/63.20 U12(x0, active(x1), x2) 176.93/63.20 U12(x0, x1, active(x2)) 176.93/63.20 isNatKind(mark(x0)) 176.93/63.20 isNatKind(active(x0)) 176.93/63.20 U13(mark(x0), x1, x2) 176.93/63.20 U13(x0, mark(x1), x2) 176.93/63.20 U13(x0, x1, mark(x2)) 176.93/63.20 U13(active(x0), x1, x2) 176.93/63.20 U13(x0, active(x1), x2) 176.93/63.20 U13(x0, x1, active(x2)) 176.93/63.20 U14(mark(x0), x1, x2) 176.93/63.20 U14(x0, mark(x1), x2) 176.93/63.20 U14(x0, x1, mark(x2)) 176.93/63.20 U14(active(x0), x1, x2) 176.93/63.20 U14(x0, active(x1), x2) 176.93/63.20 U14(x0, x1, active(x2)) 176.93/63.20 U15(mark(x0), x1) 176.93/63.20 U15(x0, mark(x1)) 176.93/63.20 U15(active(x0), x1) 176.93/63.20 U15(x0, active(x1)) 176.93/63.20 isNat(mark(x0)) 176.93/63.20 isNat(active(x0)) 176.93/63.20 U16(mark(x0)) 176.93/63.20 U16(active(x0)) 176.93/63.20 U21(mark(x0), x1) 176.93/63.20 U21(x0, mark(x1)) 176.93/63.20 U21(active(x0), x1) 176.93/63.20 U21(x0, active(x1)) 176.93/63.20 U22(mark(x0), x1) 176.93/63.20 U22(x0, mark(x1)) 176.93/63.20 U22(active(x0), x1) 176.93/63.20 U22(x0, active(x1)) 176.93/63.20 U23(mark(x0)) 176.93/63.20 U23(active(x0)) 176.93/63.20 U31(mark(x0), x1) 176.93/63.20 U31(x0, mark(x1)) 176.93/63.20 U31(active(x0), x1) 176.93/63.20 U31(x0, active(x1)) 176.93/63.20 U32(mark(x0)) 176.93/63.20 U32(active(x0)) 176.93/63.20 U41(mark(x0)) 176.93/63.20 U41(active(x0)) 176.93/63.20 U51(mark(x0), x1) 176.93/63.20 U51(x0, mark(x1)) 176.93/63.20 U51(active(x0), x1) 176.93/63.20 U51(x0, active(x1)) 176.93/63.20 U52(mark(x0), x1) 176.93/63.20 U52(x0, mark(x1)) 176.93/63.20 U52(active(x0), x1) 176.93/63.20 U52(x0, active(x1)) 176.93/63.20 U61(mark(x0), x1, x2) 176.93/63.20 U61(x0, mark(x1), x2) 176.93/63.20 U61(x0, x1, mark(x2)) 176.93/63.20 U61(active(x0), x1, x2) 176.93/63.20 U61(x0, active(x1), x2) 176.93/63.20 U61(x0, x1, active(x2)) 176.93/63.20 U62(mark(x0), x1, x2) 176.93/63.20 U62(x0, mark(x1), x2) 176.93/63.20 U62(x0, x1, mark(x2)) 176.93/63.20 U62(active(x0), x1, x2) 176.93/63.20 U62(x0, active(x1), x2) 176.93/63.20 U62(x0, x1, active(x2)) 176.93/63.20 U63(mark(x0), x1, x2) 176.93/63.20 U63(x0, mark(x1), x2) 176.93/63.20 U63(x0, x1, mark(x2)) 176.93/63.20 U63(active(x0), x1, x2) 176.93/63.20 U63(x0, active(x1), x2) 176.93/63.20 U63(x0, x1, active(x2)) 176.93/63.20 U64(mark(x0), x1, x2) 176.93/63.20 U64(x0, mark(x1), x2) 176.93/63.20 U64(x0, x1, mark(x2)) 176.93/63.20 U64(active(x0), x1, x2) 176.93/63.20 U64(x0, active(x1), x2) 176.93/63.20 U64(x0, x1, active(x2)) 176.93/63.20 s(mark(x0)) 176.93/63.20 s(active(x0)) 176.93/63.20 plus(mark(x0), x1) 176.93/63.20 plus(x0, mark(x1)) 176.93/63.20 plus(active(x0), x1) 176.93/63.20 plus(x0, active(x1)) 176.93/63.20 176.93/63.20 We have to consider all minimal (P,Q,R)-chains. 176.93/63.20 ---------------------------------------- 176.93/63.20 176.93/63.20 (57) QReductionProof (EQUIVALENT) 176.93/63.20 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 176.93/63.20 176.93/63.20 U11(mark(x0), x1, x2) 176.93/63.20 U11(x0, mark(x1), x2) 176.93/63.20 U11(x0, x1, mark(x2)) 176.93/63.20 U11(active(x0), x1, x2) 176.93/63.20 U11(x0, active(x1), x2) 176.93/63.20 U11(x0, x1, active(x2)) 176.93/63.20 U12(mark(x0), x1, x2) 176.93/63.20 U12(x0, mark(x1), x2) 176.93/63.20 U12(x0, x1, mark(x2)) 176.93/63.20 U12(active(x0), x1, x2) 176.93/63.20 U12(x0, active(x1), x2) 176.93/63.20 U12(x0, x1, active(x2)) 176.93/63.20 isNatKind(mark(x0)) 176.93/63.20 isNatKind(active(x0)) 176.93/63.20 U13(mark(x0), x1, x2) 176.93/63.20 U13(x0, mark(x1), x2) 176.93/63.20 U13(x0, x1, mark(x2)) 176.93/63.20 U13(active(x0), x1, x2) 176.93/63.20 U13(x0, active(x1), x2) 176.93/63.20 U13(x0, x1, active(x2)) 176.93/63.20 U14(mark(x0), x1, x2) 176.93/63.20 U14(x0, mark(x1), x2) 176.93/63.20 U14(x0, x1, mark(x2)) 176.93/63.20 U14(active(x0), x1, x2) 176.93/63.20 U14(x0, active(x1), x2) 176.93/63.20 U14(x0, x1, active(x2)) 176.93/63.20 U15(mark(x0), x1) 176.93/63.20 U15(x0, mark(x1)) 176.93/63.20 U15(active(x0), x1) 176.93/63.20 U15(x0, active(x1)) 176.93/63.20 isNat(mark(x0)) 176.93/63.20 isNat(active(x0)) 176.93/63.20 U16(mark(x0)) 176.93/63.20 U16(active(x0)) 176.93/63.20 U21(mark(x0), x1) 176.93/63.20 U21(x0, mark(x1)) 176.93/63.20 U21(active(x0), x1) 176.93/63.20 U21(x0, active(x1)) 176.93/63.20 U22(mark(x0), x1) 176.93/63.20 U22(x0, mark(x1)) 176.93/63.20 U22(active(x0), x1) 176.93/63.20 U22(x0, active(x1)) 176.93/63.20 U23(mark(x0)) 176.93/63.20 U23(active(x0)) 176.93/63.20 U31(mark(x0), x1) 176.93/63.20 U31(x0, mark(x1)) 176.93/63.20 U31(active(x0), x1) 176.93/63.20 U31(x0, active(x1)) 176.93/63.20 U32(mark(x0)) 176.93/63.20 U32(active(x0)) 176.93/63.20 U41(mark(x0)) 176.93/63.20 U41(active(x0)) 176.93/63.20 U51(mark(x0), x1) 176.93/63.20 U51(x0, mark(x1)) 176.93/63.20 U51(active(x0), x1) 176.93/63.20 U51(x0, active(x1)) 176.93/63.20 U52(mark(x0), x1) 176.93/63.20 U52(x0, mark(x1)) 176.93/63.20 U52(active(x0), x1) 176.93/63.20 U52(x0, active(x1)) 176.93/63.20 U61(mark(x0), x1, x2) 176.93/63.20 U61(x0, mark(x1), x2) 176.93/63.20 U61(x0, x1, mark(x2)) 176.93/63.20 U61(active(x0), x1, x2) 176.93/63.20 U61(x0, active(x1), x2) 176.93/63.20 U61(x0, x1, active(x2)) 176.93/63.20 U62(mark(x0), x1, x2) 176.93/63.20 U62(x0, mark(x1), x2) 176.93/63.20 U62(x0, x1, mark(x2)) 176.93/63.20 U62(active(x0), x1, x2) 176.93/63.20 U62(x0, active(x1), x2) 176.93/63.20 U62(x0, x1, active(x2)) 176.93/63.20 U63(mark(x0), x1, x2) 176.93/63.20 U63(x0, mark(x1), x2) 176.93/63.20 U63(x0, x1, mark(x2)) 176.93/63.20 U63(active(x0), x1, x2) 176.93/63.20 U63(x0, active(x1), x2) 176.93/63.20 U63(x0, x1, active(x2)) 176.93/63.20 U64(mark(x0), x1, x2) 176.93/63.20 U64(x0, mark(x1), x2) 176.93/63.20 U64(x0, x1, mark(x2)) 176.93/63.20 U64(active(x0), x1, x2) 176.93/63.20 U64(x0, active(x1), x2) 176.93/63.20 U64(x0, x1, active(x2)) 176.93/63.20 s(mark(x0)) 176.93/63.20 s(active(x0)) 176.93/63.20 plus(mark(x0), x1) 176.93/63.20 plus(x0, mark(x1)) 176.93/63.20 plus(active(x0), x1) 176.93/63.20 plus(x0, active(x1)) 176.93/63.20 176.93/63.20 176.93/63.20 ---------------------------------------- 176.93/63.20 176.93/63.20 (58) 176.93/63.20 Obligation: 176.93/63.20 Q DP problem: 176.93/63.20 The TRS P consists of the following rules: 176.93/63.20 176.93/63.20 U51^1(X1, mark(X2)) -> U51^1(X1, X2) 176.93/63.20 U51^1(mark(X1), X2) -> U51^1(X1, X2) 176.93/63.20 U51^1(active(X1), X2) -> U51^1(X1, X2) 176.93/63.20 U51^1(X1, active(X2)) -> U51^1(X1, X2) 176.93/63.20 176.93/63.20 R is empty. 176.93/63.20 The set Q consists of the following terms: 176.93/63.20 176.93/63.20 active(U11(tt, x0, x1)) 176.93/63.20 active(U12(tt, x0, x1)) 176.93/63.20 active(U13(tt, x0, x1)) 176.93/63.20 active(U14(tt, x0, x1)) 176.93/63.20 active(U15(tt, x0)) 176.93/63.20 active(U16(tt)) 176.93/63.20 active(U21(tt, x0)) 176.93/63.20 active(U22(tt, x0)) 176.93/63.20 active(U23(tt)) 176.93/63.20 active(U31(tt, x0)) 176.93/63.20 active(U32(tt)) 176.93/63.20 active(U41(tt)) 176.93/63.20 active(U51(tt, x0)) 176.93/63.20 active(U52(tt, x0)) 176.93/63.20 active(U61(tt, x0, x1)) 176.93/63.20 active(U62(tt, x0, x1)) 176.93/63.20 active(U63(tt, x0, x1)) 176.93/63.20 active(U64(tt, x0, x1)) 176.93/63.20 active(isNat(0)) 176.93/63.20 active(isNat(plus(x0, x1))) 176.93/63.20 active(isNat(s(x0))) 176.93/63.20 active(isNatKind(0)) 176.93/63.20 active(isNatKind(plus(x0, x1))) 176.93/63.20 active(isNatKind(s(x0))) 176.93/63.20 active(plus(x0, 0)) 176.93/63.20 active(plus(x0, s(x1))) 176.93/63.20 mark(U11(x0, x1, x2)) 176.93/63.20 mark(tt) 176.93/63.20 mark(U12(x0, x1, x2)) 176.93/63.20 mark(isNatKind(x0)) 176.93/63.20 mark(U13(x0, x1, x2)) 176.93/63.20 mark(U14(x0, x1, x2)) 176.93/63.20 mark(U15(x0, x1)) 176.93/63.20 mark(isNat(x0)) 176.93/63.20 mark(U16(x0)) 176.93/63.20 mark(U21(x0, x1)) 176.93/63.20 mark(U22(x0, x1)) 176.93/63.20 mark(U23(x0)) 176.93/63.20 mark(U31(x0, x1)) 176.93/63.20 mark(U32(x0)) 176.93/63.20 mark(U41(x0)) 176.93/63.20 mark(U51(x0, x1)) 176.93/63.20 mark(U52(x0, x1)) 176.93/63.20 mark(U61(x0, x1, x2)) 176.93/63.20 mark(U62(x0, x1, x2)) 176.93/63.20 mark(U63(x0, x1, x2)) 176.93/63.20 mark(U64(x0, x1, x2)) 176.93/63.20 mark(s(x0)) 176.93/63.20 mark(plus(x0, x1)) 176.93/63.20 mark(0) 176.93/63.20 176.93/63.20 We have to consider all minimal (P,Q,R)-chains. 176.93/63.20 ---------------------------------------- 176.93/63.20 176.93/63.20 (59) QDPSizeChangeProof (EQUIVALENT) 176.93/63.20 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. 176.93/63.20 176.93/63.20 From the DPs we obtained the following set of size-change graphs: 176.93/63.20 *U51^1(X1, mark(X2)) -> U51^1(X1, X2) 176.93/63.20 The graph contains the following edges 1 >= 1, 2 > 2 176.93/63.20 176.93/63.20 176.93/63.20 *U51^1(mark(X1), X2) -> U51^1(X1, X2) 176.93/63.20 The graph contains the following edges 1 > 1, 2 >= 2 176.93/63.20 176.93/63.20 176.93/63.20 *U51^1(active(X1), X2) -> U51^1(X1, X2) 176.93/63.20 The graph contains the following edges 1 > 1, 2 >= 2 176.93/63.20 176.93/63.20 176.93/63.20 *U51^1(X1, active(X2)) -> U51^1(X1, X2) 176.93/63.20 The graph contains the following edges 1 >= 1, 2 > 2 176.93/63.20 176.93/63.20 176.93/63.20 ---------------------------------------- 176.93/63.20 176.93/63.20 (60) 176.93/63.20 YES 176.93/63.20 176.93/63.20 ---------------------------------------- 176.93/63.20 176.93/63.20 (61) 176.93/63.20 Obligation: 176.93/63.20 Q DP problem: 176.93/63.20 The TRS P consists of the following rules: 176.93/63.20 176.93/63.20 U41^1(active(X)) -> U41^1(X) 176.93/63.20 U41^1(mark(X)) -> U41^1(X) 176.93/63.20 176.93/63.20 The TRS R consists of the following rules: 176.93/63.20 176.93/63.20 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 176.93/63.20 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 176.93/63.20 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 176.93/63.20 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 176.93/63.20 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 176.93/63.20 active(U16(tt)) -> mark(tt) 176.93/63.20 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 176.93/63.20 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 176.93/63.20 active(U23(tt)) -> mark(tt) 176.93/63.20 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 176.93/63.20 active(U32(tt)) -> mark(tt) 176.93/63.20 active(U41(tt)) -> mark(tt) 176.93/63.20 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 176.93/63.20 active(U52(tt, N)) -> mark(N) 176.93/63.20 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 176.93/63.20 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 176.93/63.20 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 176.93/63.20 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 176.93/63.20 active(isNat(0)) -> mark(tt) 176.93/63.20 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 176.93/63.20 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 176.93/63.20 active(isNatKind(0)) -> mark(tt) 176.93/63.20 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 176.93/63.20 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 176.93/63.20 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 176.93/63.20 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 176.93/63.20 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 176.93/63.20 mark(tt) -> active(tt) 176.93/63.20 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 176.93/63.20 mark(isNatKind(X)) -> active(isNatKind(X)) 176.93/63.20 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 176.93/63.20 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 176.93/63.20 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 176.93/63.20 mark(isNat(X)) -> active(isNat(X)) 176.93/63.20 mark(U16(X)) -> active(U16(mark(X))) 176.93/63.20 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 176.93/63.20 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 176.93/63.20 mark(U23(X)) -> active(U23(mark(X))) 176.93/63.20 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 176.93/63.20 mark(U32(X)) -> active(U32(mark(X))) 176.93/63.20 mark(U41(X)) -> active(U41(mark(X))) 176.93/63.20 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 176.93/63.20 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 176.93/63.20 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 176.93/63.20 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 176.93/63.20 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 176.93/63.20 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 176.93/63.20 mark(s(X)) -> active(s(mark(X))) 176.93/63.20 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 176.93/63.20 mark(0) -> active(0) 176.93/63.20 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 176.93/63.20 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 176.93/63.20 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 176.93/63.20 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 176.93/63.20 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 176.93/63.20 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 176.93/63.20 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 176.93/63.20 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 176.93/63.20 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 176.93/63.20 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 176.93/63.20 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 176.93/63.20 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 176.93/63.20 isNatKind(mark(X)) -> isNatKind(X) 176.93/63.20 isNatKind(active(X)) -> isNatKind(X) 176.93/63.20 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 176.93/63.20 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 176.93/63.20 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 176.93/63.20 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 176.93/63.20 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 176.93/63.20 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 176.93/63.20 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 176.93/63.20 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 176.93/63.20 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 176.93/63.20 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 176.93/63.20 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 176.93/63.20 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 176.93/63.20 U15(mark(X1), X2) -> U15(X1, X2) 176.93/63.20 U15(X1, mark(X2)) -> U15(X1, X2) 176.93/63.20 U15(active(X1), X2) -> U15(X1, X2) 176.93/63.20 U15(X1, active(X2)) -> U15(X1, X2) 176.93/63.20 isNat(mark(X)) -> isNat(X) 176.93/63.20 isNat(active(X)) -> isNat(X) 176.93/63.20 U16(mark(X)) -> U16(X) 176.93/63.20 U16(active(X)) -> U16(X) 176.93/63.20 U21(mark(X1), X2) -> U21(X1, X2) 176.93/63.20 U21(X1, mark(X2)) -> U21(X1, X2) 176.93/63.20 U21(active(X1), X2) -> U21(X1, X2) 176.93/63.20 U21(X1, active(X2)) -> U21(X1, X2) 176.93/63.20 U22(mark(X1), X2) -> U22(X1, X2) 176.93/63.20 U22(X1, mark(X2)) -> U22(X1, X2) 176.93/63.20 U22(active(X1), X2) -> U22(X1, X2) 176.93/63.20 U22(X1, active(X2)) -> U22(X1, X2) 176.93/63.20 U23(mark(X)) -> U23(X) 176.93/63.20 U23(active(X)) -> U23(X) 176.93/63.20 U31(mark(X1), X2) -> U31(X1, X2) 176.93/63.20 U31(X1, mark(X2)) -> U31(X1, X2) 176.93/63.20 U31(active(X1), X2) -> U31(X1, X2) 176.93/63.20 U31(X1, active(X2)) -> U31(X1, X2) 176.93/63.20 U32(mark(X)) -> U32(X) 176.93/63.20 U32(active(X)) -> U32(X) 176.93/63.20 U41(mark(X)) -> U41(X) 176.93/63.20 U41(active(X)) -> U41(X) 176.93/63.20 U51(mark(X1), X2) -> U51(X1, X2) 176.93/63.20 U51(X1, mark(X2)) -> U51(X1, X2) 176.93/63.20 U51(active(X1), X2) -> U51(X1, X2) 176.93/63.20 U51(X1, active(X2)) -> U51(X1, X2) 176.93/63.20 U52(mark(X1), X2) -> U52(X1, X2) 176.93/63.20 U52(X1, mark(X2)) -> U52(X1, X2) 176.93/63.20 U52(active(X1), X2) -> U52(X1, X2) 176.93/63.20 U52(X1, active(X2)) -> U52(X1, X2) 176.93/63.20 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 176.93/63.20 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 176.93/63.20 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 176.93/63.20 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 176.93/63.20 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 176.93/63.20 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 176.93/63.20 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 176.93/63.20 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 176.93/63.20 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 176.93/63.20 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 176.93/63.20 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 176.93/63.20 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 176.93/63.20 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 176.93/63.20 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 176.93/63.20 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 176.93/63.20 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 176.93/63.20 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 176.93/63.20 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 176.93/63.20 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 176.93/63.20 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 176.93/63.20 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 176.93/63.20 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 176.93/63.20 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 176.93/63.20 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 176.93/63.20 s(mark(X)) -> s(X) 176.93/63.20 s(active(X)) -> s(X) 176.93/63.20 plus(mark(X1), X2) -> plus(X1, X2) 176.93/63.20 plus(X1, mark(X2)) -> plus(X1, X2) 176.93/63.20 plus(active(X1), X2) -> plus(X1, X2) 176.93/63.20 plus(X1, active(X2)) -> plus(X1, X2) 176.93/63.20 176.93/63.20 The set Q consists of the following terms: 176.93/63.20 176.93/63.20 active(U11(tt, x0, x1)) 176.93/63.20 active(U12(tt, x0, x1)) 176.93/63.20 active(U13(tt, x0, x1)) 176.93/63.20 active(U14(tt, x0, x1)) 176.93/63.20 active(U15(tt, x0)) 176.93/63.20 active(U16(tt)) 176.93/63.20 active(U21(tt, x0)) 176.93/63.20 active(U22(tt, x0)) 176.93/63.20 active(U23(tt)) 176.93/63.20 active(U31(tt, x0)) 176.93/63.20 active(U32(tt)) 176.93/63.20 active(U41(tt)) 176.93/63.20 active(U51(tt, x0)) 176.93/63.20 active(U52(tt, x0)) 176.93/63.20 active(U61(tt, x0, x1)) 176.93/63.20 active(U62(tt, x0, x1)) 176.93/63.20 active(U63(tt, x0, x1)) 176.93/63.20 active(U64(tt, x0, x1)) 176.93/63.20 active(isNat(0)) 176.93/63.20 active(isNat(plus(x0, x1))) 176.93/63.20 active(isNat(s(x0))) 176.93/63.20 active(isNatKind(0)) 176.93/63.20 active(isNatKind(plus(x0, x1))) 176.93/63.20 active(isNatKind(s(x0))) 176.93/63.20 active(plus(x0, 0)) 176.93/63.20 active(plus(x0, s(x1))) 176.93/63.20 mark(U11(x0, x1, x2)) 176.93/63.20 mark(tt) 176.93/63.20 mark(U12(x0, x1, x2)) 176.93/63.20 mark(isNatKind(x0)) 176.93/63.20 mark(U13(x0, x1, x2)) 176.93/63.20 mark(U14(x0, x1, x2)) 176.93/63.20 mark(U15(x0, x1)) 176.93/63.20 mark(isNat(x0)) 176.93/63.20 mark(U16(x0)) 176.93/63.20 mark(U21(x0, x1)) 176.93/63.20 mark(U22(x0, x1)) 176.93/63.20 mark(U23(x0)) 176.93/63.20 mark(U31(x0, x1)) 176.93/63.20 mark(U32(x0)) 176.93/63.20 mark(U41(x0)) 176.93/63.20 mark(U51(x0, x1)) 176.93/63.20 mark(U52(x0, x1)) 176.93/63.20 mark(U61(x0, x1, x2)) 176.93/63.20 mark(U62(x0, x1, x2)) 176.93/63.20 mark(U63(x0, x1, x2)) 176.93/63.20 mark(U64(x0, x1, x2)) 176.93/63.20 mark(s(x0)) 176.93/63.20 mark(plus(x0, x1)) 176.93/63.20 mark(0) 176.93/63.20 U11(mark(x0), x1, x2) 176.93/63.20 U11(x0, mark(x1), x2) 176.93/63.20 U11(x0, x1, mark(x2)) 176.93/63.20 U11(active(x0), x1, x2) 176.93/63.20 U11(x0, active(x1), x2) 176.93/63.20 U11(x0, x1, active(x2)) 176.93/63.20 U12(mark(x0), x1, x2) 176.93/63.20 U12(x0, mark(x1), x2) 176.93/63.20 U12(x0, x1, mark(x2)) 176.93/63.20 U12(active(x0), x1, x2) 176.93/63.20 U12(x0, active(x1), x2) 176.93/63.20 U12(x0, x1, active(x2)) 176.93/63.20 isNatKind(mark(x0)) 176.93/63.20 isNatKind(active(x0)) 176.93/63.20 U13(mark(x0), x1, x2) 176.93/63.20 U13(x0, mark(x1), x2) 176.93/63.20 U13(x0, x1, mark(x2)) 176.93/63.20 U13(active(x0), x1, x2) 176.93/63.20 U13(x0, active(x1), x2) 176.93/63.20 U13(x0, x1, active(x2)) 176.93/63.20 U14(mark(x0), x1, x2) 176.93/63.20 U14(x0, mark(x1), x2) 176.93/63.20 U14(x0, x1, mark(x2)) 176.93/63.20 U14(active(x0), x1, x2) 176.93/63.20 U14(x0, active(x1), x2) 176.93/63.20 U14(x0, x1, active(x2)) 176.93/63.20 U15(mark(x0), x1) 176.93/63.20 U15(x0, mark(x1)) 176.93/63.20 U15(active(x0), x1) 176.93/63.20 U15(x0, active(x1)) 176.93/63.20 isNat(mark(x0)) 176.93/63.20 isNat(active(x0)) 176.93/63.20 U16(mark(x0)) 176.93/63.20 U16(active(x0)) 176.93/63.20 U21(mark(x0), x1) 176.93/63.20 U21(x0, mark(x1)) 176.93/63.20 U21(active(x0), x1) 176.93/63.20 U21(x0, active(x1)) 176.93/63.20 U22(mark(x0), x1) 176.93/63.20 U22(x0, mark(x1)) 176.93/63.20 U22(active(x0), x1) 176.93/63.20 U22(x0, active(x1)) 176.93/63.20 U23(mark(x0)) 176.93/63.20 U23(active(x0)) 176.93/63.20 U31(mark(x0), x1) 176.93/63.20 U31(x0, mark(x1)) 176.93/63.20 U31(active(x0), x1) 176.93/63.20 U31(x0, active(x1)) 176.93/63.20 U32(mark(x0)) 176.93/63.20 U32(active(x0)) 176.93/63.20 U41(mark(x0)) 176.93/63.20 U41(active(x0)) 176.93/63.20 U51(mark(x0), x1) 176.93/63.20 U51(x0, mark(x1)) 176.93/63.20 U51(active(x0), x1) 176.93/63.20 U51(x0, active(x1)) 176.93/63.20 U52(mark(x0), x1) 176.93/63.20 U52(x0, mark(x1)) 176.93/63.20 U52(active(x0), x1) 176.93/63.20 U52(x0, active(x1)) 176.93/63.20 U61(mark(x0), x1, x2) 176.93/63.20 U61(x0, mark(x1), x2) 176.93/63.20 U61(x0, x1, mark(x2)) 176.93/63.20 U61(active(x0), x1, x2) 176.93/63.20 U61(x0, active(x1), x2) 176.93/63.20 U61(x0, x1, active(x2)) 176.93/63.20 U62(mark(x0), x1, x2) 176.93/63.20 U62(x0, mark(x1), x2) 176.93/63.20 U62(x0, x1, mark(x2)) 176.93/63.20 U62(active(x0), x1, x2) 176.93/63.20 U62(x0, active(x1), x2) 176.93/63.20 U62(x0, x1, active(x2)) 176.93/63.20 U63(mark(x0), x1, x2) 176.93/63.20 U63(x0, mark(x1), x2) 176.93/63.20 U63(x0, x1, mark(x2)) 176.93/63.20 U63(active(x0), x1, x2) 176.93/63.20 U63(x0, active(x1), x2) 176.93/63.20 U63(x0, x1, active(x2)) 176.93/63.20 U64(mark(x0), x1, x2) 176.93/63.20 U64(x0, mark(x1), x2) 176.93/63.20 U64(x0, x1, mark(x2)) 176.93/63.20 U64(active(x0), x1, x2) 176.93/63.20 U64(x0, active(x1), x2) 176.93/63.20 U64(x0, x1, active(x2)) 176.93/63.20 s(mark(x0)) 176.93/63.20 s(active(x0)) 176.93/63.20 plus(mark(x0), x1) 176.93/63.20 plus(x0, mark(x1)) 176.93/63.20 plus(active(x0), x1) 176.93/63.20 plus(x0, active(x1)) 176.93/63.20 176.93/63.20 We have to consider all minimal (P,Q,R)-chains. 176.93/63.20 ---------------------------------------- 176.93/63.20 176.93/63.20 (62) UsableRulesProof (EQUIVALENT) 176.93/63.20 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. 176.93/63.20 ---------------------------------------- 176.93/63.20 176.93/63.20 (63) 176.93/63.20 Obligation: 176.93/63.20 Q DP problem: 176.93/63.20 The TRS P consists of the following rules: 176.93/63.20 176.93/63.20 U41^1(active(X)) -> U41^1(X) 176.93/63.20 U41^1(mark(X)) -> U41^1(X) 176.93/63.20 176.93/63.20 R is empty. 176.93/63.20 The set Q consists of the following terms: 176.93/63.20 176.93/63.20 active(U11(tt, x0, x1)) 176.93/63.20 active(U12(tt, x0, x1)) 176.93/63.20 active(U13(tt, x0, x1)) 176.93/63.20 active(U14(tt, x0, x1)) 176.93/63.20 active(U15(tt, x0)) 176.93/63.20 active(U16(tt)) 176.93/63.20 active(U21(tt, x0)) 176.93/63.20 active(U22(tt, x0)) 176.93/63.20 active(U23(tt)) 176.93/63.20 active(U31(tt, x0)) 176.93/63.20 active(U32(tt)) 176.93/63.20 active(U41(tt)) 176.93/63.20 active(U51(tt, x0)) 176.93/63.20 active(U52(tt, x0)) 176.93/63.20 active(U61(tt, x0, x1)) 176.93/63.20 active(U62(tt, x0, x1)) 176.93/63.20 active(U63(tt, x0, x1)) 176.93/63.20 active(U64(tt, x0, x1)) 176.93/63.20 active(isNat(0)) 176.93/63.20 active(isNat(plus(x0, x1))) 176.93/63.20 active(isNat(s(x0))) 176.93/63.20 active(isNatKind(0)) 176.93/63.20 active(isNatKind(plus(x0, x1))) 176.93/63.20 active(isNatKind(s(x0))) 176.93/63.20 active(plus(x0, 0)) 176.93/63.20 active(plus(x0, s(x1))) 176.93/63.20 mark(U11(x0, x1, x2)) 176.93/63.20 mark(tt) 176.93/63.20 mark(U12(x0, x1, x2)) 176.93/63.20 mark(isNatKind(x0)) 176.93/63.20 mark(U13(x0, x1, x2)) 176.93/63.20 mark(U14(x0, x1, x2)) 176.93/63.20 mark(U15(x0, x1)) 176.93/63.20 mark(isNat(x0)) 176.93/63.20 mark(U16(x0)) 176.93/63.20 mark(U21(x0, x1)) 176.93/63.20 mark(U22(x0, x1)) 176.93/63.20 mark(U23(x0)) 176.93/63.20 mark(U31(x0, x1)) 176.93/63.20 mark(U32(x0)) 176.93/63.20 mark(U41(x0)) 176.93/63.20 mark(U51(x0, x1)) 176.93/63.20 mark(U52(x0, x1)) 176.93/63.20 mark(U61(x0, x1, x2)) 176.93/63.20 mark(U62(x0, x1, x2)) 176.93/63.20 mark(U63(x0, x1, x2)) 176.93/63.20 mark(U64(x0, x1, x2)) 176.93/63.20 mark(s(x0)) 176.93/63.20 mark(plus(x0, x1)) 176.93/63.20 mark(0) 176.93/63.20 U11(mark(x0), x1, x2) 176.93/63.20 U11(x0, mark(x1), x2) 176.93/63.20 U11(x0, x1, mark(x2)) 176.93/63.20 U11(active(x0), x1, x2) 176.93/63.20 U11(x0, active(x1), x2) 176.93/63.20 U11(x0, x1, active(x2)) 176.93/63.20 U12(mark(x0), x1, x2) 176.93/63.20 U12(x0, mark(x1), x2) 176.93/63.20 U12(x0, x1, mark(x2)) 176.93/63.20 U12(active(x0), x1, x2) 176.93/63.20 U12(x0, active(x1), x2) 176.93/63.20 U12(x0, x1, active(x2)) 176.93/63.20 isNatKind(mark(x0)) 176.93/63.20 isNatKind(active(x0)) 176.93/63.20 U13(mark(x0), x1, x2) 176.93/63.20 U13(x0, mark(x1), x2) 176.93/63.20 U13(x0, x1, mark(x2)) 176.93/63.20 U13(active(x0), x1, x2) 176.93/63.20 U13(x0, active(x1), x2) 176.93/63.20 U13(x0, x1, active(x2)) 176.93/63.20 U14(mark(x0), x1, x2) 176.93/63.20 U14(x0, mark(x1), x2) 176.93/63.20 U14(x0, x1, mark(x2)) 176.93/63.20 U14(active(x0), x1, x2) 176.93/63.20 U14(x0, active(x1), x2) 176.93/63.20 U14(x0, x1, active(x2)) 176.93/63.20 U15(mark(x0), x1) 176.93/63.20 U15(x0, mark(x1)) 176.93/63.20 U15(active(x0), x1) 176.93/63.20 U15(x0, active(x1)) 176.93/63.20 isNat(mark(x0)) 176.93/63.20 isNat(active(x0)) 176.93/63.20 U16(mark(x0)) 176.93/63.20 U16(active(x0)) 176.93/63.20 U21(mark(x0), x1) 176.93/63.20 U21(x0, mark(x1)) 176.93/63.20 U21(active(x0), x1) 176.93/63.20 U21(x0, active(x1)) 176.93/63.20 U22(mark(x0), x1) 176.93/63.20 U22(x0, mark(x1)) 176.93/63.20 U22(active(x0), x1) 176.93/63.20 U22(x0, active(x1)) 176.93/63.20 U23(mark(x0)) 176.93/63.20 U23(active(x0)) 176.93/63.20 U31(mark(x0), x1) 176.93/63.20 U31(x0, mark(x1)) 176.93/63.20 U31(active(x0), x1) 176.93/63.20 U31(x0, active(x1)) 176.93/63.20 U32(mark(x0)) 176.93/63.20 U32(active(x0)) 176.93/63.20 U41(mark(x0)) 176.93/63.20 U41(active(x0)) 176.93/63.20 U51(mark(x0), x1) 176.93/63.20 U51(x0, mark(x1)) 176.93/63.20 U51(active(x0), x1) 176.93/63.20 U51(x0, active(x1)) 176.93/63.20 U52(mark(x0), x1) 176.93/63.20 U52(x0, mark(x1)) 176.93/63.20 U52(active(x0), x1) 176.93/63.20 U52(x0, active(x1)) 176.93/63.20 U61(mark(x0), x1, x2) 176.93/63.20 U61(x0, mark(x1), x2) 176.93/63.20 U61(x0, x1, mark(x2)) 176.93/63.20 U61(active(x0), x1, x2) 176.93/63.20 U61(x0, active(x1), x2) 176.93/63.20 U61(x0, x1, active(x2)) 176.93/63.20 U62(mark(x0), x1, x2) 176.93/63.20 U62(x0, mark(x1), x2) 176.93/63.20 U62(x0, x1, mark(x2)) 176.93/63.20 U62(active(x0), x1, x2) 176.93/63.20 U62(x0, active(x1), x2) 176.93/63.20 U62(x0, x1, active(x2)) 176.93/63.20 U63(mark(x0), x1, x2) 176.93/63.20 U63(x0, mark(x1), x2) 176.93/63.20 U63(x0, x1, mark(x2)) 176.93/63.20 U63(active(x0), x1, x2) 176.93/63.20 U63(x0, active(x1), x2) 176.93/63.20 U63(x0, x1, active(x2)) 176.93/63.20 U64(mark(x0), x1, x2) 176.93/63.20 U64(x0, mark(x1), x2) 176.93/63.20 U64(x0, x1, mark(x2)) 176.93/63.20 U64(active(x0), x1, x2) 176.93/63.20 U64(x0, active(x1), x2) 176.93/63.20 U64(x0, x1, active(x2)) 176.93/63.20 s(mark(x0)) 176.93/63.20 s(active(x0)) 176.93/63.20 plus(mark(x0), x1) 176.93/63.20 plus(x0, mark(x1)) 176.93/63.20 plus(active(x0), x1) 176.93/63.20 plus(x0, active(x1)) 176.93/63.20 176.93/63.20 We have to consider all minimal (P,Q,R)-chains. 176.93/63.20 ---------------------------------------- 176.93/63.20 176.93/63.20 (64) QReductionProof (EQUIVALENT) 176.93/63.20 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 176.93/63.20 176.93/63.20 U11(mark(x0), x1, x2) 176.93/63.20 U11(x0, mark(x1), x2) 176.93/63.20 U11(x0, x1, mark(x2)) 176.93/63.20 U11(active(x0), x1, x2) 176.93/63.20 U11(x0, active(x1), x2) 176.93/63.20 U11(x0, x1, active(x2)) 176.93/63.20 U12(mark(x0), x1, x2) 176.93/63.20 U12(x0, mark(x1), x2) 176.93/63.20 U12(x0, x1, mark(x2)) 176.93/63.20 U12(active(x0), x1, x2) 176.93/63.20 U12(x0, active(x1), x2) 176.93/63.20 U12(x0, x1, active(x2)) 176.93/63.20 isNatKind(mark(x0)) 176.93/63.20 isNatKind(active(x0)) 176.93/63.20 U13(mark(x0), x1, x2) 176.93/63.20 U13(x0, mark(x1), x2) 176.93/63.20 U13(x0, x1, mark(x2)) 176.93/63.20 U13(active(x0), x1, x2) 176.93/63.20 U13(x0, active(x1), x2) 176.93/63.20 U13(x0, x1, active(x2)) 176.93/63.20 U14(mark(x0), x1, x2) 176.93/63.20 U14(x0, mark(x1), x2) 176.93/63.20 U14(x0, x1, mark(x2)) 176.93/63.20 U14(active(x0), x1, x2) 176.93/63.20 U14(x0, active(x1), x2) 176.93/63.20 U14(x0, x1, active(x2)) 176.93/63.20 U15(mark(x0), x1) 176.93/63.20 U15(x0, mark(x1)) 176.93/63.20 U15(active(x0), x1) 176.93/63.20 U15(x0, active(x1)) 176.93/63.20 isNat(mark(x0)) 176.93/63.20 isNat(active(x0)) 176.93/63.20 U16(mark(x0)) 176.93/63.20 U16(active(x0)) 176.93/63.20 U21(mark(x0), x1) 176.93/63.20 U21(x0, mark(x1)) 176.93/63.20 U21(active(x0), x1) 176.93/63.20 U21(x0, active(x1)) 176.93/63.20 U22(mark(x0), x1) 176.93/63.20 U22(x0, mark(x1)) 176.93/63.20 U22(active(x0), x1) 176.93/63.20 U22(x0, active(x1)) 176.93/63.20 U23(mark(x0)) 176.93/63.20 U23(active(x0)) 176.93/63.20 U31(mark(x0), x1) 176.93/63.20 U31(x0, mark(x1)) 176.93/63.20 U31(active(x0), x1) 176.93/63.20 U31(x0, active(x1)) 176.93/63.20 U32(mark(x0)) 176.93/63.20 U32(active(x0)) 176.93/63.20 U41(mark(x0)) 176.93/63.20 U41(active(x0)) 176.93/63.20 U51(mark(x0), x1) 176.93/63.20 U51(x0, mark(x1)) 176.93/63.20 U51(active(x0), x1) 176.93/63.20 U51(x0, active(x1)) 176.93/63.20 U52(mark(x0), x1) 176.93/63.20 U52(x0, mark(x1)) 176.93/63.20 U52(active(x0), x1) 176.93/63.20 U52(x0, active(x1)) 176.93/63.20 U61(mark(x0), x1, x2) 176.93/63.20 U61(x0, mark(x1), x2) 176.93/63.20 U61(x0, x1, mark(x2)) 176.93/63.20 U61(active(x0), x1, x2) 176.93/63.20 U61(x0, active(x1), x2) 176.93/63.20 U61(x0, x1, active(x2)) 176.93/63.20 U62(mark(x0), x1, x2) 176.93/63.20 U62(x0, mark(x1), x2) 176.93/63.20 U62(x0, x1, mark(x2)) 176.93/63.20 U62(active(x0), x1, x2) 176.93/63.20 U62(x0, active(x1), x2) 176.93/63.20 U62(x0, x1, active(x2)) 176.93/63.20 U63(mark(x0), x1, x2) 176.93/63.20 U63(x0, mark(x1), x2) 176.93/63.20 U63(x0, x1, mark(x2)) 176.93/63.20 U63(active(x0), x1, x2) 176.93/63.20 U63(x0, active(x1), x2) 176.93/63.20 U63(x0, x1, active(x2)) 176.93/63.20 U64(mark(x0), x1, x2) 176.93/63.20 U64(x0, mark(x1), x2) 176.93/63.20 U64(x0, x1, mark(x2)) 176.93/63.20 U64(active(x0), x1, x2) 176.93/63.20 U64(x0, active(x1), x2) 176.93/63.20 U64(x0, x1, active(x2)) 176.93/63.20 s(mark(x0)) 176.93/63.20 s(active(x0)) 176.93/63.20 plus(mark(x0), x1) 176.93/63.20 plus(x0, mark(x1)) 176.93/63.20 plus(active(x0), x1) 176.93/63.20 plus(x0, active(x1)) 176.93/63.20 176.93/63.20 176.93/63.20 ---------------------------------------- 176.93/63.20 176.93/63.20 (65) 176.93/63.20 Obligation: 176.93/63.20 Q DP problem: 176.93/63.20 The TRS P consists of the following rules: 176.93/63.20 176.93/63.20 U41^1(active(X)) -> U41^1(X) 176.93/63.20 U41^1(mark(X)) -> U41^1(X) 176.93/63.20 176.93/63.20 R is empty. 176.93/63.20 The set Q consists of the following terms: 176.93/63.20 176.93/63.20 active(U11(tt, x0, x1)) 176.93/63.20 active(U12(tt, x0, x1)) 176.93/63.20 active(U13(tt, x0, x1)) 176.93/63.20 active(U14(tt, x0, x1)) 176.93/63.20 active(U15(tt, x0)) 176.93/63.20 active(U16(tt)) 176.93/63.20 active(U21(tt, x0)) 176.93/63.20 active(U22(tt, x0)) 176.93/63.20 active(U23(tt)) 176.93/63.20 active(U31(tt, x0)) 176.93/63.20 active(U32(tt)) 176.93/63.20 active(U41(tt)) 176.93/63.20 active(U51(tt, x0)) 176.93/63.20 active(U52(tt, x0)) 176.93/63.20 active(U61(tt, x0, x1)) 176.93/63.20 active(U62(tt, x0, x1)) 176.93/63.20 active(U63(tt, x0, x1)) 176.93/63.20 active(U64(tt, x0, x1)) 176.93/63.20 active(isNat(0)) 176.93/63.20 active(isNat(plus(x0, x1))) 176.93/63.20 active(isNat(s(x0))) 176.93/63.20 active(isNatKind(0)) 176.93/63.20 active(isNatKind(plus(x0, x1))) 176.93/63.20 active(isNatKind(s(x0))) 176.93/63.20 active(plus(x0, 0)) 176.93/63.20 active(plus(x0, s(x1))) 176.93/63.20 mark(U11(x0, x1, x2)) 176.93/63.20 mark(tt) 176.93/63.20 mark(U12(x0, x1, x2)) 176.93/63.20 mark(isNatKind(x0)) 176.93/63.20 mark(U13(x0, x1, x2)) 176.93/63.20 mark(U14(x0, x1, x2)) 176.93/63.20 mark(U15(x0, x1)) 176.93/63.20 mark(isNat(x0)) 176.93/63.20 mark(U16(x0)) 176.93/63.20 mark(U21(x0, x1)) 176.93/63.20 mark(U22(x0, x1)) 176.93/63.20 mark(U23(x0)) 176.93/63.20 mark(U31(x0, x1)) 176.93/63.20 mark(U32(x0)) 176.93/63.20 mark(U41(x0)) 176.93/63.20 mark(U51(x0, x1)) 176.93/63.20 mark(U52(x0, x1)) 176.93/63.20 mark(U61(x0, x1, x2)) 176.93/63.20 mark(U62(x0, x1, x2)) 176.93/63.20 mark(U63(x0, x1, x2)) 176.93/63.20 mark(U64(x0, x1, x2)) 176.93/63.20 mark(s(x0)) 176.93/63.20 mark(plus(x0, x1)) 176.93/63.20 mark(0) 176.93/63.20 176.93/63.20 We have to consider all minimal (P,Q,R)-chains. 176.93/63.20 ---------------------------------------- 176.93/63.20 176.93/63.20 (66) QDPSizeChangeProof (EQUIVALENT) 176.93/63.20 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. 176.93/63.20 176.93/63.20 From the DPs we obtained the following set of size-change graphs: 176.93/63.20 *U41^1(active(X)) -> U41^1(X) 176.93/63.20 The graph contains the following edges 1 > 1 176.93/63.20 176.93/63.20 176.93/63.20 *U41^1(mark(X)) -> U41^1(X) 176.93/63.20 The graph contains the following edges 1 > 1 176.93/63.20 176.93/63.20 176.93/63.20 ---------------------------------------- 176.93/63.20 176.93/63.20 (67) 176.93/63.20 YES 176.93/63.20 176.93/63.20 ---------------------------------------- 176.93/63.20 176.93/63.20 (68) 176.93/63.20 Obligation: 176.93/63.20 Q DP problem: 176.93/63.20 The TRS P consists of the following rules: 176.93/63.20 176.93/63.20 U32^1(active(X)) -> U32^1(X) 176.93/63.20 U32^1(mark(X)) -> U32^1(X) 176.93/63.20 176.93/63.20 The TRS R consists of the following rules: 176.93/63.20 176.93/63.20 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 176.93/63.20 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 176.93/63.20 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 176.93/63.20 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 176.93/63.20 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 176.93/63.20 active(U16(tt)) -> mark(tt) 176.93/63.20 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 176.93/63.20 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 176.93/63.20 active(U23(tt)) -> mark(tt) 176.93/63.20 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 176.93/63.20 active(U32(tt)) -> mark(tt) 176.93/63.20 active(U41(tt)) -> mark(tt) 176.93/63.20 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 176.93/63.20 active(U52(tt, N)) -> mark(N) 176.93/63.20 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 176.93/63.20 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 176.93/63.20 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 176.93/63.21 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 176.93/63.21 active(isNat(0)) -> mark(tt) 176.93/63.21 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 176.93/63.21 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 176.93/63.21 active(isNatKind(0)) -> mark(tt) 176.93/63.21 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 176.93/63.21 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 176.93/63.21 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 176.93/63.21 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 176.93/63.21 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 176.93/63.21 mark(tt) -> active(tt) 176.93/63.21 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 176.93/63.21 mark(isNatKind(X)) -> active(isNatKind(X)) 176.93/63.21 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 176.93/63.21 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 176.93/63.21 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 176.93/63.21 mark(isNat(X)) -> active(isNat(X)) 176.93/63.21 mark(U16(X)) -> active(U16(mark(X))) 176.93/63.21 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 176.93/63.21 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 176.93/63.21 mark(U23(X)) -> active(U23(mark(X))) 176.93/63.21 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 176.93/63.21 mark(U32(X)) -> active(U32(mark(X))) 176.93/63.21 mark(U41(X)) -> active(U41(mark(X))) 176.93/63.21 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 176.93/63.21 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 176.93/63.21 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 176.93/63.21 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 176.93/63.21 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 176.93/63.21 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 176.93/63.21 mark(s(X)) -> active(s(mark(X))) 176.93/63.21 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 176.93/63.21 mark(0) -> active(0) 176.93/63.21 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 176.93/63.21 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 176.93/63.21 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 176.93/63.21 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 176.93/63.21 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 176.93/63.21 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 176.93/63.21 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 176.93/63.21 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 176.93/63.21 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 176.93/63.21 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 176.93/63.21 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 176.93/63.21 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 176.93/63.21 isNatKind(mark(X)) -> isNatKind(X) 176.93/63.21 isNatKind(active(X)) -> isNatKind(X) 176.93/63.21 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 176.93/63.21 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 176.93/63.21 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 176.93/63.21 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 176.93/63.21 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 176.93/63.21 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 176.93/63.21 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 176.93/63.21 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 176.93/63.21 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 176.93/63.21 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 176.93/63.21 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 176.93/63.21 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 176.93/63.21 U15(mark(X1), X2) -> U15(X1, X2) 176.93/63.21 U15(X1, mark(X2)) -> U15(X1, X2) 176.93/63.21 U15(active(X1), X2) -> U15(X1, X2) 176.93/63.21 U15(X1, active(X2)) -> U15(X1, X2) 176.93/63.21 isNat(mark(X)) -> isNat(X) 176.93/63.21 isNat(active(X)) -> isNat(X) 176.93/63.21 U16(mark(X)) -> U16(X) 176.93/63.21 U16(active(X)) -> U16(X) 176.93/63.21 U21(mark(X1), X2) -> U21(X1, X2) 176.93/63.21 U21(X1, mark(X2)) -> U21(X1, X2) 176.93/63.21 U21(active(X1), X2) -> U21(X1, X2) 176.93/63.21 U21(X1, active(X2)) -> U21(X1, X2) 176.93/63.21 U22(mark(X1), X2) -> U22(X1, X2) 176.93/63.21 U22(X1, mark(X2)) -> U22(X1, X2) 176.93/63.21 U22(active(X1), X2) -> U22(X1, X2) 176.93/63.21 U22(X1, active(X2)) -> U22(X1, X2) 176.93/63.21 U23(mark(X)) -> U23(X) 176.93/63.21 U23(active(X)) -> U23(X) 176.93/63.21 U31(mark(X1), X2) -> U31(X1, X2) 176.93/63.21 U31(X1, mark(X2)) -> U31(X1, X2) 176.93/63.21 U31(active(X1), X2) -> U31(X1, X2) 176.93/63.21 U31(X1, active(X2)) -> U31(X1, X2) 176.93/63.21 U32(mark(X)) -> U32(X) 176.93/63.21 U32(active(X)) -> U32(X) 176.93/63.21 U41(mark(X)) -> U41(X) 176.93/63.21 U41(active(X)) -> U41(X) 176.93/63.21 U51(mark(X1), X2) -> U51(X1, X2) 176.93/63.21 U51(X1, mark(X2)) -> U51(X1, X2) 176.93/63.21 U51(active(X1), X2) -> U51(X1, X2) 176.93/63.21 U51(X1, active(X2)) -> U51(X1, X2) 176.93/63.21 U52(mark(X1), X2) -> U52(X1, X2) 176.93/63.21 U52(X1, mark(X2)) -> U52(X1, X2) 176.93/63.21 U52(active(X1), X2) -> U52(X1, X2) 176.93/63.21 U52(X1, active(X2)) -> U52(X1, X2) 176.93/63.21 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 176.93/63.21 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 176.93/63.21 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 176.93/63.21 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 176.93/63.21 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 176.93/63.21 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 176.93/63.21 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 176.93/63.21 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 176.93/63.21 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 176.93/63.21 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 176.93/63.21 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 176.93/63.21 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 176.93/63.21 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 176.93/63.21 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 176.93/63.21 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 176.93/63.21 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 176.93/63.21 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 176.93/63.21 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 176.93/63.21 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 176.93/63.21 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 176.93/63.21 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 176.93/63.21 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 176.93/63.21 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 176.93/63.21 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 176.93/63.21 s(mark(X)) -> s(X) 176.93/63.21 s(active(X)) -> s(X) 176.93/63.21 plus(mark(X1), X2) -> plus(X1, X2) 176.93/63.21 plus(X1, mark(X2)) -> plus(X1, X2) 176.93/63.21 plus(active(X1), X2) -> plus(X1, X2) 176.93/63.21 plus(X1, active(X2)) -> plus(X1, X2) 176.93/63.21 176.93/63.21 The set Q consists of the following terms: 176.93/63.21 176.93/63.21 active(U11(tt, x0, x1)) 176.93/63.21 active(U12(tt, x0, x1)) 176.93/63.21 active(U13(tt, x0, x1)) 176.93/63.21 active(U14(tt, x0, x1)) 176.93/63.21 active(U15(tt, x0)) 176.93/63.21 active(U16(tt)) 176.93/63.21 active(U21(tt, x0)) 176.93/63.21 active(U22(tt, x0)) 176.93/63.21 active(U23(tt)) 176.93/63.21 active(U31(tt, x0)) 176.93/63.21 active(U32(tt)) 176.93/63.21 active(U41(tt)) 176.93/63.21 active(U51(tt, x0)) 176.93/63.21 active(U52(tt, x0)) 176.93/63.21 active(U61(tt, x0, x1)) 176.93/63.21 active(U62(tt, x0, x1)) 176.93/63.21 active(U63(tt, x0, x1)) 176.93/63.21 active(U64(tt, x0, x1)) 176.93/63.21 active(isNat(0)) 176.93/63.21 active(isNat(plus(x0, x1))) 176.93/63.21 active(isNat(s(x0))) 176.93/63.21 active(isNatKind(0)) 176.93/63.21 active(isNatKind(plus(x0, x1))) 176.93/63.21 active(isNatKind(s(x0))) 176.93/63.21 active(plus(x0, 0)) 176.93/63.21 active(plus(x0, s(x1))) 176.93/63.21 mark(U11(x0, x1, x2)) 176.93/63.21 mark(tt) 176.93/63.21 mark(U12(x0, x1, x2)) 176.93/63.21 mark(isNatKind(x0)) 176.93/63.21 mark(U13(x0, x1, x2)) 176.93/63.21 mark(U14(x0, x1, x2)) 176.93/63.21 mark(U15(x0, x1)) 176.93/63.21 mark(isNat(x0)) 176.93/63.21 mark(U16(x0)) 176.93/63.21 mark(U21(x0, x1)) 176.93/63.21 mark(U22(x0, x1)) 176.93/63.21 mark(U23(x0)) 176.93/63.21 mark(U31(x0, x1)) 176.93/63.21 mark(U32(x0)) 176.93/63.21 mark(U41(x0)) 176.93/63.21 mark(U51(x0, x1)) 176.93/63.21 mark(U52(x0, x1)) 176.93/63.21 mark(U61(x0, x1, x2)) 176.93/63.21 mark(U62(x0, x1, x2)) 176.93/63.21 mark(U63(x0, x1, x2)) 176.93/63.21 mark(U64(x0, x1, x2)) 176.93/63.21 mark(s(x0)) 176.93/63.21 mark(plus(x0, x1)) 176.93/63.21 mark(0) 176.93/63.21 U11(mark(x0), x1, x2) 176.93/63.21 U11(x0, mark(x1), x2) 176.93/63.21 U11(x0, x1, mark(x2)) 176.93/63.21 U11(active(x0), x1, x2) 176.93/63.21 U11(x0, active(x1), x2) 176.93/63.21 U11(x0, x1, active(x2)) 176.93/63.21 U12(mark(x0), x1, x2) 176.93/63.21 U12(x0, mark(x1), x2) 176.93/63.21 U12(x0, x1, mark(x2)) 176.93/63.21 U12(active(x0), x1, x2) 176.93/63.21 U12(x0, active(x1), x2) 176.93/63.21 U12(x0, x1, active(x2)) 176.93/63.21 isNatKind(mark(x0)) 176.93/63.21 isNatKind(active(x0)) 176.93/63.21 U13(mark(x0), x1, x2) 176.93/63.21 U13(x0, mark(x1), x2) 176.93/63.21 U13(x0, x1, mark(x2)) 176.93/63.21 U13(active(x0), x1, x2) 176.93/63.21 U13(x0, active(x1), x2) 176.93/63.21 U13(x0, x1, active(x2)) 176.93/63.21 U14(mark(x0), x1, x2) 176.93/63.21 U14(x0, mark(x1), x2) 176.93/63.21 U14(x0, x1, mark(x2)) 176.93/63.21 U14(active(x0), x1, x2) 176.93/63.21 U14(x0, active(x1), x2) 176.93/63.21 U14(x0, x1, active(x2)) 176.93/63.21 U15(mark(x0), x1) 176.93/63.21 U15(x0, mark(x1)) 176.93/63.21 U15(active(x0), x1) 176.93/63.21 U15(x0, active(x1)) 176.93/63.21 isNat(mark(x0)) 176.93/63.21 isNat(active(x0)) 176.93/63.21 U16(mark(x0)) 176.93/63.21 U16(active(x0)) 176.93/63.21 U21(mark(x0), x1) 176.93/63.21 U21(x0, mark(x1)) 176.93/63.21 U21(active(x0), x1) 176.93/63.21 U21(x0, active(x1)) 176.93/63.21 U22(mark(x0), x1) 176.93/63.21 U22(x0, mark(x1)) 176.93/63.21 U22(active(x0), x1) 176.93/63.21 U22(x0, active(x1)) 176.93/63.21 U23(mark(x0)) 176.93/63.21 U23(active(x0)) 176.93/63.21 U31(mark(x0), x1) 176.93/63.21 U31(x0, mark(x1)) 176.93/63.21 U31(active(x0), x1) 176.93/63.21 U31(x0, active(x1)) 176.93/63.21 U32(mark(x0)) 176.93/63.21 U32(active(x0)) 176.93/63.21 U41(mark(x0)) 176.93/63.21 U41(active(x0)) 176.93/63.21 U51(mark(x0), x1) 176.93/63.21 U51(x0, mark(x1)) 176.93/63.21 U51(active(x0), x1) 176.93/63.21 U51(x0, active(x1)) 176.93/63.21 U52(mark(x0), x1) 176.93/63.21 U52(x0, mark(x1)) 176.93/63.21 U52(active(x0), x1) 176.93/63.21 U52(x0, active(x1)) 176.93/63.21 U61(mark(x0), x1, x2) 176.93/63.21 U61(x0, mark(x1), x2) 176.93/63.21 U61(x0, x1, mark(x2)) 176.93/63.21 U61(active(x0), x1, x2) 176.93/63.21 U61(x0, active(x1), x2) 176.93/63.21 U61(x0, x1, active(x2)) 176.93/63.21 U62(mark(x0), x1, x2) 176.93/63.21 U62(x0, mark(x1), x2) 176.93/63.21 U62(x0, x1, mark(x2)) 176.93/63.21 U62(active(x0), x1, x2) 176.93/63.21 U62(x0, active(x1), x2) 176.93/63.21 U62(x0, x1, active(x2)) 176.93/63.21 U63(mark(x0), x1, x2) 176.93/63.21 U63(x0, mark(x1), x2) 176.93/63.21 U63(x0, x1, mark(x2)) 176.93/63.21 U63(active(x0), x1, x2) 176.93/63.21 U63(x0, active(x1), x2) 176.93/63.21 U63(x0, x1, active(x2)) 176.93/63.21 U64(mark(x0), x1, x2) 176.93/63.21 U64(x0, mark(x1), x2) 176.93/63.21 U64(x0, x1, mark(x2)) 176.93/63.21 U64(active(x0), x1, x2) 176.93/63.21 U64(x0, active(x1), x2) 176.93/63.21 U64(x0, x1, active(x2)) 176.93/63.21 s(mark(x0)) 176.93/63.21 s(active(x0)) 176.93/63.21 plus(mark(x0), x1) 176.93/63.21 plus(x0, mark(x1)) 176.93/63.21 plus(active(x0), x1) 176.93/63.21 plus(x0, active(x1)) 176.93/63.21 176.93/63.21 We have to consider all minimal (P,Q,R)-chains. 176.93/63.21 ---------------------------------------- 176.93/63.21 176.93/63.21 (69) UsableRulesProof (EQUIVALENT) 176.93/63.21 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. 176.93/63.21 ---------------------------------------- 176.93/63.21 176.93/63.21 (70) 176.93/63.21 Obligation: 176.93/63.21 Q DP problem: 176.93/63.21 The TRS P consists of the following rules: 176.93/63.21 176.93/63.21 U32^1(active(X)) -> U32^1(X) 176.93/63.21 U32^1(mark(X)) -> U32^1(X) 176.93/63.21 176.93/63.21 R is empty. 176.93/63.21 The set Q consists of the following terms: 176.93/63.21 176.93/63.21 active(U11(tt, x0, x1)) 176.93/63.21 active(U12(tt, x0, x1)) 176.93/63.21 active(U13(tt, x0, x1)) 176.93/63.21 active(U14(tt, x0, x1)) 176.93/63.21 active(U15(tt, x0)) 176.93/63.21 active(U16(tt)) 176.93/63.21 active(U21(tt, x0)) 176.93/63.21 active(U22(tt, x0)) 176.93/63.21 active(U23(tt)) 176.93/63.21 active(U31(tt, x0)) 176.93/63.21 active(U32(tt)) 176.93/63.21 active(U41(tt)) 176.93/63.21 active(U51(tt, x0)) 176.93/63.21 active(U52(tt, x0)) 176.93/63.21 active(U61(tt, x0, x1)) 176.93/63.21 active(U62(tt, x0, x1)) 176.93/63.21 active(U63(tt, x0, x1)) 176.93/63.21 active(U64(tt, x0, x1)) 176.93/63.21 active(isNat(0)) 176.93/63.21 active(isNat(plus(x0, x1))) 176.93/63.21 active(isNat(s(x0))) 176.93/63.21 active(isNatKind(0)) 176.93/63.21 active(isNatKind(plus(x0, x1))) 176.93/63.21 active(isNatKind(s(x0))) 176.93/63.21 active(plus(x0, 0)) 176.93/63.21 active(plus(x0, s(x1))) 176.93/63.21 mark(U11(x0, x1, x2)) 176.93/63.21 mark(tt) 176.93/63.21 mark(U12(x0, x1, x2)) 176.93/63.21 mark(isNatKind(x0)) 176.93/63.21 mark(U13(x0, x1, x2)) 176.93/63.21 mark(U14(x0, x1, x2)) 176.93/63.21 mark(U15(x0, x1)) 176.93/63.21 mark(isNat(x0)) 176.93/63.21 mark(U16(x0)) 176.93/63.21 mark(U21(x0, x1)) 176.93/63.21 mark(U22(x0, x1)) 176.93/63.21 mark(U23(x0)) 176.93/63.21 mark(U31(x0, x1)) 176.93/63.21 mark(U32(x0)) 176.93/63.21 mark(U41(x0)) 176.93/63.21 mark(U51(x0, x1)) 176.93/63.21 mark(U52(x0, x1)) 176.93/63.21 mark(U61(x0, x1, x2)) 176.93/63.21 mark(U62(x0, x1, x2)) 176.93/63.21 mark(U63(x0, x1, x2)) 176.93/63.21 mark(U64(x0, x1, x2)) 176.93/63.21 mark(s(x0)) 176.93/63.21 mark(plus(x0, x1)) 176.93/63.21 mark(0) 176.93/63.21 U11(mark(x0), x1, x2) 176.93/63.21 U11(x0, mark(x1), x2) 176.93/63.21 U11(x0, x1, mark(x2)) 176.93/63.21 U11(active(x0), x1, x2) 176.93/63.21 U11(x0, active(x1), x2) 176.93/63.21 U11(x0, x1, active(x2)) 176.93/63.21 U12(mark(x0), x1, x2) 176.93/63.21 U12(x0, mark(x1), x2) 176.93/63.21 U12(x0, x1, mark(x2)) 176.93/63.21 U12(active(x0), x1, x2) 176.93/63.21 U12(x0, active(x1), x2) 176.93/63.21 U12(x0, x1, active(x2)) 176.93/63.21 isNatKind(mark(x0)) 176.93/63.21 isNatKind(active(x0)) 176.93/63.21 U13(mark(x0), x1, x2) 176.93/63.21 U13(x0, mark(x1), x2) 176.93/63.21 U13(x0, x1, mark(x2)) 176.93/63.21 U13(active(x0), x1, x2) 176.93/63.21 U13(x0, active(x1), x2) 176.93/63.21 U13(x0, x1, active(x2)) 176.93/63.21 U14(mark(x0), x1, x2) 176.93/63.21 U14(x0, mark(x1), x2) 176.93/63.21 U14(x0, x1, mark(x2)) 176.93/63.21 U14(active(x0), x1, x2) 176.93/63.21 U14(x0, active(x1), x2) 176.93/63.21 U14(x0, x1, active(x2)) 176.93/63.21 U15(mark(x0), x1) 176.93/63.21 U15(x0, mark(x1)) 176.93/63.21 U15(active(x0), x1) 176.93/63.21 U15(x0, active(x1)) 176.93/63.21 isNat(mark(x0)) 176.93/63.21 isNat(active(x0)) 176.93/63.21 U16(mark(x0)) 176.93/63.21 U16(active(x0)) 176.93/63.21 U21(mark(x0), x1) 176.93/63.21 U21(x0, mark(x1)) 176.93/63.21 U21(active(x0), x1) 176.93/63.21 U21(x0, active(x1)) 176.93/63.21 U22(mark(x0), x1) 176.93/63.21 U22(x0, mark(x1)) 176.93/63.21 U22(active(x0), x1) 176.93/63.21 U22(x0, active(x1)) 176.93/63.21 U23(mark(x0)) 176.93/63.21 U23(active(x0)) 176.93/63.21 U31(mark(x0), x1) 176.93/63.21 U31(x0, mark(x1)) 176.93/63.21 U31(active(x0), x1) 176.93/63.21 U31(x0, active(x1)) 176.93/63.21 U32(mark(x0)) 176.93/63.21 U32(active(x0)) 176.93/63.21 U41(mark(x0)) 176.93/63.21 U41(active(x0)) 176.93/63.21 U51(mark(x0), x1) 176.93/63.21 U51(x0, mark(x1)) 176.93/63.21 U51(active(x0), x1) 176.93/63.21 U51(x0, active(x1)) 176.93/63.21 U52(mark(x0), x1) 176.93/63.21 U52(x0, mark(x1)) 176.93/63.21 U52(active(x0), x1) 176.93/63.21 U52(x0, active(x1)) 176.93/63.21 U61(mark(x0), x1, x2) 176.93/63.21 U61(x0, mark(x1), x2) 176.93/63.21 U61(x0, x1, mark(x2)) 176.93/63.21 U61(active(x0), x1, x2) 176.93/63.21 U61(x0, active(x1), x2) 176.93/63.21 U61(x0, x1, active(x2)) 176.93/63.21 U62(mark(x0), x1, x2) 176.93/63.21 U62(x0, mark(x1), x2) 176.93/63.21 U62(x0, x1, mark(x2)) 176.93/63.21 U62(active(x0), x1, x2) 176.93/63.21 U62(x0, active(x1), x2) 176.93/63.21 U62(x0, x1, active(x2)) 176.93/63.21 U63(mark(x0), x1, x2) 176.93/63.21 U63(x0, mark(x1), x2) 176.93/63.21 U63(x0, x1, mark(x2)) 176.93/63.21 U63(active(x0), x1, x2) 176.93/63.21 U63(x0, active(x1), x2) 176.93/63.21 U63(x0, x1, active(x2)) 176.93/63.21 U64(mark(x0), x1, x2) 176.93/63.21 U64(x0, mark(x1), x2) 176.93/63.21 U64(x0, x1, mark(x2)) 176.93/63.21 U64(active(x0), x1, x2) 176.93/63.21 U64(x0, active(x1), x2) 176.93/63.21 U64(x0, x1, active(x2)) 176.93/63.21 s(mark(x0)) 176.93/63.21 s(active(x0)) 176.93/63.21 plus(mark(x0), x1) 176.93/63.21 plus(x0, mark(x1)) 176.93/63.21 plus(active(x0), x1) 176.93/63.21 plus(x0, active(x1)) 176.93/63.21 176.93/63.21 We have to consider all minimal (P,Q,R)-chains. 176.93/63.21 ---------------------------------------- 176.93/63.21 176.93/63.21 (71) QReductionProof (EQUIVALENT) 176.93/63.21 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 176.93/63.21 176.93/63.21 U11(mark(x0), x1, x2) 176.93/63.21 U11(x0, mark(x1), x2) 176.93/63.21 U11(x0, x1, mark(x2)) 176.93/63.21 U11(active(x0), x1, x2) 176.93/63.21 U11(x0, active(x1), x2) 176.93/63.21 U11(x0, x1, active(x2)) 176.93/63.21 U12(mark(x0), x1, x2) 176.93/63.21 U12(x0, mark(x1), x2) 176.93/63.21 U12(x0, x1, mark(x2)) 176.93/63.21 U12(active(x0), x1, x2) 176.93/63.21 U12(x0, active(x1), x2) 176.93/63.21 U12(x0, x1, active(x2)) 176.93/63.21 isNatKind(mark(x0)) 176.93/63.21 isNatKind(active(x0)) 176.93/63.21 U13(mark(x0), x1, x2) 176.93/63.21 U13(x0, mark(x1), x2) 176.93/63.21 U13(x0, x1, mark(x2)) 176.93/63.21 U13(active(x0), x1, x2) 176.93/63.21 U13(x0, active(x1), x2) 176.93/63.21 U13(x0, x1, active(x2)) 176.93/63.21 U14(mark(x0), x1, x2) 176.93/63.21 U14(x0, mark(x1), x2) 176.93/63.21 U14(x0, x1, mark(x2)) 176.93/63.21 U14(active(x0), x1, x2) 176.93/63.21 U14(x0, active(x1), x2) 176.93/63.21 U14(x0, x1, active(x2)) 176.93/63.21 U15(mark(x0), x1) 176.93/63.21 U15(x0, mark(x1)) 176.93/63.21 U15(active(x0), x1) 176.93/63.21 U15(x0, active(x1)) 176.93/63.21 isNat(mark(x0)) 176.93/63.21 isNat(active(x0)) 176.93/63.21 U16(mark(x0)) 176.93/63.21 U16(active(x0)) 176.93/63.21 U21(mark(x0), x1) 176.93/63.21 U21(x0, mark(x1)) 176.93/63.21 U21(active(x0), x1) 176.93/63.21 U21(x0, active(x1)) 176.93/63.21 U22(mark(x0), x1) 176.93/63.21 U22(x0, mark(x1)) 176.93/63.21 U22(active(x0), x1) 176.93/63.21 U22(x0, active(x1)) 176.93/63.21 U23(mark(x0)) 176.93/63.21 U23(active(x0)) 176.93/63.21 U31(mark(x0), x1) 176.93/63.21 U31(x0, mark(x1)) 176.93/63.21 U31(active(x0), x1) 176.93/63.21 U31(x0, active(x1)) 176.93/63.21 U32(mark(x0)) 176.93/63.21 U32(active(x0)) 176.93/63.21 U41(mark(x0)) 176.93/63.21 U41(active(x0)) 176.93/63.21 U51(mark(x0), x1) 176.93/63.21 U51(x0, mark(x1)) 176.93/63.21 U51(active(x0), x1) 176.93/63.21 U51(x0, active(x1)) 176.93/63.21 U52(mark(x0), x1) 176.93/63.21 U52(x0, mark(x1)) 176.93/63.21 U52(active(x0), x1) 176.93/63.21 U52(x0, active(x1)) 176.93/63.21 U61(mark(x0), x1, x2) 176.93/63.21 U61(x0, mark(x1), x2) 176.93/63.21 U61(x0, x1, mark(x2)) 176.93/63.21 U61(active(x0), x1, x2) 176.93/63.21 U61(x0, active(x1), x2) 176.93/63.21 U61(x0, x1, active(x2)) 176.93/63.21 U62(mark(x0), x1, x2) 176.93/63.21 U62(x0, mark(x1), x2) 176.93/63.21 U62(x0, x1, mark(x2)) 176.93/63.21 U62(active(x0), x1, x2) 176.93/63.21 U62(x0, active(x1), x2) 176.93/63.21 U62(x0, x1, active(x2)) 176.93/63.21 U63(mark(x0), x1, x2) 176.93/63.21 U63(x0, mark(x1), x2) 176.93/63.21 U63(x0, x1, mark(x2)) 176.93/63.21 U63(active(x0), x1, x2) 176.93/63.21 U63(x0, active(x1), x2) 176.93/63.21 U63(x0, x1, active(x2)) 176.93/63.21 U64(mark(x0), x1, x2) 176.93/63.21 U64(x0, mark(x1), x2) 176.93/63.21 U64(x0, x1, mark(x2)) 176.93/63.21 U64(active(x0), x1, x2) 176.93/63.21 U64(x0, active(x1), x2) 176.93/63.21 U64(x0, x1, active(x2)) 176.93/63.21 s(mark(x0)) 176.93/63.21 s(active(x0)) 176.93/63.21 plus(mark(x0), x1) 176.93/63.21 plus(x0, mark(x1)) 176.93/63.21 plus(active(x0), x1) 176.93/63.21 plus(x0, active(x1)) 176.93/63.21 176.93/63.21 176.93/63.21 ---------------------------------------- 176.93/63.21 176.93/63.21 (72) 176.93/63.21 Obligation: 176.93/63.21 Q DP problem: 176.93/63.21 The TRS P consists of the following rules: 176.93/63.21 176.93/63.21 U32^1(active(X)) -> U32^1(X) 176.93/63.21 U32^1(mark(X)) -> U32^1(X) 176.93/63.21 176.93/63.21 R is empty. 176.93/63.21 The set Q consists of the following terms: 176.93/63.21 176.93/63.21 active(U11(tt, x0, x1)) 176.93/63.21 active(U12(tt, x0, x1)) 176.93/63.21 active(U13(tt, x0, x1)) 176.93/63.21 active(U14(tt, x0, x1)) 176.93/63.21 active(U15(tt, x0)) 176.93/63.21 active(U16(tt)) 176.93/63.21 active(U21(tt, x0)) 176.93/63.21 active(U22(tt, x0)) 176.93/63.21 active(U23(tt)) 176.93/63.21 active(U31(tt, x0)) 176.93/63.21 active(U32(tt)) 176.93/63.21 active(U41(tt)) 176.93/63.21 active(U51(tt, x0)) 176.93/63.21 active(U52(tt, x0)) 176.93/63.21 active(U61(tt, x0, x1)) 176.93/63.21 active(U62(tt, x0, x1)) 176.93/63.21 active(U63(tt, x0, x1)) 176.93/63.21 active(U64(tt, x0, x1)) 176.93/63.21 active(isNat(0)) 176.93/63.21 active(isNat(plus(x0, x1))) 176.93/63.21 active(isNat(s(x0))) 176.93/63.21 active(isNatKind(0)) 176.93/63.21 active(isNatKind(plus(x0, x1))) 176.93/63.21 active(isNatKind(s(x0))) 176.93/63.21 active(plus(x0, 0)) 176.93/63.21 active(plus(x0, s(x1))) 176.93/63.21 mark(U11(x0, x1, x2)) 176.93/63.21 mark(tt) 176.93/63.21 mark(U12(x0, x1, x2)) 176.93/63.21 mark(isNatKind(x0)) 176.93/63.21 mark(U13(x0, x1, x2)) 176.93/63.21 mark(U14(x0, x1, x2)) 176.93/63.21 mark(U15(x0, x1)) 176.93/63.21 mark(isNat(x0)) 176.93/63.21 mark(U16(x0)) 176.93/63.21 mark(U21(x0, x1)) 176.93/63.21 mark(U22(x0, x1)) 176.93/63.21 mark(U23(x0)) 176.93/63.21 mark(U31(x0, x1)) 176.93/63.21 mark(U32(x0)) 176.93/63.21 mark(U41(x0)) 176.93/63.21 mark(U51(x0, x1)) 176.93/63.21 mark(U52(x0, x1)) 176.93/63.21 mark(U61(x0, x1, x2)) 176.93/63.21 mark(U62(x0, x1, x2)) 176.93/63.21 mark(U63(x0, x1, x2)) 176.93/63.21 mark(U64(x0, x1, x2)) 176.93/63.21 mark(s(x0)) 176.93/63.21 mark(plus(x0, x1)) 176.93/63.21 mark(0) 176.93/63.21 176.93/63.21 We have to consider all minimal (P,Q,R)-chains. 176.93/63.21 ---------------------------------------- 176.93/63.21 176.93/63.21 (73) QDPSizeChangeProof (EQUIVALENT) 176.93/63.21 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. 176.93/63.21 176.93/63.21 From the DPs we obtained the following set of size-change graphs: 176.93/63.21 *U32^1(active(X)) -> U32^1(X) 176.93/63.21 The graph contains the following edges 1 > 1 176.93/63.21 176.93/63.21 176.93/63.21 *U32^1(mark(X)) -> U32^1(X) 176.93/63.21 The graph contains the following edges 1 > 1 176.93/63.21 176.93/63.21 176.93/63.21 ---------------------------------------- 176.93/63.21 176.93/63.21 (74) 176.93/63.21 YES 176.93/63.21 176.93/63.21 ---------------------------------------- 176.93/63.21 176.93/63.21 (75) 176.93/63.21 Obligation: 176.93/63.21 Q DP problem: 176.93/63.21 The TRS P consists of the following rules: 176.93/63.21 176.93/63.21 U31^1(X1, mark(X2)) -> U31^1(X1, X2) 176.93/63.21 U31^1(mark(X1), X2) -> U31^1(X1, X2) 176.93/63.21 U31^1(active(X1), X2) -> U31^1(X1, X2) 176.93/63.21 U31^1(X1, active(X2)) -> U31^1(X1, X2) 176.93/63.21 176.93/63.21 The TRS R consists of the following rules: 176.93/63.21 176.93/63.21 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 176.93/63.21 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 176.93/63.21 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 176.93/63.21 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 176.93/63.21 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 176.93/63.21 active(U16(tt)) -> mark(tt) 176.93/63.21 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 176.93/63.21 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 176.93/63.21 active(U23(tt)) -> mark(tt) 176.93/63.21 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 176.93/63.21 active(U32(tt)) -> mark(tt) 176.93/63.21 active(U41(tt)) -> mark(tt) 176.93/63.21 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 176.93/63.21 active(U52(tt, N)) -> mark(N) 176.93/63.21 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 176.93/63.21 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 176.93/63.21 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 176.93/63.21 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 176.93/63.21 active(isNat(0)) -> mark(tt) 176.93/63.21 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 176.93/63.21 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 176.93/63.21 active(isNatKind(0)) -> mark(tt) 176.93/63.21 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 176.93/63.21 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 176.93/63.21 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 176.93/63.21 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 176.93/63.21 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 176.93/63.21 mark(tt) -> active(tt) 176.93/63.21 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 176.93/63.21 mark(isNatKind(X)) -> active(isNatKind(X)) 176.93/63.21 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 176.93/63.21 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 176.93/63.21 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 176.93/63.21 mark(isNat(X)) -> active(isNat(X)) 176.93/63.21 mark(U16(X)) -> active(U16(mark(X))) 176.93/63.21 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 176.93/63.21 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 176.93/63.21 mark(U23(X)) -> active(U23(mark(X))) 176.93/63.21 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 176.93/63.21 mark(U32(X)) -> active(U32(mark(X))) 176.93/63.21 mark(U41(X)) -> active(U41(mark(X))) 176.93/63.21 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 176.93/63.21 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 176.93/63.21 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 176.93/63.21 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 176.93/63.21 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 176.93/63.21 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 176.93/63.21 mark(s(X)) -> active(s(mark(X))) 176.93/63.21 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 176.93/63.21 mark(0) -> active(0) 176.93/63.21 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 176.93/63.21 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 176.93/63.21 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 176.93/63.21 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 176.93/63.21 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 176.93/63.21 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 176.93/63.21 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 176.93/63.21 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 176.93/63.21 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 176.93/63.21 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 176.93/63.21 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 176.93/63.21 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 176.93/63.21 isNatKind(mark(X)) -> isNatKind(X) 176.93/63.21 isNatKind(active(X)) -> isNatKind(X) 176.93/63.21 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 176.93/63.21 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 176.93/63.21 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 176.93/63.21 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 176.93/63.21 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 176.93/63.21 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 176.93/63.21 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 176.93/63.21 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 176.93/63.21 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 176.93/63.21 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 176.93/63.21 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 176.93/63.21 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 176.93/63.21 U15(mark(X1), X2) -> U15(X1, X2) 176.93/63.21 U15(X1, mark(X2)) -> U15(X1, X2) 176.93/63.21 U15(active(X1), X2) -> U15(X1, X2) 176.93/63.21 U15(X1, active(X2)) -> U15(X1, X2) 176.93/63.21 isNat(mark(X)) -> isNat(X) 176.93/63.21 isNat(active(X)) -> isNat(X) 176.93/63.21 U16(mark(X)) -> U16(X) 176.93/63.21 U16(active(X)) -> U16(X) 176.93/63.21 U21(mark(X1), X2) -> U21(X1, X2) 176.93/63.21 U21(X1, mark(X2)) -> U21(X1, X2) 176.93/63.21 U21(active(X1), X2) -> U21(X1, X2) 176.93/63.21 U21(X1, active(X2)) -> U21(X1, X2) 176.93/63.21 U22(mark(X1), X2) -> U22(X1, X2) 176.93/63.21 U22(X1, mark(X2)) -> U22(X1, X2) 176.93/63.21 U22(active(X1), X2) -> U22(X1, X2) 176.93/63.21 U22(X1, active(X2)) -> U22(X1, X2) 176.93/63.21 U23(mark(X)) -> U23(X) 176.93/63.21 U23(active(X)) -> U23(X) 176.93/63.21 U31(mark(X1), X2) -> U31(X1, X2) 176.93/63.21 U31(X1, mark(X2)) -> U31(X1, X2) 176.93/63.21 U31(active(X1), X2) -> U31(X1, X2) 176.93/63.21 U31(X1, active(X2)) -> U31(X1, X2) 176.93/63.21 U32(mark(X)) -> U32(X) 176.93/63.21 U32(active(X)) -> U32(X) 176.93/63.21 U41(mark(X)) -> U41(X) 176.93/63.21 U41(active(X)) -> U41(X) 176.93/63.21 U51(mark(X1), X2) -> U51(X1, X2) 176.93/63.21 U51(X1, mark(X2)) -> U51(X1, X2) 176.93/63.21 U51(active(X1), X2) -> U51(X1, X2) 176.93/63.21 U51(X1, active(X2)) -> U51(X1, X2) 176.93/63.21 U52(mark(X1), X2) -> U52(X1, X2) 176.93/63.21 U52(X1, mark(X2)) -> U52(X1, X2) 176.93/63.21 U52(active(X1), X2) -> U52(X1, X2) 176.93/63.21 U52(X1, active(X2)) -> U52(X1, X2) 176.93/63.21 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 176.93/63.21 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 176.93/63.21 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 176.93/63.21 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 176.93/63.21 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 176.93/63.21 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 176.93/63.21 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 176.93/63.21 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 176.93/63.21 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 176.93/63.21 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 176.93/63.21 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 176.93/63.21 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 176.93/63.21 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 176.93/63.21 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 176.93/63.21 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 176.93/63.21 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 176.93/63.21 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 176.93/63.21 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 176.93/63.21 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 176.93/63.21 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 176.93/63.21 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 176.93/63.21 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 176.93/63.21 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 176.93/63.21 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 176.93/63.21 s(mark(X)) -> s(X) 176.93/63.21 s(active(X)) -> s(X) 176.93/63.21 plus(mark(X1), X2) -> plus(X1, X2) 176.93/63.21 plus(X1, mark(X2)) -> plus(X1, X2) 176.93/63.21 plus(active(X1), X2) -> plus(X1, X2) 176.93/63.21 plus(X1, active(X2)) -> plus(X1, X2) 176.93/63.21 176.93/63.21 The set Q consists of the following terms: 176.93/63.21 176.93/63.21 active(U11(tt, x0, x1)) 176.93/63.21 active(U12(tt, x0, x1)) 176.93/63.21 active(U13(tt, x0, x1)) 176.93/63.21 active(U14(tt, x0, x1)) 176.93/63.21 active(U15(tt, x0)) 176.93/63.21 active(U16(tt)) 176.93/63.21 active(U21(tt, x0)) 176.93/63.21 active(U22(tt, x0)) 176.93/63.21 active(U23(tt)) 176.93/63.21 active(U31(tt, x0)) 176.93/63.21 active(U32(tt)) 176.93/63.21 active(U41(tt)) 176.93/63.21 active(U51(tt, x0)) 176.93/63.21 active(U52(tt, x0)) 176.93/63.21 active(U61(tt, x0, x1)) 176.93/63.21 active(U62(tt, x0, x1)) 176.93/63.21 active(U63(tt, x0, x1)) 176.93/63.21 active(U64(tt, x0, x1)) 176.93/63.21 active(isNat(0)) 176.93/63.21 active(isNat(plus(x0, x1))) 176.93/63.21 active(isNat(s(x0))) 176.93/63.21 active(isNatKind(0)) 176.93/63.21 active(isNatKind(plus(x0, x1))) 176.93/63.21 active(isNatKind(s(x0))) 176.93/63.21 active(plus(x0, 0)) 176.93/63.21 active(plus(x0, s(x1))) 176.93/63.21 mark(U11(x0, x1, x2)) 176.93/63.21 mark(tt) 176.93/63.21 mark(U12(x0, x1, x2)) 176.93/63.21 mark(isNatKind(x0)) 176.93/63.21 mark(U13(x0, x1, x2)) 176.93/63.21 mark(U14(x0, x1, x2)) 176.93/63.21 mark(U15(x0, x1)) 176.93/63.21 mark(isNat(x0)) 176.93/63.21 mark(U16(x0)) 176.93/63.21 mark(U21(x0, x1)) 176.93/63.21 mark(U22(x0, x1)) 176.93/63.21 mark(U23(x0)) 176.93/63.21 mark(U31(x0, x1)) 176.93/63.21 mark(U32(x0)) 176.93/63.21 mark(U41(x0)) 176.93/63.21 mark(U51(x0, x1)) 176.93/63.21 mark(U52(x0, x1)) 176.93/63.21 mark(U61(x0, x1, x2)) 176.93/63.21 mark(U62(x0, x1, x2)) 176.93/63.21 mark(U63(x0, x1, x2)) 176.93/63.21 mark(U64(x0, x1, x2)) 176.93/63.21 mark(s(x0)) 176.93/63.21 mark(plus(x0, x1)) 176.93/63.21 mark(0) 176.93/63.21 U11(mark(x0), x1, x2) 176.93/63.21 U11(x0, mark(x1), x2) 176.93/63.21 U11(x0, x1, mark(x2)) 176.93/63.21 U11(active(x0), x1, x2) 176.93/63.21 U11(x0, active(x1), x2) 176.93/63.21 U11(x0, x1, active(x2)) 176.93/63.21 U12(mark(x0), x1, x2) 176.93/63.21 U12(x0, mark(x1), x2) 176.93/63.21 U12(x0, x1, mark(x2)) 176.93/63.21 U12(active(x0), x1, x2) 176.93/63.21 U12(x0, active(x1), x2) 176.93/63.21 U12(x0, x1, active(x2)) 176.93/63.21 isNatKind(mark(x0)) 176.93/63.21 isNatKind(active(x0)) 176.93/63.21 U13(mark(x0), x1, x2) 176.93/63.21 U13(x0, mark(x1), x2) 176.93/63.21 U13(x0, x1, mark(x2)) 176.93/63.21 U13(active(x0), x1, x2) 176.93/63.21 U13(x0, active(x1), x2) 176.93/63.21 U13(x0, x1, active(x2)) 176.93/63.21 U14(mark(x0), x1, x2) 176.93/63.21 U14(x0, mark(x1), x2) 176.93/63.21 U14(x0, x1, mark(x2)) 176.93/63.21 U14(active(x0), x1, x2) 176.93/63.21 U14(x0, active(x1), x2) 176.93/63.21 U14(x0, x1, active(x2)) 176.93/63.21 U15(mark(x0), x1) 176.93/63.21 U15(x0, mark(x1)) 176.93/63.21 U15(active(x0), x1) 176.93/63.21 U15(x0, active(x1)) 176.93/63.21 isNat(mark(x0)) 176.93/63.21 isNat(active(x0)) 176.93/63.21 U16(mark(x0)) 176.93/63.21 U16(active(x0)) 176.93/63.21 U21(mark(x0), x1) 176.93/63.21 U21(x0, mark(x1)) 176.93/63.21 U21(active(x0), x1) 176.93/63.21 U21(x0, active(x1)) 176.93/63.21 U22(mark(x0), x1) 176.93/63.21 U22(x0, mark(x1)) 176.93/63.21 U22(active(x0), x1) 176.93/63.21 U22(x0, active(x1)) 176.93/63.21 U23(mark(x0)) 176.93/63.21 U23(active(x0)) 176.93/63.21 U31(mark(x0), x1) 176.93/63.21 U31(x0, mark(x1)) 176.93/63.21 U31(active(x0), x1) 176.93/63.21 U31(x0, active(x1)) 176.93/63.21 U32(mark(x0)) 176.93/63.21 U32(active(x0)) 176.93/63.21 U41(mark(x0)) 176.93/63.21 U41(active(x0)) 176.93/63.21 U51(mark(x0), x1) 176.93/63.21 U51(x0, mark(x1)) 176.93/63.21 U51(active(x0), x1) 176.93/63.21 U51(x0, active(x1)) 176.93/63.21 U52(mark(x0), x1) 176.93/63.21 U52(x0, mark(x1)) 176.93/63.21 U52(active(x0), x1) 176.93/63.21 U52(x0, active(x1)) 176.93/63.21 U61(mark(x0), x1, x2) 176.93/63.21 U61(x0, mark(x1), x2) 176.93/63.21 U61(x0, x1, mark(x2)) 176.93/63.21 U61(active(x0), x1, x2) 176.93/63.21 U61(x0, active(x1), x2) 176.93/63.21 U61(x0, x1, active(x2)) 176.93/63.21 U62(mark(x0), x1, x2) 176.93/63.21 U62(x0, mark(x1), x2) 176.93/63.21 U62(x0, x1, mark(x2)) 176.93/63.21 U62(active(x0), x1, x2) 176.93/63.21 U62(x0, active(x1), x2) 176.93/63.21 U62(x0, x1, active(x2)) 176.93/63.21 U63(mark(x0), x1, x2) 176.93/63.21 U63(x0, mark(x1), x2) 176.93/63.21 U63(x0, x1, mark(x2)) 176.93/63.21 U63(active(x0), x1, x2) 176.93/63.21 U63(x0, active(x1), x2) 176.93/63.21 U63(x0, x1, active(x2)) 176.93/63.21 U64(mark(x0), x1, x2) 176.93/63.21 U64(x0, mark(x1), x2) 176.93/63.21 U64(x0, x1, mark(x2)) 176.93/63.21 U64(active(x0), x1, x2) 176.93/63.21 U64(x0, active(x1), x2) 176.93/63.21 U64(x0, x1, active(x2)) 176.93/63.21 s(mark(x0)) 176.93/63.21 s(active(x0)) 176.93/63.21 plus(mark(x0), x1) 176.93/63.21 plus(x0, mark(x1)) 176.93/63.21 plus(active(x0), x1) 176.93/63.21 plus(x0, active(x1)) 176.93/63.21 176.93/63.21 We have to consider all minimal (P,Q,R)-chains. 176.93/63.21 ---------------------------------------- 176.93/63.21 176.93/63.21 (76) UsableRulesProof (EQUIVALENT) 176.93/63.21 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. 176.93/63.21 ---------------------------------------- 176.93/63.21 176.93/63.21 (77) 176.93/63.21 Obligation: 176.93/63.21 Q DP problem: 176.93/63.21 The TRS P consists of the following rules: 176.93/63.21 176.93/63.21 U31^1(X1, mark(X2)) -> U31^1(X1, X2) 176.93/63.21 U31^1(mark(X1), X2) -> U31^1(X1, X2) 176.93/63.21 U31^1(active(X1), X2) -> U31^1(X1, X2) 176.93/63.21 U31^1(X1, active(X2)) -> U31^1(X1, X2) 176.93/63.21 176.93/63.21 R is empty. 176.93/63.21 The set Q consists of the following terms: 176.93/63.21 176.93/63.21 active(U11(tt, x0, x1)) 176.93/63.21 active(U12(tt, x0, x1)) 176.93/63.21 active(U13(tt, x0, x1)) 176.93/63.21 active(U14(tt, x0, x1)) 176.93/63.21 active(U15(tt, x0)) 176.93/63.21 active(U16(tt)) 176.93/63.21 active(U21(tt, x0)) 176.93/63.21 active(U22(tt, x0)) 176.93/63.21 active(U23(tt)) 176.93/63.21 active(U31(tt, x0)) 176.93/63.21 active(U32(tt)) 176.93/63.21 active(U41(tt)) 176.93/63.21 active(U51(tt, x0)) 176.93/63.21 active(U52(tt, x0)) 176.93/63.21 active(U61(tt, x0, x1)) 176.93/63.21 active(U62(tt, x0, x1)) 176.93/63.21 active(U63(tt, x0, x1)) 176.93/63.21 active(U64(tt, x0, x1)) 176.93/63.21 active(isNat(0)) 176.93/63.21 active(isNat(plus(x0, x1))) 176.93/63.21 active(isNat(s(x0))) 176.93/63.21 active(isNatKind(0)) 176.93/63.21 active(isNatKind(plus(x0, x1))) 176.93/63.21 active(isNatKind(s(x0))) 176.93/63.21 active(plus(x0, 0)) 176.93/63.21 active(plus(x0, s(x1))) 176.93/63.21 mark(U11(x0, x1, x2)) 176.93/63.21 mark(tt) 176.93/63.21 mark(U12(x0, x1, x2)) 176.93/63.21 mark(isNatKind(x0)) 176.93/63.21 mark(U13(x0, x1, x2)) 176.93/63.21 mark(U14(x0, x1, x2)) 176.93/63.21 mark(U15(x0, x1)) 176.93/63.21 mark(isNat(x0)) 176.93/63.21 mark(U16(x0)) 176.93/63.21 mark(U21(x0, x1)) 176.93/63.21 mark(U22(x0, x1)) 176.93/63.21 mark(U23(x0)) 176.93/63.21 mark(U31(x0, x1)) 176.93/63.21 mark(U32(x0)) 176.93/63.21 mark(U41(x0)) 176.93/63.21 mark(U51(x0, x1)) 176.93/63.21 mark(U52(x0, x1)) 176.93/63.21 mark(U61(x0, x1, x2)) 176.93/63.21 mark(U62(x0, x1, x2)) 176.93/63.21 mark(U63(x0, x1, x2)) 176.93/63.21 mark(U64(x0, x1, x2)) 176.93/63.21 mark(s(x0)) 176.93/63.21 mark(plus(x0, x1)) 176.93/63.21 mark(0) 176.93/63.21 U11(mark(x0), x1, x2) 176.93/63.21 U11(x0, mark(x1), x2) 176.93/63.21 U11(x0, x1, mark(x2)) 176.93/63.21 U11(active(x0), x1, x2) 176.93/63.21 U11(x0, active(x1), x2) 176.93/63.21 U11(x0, x1, active(x2)) 176.93/63.21 U12(mark(x0), x1, x2) 176.93/63.21 U12(x0, mark(x1), x2) 176.93/63.21 U12(x0, x1, mark(x2)) 176.93/63.21 U12(active(x0), x1, x2) 176.93/63.21 U12(x0, active(x1), x2) 176.93/63.21 U12(x0, x1, active(x2)) 176.93/63.21 isNatKind(mark(x0)) 176.93/63.21 isNatKind(active(x0)) 176.93/63.21 U13(mark(x0), x1, x2) 176.93/63.21 U13(x0, mark(x1), x2) 176.93/63.21 U13(x0, x1, mark(x2)) 176.93/63.21 U13(active(x0), x1, x2) 176.93/63.21 U13(x0, active(x1), x2) 176.93/63.21 U13(x0, x1, active(x2)) 176.93/63.21 U14(mark(x0), x1, x2) 176.93/63.21 U14(x0, mark(x1), x2) 176.93/63.21 U14(x0, x1, mark(x2)) 176.93/63.21 U14(active(x0), x1, x2) 176.93/63.21 U14(x0, active(x1), x2) 176.93/63.21 U14(x0, x1, active(x2)) 176.93/63.21 U15(mark(x0), x1) 176.93/63.21 U15(x0, mark(x1)) 176.93/63.21 U15(active(x0), x1) 176.93/63.21 U15(x0, active(x1)) 176.93/63.21 isNat(mark(x0)) 176.93/63.21 isNat(active(x0)) 176.93/63.21 U16(mark(x0)) 176.93/63.21 U16(active(x0)) 176.93/63.21 U21(mark(x0), x1) 176.93/63.21 U21(x0, mark(x1)) 176.93/63.21 U21(active(x0), x1) 176.93/63.21 U21(x0, active(x1)) 176.93/63.21 U22(mark(x0), x1) 176.93/63.21 U22(x0, mark(x1)) 176.93/63.21 U22(active(x0), x1) 176.93/63.21 U22(x0, active(x1)) 176.93/63.21 U23(mark(x0)) 176.93/63.21 U23(active(x0)) 176.93/63.21 U31(mark(x0), x1) 176.93/63.21 U31(x0, mark(x1)) 176.93/63.21 U31(active(x0), x1) 176.93/63.21 U31(x0, active(x1)) 176.93/63.21 U32(mark(x0)) 176.93/63.21 U32(active(x0)) 176.93/63.21 U41(mark(x0)) 176.93/63.21 U41(active(x0)) 176.93/63.21 U51(mark(x0), x1) 176.93/63.21 U51(x0, mark(x1)) 176.93/63.21 U51(active(x0), x1) 176.93/63.21 U51(x0, active(x1)) 176.93/63.21 U52(mark(x0), x1) 176.93/63.21 U52(x0, mark(x1)) 176.93/63.21 U52(active(x0), x1) 176.93/63.21 U52(x0, active(x1)) 176.93/63.21 U61(mark(x0), x1, x2) 176.93/63.21 U61(x0, mark(x1), x2) 176.93/63.21 U61(x0, x1, mark(x2)) 176.93/63.21 U61(active(x0), x1, x2) 176.93/63.21 U61(x0, active(x1), x2) 176.93/63.21 U61(x0, x1, active(x2)) 176.93/63.21 U62(mark(x0), x1, x2) 176.93/63.21 U62(x0, mark(x1), x2) 176.93/63.21 U62(x0, x1, mark(x2)) 176.93/63.21 U62(active(x0), x1, x2) 176.93/63.21 U62(x0, active(x1), x2) 176.93/63.21 U62(x0, x1, active(x2)) 176.93/63.21 U63(mark(x0), x1, x2) 176.93/63.21 U63(x0, mark(x1), x2) 176.93/63.21 U63(x0, x1, mark(x2)) 176.93/63.21 U63(active(x0), x1, x2) 176.93/63.21 U63(x0, active(x1), x2) 176.93/63.21 U63(x0, x1, active(x2)) 176.93/63.21 U64(mark(x0), x1, x2) 176.93/63.21 U64(x0, mark(x1), x2) 176.93/63.21 U64(x0, x1, mark(x2)) 176.93/63.21 U64(active(x0), x1, x2) 176.93/63.21 U64(x0, active(x1), x2) 176.93/63.21 U64(x0, x1, active(x2)) 176.93/63.21 s(mark(x0)) 176.93/63.21 s(active(x0)) 176.93/63.21 plus(mark(x0), x1) 176.93/63.21 plus(x0, mark(x1)) 176.93/63.21 plus(active(x0), x1) 176.93/63.21 plus(x0, active(x1)) 176.93/63.21 176.93/63.21 We have to consider all minimal (P,Q,R)-chains. 176.93/63.21 ---------------------------------------- 176.93/63.21 176.93/63.21 (78) QReductionProof (EQUIVALENT) 176.93/63.21 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 176.93/63.21 176.93/63.21 U11(mark(x0), x1, x2) 176.93/63.21 U11(x0, mark(x1), x2) 176.93/63.21 U11(x0, x1, mark(x2)) 176.93/63.21 U11(active(x0), x1, x2) 176.93/63.21 U11(x0, active(x1), x2) 176.93/63.21 U11(x0, x1, active(x2)) 176.93/63.21 U12(mark(x0), x1, x2) 176.93/63.21 U12(x0, mark(x1), x2) 176.93/63.21 U12(x0, x1, mark(x2)) 176.93/63.21 U12(active(x0), x1, x2) 176.93/63.21 U12(x0, active(x1), x2) 176.93/63.21 U12(x0, x1, active(x2)) 176.93/63.21 isNatKind(mark(x0)) 176.93/63.21 isNatKind(active(x0)) 176.93/63.21 U13(mark(x0), x1, x2) 176.93/63.21 U13(x0, mark(x1), x2) 176.93/63.21 U13(x0, x1, mark(x2)) 176.93/63.21 U13(active(x0), x1, x2) 176.93/63.21 U13(x0, active(x1), x2) 176.93/63.21 U13(x0, x1, active(x2)) 176.93/63.21 U14(mark(x0), x1, x2) 176.93/63.21 U14(x0, mark(x1), x2) 176.93/63.21 U14(x0, x1, mark(x2)) 176.93/63.21 U14(active(x0), x1, x2) 176.93/63.21 U14(x0, active(x1), x2) 176.93/63.21 U14(x0, x1, active(x2)) 176.93/63.21 U15(mark(x0), x1) 176.93/63.21 U15(x0, mark(x1)) 176.93/63.21 U15(active(x0), x1) 176.93/63.21 U15(x0, active(x1)) 176.93/63.21 isNat(mark(x0)) 176.93/63.21 isNat(active(x0)) 176.93/63.21 U16(mark(x0)) 176.93/63.21 U16(active(x0)) 176.93/63.21 U21(mark(x0), x1) 176.93/63.21 U21(x0, mark(x1)) 176.93/63.21 U21(active(x0), x1) 176.93/63.21 U21(x0, active(x1)) 176.93/63.21 U22(mark(x0), x1) 176.93/63.21 U22(x0, mark(x1)) 176.93/63.21 U22(active(x0), x1) 176.93/63.21 U22(x0, active(x1)) 176.93/63.21 U23(mark(x0)) 176.93/63.21 U23(active(x0)) 176.93/63.21 U31(mark(x0), x1) 176.93/63.21 U31(x0, mark(x1)) 176.93/63.21 U31(active(x0), x1) 176.93/63.21 U31(x0, active(x1)) 176.93/63.21 U32(mark(x0)) 176.93/63.21 U32(active(x0)) 176.93/63.21 U41(mark(x0)) 176.93/63.21 U41(active(x0)) 176.93/63.21 U51(mark(x0), x1) 176.93/63.21 U51(x0, mark(x1)) 176.93/63.21 U51(active(x0), x1) 176.93/63.21 U51(x0, active(x1)) 176.93/63.21 U52(mark(x0), x1) 176.93/63.21 U52(x0, mark(x1)) 176.93/63.21 U52(active(x0), x1) 176.93/63.21 U52(x0, active(x1)) 176.93/63.21 U61(mark(x0), x1, x2) 176.93/63.21 U61(x0, mark(x1), x2) 176.93/63.21 U61(x0, x1, mark(x2)) 176.93/63.21 U61(active(x0), x1, x2) 176.93/63.21 U61(x0, active(x1), x2) 176.93/63.21 U61(x0, x1, active(x2)) 176.93/63.21 U62(mark(x0), x1, x2) 176.93/63.21 U62(x0, mark(x1), x2) 176.93/63.21 U62(x0, x1, mark(x2)) 176.93/63.21 U62(active(x0), x1, x2) 176.93/63.21 U62(x0, active(x1), x2) 176.93/63.21 U62(x0, x1, active(x2)) 176.93/63.21 U63(mark(x0), x1, x2) 176.93/63.21 U63(x0, mark(x1), x2) 176.93/63.21 U63(x0, x1, mark(x2)) 176.93/63.21 U63(active(x0), x1, x2) 176.93/63.21 U63(x0, active(x1), x2) 176.93/63.21 U63(x0, x1, active(x2)) 176.93/63.21 U64(mark(x0), x1, x2) 176.93/63.21 U64(x0, mark(x1), x2) 176.93/63.21 U64(x0, x1, mark(x2)) 176.93/63.21 U64(active(x0), x1, x2) 176.93/63.21 U64(x0, active(x1), x2) 176.93/63.21 U64(x0, x1, active(x2)) 176.93/63.21 s(mark(x0)) 176.93/63.21 s(active(x0)) 176.93/63.21 plus(mark(x0), x1) 176.93/63.21 plus(x0, mark(x1)) 176.93/63.21 plus(active(x0), x1) 176.93/63.21 plus(x0, active(x1)) 176.93/63.21 176.93/63.21 176.93/63.21 ---------------------------------------- 176.93/63.21 176.93/63.21 (79) 176.93/63.21 Obligation: 176.93/63.21 Q DP problem: 176.93/63.21 The TRS P consists of the following rules: 176.93/63.21 176.93/63.21 U31^1(X1, mark(X2)) -> U31^1(X1, X2) 176.93/63.21 U31^1(mark(X1), X2) -> U31^1(X1, X2) 176.93/63.21 U31^1(active(X1), X2) -> U31^1(X1, X2) 176.93/63.21 U31^1(X1, active(X2)) -> U31^1(X1, X2) 176.93/63.21 176.93/63.21 R is empty. 176.93/63.21 The set Q consists of the following terms: 176.93/63.21 176.93/63.21 active(U11(tt, x0, x1)) 176.93/63.21 active(U12(tt, x0, x1)) 176.93/63.21 active(U13(tt, x0, x1)) 176.93/63.21 active(U14(tt, x0, x1)) 176.93/63.21 active(U15(tt, x0)) 176.93/63.21 active(U16(tt)) 176.93/63.21 active(U21(tt, x0)) 176.93/63.21 active(U22(tt, x0)) 176.93/63.21 active(U23(tt)) 176.93/63.21 active(U31(tt, x0)) 176.93/63.21 active(U32(tt)) 176.93/63.21 active(U41(tt)) 176.93/63.21 active(U51(tt, x0)) 176.93/63.21 active(U52(tt, x0)) 176.93/63.21 active(U61(tt, x0, x1)) 176.93/63.21 active(U62(tt, x0, x1)) 176.93/63.21 active(U63(tt, x0, x1)) 176.93/63.21 active(U64(tt, x0, x1)) 176.93/63.21 active(isNat(0)) 176.93/63.21 active(isNat(plus(x0, x1))) 176.93/63.21 active(isNat(s(x0))) 176.93/63.21 active(isNatKind(0)) 176.93/63.21 active(isNatKind(plus(x0, x1))) 176.93/63.21 active(isNatKind(s(x0))) 176.93/63.21 active(plus(x0, 0)) 176.93/63.21 active(plus(x0, s(x1))) 176.93/63.21 mark(U11(x0, x1, x2)) 176.93/63.21 mark(tt) 176.93/63.21 mark(U12(x0, x1, x2)) 176.93/63.21 mark(isNatKind(x0)) 176.93/63.21 mark(U13(x0, x1, x2)) 176.93/63.21 mark(U14(x0, x1, x2)) 176.93/63.21 mark(U15(x0, x1)) 176.93/63.21 mark(isNat(x0)) 176.93/63.21 mark(U16(x0)) 176.93/63.21 mark(U21(x0, x1)) 176.93/63.21 mark(U22(x0, x1)) 176.93/63.21 mark(U23(x0)) 176.93/63.21 mark(U31(x0, x1)) 176.93/63.21 mark(U32(x0)) 176.93/63.21 mark(U41(x0)) 176.93/63.21 mark(U51(x0, x1)) 176.93/63.21 mark(U52(x0, x1)) 176.93/63.21 mark(U61(x0, x1, x2)) 176.93/63.21 mark(U62(x0, x1, x2)) 176.93/63.21 mark(U63(x0, x1, x2)) 176.93/63.21 mark(U64(x0, x1, x2)) 176.93/63.21 mark(s(x0)) 176.93/63.21 mark(plus(x0, x1)) 176.93/63.21 mark(0) 176.93/63.21 176.93/63.21 We have to consider all minimal (P,Q,R)-chains. 176.93/63.21 ---------------------------------------- 176.93/63.21 176.93/63.21 (80) QDPSizeChangeProof (EQUIVALENT) 176.93/63.21 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. 176.93/63.21 176.93/63.21 From the DPs we obtained the following set of size-change graphs: 176.93/63.21 *U31^1(X1, mark(X2)) -> U31^1(X1, X2) 176.93/63.21 The graph contains the following edges 1 >= 1, 2 > 2 176.93/63.21 176.93/63.21 176.93/63.21 *U31^1(mark(X1), X2) -> U31^1(X1, X2) 176.93/63.21 The graph contains the following edges 1 > 1, 2 >= 2 176.93/63.21 176.93/63.21 176.93/63.21 *U31^1(active(X1), X2) -> U31^1(X1, X2) 176.93/63.21 The graph contains the following edges 1 > 1, 2 >= 2 176.93/63.21 176.93/63.21 176.93/63.21 *U31^1(X1, active(X2)) -> U31^1(X1, X2) 176.93/63.21 The graph contains the following edges 1 >= 1, 2 > 2 176.93/63.21 176.93/63.21 176.93/63.21 ---------------------------------------- 176.93/63.21 176.93/63.21 (81) 176.93/63.21 YES 176.93/63.21 176.93/63.21 ---------------------------------------- 176.93/63.21 176.93/63.21 (82) 176.93/63.21 Obligation: 176.93/63.21 Q DP problem: 176.93/63.21 The TRS P consists of the following rules: 176.93/63.21 176.93/63.21 U23^1(active(X)) -> U23^1(X) 176.93/63.21 U23^1(mark(X)) -> U23^1(X) 176.93/63.21 176.93/63.21 The TRS R consists of the following rules: 176.93/63.21 176.93/63.21 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 176.93/63.21 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 176.93/63.21 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 176.93/63.21 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 176.93/63.21 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 176.93/63.21 active(U16(tt)) -> mark(tt) 176.93/63.21 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 176.93/63.21 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 176.93/63.21 active(U23(tt)) -> mark(tt) 176.93/63.21 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 176.93/63.21 active(U32(tt)) -> mark(tt) 176.93/63.21 active(U41(tt)) -> mark(tt) 176.93/63.21 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 176.93/63.21 active(U52(tt, N)) -> mark(N) 176.93/63.21 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 176.93/63.21 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 176.93/63.21 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 176.93/63.21 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 176.93/63.21 active(isNat(0)) -> mark(tt) 176.93/63.21 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 176.93/63.21 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 176.93/63.21 active(isNatKind(0)) -> mark(tt) 176.93/63.21 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 176.93/63.21 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 176.93/63.21 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 176.93/63.21 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 176.93/63.21 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 176.93/63.21 mark(tt) -> active(tt) 176.93/63.21 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 176.93/63.21 mark(isNatKind(X)) -> active(isNatKind(X)) 176.93/63.21 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 176.93/63.21 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 176.93/63.21 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 176.93/63.21 mark(isNat(X)) -> active(isNat(X)) 176.93/63.21 mark(U16(X)) -> active(U16(mark(X))) 176.93/63.21 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 176.93/63.21 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 176.93/63.21 mark(U23(X)) -> active(U23(mark(X))) 176.93/63.21 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 176.93/63.21 mark(U32(X)) -> active(U32(mark(X))) 176.93/63.21 mark(U41(X)) -> active(U41(mark(X))) 176.93/63.21 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 176.93/63.21 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 176.93/63.21 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 176.93/63.21 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 176.93/63.21 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 176.93/63.21 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 176.93/63.21 mark(s(X)) -> active(s(mark(X))) 176.93/63.21 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 176.93/63.21 mark(0) -> active(0) 176.93/63.21 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 176.93/63.21 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 176.93/63.21 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 176.93/63.21 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 176.93/63.21 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 176.93/63.21 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 176.93/63.21 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 176.93/63.21 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 176.93/63.21 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 176.93/63.21 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 176.93/63.21 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 176.93/63.21 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 176.93/63.21 isNatKind(mark(X)) -> isNatKind(X) 176.93/63.21 isNatKind(active(X)) -> isNatKind(X) 176.93/63.21 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 176.93/63.21 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 176.93/63.21 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 176.93/63.21 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 176.93/63.21 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 176.93/63.21 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 176.93/63.21 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 176.93/63.21 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 176.93/63.21 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 176.93/63.21 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 176.93/63.21 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 176.93/63.21 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 176.93/63.21 U15(mark(X1), X2) -> U15(X1, X2) 176.93/63.21 U15(X1, mark(X2)) -> U15(X1, X2) 176.93/63.21 U15(active(X1), X2) -> U15(X1, X2) 176.93/63.21 U15(X1, active(X2)) -> U15(X1, X2) 176.93/63.21 isNat(mark(X)) -> isNat(X) 176.93/63.21 isNat(active(X)) -> isNat(X) 176.93/63.21 U16(mark(X)) -> U16(X) 176.93/63.21 U16(active(X)) -> U16(X) 176.93/63.21 U21(mark(X1), X2) -> U21(X1, X2) 176.93/63.21 U21(X1, mark(X2)) -> U21(X1, X2) 176.93/63.21 U21(active(X1), X2) -> U21(X1, X2) 176.93/63.21 U21(X1, active(X2)) -> U21(X1, X2) 176.93/63.21 U22(mark(X1), X2) -> U22(X1, X2) 176.93/63.21 U22(X1, mark(X2)) -> U22(X1, X2) 176.93/63.21 U22(active(X1), X2) -> U22(X1, X2) 176.93/63.21 U22(X1, active(X2)) -> U22(X1, X2) 176.93/63.21 U23(mark(X)) -> U23(X) 176.93/63.21 U23(active(X)) -> U23(X) 176.93/63.21 U31(mark(X1), X2) -> U31(X1, X2) 176.93/63.21 U31(X1, mark(X2)) -> U31(X1, X2) 176.93/63.21 U31(active(X1), X2) -> U31(X1, X2) 176.93/63.21 U31(X1, active(X2)) -> U31(X1, X2) 176.93/63.21 U32(mark(X)) -> U32(X) 176.93/63.21 U32(active(X)) -> U32(X) 176.93/63.21 U41(mark(X)) -> U41(X) 176.93/63.21 U41(active(X)) -> U41(X) 176.93/63.21 U51(mark(X1), X2) -> U51(X1, X2) 176.93/63.21 U51(X1, mark(X2)) -> U51(X1, X2) 176.93/63.21 U51(active(X1), X2) -> U51(X1, X2) 176.93/63.21 U51(X1, active(X2)) -> U51(X1, X2) 176.93/63.21 U52(mark(X1), X2) -> U52(X1, X2) 176.93/63.21 U52(X1, mark(X2)) -> U52(X1, X2) 176.93/63.21 U52(active(X1), X2) -> U52(X1, X2) 176.93/63.21 U52(X1, active(X2)) -> U52(X1, X2) 176.93/63.21 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 176.93/63.21 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 176.93/63.21 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 176.93/63.21 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 176.93/63.21 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 176.93/63.21 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 176.93/63.21 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 176.93/63.21 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 176.93/63.21 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 176.93/63.21 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 176.93/63.21 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 176.93/63.21 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 176.93/63.21 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 176.93/63.21 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 176.93/63.21 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 176.93/63.21 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 176.93/63.21 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 176.93/63.21 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 176.93/63.21 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 176.93/63.21 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 176.93/63.21 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 176.93/63.21 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 176.93/63.21 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 176.93/63.21 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 176.93/63.21 s(mark(X)) -> s(X) 176.93/63.21 s(active(X)) -> s(X) 176.93/63.21 plus(mark(X1), X2) -> plus(X1, X2) 176.93/63.21 plus(X1, mark(X2)) -> plus(X1, X2) 176.93/63.21 plus(active(X1), X2) -> plus(X1, X2) 176.93/63.21 plus(X1, active(X2)) -> plus(X1, X2) 176.93/63.21 176.93/63.21 The set Q consists of the following terms: 176.93/63.21 176.93/63.21 active(U11(tt, x0, x1)) 176.93/63.21 active(U12(tt, x0, x1)) 176.93/63.21 active(U13(tt, x0, x1)) 176.93/63.21 active(U14(tt, x0, x1)) 176.93/63.21 active(U15(tt, x0)) 176.93/63.21 active(U16(tt)) 176.93/63.21 active(U21(tt, x0)) 176.93/63.21 active(U22(tt, x0)) 176.93/63.21 active(U23(tt)) 176.93/63.21 active(U31(tt, x0)) 176.93/63.21 active(U32(tt)) 176.93/63.21 active(U41(tt)) 176.93/63.21 active(U51(tt, x0)) 176.93/63.21 active(U52(tt, x0)) 176.93/63.21 active(U61(tt, x0, x1)) 176.93/63.21 active(U62(tt, x0, x1)) 176.93/63.21 active(U63(tt, x0, x1)) 176.93/63.21 active(U64(tt, x0, x1)) 176.93/63.21 active(isNat(0)) 176.93/63.21 active(isNat(plus(x0, x1))) 176.93/63.21 active(isNat(s(x0))) 176.93/63.21 active(isNatKind(0)) 176.93/63.21 active(isNatKind(plus(x0, x1))) 176.93/63.21 active(isNatKind(s(x0))) 176.93/63.21 active(plus(x0, 0)) 176.93/63.21 active(plus(x0, s(x1))) 176.93/63.21 mark(U11(x0, x1, x2)) 176.93/63.21 mark(tt) 176.93/63.21 mark(U12(x0, x1, x2)) 176.93/63.21 mark(isNatKind(x0)) 176.93/63.21 mark(U13(x0, x1, x2)) 176.93/63.21 mark(U14(x0, x1, x2)) 176.93/63.21 mark(U15(x0, x1)) 176.93/63.21 mark(isNat(x0)) 176.93/63.21 mark(U16(x0)) 176.93/63.21 mark(U21(x0, x1)) 176.93/63.21 mark(U22(x0, x1)) 176.93/63.21 mark(U23(x0)) 176.93/63.21 mark(U31(x0, x1)) 176.93/63.21 mark(U32(x0)) 176.93/63.21 mark(U41(x0)) 176.93/63.21 mark(U51(x0, x1)) 176.93/63.21 mark(U52(x0, x1)) 176.93/63.21 mark(U61(x0, x1, x2)) 176.93/63.21 mark(U62(x0, x1, x2)) 176.93/63.21 mark(U63(x0, x1, x2)) 176.93/63.21 mark(U64(x0, x1, x2)) 176.93/63.21 mark(s(x0)) 176.93/63.21 mark(plus(x0, x1)) 176.93/63.21 mark(0) 176.93/63.21 U11(mark(x0), x1, x2) 176.93/63.21 U11(x0, mark(x1), x2) 176.93/63.21 U11(x0, x1, mark(x2)) 176.93/63.21 U11(active(x0), x1, x2) 176.93/63.21 U11(x0, active(x1), x2) 176.93/63.21 U11(x0, x1, active(x2)) 176.93/63.21 U12(mark(x0), x1, x2) 176.93/63.21 U12(x0, mark(x1), x2) 176.93/63.21 U12(x0, x1, mark(x2)) 176.93/63.21 U12(active(x0), x1, x2) 176.93/63.21 U12(x0, active(x1), x2) 176.93/63.21 U12(x0, x1, active(x2)) 176.93/63.21 isNatKind(mark(x0)) 176.93/63.21 isNatKind(active(x0)) 176.93/63.21 U13(mark(x0), x1, x2) 176.93/63.21 U13(x0, mark(x1), x2) 176.93/63.21 U13(x0, x1, mark(x2)) 176.93/63.21 U13(active(x0), x1, x2) 176.93/63.21 U13(x0, active(x1), x2) 176.93/63.21 U13(x0, x1, active(x2)) 176.93/63.21 U14(mark(x0), x1, x2) 176.93/63.21 U14(x0, mark(x1), x2) 176.93/63.21 U14(x0, x1, mark(x2)) 176.93/63.21 U14(active(x0), x1, x2) 176.93/63.21 U14(x0, active(x1), x2) 176.93/63.21 U14(x0, x1, active(x2)) 176.93/63.21 U15(mark(x0), x1) 176.93/63.21 U15(x0, mark(x1)) 176.93/63.21 U15(active(x0), x1) 176.93/63.21 U15(x0, active(x1)) 176.93/63.21 isNat(mark(x0)) 176.93/63.21 isNat(active(x0)) 176.93/63.21 U16(mark(x0)) 176.93/63.21 U16(active(x0)) 176.93/63.21 U21(mark(x0), x1) 176.93/63.21 U21(x0, mark(x1)) 176.93/63.21 U21(active(x0), x1) 176.93/63.21 U21(x0, active(x1)) 176.93/63.21 U22(mark(x0), x1) 176.93/63.21 U22(x0, mark(x1)) 176.93/63.21 U22(active(x0), x1) 176.93/63.21 U22(x0, active(x1)) 176.93/63.21 U23(mark(x0)) 176.93/63.21 U23(active(x0)) 176.93/63.21 U31(mark(x0), x1) 176.93/63.21 U31(x0, mark(x1)) 176.93/63.21 U31(active(x0), x1) 176.93/63.21 U31(x0, active(x1)) 176.93/63.21 U32(mark(x0)) 176.93/63.21 U32(active(x0)) 176.93/63.21 U41(mark(x0)) 176.93/63.21 U41(active(x0)) 176.93/63.21 U51(mark(x0), x1) 176.93/63.21 U51(x0, mark(x1)) 176.93/63.21 U51(active(x0), x1) 176.93/63.21 U51(x0, active(x1)) 176.93/63.21 U52(mark(x0), x1) 176.93/63.21 U52(x0, mark(x1)) 176.93/63.21 U52(active(x0), x1) 176.93/63.21 U52(x0, active(x1)) 176.93/63.21 U61(mark(x0), x1, x2) 176.93/63.21 U61(x0, mark(x1), x2) 176.93/63.21 U61(x0, x1, mark(x2)) 176.93/63.21 U61(active(x0), x1, x2) 176.93/63.21 U61(x0, active(x1), x2) 176.93/63.21 U61(x0, x1, active(x2)) 176.93/63.21 U62(mark(x0), x1, x2) 176.93/63.21 U62(x0, mark(x1), x2) 176.93/63.21 U62(x0, x1, mark(x2)) 176.93/63.21 U62(active(x0), x1, x2) 176.93/63.21 U62(x0, active(x1), x2) 176.93/63.21 U62(x0, x1, active(x2)) 176.93/63.21 U63(mark(x0), x1, x2) 176.93/63.21 U63(x0, mark(x1), x2) 176.93/63.21 U63(x0, x1, mark(x2)) 176.93/63.21 U63(active(x0), x1, x2) 176.93/63.21 U63(x0, active(x1), x2) 176.93/63.21 U63(x0, x1, active(x2)) 176.93/63.21 U64(mark(x0), x1, x2) 176.93/63.21 U64(x0, mark(x1), x2) 176.93/63.21 U64(x0, x1, mark(x2)) 176.93/63.21 U64(active(x0), x1, x2) 176.93/63.21 U64(x0, active(x1), x2) 176.93/63.21 U64(x0, x1, active(x2)) 176.93/63.21 s(mark(x0)) 176.93/63.21 s(active(x0)) 176.93/63.21 plus(mark(x0), x1) 176.93/63.21 plus(x0, mark(x1)) 176.93/63.21 plus(active(x0), x1) 176.93/63.21 plus(x0, active(x1)) 176.93/63.21 176.93/63.21 We have to consider all minimal (P,Q,R)-chains. 176.93/63.21 ---------------------------------------- 176.93/63.21 176.93/63.21 (83) UsableRulesProof (EQUIVALENT) 176.93/63.21 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. 176.93/63.21 ---------------------------------------- 176.93/63.21 176.93/63.21 (84) 176.93/63.21 Obligation: 176.93/63.21 Q DP problem: 176.93/63.21 The TRS P consists of the following rules: 176.93/63.21 176.93/63.21 U23^1(active(X)) -> U23^1(X) 176.93/63.21 U23^1(mark(X)) -> U23^1(X) 176.93/63.21 176.93/63.21 R is empty. 176.93/63.21 The set Q consists of the following terms: 176.93/63.21 176.93/63.21 active(U11(tt, x0, x1)) 176.93/63.21 active(U12(tt, x0, x1)) 176.93/63.21 active(U13(tt, x0, x1)) 176.93/63.21 active(U14(tt, x0, x1)) 176.93/63.21 active(U15(tt, x0)) 176.93/63.21 active(U16(tt)) 176.93/63.21 active(U21(tt, x0)) 176.93/63.21 active(U22(tt, x0)) 176.93/63.21 active(U23(tt)) 176.93/63.21 active(U31(tt, x0)) 176.93/63.21 active(U32(tt)) 176.93/63.21 active(U41(tt)) 176.93/63.21 active(U51(tt, x0)) 176.93/63.21 active(U52(tt, x0)) 176.93/63.21 active(U61(tt, x0, x1)) 176.93/63.21 active(U62(tt, x0, x1)) 176.93/63.21 active(U63(tt, x0, x1)) 176.93/63.21 active(U64(tt, x0, x1)) 176.93/63.21 active(isNat(0)) 176.93/63.21 active(isNat(plus(x0, x1))) 176.93/63.21 active(isNat(s(x0))) 176.93/63.21 active(isNatKind(0)) 176.93/63.21 active(isNatKind(plus(x0, x1))) 176.93/63.21 active(isNatKind(s(x0))) 176.93/63.21 active(plus(x0, 0)) 176.93/63.21 active(plus(x0, s(x1))) 176.93/63.21 mark(U11(x0, x1, x2)) 176.93/63.21 mark(tt) 176.93/63.21 mark(U12(x0, x1, x2)) 176.93/63.21 mark(isNatKind(x0)) 176.93/63.21 mark(U13(x0, x1, x2)) 176.93/63.21 mark(U14(x0, x1, x2)) 176.93/63.21 mark(U15(x0, x1)) 176.93/63.21 mark(isNat(x0)) 176.93/63.21 mark(U16(x0)) 176.93/63.21 mark(U21(x0, x1)) 176.93/63.21 mark(U22(x0, x1)) 176.93/63.21 mark(U23(x0)) 176.93/63.21 mark(U31(x0, x1)) 176.93/63.21 mark(U32(x0)) 176.93/63.21 mark(U41(x0)) 176.93/63.21 mark(U51(x0, x1)) 176.93/63.21 mark(U52(x0, x1)) 176.93/63.21 mark(U61(x0, x1, x2)) 176.93/63.21 mark(U62(x0, x1, x2)) 176.93/63.21 mark(U63(x0, x1, x2)) 176.93/63.21 mark(U64(x0, x1, x2)) 176.93/63.21 mark(s(x0)) 176.93/63.21 mark(plus(x0, x1)) 176.93/63.21 mark(0) 176.93/63.21 U11(mark(x0), x1, x2) 176.93/63.21 U11(x0, mark(x1), x2) 176.93/63.21 U11(x0, x1, mark(x2)) 176.93/63.21 U11(active(x0), x1, x2) 176.93/63.21 U11(x0, active(x1), x2) 176.93/63.21 U11(x0, x1, active(x2)) 176.93/63.21 U12(mark(x0), x1, x2) 176.93/63.21 U12(x0, mark(x1), x2) 176.93/63.21 U12(x0, x1, mark(x2)) 176.93/63.21 U12(active(x0), x1, x2) 176.93/63.21 U12(x0, active(x1), x2) 176.93/63.21 U12(x0, x1, active(x2)) 176.93/63.21 isNatKind(mark(x0)) 176.93/63.21 isNatKind(active(x0)) 176.93/63.21 U13(mark(x0), x1, x2) 176.93/63.21 U13(x0, mark(x1), x2) 176.93/63.21 U13(x0, x1, mark(x2)) 176.93/63.21 U13(active(x0), x1, x2) 176.93/63.21 U13(x0, active(x1), x2) 176.93/63.21 U13(x0, x1, active(x2)) 176.93/63.21 U14(mark(x0), x1, x2) 176.93/63.21 U14(x0, mark(x1), x2) 176.93/63.21 U14(x0, x1, mark(x2)) 176.93/63.21 U14(active(x0), x1, x2) 176.93/63.21 U14(x0, active(x1), x2) 176.93/63.21 U14(x0, x1, active(x2)) 176.93/63.21 U15(mark(x0), x1) 176.93/63.21 U15(x0, mark(x1)) 176.93/63.21 U15(active(x0), x1) 176.93/63.21 U15(x0, active(x1)) 176.93/63.21 isNat(mark(x0)) 176.93/63.21 isNat(active(x0)) 176.93/63.21 U16(mark(x0)) 176.93/63.21 U16(active(x0)) 176.93/63.21 U21(mark(x0), x1) 176.93/63.21 U21(x0, mark(x1)) 176.93/63.21 U21(active(x0), x1) 176.93/63.21 U21(x0, active(x1)) 176.93/63.21 U22(mark(x0), x1) 176.93/63.21 U22(x0, mark(x1)) 176.93/63.21 U22(active(x0), x1) 176.93/63.21 U22(x0, active(x1)) 176.93/63.21 U23(mark(x0)) 176.93/63.21 U23(active(x0)) 176.93/63.21 U31(mark(x0), x1) 176.93/63.21 U31(x0, mark(x1)) 176.93/63.21 U31(active(x0), x1) 176.93/63.21 U31(x0, active(x1)) 176.93/63.21 U32(mark(x0)) 176.93/63.21 U32(active(x0)) 176.93/63.21 U41(mark(x0)) 176.93/63.21 U41(active(x0)) 176.93/63.21 U51(mark(x0), x1) 176.93/63.21 U51(x0, mark(x1)) 176.93/63.21 U51(active(x0), x1) 176.93/63.21 U51(x0, active(x1)) 176.93/63.21 U52(mark(x0), x1) 176.93/63.21 U52(x0, mark(x1)) 176.93/63.21 U52(active(x0), x1) 176.93/63.21 U52(x0, active(x1)) 176.93/63.21 U61(mark(x0), x1, x2) 176.93/63.21 U61(x0, mark(x1), x2) 176.93/63.21 U61(x0, x1, mark(x2)) 176.93/63.21 U61(active(x0), x1, x2) 176.93/63.21 U61(x0, active(x1), x2) 176.93/63.21 U61(x0, x1, active(x2)) 176.93/63.21 U62(mark(x0), x1, x2) 176.93/63.21 U62(x0, mark(x1), x2) 176.93/63.21 U62(x0, x1, mark(x2)) 176.93/63.21 U62(active(x0), x1, x2) 176.93/63.21 U62(x0, active(x1), x2) 176.93/63.21 U62(x0, x1, active(x2)) 176.93/63.21 U63(mark(x0), x1, x2) 176.93/63.21 U63(x0, mark(x1), x2) 176.93/63.21 U63(x0, x1, mark(x2)) 176.93/63.21 U63(active(x0), x1, x2) 176.93/63.21 U63(x0, active(x1), x2) 176.93/63.21 U63(x0, x1, active(x2)) 176.93/63.21 U64(mark(x0), x1, x2) 176.93/63.21 U64(x0, mark(x1), x2) 176.93/63.21 U64(x0, x1, mark(x2)) 176.93/63.21 U64(active(x0), x1, x2) 176.93/63.21 U64(x0, active(x1), x2) 176.93/63.21 U64(x0, x1, active(x2)) 176.93/63.21 s(mark(x0)) 176.93/63.21 s(active(x0)) 176.93/63.21 plus(mark(x0), x1) 176.93/63.21 plus(x0, mark(x1)) 176.93/63.21 plus(active(x0), x1) 176.93/63.21 plus(x0, active(x1)) 176.93/63.21 176.93/63.21 We have to consider all minimal (P,Q,R)-chains. 176.93/63.21 ---------------------------------------- 176.93/63.21 176.93/63.21 (85) QReductionProof (EQUIVALENT) 176.93/63.21 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 176.93/63.21 176.93/63.21 U11(mark(x0), x1, x2) 176.93/63.21 U11(x0, mark(x1), x2) 176.93/63.21 U11(x0, x1, mark(x2)) 176.93/63.21 U11(active(x0), x1, x2) 176.93/63.21 U11(x0, active(x1), x2) 176.93/63.21 U11(x0, x1, active(x2)) 176.93/63.21 U12(mark(x0), x1, x2) 176.93/63.21 U12(x0, mark(x1), x2) 176.93/63.21 U12(x0, x1, mark(x2)) 176.93/63.21 U12(active(x0), x1, x2) 176.93/63.21 U12(x0, active(x1), x2) 176.93/63.21 U12(x0, x1, active(x2)) 176.93/63.21 isNatKind(mark(x0)) 176.93/63.21 isNatKind(active(x0)) 176.93/63.21 U13(mark(x0), x1, x2) 176.93/63.21 U13(x0, mark(x1), x2) 176.93/63.21 U13(x0, x1, mark(x2)) 176.93/63.21 U13(active(x0), x1, x2) 176.93/63.21 U13(x0, active(x1), x2) 176.93/63.21 U13(x0, x1, active(x2)) 176.93/63.21 U14(mark(x0), x1, x2) 176.93/63.21 U14(x0, mark(x1), x2) 176.93/63.21 U14(x0, x1, mark(x2)) 176.93/63.21 U14(active(x0), x1, x2) 176.93/63.21 U14(x0, active(x1), x2) 176.93/63.21 U14(x0, x1, active(x2)) 176.93/63.21 U15(mark(x0), x1) 176.93/63.21 U15(x0, mark(x1)) 176.93/63.21 U15(active(x0), x1) 176.93/63.21 U15(x0, active(x1)) 176.93/63.21 isNat(mark(x0)) 176.93/63.21 isNat(active(x0)) 176.93/63.21 U16(mark(x0)) 176.93/63.21 U16(active(x0)) 176.93/63.21 U21(mark(x0), x1) 176.93/63.21 U21(x0, mark(x1)) 176.93/63.21 U21(active(x0), x1) 176.93/63.21 U21(x0, active(x1)) 176.93/63.21 U22(mark(x0), x1) 176.93/63.21 U22(x0, mark(x1)) 176.93/63.21 U22(active(x0), x1) 176.93/63.21 U22(x0, active(x1)) 176.93/63.21 U23(mark(x0)) 176.93/63.21 U23(active(x0)) 176.93/63.21 U31(mark(x0), x1) 176.93/63.21 U31(x0, mark(x1)) 176.93/63.21 U31(active(x0), x1) 176.93/63.21 U31(x0, active(x1)) 176.93/63.21 U32(mark(x0)) 176.93/63.21 U32(active(x0)) 176.93/63.21 U41(mark(x0)) 176.93/63.21 U41(active(x0)) 176.93/63.21 U51(mark(x0), x1) 176.93/63.21 U51(x0, mark(x1)) 176.93/63.21 U51(active(x0), x1) 176.93/63.21 U51(x0, active(x1)) 176.93/63.21 U52(mark(x0), x1) 176.93/63.21 U52(x0, mark(x1)) 176.93/63.21 U52(active(x0), x1) 176.93/63.21 U52(x0, active(x1)) 176.93/63.21 U61(mark(x0), x1, x2) 176.93/63.21 U61(x0, mark(x1), x2) 176.93/63.21 U61(x0, x1, mark(x2)) 176.93/63.21 U61(active(x0), x1, x2) 176.93/63.21 U61(x0, active(x1), x2) 176.93/63.21 U61(x0, x1, active(x2)) 176.93/63.21 U62(mark(x0), x1, x2) 176.93/63.21 U62(x0, mark(x1), x2) 176.93/63.21 U62(x0, x1, mark(x2)) 176.93/63.21 U62(active(x0), x1, x2) 176.93/63.21 U62(x0, active(x1), x2) 176.93/63.21 U62(x0, x1, active(x2)) 176.93/63.21 U63(mark(x0), x1, x2) 176.93/63.21 U63(x0, mark(x1), x2) 176.93/63.21 U63(x0, x1, mark(x2)) 176.93/63.21 U63(active(x0), x1, x2) 176.93/63.21 U63(x0, active(x1), x2) 176.93/63.21 U63(x0, x1, active(x2)) 176.93/63.21 U64(mark(x0), x1, x2) 176.93/63.21 U64(x0, mark(x1), x2) 176.93/63.21 U64(x0, x1, mark(x2)) 176.93/63.21 U64(active(x0), x1, x2) 176.93/63.21 U64(x0, active(x1), x2) 176.93/63.21 U64(x0, x1, active(x2)) 176.93/63.21 s(mark(x0)) 176.93/63.21 s(active(x0)) 176.93/63.21 plus(mark(x0), x1) 176.93/63.21 plus(x0, mark(x1)) 176.93/63.21 plus(active(x0), x1) 176.93/63.21 plus(x0, active(x1)) 176.93/63.21 176.93/63.21 176.93/63.21 ---------------------------------------- 176.93/63.21 176.93/63.21 (86) 176.93/63.21 Obligation: 176.93/63.21 Q DP problem: 176.93/63.21 The TRS P consists of the following rules: 176.93/63.21 176.93/63.21 U23^1(active(X)) -> U23^1(X) 176.93/63.21 U23^1(mark(X)) -> U23^1(X) 176.93/63.21 176.93/63.21 R is empty. 176.93/63.21 The set Q consists of the following terms: 176.93/63.21 176.93/63.21 active(U11(tt, x0, x1)) 176.93/63.21 active(U12(tt, x0, x1)) 176.93/63.21 active(U13(tt, x0, x1)) 176.93/63.21 active(U14(tt, x0, x1)) 176.93/63.21 active(U15(tt, x0)) 176.93/63.21 active(U16(tt)) 176.93/63.21 active(U21(tt, x0)) 176.93/63.21 active(U22(tt, x0)) 176.93/63.21 active(U23(tt)) 176.93/63.21 active(U31(tt, x0)) 176.93/63.21 active(U32(tt)) 176.93/63.21 active(U41(tt)) 176.93/63.21 active(U51(tt, x0)) 176.93/63.22 active(U52(tt, x0)) 176.93/63.22 active(U61(tt, x0, x1)) 176.93/63.22 active(U62(tt, x0, x1)) 176.93/63.22 active(U63(tt, x0, x1)) 176.93/63.22 active(U64(tt, x0, x1)) 176.93/63.22 active(isNat(0)) 176.93/63.22 active(isNat(plus(x0, x1))) 176.93/63.22 active(isNat(s(x0))) 176.93/63.22 active(isNatKind(0)) 176.93/63.22 active(isNatKind(plus(x0, x1))) 176.93/63.22 active(isNatKind(s(x0))) 176.93/63.22 active(plus(x0, 0)) 176.93/63.22 active(plus(x0, s(x1))) 176.93/63.22 mark(U11(x0, x1, x2)) 176.93/63.22 mark(tt) 176.93/63.22 mark(U12(x0, x1, x2)) 176.93/63.22 mark(isNatKind(x0)) 176.93/63.22 mark(U13(x0, x1, x2)) 176.93/63.22 mark(U14(x0, x1, x2)) 176.93/63.22 mark(U15(x0, x1)) 176.93/63.22 mark(isNat(x0)) 176.93/63.22 mark(U16(x0)) 176.93/63.22 mark(U21(x0, x1)) 176.93/63.22 mark(U22(x0, x1)) 176.93/63.22 mark(U23(x0)) 176.93/63.22 mark(U31(x0, x1)) 176.93/63.22 mark(U32(x0)) 176.93/63.22 mark(U41(x0)) 176.93/63.22 mark(U51(x0, x1)) 176.93/63.22 mark(U52(x0, x1)) 176.93/63.22 mark(U61(x0, x1, x2)) 176.93/63.22 mark(U62(x0, x1, x2)) 176.93/63.22 mark(U63(x0, x1, x2)) 176.93/63.22 mark(U64(x0, x1, x2)) 176.93/63.22 mark(s(x0)) 176.93/63.22 mark(plus(x0, x1)) 176.93/63.22 mark(0) 176.93/63.22 176.93/63.22 We have to consider all minimal (P,Q,R)-chains. 176.93/63.22 ---------------------------------------- 176.93/63.22 176.93/63.22 (87) QDPSizeChangeProof (EQUIVALENT) 176.93/63.22 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. 176.93/63.22 176.93/63.22 From the DPs we obtained the following set of size-change graphs: 176.93/63.22 *U23^1(active(X)) -> U23^1(X) 176.93/63.22 The graph contains the following edges 1 > 1 176.93/63.22 176.93/63.22 176.93/63.22 *U23^1(mark(X)) -> U23^1(X) 176.93/63.22 The graph contains the following edges 1 > 1 176.93/63.22 176.93/63.22 176.93/63.22 ---------------------------------------- 176.93/63.22 176.93/63.22 (88) 176.93/63.22 YES 176.93/63.22 176.93/63.22 ---------------------------------------- 176.93/63.22 176.93/63.22 (89) 176.93/63.22 Obligation: 176.93/63.22 Q DP problem: 176.93/63.22 The TRS P consists of the following rules: 176.93/63.22 176.93/63.22 U22^1(X1, mark(X2)) -> U22^1(X1, X2) 176.93/63.22 U22^1(mark(X1), X2) -> U22^1(X1, X2) 176.93/63.22 U22^1(active(X1), X2) -> U22^1(X1, X2) 176.93/63.22 U22^1(X1, active(X2)) -> U22^1(X1, X2) 176.93/63.22 176.93/63.22 The TRS R consists of the following rules: 176.93/63.22 176.93/63.22 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 176.93/63.22 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 176.93/63.22 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 176.93/63.22 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 176.93/63.22 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 176.93/63.22 active(U16(tt)) -> mark(tt) 176.93/63.22 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 176.93/63.22 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 176.93/63.22 active(U23(tt)) -> mark(tt) 176.93/63.22 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 176.93/63.22 active(U32(tt)) -> mark(tt) 176.93/63.22 active(U41(tt)) -> mark(tt) 176.93/63.22 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 176.93/63.22 active(U52(tt, N)) -> mark(N) 176.93/63.22 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 176.93/63.22 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 176.93/63.22 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 176.93/63.22 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 176.93/63.22 active(isNat(0)) -> mark(tt) 176.93/63.22 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 176.93/63.22 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 176.93/63.22 active(isNatKind(0)) -> mark(tt) 176.93/63.22 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 176.93/63.22 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 176.93/63.22 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 176.93/63.22 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 176.93/63.22 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 176.93/63.22 mark(tt) -> active(tt) 176.93/63.22 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 176.93/63.22 mark(isNatKind(X)) -> active(isNatKind(X)) 176.93/63.22 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 176.93/63.22 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 176.93/63.22 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 176.93/63.22 mark(isNat(X)) -> active(isNat(X)) 176.93/63.22 mark(U16(X)) -> active(U16(mark(X))) 176.93/63.22 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 176.93/63.22 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 176.93/63.22 mark(U23(X)) -> active(U23(mark(X))) 176.93/63.22 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 176.93/63.22 mark(U32(X)) -> active(U32(mark(X))) 176.93/63.22 mark(U41(X)) -> active(U41(mark(X))) 176.93/63.22 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 176.93/63.22 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 176.93/63.22 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 176.93/63.22 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 176.93/63.22 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 176.93/63.22 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 176.93/63.22 mark(s(X)) -> active(s(mark(X))) 176.93/63.22 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 176.93/63.22 mark(0) -> active(0) 176.93/63.22 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 176.93/63.22 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 176.93/63.22 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 176.93/63.22 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 176.93/63.22 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 176.93/63.22 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 176.93/63.22 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 176.93/63.22 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 176.93/63.22 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 176.93/63.22 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 176.93/63.22 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 176.93/63.22 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 176.93/63.22 isNatKind(mark(X)) -> isNatKind(X) 176.93/63.22 isNatKind(active(X)) -> isNatKind(X) 176.93/63.22 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 176.93/63.22 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 176.93/63.22 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 176.93/63.22 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 176.93/63.22 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 176.93/63.22 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 176.93/63.22 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 176.93/63.22 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 176.93/63.22 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 176.93/63.22 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 176.93/63.22 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 176.93/63.22 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 176.93/63.22 U15(mark(X1), X2) -> U15(X1, X2) 176.93/63.22 U15(X1, mark(X2)) -> U15(X1, X2) 176.93/63.22 U15(active(X1), X2) -> U15(X1, X2) 176.93/63.22 U15(X1, active(X2)) -> U15(X1, X2) 176.93/63.22 isNat(mark(X)) -> isNat(X) 176.93/63.22 isNat(active(X)) -> isNat(X) 176.93/63.22 U16(mark(X)) -> U16(X) 176.93/63.22 U16(active(X)) -> U16(X) 176.93/63.22 U21(mark(X1), X2) -> U21(X1, X2) 176.93/63.22 U21(X1, mark(X2)) -> U21(X1, X2) 176.93/63.22 U21(active(X1), X2) -> U21(X1, X2) 176.93/63.22 U21(X1, active(X2)) -> U21(X1, X2) 176.93/63.22 U22(mark(X1), X2) -> U22(X1, X2) 176.93/63.22 U22(X1, mark(X2)) -> U22(X1, X2) 176.93/63.22 U22(active(X1), X2) -> U22(X1, X2) 176.93/63.22 U22(X1, active(X2)) -> U22(X1, X2) 176.93/63.22 U23(mark(X)) -> U23(X) 176.93/63.22 U23(active(X)) -> U23(X) 176.93/63.22 U31(mark(X1), X2) -> U31(X1, X2) 176.93/63.22 U31(X1, mark(X2)) -> U31(X1, X2) 176.93/63.22 U31(active(X1), X2) -> U31(X1, X2) 176.93/63.22 U31(X1, active(X2)) -> U31(X1, X2) 176.93/63.22 U32(mark(X)) -> U32(X) 176.93/63.22 U32(active(X)) -> U32(X) 176.93/63.22 U41(mark(X)) -> U41(X) 176.93/63.22 U41(active(X)) -> U41(X) 176.93/63.22 U51(mark(X1), X2) -> U51(X1, X2) 176.93/63.22 U51(X1, mark(X2)) -> U51(X1, X2) 176.93/63.22 U51(active(X1), X2) -> U51(X1, X2) 176.93/63.22 U51(X1, active(X2)) -> U51(X1, X2) 176.93/63.22 U52(mark(X1), X2) -> U52(X1, X2) 176.93/63.22 U52(X1, mark(X2)) -> U52(X1, X2) 176.93/63.22 U52(active(X1), X2) -> U52(X1, X2) 176.93/63.22 U52(X1, active(X2)) -> U52(X1, X2) 176.93/63.22 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 176.93/63.22 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 176.93/63.22 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 176.93/63.22 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 176.93/63.22 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 176.93/63.22 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 176.93/63.22 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 176.93/63.22 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 176.93/63.22 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 176.93/63.22 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 176.93/63.22 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 176.93/63.22 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 176.93/63.22 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 176.93/63.22 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 176.93/63.22 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 176.93/63.22 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 176.93/63.22 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 176.93/63.22 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 176.93/63.22 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 176.93/63.22 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 176.93/63.22 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 176.93/63.22 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 176.93/63.22 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 176.93/63.22 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 176.93/63.22 s(mark(X)) -> s(X) 176.93/63.22 s(active(X)) -> s(X) 176.93/63.22 plus(mark(X1), X2) -> plus(X1, X2) 176.93/63.22 plus(X1, mark(X2)) -> plus(X1, X2) 176.93/63.22 plus(active(X1), X2) -> plus(X1, X2) 176.93/63.22 plus(X1, active(X2)) -> plus(X1, X2) 176.93/63.22 176.93/63.22 The set Q consists of the following terms: 176.93/63.22 176.93/63.22 active(U11(tt, x0, x1)) 176.93/63.22 active(U12(tt, x0, x1)) 176.93/63.22 active(U13(tt, x0, x1)) 176.93/63.22 active(U14(tt, x0, x1)) 176.93/63.22 active(U15(tt, x0)) 176.93/63.22 active(U16(tt)) 176.93/63.22 active(U21(tt, x0)) 176.93/63.22 active(U22(tt, x0)) 176.93/63.22 active(U23(tt)) 176.93/63.22 active(U31(tt, x0)) 176.93/63.22 active(U32(tt)) 176.93/63.22 active(U41(tt)) 176.93/63.22 active(U51(tt, x0)) 176.93/63.22 active(U52(tt, x0)) 176.93/63.22 active(U61(tt, x0, x1)) 176.93/63.22 active(U62(tt, x0, x1)) 176.93/63.22 active(U63(tt, x0, x1)) 176.93/63.22 active(U64(tt, x0, x1)) 176.93/63.22 active(isNat(0)) 176.93/63.22 active(isNat(plus(x0, x1))) 176.93/63.22 active(isNat(s(x0))) 176.93/63.22 active(isNatKind(0)) 176.93/63.22 active(isNatKind(plus(x0, x1))) 176.93/63.22 active(isNatKind(s(x0))) 176.93/63.22 active(plus(x0, 0)) 176.93/63.22 active(plus(x0, s(x1))) 176.93/63.22 mark(U11(x0, x1, x2)) 176.93/63.22 mark(tt) 176.93/63.22 mark(U12(x0, x1, x2)) 176.93/63.22 mark(isNatKind(x0)) 176.93/63.22 mark(U13(x0, x1, x2)) 176.93/63.22 mark(U14(x0, x1, x2)) 176.93/63.22 mark(U15(x0, x1)) 176.93/63.22 mark(isNat(x0)) 176.93/63.22 mark(U16(x0)) 176.93/63.22 mark(U21(x0, x1)) 176.93/63.22 mark(U22(x0, x1)) 176.93/63.22 mark(U23(x0)) 176.93/63.22 mark(U31(x0, x1)) 176.93/63.22 mark(U32(x0)) 176.93/63.22 mark(U41(x0)) 176.93/63.22 mark(U51(x0, x1)) 176.93/63.22 mark(U52(x0, x1)) 176.93/63.22 mark(U61(x0, x1, x2)) 176.93/63.22 mark(U62(x0, x1, x2)) 176.93/63.22 mark(U63(x0, x1, x2)) 176.93/63.22 mark(U64(x0, x1, x2)) 176.93/63.22 mark(s(x0)) 176.93/63.22 mark(plus(x0, x1)) 176.93/63.22 mark(0) 176.93/63.22 U11(mark(x0), x1, x2) 176.93/63.22 U11(x0, mark(x1), x2) 176.93/63.22 U11(x0, x1, mark(x2)) 176.93/63.22 U11(active(x0), x1, x2) 176.93/63.22 U11(x0, active(x1), x2) 176.93/63.22 U11(x0, x1, active(x2)) 176.93/63.22 U12(mark(x0), x1, x2) 176.93/63.22 U12(x0, mark(x1), x2) 176.93/63.22 U12(x0, x1, mark(x2)) 176.93/63.22 U12(active(x0), x1, x2) 176.93/63.22 U12(x0, active(x1), x2) 176.93/63.22 U12(x0, x1, active(x2)) 176.93/63.22 isNatKind(mark(x0)) 176.93/63.22 isNatKind(active(x0)) 176.93/63.22 U13(mark(x0), x1, x2) 176.93/63.22 U13(x0, mark(x1), x2) 176.93/63.22 U13(x0, x1, mark(x2)) 176.93/63.22 U13(active(x0), x1, x2) 176.93/63.22 U13(x0, active(x1), x2) 176.93/63.22 U13(x0, x1, active(x2)) 176.93/63.22 U14(mark(x0), x1, x2) 176.93/63.22 U14(x0, mark(x1), x2) 176.93/63.22 U14(x0, x1, mark(x2)) 176.93/63.22 U14(active(x0), x1, x2) 176.93/63.22 U14(x0, active(x1), x2) 176.93/63.22 U14(x0, x1, active(x2)) 176.93/63.22 U15(mark(x0), x1) 176.93/63.22 U15(x0, mark(x1)) 176.93/63.22 U15(active(x0), x1) 176.93/63.22 U15(x0, active(x1)) 176.93/63.22 isNat(mark(x0)) 176.93/63.22 isNat(active(x0)) 176.93/63.22 U16(mark(x0)) 176.93/63.22 U16(active(x0)) 176.93/63.22 U21(mark(x0), x1) 176.93/63.22 U21(x0, mark(x1)) 176.93/63.22 U21(active(x0), x1) 176.93/63.22 U21(x0, active(x1)) 176.93/63.22 U22(mark(x0), x1) 176.93/63.22 U22(x0, mark(x1)) 176.93/63.22 U22(active(x0), x1) 176.93/63.22 U22(x0, active(x1)) 176.93/63.22 U23(mark(x0)) 176.93/63.22 U23(active(x0)) 176.93/63.22 U31(mark(x0), x1) 176.93/63.22 U31(x0, mark(x1)) 176.93/63.22 U31(active(x0), x1) 176.93/63.22 U31(x0, active(x1)) 176.93/63.22 U32(mark(x0)) 176.93/63.22 U32(active(x0)) 176.93/63.22 U41(mark(x0)) 176.93/63.22 U41(active(x0)) 176.93/63.22 U51(mark(x0), x1) 176.93/63.22 U51(x0, mark(x1)) 176.93/63.22 U51(active(x0), x1) 176.93/63.22 U51(x0, active(x1)) 176.93/63.22 U52(mark(x0), x1) 176.93/63.22 U52(x0, mark(x1)) 176.93/63.22 U52(active(x0), x1) 176.93/63.22 U52(x0, active(x1)) 176.93/63.22 U61(mark(x0), x1, x2) 176.93/63.22 U61(x0, mark(x1), x2) 176.93/63.22 U61(x0, x1, mark(x2)) 176.93/63.22 U61(active(x0), x1, x2) 176.93/63.22 U61(x0, active(x1), x2) 176.93/63.22 U61(x0, x1, active(x2)) 176.93/63.22 U62(mark(x0), x1, x2) 176.93/63.22 U62(x0, mark(x1), x2) 176.93/63.22 U62(x0, x1, mark(x2)) 176.93/63.22 U62(active(x0), x1, x2) 176.93/63.22 U62(x0, active(x1), x2) 176.93/63.22 U62(x0, x1, active(x2)) 176.93/63.22 U63(mark(x0), x1, x2) 176.93/63.22 U63(x0, mark(x1), x2) 176.93/63.22 U63(x0, x1, mark(x2)) 176.93/63.22 U63(active(x0), x1, x2) 176.93/63.22 U63(x0, active(x1), x2) 176.93/63.22 U63(x0, x1, active(x2)) 176.93/63.22 U64(mark(x0), x1, x2) 176.93/63.22 U64(x0, mark(x1), x2) 176.93/63.22 U64(x0, x1, mark(x2)) 176.93/63.22 U64(active(x0), x1, x2) 176.93/63.22 U64(x0, active(x1), x2) 176.93/63.22 U64(x0, x1, active(x2)) 176.93/63.22 s(mark(x0)) 176.93/63.22 s(active(x0)) 176.93/63.22 plus(mark(x0), x1) 176.93/63.22 plus(x0, mark(x1)) 176.93/63.22 plus(active(x0), x1) 176.93/63.22 plus(x0, active(x1)) 176.93/63.22 176.93/63.22 We have to consider all minimal (P,Q,R)-chains. 176.93/63.22 ---------------------------------------- 176.93/63.22 176.93/63.22 (90) UsableRulesProof (EQUIVALENT) 176.93/63.22 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. 176.93/63.22 ---------------------------------------- 176.93/63.22 176.93/63.22 (91) 176.93/63.22 Obligation: 176.93/63.22 Q DP problem: 176.93/63.22 The TRS P consists of the following rules: 176.93/63.22 176.93/63.22 U22^1(X1, mark(X2)) -> U22^1(X1, X2) 176.93/63.22 U22^1(mark(X1), X2) -> U22^1(X1, X2) 176.93/63.22 U22^1(active(X1), X2) -> U22^1(X1, X2) 176.93/63.22 U22^1(X1, active(X2)) -> U22^1(X1, X2) 176.93/63.22 176.93/63.22 R is empty. 176.93/63.22 The set Q consists of the following terms: 176.93/63.22 176.93/63.22 active(U11(tt, x0, x1)) 176.93/63.22 active(U12(tt, x0, x1)) 176.93/63.22 active(U13(tt, x0, x1)) 176.93/63.22 active(U14(tt, x0, x1)) 176.93/63.22 active(U15(tt, x0)) 176.93/63.22 active(U16(tt)) 176.93/63.22 active(U21(tt, x0)) 176.93/63.22 active(U22(tt, x0)) 176.93/63.22 active(U23(tt)) 176.93/63.22 active(U31(tt, x0)) 176.93/63.22 active(U32(tt)) 176.93/63.22 active(U41(tt)) 176.93/63.22 active(U51(tt, x0)) 176.93/63.22 active(U52(tt, x0)) 176.93/63.22 active(U61(tt, x0, x1)) 176.93/63.22 active(U62(tt, x0, x1)) 176.93/63.22 active(U63(tt, x0, x1)) 176.93/63.22 active(U64(tt, x0, x1)) 176.93/63.22 active(isNat(0)) 176.93/63.22 active(isNat(plus(x0, x1))) 176.93/63.22 active(isNat(s(x0))) 176.93/63.22 active(isNatKind(0)) 176.93/63.22 active(isNatKind(plus(x0, x1))) 176.93/63.22 active(isNatKind(s(x0))) 176.93/63.22 active(plus(x0, 0)) 176.93/63.22 active(plus(x0, s(x1))) 176.93/63.22 mark(U11(x0, x1, x2)) 176.93/63.22 mark(tt) 176.93/63.22 mark(U12(x0, x1, x2)) 176.93/63.22 mark(isNatKind(x0)) 176.93/63.22 mark(U13(x0, x1, x2)) 176.93/63.22 mark(U14(x0, x1, x2)) 176.93/63.22 mark(U15(x0, x1)) 176.93/63.22 mark(isNat(x0)) 176.93/63.22 mark(U16(x0)) 176.93/63.22 mark(U21(x0, x1)) 176.93/63.22 mark(U22(x0, x1)) 176.93/63.22 mark(U23(x0)) 176.93/63.22 mark(U31(x0, x1)) 176.93/63.22 mark(U32(x0)) 176.93/63.22 mark(U41(x0)) 176.93/63.22 mark(U51(x0, x1)) 176.93/63.22 mark(U52(x0, x1)) 176.93/63.22 mark(U61(x0, x1, x2)) 176.93/63.22 mark(U62(x0, x1, x2)) 176.93/63.22 mark(U63(x0, x1, x2)) 176.93/63.22 mark(U64(x0, x1, x2)) 176.93/63.22 mark(s(x0)) 176.93/63.22 mark(plus(x0, x1)) 176.93/63.22 mark(0) 176.93/63.22 U11(mark(x0), x1, x2) 176.93/63.22 U11(x0, mark(x1), x2) 176.93/63.22 U11(x0, x1, mark(x2)) 176.93/63.22 U11(active(x0), x1, x2) 176.93/63.22 U11(x0, active(x1), x2) 176.93/63.22 U11(x0, x1, active(x2)) 176.93/63.22 U12(mark(x0), x1, x2) 176.93/63.22 U12(x0, mark(x1), x2) 176.93/63.22 U12(x0, x1, mark(x2)) 176.93/63.22 U12(active(x0), x1, x2) 176.93/63.22 U12(x0, active(x1), x2) 176.93/63.22 U12(x0, x1, active(x2)) 176.93/63.22 isNatKind(mark(x0)) 176.93/63.22 isNatKind(active(x0)) 176.93/63.22 U13(mark(x0), x1, x2) 176.93/63.22 U13(x0, mark(x1), x2) 176.93/63.22 U13(x0, x1, mark(x2)) 176.93/63.22 U13(active(x0), x1, x2) 176.93/63.22 U13(x0, active(x1), x2) 176.93/63.22 U13(x0, x1, active(x2)) 176.93/63.22 U14(mark(x0), x1, x2) 176.93/63.22 U14(x0, mark(x1), x2) 176.93/63.22 U14(x0, x1, mark(x2)) 176.93/63.22 U14(active(x0), x1, x2) 176.93/63.22 U14(x0, active(x1), x2) 176.93/63.22 U14(x0, x1, active(x2)) 176.93/63.22 U15(mark(x0), x1) 176.93/63.22 U15(x0, mark(x1)) 176.93/63.22 U15(active(x0), x1) 176.93/63.22 U15(x0, active(x1)) 176.93/63.22 isNat(mark(x0)) 176.93/63.22 isNat(active(x0)) 176.93/63.22 U16(mark(x0)) 176.93/63.22 U16(active(x0)) 176.93/63.22 U21(mark(x0), x1) 176.93/63.22 U21(x0, mark(x1)) 176.93/63.22 U21(active(x0), x1) 176.93/63.22 U21(x0, active(x1)) 176.93/63.22 U22(mark(x0), x1) 176.93/63.22 U22(x0, mark(x1)) 176.93/63.22 U22(active(x0), x1) 176.93/63.22 U22(x0, active(x1)) 176.93/63.22 U23(mark(x0)) 176.93/63.22 U23(active(x0)) 176.93/63.22 U31(mark(x0), x1) 176.93/63.22 U31(x0, mark(x1)) 176.93/63.22 U31(active(x0), x1) 176.93/63.22 U31(x0, active(x1)) 176.93/63.22 U32(mark(x0)) 176.93/63.22 U32(active(x0)) 176.93/63.22 U41(mark(x0)) 176.93/63.22 U41(active(x0)) 176.93/63.22 U51(mark(x0), x1) 176.93/63.22 U51(x0, mark(x1)) 176.93/63.22 U51(active(x0), x1) 176.93/63.22 U51(x0, active(x1)) 176.93/63.22 U52(mark(x0), x1) 176.93/63.22 U52(x0, mark(x1)) 176.93/63.22 U52(active(x0), x1) 176.93/63.22 U52(x0, active(x1)) 176.93/63.22 U61(mark(x0), x1, x2) 176.93/63.22 U61(x0, mark(x1), x2) 176.93/63.22 U61(x0, x1, mark(x2)) 176.93/63.22 U61(active(x0), x1, x2) 176.93/63.22 U61(x0, active(x1), x2) 176.93/63.22 U61(x0, x1, active(x2)) 176.93/63.22 U62(mark(x0), x1, x2) 176.93/63.22 U62(x0, mark(x1), x2) 176.93/63.22 U62(x0, x1, mark(x2)) 176.93/63.22 U62(active(x0), x1, x2) 176.93/63.22 U62(x0, active(x1), x2) 176.93/63.22 U62(x0, x1, active(x2)) 176.93/63.22 U63(mark(x0), x1, x2) 176.93/63.22 U63(x0, mark(x1), x2) 176.93/63.22 U63(x0, x1, mark(x2)) 176.93/63.22 U63(active(x0), x1, x2) 176.93/63.22 U63(x0, active(x1), x2) 176.93/63.22 U63(x0, x1, active(x2)) 176.93/63.22 U64(mark(x0), x1, x2) 176.93/63.22 U64(x0, mark(x1), x2) 176.93/63.22 U64(x0, x1, mark(x2)) 176.93/63.22 U64(active(x0), x1, x2) 176.93/63.22 U64(x0, active(x1), x2) 176.93/63.22 U64(x0, x1, active(x2)) 176.93/63.22 s(mark(x0)) 176.93/63.22 s(active(x0)) 176.93/63.22 plus(mark(x0), x1) 176.93/63.22 plus(x0, mark(x1)) 176.93/63.22 plus(active(x0), x1) 176.93/63.22 plus(x0, active(x1)) 176.93/63.22 176.93/63.22 We have to consider all minimal (P,Q,R)-chains. 176.93/63.22 ---------------------------------------- 176.93/63.22 176.93/63.22 (92) QReductionProof (EQUIVALENT) 176.93/63.22 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 176.93/63.22 176.93/63.22 U11(mark(x0), x1, x2) 176.93/63.22 U11(x0, mark(x1), x2) 176.93/63.22 U11(x0, x1, mark(x2)) 176.93/63.22 U11(active(x0), x1, x2) 176.93/63.22 U11(x0, active(x1), x2) 176.93/63.22 U11(x0, x1, active(x2)) 176.93/63.22 U12(mark(x0), x1, x2) 176.93/63.22 U12(x0, mark(x1), x2) 176.93/63.22 U12(x0, x1, mark(x2)) 176.93/63.22 U12(active(x0), x1, x2) 176.93/63.22 U12(x0, active(x1), x2) 176.93/63.22 U12(x0, x1, active(x2)) 176.93/63.22 isNatKind(mark(x0)) 176.93/63.22 isNatKind(active(x0)) 176.93/63.22 U13(mark(x0), x1, x2) 176.93/63.22 U13(x0, mark(x1), x2) 176.93/63.22 U13(x0, x1, mark(x2)) 176.93/63.22 U13(active(x0), x1, x2) 176.93/63.22 U13(x0, active(x1), x2) 176.93/63.22 U13(x0, x1, active(x2)) 176.93/63.22 U14(mark(x0), x1, x2) 176.93/63.22 U14(x0, mark(x1), x2) 176.93/63.22 U14(x0, x1, mark(x2)) 176.93/63.22 U14(active(x0), x1, x2) 176.93/63.22 U14(x0, active(x1), x2) 176.93/63.22 U14(x0, x1, active(x2)) 176.93/63.22 U15(mark(x0), x1) 176.93/63.22 U15(x0, mark(x1)) 176.93/63.22 U15(active(x0), x1) 176.93/63.22 U15(x0, active(x1)) 176.93/63.22 isNat(mark(x0)) 176.93/63.22 isNat(active(x0)) 176.93/63.22 U16(mark(x0)) 176.93/63.22 U16(active(x0)) 176.93/63.22 U21(mark(x0), x1) 176.93/63.22 U21(x0, mark(x1)) 176.93/63.22 U21(active(x0), x1) 176.93/63.22 U21(x0, active(x1)) 176.93/63.22 U22(mark(x0), x1) 176.93/63.22 U22(x0, mark(x1)) 176.93/63.22 U22(active(x0), x1) 176.93/63.22 U22(x0, active(x1)) 176.93/63.22 U23(mark(x0)) 176.93/63.22 U23(active(x0)) 176.93/63.22 U31(mark(x0), x1) 176.93/63.22 U31(x0, mark(x1)) 176.93/63.22 U31(active(x0), x1) 176.93/63.22 U31(x0, active(x1)) 176.93/63.22 U32(mark(x0)) 176.93/63.22 U32(active(x0)) 176.93/63.22 U41(mark(x0)) 176.93/63.22 U41(active(x0)) 176.93/63.22 U51(mark(x0), x1) 176.93/63.22 U51(x0, mark(x1)) 176.93/63.22 U51(active(x0), x1) 176.93/63.22 U51(x0, active(x1)) 176.93/63.22 U52(mark(x0), x1) 176.93/63.22 U52(x0, mark(x1)) 176.93/63.22 U52(active(x0), x1) 176.93/63.22 U52(x0, active(x1)) 176.93/63.22 U61(mark(x0), x1, x2) 176.93/63.22 U61(x0, mark(x1), x2) 176.93/63.22 U61(x0, x1, mark(x2)) 176.93/63.22 U61(active(x0), x1, x2) 176.93/63.22 U61(x0, active(x1), x2) 176.93/63.22 U61(x0, x1, active(x2)) 176.93/63.22 U62(mark(x0), x1, x2) 176.93/63.22 U62(x0, mark(x1), x2) 176.93/63.22 U62(x0, x1, mark(x2)) 176.93/63.22 U62(active(x0), x1, x2) 176.93/63.22 U62(x0, active(x1), x2) 176.93/63.22 U62(x0, x1, active(x2)) 176.93/63.22 U63(mark(x0), x1, x2) 176.93/63.22 U63(x0, mark(x1), x2) 176.93/63.22 U63(x0, x1, mark(x2)) 176.93/63.22 U63(active(x0), x1, x2) 176.93/63.22 U63(x0, active(x1), x2) 176.93/63.22 U63(x0, x1, active(x2)) 176.93/63.22 U64(mark(x0), x1, x2) 176.93/63.22 U64(x0, mark(x1), x2) 176.93/63.22 U64(x0, x1, mark(x2)) 176.93/63.22 U64(active(x0), x1, x2) 176.93/63.22 U64(x0, active(x1), x2) 176.93/63.22 U64(x0, x1, active(x2)) 176.93/63.22 s(mark(x0)) 176.93/63.22 s(active(x0)) 176.93/63.22 plus(mark(x0), x1) 176.93/63.22 plus(x0, mark(x1)) 176.93/63.22 plus(active(x0), x1) 176.93/63.22 plus(x0, active(x1)) 176.93/63.22 176.93/63.22 176.93/63.22 ---------------------------------------- 176.93/63.22 176.93/63.22 (93) 176.93/63.22 Obligation: 176.93/63.22 Q DP problem: 176.93/63.22 The TRS P consists of the following rules: 176.93/63.22 176.93/63.22 U22^1(X1, mark(X2)) -> U22^1(X1, X2) 176.93/63.22 U22^1(mark(X1), X2) -> U22^1(X1, X2) 176.93/63.22 U22^1(active(X1), X2) -> U22^1(X1, X2) 176.93/63.22 U22^1(X1, active(X2)) -> U22^1(X1, X2) 176.93/63.22 176.93/63.22 R is empty. 176.93/63.22 The set Q consists of the following terms: 176.93/63.22 176.93/63.22 active(U11(tt, x0, x1)) 176.93/63.22 active(U12(tt, x0, x1)) 176.93/63.22 active(U13(tt, x0, x1)) 176.93/63.22 active(U14(tt, x0, x1)) 176.93/63.22 active(U15(tt, x0)) 176.93/63.22 active(U16(tt)) 176.93/63.22 active(U21(tt, x0)) 176.93/63.22 active(U22(tt, x0)) 176.93/63.22 active(U23(tt)) 176.93/63.22 active(U31(tt, x0)) 176.93/63.22 active(U32(tt)) 176.93/63.22 active(U41(tt)) 176.93/63.22 active(U51(tt, x0)) 176.93/63.22 active(U52(tt, x0)) 176.93/63.22 active(U61(tt, x0, x1)) 176.93/63.22 active(U62(tt, x0, x1)) 176.93/63.22 active(U63(tt, x0, x1)) 176.93/63.22 active(U64(tt, x0, x1)) 176.93/63.22 active(isNat(0)) 176.93/63.22 active(isNat(plus(x0, x1))) 176.93/63.22 active(isNat(s(x0))) 176.93/63.22 active(isNatKind(0)) 176.93/63.22 active(isNatKind(plus(x0, x1))) 176.93/63.22 active(isNatKind(s(x0))) 176.93/63.22 active(plus(x0, 0)) 176.93/63.22 active(plus(x0, s(x1))) 176.93/63.22 mark(U11(x0, x1, x2)) 176.93/63.22 mark(tt) 176.93/63.22 mark(U12(x0, x1, x2)) 176.93/63.22 mark(isNatKind(x0)) 176.93/63.22 mark(U13(x0, x1, x2)) 176.93/63.22 mark(U14(x0, x1, x2)) 176.93/63.22 mark(U15(x0, x1)) 176.93/63.22 mark(isNat(x0)) 176.93/63.22 mark(U16(x0)) 176.93/63.22 mark(U21(x0, x1)) 176.93/63.22 mark(U22(x0, x1)) 176.93/63.22 mark(U23(x0)) 176.93/63.22 mark(U31(x0, x1)) 176.93/63.22 mark(U32(x0)) 176.93/63.22 mark(U41(x0)) 176.93/63.22 mark(U51(x0, x1)) 176.93/63.22 mark(U52(x0, x1)) 176.93/63.22 mark(U61(x0, x1, x2)) 176.93/63.22 mark(U62(x0, x1, x2)) 176.93/63.22 mark(U63(x0, x1, x2)) 176.93/63.22 mark(U64(x0, x1, x2)) 176.93/63.22 mark(s(x0)) 176.93/63.22 mark(plus(x0, x1)) 176.93/63.22 mark(0) 176.93/63.22 176.93/63.22 We have to consider all minimal (P,Q,R)-chains. 176.93/63.22 ---------------------------------------- 176.93/63.22 176.93/63.22 (94) QDPSizeChangeProof (EQUIVALENT) 176.93/63.22 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. 176.93/63.22 176.93/63.22 From the DPs we obtained the following set of size-change graphs: 176.93/63.22 *U22^1(X1, mark(X2)) -> U22^1(X1, X2) 176.93/63.22 The graph contains the following edges 1 >= 1, 2 > 2 176.93/63.22 176.93/63.22 176.93/63.22 *U22^1(mark(X1), X2) -> U22^1(X1, X2) 176.93/63.22 The graph contains the following edges 1 > 1, 2 >= 2 176.93/63.22 176.93/63.22 176.93/63.22 *U22^1(active(X1), X2) -> U22^1(X1, X2) 176.93/63.22 The graph contains the following edges 1 > 1, 2 >= 2 176.93/63.22 176.93/63.22 176.93/63.22 *U22^1(X1, active(X2)) -> U22^1(X1, X2) 176.93/63.22 The graph contains the following edges 1 >= 1, 2 > 2 176.93/63.22 176.93/63.22 176.93/63.22 ---------------------------------------- 176.93/63.22 176.93/63.22 (95) 176.93/63.22 YES 176.93/63.22 176.93/63.22 ---------------------------------------- 176.93/63.22 176.93/63.22 (96) 176.93/63.22 Obligation: 176.93/63.22 Q DP problem: 176.93/63.22 The TRS P consists of the following rules: 176.93/63.22 176.93/63.22 U21^1(X1, mark(X2)) -> U21^1(X1, X2) 176.93/63.22 U21^1(mark(X1), X2) -> U21^1(X1, X2) 176.93/63.22 U21^1(active(X1), X2) -> U21^1(X1, X2) 176.93/63.22 U21^1(X1, active(X2)) -> U21^1(X1, X2) 176.93/63.22 176.93/63.22 The TRS R consists of the following rules: 176.93/63.22 176.93/63.22 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 176.93/63.22 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 176.93/63.22 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 176.93/63.22 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 176.93/63.22 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 176.93/63.22 active(U16(tt)) -> mark(tt) 176.93/63.22 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 176.93/63.22 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 176.93/63.22 active(U23(tt)) -> mark(tt) 176.93/63.22 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 176.93/63.22 active(U32(tt)) -> mark(tt) 176.93/63.22 active(U41(tt)) -> mark(tt) 176.93/63.22 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 176.93/63.22 active(U52(tt, N)) -> mark(N) 176.93/63.22 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 176.93/63.22 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 176.93/63.22 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 176.93/63.22 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 176.93/63.22 active(isNat(0)) -> mark(tt) 176.93/63.22 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 176.93/63.22 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 176.93/63.22 active(isNatKind(0)) -> mark(tt) 176.93/63.22 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 176.93/63.22 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 176.93/63.22 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 176.93/63.22 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 176.93/63.22 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 176.93/63.22 mark(tt) -> active(tt) 176.93/63.22 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 176.93/63.22 mark(isNatKind(X)) -> active(isNatKind(X)) 176.93/63.22 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 176.93/63.22 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 176.93/63.22 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 176.93/63.22 mark(isNat(X)) -> active(isNat(X)) 176.93/63.22 mark(U16(X)) -> active(U16(mark(X))) 176.93/63.22 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 176.93/63.22 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 176.93/63.22 mark(U23(X)) -> active(U23(mark(X))) 176.93/63.22 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 176.93/63.22 mark(U32(X)) -> active(U32(mark(X))) 176.93/63.22 mark(U41(X)) -> active(U41(mark(X))) 176.93/63.22 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 176.93/63.22 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 176.93/63.22 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 176.93/63.22 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 176.93/63.22 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 176.93/63.22 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 176.93/63.22 mark(s(X)) -> active(s(mark(X))) 176.93/63.22 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 176.93/63.22 mark(0) -> active(0) 176.93/63.22 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 176.93/63.22 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 176.93/63.22 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 176.93/63.22 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 176.93/63.22 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 176.93/63.22 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 176.93/63.22 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 176.93/63.22 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 176.93/63.22 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 176.93/63.22 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 176.93/63.22 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 176.93/63.22 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 176.93/63.22 isNatKind(mark(X)) -> isNatKind(X) 176.93/63.22 isNatKind(active(X)) -> isNatKind(X) 176.93/63.22 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 176.93/63.22 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 176.93/63.22 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 176.93/63.22 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 176.93/63.22 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 176.93/63.22 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 176.93/63.22 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 176.93/63.22 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 176.93/63.22 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 176.93/63.22 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 176.93/63.22 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 176.93/63.22 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 176.93/63.22 U15(mark(X1), X2) -> U15(X1, X2) 176.93/63.22 U15(X1, mark(X2)) -> U15(X1, X2) 176.93/63.22 U15(active(X1), X2) -> U15(X1, X2) 176.93/63.22 U15(X1, active(X2)) -> U15(X1, X2) 176.93/63.22 isNat(mark(X)) -> isNat(X) 176.93/63.22 isNat(active(X)) -> isNat(X) 176.93/63.22 U16(mark(X)) -> U16(X) 176.93/63.22 U16(active(X)) -> U16(X) 176.93/63.22 U21(mark(X1), X2) -> U21(X1, X2) 176.93/63.22 U21(X1, mark(X2)) -> U21(X1, X2) 176.93/63.22 U21(active(X1), X2) -> U21(X1, X2) 176.93/63.22 U21(X1, active(X2)) -> U21(X1, X2) 176.93/63.22 U22(mark(X1), X2) -> U22(X1, X2) 176.93/63.22 U22(X1, mark(X2)) -> U22(X1, X2) 176.93/63.22 U22(active(X1), X2) -> U22(X1, X2) 176.93/63.22 U22(X1, active(X2)) -> U22(X1, X2) 176.93/63.22 U23(mark(X)) -> U23(X) 176.93/63.22 U23(active(X)) -> U23(X) 176.93/63.22 U31(mark(X1), X2) -> U31(X1, X2) 176.93/63.22 U31(X1, mark(X2)) -> U31(X1, X2) 176.93/63.22 U31(active(X1), X2) -> U31(X1, X2) 176.93/63.22 U31(X1, active(X2)) -> U31(X1, X2) 176.93/63.22 U32(mark(X)) -> U32(X) 176.93/63.22 U32(active(X)) -> U32(X) 176.93/63.22 U41(mark(X)) -> U41(X) 176.93/63.22 U41(active(X)) -> U41(X) 176.93/63.22 U51(mark(X1), X2) -> U51(X1, X2) 176.93/63.22 U51(X1, mark(X2)) -> U51(X1, X2) 176.93/63.22 U51(active(X1), X2) -> U51(X1, X2) 176.93/63.22 U51(X1, active(X2)) -> U51(X1, X2) 176.93/63.22 U52(mark(X1), X2) -> U52(X1, X2) 176.93/63.22 U52(X1, mark(X2)) -> U52(X1, X2) 176.93/63.22 U52(active(X1), X2) -> U52(X1, X2) 176.93/63.22 U52(X1, active(X2)) -> U52(X1, X2) 176.93/63.22 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 176.93/63.22 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 176.93/63.22 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 176.93/63.22 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 176.93/63.22 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 176.93/63.22 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 176.93/63.22 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 176.93/63.22 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 176.93/63.22 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 176.93/63.22 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 176.93/63.22 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 176.93/63.22 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 176.93/63.22 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 176.93/63.22 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 176.93/63.22 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 176.93/63.22 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 176.93/63.22 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 176.93/63.22 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 176.93/63.22 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 176.93/63.22 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 176.93/63.22 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 176.93/63.22 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 176.93/63.22 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 176.93/63.22 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 176.93/63.22 s(mark(X)) -> s(X) 176.93/63.22 s(active(X)) -> s(X) 176.93/63.22 plus(mark(X1), X2) -> plus(X1, X2) 176.93/63.22 plus(X1, mark(X2)) -> plus(X1, X2) 176.93/63.22 plus(active(X1), X2) -> plus(X1, X2) 176.93/63.22 plus(X1, active(X2)) -> plus(X1, X2) 176.93/63.22 176.93/63.22 The set Q consists of the following terms: 176.93/63.22 176.93/63.22 active(U11(tt, x0, x1)) 176.93/63.22 active(U12(tt, x0, x1)) 176.93/63.22 active(U13(tt, x0, x1)) 176.93/63.22 active(U14(tt, x0, x1)) 176.93/63.22 active(U15(tt, x0)) 176.93/63.22 active(U16(tt)) 176.93/63.22 active(U21(tt, x0)) 176.93/63.22 active(U22(tt, x0)) 176.93/63.22 active(U23(tt)) 176.93/63.22 active(U31(tt, x0)) 176.93/63.22 active(U32(tt)) 176.93/63.22 active(U41(tt)) 176.93/63.22 active(U51(tt, x0)) 176.93/63.22 active(U52(tt, x0)) 176.93/63.22 active(U61(tt, x0, x1)) 176.93/63.22 active(U62(tt, x0, x1)) 176.93/63.22 active(U63(tt, x0, x1)) 176.93/63.22 active(U64(tt, x0, x1)) 176.93/63.22 active(isNat(0)) 176.93/63.22 active(isNat(plus(x0, x1))) 176.93/63.22 active(isNat(s(x0))) 176.93/63.22 active(isNatKind(0)) 176.93/63.22 active(isNatKind(plus(x0, x1))) 176.93/63.22 active(isNatKind(s(x0))) 176.93/63.22 active(plus(x0, 0)) 176.93/63.22 active(plus(x0, s(x1))) 176.93/63.22 mark(U11(x0, x1, x2)) 176.93/63.22 mark(tt) 176.93/63.22 mark(U12(x0, x1, x2)) 176.93/63.22 mark(isNatKind(x0)) 176.93/63.22 mark(U13(x0, x1, x2)) 176.93/63.22 mark(U14(x0, x1, x2)) 176.93/63.22 mark(U15(x0, x1)) 176.93/63.22 mark(isNat(x0)) 176.93/63.22 mark(U16(x0)) 176.93/63.22 mark(U21(x0, x1)) 176.93/63.22 mark(U22(x0, x1)) 176.93/63.22 mark(U23(x0)) 176.93/63.22 mark(U31(x0, x1)) 176.93/63.22 mark(U32(x0)) 176.93/63.22 mark(U41(x0)) 176.93/63.22 mark(U51(x0, x1)) 176.93/63.22 mark(U52(x0, x1)) 176.93/63.22 mark(U61(x0, x1, x2)) 176.93/63.22 mark(U62(x0, x1, x2)) 176.93/63.22 mark(U63(x0, x1, x2)) 176.93/63.22 mark(U64(x0, x1, x2)) 176.93/63.22 mark(s(x0)) 176.93/63.22 mark(plus(x0, x1)) 176.93/63.22 mark(0) 176.93/63.22 U11(mark(x0), x1, x2) 176.93/63.22 U11(x0, mark(x1), x2) 176.93/63.22 U11(x0, x1, mark(x2)) 176.93/63.22 U11(active(x0), x1, x2) 176.93/63.22 U11(x0, active(x1), x2) 176.93/63.22 U11(x0, x1, active(x2)) 176.93/63.22 U12(mark(x0), x1, x2) 176.93/63.22 U12(x0, mark(x1), x2) 176.93/63.22 U12(x0, x1, mark(x2)) 176.93/63.22 U12(active(x0), x1, x2) 176.93/63.22 U12(x0, active(x1), x2) 176.93/63.22 U12(x0, x1, active(x2)) 176.93/63.22 isNatKind(mark(x0)) 176.93/63.22 isNatKind(active(x0)) 176.93/63.22 U13(mark(x0), x1, x2) 176.93/63.22 U13(x0, mark(x1), x2) 176.93/63.22 U13(x0, x1, mark(x2)) 176.93/63.22 U13(active(x0), x1, x2) 176.93/63.22 U13(x0, active(x1), x2) 176.93/63.22 U13(x0, x1, active(x2)) 176.93/63.22 U14(mark(x0), x1, x2) 176.93/63.22 U14(x0, mark(x1), x2) 176.93/63.22 U14(x0, x1, mark(x2)) 176.93/63.22 U14(active(x0), x1, x2) 176.93/63.22 U14(x0, active(x1), x2) 176.93/63.22 U14(x0, x1, active(x2)) 176.93/63.22 U15(mark(x0), x1) 176.93/63.22 U15(x0, mark(x1)) 176.93/63.22 U15(active(x0), x1) 176.93/63.22 U15(x0, active(x1)) 176.93/63.22 isNat(mark(x0)) 176.93/63.22 isNat(active(x0)) 176.93/63.22 U16(mark(x0)) 176.93/63.22 U16(active(x0)) 176.93/63.22 U21(mark(x0), x1) 176.93/63.22 U21(x0, mark(x1)) 176.93/63.22 U21(active(x0), x1) 176.93/63.22 U21(x0, active(x1)) 176.93/63.22 U22(mark(x0), x1) 176.93/63.22 U22(x0, mark(x1)) 176.93/63.22 U22(active(x0), x1) 176.93/63.22 U22(x0, active(x1)) 176.93/63.22 U23(mark(x0)) 176.93/63.22 U23(active(x0)) 176.93/63.22 U31(mark(x0), x1) 176.93/63.22 U31(x0, mark(x1)) 176.93/63.22 U31(active(x0), x1) 176.93/63.22 U31(x0, active(x1)) 176.93/63.22 U32(mark(x0)) 176.93/63.22 U32(active(x0)) 176.93/63.22 U41(mark(x0)) 176.93/63.22 U41(active(x0)) 176.93/63.22 U51(mark(x0), x1) 176.93/63.22 U51(x0, mark(x1)) 176.93/63.22 U51(active(x0), x1) 176.93/63.22 U51(x0, active(x1)) 176.93/63.22 U52(mark(x0), x1) 176.93/63.22 U52(x0, mark(x1)) 176.93/63.22 U52(active(x0), x1) 176.93/63.22 U52(x0, active(x1)) 176.93/63.22 U61(mark(x0), x1, x2) 176.93/63.22 U61(x0, mark(x1), x2) 176.93/63.22 U61(x0, x1, mark(x2)) 177.19/63.22 U61(active(x0), x1, x2) 177.19/63.22 U61(x0, active(x1), x2) 177.19/63.22 U61(x0, x1, active(x2)) 177.19/63.22 U62(mark(x0), x1, x2) 177.19/63.22 U62(x0, mark(x1), x2) 177.19/63.22 U62(x0, x1, mark(x2)) 177.19/63.22 U62(active(x0), x1, x2) 177.19/63.22 U62(x0, active(x1), x2) 177.19/63.22 U62(x0, x1, active(x2)) 177.19/63.22 U63(mark(x0), x1, x2) 177.19/63.22 U63(x0, mark(x1), x2) 177.19/63.22 U63(x0, x1, mark(x2)) 177.19/63.22 U63(active(x0), x1, x2) 177.19/63.22 U63(x0, active(x1), x2) 177.19/63.22 U63(x0, x1, active(x2)) 177.19/63.22 U64(mark(x0), x1, x2) 177.19/63.22 U64(x0, mark(x1), x2) 177.19/63.22 U64(x0, x1, mark(x2)) 177.19/63.22 U64(active(x0), x1, x2) 177.19/63.22 U64(x0, active(x1), x2) 177.19/63.22 U64(x0, x1, active(x2)) 177.19/63.22 s(mark(x0)) 177.19/63.22 s(active(x0)) 177.19/63.22 plus(mark(x0), x1) 177.19/63.22 plus(x0, mark(x1)) 177.19/63.22 plus(active(x0), x1) 177.19/63.22 plus(x0, active(x1)) 177.19/63.22 177.19/63.22 We have to consider all minimal (P,Q,R)-chains. 177.19/63.22 ---------------------------------------- 177.19/63.22 177.19/63.22 (97) UsableRulesProof (EQUIVALENT) 177.19/63.22 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. 177.19/63.22 ---------------------------------------- 177.19/63.22 177.19/63.22 (98) 177.19/63.22 Obligation: 177.19/63.22 Q DP problem: 177.19/63.22 The TRS P consists of the following rules: 177.19/63.22 177.19/63.22 U21^1(X1, mark(X2)) -> U21^1(X1, X2) 177.19/63.22 U21^1(mark(X1), X2) -> U21^1(X1, X2) 177.19/63.22 U21^1(active(X1), X2) -> U21^1(X1, X2) 177.19/63.22 U21^1(X1, active(X2)) -> U21^1(X1, X2) 177.19/63.22 177.19/63.22 R is empty. 177.19/63.22 The set Q consists of the following terms: 177.19/63.22 177.19/63.22 active(U11(tt, x0, x1)) 177.19/63.22 active(U12(tt, x0, x1)) 177.19/63.22 active(U13(tt, x0, x1)) 177.19/63.22 active(U14(tt, x0, x1)) 177.19/63.22 active(U15(tt, x0)) 177.19/63.22 active(U16(tt)) 177.19/63.22 active(U21(tt, x0)) 177.19/63.22 active(U22(tt, x0)) 177.19/63.22 active(U23(tt)) 177.19/63.22 active(U31(tt, x0)) 177.19/63.22 active(U32(tt)) 177.19/63.22 active(U41(tt)) 177.19/63.22 active(U51(tt, x0)) 177.19/63.22 active(U52(tt, x0)) 177.19/63.22 active(U61(tt, x0, x1)) 177.19/63.22 active(U62(tt, x0, x1)) 177.19/63.22 active(U63(tt, x0, x1)) 177.19/63.22 active(U64(tt, x0, x1)) 177.19/63.22 active(isNat(0)) 177.19/63.22 active(isNat(plus(x0, x1))) 177.19/63.22 active(isNat(s(x0))) 177.19/63.22 active(isNatKind(0)) 177.19/63.22 active(isNatKind(plus(x0, x1))) 177.19/63.22 active(isNatKind(s(x0))) 177.19/63.22 active(plus(x0, 0)) 177.19/63.22 active(plus(x0, s(x1))) 177.19/63.22 mark(U11(x0, x1, x2)) 177.19/63.22 mark(tt) 177.19/63.22 mark(U12(x0, x1, x2)) 177.19/63.22 mark(isNatKind(x0)) 177.19/63.22 mark(U13(x0, x1, x2)) 177.19/63.22 mark(U14(x0, x1, x2)) 177.19/63.22 mark(U15(x0, x1)) 177.19/63.22 mark(isNat(x0)) 177.19/63.22 mark(U16(x0)) 177.19/63.22 mark(U21(x0, x1)) 177.19/63.22 mark(U22(x0, x1)) 177.19/63.22 mark(U23(x0)) 177.19/63.22 mark(U31(x0, x1)) 177.19/63.22 mark(U32(x0)) 177.19/63.22 mark(U41(x0)) 177.19/63.22 mark(U51(x0, x1)) 177.19/63.22 mark(U52(x0, x1)) 177.19/63.22 mark(U61(x0, x1, x2)) 177.19/63.22 mark(U62(x0, x1, x2)) 177.19/63.22 mark(U63(x0, x1, x2)) 177.19/63.22 mark(U64(x0, x1, x2)) 177.19/63.22 mark(s(x0)) 177.19/63.22 mark(plus(x0, x1)) 177.19/63.22 mark(0) 177.19/63.22 U11(mark(x0), x1, x2) 177.19/63.22 U11(x0, mark(x1), x2) 177.19/63.22 U11(x0, x1, mark(x2)) 177.19/63.22 U11(active(x0), x1, x2) 177.19/63.22 U11(x0, active(x1), x2) 177.19/63.22 U11(x0, x1, active(x2)) 177.19/63.22 U12(mark(x0), x1, x2) 177.19/63.22 U12(x0, mark(x1), x2) 177.19/63.22 U12(x0, x1, mark(x2)) 177.19/63.22 U12(active(x0), x1, x2) 177.19/63.22 U12(x0, active(x1), x2) 177.19/63.22 U12(x0, x1, active(x2)) 177.19/63.22 isNatKind(mark(x0)) 177.19/63.22 isNatKind(active(x0)) 177.19/63.22 U13(mark(x0), x1, x2) 177.19/63.22 U13(x0, mark(x1), x2) 177.19/63.22 U13(x0, x1, mark(x2)) 177.19/63.22 U13(active(x0), x1, x2) 177.19/63.22 U13(x0, active(x1), x2) 177.19/63.22 U13(x0, x1, active(x2)) 177.19/63.22 U14(mark(x0), x1, x2) 177.19/63.22 U14(x0, mark(x1), x2) 177.19/63.22 U14(x0, x1, mark(x2)) 177.19/63.22 U14(active(x0), x1, x2) 177.19/63.22 U14(x0, active(x1), x2) 177.19/63.22 U14(x0, x1, active(x2)) 177.19/63.22 U15(mark(x0), x1) 177.19/63.22 U15(x0, mark(x1)) 177.19/63.22 U15(active(x0), x1) 177.19/63.22 U15(x0, active(x1)) 177.19/63.22 isNat(mark(x0)) 177.19/63.22 isNat(active(x0)) 177.19/63.22 U16(mark(x0)) 177.19/63.22 U16(active(x0)) 177.19/63.22 U21(mark(x0), x1) 177.19/63.22 U21(x0, mark(x1)) 177.19/63.22 U21(active(x0), x1) 177.19/63.22 U21(x0, active(x1)) 177.19/63.22 U22(mark(x0), x1) 177.19/63.22 U22(x0, mark(x1)) 177.19/63.22 U22(active(x0), x1) 177.19/63.22 U22(x0, active(x1)) 177.19/63.22 U23(mark(x0)) 177.19/63.22 U23(active(x0)) 177.19/63.22 U31(mark(x0), x1) 177.19/63.22 U31(x0, mark(x1)) 177.19/63.22 U31(active(x0), x1) 177.19/63.22 U31(x0, active(x1)) 177.19/63.22 U32(mark(x0)) 177.19/63.22 U32(active(x0)) 177.19/63.22 U41(mark(x0)) 177.19/63.22 U41(active(x0)) 177.19/63.22 U51(mark(x0), x1) 177.19/63.22 U51(x0, mark(x1)) 177.19/63.22 U51(active(x0), x1) 177.19/63.22 U51(x0, active(x1)) 177.19/63.22 U52(mark(x0), x1) 177.19/63.22 U52(x0, mark(x1)) 177.19/63.22 U52(active(x0), x1) 177.19/63.22 U52(x0, active(x1)) 177.19/63.22 U61(mark(x0), x1, x2) 177.19/63.22 U61(x0, mark(x1), x2) 177.19/63.22 U61(x0, x1, mark(x2)) 177.19/63.22 U61(active(x0), x1, x2) 177.19/63.22 U61(x0, active(x1), x2) 177.19/63.22 U61(x0, x1, active(x2)) 177.19/63.22 U62(mark(x0), x1, x2) 177.19/63.22 U62(x0, mark(x1), x2) 177.19/63.22 U62(x0, x1, mark(x2)) 177.19/63.22 U62(active(x0), x1, x2) 177.19/63.22 U62(x0, active(x1), x2) 177.19/63.22 U62(x0, x1, active(x2)) 177.19/63.22 U63(mark(x0), x1, x2) 177.19/63.22 U63(x0, mark(x1), x2) 177.19/63.22 U63(x0, x1, mark(x2)) 177.19/63.22 U63(active(x0), x1, x2) 177.19/63.22 U63(x0, active(x1), x2) 177.19/63.22 U63(x0, x1, active(x2)) 177.19/63.22 U64(mark(x0), x1, x2) 177.19/63.22 U64(x0, mark(x1), x2) 177.19/63.22 U64(x0, x1, mark(x2)) 177.19/63.22 U64(active(x0), x1, x2) 177.19/63.22 U64(x0, active(x1), x2) 177.19/63.22 U64(x0, x1, active(x2)) 177.19/63.22 s(mark(x0)) 177.19/63.22 s(active(x0)) 177.19/63.22 plus(mark(x0), x1) 177.19/63.22 plus(x0, mark(x1)) 177.19/63.22 plus(active(x0), x1) 177.19/63.22 plus(x0, active(x1)) 177.19/63.22 177.19/63.22 We have to consider all minimal (P,Q,R)-chains. 177.19/63.22 ---------------------------------------- 177.19/63.22 177.19/63.22 (99) QReductionProof (EQUIVALENT) 177.19/63.22 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 177.19/63.22 177.19/63.22 U11(mark(x0), x1, x2) 177.19/63.22 U11(x0, mark(x1), x2) 177.19/63.22 U11(x0, x1, mark(x2)) 177.19/63.22 U11(active(x0), x1, x2) 177.19/63.22 U11(x0, active(x1), x2) 177.19/63.22 U11(x0, x1, active(x2)) 177.19/63.22 U12(mark(x0), x1, x2) 177.19/63.22 U12(x0, mark(x1), x2) 177.19/63.22 U12(x0, x1, mark(x2)) 177.19/63.22 U12(active(x0), x1, x2) 177.19/63.22 U12(x0, active(x1), x2) 177.19/63.22 U12(x0, x1, active(x2)) 177.19/63.22 isNatKind(mark(x0)) 177.19/63.22 isNatKind(active(x0)) 177.19/63.22 U13(mark(x0), x1, x2) 177.19/63.22 U13(x0, mark(x1), x2) 177.19/63.22 U13(x0, x1, mark(x2)) 177.19/63.22 U13(active(x0), x1, x2) 177.19/63.22 U13(x0, active(x1), x2) 177.19/63.22 U13(x0, x1, active(x2)) 177.19/63.22 U14(mark(x0), x1, x2) 177.19/63.22 U14(x0, mark(x1), x2) 177.19/63.22 U14(x0, x1, mark(x2)) 177.19/63.22 U14(active(x0), x1, x2) 177.19/63.22 U14(x0, active(x1), x2) 177.19/63.22 U14(x0, x1, active(x2)) 177.19/63.22 U15(mark(x0), x1) 177.19/63.22 U15(x0, mark(x1)) 177.19/63.22 U15(active(x0), x1) 177.19/63.22 U15(x0, active(x1)) 177.19/63.22 isNat(mark(x0)) 177.19/63.22 isNat(active(x0)) 177.19/63.22 U16(mark(x0)) 177.19/63.22 U16(active(x0)) 177.19/63.22 U21(mark(x0), x1) 177.19/63.22 U21(x0, mark(x1)) 177.19/63.22 U21(active(x0), x1) 177.19/63.22 U21(x0, active(x1)) 177.19/63.22 U22(mark(x0), x1) 177.19/63.22 U22(x0, mark(x1)) 177.19/63.22 U22(active(x0), x1) 177.19/63.22 U22(x0, active(x1)) 177.19/63.22 U23(mark(x0)) 177.19/63.22 U23(active(x0)) 177.19/63.22 U31(mark(x0), x1) 177.19/63.22 U31(x0, mark(x1)) 177.19/63.22 U31(active(x0), x1) 177.19/63.22 U31(x0, active(x1)) 177.19/63.22 U32(mark(x0)) 177.19/63.22 U32(active(x0)) 177.19/63.22 U41(mark(x0)) 177.19/63.22 U41(active(x0)) 177.19/63.22 U51(mark(x0), x1) 177.19/63.22 U51(x0, mark(x1)) 177.19/63.22 U51(active(x0), x1) 177.19/63.22 U51(x0, active(x1)) 177.19/63.22 U52(mark(x0), x1) 177.19/63.22 U52(x0, mark(x1)) 177.19/63.22 U52(active(x0), x1) 177.19/63.22 U52(x0, active(x1)) 177.19/63.22 U61(mark(x0), x1, x2) 177.19/63.22 U61(x0, mark(x1), x2) 177.19/63.22 U61(x0, x1, mark(x2)) 177.19/63.22 U61(active(x0), x1, x2) 177.19/63.22 U61(x0, active(x1), x2) 177.19/63.22 U61(x0, x1, active(x2)) 177.19/63.22 U62(mark(x0), x1, x2) 177.19/63.22 U62(x0, mark(x1), x2) 177.19/63.22 U62(x0, x1, mark(x2)) 177.19/63.22 U62(active(x0), x1, x2) 177.19/63.22 U62(x0, active(x1), x2) 177.19/63.22 U62(x0, x1, active(x2)) 177.19/63.22 U63(mark(x0), x1, x2) 177.19/63.22 U63(x0, mark(x1), x2) 177.19/63.22 U63(x0, x1, mark(x2)) 177.19/63.22 U63(active(x0), x1, x2) 177.19/63.22 U63(x0, active(x1), x2) 177.19/63.22 U63(x0, x1, active(x2)) 177.19/63.22 U64(mark(x0), x1, x2) 177.19/63.22 U64(x0, mark(x1), x2) 177.19/63.22 U64(x0, x1, mark(x2)) 177.19/63.22 U64(active(x0), x1, x2) 177.19/63.22 U64(x0, active(x1), x2) 177.19/63.22 U64(x0, x1, active(x2)) 177.19/63.22 s(mark(x0)) 177.19/63.22 s(active(x0)) 177.19/63.22 plus(mark(x0), x1) 177.19/63.22 plus(x0, mark(x1)) 177.19/63.22 plus(active(x0), x1) 177.19/63.22 plus(x0, active(x1)) 177.19/63.22 177.19/63.22 177.19/63.22 ---------------------------------------- 177.19/63.22 177.19/63.22 (100) 177.19/63.22 Obligation: 177.19/63.22 Q DP problem: 177.19/63.22 The TRS P consists of the following rules: 177.19/63.22 177.19/63.22 U21^1(X1, mark(X2)) -> U21^1(X1, X2) 177.19/63.22 U21^1(mark(X1), X2) -> U21^1(X1, X2) 177.19/63.22 U21^1(active(X1), X2) -> U21^1(X1, X2) 177.19/63.22 U21^1(X1, active(X2)) -> U21^1(X1, X2) 177.19/63.22 177.19/63.22 R is empty. 177.19/63.22 The set Q consists of the following terms: 177.19/63.22 177.19/63.22 active(U11(tt, x0, x1)) 177.19/63.22 active(U12(tt, x0, x1)) 177.19/63.22 active(U13(tt, x0, x1)) 177.19/63.22 active(U14(tt, x0, x1)) 177.19/63.22 active(U15(tt, x0)) 177.19/63.22 active(U16(tt)) 177.19/63.22 active(U21(tt, x0)) 177.19/63.22 active(U22(tt, x0)) 177.19/63.22 active(U23(tt)) 177.19/63.22 active(U31(tt, x0)) 177.19/63.22 active(U32(tt)) 177.19/63.22 active(U41(tt)) 177.19/63.22 active(U51(tt, x0)) 177.19/63.22 active(U52(tt, x0)) 177.19/63.22 active(U61(tt, x0, x1)) 177.19/63.22 active(U62(tt, x0, x1)) 177.19/63.22 active(U63(tt, x0, x1)) 177.19/63.22 active(U64(tt, x0, x1)) 177.19/63.22 active(isNat(0)) 177.19/63.22 active(isNat(plus(x0, x1))) 177.19/63.22 active(isNat(s(x0))) 177.19/63.22 active(isNatKind(0)) 177.19/63.22 active(isNatKind(plus(x0, x1))) 177.19/63.22 active(isNatKind(s(x0))) 177.19/63.22 active(plus(x0, 0)) 177.19/63.22 active(plus(x0, s(x1))) 177.19/63.22 mark(U11(x0, x1, x2)) 177.19/63.22 mark(tt) 177.19/63.22 mark(U12(x0, x1, x2)) 177.19/63.22 mark(isNatKind(x0)) 177.19/63.22 mark(U13(x0, x1, x2)) 177.19/63.22 mark(U14(x0, x1, x2)) 177.19/63.22 mark(U15(x0, x1)) 177.19/63.22 mark(isNat(x0)) 177.19/63.22 mark(U16(x0)) 177.19/63.22 mark(U21(x0, x1)) 177.19/63.22 mark(U22(x0, x1)) 177.19/63.22 mark(U23(x0)) 177.19/63.22 mark(U31(x0, x1)) 177.19/63.22 mark(U32(x0)) 177.19/63.22 mark(U41(x0)) 177.19/63.22 mark(U51(x0, x1)) 177.19/63.22 mark(U52(x0, x1)) 177.19/63.22 mark(U61(x0, x1, x2)) 177.19/63.22 mark(U62(x0, x1, x2)) 177.19/63.22 mark(U63(x0, x1, x2)) 177.19/63.22 mark(U64(x0, x1, x2)) 177.19/63.22 mark(s(x0)) 177.19/63.22 mark(plus(x0, x1)) 177.19/63.22 mark(0) 177.19/63.22 177.19/63.22 We have to consider all minimal (P,Q,R)-chains. 177.19/63.22 ---------------------------------------- 177.19/63.22 177.19/63.22 (101) QDPSizeChangeProof (EQUIVALENT) 177.19/63.22 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. 177.19/63.22 177.19/63.22 From the DPs we obtained the following set of size-change graphs: 177.19/63.22 *U21^1(X1, mark(X2)) -> U21^1(X1, X2) 177.19/63.22 The graph contains the following edges 1 >= 1, 2 > 2 177.19/63.22 177.19/63.22 177.19/63.22 *U21^1(mark(X1), X2) -> U21^1(X1, X2) 177.19/63.22 The graph contains the following edges 1 > 1, 2 >= 2 177.19/63.22 177.19/63.22 177.19/63.22 *U21^1(active(X1), X2) -> U21^1(X1, X2) 177.19/63.22 The graph contains the following edges 1 > 1, 2 >= 2 177.19/63.22 177.19/63.22 177.19/63.22 *U21^1(X1, active(X2)) -> U21^1(X1, X2) 177.19/63.22 The graph contains the following edges 1 >= 1, 2 > 2 177.19/63.22 177.19/63.22 177.19/63.22 ---------------------------------------- 177.19/63.22 177.19/63.22 (102) 177.19/63.22 YES 177.19/63.22 177.19/63.22 ---------------------------------------- 177.19/63.22 177.19/63.22 (103) 177.19/63.22 Obligation: 177.19/63.22 Q DP problem: 177.19/63.22 The TRS P consists of the following rules: 177.19/63.22 177.19/63.22 U16^1(active(X)) -> U16^1(X) 177.19/63.22 U16^1(mark(X)) -> U16^1(X) 177.19/63.22 177.19/63.22 The TRS R consists of the following rules: 177.19/63.22 177.19/63.22 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.19/63.22 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.19/63.22 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.19/63.22 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.19/63.22 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.19/63.22 active(U16(tt)) -> mark(tt) 177.19/63.22 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.19/63.22 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.19/63.22 active(U23(tt)) -> mark(tt) 177.19/63.22 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.19/63.22 active(U32(tt)) -> mark(tt) 177.19/63.22 active(U41(tt)) -> mark(tt) 177.19/63.22 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.19/63.22 active(U52(tt, N)) -> mark(N) 177.19/63.22 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.19/63.22 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.19/63.22 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.19/63.22 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.19/63.22 active(isNat(0)) -> mark(tt) 177.19/63.22 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.19/63.22 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.19/63.22 active(isNatKind(0)) -> mark(tt) 177.19/63.22 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.19/63.22 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.19/63.22 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.19/63.22 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.19/63.22 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.19/63.22 mark(tt) -> active(tt) 177.19/63.22 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.19/63.22 mark(isNatKind(X)) -> active(isNatKind(X)) 177.19/63.22 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.19/63.22 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.19/63.22 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.19/63.22 mark(isNat(X)) -> active(isNat(X)) 177.19/63.22 mark(U16(X)) -> active(U16(mark(X))) 177.19/63.22 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.19/63.22 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.19/63.22 mark(U23(X)) -> active(U23(mark(X))) 177.19/63.22 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.19/63.22 mark(U32(X)) -> active(U32(mark(X))) 177.19/63.22 mark(U41(X)) -> active(U41(mark(X))) 177.19/63.22 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.19/63.22 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.19/63.22 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.19/63.22 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.19/63.22 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.19/63.22 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.19/63.22 mark(s(X)) -> active(s(mark(X))) 177.19/63.22 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.19/63.22 mark(0) -> active(0) 177.19/63.22 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.22 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.22 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.22 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.22 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.22 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.22 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.22 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.22 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.22 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.22 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.22 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.22 isNatKind(mark(X)) -> isNatKind(X) 177.19/63.22 isNatKind(active(X)) -> isNatKind(X) 177.19/63.22 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.22 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.22 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.22 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.22 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.22 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.22 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.22 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.22 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.22 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.22 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.22 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.22 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.22 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.22 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.22 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.22 isNat(mark(X)) -> isNat(X) 177.19/63.22 isNat(active(X)) -> isNat(X) 177.19/63.22 U16(mark(X)) -> U16(X) 177.19/63.22 U16(active(X)) -> U16(X) 177.19/63.22 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.22 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.22 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.22 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.22 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.22 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.22 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.22 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.22 U23(mark(X)) -> U23(X) 177.19/63.22 U23(active(X)) -> U23(X) 177.19/63.22 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.22 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.22 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.22 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.22 U32(mark(X)) -> U32(X) 177.19/63.22 U32(active(X)) -> U32(X) 177.19/63.22 U41(mark(X)) -> U41(X) 177.19/63.22 U41(active(X)) -> U41(X) 177.19/63.22 U51(mark(X1), X2) -> U51(X1, X2) 177.19/63.22 U51(X1, mark(X2)) -> U51(X1, X2) 177.19/63.22 U51(active(X1), X2) -> U51(X1, X2) 177.19/63.22 U51(X1, active(X2)) -> U51(X1, X2) 177.19/63.22 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.22 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.22 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.22 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.22 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.22 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.22 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.22 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.22 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.22 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.22 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.22 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.22 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.22 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.22 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.22 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.22 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.22 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.19/63.22 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.19/63.22 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.22 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.19/63.22 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.19/63.22 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.22 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.19/63.22 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.19/63.22 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.22 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.19/63.22 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.19/63.22 s(mark(X)) -> s(X) 177.19/63.22 s(active(X)) -> s(X) 177.19/63.22 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.22 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.22 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.22 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.22 177.19/63.22 The set Q consists of the following terms: 177.19/63.22 177.19/63.22 active(U11(tt, x0, x1)) 177.19/63.22 active(U12(tt, x0, x1)) 177.19/63.22 active(U13(tt, x0, x1)) 177.19/63.22 active(U14(tt, x0, x1)) 177.19/63.22 active(U15(tt, x0)) 177.19/63.22 active(U16(tt)) 177.19/63.22 active(U21(tt, x0)) 177.19/63.22 active(U22(tt, x0)) 177.19/63.22 active(U23(tt)) 177.19/63.22 active(U31(tt, x0)) 177.19/63.22 active(U32(tt)) 177.19/63.22 active(U41(tt)) 177.19/63.22 active(U51(tt, x0)) 177.19/63.22 active(U52(tt, x0)) 177.19/63.22 active(U61(tt, x0, x1)) 177.19/63.22 active(U62(tt, x0, x1)) 177.19/63.22 active(U63(tt, x0, x1)) 177.19/63.22 active(U64(tt, x0, x1)) 177.19/63.22 active(isNat(0)) 177.19/63.22 active(isNat(plus(x0, x1))) 177.19/63.22 active(isNat(s(x0))) 177.19/63.22 active(isNatKind(0)) 177.19/63.22 active(isNatKind(plus(x0, x1))) 177.19/63.22 active(isNatKind(s(x0))) 177.19/63.22 active(plus(x0, 0)) 177.19/63.22 active(plus(x0, s(x1))) 177.19/63.22 mark(U11(x0, x1, x2)) 177.19/63.22 mark(tt) 177.19/63.22 mark(U12(x0, x1, x2)) 177.19/63.22 mark(isNatKind(x0)) 177.19/63.22 mark(U13(x0, x1, x2)) 177.19/63.22 mark(U14(x0, x1, x2)) 177.19/63.22 mark(U15(x0, x1)) 177.19/63.22 mark(isNat(x0)) 177.19/63.22 mark(U16(x0)) 177.19/63.22 mark(U21(x0, x1)) 177.19/63.22 mark(U22(x0, x1)) 177.19/63.22 mark(U23(x0)) 177.19/63.22 mark(U31(x0, x1)) 177.19/63.22 mark(U32(x0)) 177.19/63.22 mark(U41(x0)) 177.19/63.22 mark(U51(x0, x1)) 177.19/63.22 mark(U52(x0, x1)) 177.19/63.22 mark(U61(x0, x1, x2)) 177.19/63.22 mark(U62(x0, x1, x2)) 177.19/63.22 mark(U63(x0, x1, x2)) 177.19/63.22 mark(U64(x0, x1, x2)) 177.19/63.22 mark(s(x0)) 177.19/63.22 mark(plus(x0, x1)) 177.19/63.22 mark(0) 177.19/63.22 U11(mark(x0), x1, x2) 177.19/63.22 U11(x0, mark(x1), x2) 177.19/63.22 U11(x0, x1, mark(x2)) 177.19/63.22 U11(active(x0), x1, x2) 177.19/63.22 U11(x0, active(x1), x2) 177.19/63.22 U11(x0, x1, active(x2)) 177.19/63.22 U12(mark(x0), x1, x2) 177.19/63.22 U12(x0, mark(x1), x2) 177.19/63.22 U12(x0, x1, mark(x2)) 177.19/63.22 U12(active(x0), x1, x2) 177.19/63.22 U12(x0, active(x1), x2) 177.19/63.22 U12(x0, x1, active(x2)) 177.19/63.22 isNatKind(mark(x0)) 177.19/63.22 isNatKind(active(x0)) 177.19/63.22 U13(mark(x0), x1, x2) 177.19/63.22 U13(x0, mark(x1), x2) 177.19/63.22 U13(x0, x1, mark(x2)) 177.19/63.22 U13(active(x0), x1, x2) 177.19/63.22 U13(x0, active(x1), x2) 177.19/63.22 U13(x0, x1, active(x2)) 177.19/63.22 U14(mark(x0), x1, x2) 177.19/63.22 U14(x0, mark(x1), x2) 177.19/63.22 U14(x0, x1, mark(x2)) 177.19/63.22 U14(active(x0), x1, x2) 177.19/63.22 U14(x0, active(x1), x2) 177.19/63.22 U14(x0, x1, active(x2)) 177.19/63.22 U15(mark(x0), x1) 177.19/63.22 U15(x0, mark(x1)) 177.19/63.22 U15(active(x0), x1) 177.19/63.22 U15(x0, active(x1)) 177.19/63.22 isNat(mark(x0)) 177.19/63.22 isNat(active(x0)) 177.19/63.22 U16(mark(x0)) 177.19/63.22 U16(active(x0)) 177.19/63.22 U21(mark(x0), x1) 177.19/63.22 U21(x0, mark(x1)) 177.19/63.22 U21(active(x0), x1) 177.19/63.22 U21(x0, active(x1)) 177.19/63.22 U22(mark(x0), x1) 177.19/63.22 U22(x0, mark(x1)) 177.19/63.22 U22(active(x0), x1) 177.19/63.22 U22(x0, active(x1)) 177.19/63.22 U23(mark(x0)) 177.19/63.22 U23(active(x0)) 177.19/63.22 U31(mark(x0), x1) 177.19/63.22 U31(x0, mark(x1)) 177.19/63.22 U31(active(x0), x1) 177.19/63.22 U31(x0, active(x1)) 177.19/63.22 U32(mark(x0)) 177.19/63.22 U32(active(x0)) 177.19/63.22 U41(mark(x0)) 177.19/63.22 U41(active(x0)) 177.19/63.22 U51(mark(x0), x1) 177.19/63.22 U51(x0, mark(x1)) 177.19/63.22 U51(active(x0), x1) 177.19/63.22 U51(x0, active(x1)) 177.19/63.22 U52(mark(x0), x1) 177.19/63.22 U52(x0, mark(x1)) 177.19/63.22 U52(active(x0), x1) 177.19/63.22 U52(x0, active(x1)) 177.19/63.22 U61(mark(x0), x1, x2) 177.19/63.22 U61(x0, mark(x1), x2) 177.19/63.22 U61(x0, x1, mark(x2)) 177.19/63.22 U61(active(x0), x1, x2) 177.19/63.22 U61(x0, active(x1), x2) 177.19/63.22 U61(x0, x1, active(x2)) 177.19/63.22 U62(mark(x0), x1, x2) 177.19/63.22 U62(x0, mark(x1), x2) 177.19/63.22 U62(x0, x1, mark(x2)) 177.19/63.22 U62(active(x0), x1, x2) 177.19/63.22 U62(x0, active(x1), x2) 177.19/63.22 U62(x0, x1, active(x2)) 177.19/63.22 U63(mark(x0), x1, x2) 177.19/63.22 U63(x0, mark(x1), x2) 177.19/63.22 U63(x0, x1, mark(x2)) 177.19/63.22 U63(active(x0), x1, x2) 177.19/63.22 U63(x0, active(x1), x2) 177.19/63.22 U63(x0, x1, active(x2)) 177.19/63.22 U64(mark(x0), x1, x2) 177.19/63.22 U64(x0, mark(x1), x2) 177.19/63.22 U64(x0, x1, mark(x2)) 177.19/63.22 U64(active(x0), x1, x2) 177.19/63.22 U64(x0, active(x1), x2) 177.19/63.22 U64(x0, x1, active(x2)) 177.19/63.22 s(mark(x0)) 177.19/63.22 s(active(x0)) 177.19/63.22 plus(mark(x0), x1) 177.19/63.22 plus(x0, mark(x1)) 177.19/63.22 plus(active(x0), x1) 177.19/63.22 plus(x0, active(x1)) 177.19/63.22 177.19/63.22 We have to consider all minimal (P,Q,R)-chains. 177.19/63.22 ---------------------------------------- 177.19/63.22 177.19/63.22 (104) UsableRulesProof (EQUIVALENT) 177.19/63.22 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. 177.19/63.22 ---------------------------------------- 177.19/63.22 177.19/63.22 (105) 177.19/63.22 Obligation: 177.19/63.22 Q DP problem: 177.19/63.22 The TRS P consists of the following rules: 177.19/63.22 177.19/63.22 U16^1(active(X)) -> U16^1(X) 177.19/63.22 U16^1(mark(X)) -> U16^1(X) 177.19/63.22 177.19/63.22 R is empty. 177.19/63.22 The set Q consists of the following terms: 177.19/63.22 177.19/63.22 active(U11(tt, x0, x1)) 177.19/63.22 active(U12(tt, x0, x1)) 177.19/63.22 active(U13(tt, x0, x1)) 177.19/63.22 active(U14(tt, x0, x1)) 177.19/63.22 active(U15(tt, x0)) 177.19/63.22 active(U16(tt)) 177.19/63.22 active(U21(tt, x0)) 177.19/63.22 active(U22(tt, x0)) 177.19/63.22 active(U23(tt)) 177.19/63.22 active(U31(tt, x0)) 177.19/63.22 active(U32(tt)) 177.19/63.22 active(U41(tt)) 177.19/63.22 active(U51(tt, x0)) 177.19/63.22 active(U52(tt, x0)) 177.19/63.22 active(U61(tt, x0, x1)) 177.19/63.22 active(U62(tt, x0, x1)) 177.19/63.22 active(U63(tt, x0, x1)) 177.19/63.22 active(U64(tt, x0, x1)) 177.19/63.22 active(isNat(0)) 177.19/63.22 active(isNat(plus(x0, x1))) 177.19/63.22 active(isNat(s(x0))) 177.19/63.22 active(isNatKind(0)) 177.19/63.22 active(isNatKind(plus(x0, x1))) 177.19/63.22 active(isNatKind(s(x0))) 177.19/63.22 active(plus(x0, 0)) 177.19/63.22 active(plus(x0, s(x1))) 177.19/63.22 mark(U11(x0, x1, x2)) 177.19/63.22 mark(tt) 177.19/63.22 mark(U12(x0, x1, x2)) 177.19/63.22 mark(isNatKind(x0)) 177.19/63.22 mark(U13(x0, x1, x2)) 177.19/63.22 mark(U14(x0, x1, x2)) 177.19/63.22 mark(U15(x0, x1)) 177.19/63.22 mark(isNat(x0)) 177.19/63.22 mark(U16(x0)) 177.19/63.22 mark(U21(x0, x1)) 177.19/63.22 mark(U22(x0, x1)) 177.19/63.22 mark(U23(x0)) 177.19/63.22 mark(U31(x0, x1)) 177.19/63.22 mark(U32(x0)) 177.19/63.22 mark(U41(x0)) 177.19/63.22 mark(U51(x0, x1)) 177.19/63.22 mark(U52(x0, x1)) 177.19/63.22 mark(U61(x0, x1, x2)) 177.19/63.22 mark(U62(x0, x1, x2)) 177.19/63.22 mark(U63(x0, x1, x2)) 177.19/63.22 mark(U64(x0, x1, x2)) 177.19/63.22 mark(s(x0)) 177.19/63.22 mark(plus(x0, x1)) 177.19/63.22 mark(0) 177.19/63.22 U11(mark(x0), x1, x2) 177.19/63.22 U11(x0, mark(x1), x2) 177.19/63.22 U11(x0, x1, mark(x2)) 177.19/63.22 U11(active(x0), x1, x2) 177.19/63.22 U11(x0, active(x1), x2) 177.19/63.22 U11(x0, x1, active(x2)) 177.19/63.22 U12(mark(x0), x1, x2) 177.19/63.22 U12(x0, mark(x1), x2) 177.19/63.22 U12(x0, x1, mark(x2)) 177.19/63.22 U12(active(x0), x1, x2) 177.19/63.22 U12(x0, active(x1), x2) 177.19/63.22 U12(x0, x1, active(x2)) 177.19/63.22 isNatKind(mark(x0)) 177.19/63.22 isNatKind(active(x0)) 177.19/63.22 U13(mark(x0), x1, x2) 177.19/63.22 U13(x0, mark(x1), x2) 177.19/63.22 U13(x0, x1, mark(x2)) 177.19/63.22 U13(active(x0), x1, x2) 177.19/63.22 U13(x0, active(x1), x2) 177.19/63.22 U13(x0, x1, active(x2)) 177.19/63.22 U14(mark(x0), x1, x2) 177.19/63.22 U14(x0, mark(x1), x2) 177.19/63.22 U14(x0, x1, mark(x2)) 177.19/63.22 U14(active(x0), x1, x2) 177.19/63.22 U14(x0, active(x1), x2) 177.19/63.22 U14(x0, x1, active(x2)) 177.19/63.22 U15(mark(x0), x1) 177.19/63.22 U15(x0, mark(x1)) 177.19/63.22 U15(active(x0), x1) 177.19/63.22 U15(x0, active(x1)) 177.19/63.22 isNat(mark(x0)) 177.19/63.22 isNat(active(x0)) 177.19/63.22 U16(mark(x0)) 177.19/63.22 U16(active(x0)) 177.19/63.22 U21(mark(x0), x1) 177.19/63.22 U21(x0, mark(x1)) 177.19/63.22 U21(active(x0), x1) 177.19/63.22 U21(x0, active(x1)) 177.19/63.22 U22(mark(x0), x1) 177.19/63.22 U22(x0, mark(x1)) 177.19/63.22 U22(active(x0), x1) 177.19/63.22 U22(x0, active(x1)) 177.19/63.22 U23(mark(x0)) 177.19/63.22 U23(active(x0)) 177.19/63.22 U31(mark(x0), x1) 177.19/63.22 U31(x0, mark(x1)) 177.19/63.22 U31(active(x0), x1) 177.19/63.22 U31(x0, active(x1)) 177.19/63.22 U32(mark(x0)) 177.19/63.22 U32(active(x0)) 177.19/63.22 U41(mark(x0)) 177.19/63.22 U41(active(x0)) 177.19/63.22 U51(mark(x0), x1) 177.19/63.22 U51(x0, mark(x1)) 177.19/63.22 U51(active(x0), x1) 177.19/63.22 U51(x0, active(x1)) 177.19/63.22 U52(mark(x0), x1) 177.19/63.22 U52(x0, mark(x1)) 177.19/63.22 U52(active(x0), x1) 177.19/63.22 U52(x0, active(x1)) 177.19/63.22 U61(mark(x0), x1, x2) 177.19/63.22 U61(x0, mark(x1), x2) 177.19/63.22 U61(x0, x1, mark(x2)) 177.19/63.22 U61(active(x0), x1, x2) 177.19/63.22 U61(x0, active(x1), x2) 177.19/63.22 U61(x0, x1, active(x2)) 177.19/63.22 U62(mark(x0), x1, x2) 177.19/63.22 U62(x0, mark(x1), x2) 177.19/63.22 U62(x0, x1, mark(x2)) 177.19/63.22 U62(active(x0), x1, x2) 177.19/63.22 U62(x0, active(x1), x2) 177.19/63.22 U62(x0, x1, active(x2)) 177.19/63.22 U63(mark(x0), x1, x2) 177.19/63.22 U63(x0, mark(x1), x2) 177.19/63.22 U63(x0, x1, mark(x2)) 177.19/63.22 U63(active(x0), x1, x2) 177.19/63.22 U63(x0, active(x1), x2) 177.19/63.22 U63(x0, x1, active(x2)) 177.19/63.22 U64(mark(x0), x1, x2) 177.19/63.22 U64(x0, mark(x1), x2) 177.19/63.22 U64(x0, x1, mark(x2)) 177.19/63.22 U64(active(x0), x1, x2) 177.19/63.22 U64(x0, active(x1), x2) 177.19/63.22 U64(x0, x1, active(x2)) 177.19/63.22 s(mark(x0)) 177.19/63.22 s(active(x0)) 177.19/63.23 plus(mark(x0), x1) 177.19/63.23 plus(x0, mark(x1)) 177.19/63.23 plus(active(x0), x1) 177.19/63.23 plus(x0, active(x1)) 177.19/63.23 177.19/63.23 We have to consider all minimal (P,Q,R)-chains. 177.19/63.23 ---------------------------------------- 177.19/63.23 177.19/63.23 (106) QReductionProof (EQUIVALENT) 177.19/63.23 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 177.19/63.23 177.19/63.23 U11(mark(x0), x1, x2) 177.19/63.23 U11(x0, mark(x1), x2) 177.19/63.23 U11(x0, x1, mark(x2)) 177.19/63.23 U11(active(x0), x1, x2) 177.19/63.23 U11(x0, active(x1), x2) 177.19/63.23 U11(x0, x1, active(x2)) 177.19/63.23 U12(mark(x0), x1, x2) 177.19/63.23 U12(x0, mark(x1), x2) 177.19/63.23 U12(x0, x1, mark(x2)) 177.19/63.23 U12(active(x0), x1, x2) 177.19/63.23 U12(x0, active(x1), x2) 177.19/63.23 U12(x0, x1, active(x2)) 177.19/63.23 isNatKind(mark(x0)) 177.19/63.23 isNatKind(active(x0)) 177.19/63.23 U13(mark(x0), x1, x2) 177.19/63.23 U13(x0, mark(x1), x2) 177.19/63.23 U13(x0, x1, mark(x2)) 177.19/63.23 U13(active(x0), x1, x2) 177.19/63.23 U13(x0, active(x1), x2) 177.19/63.23 U13(x0, x1, active(x2)) 177.19/63.23 U14(mark(x0), x1, x2) 177.19/63.23 U14(x0, mark(x1), x2) 177.19/63.23 U14(x0, x1, mark(x2)) 177.19/63.23 U14(active(x0), x1, x2) 177.19/63.23 U14(x0, active(x1), x2) 177.19/63.23 U14(x0, x1, active(x2)) 177.19/63.23 U15(mark(x0), x1) 177.19/63.23 U15(x0, mark(x1)) 177.19/63.23 U15(active(x0), x1) 177.19/63.23 U15(x0, active(x1)) 177.19/63.23 isNat(mark(x0)) 177.19/63.23 isNat(active(x0)) 177.19/63.23 U16(mark(x0)) 177.19/63.23 U16(active(x0)) 177.19/63.23 U21(mark(x0), x1) 177.19/63.23 U21(x0, mark(x1)) 177.19/63.23 U21(active(x0), x1) 177.19/63.23 U21(x0, active(x1)) 177.19/63.23 U22(mark(x0), x1) 177.19/63.23 U22(x0, mark(x1)) 177.19/63.23 U22(active(x0), x1) 177.19/63.23 U22(x0, active(x1)) 177.19/63.23 U23(mark(x0)) 177.19/63.23 U23(active(x0)) 177.19/63.23 U31(mark(x0), x1) 177.19/63.23 U31(x0, mark(x1)) 177.19/63.23 U31(active(x0), x1) 177.19/63.23 U31(x0, active(x1)) 177.19/63.23 U32(mark(x0)) 177.19/63.23 U32(active(x0)) 177.19/63.23 U41(mark(x0)) 177.19/63.23 U41(active(x0)) 177.19/63.23 U51(mark(x0), x1) 177.19/63.23 U51(x0, mark(x1)) 177.19/63.23 U51(active(x0), x1) 177.19/63.23 U51(x0, active(x1)) 177.19/63.23 U52(mark(x0), x1) 177.19/63.23 U52(x0, mark(x1)) 177.19/63.23 U52(active(x0), x1) 177.19/63.23 U52(x0, active(x1)) 177.19/63.23 U61(mark(x0), x1, x2) 177.19/63.23 U61(x0, mark(x1), x2) 177.19/63.23 U61(x0, x1, mark(x2)) 177.19/63.23 U61(active(x0), x1, x2) 177.19/63.23 U61(x0, active(x1), x2) 177.19/63.23 U61(x0, x1, active(x2)) 177.19/63.23 U62(mark(x0), x1, x2) 177.19/63.23 U62(x0, mark(x1), x2) 177.19/63.23 U62(x0, x1, mark(x2)) 177.19/63.23 U62(active(x0), x1, x2) 177.19/63.23 U62(x0, active(x1), x2) 177.19/63.23 U62(x0, x1, active(x2)) 177.19/63.23 U63(mark(x0), x1, x2) 177.19/63.23 U63(x0, mark(x1), x2) 177.19/63.23 U63(x0, x1, mark(x2)) 177.19/63.23 U63(active(x0), x1, x2) 177.19/63.23 U63(x0, active(x1), x2) 177.19/63.23 U63(x0, x1, active(x2)) 177.19/63.23 U64(mark(x0), x1, x2) 177.19/63.23 U64(x0, mark(x1), x2) 177.19/63.23 U64(x0, x1, mark(x2)) 177.19/63.23 U64(active(x0), x1, x2) 177.19/63.23 U64(x0, active(x1), x2) 177.19/63.23 U64(x0, x1, active(x2)) 177.19/63.23 s(mark(x0)) 177.19/63.23 s(active(x0)) 177.19/63.23 plus(mark(x0), x1) 177.19/63.23 plus(x0, mark(x1)) 177.19/63.23 plus(active(x0), x1) 177.19/63.23 plus(x0, active(x1)) 177.19/63.23 177.19/63.23 177.19/63.23 ---------------------------------------- 177.19/63.23 177.19/63.23 (107) 177.19/63.23 Obligation: 177.19/63.23 Q DP problem: 177.19/63.23 The TRS P consists of the following rules: 177.19/63.23 177.19/63.23 U16^1(active(X)) -> U16^1(X) 177.19/63.23 U16^1(mark(X)) -> U16^1(X) 177.19/63.23 177.19/63.23 R is empty. 177.19/63.23 The set Q consists of the following terms: 177.19/63.23 177.19/63.23 active(U11(tt, x0, x1)) 177.19/63.23 active(U12(tt, x0, x1)) 177.19/63.23 active(U13(tt, x0, x1)) 177.19/63.23 active(U14(tt, x0, x1)) 177.19/63.23 active(U15(tt, x0)) 177.19/63.23 active(U16(tt)) 177.19/63.23 active(U21(tt, x0)) 177.19/63.23 active(U22(tt, x0)) 177.19/63.23 active(U23(tt)) 177.19/63.23 active(U31(tt, x0)) 177.19/63.23 active(U32(tt)) 177.19/63.23 active(U41(tt)) 177.19/63.23 active(U51(tt, x0)) 177.19/63.23 active(U52(tt, x0)) 177.19/63.23 active(U61(tt, x0, x1)) 177.19/63.23 active(U62(tt, x0, x1)) 177.19/63.23 active(U63(tt, x0, x1)) 177.19/63.23 active(U64(tt, x0, x1)) 177.19/63.23 active(isNat(0)) 177.19/63.23 active(isNat(plus(x0, x1))) 177.19/63.23 active(isNat(s(x0))) 177.19/63.23 active(isNatKind(0)) 177.19/63.23 active(isNatKind(plus(x0, x1))) 177.19/63.23 active(isNatKind(s(x0))) 177.19/63.23 active(plus(x0, 0)) 177.19/63.23 active(plus(x0, s(x1))) 177.19/63.23 mark(U11(x0, x1, x2)) 177.19/63.23 mark(tt) 177.19/63.23 mark(U12(x0, x1, x2)) 177.19/63.23 mark(isNatKind(x0)) 177.19/63.23 mark(U13(x0, x1, x2)) 177.19/63.23 mark(U14(x0, x1, x2)) 177.19/63.23 mark(U15(x0, x1)) 177.19/63.23 mark(isNat(x0)) 177.19/63.23 mark(U16(x0)) 177.19/63.23 mark(U21(x0, x1)) 177.19/63.23 mark(U22(x0, x1)) 177.19/63.23 mark(U23(x0)) 177.19/63.23 mark(U31(x0, x1)) 177.19/63.23 mark(U32(x0)) 177.19/63.23 mark(U41(x0)) 177.19/63.23 mark(U51(x0, x1)) 177.19/63.23 mark(U52(x0, x1)) 177.19/63.23 mark(U61(x0, x1, x2)) 177.19/63.23 mark(U62(x0, x1, x2)) 177.19/63.23 mark(U63(x0, x1, x2)) 177.19/63.23 mark(U64(x0, x1, x2)) 177.19/63.23 mark(s(x0)) 177.19/63.23 mark(plus(x0, x1)) 177.19/63.23 mark(0) 177.19/63.23 177.19/63.23 We have to consider all minimal (P,Q,R)-chains. 177.19/63.23 ---------------------------------------- 177.19/63.23 177.19/63.23 (108) QDPSizeChangeProof (EQUIVALENT) 177.19/63.23 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. 177.19/63.23 177.19/63.23 From the DPs we obtained the following set of size-change graphs: 177.19/63.23 *U16^1(active(X)) -> U16^1(X) 177.19/63.23 The graph contains the following edges 1 > 1 177.19/63.23 177.19/63.23 177.19/63.23 *U16^1(mark(X)) -> U16^1(X) 177.19/63.23 The graph contains the following edges 1 > 1 177.19/63.23 177.19/63.23 177.19/63.23 ---------------------------------------- 177.19/63.23 177.19/63.23 (109) 177.19/63.23 YES 177.19/63.23 177.19/63.23 ---------------------------------------- 177.19/63.23 177.19/63.23 (110) 177.19/63.23 Obligation: 177.19/63.23 Q DP problem: 177.19/63.23 The TRS P consists of the following rules: 177.19/63.23 177.19/63.23 ISNAT(active(X)) -> ISNAT(X) 177.19/63.23 ISNAT(mark(X)) -> ISNAT(X) 177.19/63.23 177.19/63.23 The TRS R consists of the following rules: 177.19/63.23 177.19/63.23 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.19/63.23 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.19/63.23 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.19/63.23 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.19/63.23 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.19/63.23 active(U16(tt)) -> mark(tt) 177.19/63.23 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.19/63.23 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.19/63.23 active(U23(tt)) -> mark(tt) 177.19/63.23 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.19/63.23 active(U32(tt)) -> mark(tt) 177.19/63.23 active(U41(tt)) -> mark(tt) 177.19/63.23 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.19/63.23 active(U52(tt, N)) -> mark(N) 177.19/63.23 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.19/63.23 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.19/63.23 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.19/63.23 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.19/63.23 active(isNat(0)) -> mark(tt) 177.19/63.23 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.19/63.23 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.19/63.23 active(isNatKind(0)) -> mark(tt) 177.19/63.23 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.19/63.23 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.19/63.23 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.19/63.23 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.19/63.23 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.19/63.23 mark(tt) -> active(tt) 177.19/63.23 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.19/63.23 mark(isNatKind(X)) -> active(isNatKind(X)) 177.19/63.23 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.19/63.23 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.19/63.23 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.19/63.23 mark(isNat(X)) -> active(isNat(X)) 177.19/63.23 mark(U16(X)) -> active(U16(mark(X))) 177.19/63.23 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.19/63.23 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.19/63.23 mark(U23(X)) -> active(U23(mark(X))) 177.19/63.23 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.19/63.23 mark(U32(X)) -> active(U32(mark(X))) 177.19/63.23 mark(U41(X)) -> active(U41(mark(X))) 177.19/63.23 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.19/63.23 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.19/63.23 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.19/63.23 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.19/63.23 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.19/63.23 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.19/63.23 mark(s(X)) -> active(s(mark(X))) 177.19/63.23 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.19/63.23 mark(0) -> active(0) 177.19/63.23 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.23 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.23 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.23 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.23 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.23 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.23 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.23 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.23 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.23 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.23 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.23 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.23 isNatKind(mark(X)) -> isNatKind(X) 177.19/63.23 isNatKind(active(X)) -> isNatKind(X) 177.19/63.23 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.23 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.23 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.23 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.23 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.23 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.23 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.23 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.23 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.23 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.23 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.23 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.23 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.23 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.23 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.23 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.23 isNat(mark(X)) -> isNat(X) 177.19/63.23 isNat(active(X)) -> isNat(X) 177.19/63.23 U16(mark(X)) -> U16(X) 177.19/63.23 U16(active(X)) -> U16(X) 177.19/63.23 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.23 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.23 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.23 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.23 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.23 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.23 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.23 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.23 U23(mark(X)) -> U23(X) 177.19/63.23 U23(active(X)) -> U23(X) 177.19/63.23 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.23 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.23 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.23 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.23 U32(mark(X)) -> U32(X) 177.19/63.23 U32(active(X)) -> U32(X) 177.19/63.23 U41(mark(X)) -> U41(X) 177.19/63.23 U41(active(X)) -> U41(X) 177.19/63.23 U51(mark(X1), X2) -> U51(X1, X2) 177.19/63.23 U51(X1, mark(X2)) -> U51(X1, X2) 177.19/63.23 U51(active(X1), X2) -> U51(X1, X2) 177.19/63.23 U51(X1, active(X2)) -> U51(X1, X2) 177.19/63.23 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.23 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.23 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.23 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.23 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.23 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.23 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.23 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.23 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.23 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.23 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.23 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.23 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.23 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.23 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.23 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.23 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.23 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.19/63.23 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.19/63.23 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.23 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.19/63.23 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.19/63.23 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.23 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.19/63.23 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.19/63.23 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.23 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.19/63.23 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.19/63.23 s(mark(X)) -> s(X) 177.19/63.23 s(active(X)) -> s(X) 177.19/63.23 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.23 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.23 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.23 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.23 177.19/63.23 The set Q consists of the following terms: 177.19/63.23 177.19/63.23 active(U11(tt, x0, x1)) 177.19/63.23 active(U12(tt, x0, x1)) 177.19/63.23 active(U13(tt, x0, x1)) 177.19/63.23 active(U14(tt, x0, x1)) 177.19/63.23 active(U15(tt, x0)) 177.19/63.23 active(U16(tt)) 177.19/63.23 active(U21(tt, x0)) 177.19/63.23 active(U22(tt, x0)) 177.19/63.23 active(U23(tt)) 177.19/63.23 active(U31(tt, x0)) 177.19/63.23 active(U32(tt)) 177.19/63.23 active(U41(tt)) 177.19/63.23 active(U51(tt, x0)) 177.19/63.23 active(U52(tt, x0)) 177.19/63.23 active(U61(tt, x0, x1)) 177.19/63.23 active(U62(tt, x0, x1)) 177.19/63.23 active(U63(tt, x0, x1)) 177.19/63.23 active(U64(tt, x0, x1)) 177.19/63.23 active(isNat(0)) 177.19/63.23 active(isNat(plus(x0, x1))) 177.19/63.23 active(isNat(s(x0))) 177.19/63.23 active(isNatKind(0)) 177.19/63.23 active(isNatKind(plus(x0, x1))) 177.19/63.23 active(isNatKind(s(x0))) 177.19/63.23 active(plus(x0, 0)) 177.19/63.23 active(plus(x0, s(x1))) 177.19/63.23 mark(U11(x0, x1, x2)) 177.19/63.23 mark(tt) 177.19/63.23 mark(U12(x0, x1, x2)) 177.19/63.23 mark(isNatKind(x0)) 177.19/63.23 mark(U13(x0, x1, x2)) 177.19/63.23 mark(U14(x0, x1, x2)) 177.19/63.23 mark(U15(x0, x1)) 177.19/63.23 mark(isNat(x0)) 177.19/63.23 mark(U16(x0)) 177.19/63.23 mark(U21(x0, x1)) 177.19/63.23 mark(U22(x0, x1)) 177.19/63.23 mark(U23(x0)) 177.19/63.23 mark(U31(x0, x1)) 177.19/63.23 mark(U32(x0)) 177.19/63.23 mark(U41(x0)) 177.19/63.23 mark(U51(x0, x1)) 177.19/63.23 mark(U52(x0, x1)) 177.19/63.23 mark(U61(x0, x1, x2)) 177.19/63.23 mark(U62(x0, x1, x2)) 177.19/63.23 mark(U63(x0, x1, x2)) 177.19/63.23 mark(U64(x0, x1, x2)) 177.19/63.23 mark(s(x0)) 177.19/63.23 mark(plus(x0, x1)) 177.19/63.23 mark(0) 177.19/63.23 U11(mark(x0), x1, x2) 177.19/63.23 U11(x0, mark(x1), x2) 177.19/63.23 U11(x0, x1, mark(x2)) 177.19/63.23 U11(active(x0), x1, x2) 177.19/63.23 U11(x0, active(x1), x2) 177.19/63.23 U11(x0, x1, active(x2)) 177.19/63.23 U12(mark(x0), x1, x2) 177.19/63.23 U12(x0, mark(x1), x2) 177.19/63.23 U12(x0, x1, mark(x2)) 177.19/63.23 U12(active(x0), x1, x2) 177.19/63.23 U12(x0, active(x1), x2) 177.19/63.23 U12(x0, x1, active(x2)) 177.19/63.23 isNatKind(mark(x0)) 177.19/63.23 isNatKind(active(x0)) 177.19/63.23 U13(mark(x0), x1, x2) 177.19/63.23 U13(x0, mark(x1), x2) 177.19/63.23 U13(x0, x1, mark(x2)) 177.19/63.23 U13(active(x0), x1, x2) 177.19/63.23 U13(x0, active(x1), x2) 177.19/63.23 U13(x0, x1, active(x2)) 177.19/63.23 U14(mark(x0), x1, x2) 177.19/63.23 U14(x0, mark(x1), x2) 177.19/63.23 U14(x0, x1, mark(x2)) 177.19/63.23 U14(active(x0), x1, x2) 177.19/63.23 U14(x0, active(x1), x2) 177.19/63.23 U14(x0, x1, active(x2)) 177.19/63.23 U15(mark(x0), x1) 177.19/63.23 U15(x0, mark(x1)) 177.19/63.23 U15(active(x0), x1) 177.19/63.23 U15(x0, active(x1)) 177.19/63.23 isNat(mark(x0)) 177.19/63.23 isNat(active(x0)) 177.19/63.23 U16(mark(x0)) 177.19/63.23 U16(active(x0)) 177.19/63.23 U21(mark(x0), x1) 177.19/63.23 U21(x0, mark(x1)) 177.19/63.23 U21(active(x0), x1) 177.19/63.23 U21(x0, active(x1)) 177.19/63.23 U22(mark(x0), x1) 177.19/63.23 U22(x0, mark(x1)) 177.19/63.23 U22(active(x0), x1) 177.19/63.23 U22(x0, active(x1)) 177.19/63.23 U23(mark(x0)) 177.19/63.23 U23(active(x0)) 177.19/63.23 U31(mark(x0), x1) 177.19/63.23 U31(x0, mark(x1)) 177.19/63.23 U31(active(x0), x1) 177.19/63.23 U31(x0, active(x1)) 177.19/63.23 U32(mark(x0)) 177.19/63.23 U32(active(x0)) 177.19/63.23 U41(mark(x0)) 177.19/63.23 U41(active(x0)) 177.19/63.23 U51(mark(x0), x1) 177.19/63.23 U51(x0, mark(x1)) 177.19/63.23 U51(active(x0), x1) 177.19/63.23 U51(x0, active(x1)) 177.19/63.23 U52(mark(x0), x1) 177.19/63.23 U52(x0, mark(x1)) 177.19/63.23 U52(active(x0), x1) 177.19/63.23 U52(x0, active(x1)) 177.19/63.23 U61(mark(x0), x1, x2) 177.19/63.23 U61(x0, mark(x1), x2) 177.19/63.23 U61(x0, x1, mark(x2)) 177.19/63.23 U61(active(x0), x1, x2) 177.19/63.23 U61(x0, active(x1), x2) 177.19/63.23 U61(x0, x1, active(x2)) 177.19/63.23 U62(mark(x0), x1, x2) 177.19/63.23 U62(x0, mark(x1), x2) 177.19/63.23 U62(x0, x1, mark(x2)) 177.19/63.23 U62(active(x0), x1, x2) 177.19/63.23 U62(x0, active(x1), x2) 177.19/63.23 U62(x0, x1, active(x2)) 177.19/63.23 U63(mark(x0), x1, x2) 177.19/63.23 U63(x0, mark(x1), x2) 177.19/63.23 U63(x0, x1, mark(x2)) 177.19/63.23 U63(active(x0), x1, x2) 177.19/63.23 U63(x0, active(x1), x2) 177.19/63.23 U63(x0, x1, active(x2)) 177.19/63.23 U64(mark(x0), x1, x2) 177.19/63.23 U64(x0, mark(x1), x2) 177.19/63.23 U64(x0, x1, mark(x2)) 177.19/63.23 U64(active(x0), x1, x2) 177.19/63.23 U64(x0, active(x1), x2) 177.19/63.23 U64(x0, x1, active(x2)) 177.19/63.23 s(mark(x0)) 177.19/63.23 s(active(x0)) 177.19/63.23 plus(mark(x0), x1) 177.19/63.23 plus(x0, mark(x1)) 177.19/63.23 plus(active(x0), x1) 177.19/63.23 plus(x0, active(x1)) 177.19/63.23 177.19/63.23 We have to consider all minimal (P,Q,R)-chains. 177.19/63.23 ---------------------------------------- 177.19/63.23 177.19/63.23 (111) UsableRulesProof (EQUIVALENT) 177.19/63.23 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. 177.19/63.23 ---------------------------------------- 177.19/63.23 177.19/63.23 (112) 177.19/63.23 Obligation: 177.19/63.23 Q DP problem: 177.19/63.23 The TRS P consists of the following rules: 177.19/63.23 177.19/63.23 ISNAT(active(X)) -> ISNAT(X) 177.19/63.23 ISNAT(mark(X)) -> ISNAT(X) 177.19/63.23 177.19/63.23 R is empty. 177.19/63.23 The set Q consists of the following terms: 177.19/63.23 177.19/63.23 active(U11(tt, x0, x1)) 177.19/63.23 active(U12(tt, x0, x1)) 177.19/63.23 active(U13(tt, x0, x1)) 177.19/63.23 active(U14(tt, x0, x1)) 177.19/63.23 active(U15(tt, x0)) 177.19/63.23 active(U16(tt)) 177.19/63.23 active(U21(tt, x0)) 177.19/63.23 active(U22(tt, x0)) 177.19/63.23 active(U23(tt)) 177.19/63.23 active(U31(tt, x0)) 177.19/63.23 active(U32(tt)) 177.19/63.23 active(U41(tt)) 177.19/63.23 active(U51(tt, x0)) 177.19/63.23 active(U52(tt, x0)) 177.19/63.23 active(U61(tt, x0, x1)) 177.19/63.23 active(U62(tt, x0, x1)) 177.19/63.23 active(U63(tt, x0, x1)) 177.19/63.23 active(U64(tt, x0, x1)) 177.19/63.23 active(isNat(0)) 177.19/63.23 active(isNat(plus(x0, x1))) 177.19/63.23 active(isNat(s(x0))) 177.19/63.23 active(isNatKind(0)) 177.19/63.23 active(isNatKind(plus(x0, x1))) 177.19/63.23 active(isNatKind(s(x0))) 177.19/63.23 active(plus(x0, 0)) 177.19/63.23 active(plus(x0, s(x1))) 177.19/63.23 mark(U11(x0, x1, x2)) 177.19/63.23 mark(tt) 177.19/63.23 mark(U12(x0, x1, x2)) 177.19/63.23 mark(isNatKind(x0)) 177.19/63.23 mark(U13(x0, x1, x2)) 177.19/63.23 mark(U14(x0, x1, x2)) 177.19/63.23 mark(U15(x0, x1)) 177.19/63.23 mark(isNat(x0)) 177.19/63.23 mark(U16(x0)) 177.19/63.23 mark(U21(x0, x1)) 177.19/63.23 mark(U22(x0, x1)) 177.19/63.23 mark(U23(x0)) 177.19/63.23 mark(U31(x0, x1)) 177.19/63.23 mark(U32(x0)) 177.19/63.23 mark(U41(x0)) 177.19/63.23 mark(U51(x0, x1)) 177.19/63.23 mark(U52(x0, x1)) 177.19/63.23 mark(U61(x0, x1, x2)) 177.19/63.23 mark(U62(x0, x1, x2)) 177.19/63.23 mark(U63(x0, x1, x2)) 177.19/63.23 mark(U64(x0, x1, x2)) 177.19/63.23 mark(s(x0)) 177.19/63.23 mark(plus(x0, x1)) 177.19/63.23 mark(0) 177.19/63.23 U11(mark(x0), x1, x2) 177.19/63.23 U11(x0, mark(x1), x2) 177.19/63.23 U11(x0, x1, mark(x2)) 177.19/63.23 U11(active(x0), x1, x2) 177.19/63.23 U11(x0, active(x1), x2) 177.19/63.23 U11(x0, x1, active(x2)) 177.19/63.23 U12(mark(x0), x1, x2) 177.19/63.23 U12(x0, mark(x1), x2) 177.19/63.23 U12(x0, x1, mark(x2)) 177.19/63.23 U12(active(x0), x1, x2) 177.19/63.23 U12(x0, active(x1), x2) 177.19/63.23 U12(x0, x1, active(x2)) 177.19/63.23 isNatKind(mark(x0)) 177.19/63.23 isNatKind(active(x0)) 177.19/63.23 U13(mark(x0), x1, x2) 177.19/63.23 U13(x0, mark(x1), x2) 177.19/63.23 U13(x0, x1, mark(x2)) 177.19/63.23 U13(active(x0), x1, x2) 177.19/63.23 U13(x0, active(x1), x2) 177.19/63.23 U13(x0, x1, active(x2)) 177.19/63.23 U14(mark(x0), x1, x2) 177.19/63.23 U14(x0, mark(x1), x2) 177.19/63.23 U14(x0, x1, mark(x2)) 177.19/63.23 U14(active(x0), x1, x2) 177.19/63.23 U14(x0, active(x1), x2) 177.19/63.23 U14(x0, x1, active(x2)) 177.19/63.23 U15(mark(x0), x1) 177.19/63.23 U15(x0, mark(x1)) 177.19/63.23 U15(active(x0), x1) 177.19/63.23 U15(x0, active(x1)) 177.19/63.23 isNat(mark(x0)) 177.19/63.23 isNat(active(x0)) 177.19/63.23 U16(mark(x0)) 177.19/63.23 U16(active(x0)) 177.19/63.23 U21(mark(x0), x1) 177.19/63.23 U21(x0, mark(x1)) 177.19/63.23 U21(active(x0), x1) 177.19/63.23 U21(x0, active(x1)) 177.19/63.23 U22(mark(x0), x1) 177.19/63.23 U22(x0, mark(x1)) 177.19/63.23 U22(active(x0), x1) 177.19/63.23 U22(x0, active(x1)) 177.19/63.23 U23(mark(x0)) 177.19/63.23 U23(active(x0)) 177.19/63.23 U31(mark(x0), x1) 177.19/63.23 U31(x0, mark(x1)) 177.19/63.23 U31(active(x0), x1) 177.19/63.23 U31(x0, active(x1)) 177.19/63.23 U32(mark(x0)) 177.19/63.23 U32(active(x0)) 177.19/63.23 U41(mark(x0)) 177.19/63.23 U41(active(x0)) 177.19/63.23 U51(mark(x0), x1) 177.19/63.23 U51(x0, mark(x1)) 177.19/63.23 U51(active(x0), x1) 177.19/63.23 U51(x0, active(x1)) 177.19/63.23 U52(mark(x0), x1) 177.19/63.23 U52(x0, mark(x1)) 177.19/63.23 U52(active(x0), x1) 177.19/63.23 U52(x0, active(x1)) 177.19/63.23 U61(mark(x0), x1, x2) 177.19/63.23 U61(x0, mark(x1), x2) 177.19/63.23 U61(x0, x1, mark(x2)) 177.19/63.23 U61(active(x0), x1, x2) 177.19/63.23 U61(x0, active(x1), x2) 177.19/63.23 U61(x0, x1, active(x2)) 177.19/63.23 U62(mark(x0), x1, x2) 177.19/63.23 U62(x0, mark(x1), x2) 177.19/63.23 U62(x0, x1, mark(x2)) 177.19/63.23 U62(active(x0), x1, x2) 177.19/63.23 U62(x0, active(x1), x2) 177.19/63.23 U62(x0, x1, active(x2)) 177.19/63.23 U63(mark(x0), x1, x2) 177.19/63.23 U63(x0, mark(x1), x2) 177.19/63.23 U63(x0, x1, mark(x2)) 177.19/63.23 U63(active(x0), x1, x2) 177.19/63.23 U63(x0, active(x1), x2) 177.19/63.23 U63(x0, x1, active(x2)) 177.19/63.23 U64(mark(x0), x1, x2) 177.19/63.23 U64(x0, mark(x1), x2) 177.19/63.23 U64(x0, x1, mark(x2)) 177.19/63.23 U64(active(x0), x1, x2) 177.19/63.23 U64(x0, active(x1), x2) 177.19/63.23 U64(x0, x1, active(x2)) 177.19/63.23 s(mark(x0)) 177.19/63.23 s(active(x0)) 177.19/63.23 plus(mark(x0), x1) 177.19/63.23 plus(x0, mark(x1)) 177.19/63.23 plus(active(x0), x1) 177.19/63.23 plus(x0, active(x1)) 177.19/63.23 177.19/63.23 We have to consider all minimal (P,Q,R)-chains. 177.19/63.23 ---------------------------------------- 177.19/63.23 177.19/63.23 (113) QReductionProof (EQUIVALENT) 177.19/63.23 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 177.19/63.23 177.19/63.23 U11(mark(x0), x1, x2) 177.19/63.23 U11(x0, mark(x1), x2) 177.19/63.23 U11(x0, x1, mark(x2)) 177.19/63.23 U11(active(x0), x1, x2) 177.19/63.23 U11(x0, active(x1), x2) 177.19/63.23 U11(x0, x1, active(x2)) 177.19/63.23 U12(mark(x0), x1, x2) 177.19/63.23 U12(x0, mark(x1), x2) 177.19/63.23 U12(x0, x1, mark(x2)) 177.19/63.23 U12(active(x0), x1, x2) 177.19/63.23 U12(x0, active(x1), x2) 177.19/63.23 U12(x0, x1, active(x2)) 177.19/63.23 isNatKind(mark(x0)) 177.19/63.23 isNatKind(active(x0)) 177.19/63.23 U13(mark(x0), x1, x2) 177.19/63.23 U13(x0, mark(x1), x2) 177.19/63.23 U13(x0, x1, mark(x2)) 177.19/63.23 U13(active(x0), x1, x2) 177.19/63.23 U13(x0, active(x1), x2) 177.19/63.23 U13(x0, x1, active(x2)) 177.19/63.23 U14(mark(x0), x1, x2) 177.19/63.23 U14(x0, mark(x1), x2) 177.19/63.23 U14(x0, x1, mark(x2)) 177.19/63.23 U14(active(x0), x1, x2) 177.19/63.23 U14(x0, active(x1), x2) 177.19/63.23 U14(x0, x1, active(x2)) 177.19/63.23 U15(mark(x0), x1) 177.19/63.23 U15(x0, mark(x1)) 177.19/63.23 U15(active(x0), x1) 177.19/63.23 U15(x0, active(x1)) 177.19/63.23 isNat(mark(x0)) 177.19/63.23 isNat(active(x0)) 177.19/63.23 U16(mark(x0)) 177.19/63.23 U16(active(x0)) 177.19/63.23 U21(mark(x0), x1) 177.19/63.23 U21(x0, mark(x1)) 177.19/63.23 U21(active(x0), x1) 177.19/63.23 U21(x0, active(x1)) 177.19/63.23 U22(mark(x0), x1) 177.19/63.23 U22(x0, mark(x1)) 177.19/63.23 U22(active(x0), x1) 177.19/63.23 U22(x0, active(x1)) 177.19/63.23 U23(mark(x0)) 177.19/63.23 U23(active(x0)) 177.19/63.23 U31(mark(x0), x1) 177.19/63.23 U31(x0, mark(x1)) 177.19/63.23 U31(active(x0), x1) 177.19/63.23 U31(x0, active(x1)) 177.19/63.23 U32(mark(x0)) 177.19/63.23 U32(active(x0)) 177.19/63.23 U41(mark(x0)) 177.19/63.23 U41(active(x0)) 177.19/63.23 U51(mark(x0), x1) 177.19/63.23 U51(x0, mark(x1)) 177.19/63.23 U51(active(x0), x1) 177.19/63.23 U51(x0, active(x1)) 177.19/63.23 U52(mark(x0), x1) 177.19/63.23 U52(x0, mark(x1)) 177.19/63.23 U52(active(x0), x1) 177.19/63.23 U52(x0, active(x1)) 177.19/63.23 U61(mark(x0), x1, x2) 177.19/63.23 U61(x0, mark(x1), x2) 177.19/63.23 U61(x0, x1, mark(x2)) 177.19/63.23 U61(active(x0), x1, x2) 177.19/63.23 U61(x0, active(x1), x2) 177.19/63.23 U61(x0, x1, active(x2)) 177.19/63.23 U62(mark(x0), x1, x2) 177.19/63.23 U62(x0, mark(x1), x2) 177.19/63.23 U62(x0, x1, mark(x2)) 177.19/63.23 U62(active(x0), x1, x2) 177.19/63.23 U62(x0, active(x1), x2) 177.19/63.23 U62(x0, x1, active(x2)) 177.19/63.23 U63(mark(x0), x1, x2) 177.19/63.23 U63(x0, mark(x1), x2) 177.19/63.23 U63(x0, x1, mark(x2)) 177.19/63.23 U63(active(x0), x1, x2) 177.19/63.23 U63(x0, active(x1), x2) 177.19/63.23 U63(x0, x1, active(x2)) 177.19/63.23 U64(mark(x0), x1, x2) 177.19/63.23 U64(x0, mark(x1), x2) 177.19/63.23 U64(x0, x1, mark(x2)) 177.19/63.23 U64(active(x0), x1, x2) 177.19/63.23 U64(x0, active(x1), x2) 177.19/63.23 U64(x0, x1, active(x2)) 177.19/63.23 s(mark(x0)) 177.19/63.23 s(active(x0)) 177.19/63.23 plus(mark(x0), x1) 177.19/63.23 plus(x0, mark(x1)) 177.19/63.23 plus(active(x0), x1) 177.19/63.23 plus(x0, active(x1)) 177.19/63.23 177.19/63.23 177.19/63.23 ---------------------------------------- 177.19/63.23 177.19/63.23 (114) 177.19/63.23 Obligation: 177.19/63.23 Q DP problem: 177.19/63.23 The TRS P consists of the following rules: 177.19/63.23 177.19/63.23 ISNAT(active(X)) -> ISNAT(X) 177.19/63.23 ISNAT(mark(X)) -> ISNAT(X) 177.19/63.23 177.19/63.23 R is empty. 177.19/63.23 The set Q consists of the following terms: 177.19/63.23 177.19/63.23 active(U11(tt, x0, x1)) 177.19/63.23 active(U12(tt, x0, x1)) 177.19/63.23 active(U13(tt, x0, x1)) 177.19/63.23 active(U14(tt, x0, x1)) 177.19/63.23 active(U15(tt, x0)) 177.19/63.23 active(U16(tt)) 177.19/63.23 active(U21(tt, x0)) 177.19/63.23 active(U22(tt, x0)) 177.19/63.23 active(U23(tt)) 177.19/63.23 active(U31(tt, x0)) 177.19/63.23 active(U32(tt)) 177.19/63.23 active(U41(tt)) 177.19/63.23 active(U51(tt, x0)) 177.19/63.23 active(U52(tt, x0)) 177.19/63.23 active(U61(tt, x0, x1)) 177.19/63.23 active(U62(tt, x0, x1)) 177.19/63.23 active(U63(tt, x0, x1)) 177.19/63.23 active(U64(tt, x0, x1)) 177.19/63.23 active(isNat(0)) 177.19/63.23 active(isNat(plus(x0, x1))) 177.19/63.23 active(isNat(s(x0))) 177.19/63.23 active(isNatKind(0)) 177.19/63.23 active(isNatKind(plus(x0, x1))) 177.19/63.23 active(isNatKind(s(x0))) 177.19/63.23 active(plus(x0, 0)) 177.19/63.23 active(plus(x0, s(x1))) 177.19/63.23 mark(U11(x0, x1, x2)) 177.19/63.23 mark(tt) 177.19/63.23 mark(U12(x0, x1, x2)) 177.19/63.23 mark(isNatKind(x0)) 177.19/63.23 mark(U13(x0, x1, x2)) 177.19/63.23 mark(U14(x0, x1, x2)) 177.19/63.23 mark(U15(x0, x1)) 177.19/63.23 mark(isNat(x0)) 177.19/63.23 mark(U16(x0)) 177.19/63.23 mark(U21(x0, x1)) 177.19/63.23 mark(U22(x0, x1)) 177.19/63.23 mark(U23(x0)) 177.19/63.23 mark(U31(x0, x1)) 177.19/63.23 mark(U32(x0)) 177.19/63.23 mark(U41(x0)) 177.19/63.23 mark(U51(x0, x1)) 177.19/63.23 mark(U52(x0, x1)) 177.19/63.23 mark(U61(x0, x1, x2)) 177.19/63.23 mark(U62(x0, x1, x2)) 177.19/63.23 mark(U63(x0, x1, x2)) 177.19/63.23 mark(U64(x0, x1, x2)) 177.19/63.23 mark(s(x0)) 177.19/63.23 mark(plus(x0, x1)) 177.19/63.23 mark(0) 177.19/63.23 177.19/63.23 We have to consider all minimal (P,Q,R)-chains. 177.19/63.23 ---------------------------------------- 177.19/63.23 177.19/63.23 (115) QDPSizeChangeProof (EQUIVALENT) 177.19/63.23 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. 177.19/63.23 177.19/63.23 From the DPs we obtained the following set of size-change graphs: 177.19/63.23 *ISNAT(active(X)) -> ISNAT(X) 177.19/63.23 The graph contains the following edges 1 > 1 177.19/63.23 177.19/63.23 177.19/63.23 *ISNAT(mark(X)) -> ISNAT(X) 177.19/63.23 The graph contains the following edges 1 > 1 177.19/63.23 177.19/63.23 177.19/63.23 ---------------------------------------- 177.19/63.23 177.19/63.23 (116) 177.19/63.23 YES 177.19/63.23 177.19/63.23 ---------------------------------------- 177.19/63.23 177.19/63.23 (117) 177.19/63.23 Obligation: 177.19/63.23 Q DP problem: 177.19/63.23 The TRS P consists of the following rules: 177.19/63.23 177.19/63.23 U15^1(X1, mark(X2)) -> U15^1(X1, X2) 177.19/63.23 U15^1(mark(X1), X2) -> U15^1(X1, X2) 177.19/63.23 U15^1(active(X1), X2) -> U15^1(X1, X2) 177.19/63.23 U15^1(X1, active(X2)) -> U15^1(X1, X2) 177.19/63.23 177.19/63.23 The TRS R consists of the following rules: 177.19/63.23 177.19/63.23 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.19/63.23 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.19/63.23 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.19/63.23 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.19/63.23 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.19/63.23 active(U16(tt)) -> mark(tt) 177.19/63.23 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.19/63.23 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.19/63.23 active(U23(tt)) -> mark(tt) 177.19/63.23 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.19/63.23 active(U32(tt)) -> mark(tt) 177.19/63.23 active(U41(tt)) -> mark(tt) 177.19/63.23 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.19/63.23 active(U52(tt, N)) -> mark(N) 177.19/63.23 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.19/63.23 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.19/63.23 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.19/63.23 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.19/63.23 active(isNat(0)) -> mark(tt) 177.19/63.23 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.19/63.23 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.19/63.23 active(isNatKind(0)) -> mark(tt) 177.19/63.23 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.19/63.23 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.19/63.23 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.19/63.23 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.19/63.23 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.19/63.23 mark(tt) -> active(tt) 177.19/63.23 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.19/63.23 mark(isNatKind(X)) -> active(isNatKind(X)) 177.19/63.23 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.19/63.23 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.19/63.23 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.19/63.23 mark(isNat(X)) -> active(isNat(X)) 177.19/63.23 mark(U16(X)) -> active(U16(mark(X))) 177.19/63.23 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.19/63.23 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.19/63.23 mark(U23(X)) -> active(U23(mark(X))) 177.19/63.23 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.19/63.23 mark(U32(X)) -> active(U32(mark(X))) 177.19/63.23 mark(U41(X)) -> active(U41(mark(X))) 177.19/63.23 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.19/63.23 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.19/63.23 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.19/63.23 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.19/63.23 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.19/63.23 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.19/63.23 mark(s(X)) -> active(s(mark(X))) 177.19/63.23 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.19/63.23 mark(0) -> active(0) 177.19/63.23 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.23 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.23 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.23 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.23 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.23 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.23 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.23 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.23 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.23 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.23 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.23 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.23 isNatKind(mark(X)) -> isNatKind(X) 177.19/63.23 isNatKind(active(X)) -> isNatKind(X) 177.19/63.23 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.23 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.23 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.23 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.23 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.23 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.23 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.23 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.23 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.23 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.23 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.23 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.23 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.23 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.23 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.23 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.23 isNat(mark(X)) -> isNat(X) 177.19/63.23 isNat(active(X)) -> isNat(X) 177.19/63.23 U16(mark(X)) -> U16(X) 177.19/63.23 U16(active(X)) -> U16(X) 177.19/63.23 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.23 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.23 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.23 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.23 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.23 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.23 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.23 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.23 U23(mark(X)) -> U23(X) 177.19/63.23 U23(active(X)) -> U23(X) 177.19/63.23 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.23 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.23 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.23 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.23 U32(mark(X)) -> U32(X) 177.19/63.23 U32(active(X)) -> U32(X) 177.19/63.23 U41(mark(X)) -> U41(X) 177.19/63.23 U41(active(X)) -> U41(X) 177.19/63.23 U51(mark(X1), X2) -> U51(X1, X2) 177.19/63.23 U51(X1, mark(X2)) -> U51(X1, X2) 177.19/63.23 U51(active(X1), X2) -> U51(X1, X2) 177.19/63.23 U51(X1, active(X2)) -> U51(X1, X2) 177.19/63.23 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.23 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.23 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.23 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.23 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.23 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.23 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.23 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.23 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.23 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.23 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.23 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.23 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.23 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.23 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.23 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.23 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.23 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.19/63.23 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.19/63.23 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.23 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.19/63.23 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.19/63.23 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.23 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.19/63.23 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.19/63.23 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.23 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.19/63.23 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.19/63.23 s(mark(X)) -> s(X) 177.19/63.23 s(active(X)) -> s(X) 177.19/63.23 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.23 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.23 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.23 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.23 177.19/63.23 The set Q consists of the following terms: 177.19/63.23 177.19/63.23 active(U11(tt, x0, x1)) 177.19/63.23 active(U12(tt, x0, x1)) 177.19/63.23 active(U13(tt, x0, x1)) 177.19/63.23 active(U14(tt, x0, x1)) 177.19/63.23 active(U15(tt, x0)) 177.19/63.23 active(U16(tt)) 177.19/63.23 active(U21(tt, x0)) 177.19/63.23 active(U22(tt, x0)) 177.19/63.23 active(U23(tt)) 177.19/63.23 active(U31(tt, x0)) 177.19/63.23 active(U32(tt)) 177.19/63.23 active(U41(tt)) 177.19/63.23 active(U51(tt, x0)) 177.19/63.23 active(U52(tt, x0)) 177.19/63.23 active(U61(tt, x0, x1)) 177.19/63.23 active(U62(tt, x0, x1)) 177.19/63.23 active(U63(tt, x0, x1)) 177.19/63.23 active(U64(tt, x0, x1)) 177.19/63.23 active(isNat(0)) 177.19/63.23 active(isNat(plus(x0, x1))) 177.19/63.23 active(isNat(s(x0))) 177.19/63.23 active(isNatKind(0)) 177.19/63.23 active(isNatKind(plus(x0, x1))) 177.19/63.23 active(isNatKind(s(x0))) 177.19/63.23 active(plus(x0, 0)) 177.19/63.23 active(plus(x0, s(x1))) 177.19/63.23 mark(U11(x0, x1, x2)) 177.19/63.23 mark(tt) 177.19/63.23 mark(U12(x0, x1, x2)) 177.19/63.23 mark(isNatKind(x0)) 177.19/63.23 mark(U13(x0, x1, x2)) 177.19/63.23 mark(U14(x0, x1, x2)) 177.19/63.23 mark(U15(x0, x1)) 177.19/63.23 mark(isNat(x0)) 177.19/63.23 mark(U16(x0)) 177.19/63.23 mark(U21(x0, x1)) 177.19/63.23 mark(U22(x0, x1)) 177.19/63.23 mark(U23(x0)) 177.19/63.23 mark(U31(x0, x1)) 177.19/63.23 mark(U32(x0)) 177.19/63.23 mark(U41(x0)) 177.19/63.23 mark(U51(x0, x1)) 177.19/63.23 mark(U52(x0, x1)) 177.19/63.23 mark(U61(x0, x1, x2)) 177.19/63.23 mark(U62(x0, x1, x2)) 177.19/63.23 mark(U63(x0, x1, x2)) 177.19/63.23 mark(U64(x0, x1, x2)) 177.19/63.23 mark(s(x0)) 177.19/63.23 mark(plus(x0, x1)) 177.19/63.23 mark(0) 177.19/63.23 U11(mark(x0), x1, x2) 177.19/63.23 U11(x0, mark(x1), x2) 177.19/63.23 U11(x0, x1, mark(x2)) 177.19/63.23 U11(active(x0), x1, x2) 177.19/63.23 U11(x0, active(x1), x2) 177.19/63.23 U11(x0, x1, active(x2)) 177.19/63.23 U12(mark(x0), x1, x2) 177.19/63.23 U12(x0, mark(x1), x2) 177.19/63.23 U12(x0, x1, mark(x2)) 177.19/63.23 U12(active(x0), x1, x2) 177.19/63.23 U12(x0, active(x1), x2) 177.19/63.23 U12(x0, x1, active(x2)) 177.19/63.23 isNatKind(mark(x0)) 177.19/63.23 isNatKind(active(x0)) 177.19/63.23 U13(mark(x0), x1, x2) 177.19/63.23 U13(x0, mark(x1), x2) 177.19/63.23 U13(x0, x1, mark(x2)) 177.19/63.23 U13(active(x0), x1, x2) 177.19/63.23 U13(x0, active(x1), x2) 177.19/63.23 U13(x0, x1, active(x2)) 177.19/63.23 U14(mark(x0), x1, x2) 177.19/63.23 U14(x0, mark(x1), x2) 177.19/63.23 U14(x0, x1, mark(x2)) 177.19/63.23 U14(active(x0), x1, x2) 177.19/63.23 U14(x0, active(x1), x2) 177.19/63.23 U14(x0, x1, active(x2)) 177.19/63.23 U15(mark(x0), x1) 177.19/63.23 U15(x0, mark(x1)) 177.19/63.23 U15(active(x0), x1) 177.19/63.23 U15(x0, active(x1)) 177.19/63.23 isNat(mark(x0)) 177.19/63.23 isNat(active(x0)) 177.19/63.23 U16(mark(x0)) 177.19/63.23 U16(active(x0)) 177.19/63.23 U21(mark(x0), x1) 177.19/63.23 U21(x0, mark(x1)) 177.19/63.23 U21(active(x0), x1) 177.19/63.23 U21(x0, active(x1)) 177.19/63.23 U22(mark(x0), x1) 177.19/63.23 U22(x0, mark(x1)) 177.19/63.23 U22(active(x0), x1) 177.19/63.23 U22(x0, active(x1)) 177.19/63.23 U23(mark(x0)) 177.19/63.23 U23(active(x0)) 177.19/63.23 U31(mark(x0), x1) 177.19/63.23 U31(x0, mark(x1)) 177.19/63.23 U31(active(x0), x1) 177.19/63.23 U31(x0, active(x1)) 177.19/63.23 U32(mark(x0)) 177.19/63.23 U32(active(x0)) 177.19/63.23 U41(mark(x0)) 177.19/63.23 U41(active(x0)) 177.19/63.23 U51(mark(x0), x1) 177.19/63.23 U51(x0, mark(x1)) 177.19/63.23 U51(active(x0), x1) 177.19/63.23 U51(x0, active(x1)) 177.19/63.23 U52(mark(x0), x1) 177.19/63.23 U52(x0, mark(x1)) 177.19/63.23 U52(active(x0), x1) 177.19/63.23 U52(x0, active(x1)) 177.19/63.23 U61(mark(x0), x1, x2) 177.19/63.23 U61(x0, mark(x1), x2) 177.19/63.23 U61(x0, x1, mark(x2)) 177.19/63.23 U61(active(x0), x1, x2) 177.19/63.23 U61(x0, active(x1), x2) 177.19/63.23 U61(x0, x1, active(x2)) 177.19/63.23 U62(mark(x0), x1, x2) 177.19/63.23 U62(x0, mark(x1), x2) 177.19/63.23 U62(x0, x1, mark(x2)) 177.19/63.23 U62(active(x0), x1, x2) 177.19/63.23 U62(x0, active(x1), x2) 177.19/63.23 U62(x0, x1, active(x2)) 177.19/63.23 U63(mark(x0), x1, x2) 177.19/63.23 U63(x0, mark(x1), x2) 177.19/63.23 U63(x0, x1, mark(x2)) 177.19/63.23 U63(active(x0), x1, x2) 177.19/63.23 U63(x0, active(x1), x2) 177.19/63.23 U63(x0, x1, active(x2)) 177.19/63.23 U64(mark(x0), x1, x2) 177.19/63.23 U64(x0, mark(x1), x2) 177.19/63.23 U64(x0, x1, mark(x2)) 177.19/63.23 U64(active(x0), x1, x2) 177.19/63.23 U64(x0, active(x1), x2) 177.19/63.23 U64(x0, x1, active(x2)) 177.19/63.23 s(mark(x0)) 177.19/63.23 s(active(x0)) 177.19/63.23 plus(mark(x0), x1) 177.19/63.23 plus(x0, mark(x1)) 177.19/63.23 plus(active(x0), x1) 177.19/63.23 plus(x0, active(x1)) 177.19/63.23 177.19/63.23 We have to consider all minimal (P,Q,R)-chains. 177.19/63.23 ---------------------------------------- 177.19/63.23 177.19/63.23 (118) UsableRulesProof (EQUIVALENT) 177.19/63.23 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. 177.19/63.23 ---------------------------------------- 177.19/63.23 177.19/63.23 (119) 177.19/63.23 Obligation: 177.19/63.23 Q DP problem: 177.19/63.23 The TRS P consists of the following rules: 177.19/63.23 177.19/63.23 U15^1(X1, mark(X2)) -> U15^1(X1, X2) 177.19/63.23 U15^1(mark(X1), X2) -> U15^1(X1, X2) 177.19/63.23 U15^1(active(X1), X2) -> U15^1(X1, X2) 177.19/63.23 U15^1(X1, active(X2)) -> U15^1(X1, X2) 177.19/63.23 177.19/63.23 R is empty. 177.19/63.23 The set Q consists of the following terms: 177.19/63.23 177.19/63.23 active(U11(tt, x0, x1)) 177.19/63.23 active(U12(tt, x0, x1)) 177.19/63.23 active(U13(tt, x0, x1)) 177.19/63.23 active(U14(tt, x0, x1)) 177.19/63.23 active(U15(tt, x0)) 177.19/63.23 active(U16(tt)) 177.19/63.23 active(U21(tt, x0)) 177.19/63.23 active(U22(tt, x0)) 177.19/63.23 active(U23(tt)) 177.19/63.23 active(U31(tt, x0)) 177.19/63.23 active(U32(tt)) 177.19/63.23 active(U41(tt)) 177.19/63.23 active(U51(tt, x0)) 177.19/63.23 active(U52(tt, x0)) 177.19/63.23 active(U61(tt, x0, x1)) 177.19/63.23 active(U62(tt, x0, x1)) 177.19/63.23 active(U63(tt, x0, x1)) 177.19/63.23 active(U64(tt, x0, x1)) 177.19/63.23 active(isNat(0)) 177.19/63.23 active(isNat(plus(x0, x1))) 177.19/63.23 active(isNat(s(x0))) 177.19/63.23 active(isNatKind(0)) 177.19/63.23 active(isNatKind(plus(x0, x1))) 177.19/63.23 active(isNatKind(s(x0))) 177.19/63.23 active(plus(x0, 0)) 177.19/63.23 active(plus(x0, s(x1))) 177.19/63.23 mark(U11(x0, x1, x2)) 177.19/63.23 mark(tt) 177.19/63.23 mark(U12(x0, x1, x2)) 177.19/63.23 mark(isNatKind(x0)) 177.19/63.23 mark(U13(x0, x1, x2)) 177.19/63.23 mark(U14(x0, x1, x2)) 177.19/63.23 mark(U15(x0, x1)) 177.19/63.23 mark(isNat(x0)) 177.19/63.23 mark(U16(x0)) 177.19/63.23 mark(U21(x0, x1)) 177.19/63.23 mark(U22(x0, x1)) 177.19/63.23 mark(U23(x0)) 177.19/63.23 mark(U31(x0, x1)) 177.19/63.23 mark(U32(x0)) 177.19/63.23 mark(U41(x0)) 177.19/63.23 mark(U51(x0, x1)) 177.19/63.23 mark(U52(x0, x1)) 177.19/63.23 mark(U61(x0, x1, x2)) 177.19/63.23 mark(U62(x0, x1, x2)) 177.19/63.23 mark(U63(x0, x1, x2)) 177.19/63.23 mark(U64(x0, x1, x2)) 177.19/63.23 mark(s(x0)) 177.19/63.23 mark(plus(x0, x1)) 177.19/63.23 mark(0) 177.19/63.23 U11(mark(x0), x1, x2) 177.19/63.23 U11(x0, mark(x1), x2) 177.19/63.23 U11(x0, x1, mark(x2)) 177.19/63.23 U11(active(x0), x1, x2) 177.19/63.23 U11(x0, active(x1), x2) 177.19/63.23 U11(x0, x1, active(x2)) 177.19/63.23 U12(mark(x0), x1, x2) 177.19/63.23 U12(x0, mark(x1), x2) 177.19/63.23 U12(x0, x1, mark(x2)) 177.19/63.23 U12(active(x0), x1, x2) 177.19/63.23 U12(x0, active(x1), x2) 177.19/63.23 U12(x0, x1, active(x2)) 177.19/63.23 isNatKind(mark(x0)) 177.19/63.23 isNatKind(active(x0)) 177.19/63.23 U13(mark(x0), x1, x2) 177.19/63.23 U13(x0, mark(x1), x2) 177.19/63.23 U13(x0, x1, mark(x2)) 177.19/63.23 U13(active(x0), x1, x2) 177.19/63.23 U13(x0, active(x1), x2) 177.19/63.23 U13(x0, x1, active(x2)) 177.19/63.23 U14(mark(x0), x1, x2) 177.19/63.23 U14(x0, mark(x1), x2) 177.19/63.23 U14(x0, x1, mark(x2)) 177.19/63.23 U14(active(x0), x1, x2) 177.19/63.23 U14(x0, active(x1), x2) 177.19/63.23 U14(x0, x1, active(x2)) 177.19/63.23 U15(mark(x0), x1) 177.19/63.23 U15(x0, mark(x1)) 177.19/63.23 U15(active(x0), x1) 177.19/63.23 U15(x0, active(x1)) 177.19/63.23 isNat(mark(x0)) 177.19/63.23 isNat(active(x0)) 177.19/63.23 U16(mark(x0)) 177.19/63.23 U16(active(x0)) 177.19/63.23 U21(mark(x0), x1) 177.19/63.23 U21(x0, mark(x1)) 177.19/63.23 U21(active(x0), x1) 177.19/63.23 U21(x0, active(x1)) 177.19/63.23 U22(mark(x0), x1) 177.19/63.23 U22(x0, mark(x1)) 177.19/63.23 U22(active(x0), x1) 177.19/63.23 U22(x0, active(x1)) 177.19/63.23 U23(mark(x0)) 177.19/63.23 U23(active(x0)) 177.19/63.23 U31(mark(x0), x1) 177.19/63.23 U31(x0, mark(x1)) 177.19/63.23 U31(active(x0), x1) 177.19/63.23 U31(x0, active(x1)) 177.19/63.23 U32(mark(x0)) 177.19/63.23 U32(active(x0)) 177.19/63.23 U41(mark(x0)) 177.19/63.23 U41(active(x0)) 177.19/63.23 U51(mark(x0), x1) 177.19/63.23 U51(x0, mark(x1)) 177.19/63.23 U51(active(x0), x1) 177.19/63.23 U51(x0, active(x1)) 177.19/63.23 U52(mark(x0), x1) 177.19/63.23 U52(x0, mark(x1)) 177.19/63.23 U52(active(x0), x1) 177.19/63.23 U52(x0, active(x1)) 177.19/63.23 U61(mark(x0), x1, x2) 177.19/63.23 U61(x0, mark(x1), x2) 177.19/63.23 U61(x0, x1, mark(x2)) 177.19/63.23 U61(active(x0), x1, x2) 177.19/63.23 U61(x0, active(x1), x2) 177.19/63.23 U61(x0, x1, active(x2)) 177.19/63.23 U62(mark(x0), x1, x2) 177.19/63.23 U62(x0, mark(x1), x2) 177.19/63.23 U62(x0, x1, mark(x2)) 177.19/63.23 U62(active(x0), x1, x2) 177.19/63.23 U62(x0, active(x1), x2) 177.19/63.23 U62(x0, x1, active(x2)) 177.19/63.23 U63(mark(x0), x1, x2) 177.19/63.23 U63(x0, mark(x1), x2) 177.19/63.23 U63(x0, x1, mark(x2)) 177.19/63.23 U63(active(x0), x1, x2) 177.19/63.23 U63(x0, active(x1), x2) 177.19/63.23 U63(x0, x1, active(x2)) 177.19/63.23 U64(mark(x0), x1, x2) 177.19/63.23 U64(x0, mark(x1), x2) 177.19/63.23 U64(x0, x1, mark(x2)) 177.19/63.23 U64(active(x0), x1, x2) 177.19/63.23 U64(x0, active(x1), x2) 177.19/63.23 U64(x0, x1, active(x2)) 177.19/63.23 s(mark(x0)) 177.19/63.23 s(active(x0)) 177.19/63.23 plus(mark(x0), x1) 177.19/63.23 plus(x0, mark(x1)) 177.19/63.23 plus(active(x0), x1) 177.19/63.23 plus(x0, active(x1)) 177.19/63.23 177.19/63.23 We have to consider all minimal (P,Q,R)-chains. 177.19/63.23 ---------------------------------------- 177.19/63.23 177.19/63.23 (120) QReductionProof (EQUIVALENT) 177.19/63.23 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 177.19/63.23 177.19/63.23 U11(mark(x0), x1, x2) 177.19/63.23 U11(x0, mark(x1), x2) 177.19/63.23 U11(x0, x1, mark(x2)) 177.19/63.23 U11(active(x0), x1, x2) 177.19/63.23 U11(x0, active(x1), x2) 177.19/63.23 U11(x0, x1, active(x2)) 177.19/63.23 U12(mark(x0), x1, x2) 177.19/63.23 U12(x0, mark(x1), x2) 177.19/63.23 U12(x0, x1, mark(x2)) 177.19/63.23 U12(active(x0), x1, x2) 177.19/63.23 U12(x0, active(x1), x2) 177.19/63.23 U12(x0, x1, active(x2)) 177.19/63.23 isNatKind(mark(x0)) 177.19/63.23 isNatKind(active(x0)) 177.19/63.23 U13(mark(x0), x1, x2) 177.19/63.23 U13(x0, mark(x1), x2) 177.19/63.23 U13(x0, x1, mark(x2)) 177.19/63.23 U13(active(x0), x1, x2) 177.19/63.23 U13(x0, active(x1), x2) 177.19/63.23 U13(x0, x1, active(x2)) 177.19/63.23 U14(mark(x0), x1, x2) 177.19/63.23 U14(x0, mark(x1), x2) 177.19/63.23 U14(x0, x1, mark(x2)) 177.19/63.23 U14(active(x0), x1, x2) 177.19/63.23 U14(x0, active(x1), x2) 177.19/63.23 U14(x0, x1, active(x2)) 177.19/63.23 U15(mark(x0), x1) 177.19/63.23 U15(x0, mark(x1)) 177.19/63.23 U15(active(x0), x1) 177.19/63.23 U15(x0, active(x1)) 177.19/63.23 isNat(mark(x0)) 177.19/63.23 isNat(active(x0)) 177.19/63.23 U16(mark(x0)) 177.19/63.23 U16(active(x0)) 177.19/63.23 U21(mark(x0), x1) 177.19/63.23 U21(x0, mark(x1)) 177.19/63.23 U21(active(x0), x1) 177.19/63.23 U21(x0, active(x1)) 177.19/63.23 U22(mark(x0), x1) 177.19/63.23 U22(x0, mark(x1)) 177.19/63.23 U22(active(x0), x1) 177.19/63.23 U22(x0, active(x1)) 177.19/63.23 U23(mark(x0)) 177.19/63.23 U23(active(x0)) 177.19/63.23 U31(mark(x0), x1) 177.19/63.23 U31(x0, mark(x1)) 177.19/63.23 U31(active(x0), x1) 177.19/63.23 U31(x0, active(x1)) 177.19/63.23 U32(mark(x0)) 177.19/63.23 U32(active(x0)) 177.19/63.23 U41(mark(x0)) 177.19/63.23 U41(active(x0)) 177.19/63.23 U51(mark(x0), x1) 177.19/63.23 U51(x0, mark(x1)) 177.19/63.23 U51(active(x0), x1) 177.19/63.23 U51(x0, active(x1)) 177.19/63.23 U52(mark(x0), x1) 177.19/63.23 U52(x0, mark(x1)) 177.19/63.23 U52(active(x0), x1) 177.19/63.23 U52(x0, active(x1)) 177.19/63.23 U61(mark(x0), x1, x2) 177.19/63.23 U61(x0, mark(x1), x2) 177.19/63.23 U61(x0, x1, mark(x2)) 177.19/63.23 U61(active(x0), x1, x2) 177.19/63.23 U61(x0, active(x1), x2) 177.19/63.23 U61(x0, x1, active(x2)) 177.19/63.23 U62(mark(x0), x1, x2) 177.19/63.23 U62(x0, mark(x1), x2) 177.19/63.23 U62(x0, x1, mark(x2)) 177.19/63.23 U62(active(x0), x1, x2) 177.19/63.23 U62(x0, active(x1), x2) 177.19/63.23 U62(x0, x1, active(x2)) 177.19/63.23 U63(mark(x0), x1, x2) 177.19/63.23 U63(x0, mark(x1), x2) 177.19/63.23 U63(x0, x1, mark(x2)) 177.19/63.23 U63(active(x0), x1, x2) 177.19/63.23 U63(x0, active(x1), x2) 177.19/63.23 U63(x0, x1, active(x2)) 177.19/63.23 U64(mark(x0), x1, x2) 177.19/63.23 U64(x0, mark(x1), x2) 177.19/63.23 U64(x0, x1, mark(x2)) 177.19/63.23 U64(active(x0), x1, x2) 177.19/63.23 U64(x0, active(x1), x2) 177.19/63.23 U64(x0, x1, active(x2)) 177.19/63.23 s(mark(x0)) 177.19/63.23 s(active(x0)) 177.19/63.23 plus(mark(x0), x1) 177.19/63.23 plus(x0, mark(x1)) 177.19/63.23 plus(active(x0), x1) 177.19/63.23 plus(x0, active(x1)) 177.19/63.23 177.19/63.23 177.19/63.23 ---------------------------------------- 177.19/63.23 177.19/63.23 (121) 177.19/63.23 Obligation: 177.19/63.23 Q DP problem: 177.19/63.23 The TRS P consists of the following rules: 177.19/63.23 177.19/63.23 U15^1(X1, mark(X2)) -> U15^1(X1, X2) 177.19/63.23 U15^1(mark(X1), X2) -> U15^1(X1, X2) 177.19/63.23 U15^1(active(X1), X2) -> U15^1(X1, X2) 177.19/63.23 U15^1(X1, active(X2)) -> U15^1(X1, X2) 177.19/63.23 177.19/63.23 R is empty. 177.19/63.23 The set Q consists of the following terms: 177.19/63.23 177.19/63.23 active(U11(tt, x0, x1)) 177.19/63.23 active(U12(tt, x0, x1)) 177.19/63.23 active(U13(tt, x0, x1)) 177.19/63.23 active(U14(tt, x0, x1)) 177.19/63.23 active(U15(tt, x0)) 177.19/63.23 active(U16(tt)) 177.19/63.23 active(U21(tt, x0)) 177.19/63.23 active(U22(tt, x0)) 177.19/63.23 active(U23(tt)) 177.19/63.23 active(U31(tt, x0)) 177.19/63.23 active(U32(tt)) 177.19/63.23 active(U41(tt)) 177.19/63.23 active(U51(tt, x0)) 177.19/63.23 active(U52(tt, x0)) 177.19/63.23 active(U61(tt, x0, x1)) 177.19/63.23 active(U62(tt, x0, x1)) 177.19/63.23 active(U63(tt, x0, x1)) 177.19/63.23 active(U64(tt, x0, x1)) 177.19/63.23 active(isNat(0)) 177.19/63.23 active(isNat(plus(x0, x1))) 177.19/63.23 active(isNat(s(x0))) 177.19/63.23 active(isNatKind(0)) 177.19/63.23 active(isNatKind(plus(x0, x1))) 177.19/63.23 active(isNatKind(s(x0))) 177.19/63.23 active(plus(x0, 0)) 177.19/63.23 active(plus(x0, s(x1))) 177.19/63.23 mark(U11(x0, x1, x2)) 177.19/63.23 mark(tt) 177.19/63.23 mark(U12(x0, x1, x2)) 177.19/63.23 mark(isNatKind(x0)) 177.19/63.23 mark(U13(x0, x1, x2)) 177.19/63.23 mark(U14(x0, x1, x2)) 177.19/63.23 mark(U15(x0, x1)) 177.19/63.23 mark(isNat(x0)) 177.19/63.23 mark(U16(x0)) 177.19/63.23 mark(U21(x0, x1)) 177.19/63.23 mark(U22(x0, x1)) 177.19/63.23 mark(U23(x0)) 177.19/63.23 mark(U31(x0, x1)) 177.19/63.23 mark(U32(x0)) 177.19/63.23 mark(U41(x0)) 177.19/63.23 mark(U51(x0, x1)) 177.19/63.23 mark(U52(x0, x1)) 177.19/63.23 mark(U61(x0, x1, x2)) 177.19/63.23 mark(U62(x0, x1, x2)) 177.19/63.23 mark(U63(x0, x1, x2)) 177.19/63.23 mark(U64(x0, x1, x2)) 177.19/63.23 mark(s(x0)) 177.19/63.23 mark(plus(x0, x1)) 177.19/63.23 mark(0) 177.19/63.23 177.19/63.23 We have to consider all minimal (P,Q,R)-chains. 177.19/63.23 ---------------------------------------- 177.19/63.23 177.19/63.23 (122) QDPSizeChangeProof (EQUIVALENT) 177.19/63.23 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. 177.19/63.23 177.19/63.23 From the DPs we obtained the following set of size-change graphs: 177.19/63.23 *U15^1(X1, mark(X2)) -> U15^1(X1, X2) 177.19/63.23 The graph contains the following edges 1 >= 1, 2 > 2 177.19/63.23 177.19/63.23 177.19/63.23 *U15^1(mark(X1), X2) -> U15^1(X1, X2) 177.19/63.23 The graph contains the following edges 1 > 1, 2 >= 2 177.19/63.23 177.19/63.23 177.19/63.23 *U15^1(active(X1), X2) -> U15^1(X1, X2) 177.19/63.23 The graph contains the following edges 1 > 1, 2 >= 2 177.19/63.23 177.19/63.23 177.19/63.23 *U15^1(X1, active(X2)) -> U15^1(X1, X2) 177.19/63.23 The graph contains the following edges 1 >= 1, 2 > 2 177.19/63.23 177.19/63.23 177.19/63.23 ---------------------------------------- 177.19/63.23 177.19/63.23 (123) 177.19/63.23 YES 177.19/63.23 177.19/63.23 ---------------------------------------- 177.19/63.23 177.19/63.23 (124) 177.19/63.23 Obligation: 177.19/63.23 Q DP problem: 177.19/63.23 The TRS P consists of the following rules: 177.19/63.23 177.19/63.23 U14^1(X1, mark(X2), X3) -> U14^1(X1, X2, X3) 177.19/63.23 U14^1(mark(X1), X2, X3) -> U14^1(X1, X2, X3) 177.19/63.23 U14^1(X1, X2, mark(X3)) -> U14^1(X1, X2, X3) 177.19/63.23 U14^1(active(X1), X2, X3) -> U14^1(X1, X2, X3) 177.19/63.23 U14^1(X1, active(X2), X3) -> U14^1(X1, X2, X3) 177.19/63.23 U14^1(X1, X2, active(X3)) -> U14^1(X1, X2, X3) 177.19/63.23 177.19/63.23 The TRS R consists of the following rules: 177.19/63.23 177.19/63.23 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.19/63.23 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.19/63.23 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.19/63.23 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.19/63.23 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.19/63.23 active(U16(tt)) -> mark(tt) 177.19/63.23 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.19/63.23 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.19/63.23 active(U23(tt)) -> mark(tt) 177.19/63.23 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.19/63.23 active(U32(tt)) -> mark(tt) 177.19/63.23 active(U41(tt)) -> mark(tt) 177.19/63.23 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.19/63.23 active(U52(tt, N)) -> mark(N) 177.19/63.23 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.19/63.23 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.19/63.23 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.19/63.23 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.19/63.23 active(isNat(0)) -> mark(tt) 177.19/63.23 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.19/63.23 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.19/63.23 active(isNatKind(0)) -> mark(tt) 177.19/63.23 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.19/63.23 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.19/63.23 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.19/63.23 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.19/63.23 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.19/63.23 mark(tt) -> active(tt) 177.19/63.23 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.19/63.23 mark(isNatKind(X)) -> active(isNatKind(X)) 177.19/63.23 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.19/63.23 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.19/63.23 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.19/63.23 mark(isNat(X)) -> active(isNat(X)) 177.19/63.23 mark(U16(X)) -> active(U16(mark(X))) 177.19/63.23 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.19/63.23 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.19/63.23 mark(U23(X)) -> active(U23(mark(X))) 177.19/63.23 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.19/63.23 mark(U32(X)) -> active(U32(mark(X))) 177.19/63.23 mark(U41(X)) -> active(U41(mark(X))) 177.19/63.23 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.19/63.23 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.19/63.23 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.19/63.23 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.19/63.23 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.19/63.23 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.19/63.23 mark(s(X)) -> active(s(mark(X))) 177.19/63.23 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.19/63.23 mark(0) -> active(0) 177.19/63.23 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.23 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.23 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.23 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.23 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.23 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.23 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.23 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.23 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.23 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.23 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.23 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.23 isNatKind(mark(X)) -> isNatKind(X) 177.19/63.23 isNatKind(active(X)) -> isNatKind(X) 177.19/63.23 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.23 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.23 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.23 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.23 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.23 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.23 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.23 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.23 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.23 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.23 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.23 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.23 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.23 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.23 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.23 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.23 isNat(mark(X)) -> isNat(X) 177.19/63.23 isNat(active(X)) -> isNat(X) 177.19/63.23 U16(mark(X)) -> U16(X) 177.19/63.23 U16(active(X)) -> U16(X) 177.19/63.23 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.23 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.23 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.23 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.23 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.23 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.23 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.23 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.23 U23(mark(X)) -> U23(X) 177.19/63.23 U23(active(X)) -> U23(X) 177.19/63.23 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.23 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.23 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.23 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.23 U32(mark(X)) -> U32(X) 177.19/63.23 U32(active(X)) -> U32(X) 177.19/63.23 U41(mark(X)) -> U41(X) 177.19/63.23 U41(active(X)) -> U41(X) 177.19/63.23 U51(mark(X1), X2) -> U51(X1, X2) 177.19/63.23 U51(X1, mark(X2)) -> U51(X1, X2) 177.19/63.23 U51(active(X1), X2) -> U51(X1, X2) 177.19/63.23 U51(X1, active(X2)) -> U51(X1, X2) 177.19/63.23 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.23 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.23 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.23 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.23 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.23 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.23 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.23 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.23 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.23 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.23 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.23 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.23 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.23 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.23 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.23 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.23 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.23 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.19/63.23 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.19/63.23 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.23 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.19/63.23 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.19/63.23 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.23 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.19/63.23 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.19/63.23 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.23 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.19/63.23 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.19/63.23 s(mark(X)) -> s(X) 177.19/63.23 s(active(X)) -> s(X) 177.19/63.23 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.23 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.23 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.23 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.23 177.19/63.23 The set Q consists of the following terms: 177.19/63.23 177.19/63.23 active(U11(tt, x0, x1)) 177.19/63.23 active(U12(tt, x0, x1)) 177.19/63.23 active(U13(tt, x0, x1)) 177.19/63.23 active(U14(tt, x0, x1)) 177.19/63.23 active(U15(tt, x0)) 177.19/63.23 active(U16(tt)) 177.19/63.23 active(U21(tt, x0)) 177.19/63.23 active(U22(tt, x0)) 177.19/63.23 active(U23(tt)) 177.19/63.23 active(U31(tt, x0)) 177.19/63.23 active(U32(tt)) 177.19/63.23 active(U41(tt)) 177.19/63.23 active(U51(tt, x0)) 177.19/63.23 active(U52(tt, x0)) 177.19/63.23 active(U61(tt, x0, x1)) 177.19/63.23 active(U62(tt, x0, x1)) 177.19/63.23 active(U63(tt, x0, x1)) 177.19/63.23 active(U64(tt, x0, x1)) 177.19/63.23 active(isNat(0)) 177.19/63.23 active(isNat(plus(x0, x1))) 177.19/63.23 active(isNat(s(x0))) 177.19/63.23 active(isNatKind(0)) 177.19/63.23 active(isNatKind(plus(x0, x1))) 177.19/63.23 active(isNatKind(s(x0))) 177.19/63.23 active(plus(x0, 0)) 177.19/63.23 active(plus(x0, s(x1))) 177.19/63.23 mark(U11(x0, x1, x2)) 177.19/63.23 mark(tt) 177.19/63.23 mark(U12(x0, x1, x2)) 177.19/63.23 mark(isNatKind(x0)) 177.19/63.23 mark(U13(x0, x1, x2)) 177.19/63.23 mark(U14(x0, x1, x2)) 177.19/63.23 mark(U15(x0, x1)) 177.19/63.23 mark(isNat(x0)) 177.19/63.23 mark(U16(x0)) 177.19/63.23 mark(U21(x0, x1)) 177.19/63.23 mark(U22(x0, x1)) 177.19/63.23 mark(U23(x0)) 177.19/63.23 mark(U31(x0, x1)) 177.19/63.23 mark(U32(x0)) 177.19/63.23 mark(U41(x0)) 177.19/63.23 mark(U51(x0, x1)) 177.19/63.23 mark(U52(x0, x1)) 177.19/63.23 mark(U61(x0, x1, x2)) 177.19/63.23 mark(U62(x0, x1, x2)) 177.19/63.23 mark(U63(x0, x1, x2)) 177.19/63.23 mark(U64(x0, x1, x2)) 177.19/63.23 mark(s(x0)) 177.19/63.23 mark(plus(x0, x1)) 177.19/63.23 mark(0) 177.19/63.23 U11(mark(x0), x1, x2) 177.19/63.23 U11(x0, mark(x1), x2) 177.19/63.23 U11(x0, x1, mark(x2)) 177.19/63.23 U11(active(x0), x1, x2) 177.19/63.23 U11(x0, active(x1), x2) 177.19/63.23 U11(x0, x1, active(x2)) 177.19/63.23 U12(mark(x0), x1, x2) 177.19/63.23 U12(x0, mark(x1), x2) 177.19/63.23 U12(x0, x1, mark(x2)) 177.19/63.23 U12(active(x0), x1, x2) 177.19/63.23 U12(x0, active(x1), x2) 177.19/63.23 U12(x0, x1, active(x2)) 177.19/63.23 isNatKind(mark(x0)) 177.19/63.23 isNatKind(active(x0)) 177.19/63.23 U13(mark(x0), x1, x2) 177.19/63.23 U13(x0, mark(x1), x2) 177.19/63.23 U13(x0, x1, mark(x2)) 177.19/63.23 U13(active(x0), x1, x2) 177.19/63.23 U13(x0, active(x1), x2) 177.19/63.23 U13(x0, x1, active(x2)) 177.19/63.23 U14(mark(x0), x1, x2) 177.19/63.23 U14(x0, mark(x1), x2) 177.19/63.23 U14(x0, x1, mark(x2)) 177.19/63.23 U14(active(x0), x1, x2) 177.19/63.23 U14(x0, active(x1), x2) 177.19/63.23 U14(x0, x1, active(x2)) 177.19/63.23 U15(mark(x0), x1) 177.19/63.23 U15(x0, mark(x1)) 177.19/63.23 U15(active(x0), x1) 177.19/63.23 U15(x0, active(x1)) 177.19/63.23 isNat(mark(x0)) 177.19/63.23 isNat(active(x0)) 177.19/63.23 U16(mark(x0)) 177.19/63.23 U16(active(x0)) 177.19/63.23 U21(mark(x0), x1) 177.19/63.23 U21(x0, mark(x1)) 177.19/63.23 U21(active(x0), x1) 177.19/63.23 U21(x0, active(x1)) 177.19/63.23 U22(mark(x0), x1) 177.19/63.23 U22(x0, mark(x1)) 177.19/63.23 U22(active(x0), x1) 177.19/63.23 U22(x0, active(x1)) 177.19/63.23 U23(mark(x0)) 177.19/63.23 U23(active(x0)) 177.19/63.23 U31(mark(x0), x1) 177.19/63.23 U31(x0, mark(x1)) 177.19/63.23 U31(active(x0), x1) 177.19/63.23 U31(x0, active(x1)) 177.19/63.23 U32(mark(x0)) 177.19/63.23 U32(active(x0)) 177.19/63.23 U41(mark(x0)) 177.19/63.23 U41(active(x0)) 177.19/63.23 U51(mark(x0), x1) 177.19/63.23 U51(x0, mark(x1)) 177.19/63.23 U51(active(x0), x1) 177.19/63.23 U51(x0, active(x1)) 177.19/63.23 U52(mark(x0), x1) 177.19/63.23 U52(x0, mark(x1)) 177.19/63.23 U52(active(x0), x1) 177.19/63.23 U52(x0, active(x1)) 177.19/63.23 U61(mark(x0), x1, x2) 177.19/63.23 U61(x0, mark(x1), x2) 177.19/63.23 U61(x0, x1, mark(x2)) 177.19/63.23 U61(active(x0), x1, x2) 177.19/63.23 U61(x0, active(x1), x2) 177.19/63.23 U61(x0, x1, active(x2)) 177.19/63.23 U62(mark(x0), x1, x2) 177.19/63.23 U62(x0, mark(x1), x2) 177.19/63.23 U62(x0, x1, mark(x2)) 177.19/63.23 U62(active(x0), x1, x2) 177.19/63.23 U62(x0, active(x1), x2) 177.19/63.23 U62(x0, x1, active(x2)) 177.19/63.23 U63(mark(x0), x1, x2) 177.19/63.23 U63(x0, mark(x1), x2) 177.19/63.23 U63(x0, x1, mark(x2)) 177.19/63.23 U63(active(x0), x1, x2) 177.19/63.23 U63(x0, active(x1), x2) 177.19/63.23 U63(x0, x1, active(x2)) 177.19/63.23 U64(mark(x0), x1, x2) 177.19/63.23 U64(x0, mark(x1), x2) 177.19/63.23 U64(x0, x1, mark(x2)) 177.19/63.23 U64(active(x0), x1, x2) 177.19/63.23 U64(x0, active(x1), x2) 177.19/63.23 U64(x0, x1, active(x2)) 177.19/63.23 s(mark(x0)) 177.19/63.23 s(active(x0)) 177.19/63.23 plus(mark(x0), x1) 177.19/63.23 plus(x0, mark(x1)) 177.19/63.23 plus(active(x0), x1) 177.19/63.23 plus(x0, active(x1)) 177.19/63.23 177.19/63.23 We have to consider all minimal (P,Q,R)-chains. 177.19/63.23 ---------------------------------------- 177.19/63.23 177.19/63.23 (125) UsableRulesProof (EQUIVALENT) 177.19/63.23 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. 177.19/63.23 ---------------------------------------- 177.19/63.23 177.19/63.23 (126) 177.19/63.23 Obligation: 177.19/63.23 Q DP problem: 177.19/63.23 The TRS P consists of the following rules: 177.19/63.23 177.19/63.23 U14^1(X1, mark(X2), X3) -> U14^1(X1, X2, X3) 177.19/63.23 U14^1(mark(X1), X2, X3) -> U14^1(X1, X2, X3) 177.19/63.23 U14^1(X1, X2, mark(X3)) -> U14^1(X1, X2, X3) 177.19/63.23 U14^1(active(X1), X2, X3) -> U14^1(X1, X2, X3) 177.19/63.23 U14^1(X1, active(X2), X3) -> U14^1(X1, X2, X3) 177.19/63.23 U14^1(X1, X2, active(X3)) -> U14^1(X1, X2, X3) 177.19/63.23 177.19/63.23 R is empty. 177.19/63.23 The set Q consists of the following terms: 177.19/63.23 177.19/63.23 active(U11(tt, x0, x1)) 177.19/63.23 active(U12(tt, x0, x1)) 177.19/63.23 active(U13(tt, x0, x1)) 177.19/63.23 active(U14(tt, x0, x1)) 177.19/63.23 active(U15(tt, x0)) 177.19/63.23 active(U16(tt)) 177.19/63.23 active(U21(tt, x0)) 177.19/63.23 active(U22(tt, x0)) 177.19/63.23 active(U23(tt)) 177.19/63.23 active(U31(tt, x0)) 177.19/63.23 active(U32(tt)) 177.19/63.23 active(U41(tt)) 177.19/63.23 active(U51(tt, x0)) 177.19/63.23 active(U52(tt, x0)) 177.19/63.23 active(U61(tt, x0, x1)) 177.19/63.23 active(U62(tt, x0, x1)) 177.19/63.23 active(U63(tt, x0, x1)) 177.19/63.23 active(U64(tt, x0, x1)) 177.19/63.23 active(isNat(0)) 177.19/63.23 active(isNat(plus(x0, x1))) 177.19/63.23 active(isNat(s(x0))) 177.19/63.23 active(isNatKind(0)) 177.19/63.23 active(isNatKind(plus(x0, x1))) 177.19/63.23 active(isNatKind(s(x0))) 177.19/63.23 active(plus(x0, 0)) 177.19/63.23 active(plus(x0, s(x1))) 177.19/63.23 mark(U11(x0, x1, x2)) 177.19/63.23 mark(tt) 177.19/63.23 mark(U12(x0, x1, x2)) 177.19/63.23 mark(isNatKind(x0)) 177.19/63.23 mark(U13(x0, x1, x2)) 177.19/63.23 mark(U14(x0, x1, x2)) 177.19/63.23 mark(U15(x0, x1)) 177.19/63.23 mark(isNat(x0)) 177.19/63.23 mark(U16(x0)) 177.19/63.23 mark(U21(x0, x1)) 177.19/63.23 mark(U22(x0, x1)) 177.19/63.23 mark(U23(x0)) 177.19/63.23 mark(U31(x0, x1)) 177.19/63.23 mark(U32(x0)) 177.19/63.23 mark(U41(x0)) 177.19/63.23 mark(U51(x0, x1)) 177.19/63.23 mark(U52(x0, x1)) 177.19/63.23 mark(U61(x0, x1, x2)) 177.19/63.23 mark(U62(x0, x1, x2)) 177.19/63.23 mark(U63(x0, x1, x2)) 177.19/63.23 mark(U64(x0, x1, x2)) 177.19/63.23 mark(s(x0)) 177.19/63.23 mark(plus(x0, x1)) 177.19/63.23 mark(0) 177.19/63.23 U11(mark(x0), x1, x2) 177.19/63.23 U11(x0, mark(x1), x2) 177.19/63.23 U11(x0, x1, mark(x2)) 177.19/63.23 U11(active(x0), x1, x2) 177.19/63.23 U11(x0, active(x1), x2) 177.19/63.23 U11(x0, x1, active(x2)) 177.19/63.23 U12(mark(x0), x1, x2) 177.19/63.23 U12(x0, mark(x1), x2) 177.19/63.23 U12(x0, x1, mark(x2)) 177.19/63.23 U12(active(x0), x1, x2) 177.19/63.23 U12(x0, active(x1), x2) 177.19/63.23 U12(x0, x1, active(x2)) 177.19/63.23 isNatKind(mark(x0)) 177.19/63.23 isNatKind(active(x0)) 177.19/63.23 U13(mark(x0), x1, x2) 177.19/63.23 U13(x0, mark(x1), x2) 177.19/63.23 U13(x0, x1, mark(x2)) 177.19/63.23 U13(active(x0), x1, x2) 177.19/63.23 U13(x0, active(x1), x2) 177.19/63.23 U13(x0, x1, active(x2)) 177.19/63.23 U14(mark(x0), x1, x2) 177.19/63.23 U14(x0, mark(x1), x2) 177.19/63.23 U14(x0, x1, mark(x2)) 177.19/63.23 U14(active(x0), x1, x2) 177.19/63.23 U14(x0, active(x1), x2) 177.19/63.23 U14(x0, x1, active(x2)) 177.19/63.23 U15(mark(x0), x1) 177.19/63.23 U15(x0, mark(x1)) 177.19/63.23 U15(active(x0), x1) 177.19/63.23 U15(x0, active(x1)) 177.19/63.23 isNat(mark(x0)) 177.19/63.23 isNat(active(x0)) 177.19/63.23 U16(mark(x0)) 177.19/63.23 U16(active(x0)) 177.19/63.23 U21(mark(x0), x1) 177.19/63.23 U21(x0, mark(x1)) 177.19/63.23 U21(active(x0), x1) 177.19/63.23 U21(x0, active(x1)) 177.19/63.23 U22(mark(x0), x1) 177.19/63.23 U22(x0, mark(x1)) 177.19/63.23 U22(active(x0), x1) 177.19/63.23 U22(x0, active(x1)) 177.19/63.23 U23(mark(x0)) 177.19/63.23 U23(active(x0)) 177.19/63.23 U31(mark(x0), x1) 177.19/63.23 U31(x0, mark(x1)) 177.19/63.23 U31(active(x0), x1) 177.19/63.23 U31(x0, active(x1)) 177.19/63.23 U32(mark(x0)) 177.19/63.23 U32(active(x0)) 177.19/63.23 U41(mark(x0)) 177.19/63.23 U41(active(x0)) 177.19/63.23 U51(mark(x0), x1) 177.19/63.23 U51(x0, mark(x1)) 177.19/63.23 U51(active(x0), x1) 177.19/63.23 U51(x0, active(x1)) 177.19/63.23 U52(mark(x0), x1) 177.19/63.23 U52(x0, mark(x1)) 177.19/63.23 U52(active(x0), x1) 177.19/63.23 U52(x0, active(x1)) 177.19/63.23 U61(mark(x0), x1, x2) 177.19/63.23 U61(x0, mark(x1), x2) 177.19/63.23 U61(x0, x1, mark(x2)) 177.19/63.23 U61(active(x0), x1, x2) 177.19/63.23 U61(x0, active(x1), x2) 177.19/63.23 U61(x0, x1, active(x2)) 177.19/63.23 U62(mark(x0), x1, x2) 177.19/63.23 U62(x0, mark(x1), x2) 177.19/63.23 U62(x0, x1, mark(x2)) 177.19/63.23 U62(active(x0), x1, x2) 177.19/63.23 U62(x0, active(x1), x2) 177.19/63.23 U62(x0, x1, active(x2)) 177.19/63.23 U63(mark(x0), x1, x2) 177.19/63.23 U63(x0, mark(x1), x2) 177.19/63.23 U63(x0, x1, mark(x2)) 177.19/63.23 U63(active(x0), x1, x2) 177.19/63.23 U63(x0, active(x1), x2) 177.19/63.23 U63(x0, x1, active(x2)) 177.19/63.23 U64(mark(x0), x1, x2) 177.19/63.23 U64(x0, mark(x1), x2) 177.19/63.23 U64(x0, x1, mark(x2)) 177.19/63.23 U64(active(x0), x1, x2) 177.19/63.23 U64(x0, active(x1), x2) 177.19/63.23 U64(x0, x1, active(x2)) 177.19/63.23 s(mark(x0)) 177.19/63.23 s(active(x0)) 177.19/63.23 plus(mark(x0), x1) 177.19/63.23 plus(x0, mark(x1)) 177.19/63.23 plus(active(x0), x1) 177.19/63.23 plus(x0, active(x1)) 177.19/63.23 177.19/63.23 We have to consider all minimal (P,Q,R)-chains. 177.19/63.23 ---------------------------------------- 177.19/63.23 177.19/63.23 (127) QReductionProof (EQUIVALENT) 177.19/63.23 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 177.19/63.23 177.19/63.23 U11(mark(x0), x1, x2) 177.19/63.23 U11(x0, mark(x1), x2) 177.19/63.23 U11(x0, x1, mark(x2)) 177.19/63.23 U11(active(x0), x1, x2) 177.19/63.23 U11(x0, active(x1), x2) 177.19/63.23 U11(x0, x1, active(x2)) 177.19/63.23 U12(mark(x0), x1, x2) 177.19/63.23 U12(x0, mark(x1), x2) 177.19/63.23 U12(x0, x1, mark(x2)) 177.19/63.23 U12(active(x0), x1, x2) 177.19/63.23 U12(x0, active(x1), x2) 177.19/63.23 U12(x0, x1, active(x2)) 177.19/63.23 isNatKind(mark(x0)) 177.19/63.23 isNatKind(active(x0)) 177.19/63.23 U13(mark(x0), x1, x2) 177.19/63.23 U13(x0, mark(x1), x2) 177.19/63.23 U13(x0, x1, mark(x2)) 177.19/63.23 U13(active(x0), x1, x2) 177.19/63.23 U13(x0, active(x1), x2) 177.19/63.23 U13(x0, x1, active(x2)) 177.19/63.23 U14(mark(x0), x1, x2) 177.19/63.23 U14(x0, mark(x1), x2) 177.19/63.23 U14(x0, x1, mark(x2)) 177.19/63.23 U14(active(x0), x1, x2) 177.19/63.23 U14(x0, active(x1), x2) 177.19/63.23 U14(x0, x1, active(x2)) 177.19/63.23 U15(mark(x0), x1) 177.19/63.23 U15(x0, mark(x1)) 177.19/63.23 U15(active(x0), x1) 177.19/63.23 U15(x0, active(x1)) 177.19/63.23 isNat(mark(x0)) 177.19/63.23 isNat(active(x0)) 177.19/63.23 U16(mark(x0)) 177.19/63.23 U16(active(x0)) 177.19/63.23 U21(mark(x0), x1) 177.19/63.23 U21(x0, mark(x1)) 177.19/63.23 U21(active(x0), x1) 177.19/63.23 U21(x0, active(x1)) 177.19/63.23 U22(mark(x0), x1) 177.19/63.23 U22(x0, mark(x1)) 177.19/63.23 U22(active(x0), x1) 177.19/63.23 U22(x0, active(x1)) 177.19/63.23 U23(mark(x0)) 177.19/63.23 U23(active(x0)) 177.19/63.23 U31(mark(x0), x1) 177.19/63.23 U31(x0, mark(x1)) 177.19/63.23 U31(active(x0), x1) 177.19/63.23 U31(x0, active(x1)) 177.19/63.23 U32(mark(x0)) 177.19/63.23 U32(active(x0)) 177.19/63.23 U41(mark(x0)) 177.19/63.23 U41(active(x0)) 177.19/63.23 U51(mark(x0), x1) 177.19/63.23 U51(x0, mark(x1)) 177.19/63.23 U51(active(x0), x1) 177.19/63.23 U51(x0, active(x1)) 177.19/63.23 U52(mark(x0), x1) 177.19/63.23 U52(x0, mark(x1)) 177.19/63.23 U52(active(x0), x1) 177.19/63.23 U52(x0, active(x1)) 177.19/63.23 U61(mark(x0), x1, x2) 177.19/63.23 U61(x0, mark(x1), x2) 177.19/63.23 U61(x0, x1, mark(x2)) 177.19/63.23 U61(active(x0), x1, x2) 177.19/63.23 U61(x0, active(x1), x2) 177.19/63.23 U61(x0, x1, active(x2)) 177.19/63.23 U62(mark(x0), x1, x2) 177.19/63.23 U62(x0, mark(x1), x2) 177.19/63.23 U62(x0, x1, mark(x2)) 177.19/63.23 U62(active(x0), x1, x2) 177.19/63.23 U62(x0, active(x1), x2) 177.19/63.23 U62(x0, x1, active(x2)) 177.19/63.23 U63(mark(x0), x1, x2) 177.19/63.23 U63(x0, mark(x1), x2) 177.19/63.23 U63(x0, x1, mark(x2)) 177.19/63.23 U63(active(x0), x1, x2) 177.19/63.23 U63(x0, active(x1), x2) 177.19/63.23 U63(x0, x1, active(x2)) 177.19/63.24 U64(mark(x0), x1, x2) 177.19/63.24 U64(x0, mark(x1), x2) 177.19/63.24 U64(x0, x1, mark(x2)) 177.19/63.24 U64(active(x0), x1, x2) 177.19/63.24 U64(x0, active(x1), x2) 177.19/63.24 U64(x0, x1, active(x2)) 177.19/63.24 s(mark(x0)) 177.19/63.24 s(active(x0)) 177.19/63.24 plus(mark(x0), x1) 177.19/63.24 plus(x0, mark(x1)) 177.19/63.24 plus(active(x0), x1) 177.19/63.24 plus(x0, active(x1)) 177.19/63.24 177.19/63.24 177.19/63.24 ---------------------------------------- 177.19/63.24 177.19/63.24 (128) 177.19/63.24 Obligation: 177.19/63.24 Q DP problem: 177.19/63.24 The TRS P consists of the following rules: 177.19/63.24 177.19/63.24 U14^1(X1, mark(X2), X3) -> U14^1(X1, X2, X3) 177.19/63.24 U14^1(mark(X1), X2, X3) -> U14^1(X1, X2, X3) 177.19/63.24 U14^1(X1, X2, mark(X3)) -> U14^1(X1, X2, X3) 177.19/63.24 U14^1(active(X1), X2, X3) -> U14^1(X1, X2, X3) 177.19/63.24 U14^1(X1, active(X2), X3) -> U14^1(X1, X2, X3) 177.19/63.24 U14^1(X1, X2, active(X3)) -> U14^1(X1, X2, X3) 177.19/63.24 177.19/63.24 R is empty. 177.19/63.24 The set Q consists of the following terms: 177.19/63.24 177.19/63.24 active(U11(tt, x0, x1)) 177.19/63.24 active(U12(tt, x0, x1)) 177.19/63.24 active(U13(tt, x0, x1)) 177.19/63.24 active(U14(tt, x0, x1)) 177.19/63.24 active(U15(tt, x0)) 177.19/63.24 active(U16(tt)) 177.19/63.24 active(U21(tt, x0)) 177.19/63.24 active(U22(tt, x0)) 177.19/63.24 active(U23(tt)) 177.19/63.24 active(U31(tt, x0)) 177.19/63.24 active(U32(tt)) 177.19/63.24 active(U41(tt)) 177.19/63.24 active(U51(tt, x0)) 177.19/63.24 active(U52(tt, x0)) 177.19/63.24 active(U61(tt, x0, x1)) 177.19/63.24 active(U62(tt, x0, x1)) 177.19/63.24 active(U63(tt, x0, x1)) 177.19/63.24 active(U64(tt, x0, x1)) 177.19/63.24 active(isNat(0)) 177.19/63.24 active(isNat(plus(x0, x1))) 177.19/63.24 active(isNat(s(x0))) 177.19/63.24 active(isNatKind(0)) 177.19/63.24 active(isNatKind(plus(x0, x1))) 177.19/63.24 active(isNatKind(s(x0))) 177.19/63.24 active(plus(x0, 0)) 177.19/63.24 active(plus(x0, s(x1))) 177.19/63.24 mark(U11(x0, x1, x2)) 177.19/63.24 mark(tt) 177.19/63.24 mark(U12(x0, x1, x2)) 177.19/63.24 mark(isNatKind(x0)) 177.19/63.24 mark(U13(x0, x1, x2)) 177.19/63.24 mark(U14(x0, x1, x2)) 177.19/63.24 mark(U15(x0, x1)) 177.19/63.24 mark(isNat(x0)) 177.19/63.24 mark(U16(x0)) 177.19/63.24 mark(U21(x0, x1)) 177.19/63.24 mark(U22(x0, x1)) 177.19/63.24 mark(U23(x0)) 177.19/63.24 mark(U31(x0, x1)) 177.19/63.24 mark(U32(x0)) 177.19/63.24 mark(U41(x0)) 177.19/63.24 mark(U51(x0, x1)) 177.19/63.24 mark(U52(x0, x1)) 177.19/63.24 mark(U61(x0, x1, x2)) 177.19/63.24 mark(U62(x0, x1, x2)) 177.19/63.24 mark(U63(x0, x1, x2)) 177.19/63.24 mark(U64(x0, x1, x2)) 177.19/63.24 mark(s(x0)) 177.19/63.24 mark(plus(x0, x1)) 177.19/63.24 mark(0) 177.19/63.24 177.19/63.24 We have to consider all minimal (P,Q,R)-chains. 177.19/63.24 ---------------------------------------- 177.19/63.24 177.19/63.24 (129) QDPSizeChangeProof (EQUIVALENT) 177.19/63.24 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. 177.19/63.24 177.19/63.24 From the DPs we obtained the following set of size-change graphs: 177.19/63.24 *U14^1(X1, mark(X2), X3) -> U14^1(X1, X2, X3) 177.19/63.24 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 177.19/63.24 177.19/63.24 177.19/63.24 *U14^1(mark(X1), X2, X3) -> U14^1(X1, X2, X3) 177.19/63.24 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 177.19/63.24 177.19/63.24 177.19/63.24 *U14^1(X1, X2, mark(X3)) -> U14^1(X1, X2, X3) 177.19/63.24 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 177.19/63.24 177.19/63.24 177.19/63.24 *U14^1(active(X1), X2, X3) -> U14^1(X1, X2, X3) 177.19/63.24 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 177.19/63.24 177.19/63.24 177.19/63.24 *U14^1(X1, active(X2), X3) -> U14^1(X1, X2, X3) 177.19/63.24 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 177.19/63.24 177.19/63.24 177.19/63.24 *U14^1(X1, X2, active(X3)) -> U14^1(X1, X2, X3) 177.19/63.24 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 177.19/63.24 177.19/63.24 177.19/63.24 ---------------------------------------- 177.19/63.24 177.19/63.24 (130) 177.19/63.24 YES 177.19/63.24 177.19/63.24 ---------------------------------------- 177.19/63.24 177.19/63.24 (131) 177.19/63.24 Obligation: 177.19/63.24 Q DP problem: 177.19/63.24 The TRS P consists of the following rules: 177.19/63.24 177.19/63.24 U13^1(X1, mark(X2), X3) -> U13^1(X1, X2, X3) 177.19/63.24 U13^1(mark(X1), X2, X3) -> U13^1(X1, X2, X3) 177.19/63.24 U13^1(X1, X2, mark(X3)) -> U13^1(X1, X2, X3) 177.19/63.24 U13^1(active(X1), X2, X3) -> U13^1(X1, X2, X3) 177.19/63.24 U13^1(X1, active(X2), X3) -> U13^1(X1, X2, X3) 177.19/63.24 U13^1(X1, X2, active(X3)) -> U13^1(X1, X2, X3) 177.19/63.24 177.19/63.24 The TRS R consists of the following rules: 177.19/63.24 177.19/63.24 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.19/63.24 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.19/63.24 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.19/63.24 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.19/63.24 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.19/63.24 active(U16(tt)) -> mark(tt) 177.19/63.24 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.19/63.24 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.19/63.24 active(U23(tt)) -> mark(tt) 177.19/63.24 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.19/63.24 active(U32(tt)) -> mark(tt) 177.19/63.24 active(U41(tt)) -> mark(tt) 177.19/63.24 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.19/63.24 active(U52(tt, N)) -> mark(N) 177.19/63.24 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.19/63.24 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.19/63.24 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.19/63.24 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.19/63.24 active(isNat(0)) -> mark(tt) 177.19/63.24 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.19/63.24 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.19/63.24 active(isNatKind(0)) -> mark(tt) 177.19/63.24 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.19/63.24 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.19/63.24 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.19/63.24 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.19/63.24 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.19/63.24 mark(tt) -> active(tt) 177.19/63.24 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.19/63.24 mark(isNatKind(X)) -> active(isNatKind(X)) 177.19/63.24 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.19/63.24 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.19/63.24 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.19/63.24 mark(isNat(X)) -> active(isNat(X)) 177.19/63.24 mark(U16(X)) -> active(U16(mark(X))) 177.19/63.24 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.19/63.24 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.19/63.24 mark(U23(X)) -> active(U23(mark(X))) 177.19/63.24 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.19/63.24 mark(U32(X)) -> active(U32(mark(X))) 177.19/63.24 mark(U41(X)) -> active(U41(mark(X))) 177.19/63.24 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.19/63.24 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.19/63.24 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.19/63.24 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.19/63.24 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.19/63.24 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.19/63.24 mark(s(X)) -> active(s(mark(X))) 177.19/63.24 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.19/63.24 mark(0) -> active(0) 177.19/63.24 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.24 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.24 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.24 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.24 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.24 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.24 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.24 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.24 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.24 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.24 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.24 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.24 isNatKind(mark(X)) -> isNatKind(X) 177.19/63.24 isNatKind(active(X)) -> isNatKind(X) 177.19/63.24 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.24 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.24 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.24 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.24 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.24 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.24 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.24 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.24 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.24 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.24 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.24 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.24 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.24 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.24 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.24 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.24 isNat(mark(X)) -> isNat(X) 177.19/63.24 isNat(active(X)) -> isNat(X) 177.19/63.24 U16(mark(X)) -> U16(X) 177.19/63.24 U16(active(X)) -> U16(X) 177.19/63.24 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.24 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.24 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.24 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.24 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.24 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.24 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.24 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.24 U23(mark(X)) -> U23(X) 177.19/63.24 U23(active(X)) -> U23(X) 177.19/63.24 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.24 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.24 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.24 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.24 U32(mark(X)) -> U32(X) 177.19/63.24 U32(active(X)) -> U32(X) 177.19/63.24 U41(mark(X)) -> U41(X) 177.19/63.24 U41(active(X)) -> U41(X) 177.19/63.24 U51(mark(X1), X2) -> U51(X1, X2) 177.19/63.24 U51(X1, mark(X2)) -> U51(X1, X2) 177.19/63.24 U51(active(X1), X2) -> U51(X1, X2) 177.19/63.24 U51(X1, active(X2)) -> U51(X1, X2) 177.19/63.24 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.24 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.24 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.24 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.24 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.24 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.24 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.24 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.24 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.24 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.24 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.24 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.24 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.24 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.24 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.24 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.24 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.24 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.19/63.24 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.19/63.24 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.24 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.19/63.24 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.19/63.24 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.24 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.19/63.24 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.19/63.24 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.24 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.19/63.24 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.19/63.24 s(mark(X)) -> s(X) 177.19/63.24 s(active(X)) -> s(X) 177.19/63.24 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.24 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.24 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.24 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.24 177.19/63.24 The set Q consists of the following terms: 177.19/63.24 177.19/63.24 active(U11(tt, x0, x1)) 177.19/63.24 active(U12(tt, x0, x1)) 177.19/63.24 active(U13(tt, x0, x1)) 177.19/63.24 active(U14(tt, x0, x1)) 177.19/63.24 active(U15(tt, x0)) 177.19/63.24 active(U16(tt)) 177.19/63.24 active(U21(tt, x0)) 177.19/63.24 active(U22(tt, x0)) 177.19/63.24 active(U23(tt)) 177.19/63.24 active(U31(tt, x0)) 177.19/63.24 active(U32(tt)) 177.19/63.24 active(U41(tt)) 177.19/63.24 active(U51(tt, x0)) 177.19/63.24 active(U52(tt, x0)) 177.19/63.24 active(U61(tt, x0, x1)) 177.19/63.24 active(U62(tt, x0, x1)) 177.19/63.24 active(U63(tt, x0, x1)) 177.19/63.24 active(U64(tt, x0, x1)) 177.19/63.24 active(isNat(0)) 177.19/63.24 active(isNat(plus(x0, x1))) 177.19/63.24 active(isNat(s(x0))) 177.19/63.24 active(isNatKind(0)) 177.19/63.24 active(isNatKind(plus(x0, x1))) 177.19/63.24 active(isNatKind(s(x0))) 177.19/63.24 active(plus(x0, 0)) 177.19/63.24 active(plus(x0, s(x1))) 177.19/63.24 mark(U11(x0, x1, x2)) 177.19/63.24 mark(tt) 177.19/63.24 mark(U12(x0, x1, x2)) 177.19/63.24 mark(isNatKind(x0)) 177.19/63.24 mark(U13(x0, x1, x2)) 177.19/63.24 mark(U14(x0, x1, x2)) 177.19/63.24 mark(U15(x0, x1)) 177.19/63.24 mark(isNat(x0)) 177.19/63.24 mark(U16(x0)) 177.19/63.24 mark(U21(x0, x1)) 177.19/63.24 mark(U22(x0, x1)) 177.19/63.24 mark(U23(x0)) 177.19/63.24 mark(U31(x0, x1)) 177.19/63.24 mark(U32(x0)) 177.19/63.24 mark(U41(x0)) 177.19/63.24 mark(U51(x0, x1)) 177.19/63.24 mark(U52(x0, x1)) 177.19/63.24 mark(U61(x0, x1, x2)) 177.19/63.24 mark(U62(x0, x1, x2)) 177.19/63.24 mark(U63(x0, x1, x2)) 177.19/63.24 mark(U64(x0, x1, x2)) 177.19/63.24 mark(s(x0)) 177.19/63.24 mark(plus(x0, x1)) 177.19/63.24 mark(0) 177.19/63.24 U11(mark(x0), x1, x2) 177.19/63.24 U11(x0, mark(x1), x2) 177.19/63.24 U11(x0, x1, mark(x2)) 177.19/63.24 U11(active(x0), x1, x2) 177.19/63.24 U11(x0, active(x1), x2) 177.19/63.24 U11(x0, x1, active(x2)) 177.19/63.24 U12(mark(x0), x1, x2) 177.19/63.24 U12(x0, mark(x1), x2) 177.19/63.24 U12(x0, x1, mark(x2)) 177.19/63.24 U12(active(x0), x1, x2) 177.19/63.24 U12(x0, active(x1), x2) 177.19/63.24 U12(x0, x1, active(x2)) 177.19/63.24 isNatKind(mark(x0)) 177.19/63.24 isNatKind(active(x0)) 177.19/63.24 U13(mark(x0), x1, x2) 177.19/63.24 U13(x0, mark(x1), x2) 177.19/63.24 U13(x0, x1, mark(x2)) 177.19/63.24 U13(active(x0), x1, x2) 177.19/63.24 U13(x0, active(x1), x2) 177.19/63.24 U13(x0, x1, active(x2)) 177.19/63.24 U14(mark(x0), x1, x2) 177.19/63.24 U14(x0, mark(x1), x2) 177.19/63.24 U14(x0, x1, mark(x2)) 177.19/63.24 U14(active(x0), x1, x2) 177.19/63.24 U14(x0, active(x1), x2) 177.19/63.24 U14(x0, x1, active(x2)) 177.19/63.24 U15(mark(x0), x1) 177.19/63.24 U15(x0, mark(x1)) 177.19/63.24 U15(active(x0), x1) 177.19/63.24 U15(x0, active(x1)) 177.19/63.24 isNat(mark(x0)) 177.19/63.24 isNat(active(x0)) 177.19/63.24 U16(mark(x0)) 177.19/63.24 U16(active(x0)) 177.19/63.24 U21(mark(x0), x1) 177.19/63.24 U21(x0, mark(x1)) 177.19/63.24 U21(active(x0), x1) 177.19/63.24 U21(x0, active(x1)) 177.19/63.24 U22(mark(x0), x1) 177.19/63.24 U22(x0, mark(x1)) 177.19/63.24 U22(active(x0), x1) 177.19/63.24 U22(x0, active(x1)) 177.19/63.24 U23(mark(x0)) 177.19/63.24 U23(active(x0)) 177.19/63.24 U31(mark(x0), x1) 177.19/63.24 U31(x0, mark(x1)) 177.19/63.24 U31(active(x0), x1) 177.19/63.24 U31(x0, active(x1)) 177.19/63.24 U32(mark(x0)) 177.19/63.24 U32(active(x0)) 177.19/63.24 U41(mark(x0)) 177.19/63.24 U41(active(x0)) 177.19/63.24 U51(mark(x0), x1) 177.19/63.24 U51(x0, mark(x1)) 177.19/63.24 U51(active(x0), x1) 177.19/63.24 U51(x0, active(x1)) 177.19/63.24 U52(mark(x0), x1) 177.19/63.24 U52(x0, mark(x1)) 177.19/63.24 U52(active(x0), x1) 177.19/63.24 U52(x0, active(x1)) 177.19/63.24 U61(mark(x0), x1, x2) 177.19/63.24 U61(x0, mark(x1), x2) 177.19/63.24 U61(x0, x1, mark(x2)) 177.19/63.24 U61(active(x0), x1, x2) 177.19/63.24 U61(x0, active(x1), x2) 177.19/63.24 U61(x0, x1, active(x2)) 177.19/63.24 U62(mark(x0), x1, x2) 177.19/63.24 U62(x0, mark(x1), x2) 177.19/63.24 U62(x0, x1, mark(x2)) 177.19/63.24 U62(active(x0), x1, x2) 177.19/63.24 U62(x0, active(x1), x2) 177.19/63.24 U62(x0, x1, active(x2)) 177.19/63.24 U63(mark(x0), x1, x2) 177.19/63.24 U63(x0, mark(x1), x2) 177.19/63.24 U63(x0, x1, mark(x2)) 177.19/63.24 U63(active(x0), x1, x2) 177.19/63.24 U63(x0, active(x1), x2) 177.19/63.24 U63(x0, x1, active(x2)) 177.19/63.24 U64(mark(x0), x1, x2) 177.19/63.24 U64(x0, mark(x1), x2) 177.19/63.24 U64(x0, x1, mark(x2)) 177.19/63.24 U64(active(x0), x1, x2) 177.19/63.24 U64(x0, active(x1), x2) 177.19/63.24 U64(x0, x1, active(x2)) 177.19/63.24 s(mark(x0)) 177.19/63.24 s(active(x0)) 177.19/63.24 plus(mark(x0), x1) 177.19/63.24 plus(x0, mark(x1)) 177.19/63.24 plus(active(x0), x1) 177.19/63.24 plus(x0, active(x1)) 177.19/63.24 177.19/63.24 We have to consider all minimal (P,Q,R)-chains. 177.19/63.24 ---------------------------------------- 177.19/63.24 177.19/63.24 (132) UsableRulesProof (EQUIVALENT) 177.19/63.24 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. 177.19/63.24 ---------------------------------------- 177.19/63.24 177.19/63.24 (133) 177.19/63.24 Obligation: 177.19/63.24 Q DP problem: 177.19/63.24 The TRS P consists of the following rules: 177.19/63.24 177.19/63.24 U13^1(X1, mark(X2), X3) -> U13^1(X1, X2, X3) 177.19/63.24 U13^1(mark(X1), X2, X3) -> U13^1(X1, X2, X3) 177.19/63.24 U13^1(X1, X2, mark(X3)) -> U13^1(X1, X2, X3) 177.19/63.24 U13^1(active(X1), X2, X3) -> U13^1(X1, X2, X3) 177.19/63.24 U13^1(X1, active(X2), X3) -> U13^1(X1, X2, X3) 177.19/63.24 U13^1(X1, X2, active(X3)) -> U13^1(X1, X2, X3) 177.19/63.24 177.19/63.24 R is empty. 177.19/63.24 The set Q consists of the following terms: 177.19/63.24 177.19/63.24 active(U11(tt, x0, x1)) 177.19/63.24 active(U12(tt, x0, x1)) 177.19/63.24 active(U13(tt, x0, x1)) 177.19/63.24 active(U14(tt, x0, x1)) 177.19/63.24 active(U15(tt, x0)) 177.19/63.24 active(U16(tt)) 177.19/63.24 active(U21(tt, x0)) 177.19/63.24 active(U22(tt, x0)) 177.19/63.24 active(U23(tt)) 177.19/63.24 active(U31(tt, x0)) 177.19/63.24 active(U32(tt)) 177.19/63.24 active(U41(tt)) 177.19/63.24 active(U51(tt, x0)) 177.19/63.24 active(U52(tt, x0)) 177.19/63.24 active(U61(tt, x0, x1)) 177.19/63.24 active(U62(tt, x0, x1)) 177.19/63.24 active(U63(tt, x0, x1)) 177.19/63.24 active(U64(tt, x0, x1)) 177.19/63.24 active(isNat(0)) 177.19/63.24 active(isNat(plus(x0, x1))) 177.19/63.24 active(isNat(s(x0))) 177.19/63.24 active(isNatKind(0)) 177.19/63.24 active(isNatKind(plus(x0, x1))) 177.19/63.24 active(isNatKind(s(x0))) 177.19/63.24 active(plus(x0, 0)) 177.19/63.24 active(plus(x0, s(x1))) 177.19/63.24 mark(U11(x0, x1, x2)) 177.19/63.24 mark(tt) 177.19/63.24 mark(U12(x0, x1, x2)) 177.19/63.24 mark(isNatKind(x0)) 177.19/63.24 mark(U13(x0, x1, x2)) 177.19/63.24 mark(U14(x0, x1, x2)) 177.19/63.24 mark(U15(x0, x1)) 177.19/63.24 mark(isNat(x0)) 177.19/63.24 mark(U16(x0)) 177.19/63.24 mark(U21(x0, x1)) 177.19/63.24 mark(U22(x0, x1)) 177.19/63.24 mark(U23(x0)) 177.19/63.24 mark(U31(x0, x1)) 177.19/63.24 mark(U32(x0)) 177.19/63.24 mark(U41(x0)) 177.19/63.24 mark(U51(x0, x1)) 177.19/63.24 mark(U52(x0, x1)) 177.19/63.24 mark(U61(x0, x1, x2)) 177.19/63.24 mark(U62(x0, x1, x2)) 177.19/63.24 mark(U63(x0, x1, x2)) 177.19/63.24 mark(U64(x0, x1, x2)) 177.19/63.24 mark(s(x0)) 177.19/63.24 mark(plus(x0, x1)) 177.19/63.24 mark(0) 177.19/63.24 U11(mark(x0), x1, x2) 177.19/63.24 U11(x0, mark(x1), x2) 177.19/63.24 U11(x0, x1, mark(x2)) 177.19/63.24 U11(active(x0), x1, x2) 177.19/63.24 U11(x0, active(x1), x2) 177.19/63.24 U11(x0, x1, active(x2)) 177.19/63.24 U12(mark(x0), x1, x2) 177.19/63.24 U12(x0, mark(x1), x2) 177.19/63.24 U12(x0, x1, mark(x2)) 177.19/63.24 U12(active(x0), x1, x2) 177.19/63.24 U12(x0, active(x1), x2) 177.19/63.24 U12(x0, x1, active(x2)) 177.19/63.24 isNatKind(mark(x0)) 177.19/63.24 isNatKind(active(x0)) 177.19/63.24 U13(mark(x0), x1, x2) 177.19/63.24 U13(x0, mark(x1), x2) 177.19/63.24 U13(x0, x1, mark(x2)) 177.19/63.24 U13(active(x0), x1, x2) 177.19/63.24 U13(x0, active(x1), x2) 177.19/63.24 U13(x0, x1, active(x2)) 177.19/63.24 U14(mark(x0), x1, x2) 177.19/63.24 U14(x0, mark(x1), x2) 177.19/63.24 U14(x0, x1, mark(x2)) 177.19/63.24 U14(active(x0), x1, x2) 177.19/63.24 U14(x0, active(x1), x2) 177.19/63.24 U14(x0, x1, active(x2)) 177.19/63.24 U15(mark(x0), x1) 177.19/63.24 U15(x0, mark(x1)) 177.19/63.24 U15(active(x0), x1) 177.19/63.24 U15(x0, active(x1)) 177.19/63.24 isNat(mark(x0)) 177.19/63.24 isNat(active(x0)) 177.19/63.24 U16(mark(x0)) 177.19/63.24 U16(active(x0)) 177.19/63.24 U21(mark(x0), x1) 177.19/63.24 U21(x0, mark(x1)) 177.19/63.24 U21(active(x0), x1) 177.19/63.24 U21(x0, active(x1)) 177.19/63.24 U22(mark(x0), x1) 177.19/63.24 U22(x0, mark(x1)) 177.19/63.24 U22(active(x0), x1) 177.19/63.24 U22(x0, active(x1)) 177.19/63.24 U23(mark(x0)) 177.19/63.24 U23(active(x0)) 177.19/63.24 U31(mark(x0), x1) 177.19/63.24 U31(x0, mark(x1)) 177.19/63.24 U31(active(x0), x1) 177.19/63.24 U31(x0, active(x1)) 177.19/63.24 U32(mark(x0)) 177.19/63.24 U32(active(x0)) 177.19/63.24 U41(mark(x0)) 177.19/63.24 U41(active(x0)) 177.19/63.24 U51(mark(x0), x1) 177.19/63.24 U51(x0, mark(x1)) 177.19/63.24 U51(active(x0), x1) 177.19/63.24 U51(x0, active(x1)) 177.19/63.24 U52(mark(x0), x1) 177.19/63.24 U52(x0, mark(x1)) 177.19/63.24 U52(active(x0), x1) 177.19/63.24 U52(x0, active(x1)) 177.19/63.24 U61(mark(x0), x1, x2) 177.19/63.24 U61(x0, mark(x1), x2) 177.19/63.24 U61(x0, x1, mark(x2)) 177.19/63.24 U61(active(x0), x1, x2) 177.19/63.24 U61(x0, active(x1), x2) 177.19/63.24 U61(x0, x1, active(x2)) 177.19/63.24 U62(mark(x0), x1, x2) 177.19/63.24 U62(x0, mark(x1), x2) 177.19/63.24 U62(x0, x1, mark(x2)) 177.19/63.24 U62(active(x0), x1, x2) 177.19/63.24 U62(x0, active(x1), x2) 177.19/63.24 U62(x0, x1, active(x2)) 177.19/63.24 U63(mark(x0), x1, x2) 177.19/63.24 U63(x0, mark(x1), x2) 177.19/63.24 U63(x0, x1, mark(x2)) 177.19/63.24 U63(active(x0), x1, x2) 177.19/63.24 U63(x0, active(x1), x2) 177.19/63.24 U63(x0, x1, active(x2)) 177.19/63.24 U64(mark(x0), x1, x2) 177.19/63.24 U64(x0, mark(x1), x2) 177.19/63.24 U64(x0, x1, mark(x2)) 177.19/63.24 U64(active(x0), x1, x2) 177.19/63.24 U64(x0, active(x1), x2) 177.19/63.24 U64(x0, x1, active(x2)) 177.19/63.24 s(mark(x0)) 177.19/63.24 s(active(x0)) 177.19/63.24 plus(mark(x0), x1) 177.19/63.24 plus(x0, mark(x1)) 177.19/63.24 plus(active(x0), x1) 177.19/63.24 plus(x0, active(x1)) 177.19/63.24 177.19/63.24 We have to consider all minimal (P,Q,R)-chains. 177.19/63.24 ---------------------------------------- 177.19/63.24 177.19/63.24 (134) QReductionProof (EQUIVALENT) 177.19/63.24 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 177.19/63.24 177.19/63.24 U11(mark(x0), x1, x2) 177.19/63.24 U11(x0, mark(x1), x2) 177.19/63.24 U11(x0, x1, mark(x2)) 177.19/63.24 U11(active(x0), x1, x2) 177.19/63.24 U11(x0, active(x1), x2) 177.19/63.24 U11(x0, x1, active(x2)) 177.19/63.24 U12(mark(x0), x1, x2) 177.19/63.24 U12(x0, mark(x1), x2) 177.19/63.24 U12(x0, x1, mark(x2)) 177.19/63.24 U12(active(x0), x1, x2) 177.19/63.24 U12(x0, active(x1), x2) 177.19/63.24 U12(x0, x1, active(x2)) 177.19/63.24 isNatKind(mark(x0)) 177.19/63.24 isNatKind(active(x0)) 177.19/63.24 U13(mark(x0), x1, x2) 177.19/63.24 U13(x0, mark(x1), x2) 177.19/63.24 U13(x0, x1, mark(x2)) 177.19/63.24 U13(active(x0), x1, x2) 177.19/63.24 U13(x0, active(x1), x2) 177.19/63.24 U13(x0, x1, active(x2)) 177.19/63.24 U14(mark(x0), x1, x2) 177.19/63.24 U14(x0, mark(x1), x2) 177.19/63.24 U14(x0, x1, mark(x2)) 177.19/63.24 U14(active(x0), x1, x2) 177.19/63.24 U14(x0, active(x1), x2) 177.19/63.24 U14(x0, x1, active(x2)) 177.19/63.24 U15(mark(x0), x1) 177.19/63.24 U15(x0, mark(x1)) 177.19/63.24 U15(active(x0), x1) 177.19/63.24 U15(x0, active(x1)) 177.19/63.24 isNat(mark(x0)) 177.19/63.24 isNat(active(x0)) 177.19/63.24 U16(mark(x0)) 177.19/63.24 U16(active(x0)) 177.19/63.24 U21(mark(x0), x1) 177.19/63.24 U21(x0, mark(x1)) 177.19/63.24 U21(active(x0), x1) 177.19/63.24 U21(x0, active(x1)) 177.19/63.24 U22(mark(x0), x1) 177.19/63.24 U22(x0, mark(x1)) 177.19/63.24 U22(active(x0), x1) 177.19/63.24 U22(x0, active(x1)) 177.19/63.24 U23(mark(x0)) 177.19/63.24 U23(active(x0)) 177.19/63.24 U31(mark(x0), x1) 177.19/63.24 U31(x0, mark(x1)) 177.19/63.24 U31(active(x0), x1) 177.19/63.24 U31(x0, active(x1)) 177.19/63.24 U32(mark(x0)) 177.19/63.24 U32(active(x0)) 177.19/63.24 U41(mark(x0)) 177.19/63.24 U41(active(x0)) 177.19/63.24 U51(mark(x0), x1) 177.19/63.24 U51(x0, mark(x1)) 177.19/63.24 U51(active(x0), x1) 177.19/63.24 U51(x0, active(x1)) 177.19/63.24 U52(mark(x0), x1) 177.19/63.24 U52(x0, mark(x1)) 177.19/63.24 U52(active(x0), x1) 177.19/63.24 U52(x0, active(x1)) 177.19/63.24 U61(mark(x0), x1, x2) 177.19/63.24 U61(x0, mark(x1), x2) 177.19/63.24 U61(x0, x1, mark(x2)) 177.19/63.24 U61(active(x0), x1, x2) 177.19/63.24 U61(x0, active(x1), x2) 177.19/63.24 U61(x0, x1, active(x2)) 177.19/63.24 U62(mark(x0), x1, x2) 177.19/63.24 U62(x0, mark(x1), x2) 177.19/63.24 U62(x0, x1, mark(x2)) 177.19/63.24 U62(active(x0), x1, x2) 177.19/63.24 U62(x0, active(x1), x2) 177.19/63.24 U62(x0, x1, active(x2)) 177.19/63.24 U63(mark(x0), x1, x2) 177.19/63.24 U63(x0, mark(x1), x2) 177.19/63.24 U63(x0, x1, mark(x2)) 177.19/63.24 U63(active(x0), x1, x2) 177.19/63.24 U63(x0, active(x1), x2) 177.19/63.24 U63(x0, x1, active(x2)) 177.19/63.24 U64(mark(x0), x1, x2) 177.19/63.24 U64(x0, mark(x1), x2) 177.19/63.24 U64(x0, x1, mark(x2)) 177.19/63.24 U64(active(x0), x1, x2) 177.19/63.24 U64(x0, active(x1), x2) 177.19/63.24 U64(x0, x1, active(x2)) 177.19/63.24 s(mark(x0)) 177.19/63.24 s(active(x0)) 177.19/63.24 plus(mark(x0), x1) 177.19/63.24 plus(x0, mark(x1)) 177.19/63.24 plus(active(x0), x1) 177.19/63.24 plus(x0, active(x1)) 177.19/63.24 177.19/63.24 177.19/63.24 ---------------------------------------- 177.19/63.24 177.19/63.24 (135) 177.19/63.24 Obligation: 177.19/63.24 Q DP problem: 177.19/63.24 The TRS P consists of the following rules: 177.19/63.24 177.19/63.24 U13^1(X1, mark(X2), X3) -> U13^1(X1, X2, X3) 177.19/63.24 U13^1(mark(X1), X2, X3) -> U13^1(X1, X2, X3) 177.19/63.24 U13^1(X1, X2, mark(X3)) -> U13^1(X1, X2, X3) 177.19/63.24 U13^1(active(X1), X2, X3) -> U13^1(X1, X2, X3) 177.19/63.24 U13^1(X1, active(X2), X3) -> U13^1(X1, X2, X3) 177.19/63.24 U13^1(X1, X2, active(X3)) -> U13^1(X1, X2, X3) 177.19/63.24 177.19/63.24 R is empty. 177.19/63.24 The set Q consists of the following terms: 177.19/63.24 177.19/63.24 active(U11(tt, x0, x1)) 177.19/63.24 active(U12(tt, x0, x1)) 177.19/63.24 active(U13(tt, x0, x1)) 177.19/63.24 active(U14(tt, x0, x1)) 177.19/63.24 active(U15(tt, x0)) 177.19/63.24 active(U16(tt)) 177.19/63.24 active(U21(tt, x0)) 177.19/63.24 active(U22(tt, x0)) 177.19/63.24 active(U23(tt)) 177.19/63.24 active(U31(tt, x0)) 177.19/63.24 active(U32(tt)) 177.19/63.24 active(U41(tt)) 177.19/63.24 active(U51(tt, x0)) 177.19/63.24 active(U52(tt, x0)) 177.19/63.24 active(U61(tt, x0, x1)) 177.19/63.24 active(U62(tt, x0, x1)) 177.19/63.24 active(U63(tt, x0, x1)) 177.19/63.24 active(U64(tt, x0, x1)) 177.19/63.24 active(isNat(0)) 177.19/63.24 active(isNat(plus(x0, x1))) 177.19/63.24 active(isNat(s(x0))) 177.19/63.24 active(isNatKind(0)) 177.19/63.24 active(isNatKind(plus(x0, x1))) 177.19/63.24 active(isNatKind(s(x0))) 177.19/63.24 active(plus(x0, 0)) 177.19/63.24 active(plus(x0, s(x1))) 177.19/63.24 mark(U11(x0, x1, x2)) 177.19/63.24 mark(tt) 177.19/63.24 mark(U12(x0, x1, x2)) 177.19/63.24 mark(isNatKind(x0)) 177.19/63.24 mark(U13(x0, x1, x2)) 177.19/63.24 mark(U14(x0, x1, x2)) 177.19/63.24 mark(U15(x0, x1)) 177.19/63.24 mark(isNat(x0)) 177.19/63.24 mark(U16(x0)) 177.19/63.24 mark(U21(x0, x1)) 177.19/63.24 mark(U22(x0, x1)) 177.19/63.24 mark(U23(x0)) 177.19/63.24 mark(U31(x0, x1)) 177.19/63.24 mark(U32(x0)) 177.19/63.24 mark(U41(x0)) 177.19/63.24 mark(U51(x0, x1)) 177.19/63.24 mark(U52(x0, x1)) 177.19/63.24 mark(U61(x0, x1, x2)) 177.19/63.24 mark(U62(x0, x1, x2)) 177.19/63.24 mark(U63(x0, x1, x2)) 177.19/63.24 mark(U64(x0, x1, x2)) 177.19/63.24 mark(s(x0)) 177.19/63.24 mark(plus(x0, x1)) 177.19/63.24 mark(0) 177.19/63.24 177.19/63.24 We have to consider all minimal (P,Q,R)-chains. 177.19/63.24 ---------------------------------------- 177.19/63.24 177.19/63.24 (136) QDPSizeChangeProof (EQUIVALENT) 177.19/63.24 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. 177.19/63.24 177.19/63.24 From the DPs we obtained the following set of size-change graphs: 177.19/63.24 *U13^1(X1, mark(X2), X3) -> U13^1(X1, X2, X3) 177.19/63.24 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 177.19/63.24 177.19/63.24 177.19/63.24 *U13^1(mark(X1), X2, X3) -> U13^1(X1, X2, X3) 177.19/63.24 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 177.19/63.24 177.19/63.24 177.19/63.24 *U13^1(X1, X2, mark(X3)) -> U13^1(X1, X2, X3) 177.19/63.24 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 177.19/63.24 177.19/63.24 177.19/63.24 *U13^1(active(X1), X2, X3) -> U13^1(X1, X2, X3) 177.19/63.24 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 177.19/63.24 177.19/63.24 177.19/63.24 *U13^1(X1, active(X2), X3) -> U13^1(X1, X2, X3) 177.19/63.24 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 177.19/63.24 177.19/63.24 177.19/63.24 *U13^1(X1, X2, active(X3)) -> U13^1(X1, X2, X3) 177.19/63.24 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 177.19/63.24 177.19/63.24 177.19/63.24 ---------------------------------------- 177.19/63.24 177.19/63.24 (137) 177.19/63.24 YES 177.19/63.24 177.19/63.24 ---------------------------------------- 177.19/63.24 177.19/63.24 (138) 177.19/63.24 Obligation: 177.19/63.24 Q DP problem: 177.19/63.24 The TRS P consists of the following rules: 177.19/63.24 177.19/63.24 ISNATKIND(active(X)) -> ISNATKIND(X) 177.19/63.24 ISNATKIND(mark(X)) -> ISNATKIND(X) 177.19/63.24 177.19/63.24 The TRS R consists of the following rules: 177.19/63.24 177.19/63.24 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.19/63.24 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.19/63.24 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.19/63.24 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.19/63.24 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.19/63.24 active(U16(tt)) -> mark(tt) 177.19/63.24 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.19/63.24 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.19/63.24 active(U23(tt)) -> mark(tt) 177.19/63.24 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.19/63.24 active(U32(tt)) -> mark(tt) 177.19/63.24 active(U41(tt)) -> mark(tt) 177.19/63.24 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.19/63.24 active(U52(tt, N)) -> mark(N) 177.19/63.24 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.19/63.24 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.19/63.24 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.19/63.24 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.19/63.24 active(isNat(0)) -> mark(tt) 177.19/63.24 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.19/63.24 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.19/63.24 active(isNatKind(0)) -> mark(tt) 177.19/63.24 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.19/63.24 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.19/63.24 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.19/63.24 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.19/63.24 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.19/63.24 mark(tt) -> active(tt) 177.19/63.24 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.19/63.24 mark(isNatKind(X)) -> active(isNatKind(X)) 177.19/63.24 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.19/63.24 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.19/63.24 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.19/63.24 mark(isNat(X)) -> active(isNat(X)) 177.19/63.24 mark(U16(X)) -> active(U16(mark(X))) 177.19/63.24 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.19/63.24 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.19/63.24 mark(U23(X)) -> active(U23(mark(X))) 177.19/63.24 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.19/63.24 mark(U32(X)) -> active(U32(mark(X))) 177.19/63.24 mark(U41(X)) -> active(U41(mark(X))) 177.19/63.24 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.19/63.24 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.19/63.24 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.19/63.24 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.19/63.24 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.19/63.24 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.19/63.24 mark(s(X)) -> active(s(mark(X))) 177.19/63.24 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.19/63.24 mark(0) -> active(0) 177.19/63.24 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.24 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.24 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.24 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.24 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.24 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.24 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.24 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.24 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.24 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.24 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.24 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.24 isNatKind(mark(X)) -> isNatKind(X) 177.19/63.24 isNatKind(active(X)) -> isNatKind(X) 177.19/63.24 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.24 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.24 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.24 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.24 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.24 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.24 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.24 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.24 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.24 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.24 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.24 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.24 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.24 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.24 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.24 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.24 isNat(mark(X)) -> isNat(X) 177.19/63.24 isNat(active(X)) -> isNat(X) 177.19/63.24 U16(mark(X)) -> U16(X) 177.19/63.24 U16(active(X)) -> U16(X) 177.19/63.24 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.24 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.24 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.24 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.24 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.24 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.24 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.24 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.24 U23(mark(X)) -> U23(X) 177.19/63.24 U23(active(X)) -> U23(X) 177.19/63.24 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.24 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.24 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.24 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.24 U32(mark(X)) -> U32(X) 177.19/63.24 U32(active(X)) -> U32(X) 177.19/63.24 U41(mark(X)) -> U41(X) 177.19/63.24 U41(active(X)) -> U41(X) 177.19/63.24 U51(mark(X1), X2) -> U51(X1, X2) 177.19/63.24 U51(X1, mark(X2)) -> U51(X1, X2) 177.19/63.24 U51(active(X1), X2) -> U51(X1, X2) 177.19/63.24 U51(X1, active(X2)) -> U51(X1, X2) 177.19/63.24 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.24 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.24 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.24 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.24 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.24 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.24 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.24 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.24 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.24 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.24 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.24 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.24 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.24 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.24 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.24 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.24 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.24 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.19/63.24 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.19/63.24 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.24 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.19/63.24 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.19/63.24 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.24 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.19/63.24 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.19/63.24 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.24 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.19/63.24 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.19/63.24 s(mark(X)) -> s(X) 177.19/63.24 s(active(X)) -> s(X) 177.19/63.24 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.24 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.24 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.24 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.24 177.19/63.24 The set Q consists of the following terms: 177.19/63.24 177.19/63.24 active(U11(tt, x0, x1)) 177.19/63.24 active(U12(tt, x0, x1)) 177.19/63.24 active(U13(tt, x0, x1)) 177.19/63.24 active(U14(tt, x0, x1)) 177.19/63.24 active(U15(tt, x0)) 177.19/63.24 active(U16(tt)) 177.19/63.24 active(U21(tt, x0)) 177.19/63.24 active(U22(tt, x0)) 177.19/63.24 active(U23(tt)) 177.19/63.24 active(U31(tt, x0)) 177.19/63.24 active(U32(tt)) 177.19/63.24 active(U41(tt)) 177.19/63.24 active(U51(tt, x0)) 177.19/63.24 active(U52(tt, x0)) 177.19/63.24 active(U61(tt, x0, x1)) 177.19/63.24 active(U62(tt, x0, x1)) 177.19/63.24 active(U63(tt, x0, x1)) 177.19/63.24 active(U64(tt, x0, x1)) 177.19/63.24 active(isNat(0)) 177.19/63.24 active(isNat(plus(x0, x1))) 177.19/63.24 active(isNat(s(x0))) 177.19/63.24 active(isNatKind(0)) 177.19/63.24 active(isNatKind(plus(x0, x1))) 177.19/63.24 active(isNatKind(s(x0))) 177.19/63.24 active(plus(x0, 0)) 177.19/63.24 active(plus(x0, s(x1))) 177.19/63.24 mark(U11(x0, x1, x2)) 177.19/63.24 mark(tt) 177.19/63.24 mark(U12(x0, x1, x2)) 177.19/63.24 mark(isNatKind(x0)) 177.19/63.24 mark(U13(x0, x1, x2)) 177.19/63.24 mark(U14(x0, x1, x2)) 177.19/63.24 mark(U15(x0, x1)) 177.19/63.24 mark(isNat(x0)) 177.19/63.24 mark(U16(x0)) 177.19/63.24 mark(U21(x0, x1)) 177.19/63.24 mark(U22(x0, x1)) 177.19/63.24 mark(U23(x0)) 177.19/63.24 mark(U31(x0, x1)) 177.19/63.24 mark(U32(x0)) 177.19/63.24 mark(U41(x0)) 177.19/63.24 mark(U51(x0, x1)) 177.19/63.24 mark(U52(x0, x1)) 177.19/63.24 mark(U61(x0, x1, x2)) 177.19/63.24 mark(U62(x0, x1, x2)) 177.19/63.24 mark(U63(x0, x1, x2)) 177.19/63.24 mark(U64(x0, x1, x2)) 177.19/63.24 mark(s(x0)) 177.19/63.24 mark(plus(x0, x1)) 177.19/63.24 mark(0) 177.19/63.24 U11(mark(x0), x1, x2) 177.19/63.24 U11(x0, mark(x1), x2) 177.19/63.24 U11(x0, x1, mark(x2)) 177.19/63.24 U11(active(x0), x1, x2) 177.19/63.24 U11(x0, active(x1), x2) 177.19/63.24 U11(x0, x1, active(x2)) 177.19/63.24 U12(mark(x0), x1, x2) 177.19/63.24 U12(x0, mark(x1), x2) 177.19/63.24 U12(x0, x1, mark(x2)) 177.19/63.24 U12(active(x0), x1, x2) 177.19/63.24 U12(x0, active(x1), x2) 177.19/63.24 U12(x0, x1, active(x2)) 177.19/63.24 isNatKind(mark(x0)) 177.19/63.24 isNatKind(active(x0)) 177.19/63.24 U13(mark(x0), x1, x2) 177.19/63.24 U13(x0, mark(x1), x2) 177.19/63.24 U13(x0, x1, mark(x2)) 177.19/63.24 U13(active(x0), x1, x2) 177.19/63.24 U13(x0, active(x1), x2) 177.19/63.24 U13(x0, x1, active(x2)) 177.19/63.24 U14(mark(x0), x1, x2) 177.19/63.24 U14(x0, mark(x1), x2) 177.19/63.24 U14(x0, x1, mark(x2)) 177.19/63.24 U14(active(x0), x1, x2) 177.19/63.24 U14(x0, active(x1), x2) 177.19/63.24 U14(x0, x1, active(x2)) 177.19/63.24 U15(mark(x0), x1) 177.19/63.24 U15(x0, mark(x1)) 177.19/63.24 U15(active(x0), x1) 177.19/63.24 U15(x0, active(x1)) 177.19/63.24 isNat(mark(x0)) 177.19/63.24 isNat(active(x0)) 177.19/63.24 U16(mark(x0)) 177.19/63.24 U16(active(x0)) 177.19/63.24 U21(mark(x0), x1) 177.19/63.24 U21(x0, mark(x1)) 177.19/63.24 U21(active(x0), x1) 177.19/63.24 U21(x0, active(x1)) 177.19/63.24 U22(mark(x0), x1) 177.19/63.24 U22(x0, mark(x1)) 177.19/63.24 U22(active(x0), x1) 177.19/63.24 U22(x0, active(x1)) 177.19/63.24 U23(mark(x0)) 177.19/63.24 U23(active(x0)) 177.19/63.24 U31(mark(x0), x1) 177.19/63.24 U31(x0, mark(x1)) 177.19/63.24 U31(active(x0), x1) 177.19/63.24 U31(x0, active(x1)) 177.19/63.24 U32(mark(x0)) 177.19/63.24 U32(active(x0)) 177.19/63.24 U41(mark(x0)) 177.19/63.24 U41(active(x0)) 177.19/63.24 U51(mark(x0), x1) 177.19/63.24 U51(x0, mark(x1)) 177.19/63.24 U51(active(x0), x1) 177.19/63.24 U51(x0, active(x1)) 177.19/63.24 U52(mark(x0), x1) 177.19/63.24 U52(x0, mark(x1)) 177.19/63.24 U52(active(x0), x1) 177.19/63.24 U52(x0, active(x1)) 177.19/63.24 U61(mark(x0), x1, x2) 177.19/63.24 U61(x0, mark(x1), x2) 177.19/63.24 U61(x0, x1, mark(x2)) 177.19/63.24 U61(active(x0), x1, x2) 177.19/63.24 U61(x0, active(x1), x2) 177.19/63.24 U61(x0, x1, active(x2)) 177.19/63.24 U62(mark(x0), x1, x2) 177.19/63.24 U62(x0, mark(x1), x2) 177.19/63.24 U62(x0, x1, mark(x2)) 177.19/63.24 U62(active(x0), x1, x2) 177.19/63.24 U62(x0, active(x1), x2) 177.19/63.24 U62(x0, x1, active(x2)) 177.19/63.24 U63(mark(x0), x1, x2) 177.19/63.24 U63(x0, mark(x1), x2) 177.19/63.24 U63(x0, x1, mark(x2)) 177.19/63.24 U63(active(x0), x1, x2) 177.19/63.24 U63(x0, active(x1), x2) 177.19/63.24 U63(x0, x1, active(x2)) 177.19/63.24 U64(mark(x0), x1, x2) 177.19/63.24 U64(x0, mark(x1), x2) 177.19/63.24 U64(x0, x1, mark(x2)) 177.19/63.24 U64(active(x0), x1, x2) 177.19/63.24 U64(x0, active(x1), x2) 177.19/63.24 U64(x0, x1, active(x2)) 177.19/63.24 s(mark(x0)) 177.19/63.24 s(active(x0)) 177.19/63.24 plus(mark(x0), x1) 177.19/63.24 plus(x0, mark(x1)) 177.19/63.24 plus(active(x0), x1) 177.19/63.24 plus(x0, active(x1)) 177.19/63.24 177.19/63.24 We have to consider all minimal (P,Q,R)-chains. 177.19/63.24 ---------------------------------------- 177.19/63.24 177.19/63.24 (139) UsableRulesProof (EQUIVALENT) 177.19/63.24 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. 177.19/63.24 ---------------------------------------- 177.19/63.24 177.19/63.24 (140) 177.19/63.24 Obligation: 177.19/63.24 Q DP problem: 177.19/63.24 The TRS P consists of the following rules: 177.19/63.24 177.19/63.24 ISNATKIND(active(X)) -> ISNATKIND(X) 177.19/63.24 ISNATKIND(mark(X)) -> ISNATKIND(X) 177.19/63.24 177.19/63.24 R is empty. 177.19/63.24 The set Q consists of the following terms: 177.19/63.24 177.19/63.24 active(U11(tt, x0, x1)) 177.19/63.24 active(U12(tt, x0, x1)) 177.19/63.24 active(U13(tt, x0, x1)) 177.19/63.24 active(U14(tt, x0, x1)) 177.19/63.24 active(U15(tt, x0)) 177.19/63.24 active(U16(tt)) 177.19/63.24 active(U21(tt, x0)) 177.19/63.24 active(U22(tt, x0)) 177.19/63.24 active(U23(tt)) 177.19/63.24 active(U31(tt, x0)) 177.19/63.24 active(U32(tt)) 177.19/63.24 active(U41(tt)) 177.19/63.24 active(U51(tt, x0)) 177.19/63.24 active(U52(tt, x0)) 177.19/63.24 active(U61(tt, x0, x1)) 177.19/63.24 active(U62(tt, x0, x1)) 177.19/63.24 active(U63(tt, x0, x1)) 177.19/63.24 active(U64(tt, x0, x1)) 177.19/63.24 active(isNat(0)) 177.19/63.24 active(isNat(plus(x0, x1))) 177.19/63.24 active(isNat(s(x0))) 177.19/63.24 active(isNatKind(0)) 177.19/63.24 active(isNatKind(plus(x0, x1))) 177.19/63.24 active(isNatKind(s(x0))) 177.19/63.24 active(plus(x0, 0)) 177.19/63.24 active(plus(x0, s(x1))) 177.19/63.24 mark(U11(x0, x1, x2)) 177.19/63.24 mark(tt) 177.19/63.24 mark(U12(x0, x1, x2)) 177.19/63.24 mark(isNatKind(x0)) 177.19/63.24 mark(U13(x0, x1, x2)) 177.19/63.24 mark(U14(x0, x1, x2)) 177.19/63.24 mark(U15(x0, x1)) 177.19/63.24 mark(isNat(x0)) 177.19/63.24 mark(U16(x0)) 177.19/63.24 mark(U21(x0, x1)) 177.19/63.24 mark(U22(x0, x1)) 177.19/63.24 mark(U23(x0)) 177.19/63.24 mark(U31(x0, x1)) 177.19/63.24 mark(U32(x0)) 177.19/63.24 mark(U41(x0)) 177.19/63.24 mark(U51(x0, x1)) 177.19/63.24 mark(U52(x0, x1)) 177.19/63.24 mark(U61(x0, x1, x2)) 177.19/63.24 mark(U62(x0, x1, x2)) 177.19/63.24 mark(U63(x0, x1, x2)) 177.19/63.24 mark(U64(x0, x1, x2)) 177.19/63.24 mark(s(x0)) 177.19/63.24 mark(plus(x0, x1)) 177.19/63.24 mark(0) 177.19/63.24 U11(mark(x0), x1, x2) 177.19/63.24 U11(x0, mark(x1), x2) 177.19/63.24 U11(x0, x1, mark(x2)) 177.19/63.24 U11(active(x0), x1, x2) 177.19/63.24 U11(x0, active(x1), x2) 177.19/63.24 U11(x0, x1, active(x2)) 177.19/63.24 U12(mark(x0), x1, x2) 177.19/63.24 U12(x0, mark(x1), x2) 177.19/63.24 U12(x0, x1, mark(x2)) 177.19/63.24 U12(active(x0), x1, x2) 177.19/63.24 U12(x0, active(x1), x2) 177.19/63.24 U12(x0, x1, active(x2)) 177.19/63.24 isNatKind(mark(x0)) 177.19/63.24 isNatKind(active(x0)) 177.19/63.24 U13(mark(x0), x1, x2) 177.19/63.24 U13(x0, mark(x1), x2) 177.19/63.24 U13(x0, x1, mark(x2)) 177.19/63.24 U13(active(x0), x1, x2) 177.19/63.24 U13(x0, active(x1), x2) 177.19/63.24 U13(x0, x1, active(x2)) 177.19/63.24 U14(mark(x0), x1, x2) 177.19/63.24 U14(x0, mark(x1), x2) 177.19/63.24 U14(x0, x1, mark(x2)) 177.19/63.24 U14(active(x0), x1, x2) 177.19/63.24 U14(x0, active(x1), x2) 177.19/63.24 U14(x0, x1, active(x2)) 177.19/63.24 U15(mark(x0), x1) 177.19/63.24 U15(x0, mark(x1)) 177.19/63.24 U15(active(x0), x1) 177.19/63.24 U15(x0, active(x1)) 177.19/63.24 isNat(mark(x0)) 177.19/63.24 isNat(active(x0)) 177.19/63.24 U16(mark(x0)) 177.19/63.24 U16(active(x0)) 177.19/63.24 U21(mark(x0), x1) 177.19/63.24 U21(x0, mark(x1)) 177.19/63.24 U21(active(x0), x1) 177.19/63.24 U21(x0, active(x1)) 177.19/63.24 U22(mark(x0), x1) 177.19/63.24 U22(x0, mark(x1)) 177.19/63.24 U22(active(x0), x1) 177.19/63.24 U22(x0, active(x1)) 177.19/63.24 U23(mark(x0)) 177.19/63.24 U23(active(x0)) 177.19/63.24 U31(mark(x0), x1) 177.19/63.24 U31(x0, mark(x1)) 177.19/63.24 U31(active(x0), x1) 177.19/63.24 U31(x0, active(x1)) 177.19/63.24 U32(mark(x0)) 177.19/63.24 U32(active(x0)) 177.19/63.24 U41(mark(x0)) 177.19/63.24 U41(active(x0)) 177.19/63.24 U51(mark(x0), x1) 177.19/63.24 U51(x0, mark(x1)) 177.19/63.24 U51(active(x0), x1) 177.19/63.24 U51(x0, active(x1)) 177.19/63.24 U52(mark(x0), x1) 177.19/63.24 U52(x0, mark(x1)) 177.19/63.24 U52(active(x0), x1) 177.19/63.24 U52(x0, active(x1)) 177.19/63.24 U61(mark(x0), x1, x2) 177.19/63.24 U61(x0, mark(x1), x2) 177.19/63.24 U61(x0, x1, mark(x2)) 177.19/63.24 U61(active(x0), x1, x2) 177.19/63.24 U61(x0, active(x1), x2) 177.19/63.24 U61(x0, x1, active(x2)) 177.19/63.24 U62(mark(x0), x1, x2) 177.19/63.24 U62(x0, mark(x1), x2) 177.19/63.24 U62(x0, x1, mark(x2)) 177.19/63.24 U62(active(x0), x1, x2) 177.19/63.24 U62(x0, active(x1), x2) 177.19/63.24 U62(x0, x1, active(x2)) 177.19/63.24 U63(mark(x0), x1, x2) 177.19/63.24 U63(x0, mark(x1), x2) 177.19/63.24 U63(x0, x1, mark(x2)) 177.19/63.24 U63(active(x0), x1, x2) 177.19/63.24 U63(x0, active(x1), x2) 177.19/63.24 U63(x0, x1, active(x2)) 177.19/63.24 U64(mark(x0), x1, x2) 177.19/63.24 U64(x0, mark(x1), x2) 177.19/63.24 U64(x0, x1, mark(x2)) 177.19/63.24 U64(active(x0), x1, x2) 177.19/63.24 U64(x0, active(x1), x2) 177.19/63.24 U64(x0, x1, active(x2)) 177.19/63.24 s(mark(x0)) 177.19/63.24 s(active(x0)) 177.19/63.24 plus(mark(x0), x1) 177.19/63.24 plus(x0, mark(x1)) 177.19/63.24 plus(active(x0), x1) 177.19/63.24 plus(x0, active(x1)) 177.19/63.24 177.19/63.24 We have to consider all minimal (P,Q,R)-chains. 177.19/63.24 ---------------------------------------- 177.19/63.24 177.19/63.24 (141) QReductionProof (EQUIVALENT) 177.19/63.24 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 177.19/63.24 177.19/63.24 U11(mark(x0), x1, x2) 177.19/63.24 U11(x0, mark(x1), x2) 177.19/63.24 U11(x0, x1, mark(x2)) 177.19/63.24 U11(active(x0), x1, x2) 177.19/63.24 U11(x0, active(x1), x2) 177.19/63.24 U11(x0, x1, active(x2)) 177.19/63.24 U12(mark(x0), x1, x2) 177.19/63.24 U12(x0, mark(x1), x2) 177.19/63.24 U12(x0, x1, mark(x2)) 177.19/63.24 U12(active(x0), x1, x2) 177.19/63.24 U12(x0, active(x1), x2) 177.19/63.24 U12(x0, x1, active(x2)) 177.19/63.24 isNatKind(mark(x0)) 177.19/63.24 isNatKind(active(x0)) 177.19/63.24 U13(mark(x0), x1, x2) 177.19/63.24 U13(x0, mark(x1), x2) 177.19/63.24 U13(x0, x1, mark(x2)) 177.19/63.24 U13(active(x0), x1, x2) 177.19/63.24 U13(x0, active(x1), x2) 177.19/63.24 U13(x0, x1, active(x2)) 177.19/63.24 U14(mark(x0), x1, x2) 177.19/63.24 U14(x0, mark(x1), x2) 177.19/63.24 U14(x0, x1, mark(x2)) 177.19/63.24 U14(active(x0), x1, x2) 177.19/63.24 U14(x0, active(x1), x2) 177.19/63.24 U14(x0, x1, active(x2)) 177.19/63.24 U15(mark(x0), x1) 177.19/63.24 U15(x0, mark(x1)) 177.19/63.24 U15(active(x0), x1) 177.19/63.24 U15(x0, active(x1)) 177.19/63.24 isNat(mark(x0)) 177.19/63.24 isNat(active(x0)) 177.19/63.24 U16(mark(x0)) 177.19/63.24 U16(active(x0)) 177.19/63.24 U21(mark(x0), x1) 177.19/63.24 U21(x0, mark(x1)) 177.19/63.24 U21(active(x0), x1) 177.19/63.24 U21(x0, active(x1)) 177.19/63.24 U22(mark(x0), x1) 177.19/63.24 U22(x0, mark(x1)) 177.19/63.24 U22(active(x0), x1) 177.19/63.24 U22(x0, active(x1)) 177.19/63.24 U23(mark(x0)) 177.19/63.24 U23(active(x0)) 177.19/63.24 U31(mark(x0), x1) 177.19/63.24 U31(x0, mark(x1)) 177.19/63.24 U31(active(x0), x1) 177.19/63.24 U31(x0, active(x1)) 177.19/63.24 U32(mark(x0)) 177.19/63.24 U32(active(x0)) 177.19/63.24 U41(mark(x0)) 177.19/63.24 U41(active(x0)) 177.19/63.24 U51(mark(x0), x1) 177.19/63.24 U51(x0, mark(x1)) 177.19/63.24 U51(active(x0), x1) 177.19/63.24 U51(x0, active(x1)) 177.19/63.24 U52(mark(x0), x1) 177.19/63.24 U52(x0, mark(x1)) 177.19/63.24 U52(active(x0), x1) 177.19/63.24 U52(x0, active(x1)) 177.19/63.24 U61(mark(x0), x1, x2) 177.19/63.24 U61(x0, mark(x1), x2) 177.19/63.24 U61(x0, x1, mark(x2)) 177.19/63.24 U61(active(x0), x1, x2) 177.19/63.24 U61(x0, active(x1), x2) 177.19/63.24 U61(x0, x1, active(x2)) 177.19/63.24 U62(mark(x0), x1, x2) 177.19/63.24 U62(x0, mark(x1), x2) 177.19/63.24 U62(x0, x1, mark(x2)) 177.19/63.24 U62(active(x0), x1, x2) 177.19/63.24 U62(x0, active(x1), x2) 177.19/63.24 U62(x0, x1, active(x2)) 177.19/63.24 U63(mark(x0), x1, x2) 177.19/63.24 U63(x0, mark(x1), x2) 177.19/63.24 U63(x0, x1, mark(x2)) 177.19/63.24 U63(active(x0), x1, x2) 177.19/63.24 U63(x0, active(x1), x2) 177.19/63.24 U63(x0, x1, active(x2)) 177.19/63.24 U64(mark(x0), x1, x2) 177.19/63.24 U64(x0, mark(x1), x2) 177.19/63.24 U64(x0, x1, mark(x2)) 177.19/63.24 U64(active(x0), x1, x2) 177.19/63.24 U64(x0, active(x1), x2) 177.19/63.24 U64(x0, x1, active(x2)) 177.19/63.24 s(mark(x0)) 177.19/63.24 s(active(x0)) 177.19/63.24 plus(mark(x0), x1) 177.19/63.24 plus(x0, mark(x1)) 177.19/63.24 plus(active(x0), x1) 177.19/63.24 plus(x0, active(x1)) 177.19/63.24 177.19/63.24 177.19/63.24 ---------------------------------------- 177.19/63.24 177.19/63.24 (142) 177.19/63.24 Obligation: 177.19/63.24 Q DP problem: 177.19/63.24 The TRS P consists of the following rules: 177.19/63.24 177.19/63.24 ISNATKIND(active(X)) -> ISNATKIND(X) 177.19/63.24 ISNATKIND(mark(X)) -> ISNATKIND(X) 177.19/63.24 177.19/63.24 R is empty. 177.19/63.24 The set Q consists of the following terms: 177.19/63.24 177.19/63.24 active(U11(tt, x0, x1)) 177.19/63.24 active(U12(tt, x0, x1)) 177.19/63.24 active(U13(tt, x0, x1)) 177.19/63.24 active(U14(tt, x0, x1)) 177.19/63.24 active(U15(tt, x0)) 177.19/63.24 active(U16(tt)) 177.19/63.24 active(U21(tt, x0)) 177.19/63.24 active(U22(tt, x0)) 177.19/63.24 active(U23(tt)) 177.19/63.24 active(U31(tt, x0)) 177.19/63.24 active(U32(tt)) 177.19/63.24 active(U41(tt)) 177.19/63.24 active(U51(tt, x0)) 177.19/63.24 active(U52(tt, x0)) 177.19/63.24 active(U61(tt, x0, x1)) 177.19/63.24 active(U62(tt, x0, x1)) 177.19/63.24 active(U63(tt, x0, x1)) 177.19/63.24 active(U64(tt, x0, x1)) 177.19/63.24 active(isNat(0)) 177.19/63.24 active(isNat(plus(x0, x1))) 177.19/63.24 active(isNat(s(x0))) 177.19/63.24 active(isNatKind(0)) 177.19/63.24 active(isNatKind(plus(x0, x1))) 177.19/63.24 active(isNatKind(s(x0))) 177.19/63.24 active(plus(x0, 0)) 177.19/63.24 active(plus(x0, s(x1))) 177.19/63.24 mark(U11(x0, x1, x2)) 177.19/63.24 mark(tt) 177.19/63.24 mark(U12(x0, x1, x2)) 177.19/63.24 mark(isNatKind(x0)) 177.19/63.24 mark(U13(x0, x1, x2)) 177.19/63.24 mark(U14(x0, x1, x2)) 177.19/63.24 mark(U15(x0, x1)) 177.19/63.24 mark(isNat(x0)) 177.19/63.24 mark(U16(x0)) 177.19/63.24 mark(U21(x0, x1)) 177.19/63.24 mark(U22(x0, x1)) 177.19/63.24 mark(U23(x0)) 177.19/63.24 mark(U31(x0, x1)) 177.19/63.24 mark(U32(x0)) 177.19/63.24 mark(U41(x0)) 177.19/63.24 mark(U51(x0, x1)) 177.19/63.24 mark(U52(x0, x1)) 177.19/63.24 mark(U61(x0, x1, x2)) 177.19/63.24 mark(U62(x0, x1, x2)) 177.19/63.24 mark(U63(x0, x1, x2)) 177.19/63.24 mark(U64(x0, x1, x2)) 177.19/63.24 mark(s(x0)) 177.19/63.24 mark(plus(x0, x1)) 177.19/63.24 mark(0) 177.19/63.24 177.19/63.24 We have to consider all minimal (P,Q,R)-chains. 177.19/63.24 ---------------------------------------- 177.19/63.24 177.19/63.24 (143) QDPSizeChangeProof (EQUIVALENT) 177.19/63.24 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. 177.19/63.24 177.19/63.24 From the DPs we obtained the following set of size-change graphs: 177.19/63.24 *ISNATKIND(active(X)) -> ISNATKIND(X) 177.19/63.24 The graph contains the following edges 1 > 1 177.19/63.24 177.19/63.24 177.19/63.24 *ISNATKIND(mark(X)) -> ISNATKIND(X) 177.19/63.24 The graph contains the following edges 1 > 1 177.19/63.24 177.19/63.24 177.19/63.24 ---------------------------------------- 177.19/63.24 177.19/63.24 (144) 177.19/63.24 YES 177.19/63.24 177.19/63.24 ---------------------------------------- 177.19/63.24 177.19/63.24 (145) 177.19/63.24 Obligation: 177.19/63.24 Q DP problem: 177.19/63.24 The TRS P consists of the following rules: 177.19/63.24 177.19/63.24 U12^1(X1, mark(X2), X3) -> U12^1(X1, X2, X3) 177.19/63.24 U12^1(mark(X1), X2, X3) -> U12^1(X1, X2, X3) 177.19/63.24 U12^1(X1, X2, mark(X3)) -> U12^1(X1, X2, X3) 177.19/63.24 U12^1(active(X1), X2, X3) -> U12^1(X1, X2, X3) 177.19/63.24 U12^1(X1, active(X2), X3) -> U12^1(X1, X2, X3) 177.19/63.24 U12^1(X1, X2, active(X3)) -> U12^1(X1, X2, X3) 177.19/63.24 177.19/63.24 The TRS R consists of the following rules: 177.19/63.24 177.19/63.24 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.19/63.24 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.19/63.24 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.19/63.24 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.19/63.24 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.19/63.24 active(U16(tt)) -> mark(tt) 177.19/63.24 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.19/63.24 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.19/63.24 active(U23(tt)) -> mark(tt) 177.19/63.24 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.19/63.24 active(U32(tt)) -> mark(tt) 177.19/63.24 active(U41(tt)) -> mark(tt) 177.19/63.24 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.19/63.24 active(U52(tt, N)) -> mark(N) 177.19/63.24 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.19/63.24 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.19/63.24 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.19/63.24 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.19/63.24 active(isNat(0)) -> mark(tt) 177.19/63.24 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.19/63.24 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.19/63.24 active(isNatKind(0)) -> mark(tt) 177.19/63.24 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.19/63.24 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.19/63.24 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.19/63.24 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.19/63.24 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.19/63.24 mark(tt) -> active(tt) 177.19/63.24 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.19/63.24 mark(isNatKind(X)) -> active(isNatKind(X)) 177.19/63.24 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.19/63.24 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.19/63.24 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.19/63.24 mark(isNat(X)) -> active(isNat(X)) 177.19/63.24 mark(U16(X)) -> active(U16(mark(X))) 177.19/63.24 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.19/63.24 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.19/63.24 mark(U23(X)) -> active(U23(mark(X))) 177.19/63.24 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.19/63.24 mark(U32(X)) -> active(U32(mark(X))) 177.19/63.24 mark(U41(X)) -> active(U41(mark(X))) 177.19/63.24 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.19/63.24 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.19/63.24 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.19/63.24 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.19/63.24 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.19/63.24 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.19/63.24 mark(s(X)) -> active(s(mark(X))) 177.19/63.24 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.19/63.24 mark(0) -> active(0) 177.19/63.24 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.24 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.24 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.24 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.24 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.24 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.24 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.24 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.24 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.24 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.24 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.24 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.24 isNatKind(mark(X)) -> isNatKind(X) 177.19/63.24 isNatKind(active(X)) -> isNatKind(X) 177.19/63.24 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.24 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.24 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.24 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.24 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.24 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.24 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.24 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.24 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.24 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.24 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.24 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.24 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.24 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.24 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.24 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.24 isNat(mark(X)) -> isNat(X) 177.19/63.24 isNat(active(X)) -> isNat(X) 177.19/63.24 U16(mark(X)) -> U16(X) 177.19/63.24 U16(active(X)) -> U16(X) 177.19/63.24 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.24 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.24 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.24 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.24 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.24 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.24 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.24 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.24 U23(mark(X)) -> U23(X) 177.19/63.24 U23(active(X)) -> U23(X) 177.19/63.24 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.24 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.24 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.24 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.24 U32(mark(X)) -> U32(X) 177.19/63.24 U32(active(X)) -> U32(X) 177.19/63.24 U41(mark(X)) -> U41(X) 177.19/63.24 U41(active(X)) -> U41(X) 177.19/63.24 U51(mark(X1), X2) -> U51(X1, X2) 177.19/63.24 U51(X1, mark(X2)) -> U51(X1, X2) 177.19/63.24 U51(active(X1), X2) -> U51(X1, X2) 177.19/63.24 U51(X1, active(X2)) -> U51(X1, X2) 177.19/63.24 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.24 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.24 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.24 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.24 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.24 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.24 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.24 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.24 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.24 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.24 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.24 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.24 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.24 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.24 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.24 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.24 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.24 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.19/63.24 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.19/63.24 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.24 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.19/63.24 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.19/63.24 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.24 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.19/63.24 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.19/63.24 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.24 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.19/63.24 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.19/63.24 s(mark(X)) -> s(X) 177.19/63.24 s(active(X)) -> s(X) 177.19/63.24 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.24 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.24 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.24 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.24 177.19/63.24 The set Q consists of the following terms: 177.19/63.24 177.19/63.24 active(U11(tt, x0, x1)) 177.19/63.24 active(U12(tt, x0, x1)) 177.19/63.24 active(U13(tt, x0, x1)) 177.19/63.24 active(U14(tt, x0, x1)) 177.19/63.24 active(U15(tt, x0)) 177.19/63.24 active(U16(tt)) 177.19/63.24 active(U21(tt, x0)) 177.19/63.24 active(U22(tt, x0)) 177.19/63.24 active(U23(tt)) 177.19/63.24 active(U31(tt, x0)) 177.19/63.24 active(U32(tt)) 177.19/63.24 active(U41(tt)) 177.19/63.24 active(U51(tt, x0)) 177.19/63.24 active(U52(tt, x0)) 177.19/63.24 active(U61(tt, x0, x1)) 177.19/63.24 active(U62(tt, x0, x1)) 177.19/63.24 active(U63(tt, x0, x1)) 177.19/63.24 active(U64(tt, x0, x1)) 177.19/63.24 active(isNat(0)) 177.19/63.24 active(isNat(plus(x0, x1))) 177.19/63.24 active(isNat(s(x0))) 177.19/63.24 active(isNatKind(0)) 177.19/63.24 active(isNatKind(plus(x0, x1))) 177.19/63.24 active(isNatKind(s(x0))) 177.19/63.24 active(plus(x0, 0)) 177.19/63.24 active(plus(x0, s(x1))) 177.19/63.24 mark(U11(x0, x1, x2)) 177.19/63.24 mark(tt) 177.19/63.24 mark(U12(x0, x1, x2)) 177.19/63.24 mark(isNatKind(x0)) 177.19/63.24 mark(U13(x0, x1, x2)) 177.19/63.24 mark(U14(x0, x1, x2)) 177.19/63.24 mark(U15(x0, x1)) 177.19/63.24 mark(isNat(x0)) 177.19/63.24 mark(U16(x0)) 177.19/63.24 mark(U21(x0, x1)) 177.19/63.24 mark(U22(x0, x1)) 177.19/63.24 mark(U23(x0)) 177.19/63.24 mark(U31(x0, x1)) 177.19/63.24 mark(U32(x0)) 177.19/63.24 mark(U41(x0)) 177.19/63.24 mark(U51(x0, x1)) 177.19/63.24 mark(U52(x0, x1)) 177.19/63.24 mark(U61(x0, x1, x2)) 177.19/63.24 mark(U62(x0, x1, x2)) 177.19/63.24 mark(U63(x0, x1, x2)) 177.19/63.24 mark(U64(x0, x1, x2)) 177.19/63.24 mark(s(x0)) 177.19/63.24 mark(plus(x0, x1)) 177.19/63.24 mark(0) 177.19/63.24 U11(mark(x0), x1, x2) 177.19/63.24 U11(x0, mark(x1), x2) 177.19/63.24 U11(x0, x1, mark(x2)) 177.19/63.24 U11(active(x0), x1, x2) 177.19/63.24 U11(x0, active(x1), x2) 177.19/63.24 U11(x0, x1, active(x2)) 177.19/63.24 U12(mark(x0), x1, x2) 177.19/63.24 U12(x0, mark(x1), x2) 177.19/63.24 U12(x0, x1, mark(x2)) 177.19/63.24 U12(active(x0), x1, x2) 177.19/63.24 U12(x0, active(x1), x2) 177.19/63.24 U12(x0, x1, active(x2)) 177.19/63.24 isNatKind(mark(x0)) 177.19/63.24 isNatKind(active(x0)) 177.19/63.24 U13(mark(x0), x1, x2) 177.19/63.24 U13(x0, mark(x1), x2) 177.19/63.24 U13(x0, x1, mark(x2)) 177.19/63.24 U13(active(x0), x1, x2) 177.19/63.24 U13(x0, active(x1), x2) 177.19/63.24 U13(x0, x1, active(x2)) 177.19/63.24 U14(mark(x0), x1, x2) 177.19/63.24 U14(x0, mark(x1), x2) 177.19/63.24 U14(x0, x1, mark(x2)) 177.19/63.24 U14(active(x0), x1, x2) 177.19/63.24 U14(x0, active(x1), x2) 177.19/63.24 U14(x0, x1, active(x2)) 177.19/63.24 U15(mark(x0), x1) 177.19/63.24 U15(x0, mark(x1)) 177.19/63.24 U15(active(x0), x1) 177.19/63.24 U15(x0, active(x1)) 177.19/63.24 isNat(mark(x0)) 177.19/63.24 isNat(active(x0)) 177.19/63.24 U16(mark(x0)) 177.19/63.24 U16(active(x0)) 177.19/63.24 U21(mark(x0), x1) 177.19/63.24 U21(x0, mark(x1)) 177.19/63.24 U21(active(x0), x1) 177.19/63.24 U21(x0, active(x1)) 177.19/63.24 U22(mark(x0), x1) 177.19/63.24 U22(x0, mark(x1)) 177.19/63.24 U22(active(x0), x1) 177.19/63.24 U22(x0, active(x1)) 177.19/63.24 U23(mark(x0)) 177.19/63.24 U23(active(x0)) 177.19/63.24 U31(mark(x0), x1) 177.19/63.24 U31(x0, mark(x1)) 177.19/63.24 U31(active(x0), x1) 177.19/63.24 U31(x0, active(x1)) 177.19/63.24 U32(mark(x0)) 177.19/63.24 U32(active(x0)) 177.19/63.24 U41(mark(x0)) 177.19/63.24 U41(active(x0)) 177.19/63.24 U51(mark(x0), x1) 177.19/63.24 U51(x0, mark(x1)) 177.19/63.24 U51(active(x0), x1) 177.19/63.24 U51(x0, active(x1)) 177.19/63.24 U52(mark(x0), x1) 177.19/63.24 U52(x0, mark(x1)) 177.19/63.24 U52(active(x0), x1) 177.19/63.24 U52(x0, active(x1)) 177.19/63.24 U61(mark(x0), x1, x2) 177.19/63.24 U61(x0, mark(x1), x2) 177.19/63.24 U61(x0, x1, mark(x2)) 177.19/63.24 U61(active(x0), x1, x2) 177.19/63.24 U61(x0, active(x1), x2) 177.19/63.24 U61(x0, x1, active(x2)) 177.19/63.24 U62(mark(x0), x1, x2) 177.19/63.24 U62(x0, mark(x1), x2) 177.19/63.24 U62(x0, x1, mark(x2)) 177.19/63.24 U62(active(x0), x1, x2) 177.19/63.24 U62(x0, active(x1), x2) 177.19/63.24 U62(x0, x1, active(x2)) 177.19/63.24 U63(mark(x0), x1, x2) 177.19/63.24 U63(x0, mark(x1), x2) 177.19/63.24 U63(x0, x1, mark(x2)) 177.19/63.24 U63(active(x0), x1, x2) 177.19/63.24 U63(x0, active(x1), x2) 177.19/63.24 U63(x0, x1, active(x2)) 177.19/63.24 U64(mark(x0), x1, x2) 177.19/63.24 U64(x0, mark(x1), x2) 177.19/63.24 U64(x0, x1, mark(x2)) 177.19/63.24 U64(active(x0), x1, x2) 177.19/63.24 U64(x0, active(x1), x2) 177.19/63.24 U64(x0, x1, active(x2)) 177.19/63.24 s(mark(x0)) 177.19/63.24 s(active(x0)) 177.19/63.24 plus(mark(x0), x1) 177.19/63.24 plus(x0, mark(x1)) 177.19/63.24 plus(active(x0), x1) 177.19/63.24 plus(x0, active(x1)) 177.19/63.24 177.19/63.24 We have to consider all minimal (P,Q,R)-chains. 177.19/63.24 ---------------------------------------- 177.19/63.24 177.19/63.24 (146) UsableRulesProof (EQUIVALENT) 177.19/63.24 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. 177.19/63.24 ---------------------------------------- 177.19/63.24 177.19/63.24 (147) 177.19/63.24 Obligation: 177.19/63.24 Q DP problem: 177.19/63.24 The TRS P consists of the following rules: 177.19/63.24 177.19/63.24 U12^1(X1, mark(X2), X3) -> U12^1(X1, X2, X3) 177.19/63.24 U12^1(mark(X1), X2, X3) -> U12^1(X1, X2, X3) 177.19/63.24 U12^1(X1, X2, mark(X3)) -> U12^1(X1, X2, X3) 177.19/63.24 U12^1(active(X1), X2, X3) -> U12^1(X1, X2, X3) 177.19/63.24 U12^1(X1, active(X2), X3) -> U12^1(X1, X2, X3) 177.19/63.24 U12^1(X1, X2, active(X3)) -> U12^1(X1, X2, X3) 177.19/63.24 177.19/63.24 R is empty. 177.19/63.24 The set Q consists of the following terms: 177.19/63.24 177.19/63.24 active(U11(tt, x0, x1)) 177.19/63.24 active(U12(tt, x0, x1)) 177.19/63.24 active(U13(tt, x0, x1)) 177.19/63.24 active(U14(tt, x0, x1)) 177.19/63.24 active(U15(tt, x0)) 177.19/63.24 active(U16(tt)) 177.19/63.24 active(U21(tt, x0)) 177.19/63.24 active(U22(tt, x0)) 177.19/63.24 active(U23(tt)) 177.19/63.24 active(U31(tt, x0)) 177.19/63.24 active(U32(tt)) 177.19/63.24 active(U41(tt)) 177.19/63.24 active(U51(tt, x0)) 177.19/63.24 active(U52(tt, x0)) 177.19/63.24 active(U61(tt, x0, x1)) 177.19/63.24 active(U62(tt, x0, x1)) 177.19/63.24 active(U63(tt, x0, x1)) 177.19/63.24 active(U64(tt, x0, x1)) 177.19/63.24 active(isNat(0)) 177.19/63.24 active(isNat(plus(x0, x1))) 177.19/63.24 active(isNat(s(x0))) 177.19/63.24 active(isNatKind(0)) 177.19/63.24 active(isNatKind(plus(x0, x1))) 177.19/63.24 active(isNatKind(s(x0))) 177.19/63.24 active(plus(x0, 0)) 177.19/63.24 active(plus(x0, s(x1))) 177.19/63.24 mark(U11(x0, x1, x2)) 177.19/63.24 mark(tt) 177.19/63.24 mark(U12(x0, x1, x2)) 177.19/63.24 mark(isNatKind(x0)) 177.19/63.24 mark(U13(x0, x1, x2)) 177.19/63.24 mark(U14(x0, x1, x2)) 177.19/63.24 mark(U15(x0, x1)) 177.19/63.24 mark(isNat(x0)) 177.19/63.24 mark(U16(x0)) 177.19/63.24 mark(U21(x0, x1)) 177.19/63.24 mark(U22(x0, x1)) 177.19/63.24 mark(U23(x0)) 177.19/63.24 mark(U31(x0, x1)) 177.19/63.24 mark(U32(x0)) 177.19/63.24 mark(U41(x0)) 177.19/63.24 mark(U51(x0, x1)) 177.19/63.24 mark(U52(x0, x1)) 177.19/63.24 mark(U61(x0, x1, x2)) 177.19/63.24 mark(U62(x0, x1, x2)) 177.19/63.24 mark(U63(x0, x1, x2)) 177.19/63.24 mark(U64(x0, x1, x2)) 177.19/63.24 mark(s(x0)) 177.19/63.24 mark(plus(x0, x1)) 177.19/63.24 mark(0) 177.19/63.24 U11(mark(x0), x1, x2) 177.19/63.24 U11(x0, mark(x1), x2) 177.19/63.24 U11(x0, x1, mark(x2)) 177.19/63.24 U11(active(x0), x1, x2) 177.19/63.24 U11(x0, active(x1), x2) 177.19/63.24 U11(x0, x1, active(x2)) 177.19/63.24 U12(mark(x0), x1, x2) 177.19/63.24 U12(x0, mark(x1), x2) 177.19/63.24 U12(x0, x1, mark(x2)) 177.19/63.24 U12(active(x0), x1, x2) 177.19/63.24 U12(x0, active(x1), x2) 177.19/63.24 U12(x0, x1, active(x2)) 177.19/63.24 isNatKind(mark(x0)) 177.19/63.24 isNatKind(active(x0)) 177.19/63.24 U13(mark(x0), x1, x2) 177.19/63.24 U13(x0, mark(x1), x2) 177.19/63.24 U13(x0, x1, mark(x2)) 177.19/63.24 U13(active(x0), x1, x2) 177.19/63.24 U13(x0, active(x1), x2) 177.19/63.24 U13(x0, x1, active(x2)) 177.19/63.24 U14(mark(x0), x1, x2) 177.19/63.24 U14(x0, mark(x1), x2) 177.19/63.24 U14(x0, x1, mark(x2)) 177.19/63.24 U14(active(x0), x1, x2) 177.19/63.24 U14(x0, active(x1), x2) 177.19/63.24 U14(x0, x1, active(x2)) 177.19/63.24 U15(mark(x0), x1) 177.19/63.24 U15(x0, mark(x1)) 177.19/63.24 U15(active(x0), x1) 177.19/63.24 U15(x0, active(x1)) 177.19/63.24 isNat(mark(x0)) 177.19/63.24 isNat(active(x0)) 177.19/63.24 U16(mark(x0)) 177.19/63.24 U16(active(x0)) 177.19/63.24 U21(mark(x0), x1) 177.19/63.24 U21(x0, mark(x1)) 177.19/63.24 U21(active(x0), x1) 177.19/63.24 U21(x0, active(x1)) 177.19/63.24 U22(mark(x0), x1) 177.19/63.24 U22(x0, mark(x1)) 177.19/63.24 U22(active(x0), x1) 177.19/63.24 U22(x0, active(x1)) 177.19/63.24 U23(mark(x0)) 177.19/63.24 U23(active(x0)) 177.19/63.24 U31(mark(x0), x1) 177.19/63.24 U31(x0, mark(x1)) 177.19/63.24 U31(active(x0), x1) 177.19/63.24 U31(x0, active(x1)) 177.19/63.24 U32(mark(x0)) 177.19/63.24 U32(active(x0)) 177.19/63.24 U41(mark(x0)) 177.19/63.24 U41(active(x0)) 177.19/63.24 U51(mark(x0), x1) 177.19/63.24 U51(x0, mark(x1)) 177.19/63.24 U51(active(x0), x1) 177.19/63.24 U51(x0, active(x1)) 177.19/63.24 U52(mark(x0), x1) 177.19/63.24 U52(x0, mark(x1)) 177.19/63.24 U52(active(x0), x1) 177.19/63.24 U52(x0, active(x1)) 177.19/63.24 U61(mark(x0), x1, x2) 177.19/63.24 U61(x0, mark(x1), x2) 177.19/63.24 U61(x0, x1, mark(x2)) 177.19/63.24 U61(active(x0), x1, x2) 177.19/63.24 U61(x0, active(x1), x2) 177.19/63.24 U61(x0, x1, active(x2)) 177.19/63.24 U62(mark(x0), x1, x2) 177.19/63.24 U62(x0, mark(x1), x2) 177.19/63.24 U62(x0, x1, mark(x2)) 177.19/63.24 U62(active(x0), x1, x2) 177.19/63.24 U62(x0, active(x1), x2) 177.19/63.24 U62(x0, x1, active(x2)) 177.19/63.24 U63(mark(x0), x1, x2) 177.19/63.24 U63(x0, mark(x1), x2) 177.19/63.24 U63(x0, x1, mark(x2)) 177.19/63.24 U63(active(x0), x1, x2) 177.19/63.24 U63(x0, active(x1), x2) 177.19/63.24 U63(x0, x1, active(x2)) 177.19/63.24 U64(mark(x0), x1, x2) 177.19/63.24 U64(x0, mark(x1), x2) 177.19/63.24 U64(x0, x1, mark(x2)) 177.19/63.24 U64(active(x0), x1, x2) 177.19/63.24 U64(x0, active(x1), x2) 177.19/63.24 U64(x0, x1, active(x2)) 177.19/63.24 s(mark(x0)) 177.19/63.24 s(active(x0)) 177.19/63.24 plus(mark(x0), x1) 177.19/63.24 plus(x0, mark(x1)) 177.19/63.24 plus(active(x0), x1) 177.19/63.24 plus(x0, active(x1)) 177.19/63.24 177.19/63.24 We have to consider all minimal (P,Q,R)-chains. 177.19/63.24 ---------------------------------------- 177.19/63.24 177.19/63.24 (148) QReductionProof (EQUIVALENT) 177.19/63.24 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 177.19/63.24 177.19/63.24 U11(mark(x0), x1, x2) 177.19/63.24 U11(x0, mark(x1), x2) 177.19/63.24 U11(x0, x1, mark(x2)) 177.19/63.24 U11(active(x0), x1, x2) 177.19/63.24 U11(x0, active(x1), x2) 177.19/63.24 U11(x0, x1, active(x2)) 177.19/63.24 U12(mark(x0), x1, x2) 177.19/63.24 U12(x0, mark(x1), x2) 177.19/63.24 U12(x0, x1, mark(x2)) 177.19/63.24 U12(active(x0), x1, x2) 177.19/63.24 U12(x0, active(x1), x2) 177.19/63.24 U12(x0, x1, active(x2)) 177.19/63.24 isNatKind(mark(x0)) 177.19/63.24 isNatKind(active(x0)) 177.19/63.24 U13(mark(x0), x1, x2) 177.19/63.24 U13(x0, mark(x1), x2) 177.19/63.24 U13(x0, x1, mark(x2)) 177.19/63.24 U13(active(x0), x1, x2) 177.19/63.24 U13(x0, active(x1), x2) 177.19/63.24 U13(x0, x1, active(x2)) 177.19/63.24 U14(mark(x0), x1, x2) 177.19/63.24 U14(x0, mark(x1), x2) 177.19/63.24 U14(x0, x1, mark(x2)) 177.19/63.24 U14(active(x0), x1, x2) 177.19/63.24 U14(x0, active(x1), x2) 177.19/63.24 U14(x0, x1, active(x2)) 177.19/63.24 U15(mark(x0), x1) 177.19/63.24 U15(x0, mark(x1)) 177.19/63.24 U15(active(x0), x1) 177.19/63.24 U15(x0, active(x1)) 177.19/63.24 isNat(mark(x0)) 177.19/63.24 isNat(active(x0)) 177.19/63.24 U16(mark(x0)) 177.19/63.24 U16(active(x0)) 177.19/63.24 U21(mark(x0), x1) 177.19/63.24 U21(x0, mark(x1)) 177.19/63.24 U21(active(x0), x1) 177.19/63.24 U21(x0, active(x1)) 177.19/63.24 U22(mark(x0), x1) 177.19/63.24 U22(x0, mark(x1)) 177.19/63.24 U22(active(x0), x1) 177.19/63.24 U22(x0, active(x1)) 177.19/63.24 U23(mark(x0)) 177.19/63.24 U23(active(x0)) 177.19/63.24 U31(mark(x0), x1) 177.19/63.24 U31(x0, mark(x1)) 177.19/63.24 U31(active(x0), x1) 177.19/63.24 U31(x0, active(x1)) 177.19/63.24 U32(mark(x0)) 177.19/63.24 U32(active(x0)) 177.19/63.24 U41(mark(x0)) 177.19/63.24 U41(active(x0)) 177.19/63.24 U51(mark(x0), x1) 177.19/63.24 U51(x0, mark(x1)) 177.19/63.24 U51(active(x0), x1) 177.19/63.24 U51(x0, active(x1)) 177.19/63.24 U52(mark(x0), x1) 177.19/63.24 U52(x0, mark(x1)) 177.19/63.24 U52(active(x0), x1) 177.19/63.24 U52(x0, active(x1)) 177.19/63.24 U61(mark(x0), x1, x2) 177.19/63.24 U61(x0, mark(x1), x2) 177.19/63.24 U61(x0, x1, mark(x2)) 177.19/63.24 U61(active(x0), x1, x2) 177.19/63.24 U61(x0, active(x1), x2) 177.19/63.24 U61(x0, x1, active(x2)) 177.19/63.25 U62(mark(x0), x1, x2) 177.19/63.25 U62(x0, mark(x1), x2) 177.19/63.25 U62(x0, x1, mark(x2)) 177.19/63.25 U62(active(x0), x1, x2) 177.19/63.25 U62(x0, active(x1), x2) 177.19/63.25 U62(x0, x1, active(x2)) 177.19/63.25 U63(mark(x0), x1, x2) 177.19/63.25 U63(x0, mark(x1), x2) 177.19/63.25 U63(x0, x1, mark(x2)) 177.19/63.25 U63(active(x0), x1, x2) 177.19/63.25 U63(x0, active(x1), x2) 177.19/63.25 U63(x0, x1, active(x2)) 177.19/63.25 U64(mark(x0), x1, x2) 177.19/63.25 U64(x0, mark(x1), x2) 177.19/63.25 U64(x0, x1, mark(x2)) 177.19/63.25 U64(active(x0), x1, x2) 177.19/63.25 U64(x0, active(x1), x2) 177.19/63.25 U64(x0, x1, active(x2)) 177.19/63.25 s(mark(x0)) 177.19/63.25 s(active(x0)) 177.19/63.25 plus(mark(x0), x1) 177.19/63.25 plus(x0, mark(x1)) 177.19/63.25 plus(active(x0), x1) 177.19/63.25 plus(x0, active(x1)) 177.19/63.25 177.19/63.25 177.19/63.25 ---------------------------------------- 177.19/63.25 177.19/63.25 (149) 177.19/63.25 Obligation: 177.19/63.25 Q DP problem: 177.19/63.25 The TRS P consists of the following rules: 177.19/63.25 177.19/63.25 U12^1(X1, mark(X2), X3) -> U12^1(X1, X2, X3) 177.19/63.25 U12^1(mark(X1), X2, X3) -> U12^1(X1, X2, X3) 177.19/63.25 U12^1(X1, X2, mark(X3)) -> U12^1(X1, X2, X3) 177.19/63.25 U12^1(active(X1), X2, X3) -> U12^1(X1, X2, X3) 177.19/63.25 U12^1(X1, active(X2), X3) -> U12^1(X1, X2, X3) 177.19/63.25 U12^1(X1, X2, active(X3)) -> U12^1(X1, X2, X3) 177.19/63.25 177.19/63.25 R is empty. 177.19/63.25 The set Q consists of the following terms: 177.19/63.25 177.19/63.25 active(U11(tt, x0, x1)) 177.19/63.25 active(U12(tt, x0, x1)) 177.19/63.25 active(U13(tt, x0, x1)) 177.19/63.25 active(U14(tt, x0, x1)) 177.19/63.25 active(U15(tt, x0)) 177.19/63.25 active(U16(tt)) 177.19/63.25 active(U21(tt, x0)) 177.19/63.25 active(U22(tt, x0)) 177.19/63.25 active(U23(tt)) 177.19/63.25 active(U31(tt, x0)) 177.19/63.25 active(U32(tt)) 177.19/63.25 active(U41(tt)) 177.19/63.25 active(U51(tt, x0)) 177.19/63.25 active(U52(tt, x0)) 177.19/63.25 active(U61(tt, x0, x1)) 177.19/63.25 active(U62(tt, x0, x1)) 177.19/63.25 active(U63(tt, x0, x1)) 177.19/63.25 active(U64(tt, x0, x1)) 177.19/63.25 active(isNat(0)) 177.19/63.25 active(isNat(plus(x0, x1))) 177.19/63.25 active(isNat(s(x0))) 177.19/63.25 active(isNatKind(0)) 177.19/63.25 active(isNatKind(plus(x0, x1))) 177.19/63.25 active(isNatKind(s(x0))) 177.19/63.25 active(plus(x0, 0)) 177.19/63.25 active(plus(x0, s(x1))) 177.19/63.25 mark(U11(x0, x1, x2)) 177.19/63.25 mark(tt) 177.19/63.25 mark(U12(x0, x1, x2)) 177.19/63.25 mark(isNatKind(x0)) 177.19/63.25 mark(U13(x0, x1, x2)) 177.19/63.25 mark(U14(x0, x1, x2)) 177.19/63.25 mark(U15(x0, x1)) 177.19/63.25 mark(isNat(x0)) 177.19/63.25 mark(U16(x0)) 177.19/63.25 mark(U21(x0, x1)) 177.19/63.25 mark(U22(x0, x1)) 177.19/63.25 mark(U23(x0)) 177.19/63.25 mark(U31(x0, x1)) 177.19/63.25 mark(U32(x0)) 177.19/63.25 mark(U41(x0)) 177.19/63.25 mark(U51(x0, x1)) 177.19/63.25 mark(U52(x0, x1)) 177.19/63.25 mark(U61(x0, x1, x2)) 177.19/63.25 mark(U62(x0, x1, x2)) 177.19/63.25 mark(U63(x0, x1, x2)) 177.19/63.25 mark(U64(x0, x1, x2)) 177.19/63.25 mark(s(x0)) 177.19/63.25 mark(plus(x0, x1)) 177.19/63.25 mark(0) 177.19/63.25 177.19/63.25 We have to consider all minimal (P,Q,R)-chains. 177.19/63.25 ---------------------------------------- 177.19/63.25 177.19/63.25 (150) QDPSizeChangeProof (EQUIVALENT) 177.19/63.25 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. 177.19/63.25 177.19/63.25 From the DPs we obtained the following set of size-change graphs: 177.19/63.25 *U12^1(X1, mark(X2), X3) -> U12^1(X1, X2, X3) 177.19/63.25 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 177.19/63.25 177.19/63.25 177.19/63.25 *U12^1(mark(X1), X2, X3) -> U12^1(X1, X2, X3) 177.19/63.25 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 177.19/63.25 177.19/63.25 177.19/63.25 *U12^1(X1, X2, mark(X3)) -> U12^1(X1, X2, X3) 177.19/63.25 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 177.19/63.25 177.19/63.25 177.19/63.25 *U12^1(active(X1), X2, X3) -> U12^1(X1, X2, X3) 177.19/63.25 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 177.19/63.25 177.19/63.25 177.19/63.25 *U12^1(X1, active(X2), X3) -> U12^1(X1, X2, X3) 177.19/63.25 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 177.19/63.25 177.19/63.25 177.19/63.25 *U12^1(X1, X2, active(X3)) -> U12^1(X1, X2, X3) 177.19/63.25 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 177.19/63.25 177.19/63.25 177.19/63.25 ---------------------------------------- 177.19/63.25 177.19/63.25 (151) 177.19/63.25 YES 177.19/63.25 177.19/63.25 ---------------------------------------- 177.19/63.25 177.19/63.25 (152) 177.19/63.25 Obligation: 177.19/63.25 Q DP problem: 177.19/63.25 The TRS P consists of the following rules: 177.19/63.25 177.19/63.25 U11^1(X1, mark(X2), X3) -> U11^1(X1, X2, X3) 177.19/63.25 U11^1(mark(X1), X2, X3) -> U11^1(X1, X2, X3) 177.19/63.25 U11^1(X1, X2, mark(X3)) -> U11^1(X1, X2, X3) 177.19/63.25 U11^1(active(X1), X2, X3) -> U11^1(X1, X2, X3) 177.19/63.25 U11^1(X1, active(X2), X3) -> U11^1(X1, X2, X3) 177.19/63.25 U11^1(X1, X2, active(X3)) -> U11^1(X1, X2, X3) 177.19/63.25 177.19/63.25 The TRS R consists of the following rules: 177.19/63.25 177.19/63.25 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.19/63.25 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.19/63.25 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.19/63.25 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.19/63.25 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.19/63.25 active(U16(tt)) -> mark(tt) 177.19/63.25 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.19/63.25 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.19/63.25 active(U23(tt)) -> mark(tt) 177.19/63.25 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.19/63.25 active(U32(tt)) -> mark(tt) 177.19/63.25 active(U41(tt)) -> mark(tt) 177.19/63.25 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.19/63.25 active(U52(tt, N)) -> mark(N) 177.19/63.25 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.19/63.25 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.19/63.25 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.19/63.25 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.19/63.25 active(isNat(0)) -> mark(tt) 177.19/63.25 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.19/63.25 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.19/63.25 active(isNatKind(0)) -> mark(tt) 177.19/63.25 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.19/63.25 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.19/63.25 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.19/63.25 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.19/63.25 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.19/63.25 mark(tt) -> active(tt) 177.19/63.25 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.19/63.25 mark(isNatKind(X)) -> active(isNatKind(X)) 177.19/63.25 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.19/63.25 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.19/63.25 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.19/63.25 mark(isNat(X)) -> active(isNat(X)) 177.19/63.25 mark(U16(X)) -> active(U16(mark(X))) 177.19/63.25 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.19/63.25 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.19/63.25 mark(U23(X)) -> active(U23(mark(X))) 177.19/63.25 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.19/63.25 mark(U32(X)) -> active(U32(mark(X))) 177.19/63.25 mark(U41(X)) -> active(U41(mark(X))) 177.19/63.25 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.19/63.25 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.19/63.25 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.19/63.25 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.19/63.25 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.19/63.25 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.19/63.25 mark(s(X)) -> active(s(mark(X))) 177.19/63.25 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.19/63.25 mark(0) -> active(0) 177.19/63.25 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.25 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.25 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.25 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.25 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.25 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.25 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.25 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.25 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.25 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.25 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.25 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.25 isNatKind(mark(X)) -> isNatKind(X) 177.19/63.25 isNatKind(active(X)) -> isNatKind(X) 177.19/63.25 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.25 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.25 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.25 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.25 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.25 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.25 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.25 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.25 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.25 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.25 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.25 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.25 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.25 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.25 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.25 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.25 isNat(mark(X)) -> isNat(X) 177.19/63.25 isNat(active(X)) -> isNat(X) 177.19/63.25 U16(mark(X)) -> U16(X) 177.19/63.25 U16(active(X)) -> U16(X) 177.19/63.25 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.25 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.25 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.25 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.25 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.25 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.25 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.25 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.25 U23(mark(X)) -> U23(X) 177.19/63.25 U23(active(X)) -> U23(X) 177.19/63.25 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.25 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.25 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.25 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.25 U32(mark(X)) -> U32(X) 177.19/63.25 U32(active(X)) -> U32(X) 177.19/63.25 U41(mark(X)) -> U41(X) 177.19/63.25 U41(active(X)) -> U41(X) 177.19/63.25 U51(mark(X1), X2) -> U51(X1, X2) 177.19/63.25 U51(X1, mark(X2)) -> U51(X1, X2) 177.19/63.25 U51(active(X1), X2) -> U51(X1, X2) 177.19/63.25 U51(X1, active(X2)) -> U51(X1, X2) 177.19/63.25 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.25 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.25 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.25 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.25 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.25 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.25 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.25 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.25 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.25 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.25 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.25 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.25 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.25 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.25 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.25 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.25 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.25 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.19/63.25 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.19/63.25 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.25 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.19/63.25 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.19/63.25 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.25 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.19/63.25 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.19/63.25 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.25 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.19/63.25 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.19/63.25 s(mark(X)) -> s(X) 177.19/63.25 s(active(X)) -> s(X) 177.19/63.25 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.25 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.25 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.25 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.25 177.19/63.25 The set Q consists of the following terms: 177.19/63.25 177.19/63.25 active(U11(tt, x0, x1)) 177.19/63.25 active(U12(tt, x0, x1)) 177.19/63.25 active(U13(tt, x0, x1)) 177.19/63.25 active(U14(tt, x0, x1)) 177.19/63.25 active(U15(tt, x0)) 177.19/63.25 active(U16(tt)) 177.19/63.25 active(U21(tt, x0)) 177.19/63.25 active(U22(tt, x0)) 177.19/63.25 active(U23(tt)) 177.19/63.25 active(U31(tt, x0)) 177.19/63.25 active(U32(tt)) 177.19/63.25 active(U41(tt)) 177.19/63.25 active(U51(tt, x0)) 177.19/63.25 active(U52(tt, x0)) 177.19/63.25 active(U61(tt, x0, x1)) 177.19/63.25 active(U62(tt, x0, x1)) 177.19/63.25 active(U63(tt, x0, x1)) 177.19/63.25 active(U64(tt, x0, x1)) 177.19/63.25 active(isNat(0)) 177.19/63.25 active(isNat(plus(x0, x1))) 177.19/63.25 active(isNat(s(x0))) 177.19/63.25 active(isNatKind(0)) 177.19/63.25 active(isNatKind(plus(x0, x1))) 177.19/63.25 active(isNatKind(s(x0))) 177.19/63.25 active(plus(x0, 0)) 177.19/63.25 active(plus(x0, s(x1))) 177.19/63.25 mark(U11(x0, x1, x2)) 177.19/63.25 mark(tt) 177.19/63.25 mark(U12(x0, x1, x2)) 177.19/63.25 mark(isNatKind(x0)) 177.19/63.25 mark(U13(x0, x1, x2)) 177.19/63.25 mark(U14(x0, x1, x2)) 177.19/63.25 mark(U15(x0, x1)) 177.19/63.25 mark(isNat(x0)) 177.19/63.25 mark(U16(x0)) 177.19/63.25 mark(U21(x0, x1)) 177.19/63.25 mark(U22(x0, x1)) 177.19/63.25 mark(U23(x0)) 177.19/63.25 mark(U31(x0, x1)) 177.19/63.25 mark(U32(x0)) 177.19/63.25 mark(U41(x0)) 177.19/63.25 mark(U51(x0, x1)) 177.19/63.25 mark(U52(x0, x1)) 177.19/63.25 mark(U61(x0, x1, x2)) 177.19/63.25 mark(U62(x0, x1, x2)) 177.19/63.25 mark(U63(x0, x1, x2)) 177.19/63.25 mark(U64(x0, x1, x2)) 177.19/63.25 mark(s(x0)) 177.19/63.25 mark(plus(x0, x1)) 177.19/63.25 mark(0) 177.19/63.25 U11(mark(x0), x1, x2) 177.19/63.25 U11(x0, mark(x1), x2) 177.19/63.25 U11(x0, x1, mark(x2)) 177.19/63.25 U11(active(x0), x1, x2) 177.19/63.25 U11(x0, active(x1), x2) 177.19/63.25 U11(x0, x1, active(x2)) 177.19/63.25 U12(mark(x0), x1, x2) 177.19/63.25 U12(x0, mark(x1), x2) 177.19/63.25 U12(x0, x1, mark(x2)) 177.19/63.25 U12(active(x0), x1, x2) 177.19/63.25 U12(x0, active(x1), x2) 177.19/63.25 U12(x0, x1, active(x2)) 177.19/63.25 isNatKind(mark(x0)) 177.19/63.25 isNatKind(active(x0)) 177.19/63.25 U13(mark(x0), x1, x2) 177.19/63.25 U13(x0, mark(x1), x2) 177.19/63.25 U13(x0, x1, mark(x2)) 177.19/63.25 U13(active(x0), x1, x2) 177.19/63.25 U13(x0, active(x1), x2) 177.19/63.25 U13(x0, x1, active(x2)) 177.19/63.25 U14(mark(x0), x1, x2) 177.19/63.25 U14(x0, mark(x1), x2) 177.19/63.25 U14(x0, x1, mark(x2)) 177.19/63.25 U14(active(x0), x1, x2) 177.19/63.25 U14(x0, active(x1), x2) 177.19/63.25 U14(x0, x1, active(x2)) 177.19/63.25 U15(mark(x0), x1) 177.19/63.25 U15(x0, mark(x1)) 177.19/63.25 U15(active(x0), x1) 177.19/63.25 U15(x0, active(x1)) 177.19/63.25 isNat(mark(x0)) 177.19/63.25 isNat(active(x0)) 177.19/63.25 U16(mark(x0)) 177.19/63.25 U16(active(x0)) 177.19/63.25 U21(mark(x0), x1) 177.19/63.25 U21(x0, mark(x1)) 177.19/63.25 U21(active(x0), x1) 177.19/63.25 U21(x0, active(x1)) 177.19/63.25 U22(mark(x0), x1) 177.19/63.25 U22(x0, mark(x1)) 177.19/63.25 U22(active(x0), x1) 177.19/63.25 U22(x0, active(x1)) 177.19/63.25 U23(mark(x0)) 177.19/63.25 U23(active(x0)) 177.19/63.25 U31(mark(x0), x1) 177.19/63.25 U31(x0, mark(x1)) 177.19/63.25 U31(active(x0), x1) 177.19/63.25 U31(x0, active(x1)) 177.19/63.25 U32(mark(x0)) 177.19/63.25 U32(active(x0)) 177.19/63.25 U41(mark(x0)) 177.19/63.25 U41(active(x0)) 177.19/63.25 U51(mark(x0), x1) 177.19/63.25 U51(x0, mark(x1)) 177.19/63.25 U51(active(x0), x1) 177.19/63.25 U51(x0, active(x1)) 177.19/63.25 U52(mark(x0), x1) 177.19/63.25 U52(x0, mark(x1)) 177.19/63.25 U52(active(x0), x1) 177.19/63.25 U52(x0, active(x1)) 177.19/63.25 U61(mark(x0), x1, x2) 177.19/63.25 U61(x0, mark(x1), x2) 177.19/63.25 U61(x0, x1, mark(x2)) 177.19/63.25 U61(active(x0), x1, x2) 177.19/63.25 U61(x0, active(x1), x2) 177.19/63.25 U61(x0, x1, active(x2)) 177.19/63.25 U62(mark(x0), x1, x2) 177.19/63.25 U62(x0, mark(x1), x2) 177.19/63.25 U62(x0, x1, mark(x2)) 177.19/63.25 U62(active(x0), x1, x2) 177.19/63.25 U62(x0, active(x1), x2) 177.19/63.25 U62(x0, x1, active(x2)) 177.19/63.25 U63(mark(x0), x1, x2) 177.19/63.25 U63(x0, mark(x1), x2) 177.19/63.25 U63(x0, x1, mark(x2)) 177.19/63.25 U63(active(x0), x1, x2) 177.19/63.25 U63(x0, active(x1), x2) 177.19/63.25 U63(x0, x1, active(x2)) 177.19/63.25 U64(mark(x0), x1, x2) 177.19/63.25 U64(x0, mark(x1), x2) 177.19/63.25 U64(x0, x1, mark(x2)) 177.19/63.25 U64(active(x0), x1, x2) 177.19/63.25 U64(x0, active(x1), x2) 177.19/63.25 U64(x0, x1, active(x2)) 177.19/63.25 s(mark(x0)) 177.19/63.25 s(active(x0)) 177.19/63.25 plus(mark(x0), x1) 177.19/63.25 plus(x0, mark(x1)) 177.19/63.25 plus(active(x0), x1) 177.19/63.25 plus(x0, active(x1)) 177.19/63.25 177.19/63.25 We have to consider all minimal (P,Q,R)-chains. 177.19/63.25 ---------------------------------------- 177.19/63.25 177.19/63.25 (153) UsableRulesProof (EQUIVALENT) 177.19/63.25 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. 177.19/63.25 ---------------------------------------- 177.19/63.25 177.19/63.25 (154) 177.19/63.25 Obligation: 177.19/63.25 Q DP problem: 177.19/63.25 The TRS P consists of the following rules: 177.19/63.25 177.19/63.25 U11^1(X1, mark(X2), X3) -> U11^1(X1, X2, X3) 177.19/63.25 U11^1(mark(X1), X2, X3) -> U11^1(X1, X2, X3) 177.19/63.25 U11^1(X1, X2, mark(X3)) -> U11^1(X1, X2, X3) 177.19/63.25 U11^1(active(X1), X2, X3) -> U11^1(X1, X2, X3) 177.19/63.25 U11^1(X1, active(X2), X3) -> U11^1(X1, X2, X3) 177.19/63.25 U11^1(X1, X2, active(X3)) -> U11^1(X1, X2, X3) 177.19/63.25 177.19/63.25 R is empty. 177.19/63.25 The set Q consists of the following terms: 177.19/63.25 177.19/63.25 active(U11(tt, x0, x1)) 177.19/63.25 active(U12(tt, x0, x1)) 177.19/63.25 active(U13(tt, x0, x1)) 177.19/63.25 active(U14(tt, x0, x1)) 177.19/63.25 active(U15(tt, x0)) 177.19/63.25 active(U16(tt)) 177.19/63.25 active(U21(tt, x0)) 177.19/63.25 active(U22(tt, x0)) 177.19/63.25 active(U23(tt)) 177.19/63.25 active(U31(tt, x0)) 177.19/63.25 active(U32(tt)) 177.19/63.25 active(U41(tt)) 177.19/63.25 active(U51(tt, x0)) 177.19/63.25 active(U52(tt, x0)) 177.19/63.25 active(U61(tt, x0, x1)) 177.19/63.25 active(U62(tt, x0, x1)) 177.19/63.25 active(U63(tt, x0, x1)) 177.19/63.25 active(U64(tt, x0, x1)) 177.19/63.25 active(isNat(0)) 177.19/63.25 active(isNat(plus(x0, x1))) 177.19/63.25 active(isNat(s(x0))) 177.19/63.25 active(isNatKind(0)) 177.19/63.25 active(isNatKind(plus(x0, x1))) 177.19/63.25 active(isNatKind(s(x0))) 177.19/63.25 active(plus(x0, 0)) 177.19/63.25 active(plus(x0, s(x1))) 177.19/63.25 mark(U11(x0, x1, x2)) 177.19/63.25 mark(tt) 177.19/63.25 mark(U12(x0, x1, x2)) 177.19/63.25 mark(isNatKind(x0)) 177.19/63.25 mark(U13(x0, x1, x2)) 177.19/63.25 mark(U14(x0, x1, x2)) 177.19/63.25 mark(U15(x0, x1)) 177.19/63.25 mark(isNat(x0)) 177.19/63.25 mark(U16(x0)) 177.19/63.25 mark(U21(x0, x1)) 177.19/63.25 mark(U22(x0, x1)) 177.19/63.25 mark(U23(x0)) 177.19/63.25 mark(U31(x0, x1)) 177.19/63.25 mark(U32(x0)) 177.19/63.25 mark(U41(x0)) 177.19/63.25 mark(U51(x0, x1)) 177.19/63.25 mark(U52(x0, x1)) 177.19/63.25 mark(U61(x0, x1, x2)) 177.19/63.25 mark(U62(x0, x1, x2)) 177.19/63.25 mark(U63(x0, x1, x2)) 177.19/63.25 mark(U64(x0, x1, x2)) 177.19/63.25 mark(s(x0)) 177.19/63.25 mark(plus(x0, x1)) 177.19/63.25 mark(0) 177.19/63.25 U11(mark(x0), x1, x2) 177.19/63.25 U11(x0, mark(x1), x2) 177.19/63.25 U11(x0, x1, mark(x2)) 177.19/63.25 U11(active(x0), x1, x2) 177.19/63.25 U11(x0, active(x1), x2) 177.19/63.25 U11(x0, x1, active(x2)) 177.19/63.25 U12(mark(x0), x1, x2) 177.19/63.25 U12(x0, mark(x1), x2) 177.19/63.25 U12(x0, x1, mark(x2)) 177.19/63.25 U12(active(x0), x1, x2) 177.19/63.25 U12(x0, active(x1), x2) 177.19/63.25 U12(x0, x1, active(x2)) 177.19/63.25 isNatKind(mark(x0)) 177.19/63.25 isNatKind(active(x0)) 177.19/63.25 U13(mark(x0), x1, x2) 177.19/63.25 U13(x0, mark(x1), x2) 177.19/63.25 U13(x0, x1, mark(x2)) 177.19/63.25 U13(active(x0), x1, x2) 177.19/63.25 U13(x0, active(x1), x2) 177.19/63.25 U13(x0, x1, active(x2)) 177.19/63.25 U14(mark(x0), x1, x2) 177.19/63.25 U14(x0, mark(x1), x2) 177.19/63.25 U14(x0, x1, mark(x2)) 177.19/63.25 U14(active(x0), x1, x2) 177.19/63.25 U14(x0, active(x1), x2) 177.19/63.25 U14(x0, x1, active(x2)) 177.19/63.25 U15(mark(x0), x1) 177.19/63.25 U15(x0, mark(x1)) 177.19/63.25 U15(active(x0), x1) 177.19/63.25 U15(x0, active(x1)) 177.19/63.25 isNat(mark(x0)) 177.19/63.25 isNat(active(x0)) 177.19/63.25 U16(mark(x0)) 177.19/63.25 U16(active(x0)) 177.19/63.25 U21(mark(x0), x1) 177.19/63.25 U21(x0, mark(x1)) 177.19/63.25 U21(active(x0), x1) 177.19/63.25 U21(x0, active(x1)) 177.19/63.25 U22(mark(x0), x1) 177.19/63.25 U22(x0, mark(x1)) 177.19/63.25 U22(active(x0), x1) 177.19/63.25 U22(x0, active(x1)) 177.19/63.25 U23(mark(x0)) 177.19/63.25 U23(active(x0)) 177.19/63.25 U31(mark(x0), x1) 177.19/63.25 U31(x0, mark(x1)) 177.19/63.25 U31(active(x0), x1) 177.19/63.25 U31(x0, active(x1)) 177.19/63.25 U32(mark(x0)) 177.19/63.25 U32(active(x0)) 177.19/63.25 U41(mark(x0)) 177.19/63.25 U41(active(x0)) 177.19/63.25 U51(mark(x0), x1) 177.19/63.25 U51(x0, mark(x1)) 177.19/63.25 U51(active(x0), x1) 177.19/63.25 U51(x0, active(x1)) 177.19/63.25 U52(mark(x0), x1) 177.19/63.25 U52(x0, mark(x1)) 177.19/63.25 U52(active(x0), x1) 177.19/63.25 U52(x0, active(x1)) 177.19/63.25 U61(mark(x0), x1, x2) 177.19/63.25 U61(x0, mark(x1), x2) 177.19/63.25 U61(x0, x1, mark(x2)) 177.19/63.25 U61(active(x0), x1, x2) 177.19/63.25 U61(x0, active(x1), x2) 177.19/63.25 U61(x0, x1, active(x2)) 177.19/63.25 U62(mark(x0), x1, x2) 177.19/63.25 U62(x0, mark(x1), x2) 177.19/63.25 U62(x0, x1, mark(x2)) 177.19/63.25 U62(active(x0), x1, x2) 177.19/63.25 U62(x0, active(x1), x2) 177.19/63.25 U62(x0, x1, active(x2)) 177.19/63.25 U63(mark(x0), x1, x2) 177.19/63.25 U63(x0, mark(x1), x2) 177.19/63.25 U63(x0, x1, mark(x2)) 177.19/63.25 U63(active(x0), x1, x2) 177.19/63.25 U63(x0, active(x1), x2) 177.19/63.25 U63(x0, x1, active(x2)) 177.19/63.25 U64(mark(x0), x1, x2) 177.19/63.25 U64(x0, mark(x1), x2) 177.19/63.25 U64(x0, x1, mark(x2)) 177.19/63.25 U64(active(x0), x1, x2) 177.19/63.25 U64(x0, active(x1), x2) 177.19/63.25 U64(x0, x1, active(x2)) 177.19/63.25 s(mark(x0)) 177.19/63.25 s(active(x0)) 177.19/63.25 plus(mark(x0), x1) 177.19/63.25 plus(x0, mark(x1)) 177.19/63.25 plus(active(x0), x1) 177.19/63.25 plus(x0, active(x1)) 177.19/63.25 177.19/63.25 We have to consider all minimal (P,Q,R)-chains. 177.19/63.25 ---------------------------------------- 177.19/63.25 177.19/63.25 (155) QReductionProof (EQUIVALENT) 177.19/63.25 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 177.19/63.25 177.19/63.25 U11(mark(x0), x1, x2) 177.19/63.25 U11(x0, mark(x1), x2) 177.19/63.25 U11(x0, x1, mark(x2)) 177.19/63.25 U11(active(x0), x1, x2) 177.19/63.25 U11(x0, active(x1), x2) 177.19/63.25 U11(x0, x1, active(x2)) 177.19/63.25 U12(mark(x0), x1, x2) 177.19/63.25 U12(x0, mark(x1), x2) 177.19/63.25 U12(x0, x1, mark(x2)) 177.19/63.25 U12(active(x0), x1, x2) 177.19/63.25 U12(x0, active(x1), x2) 177.19/63.25 U12(x0, x1, active(x2)) 177.19/63.25 isNatKind(mark(x0)) 177.19/63.25 isNatKind(active(x0)) 177.19/63.25 U13(mark(x0), x1, x2) 177.19/63.25 U13(x0, mark(x1), x2) 177.19/63.25 U13(x0, x1, mark(x2)) 177.19/63.25 U13(active(x0), x1, x2) 177.19/63.25 U13(x0, active(x1), x2) 177.19/63.25 U13(x0, x1, active(x2)) 177.19/63.25 U14(mark(x0), x1, x2) 177.19/63.25 U14(x0, mark(x1), x2) 177.19/63.25 U14(x0, x1, mark(x2)) 177.19/63.25 U14(active(x0), x1, x2) 177.19/63.25 U14(x0, active(x1), x2) 177.19/63.25 U14(x0, x1, active(x2)) 177.19/63.25 U15(mark(x0), x1) 177.19/63.25 U15(x0, mark(x1)) 177.19/63.25 U15(active(x0), x1) 177.19/63.25 U15(x0, active(x1)) 177.19/63.25 isNat(mark(x0)) 177.19/63.25 isNat(active(x0)) 177.19/63.25 U16(mark(x0)) 177.19/63.25 U16(active(x0)) 177.19/63.25 U21(mark(x0), x1) 177.19/63.25 U21(x0, mark(x1)) 177.19/63.25 U21(active(x0), x1) 177.19/63.25 U21(x0, active(x1)) 177.19/63.25 U22(mark(x0), x1) 177.19/63.25 U22(x0, mark(x1)) 177.19/63.25 U22(active(x0), x1) 177.19/63.25 U22(x0, active(x1)) 177.19/63.25 U23(mark(x0)) 177.19/63.25 U23(active(x0)) 177.19/63.25 U31(mark(x0), x1) 177.19/63.25 U31(x0, mark(x1)) 177.19/63.25 U31(active(x0), x1) 177.19/63.25 U31(x0, active(x1)) 177.19/63.25 U32(mark(x0)) 177.19/63.25 U32(active(x0)) 177.19/63.25 U41(mark(x0)) 177.19/63.25 U41(active(x0)) 177.19/63.25 U51(mark(x0), x1) 177.19/63.25 U51(x0, mark(x1)) 177.19/63.25 U51(active(x0), x1) 177.19/63.25 U51(x0, active(x1)) 177.19/63.25 U52(mark(x0), x1) 177.19/63.25 U52(x0, mark(x1)) 177.19/63.25 U52(active(x0), x1) 177.19/63.25 U52(x0, active(x1)) 177.19/63.25 U61(mark(x0), x1, x2) 177.19/63.25 U61(x0, mark(x1), x2) 177.19/63.25 U61(x0, x1, mark(x2)) 177.19/63.25 U61(active(x0), x1, x2) 177.19/63.25 U61(x0, active(x1), x2) 177.19/63.25 U61(x0, x1, active(x2)) 177.19/63.25 U62(mark(x0), x1, x2) 177.19/63.25 U62(x0, mark(x1), x2) 177.19/63.25 U62(x0, x1, mark(x2)) 177.19/63.25 U62(active(x0), x1, x2) 177.19/63.25 U62(x0, active(x1), x2) 177.19/63.25 U62(x0, x1, active(x2)) 177.19/63.25 U63(mark(x0), x1, x2) 177.19/63.25 U63(x0, mark(x1), x2) 177.19/63.25 U63(x0, x1, mark(x2)) 177.19/63.25 U63(active(x0), x1, x2) 177.19/63.25 U63(x0, active(x1), x2) 177.19/63.25 U63(x0, x1, active(x2)) 177.19/63.25 U64(mark(x0), x1, x2) 177.19/63.25 U64(x0, mark(x1), x2) 177.19/63.25 U64(x0, x1, mark(x2)) 177.19/63.25 U64(active(x0), x1, x2) 177.19/63.25 U64(x0, active(x1), x2) 177.19/63.25 U64(x0, x1, active(x2)) 177.19/63.25 s(mark(x0)) 177.19/63.25 s(active(x0)) 177.19/63.25 plus(mark(x0), x1) 177.19/63.25 plus(x0, mark(x1)) 177.19/63.25 plus(active(x0), x1) 177.19/63.25 plus(x0, active(x1)) 177.19/63.25 177.19/63.25 177.19/63.25 ---------------------------------------- 177.19/63.25 177.19/63.25 (156) 177.19/63.25 Obligation: 177.19/63.25 Q DP problem: 177.19/63.25 The TRS P consists of the following rules: 177.19/63.25 177.19/63.25 U11^1(X1, mark(X2), X3) -> U11^1(X1, X2, X3) 177.19/63.25 U11^1(mark(X1), X2, X3) -> U11^1(X1, X2, X3) 177.19/63.25 U11^1(X1, X2, mark(X3)) -> U11^1(X1, X2, X3) 177.19/63.25 U11^1(active(X1), X2, X3) -> U11^1(X1, X2, X3) 177.19/63.25 U11^1(X1, active(X2), X3) -> U11^1(X1, X2, X3) 177.19/63.25 U11^1(X1, X2, active(X3)) -> U11^1(X1, X2, X3) 177.19/63.25 177.19/63.25 R is empty. 177.19/63.25 The set Q consists of the following terms: 177.19/63.25 177.19/63.25 active(U11(tt, x0, x1)) 177.19/63.25 active(U12(tt, x0, x1)) 177.19/63.25 active(U13(tt, x0, x1)) 177.19/63.25 active(U14(tt, x0, x1)) 177.19/63.25 active(U15(tt, x0)) 177.19/63.25 active(U16(tt)) 177.19/63.25 active(U21(tt, x0)) 177.19/63.25 active(U22(tt, x0)) 177.19/63.25 active(U23(tt)) 177.19/63.25 active(U31(tt, x0)) 177.19/63.25 active(U32(tt)) 177.19/63.25 active(U41(tt)) 177.19/63.25 active(U51(tt, x0)) 177.19/63.25 active(U52(tt, x0)) 177.19/63.25 active(U61(tt, x0, x1)) 177.19/63.25 active(U62(tt, x0, x1)) 177.19/63.25 active(U63(tt, x0, x1)) 177.19/63.25 active(U64(tt, x0, x1)) 177.19/63.25 active(isNat(0)) 177.19/63.25 active(isNat(plus(x0, x1))) 177.19/63.25 active(isNat(s(x0))) 177.19/63.25 active(isNatKind(0)) 177.19/63.25 active(isNatKind(plus(x0, x1))) 177.19/63.25 active(isNatKind(s(x0))) 177.19/63.25 active(plus(x0, 0)) 177.19/63.25 active(plus(x0, s(x1))) 177.19/63.25 mark(U11(x0, x1, x2)) 177.19/63.25 mark(tt) 177.19/63.25 mark(U12(x0, x1, x2)) 177.19/63.25 mark(isNatKind(x0)) 177.19/63.25 mark(U13(x0, x1, x2)) 177.19/63.25 mark(U14(x0, x1, x2)) 177.19/63.25 mark(U15(x0, x1)) 177.19/63.25 mark(isNat(x0)) 177.19/63.25 mark(U16(x0)) 177.19/63.25 mark(U21(x0, x1)) 177.19/63.25 mark(U22(x0, x1)) 177.19/63.25 mark(U23(x0)) 177.19/63.25 mark(U31(x0, x1)) 177.19/63.25 mark(U32(x0)) 177.19/63.25 mark(U41(x0)) 177.19/63.25 mark(U51(x0, x1)) 177.19/63.25 mark(U52(x0, x1)) 177.19/63.25 mark(U61(x0, x1, x2)) 177.19/63.25 mark(U62(x0, x1, x2)) 177.19/63.25 mark(U63(x0, x1, x2)) 177.19/63.25 mark(U64(x0, x1, x2)) 177.19/63.25 mark(s(x0)) 177.19/63.25 mark(plus(x0, x1)) 177.19/63.25 mark(0) 177.19/63.25 177.19/63.25 We have to consider all minimal (P,Q,R)-chains. 177.19/63.25 ---------------------------------------- 177.19/63.25 177.19/63.25 (157) QDPSizeChangeProof (EQUIVALENT) 177.19/63.25 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. 177.19/63.25 177.19/63.25 From the DPs we obtained the following set of size-change graphs: 177.19/63.25 *U11^1(X1, mark(X2), X3) -> U11^1(X1, X2, X3) 177.19/63.25 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 177.19/63.25 177.19/63.25 177.19/63.25 *U11^1(mark(X1), X2, X3) -> U11^1(X1, X2, X3) 177.19/63.25 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 177.19/63.25 177.19/63.25 177.19/63.25 *U11^1(X1, X2, mark(X3)) -> U11^1(X1, X2, X3) 177.19/63.25 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 177.19/63.25 177.19/63.25 177.19/63.25 *U11^1(active(X1), X2, X3) -> U11^1(X1, X2, X3) 177.19/63.25 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 177.19/63.25 177.19/63.25 177.19/63.25 *U11^1(X1, active(X2), X3) -> U11^1(X1, X2, X3) 177.19/63.25 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 177.19/63.25 177.19/63.25 177.19/63.25 *U11^1(X1, X2, active(X3)) -> U11^1(X1, X2, X3) 177.19/63.25 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 177.19/63.25 177.19/63.25 177.19/63.25 ---------------------------------------- 177.19/63.25 177.19/63.25 (158) 177.19/63.25 YES 177.19/63.25 177.19/63.25 ---------------------------------------- 177.19/63.25 177.19/63.25 (159) 177.19/63.25 Obligation: 177.19/63.25 Q DP problem: 177.19/63.25 The TRS P consists of the following rules: 177.19/63.25 177.19/63.25 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 177.19/63.25 ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) 177.19/63.25 MARK(U12(X1, X2, X3)) -> MARK(X1) 177.19/63.25 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.19/63.25 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.19/63.25 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.19/63.25 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.19/63.25 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.19/63.25 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.19/63.25 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.19/63.25 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.19/63.25 MARK(U16(X)) -> ACTIVE(U16(mark(X))) 177.19/63.25 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 177.19/63.25 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 177.19/63.25 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 177.19/63.25 MARK(U23(X)) -> ACTIVE(U23(mark(X))) 177.19/63.25 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.19/63.25 MARK(U32(X)) -> ACTIVE(U32(mark(X))) 177.19/63.25 ACTIVE(U51(tt, N)) -> MARK(U52(isNatKind(N), N)) 177.19/63.25 MARK(U52(X1, X2)) -> ACTIVE(U52(mark(X1), X2)) 177.19/63.25 ACTIVE(U52(tt, N)) -> MARK(N) 177.19/63.25 MARK(U11(X1, X2, X3)) -> MARK(X1) 177.19/63.25 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.19/63.25 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.19/63.25 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.19/63.25 ACTIVE(U61(tt, M, N)) -> MARK(U62(isNatKind(M), M, N)) 177.19/63.25 MARK(U62(X1, X2, X3)) -> ACTIVE(U62(mark(X1), X2, X3)) 177.19/63.25 ACTIVE(U62(tt, M, N)) -> MARK(U63(isNat(N), M, N)) 177.19/63.25 MARK(U63(X1, X2, X3)) -> ACTIVE(U63(mark(X1), X2, X3)) 177.19/63.25 ACTIVE(U63(tt, M, N)) -> MARK(U64(isNatKind(N), M, N)) 177.19/63.25 MARK(U64(X1, X2, X3)) -> ACTIVE(U64(mark(X1), X2, X3)) 177.19/63.25 ACTIVE(U64(tt, M, N)) -> MARK(s(plus(N, M))) 177.19/63.25 MARK(s(X)) -> ACTIVE(s(mark(X))) 177.19/63.25 ACTIVE(plus(N, 0)) -> MARK(U51(isNat(N), N)) 177.19/63.25 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 177.19/63.25 ACTIVE(plus(N, s(M))) -> MARK(U61(isNat(M), M, N)) 177.19/63.25 MARK(U61(X1, X2, X3)) -> ACTIVE(U61(mark(X1), X2, X3)) 177.19/63.25 MARK(U61(X1, X2, X3)) -> MARK(X1) 177.19/63.25 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.19/63.25 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.19/63.25 MARK(U15(X1, X2)) -> MARK(X1) 177.19/63.25 MARK(isNat(X)) -> ACTIVE(isNat(X)) 177.19/63.25 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) 177.19/63.25 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 177.19/63.25 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 177.19/63.25 MARK(U21(X1, X2)) -> MARK(X1) 177.19/63.25 MARK(U16(X)) -> MARK(X) 177.19/63.25 MARK(U22(X1, X2)) -> MARK(X1) 177.19/63.25 MARK(U23(X)) -> MARK(X) 177.19/63.25 MARK(U31(X1, X2)) -> MARK(X1) 177.19/63.25 MARK(U32(X)) -> MARK(X) 177.19/63.25 MARK(U41(X)) -> ACTIVE(U41(mark(X))) 177.19/63.25 MARK(U41(X)) -> MARK(X) 177.19/63.25 MARK(U51(X1, X2)) -> MARK(X1) 177.19/63.25 MARK(U52(X1, X2)) -> MARK(X1) 177.19/63.25 MARK(U62(X1, X2, X3)) -> MARK(X1) 177.19/63.25 MARK(U63(X1, X2, X3)) -> MARK(X1) 177.19/63.25 MARK(U64(X1, X2, X3)) -> MARK(X1) 177.19/63.25 MARK(s(X)) -> MARK(X) 177.19/63.25 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 177.19/63.25 MARK(plus(X1, X2)) -> MARK(X1) 177.19/63.25 MARK(plus(X1, X2)) -> MARK(X2) 177.19/63.25 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.19/63.25 177.19/63.25 The TRS R consists of the following rules: 177.19/63.25 177.19/63.25 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.19/63.25 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.19/63.25 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.19/63.25 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.19/63.25 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.19/63.25 active(U16(tt)) -> mark(tt) 177.19/63.25 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.19/63.25 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.19/63.25 active(U23(tt)) -> mark(tt) 177.19/63.25 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.19/63.25 active(U32(tt)) -> mark(tt) 177.19/63.25 active(U41(tt)) -> mark(tt) 177.19/63.25 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.19/63.25 active(U52(tt, N)) -> mark(N) 177.19/63.25 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.19/63.25 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.19/63.25 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.19/63.25 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.19/63.25 active(isNat(0)) -> mark(tt) 177.19/63.25 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.19/63.25 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.19/63.25 active(isNatKind(0)) -> mark(tt) 177.19/63.25 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.19/63.25 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.19/63.25 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.19/63.25 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.19/63.25 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.19/63.25 mark(tt) -> active(tt) 177.19/63.25 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.19/63.25 mark(isNatKind(X)) -> active(isNatKind(X)) 177.19/63.25 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.19/63.25 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.19/63.25 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.19/63.25 mark(isNat(X)) -> active(isNat(X)) 177.19/63.25 mark(U16(X)) -> active(U16(mark(X))) 177.19/63.25 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.19/63.25 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.19/63.25 mark(U23(X)) -> active(U23(mark(X))) 177.19/63.25 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.19/63.25 mark(U32(X)) -> active(U32(mark(X))) 177.19/63.25 mark(U41(X)) -> active(U41(mark(X))) 177.19/63.25 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.19/63.25 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.19/63.25 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.19/63.25 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.19/63.25 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.19/63.25 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.19/63.25 mark(s(X)) -> active(s(mark(X))) 177.19/63.25 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.19/63.25 mark(0) -> active(0) 177.19/63.25 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.25 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.25 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.25 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.25 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.25 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.25 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.25 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.25 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.25 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.25 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.25 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.25 isNatKind(mark(X)) -> isNatKind(X) 177.19/63.25 isNatKind(active(X)) -> isNatKind(X) 177.19/63.25 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.25 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.25 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.25 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.25 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.25 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.25 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.25 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.25 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.25 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.25 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.25 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.25 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.25 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.25 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.25 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.25 isNat(mark(X)) -> isNat(X) 177.19/63.25 isNat(active(X)) -> isNat(X) 177.19/63.25 U16(mark(X)) -> U16(X) 177.19/63.25 U16(active(X)) -> U16(X) 177.19/63.25 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.25 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.25 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.25 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.25 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.25 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.25 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.25 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.25 U23(mark(X)) -> U23(X) 177.19/63.25 U23(active(X)) -> U23(X) 177.19/63.25 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.25 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.25 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.25 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.25 U32(mark(X)) -> U32(X) 177.19/63.25 U32(active(X)) -> U32(X) 177.19/63.25 U41(mark(X)) -> U41(X) 177.19/63.25 U41(active(X)) -> U41(X) 177.19/63.25 U51(mark(X1), X2) -> U51(X1, X2) 177.19/63.25 U51(X1, mark(X2)) -> U51(X1, X2) 177.19/63.25 U51(active(X1), X2) -> U51(X1, X2) 177.19/63.25 U51(X1, active(X2)) -> U51(X1, X2) 177.19/63.25 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.25 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.25 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.25 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.25 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.25 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.25 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.25 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.25 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.25 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.25 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.25 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.25 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.25 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.25 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.25 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.25 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.25 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.19/63.25 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.19/63.25 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.25 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.19/63.25 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.19/63.25 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.25 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.19/63.25 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.19/63.25 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.25 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.19/63.25 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.19/63.25 s(mark(X)) -> s(X) 177.19/63.25 s(active(X)) -> s(X) 177.19/63.25 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.25 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.25 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.25 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.25 177.19/63.25 The set Q consists of the following terms: 177.19/63.25 177.19/63.25 active(U11(tt, x0, x1)) 177.19/63.25 active(U12(tt, x0, x1)) 177.19/63.25 active(U13(tt, x0, x1)) 177.19/63.25 active(U14(tt, x0, x1)) 177.19/63.25 active(U15(tt, x0)) 177.19/63.25 active(U16(tt)) 177.19/63.25 active(U21(tt, x0)) 177.19/63.25 active(U22(tt, x0)) 177.19/63.25 active(U23(tt)) 177.19/63.25 active(U31(tt, x0)) 177.19/63.25 active(U32(tt)) 177.19/63.25 active(U41(tt)) 177.19/63.25 active(U51(tt, x0)) 177.19/63.25 active(U52(tt, x0)) 177.19/63.25 active(U61(tt, x0, x1)) 177.19/63.25 active(U62(tt, x0, x1)) 177.19/63.25 active(U63(tt, x0, x1)) 177.19/63.25 active(U64(tt, x0, x1)) 177.19/63.25 active(isNat(0)) 177.19/63.25 active(isNat(plus(x0, x1))) 177.19/63.25 active(isNat(s(x0))) 177.19/63.25 active(isNatKind(0)) 177.19/63.25 active(isNatKind(plus(x0, x1))) 177.19/63.25 active(isNatKind(s(x0))) 177.19/63.25 active(plus(x0, 0)) 177.19/63.25 active(plus(x0, s(x1))) 177.19/63.25 mark(U11(x0, x1, x2)) 177.19/63.25 mark(tt) 177.19/63.25 mark(U12(x0, x1, x2)) 177.19/63.25 mark(isNatKind(x0)) 177.19/63.25 mark(U13(x0, x1, x2)) 177.19/63.25 mark(U14(x0, x1, x2)) 177.19/63.25 mark(U15(x0, x1)) 177.19/63.25 mark(isNat(x0)) 177.19/63.25 mark(U16(x0)) 177.19/63.25 mark(U21(x0, x1)) 177.19/63.25 mark(U22(x0, x1)) 177.19/63.25 mark(U23(x0)) 177.19/63.25 mark(U31(x0, x1)) 177.19/63.25 mark(U32(x0)) 177.19/63.25 mark(U41(x0)) 177.19/63.25 mark(U51(x0, x1)) 177.19/63.25 mark(U52(x0, x1)) 177.19/63.25 mark(U61(x0, x1, x2)) 177.19/63.25 mark(U62(x0, x1, x2)) 177.19/63.25 mark(U63(x0, x1, x2)) 177.19/63.25 mark(U64(x0, x1, x2)) 177.19/63.25 mark(s(x0)) 177.19/63.25 mark(plus(x0, x1)) 177.19/63.25 mark(0) 177.19/63.25 U11(mark(x0), x1, x2) 177.19/63.25 U11(x0, mark(x1), x2) 177.19/63.25 U11(x0, x1, mark(x2)) 177.19/63.25 U11(active(x0), x1, x2) 177.19/63.25 U11(x0, active(x1), x2) 177.19/63.25 U11(x0, x1, active(x2)) 177.19/63.25 U12(mark(x0), x1, x2) 177.19/63.25 U12(x0, mark(x1), x2) 177.19/63.25 U12(x0, x1, mark(x2)) 177.19/63.25 U12(active(x0), x1, x2) 177.19/63.25 U12(x0, active(x1), x2) 177.19/63.25 U12(x0, x1, active(x2)) 177.19/63.25 isNatKind(mark(x0)) 177.19/63.25 isNatKind(active(x0)) 177.19/63.25 U13(mark(x0), x1, x2) 177.19/63.25 U13(x0, mark(x1), x2) 177.19/63.25 U13(x0, x1, mark(x2)) 177.19/63.25 U13(active(x0), x1, x2) 177.19/63.25 U13(x0, active(x1), x2) 177.19/63.25 U13(x0, x1, active(x2)) 177.19/63.25 U14(mark(x0), x1, x2) 177.19/63.25 U14(x0, mark(x1), x2) 177.19/63.25 U14(x0, x1, mark(x2)) 177.19/63.25 U14(active(x0), x1, x2) 177.19/63.25 U14(x0, active(x1), x2) 177.19/63.25 U14(x0, x1, active(x2)) 177.19/63.25 U15(mark(x0), x1) 177.19/63.25 U15(x0, mark(x1)) 177.19/63.25 U15(active(x0), x1) 177.19/63.25 U15(x0, active(x1)) 177.19/63.25 isNat(mark(x0)) 177.19/63.25 isNat(active(x0)) 177.19/63.25 U16(mark(x0)) 177.19/63.25 U16(active(x0)) 177.19/63.25 U21(mark(x0), x1) 177.19/63.25 U21(x0, mark(x1)) 177.19/63.25 U21(active(x0), x1) 177.19/63.25 U21(x0, active(x1)) 177.19/63.25 U22(mark(x0), x1) 177.19/63.25 U22(x0, mark(x1)) 177.19/63.25 U22(active(x0), x1) 177.19/63.25 U22(x0, active(x1)) 177.19/63.25 U23(mark(x0)) 177.19/63.25 U23(active(x0)) 177.19/63.25 U31(mark(x0), x1) 177.19/63.25 U31(x0, mark(x1)) 177.19/63.25 U31(active(x0), x1) 177.19/63.25 U31(x0, active(x1)) 177.19/63.25 U32(mark(x0)) 177.19/63.25 U32(active(x0)) 177.19/63.25 U41(mark(x0)) 177.19/63.25 U41(active(x0)) 177.19/63.25 U51(mark(x0), x1) 177.19/63.25 U51(x0, mark(x1)) 177.19/63.25 U51(active(x0), x1) 177.19/63.25 U51(x0, active(x1)) 177.19/63.25 U52(mark(x0), x1) 177.19/63.25 U52(x0, mark(x1)) 177.19/63.25 U52(active(x0), x1) 177.19/63.25 U52(x0, active(x1)) 177.19/63.25 U61(mark(x0), x1, x2) 177.19/63.25 U61(x0, mark(x1), x2) 177.19/63.25 U61(x0, x1, mark(x2)) 177.19/63.25 U61(active(x0), x1, x2) 177.19/63.25 U61(x0, active(x1), x2) 177.19/63.25 U61(x0, x1, active(x2)) 177.19/63.25 U62(mark(x0), x1, x2) 177.19/63.25 U62(x0, mark(x1), x2) 177.19/63.25 U62(x0, x1, mark(x2)) 177.19/63.25 U62(active(x0), x1, x2) 177.19/63.25 U62(x0, active(x1), x2) 177.19/63.25 U62(x0, x1, active(x2)) 177.19/63.25 U63(mark(x0), x1, x2) 177.19/63.25 U63(x0, mark(x1), x2) 177.19/63.25 U63(x0, x1, mark(x2)) 177.19/63.25 U63(active(x0), x1, x2) 177.19/63.25 U63(x0, active(x1), x2) 177.19/63.25 U63(x0, x1, active(x2)) 177.19/63.25 U64(mark(x0), x1, x2) 177.19/63.25 U64(x0, mark(x1), x2) 177.19/63.25 U64(x0, x1, mark(x2)) 177.19/63.25 U64(active(x0), x1, x2) 177.19/63.25 U64(x0, active(x1), x2) 177.19/63.25 U64(x0, x1, active(x2)) 177.19/63.25 s(mark(x0)) 177.19/63.25 s(active(x0)) 177.19/63.25 plus(mark(x0), x1) 177.19/63.25 plus(x0, mark(x1)) 177.19/63.25 plus(active(x0), x1) 177.19/63.25 plus(x0, active(x1)) 177.19/63.25 177.19/63.25 We have to consider all minimal (P,Q,R)-chains. 177.19/63.25 ---------------------------------------- 177.19/63.25 177.19/63.25 (160) UsableRulesProof (EQUIVALENT) 177.19/63.25 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. 177.19/63.25 ---------------------------------------- 177.19/63.25 177.19/63.25 (161) 177.19/63.25 Obligation: 177.19/63.25 Q DP problem: 177.19/63.25 The TRS P consists of the following rules: 177.19/63.25 177.19/63.25 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 177.19/63.25 ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) 177.19/63.25 MARK(U12(X1, X2, X3)) -> MARK(X1) 177.19/63.25 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.19/63.25 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.19/63.25 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.19/63.25 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.19/63.25 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.19/63.25 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.19/63.25 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.19/63.25 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.19/63.25 MARK(U16(X)) -> ACTIVE(U16(mark(X))) 177.19/63.25 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 177.19/63.25 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 177.19/63.25 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 177.19/63.25 MARK(U23(X)) -> ACTIVE(U23(mark(X))) 177.19/63.25 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.19/63.25 MARK(U32(X)) -> ACTIVE(U32(mark(X))) 177.19/63.25 ACTIVE(U51(tt, N)) -> MARK(U52(isNatKind(N), N)) 177.19/63.25 MARK(U52(X1, X2)) -> ACTIVE(U52(mark(X1), X2)) 177.19/63.25 ACTIVE(U52(tt, N)) -> MARK(N) 177.19/63.25 MARK(U11(X1, X2, X3)) -> MARK(X1) 177.19/63.25 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.19/63.25 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.19/63.25 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.19/63.25 ACTIVE(U61(tt, M, N)) -> MARK(U62(isNatKind(M), M, N)) 177.19/63.25 MARK(U62(X1, X2, X3)) -> ACTIVE(U62(mark(X1), X2, X3)) 177.19/63.25 ACTIVE(U62(tt, M, N)) -> MARK(U63(isNat(N), M, N)) 177.19/63.25 MARK(U63(X1, X2, X3)) -> ACTIVE(U63(mark(X1), X2, X3)) 177.19/63.25 ACTIVE(U63(tt, M, N)) -> MARK(U64(isNatKind(N), M, N)) 177.19/63.25 MARK(U64(X1, X2, X3)) -> ACTIVE(U64(mark(X1), X2, X3)) 177.19/63.25 ACTIVE(U64(tt, M, N)) -> MARK(s(plus(N, M))) 177.19/63.25 MARK(s(X)) -> ACTIVE(s(mark(X))) 177.19/63.25 ACTIVE(plus(N, 0)) -> MARK(U51(isNat(N), N)) 177.19/63.25 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 177.19/63.25 ACTIVE(plus(N, s(M))) -> MARK(U61(isNat(M), M, N)) 177.19/63.25 MARK(U61(X1, X2, X3)) -> ACTIVE(U61(mark(X1), X2, X3)) 177.19/63.25 MARK(U61(X1, X2, X3)) -> MARK(X1) 177.19/63.25 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.19/63.25 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.19/63.25 MARK(U15(X1, X2)) -> MARK(X1) 177.19/63.25 MARK(isNat(X)) -> ACTIVE(isNat(X)) 177.19/63.25 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) 177.19/63.25 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 177.19/63.25 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 177.19/63.25 MARK(U21(X1, X2)) -> MARK(X1) 177.19/63.25 MARK(U16(X)) -> MARK(X) 177.19/63.25 MARK(U22(X1, X2)) -> MARK(X1) 177.19/63.25 MARK(U23(X)) -> MARK(X) 177.19/63.25 MARK(U31(X1, X2)) -> MARK(X1) 177.19/63.25 MARK(U32(X)) -> MARK(X) 177.19/63.25 MARK(U41(X)) -> ACTIVE(U41(mark(X))) 177.19/63.25 MARK(U41(X)) -> MARK(X) 177.19/63.25 MARK(U51(X1, X2)) -> MARK(X1) 177.19/63.25 MARK(U52(X1, X2)) -> MARK(X1) 177.19/63.25 MARK(U62(X1, X2, X3)) -> MARK(X1) 177.19/63.25 MARK(U63(X1, X2, X3)) -> MARK(X1) 177.19/63.25 MARK(U64(X1, X2, X3)) -> MARK(X1) 177.19/63.25 MARK(s(X)) -> MARK(X) 177.19/63.25 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 177.19/63.25 MARK(plus(X1, X2)) -> MARK(X1) 177.19/63.25 MARK(plus(X1, X2)) -> MARK(X2) 177.19/63.25 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.19/63.25 177.19/63.25 The TRS R consists of the following rules: 177.19/63.25 177.19/63.25 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.19/63.25 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.19/63.25 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.19/63.25 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.19/63.25 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.19/63.25 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.19/63.25 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.19/63.25 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.19/63.25 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.19/63.25 mark(U16(X)) -> active(U16(mark(X))) 177.19/63.25 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.19/63.25 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.19/63.25 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.19/63.25 mark(U23(X)) -> active(U23(mark(X))) 177.19/63.25 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.19/63.25 mark(U32(X)) -> active(U32(mark(X))) 177.19/63.25 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.19/63.25 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.19/63.25 active(U52(tt, N)) -> mark(N) 177.19/63.25 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.19/63.25 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.19/63.25 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.19/63.25 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.19/63.25 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.19/63.25 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.19/63.25 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.19/63.25 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.19/63.25 mark(s(X)) -> active(s(mark(X))) 177.19/63.25 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.19/63.25 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.19/63.25 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.19/63.25 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.19/63.25 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.19/63.25 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.19/63.25 mark(U41(X)) -> active(U41(mark(X))) 177.19/63.25 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.19/63.25 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.19/63.25 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.19/63.25 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.19/63.25 mark(isNatKind(X)) -> active(isNatKind(X)) 177.19/63.25 mark(isNat(X)) -> active(isNat(X)) 177.19/63.25 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.19/63.25 mark(tt) -> active(tt) 177.19/63.25 mark(0) -> active(0) 177.19/63.25 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.25 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.25 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.25 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.25 active(U16(tt)) -> mark(tt) 177.19/63.25 active(U23(tt)) -> mark(tt) 177.19/63.25 active(U32(tt)) -> mark(tt) 177.19/63.25 active(U41(tt)) -> mark(tt) 177.19/63.25 active(isNat(0)) -> mark(tt) 177.19/63.25 active(isNatKind(0)) -> mark(tt) 177.19/63.25 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.25 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.25 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.25 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.25 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.25 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.25 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.25 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.25 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.25 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.25 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.25 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.25 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.25 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.25 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.25 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.25 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.25 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.25 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.25 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.25 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.25 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.25 U16(active(X)) -> U16(X) 177.19/63.25 U16(mark(X)) -> U16(X) 177.19/63.25 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.25 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.25 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.25 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.25 U23(active(X)) -> U23(X) 177.19/63.25 U23(mark(X)) -> U23(X) 177.19/63.25 U32(active(X)) -> U32(X) 177.19/63.25 U32(mark(X)) -> U32(X) 177.19/63.25 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.25 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.25 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.25 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.25 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.25 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.25 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.25 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.25 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.25 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.25 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.25 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.25 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.25 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.25 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.25 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.25 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.19/63.25 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.25 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.19/63.25 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.25 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.19/63.25 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.19/63.25 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.19/63.25 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.25 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.19/63.25 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.25 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.19/63.25 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.19/63.25 s(active(X)) -> s(X) 177.19/63.25 s(mark(X)) -> s(X) 177.19/63.25 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.25 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.25 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.25 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.25 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.25 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.25 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.25 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.25 U41(active(X)) -> U41(X) 177.19/63.25 U41(mark(X)) -> U41(X) 177.19/63.25 U51(X1, mark(X2)) -> U51(X1, X2) 177.19/63.25 U51(mark(X1), X2) -> U51(X1, X2) 177.19/63.25 U51(active(X1), X2) -> U51(X1, X2) 177.19/63.25 U51(X1, active(X2)) -> U51(X1, X2) 177.19/63.25 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.25 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.25 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.25 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.25 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.25 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.25 177.19/63.25 The set Q consists of the following terms: 177.19/63.25 177.19/63.25 active(U11(tt, x0, x1)) 177.19/63.25 active(U12(tt, x0, x1)) 177.19/63.25 active(U13(tt, x0, x1)) 177.19/63.25 active(U14(tt, x0, x1)) 177.19/63.25 active(U15(tt, x0)) 177.19/63.25 active(U16(tt)) 177.19/63.25 active(U21(tt, x0)) 177.19/63.25 active(U22(tt, x0)) 177.19/63.25 active(U23(tt)) 177.19/63.25 active(U31(tt, x0)) 177.19/63.25 active(U32(tt)) 177.19/63.25 active(U41(tt)) 177.19/63.25 active(U51(tt, x0)) 177.19/63.25 active(U52(tt, x0)) 177.19/63.25 active(U61(tt, x0, x1)) 177.19/63.25 active(U62(tt, x0, x1)) 177.19/63.25 active(U63(tt, x0, x1)) 177.19/63.25 active(U64(tt, x0, x1)) 177.19/63.25 active(isNat(0)) 177.19/63.25 active(isNat(plus(x0, x1))) 177.19/63.25 active(isNat(s(x0))) 177.19/63.25 active(isNatKind(0)) 177.19/63.25 active(isNatKind(plus(x0, x1))) 177.19/63.25 active(isNatKind(s(x0))) 177.19/63.25 active(plus(x0, 0)) 177.19/63.25 active(plus(x0, s(x1))) 177.19/63.25 mark(U11(x0, x1, x2)) 177.19/63.25 mark(tt) 177.19/63.25 mark(U12(x0, x1, x2)) 177.19/63.25 mark(isNatKind(x0)) 177.19/63.25 mark(U13(x0, x1, x2)) 177.19/63.25 mark(U14(x0, x1, x2)) 177.19/63.25 mark(U15(x0, x1)) 177.19/63.25 mark(isNat(x0)) 177.19/63.25 mark(U16(x0)) 177.19/63.25 mark(U21(x0, x1)) 177.19/63.25 mark(U22(x0, x1)) 177.19/63.25 mark(U23(x0)) 177.19/63.25 mark(U31(x0, x1)) 177.19/63.25 mark(U32(x0)) 177.19/63.25 mark(U41(x0)) 177.19/63.25 mark(U51(x0, x1)) 177.19/63.25 mark(U52(x0, x1)) 177.19/63.25 mark(U61(x0, x1, x2)) 177.19/63.25 mark(U62(x0, x1, x2)) 177.19/63.25 mark(U63(x0, x1, x2)) 177.19/63.25 mark(U64(x0, x1, x2)) 177.19/63.25 mark(s(x0)) 177.19/63.25 mark(plus(x0, x1)) 177.19/63.25 mark(0) 177.19/63.25 U11(mark(x0), x1, x2) 177.19/63.25 U11(x0, mark(x1), x2) 177.19/63.25 U11(x0, x1, mark(x2)) 177.19/63.25 U11(active(x0), x1, x2) 177.19/63.25 U11(x0, active(x1), x2) 177.19/63.25 U11(x0, x1, active(x2)) 177.19/63.25 U12(mark(x0), x1, x2) 177.19/63.25 U12(x0, mark(x1), x2) 177.19/63.25 U12(x0, x1, mark(x2)) 177.19/63.25 U12(active(x0), x1, x2) 177.19/63.25 U12(x0, active(x1), x2) 177.19/63.25 U12(x0, x1, active(x2)) 177.19/63.25 isNatKind(mark(x0)) 177.19/63.25 isNatKind(active(x0)) 177.19/63.25 U13(mark(x0), x1, x2) 177.19/63.25 U13(x0, mark(x1), x2) 177.19/63.25 U13(x0, x1, mark(x2)) 177.19/63.25 U13(active(x0), x1, x2) 177.19/63.25 U13(x0, active(x1), x2) 177.19/63.25 U13(x0, x1, active(x2)) 177.19/63.25 U14(mark(x0), x1, x2) 177.19/63.25 U14(x0, mark(x1), x2) 177.19/63.25 U14(x0, x1, mark(x2)) 177.19/63.25 U14(active(x0), x1, x2) 177.19/63.25 U14(x0, active(x1), x2) 177.19/63.25 U14(x0, x1, active(x2)) 177.19/63.25 U15(mark(x0), x1) 177.19/63.25 U15(x0, mark(x1)) 177.19/63.25 U15(active(x0), x1) 177.19/63.25 U15(x0, active(x1)) 177.19/63.25 isNat(mark(x0)) 177.19/63.25 isNat(active(x0)) 177.19/63.25 U16(mark(x0)) 177.19/63.25 U16(active(x0)) 177.19/63.25 U21(mark(x0), x1) 177.19/63.25 U21(x0, mark(x1)) 177.19/63.25 U21(active(x0), x1) 177.19/63.25 U21(x0, active(x1)) 177.19/63.25 U22(mark(x0), x1) 177.19/63.25 U22(x0, mark(x1)) 177.19/63.25 U22(active(x0), x1) 177.19/63.25 U22(x0, active(x1)) 177.19/63.25 U23(mark(x0)) 177.19/63.25 U23(active(x0)) 177.19/63.25 U31(mark(x0), x1) 177.19/63.25 U31(x0, mark(x1)) 177.19/63.25 U31(active(x0), x1) 177.19/63.25 U31(x0, active(x1)) 177.19/63.25 U32(mark(x0)) 177.19/63.25 U32(active(x0)) 177.19/63.25 U41(mark(x0)) 177.19/63.25 U41(active(x0)) 177.19/63.25 U51(mark(x0), x1) 177.19/63.25 U51(x0, mark(x1)) 177.19/63.25 U51(active(x0), x1) 177.19/63.25 U51(x0, active(x1)) 177.19/63.25 U52(mark(x0), x1) 177.19/63.25 U52(x0, mark(x1)) 177.19/63.25 U52(active(x0), x1) 177.19/63.25 U52(x0, active(x1)) 177.19/63.25 U61(mark(x0), x1, x2) 177.19/63.25 U61(x0, mark(x1), x2) 177.19/63.25 U61(x0, x1, mark(x2)) 177.19/63.25 U61(active(x0), x1, x2) 177.19/63.25 U61(x0, active(x1), x2) 177.19/63.25 U61(x0, x1, active(x2)) 177.19/63.25 U62(mark(x0), x1, x2) 177.19/63.25 U62(x0, mark(x1), x2) 177.19/63.25 U62(x0, x1, mark(x2)) 177.19/63.25 U62(active(x0), x1, x2) 177.19/63.25 U62(x0, active(x1), x2) 177.19/63.25 U62(x0, x1, active(x2)) 177.19/63.25 U63(mark(x0), x1, x2) 177.19/63.25 U63(x0, mark(x1), x2) 177.19/63.25 U63(x0, x1, mark(x2)) 177.19/63.25 U63(active(x0), x1, x2) 177.19/63.25 U63(x0, active(x1), x2) 177.19/63.25 U63(x0, x1, active(x2)) 177.19/63.25 U64(mark(x0), x1, x2) 177.19/63.25 U64(x0, mark(x1), x2) 177.19/63.25 U64(x0, x1, mark(x2)) 177.19/63.25 U64(active(x0), x1, x2) 177.19/63.25 U64(x0, active(x1), x2) 177.19/63.25 U64(x0, x1, active(x2)) 177.19/63.25 s(mark(x0)) 177.19/63.25 s(active(x0)) 177.19/63.25 plus(mark(x0), x1) 177.19/63.25 plus(x0, mark(x1)) 177.19/63.25 plus(active(x0), x1) 177.19/63.25 plus(x0, active(x1)) 177.19/63.25 177.19/63.25 We have to consider all minimal (P,Q,R)-chains. 177.19/63.25 ---------------------------------------- 177.19/63.25 177.19/63.25 (162) QDPQMonotonicMRRProof (EQUIVALENT) 177.19/63.25 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. 177.19/63.25 177.19/63.25 Strictly oriented dependency pairs: 177.19/63.25 177.19/63.25 MARK(U16(X)) -> ACTIVE(U16(mark(X))) 177.19/63.25 MARK(U23(X)) -> ACTIVE(U23(mark(X))) 177.19/63.25 MARK(U32(X)) -> ACTIVE(U32(mark(X))) 177.19/63.25 MARK(s(X)) -> ACTIVE(s(mark(X))) 177.19/63.25 MARK(U41(X)) -> ACTIVE(U41(mark(X))) 177.19/63.25 177.19/63.25 177.19/63.25 Used ordering: Polynomial interpretation [POLO]: 177.19/63.25 177.19/63.25 POL(0) = 0 177.19/63.25 POL(ACTIVE(x_1)) = 2*x_1 177.19/63.25 POL(MARK(x_1)) = 2 177.19/63.25 POL(U11(x_1, x_2, x_3)) = 1 177.19/63.25 POL(U12(x_1, x_2, x_3)) = 1 177.19/63.25 POL(U13(x_1, x_2, x_3)) = 1 177.19/63.25 POL(U14(x_1, x_2, x_3)) = 1 177.19/63.25 POL(U15(x_1, x_2)) = 1 177.19/63.25 POL(U16(x_1)) = 0 177.19/63.25 POL(U21(x_1, x_2)) = 1 177.19/63.25 POL(U22(x_1, x_2)) = 1 177.19/63.25 POL(U23(x_1)) = 0 177.19/63.25 POL(U31(x_1, x_2)) = 1 177.19/63.25 POL(U32(x_1)) = 0 177.19/63.25 POL(U41(x_1)) = 0 177.19/63.25 POL(U51(x_1, x_2)) = 1 177.19/63.25 POL(U52(x_1, x_2)) = 1 177.19/63.25 POL(U61(x_1, x_2, x_3)) = 1 177.19/63.25 POL(U62(x_1, x_2, x_3)) = 1 177.19/63.25 POL(U63(x_1, x_2, x_3)) = 1 177.19/63.25 POL(U64(x_1, x_2, x_3)) = 1 177.19/63.25 POL(active(x_1)) = 0 177.19/63.25 POL(isNat(x_1)) = 1 177.19/63.25 POL(isNatKind(x_1)) = 1 177.19/63.25 POL(mark(x_1)) = 0 177.19/63.25 POL(plus(x_1, x_2)) = 1 177.19/63.25 POL(s(x_1)) = 0 177.19/63.25 POL(tt) = 0 177.19/63.25 177.19/63.25 177.19/63.25 ---------------------------------------- 177.19/63.25 177.19/63.25 (163) 177.19/63.25 Obligation: 177.19/63.25 Q DP problem: 177.19/63.25 The TRS P consists of the following rules: 177.19/63.25 177.19/63.25 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 177.19/63.25 ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) 177.19/63.25 MARK(U12(X1, X2, X3)) -> MARK(X1) 177.19/63.25 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.19/63.25 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.19/63.25 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.19/63.25 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.19/63.25 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.19/63.25 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.19/63.25 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.19/63.25 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.19/63.25 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 177.19/63.25 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 177.19/63.25 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 177.19/63.25 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.19/63.25 ACTIVE(U51(tt, N)) -> MARK(U52(isNatKind(N), N)) 177.19/63.25 MARK(U52(X1, X2)) -> ACTIVE(U52(mark(X1), X2)) 177.19/63.25 ACTIVE(U52(tt, N)) -> MARK(N) 177.19/63.25 MARK(U11(X1, X2, X3)) -> MARK(X1) 177.19/63.25 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.19/63.25 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.19/63.25 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.19/63.25 ACTIVE(U61(tt, M, N)) -> MARK(U62(isNatKind(M), M, N)) 177.19/63.25 MARK(U62(X1, X2, X3)) -> ACTIVE(U62(mark(X1), X2, X3)) 177.19/63.25 ACTIVE(U62(tt, M, N)) -> MARK(U63(isNat(N), M, N)) 177.19/63.25 MARK(U63(X1, X2, X3)) -> ACTIVE(U63(mark(X1), X2, X3)) 177.19/63.25 ACTIVE(U63(tt, M, N)) -> MARK(U64(isNatKind(N), M, N)) 177.19/63.25 MARK(U64(X1, X2, X3)) -> ACTIVE(U64(mark(X1), X2, X3)) 177.19/63.25 ACTIVE(U64(tt, M, N)) -> MARK(s(plus(N, M))) 177.19/63.25 ACTIVE(plus(N, 0)) -> MARK(U51(isNat(N), N)) 177.19/63.25 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 177.19/63.25 ACTIVE(plus(N, s(M))) -> MARK(U61(isNat(M), M, N)) 177.19/63.25 MARK(U61(X1, X2, X3)) -> ACTIVE(U61(mark(X1), X2, X3)) 177.19/63.25 MARK(U61(X1, X2, X3)) -> MARK(X1) 177.19/63.25 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.19/63.25 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.19/63.25 MARK(U15(X1, X2)) -> MARK(X1) 177.19/63.25 MARK(isNat(X)) -> ACTIVE(isNat(X)) 177.19/63.25 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) 177.19/63.25 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 177.19/63.25 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 177.19/63.25 MARK(U21(X1, X2)) -> MARK(X1) 177.19/63.25 MARK(U16(X)) -> MARK(X) 177.19/63.25 MARK(U22(X1, X2)) -> MARK(X1) 177.19/63.25 MARK(U23(X)) -> MARK(X) 177.19/63.25 MARK(U31(X1, X2)) -> MARK(X1) 177.19/63.25 MARK(U32(X)) -> MARK(X) 177.19/63.25 MARK(U41(X)) -> MARK(X) 177.19/63.25 MARK(U51(X1, X2)) -> MARK(X1) 177.19/63.25 MARK(U52(X1, X2)) -> MARK(X1) 177.19/63.25 MARK(U62(X1, X2, X3)) -> MARK(X1) 177.19/63.25 MARK(U63(X1, X2, X3)) -> MARK(X1) 177.19/63.25 MARK(U64(X1, X2, X3)) -> MARK(X1) 177.19/63.25 MARK(s(X)) -> MARK(X) 177.19/63.25 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 177.19/63.25 MARK(plus(X1, X2)) -> MARK(X1) 177.19/63.25 MARK(plus(X1, X2)) -> MARK(X2) 177.19/63.25 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.19/63.25 177.19/63.25 The TRS R consists of the following rules: 177.19/63.25 177.19/63.25 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.19/63.25 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.19/63.25 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.19/63.25 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.19/63.25 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.19/63.25 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.19/63.25 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.19/63.25 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.19/63.25 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.19/63.25 mark(U16(X)) -> active(U16(mark(X))) 177.19/63.25 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.19/63.25 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.19/63.25 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.19/63.25 mark(U23(X)) -> active(U23(mark(X))) 177.19/63.25 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.19/63.25 mark(U32(X)) -> active(U32(mark(X))) 177.19/63.25 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.19/63.25 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.19/63.25 active(U52(tt, N)) -> mark(N) 177.19/63.25 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.19/63.25 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.19/63.25 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.19/63.25 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.19/63.25 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.19/63.25 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.19/63.25 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.19/63.25 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.19/63.25 mark(s(X)) -> active(s(mark(X))) 177.19/63.25 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.19/63.25 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.19/63.25 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.19/63.25 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.19/63.25 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.19/63.25 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.19/63.25 mark(U41(X)) -> active(U41(mark(X))) 177.19/63.25 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.19/63.25 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.19/63.25 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.19/63.25 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.19/63.25 mark(isNatKind(X)) -> active(isNatKind(X)) 177.19/63.25 mark(isNat(X)) -> active(isNat(X)) 177.19/63.25 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.19/63.25 mark(tt) -> active(tt) 177.19/63.25 mark(0) -> active(0) 177.19/63.25 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.25 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.25 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.25 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.25 active(U16(tt)) -> mark(tt) 177.19/63.25 active(U23(tt)) -> mark(tt) 177.19/63.25 active(U32(tt)) -> mark(tt) 177.19/63.25 active(U41(tt)) -> mark(tt) 177.19/63.25 active(isNat(0)) -> mark(tt) 177.19/63.25 active(isNatKind(0)) -> mark(tt) 177.19/63.25 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.25 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.25 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.25 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.25 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.25 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.25 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.25 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.25 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.25 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.25 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.25 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.25 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.25 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.25 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.25 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.25 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.25 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.25 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.25 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.25 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.25 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.25 U16(active(X)) -> U16(X) 177.19/63.25 U16(mark(X)) -> U16(X) 177.19/63.25 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.25 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.25 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.25 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.25 U23(active(X)) -> U23(X) 177.19/63.25 U23(mark(X)) -> U23(X) 177.19/63.25 U32(active(X)) -> U32(X) 177.19/63.25 U32(mark(X)) -> U32(X) 177.19/63.25 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.25 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.25 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.25 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.25 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.25 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.25 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.25 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.25 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.25 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.25 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.25 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.25 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.25 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.25 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.25 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.25 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.19/63.25 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.25 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.19/63.25 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.25 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.19/63.25 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.19/63.25 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.19/63.25 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.25 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.19/63.25 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.25 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.19/63.25 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.19/63.25 s(active(X)) -> s(X) 177.19/63.25 s(mark(X)) -> s(X) 177.19/63.25 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.25 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.25 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.25 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.25 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.25 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.25 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.25 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.25 U41(active(X)) -> U41(X) 177.19/63.25 U41(mark(X)) -> U41(X) 177.19/63.25 U51(X1, mark(X2)) -> U51(X1, X2) 177.19/63.25 U51(mark(X1), X2) -> U51(X1, X2) 177.19/63.25 U51(active(X1), X2) -> U51(X1, X2) 177.19/63.25 U51(X1, active(X2)) -> U51(X1, X2) 177.19/63.25 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.25 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.25 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.25 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.25 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.25 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.25 177.19/63.25 The set Q consists of the following terms: 177.19/63.25 177.19/63.25 active(U11(tt, x0, x1)) 177.19/63.25 active(U12(tt, x0, x1)) 177.19/63.25 active(U13(tt, x0, x1)) 177.19/63.25 active(U14(tt, x0, x1)) 177.19/63.25 active(U15(tt, x0)) 177.19/63.25 active(U16(tt)) 177.19/63.25 active(U21(tt, x0)) 177.19/63.25 active(U22(tt, x0)) 177.19/63.25 active(U23(tt)) 177.19/63.25 active(U31(tt, x0)) 177.19/63.25 active(U32(tt)) 177.19/63.25 active(U41(tt)) 177.19/63.25 active(U51(tt, x0)) 177.19/63.25 active(U52(tt, x0)) 177.19/63.25 active(U61(tt, x0, x1)) 177.19/63.25 active(U62(tt, x0, x1)) 177.19/63.25 active(U63(tt, x0, x1)) 177.19/63.25 active(U64(tt, x0, x1)) 177.19/63.25 active(isNat(0)) 177.19/63.25 active(isNat(plus(x0, x1))) 177.19/63.25 active(isNat(s(x0))) 177.19/63.25 active(isNatKind(0)) 177.19/63.25 active(isNatKind(plus(x0, x1))) 177.19/63.25 active(isNatKind(s(x0))) 177.19/63.25 active(plus(x0, 0)) 177.19/63.25 active(plus(x0, s(x1))) 177.19/63.25 mark(U11(x0, x1, x2)) 177.19/63.25 mark(tt) 177.19/63.25 mark(U12(x0, x1, x2)) 177.19/63.25 mark(isNatKind(x0)) 177.19/63.25 mark(U13(x0, x1, x2)) 177.19/63.25 mark(U14(x0, x1, x2)) 177.19/63.25 mark(U15(x0, x1)) 177.19/63.25 mark(isNat(x0)) 177.19/63.25 mark(U16(x0)) 177.19/63.25 mark(U21(x0, x1)) 177.19/63.25 mark(U22(x0, x1)) 177.19/63.25 mark(U23(x0)) 177.19/63.25 mark(U31(x0, x1)) 177.19/63.25 mark(U32(x0)) 177.19/63.25 mark(U41(x0)) 177.19/63.25 mark(U51(x0, x1)) 177.19/63.25 mark(U52(x0, x1)) 177.19/63.25 mark(U61(x0, x1, x2)) 177.19/63.25 mark(U62(x0, x1, x2)) 177.19/63.25 mark(U63(x0, x1, x2)) 177.19/63.25 mark(U64(x0, x1, x2)) 177.19/63.25 mark(s(x0)) 177.19/63.25 mark(plus(x0, x1)) 177.19/63.25 mark(0) 177.19/63.25 U11(mark(x0), x1, x2) 177.19/63.25 U11(x0, mark(x1), x2) 177.19/63.25 U11(x0, x1, mark(x2)) 177.19/63.25 U11(active(x0), x1, x2) 177.19/63.25 U11(x0, active(x1), x2) 177.19/63.25 U11(x0, x1, active(x2)) 177.19/63.25 U12(mark(x0), x1, x2) 177.19/63.25 U12(x0, mark(x1), x2) 177.19/63.25 U12(x0, x1, mark(x2)) 177.19/63.25 U12(active(x0), x1, x2) 177.19/63.25 U12(x0, active(x1), x2) 177.19/63.25 U12(x0, x1, active(x2)) 177.19/63.25 isNatKind(mark(x0)) 177.19/63.25 isNatKind(active(x0)) 177.19/63.25 U13(mark(x0), x1, x2) 177.19/63.25 U13(x0, mark(x1), x2) 177.19/63.25 U13(x0, x1, mark(x2)) 177.19/63.25 U13(active(x0), x1, x2) 177.19/63.25 U13(x0, active(x1), x2) 177.19/63.25 U13(x0, x1, active(x2)) 177.19/63.25 U14(mark(x0), x1, x2) 177.19/63.25 U14(x0, mark(x1), x2) 177.19/63.25 U14(x0, x1, mark(x2)) 177.19/63.25 U14(active(x0), x1, x2) 177.19/63.25 U14(x0, active(x1), x2) 177.19/63.25 U14(x0, x1, active(x2)) 177.19/63.25 U15(mark(x0), x1) 177.19/63.25 U15(x0, mark(x1)) 177.19/63.25 U15(active(x0), x1) 177.19/63.25 U15(x0, active(x1)) 177.19/63.25 isNat(mark(x0)) 177.19/63.25 isNat(active(x0)) 177.19/63.25 U16(mark(x0)) 177.19/63.25 U16(active(x0)) 177.19/63.25 U21(mark(x0), x1) 177.19/63.25 U21(x0, mark(x1)) 177.19/63.25 U21(active(x0), x1) 177.19/63.25 U21(x0, active(x1)) 177.19/63.25 U22(mark(x0), x1) 177.19/63.25 U22(x0, mark(x1)) 177.19/63.25 U22(active(x0), x1) 177.19/63.25 U22(x0, active(x1)) 177.19/63.25 U23(mark(x0)) 177.19/63.25 U23(active(x0)) 177.19/63.25 U31(mark(x0), x1) 177.19/63.25 U31(x0, mark(x1)) 177.19/63.25 U31(active(x0), x1) 177.19/63.25 U31(x0, active(x1)) 177.19/63.25 U32(mark(x0)) 177.19/63.25 U32(active(x0)) 177.19/63.25 U41(mark(x0)) 177.19/63.25 U41(active(x0)) 177.19/63.25 U51(mark(x0), x1) 177.19/63.25 U51(x0, mark(x1)) 177.19/63.25 U51(active(x0), x1) 177.19/63.25 U51(x0, active(x1)) 177.19/63.25 U52(mark(x0), x1) 177.19/63.25 U52(x0, mark(x1)) 177.19/63.25 U52(active(x0), x1) 177.19/63.25 U52(x0, active(x1)) 177.19/63.25 U61(mark(x0), x1, x2) 177.19/63.25 U61(x0, mark(x1), x2) 177.19/63.25 U61(x0, x1, mark(x2)) 177.19/63.25 U61(active(x0), x1, x2) 177.19/63.25 U61(x0, active(x1), x2) 177.19/63.25 U61(x0, x1, active(x2)) 177.19/63.25 U62(mark(x0), x1, x2) 177.19/63.25 U62(x0, mark(x1), x2) 177.19/63.25 U62(x0, x1, mark(x2)) 177.19/63.25 U62(active(x0), x1, x2) 177.19/63.25 U62(x0, active(x1), x2) 177.19/63.25 U62(x0, x1, active(x2)) 177.19/63.25 U63(mark(x0), x1, x2) 177.19/63.25 U63(x0, mark(x1), x2) 177.19/63.25 U63(x0, x1, mark(x2)) 177.19/63.25 U63(active(x0), x1, x2) 177.19/63.25 U63(x0, active(x1), x2) 177.19/63.25 U63(x0, x1, active(x2)) 177.19/63.25 U64(mark(x0), x1, x2) 177.19/63.25 U64(x0, mark(x1), x2) 177.19/63.25 U64(x0, x1, mark(x2)) 177.19/63.25 U64(active(x0), x1, x2) 177.19/63.25 U64(x0, active(x1), x2) 177.19/63.25 U64(x0, x1, active(x2)) 177.19/63.25 s(mark(x0)) 177.19/63.25 s(active(x0)) 177.19/63.25 plus(mark(x0), x1) 177.19/63.25 plus(x0, mark(x1)) 177.19/63.25 plus(active(x0), x1) 177.19/63.25 plus(x0, active(x1)) 177.19/63.25 177.19/63.25 We have to consider all minimal (P,Q,R)-chains. 177.19/63.25 ---------------------------------------- 177.19/63.25 177.19/63.25 (164) QDPOrderProof (EQUIVALENT) 177.19/63.25 We use the reduction pair processor [LPAR04,JAR06]. 177.19/63.25 177.19/63.25 177.19/63.25 The following pairs can be oriented strictly and are deleted. 177.19/63.25 177.19/63.25 ACTIVE(plus(N, 0)) -> MARK(U51(isNat(N), N)) 177.19/63.25 The remaining pairs can at least be oriented weakly. 177.19/63.25 Used ordering: Polynomial interpretation [POLO]: 177.19/63.25 177.19/63.25 POL(0) = 1 177.19/63.25 POL(ACTIVE(x_1)) = x_1 177.19/63.25 POL(MARK(x_1)) = x_1 177.19/63.25 POL(U11(x_1, x_2, x_3)) = x_1 177.19/63.25 POL(U12(x_1, x_2, x_3)) = x_1 177.19/63.25 POL(U13(x_1, x_2, x_3)) = x_1 177.19/63.25 POL(U14(x_1, x_2, x_3)) = x_1 177.19/63.25 POL(U15(x_1, x_2)) = x_1 177.19/63.25 POL(U16(x_1)) = x_1 177.19/63.25 POL(U21(x_1, x_2)) = x_1 177.19/63.25 POL(U22(x_1, x_2)) = x_1 177.19/63.25 POL(U23(x_1)) = x_1 177.19/63.25 POL(U31(x_1, x_2)) = x_1 177.19/63.25 POL(U32(x_1)) = x_1 177.19/63.25 POL(U41(x_1)) = x_1 177.19/63.25 POL(U51(x_1, x_2)) = x_1 + x_2 177.19/63.25 POL(U52(x_1, x_2)) = x_1 + x_2 177.19/63.25 POL(U61(x_1, x_2, x_3)) = x_1 + x_2 + x_3 177.19/63.25 POL(U62(x_1, x_2, x_3)) = x_1 + x_2 + x_3 177.19/63.25 POL(U63(x_1, x_2, x_3)) = x_1 + x_2 + x_3 177.19/63.25 POL(U64(x_1, x_2, x_3)) = x_1 + x_2 + x_3 177.19/63.25 POL(active(x_1)) = x_1 177.19/63.25 POL(isNat(x_1)) = 0 177.19/63.25 POL(isNatKind(x_1)) = 0 177.19/63.25 POL(mark(x_1)) = x_1 177.19/63.25 POL(plus(x_1, x_2)) = x_1 + x_2 177.19/63.25 POL(s(x_1)) = x_1 177.19/63.25 POL(tt) = 0 177.19/63.25 177.19/63.25 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 177.19/63.25 177.19/63.25 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.19/63.25 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.19/63.25 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.19/63.25 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.19/63.25 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.19/63.25 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.19/63.25 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.19/63.25 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.19/63.25 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.19/63.25 mark(U16(X)) -> active(U16(mark(X))) 177.19/63.25 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.19/63.25 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.19/63.25 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.19/63.25 mark(U23(X)) -> active(U23(mark(X))) 177.19/63.25 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.19/63.25 mark(U32(X)) -> active(U32(mark(X))) 177.19/63.25 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.19/63.25 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.19/63.25 active(U52(tt, N)) -> mark(N) 177.19/63.25 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.19/63.25 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.19/63.25 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.19/63.25 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.19/63.25 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.19/63.25 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.19/63.25 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.19/63.25 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.19/63.25 mark(s(X)) -> active(s(mark(X))) 177.19/63.25 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.19/63.26 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.19/63.26 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.19/63.26 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.19/63.26 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.19/63.26 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.19/63.26 mark(U41(X)) -> active(U41(mark(X))) 177.19/63.26 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.19/63.26 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.19/63.26 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.19/63.26 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.19/63.26 mark(isNatKind(X)) -> active(isNatKind(X)) 177.19/63.26 mark(isNat(X)) -> active(isNat(X)) 177.19/63.26 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.19/63.26 mark(tt) -> active(tt) 177.19/63.26 mark(0) -> active(0) 177.19/63.26 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.26 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.26 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.26 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.26 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.26 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.26 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.26 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.26 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.26 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.26 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.26 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.26 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.26 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.26 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.26 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.26 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.26 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.26 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.26 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.26 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.26 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.26 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.26 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.26 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.26 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.26 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.26 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.26 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.26 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.26 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.26 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.26 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.26 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.26 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.26 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.26 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.26 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.26 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.26 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.26 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.26 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.26 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.26 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.26 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.26 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.26 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.19/63.26 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.26 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.19/63.26 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.26 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.19/63.26 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.19/63.26 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.19/63.26 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.26 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.19/63.26 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.26 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.19/63.26 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.19/63.26 U51(X1, mark(X2)) -> U51(X1, X2) 177.19/63.26 U51(mark(X1), X2) -> U51(X1, X2) 177.19/63.26 U51(active(X1), X2) -> U51(X1, X2) 177.19/63.26 U51(X1, active(X2)) -> U51(X1, X2) 177.19/63.26 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.26 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.26 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.26 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.26 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.26 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.26 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.26 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.26 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.26 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.26 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.26 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.26 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.26 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.26 active(U16(tt)) -> mark(tt) 177.19/63.26 active(U23(tt)) -> mark(tt) 177.19/63.26 active(U32(tt)) -> mark(tt) 177.19/63.26 active(U41(tt)) -> mark(tt) 177.19/63.26 active(isNat(0)) -> mark(tt) 177.19/63.26 active(isNatKind(0)) -> mark(tt) 177.19/63.26 U16(active(X)) -> U16(X) 177.19/63.26 U16(mark(X)) -> U16(X) 177.19/63.26 U23(active(X)) -> U23(X) 177.19/63.26 U23(mark(X)) -> U23(X) 177.19/63.26 U32(active(X)) -> U32(X) 177.19/63.26 U32(mark(X)) -> U32(X) 177.19/63.26 s(active(X)) -> s(X) 177.19/63.26 s(mark(X)) -> s(X) 177.19/63.26 U41(active(X)) -> U41(X) 177.19/63.26 U41(mark(X)) -> U41(X) 177.19/63.26 177.19/63.26 177.19/63.26 ---------------------------------------- 177.19/63.26 177.19/63.26 (165) 177.19/63.26 Obligation: 177.19/63.26 Q DP problem: 177.19/63.26 The TRS P consists of the following rules: 177.19/63.26 177.19/63.26 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) 177.19/63.26 MARK(U12(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.19/63.26 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.19/63.26 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.19/63.26 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.19/63.26 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.19/63.26 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 177.19/63.26 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 177.19/63.26 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 177.19/63.26 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.19/63.26 ACTIVE(U51(tt, N)) -> MARK(U52(isNatKind(N), N)) 177.19/63.26 MARK(U52(X1, X2)) -> ACTIVE(U52(mark(X1), X2)) 177.19/63.26 ACTIVE(U52(tt, N)) -> MARK(N) 177.19/63.26 MARK(U11(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.19/63.26 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.19/63.26 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.19/63.26 ACTIVE(U61(tt, M, N)) -> MARK(U62(isNatKind(M), M, N)) 177.19/63.26 MARK(U62(X1, X2, X3)) -> ACTIVE(U62(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U62(tt, M, N)) -> MARK(U63(isNat(N), M, N)) 177.19/63.26 MARK(U63(X1, X2, X3)) -> ACTIVE(U63(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U63(tt, M, N)) -> MARK(U64(isNatKind(N), M, N)) 177.19/63.26 MARK(U64(X1, X2, X3)) -> ACTIVE(U64(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U64(tt, M, N)) -> MARK(s(plus(N, M))) 177.19/63.26 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 177.19/63.26 ACTIVE(plus(N, s(M))) -> MARK(U61(isNat(M), M, N)) 177.19/63.26 MARK(U61(X1, X2, X3)) -> ACTIVE(U61(mark(X1), X2, X3)) 177.19/63.26 MARK(U61(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(U15(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(isNat(X)) -> ACTIVE(isNat(X)) 177.19/63.26 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) 177.19/63.26 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 177.19/63.26 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 177.19/63.26 MARK(U21(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(U16(X)) -> MARK(X) 177.19/63.26 MARK(U22(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(U23(X)) -> MARK(X) 177.19/63.26 MARK(U31(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(U32(X)) -> MARK(X) 177.19/63.26 MARK(U41(X)) -> MARK(X) 177.19/63.26 MARK(U51(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(U52(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(U62(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(U63(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(U64(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(s(X)) -> MARK(X) 177.19/63.26 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 177.19/63.26 MARK(plus(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(plus(X1, X2)) -> MARK(X2) 177.19/63.26 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.19/63.26 177.19/63.26 The TRS R consists of the following rules: 177.19/63.26 177.19/63.26 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.19/63.26 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.19/63.26 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.19/63.26 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.19/63.26 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.19/63.26 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.19/63.26 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.19/63.26 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.19/63.26 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.19/63.26 mark(U16(X)) -> active(U16(mark(X))) 177.19/63.26 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.19/63.26 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.19/63.26 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.19/63.26 mark(U23(X)) -> active(U23(mark(X))) 177.19/63.26 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.19/63.26 mark(U32(X)) -> active(U32(mark(X))) 177.19/63.26 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.19/63.26 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.19/63.26 active(U52(tt, N)) -> mark(N) 177.19/63.26 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.19/63.26 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.19/63.26 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.19/63.26 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.19/63.26 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.19/63.26 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.19/63.26 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.19/63.26 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.19/63.26 mark(s(X)) -> active(s(mark(X))) 177.19/63.26 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.19/63.26 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.19/63.26 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.19/63.26 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.19/63.26 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.19/63.26 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.19/63.26 mark(U41(X)) -> active(U41(mark(X))) 177.19/63.26 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.19/63.26 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.19/63.26 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.19/63.26 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.19/63.26 mark(isNatKind(X)) -> active(isNatKind(X)) 177.19/63.26 mark(isNat(X)) -> active(isNat(X)) 177.19/63.26 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.19/63.26 mark(tt) -> active(tt) 177.19/63.26 mark(0) -> active(0) 177.19/63.26 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.26 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.26 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.26 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.26 active(U16(tt)) -> mark(tt) 177.19/63.26 active(U23(tt)) -> mark(tt) 177.19/63.26 active(U32(tt)) -> mark(tt) 177.19/63.26 active(U41(tt)) -> mark(tt) 177.19/63.26 active(isNat(0)) -> mark(tt) 177.19/63.26 active(isNatKind(0)) -> mark(tt) 177.19/63.26 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.26 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.26 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.26 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.26 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.26 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.26 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.26 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.26 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.26 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.26 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.26 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.26 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.26 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.26 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.26 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.26 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.26 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.26 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.26 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.26 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.26 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.26 U16(active(X)) -> U16(X) 177.19/63.26 U16(mark(X)) -> U16(X) 177.19/63.26 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.26 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.26 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.26 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.26 U23(active(X)) -> U23(X) 177.19/63.26 U23(mark(X)) -> U23(X) 177.19/63.26 U32(active(X)) -> U32(X) 177.19/63.26 U32(mark(X)) -> U32(X) 177.19/63.26 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.26 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.26 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.26 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.26 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.26 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.26 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.26 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.26 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.26 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.26 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.26 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.26 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.26 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.26 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.26 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.26 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.19/63.26 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.26 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.19/63.26 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.26 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.19/63.26 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.19/63.26 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.19/63.26 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.26 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.19/63.26 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.26 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.19/63.26 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.19/63.26 s(active(X)) -> s(X) 177.19/63.26 s(mark(X)) -> s(X) 177.19/63.26 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.26 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.26 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.26 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.26 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.26 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.26 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.26 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.26 U41(active(X)) -> U41(X) 177.19/63.26 U41(mark(X)) -> U41(X) 177.19/63.26 U51(X1, mark(X2)) -> U51(X1, X2) 177.19/63.26 U51(mark(X1), X2) -> U51(X1, X2) 177.19/63.26 U51(active(X1), X2) -> U51(X1, X2) 177.19/63.26 U51(X1, active(X2)) -> U51(X1, X2) 177.19/63.26 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.26 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.26 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.26 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.26 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.26 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.26 177.19/63.26 The set Q consists of the following terms: 177.19/63.26 177.19/63.26 active(U11(tt, x0, x1)) 177.19/63.26 active(U12(tt, x0, x1)) 177.19/63.26 active(U13(tt, x0, x1)) 177.19/63.26 active(U14(tt, x0, x1)) 177.19/63.26 active(U15(tt, x0)) 177.19/63.26 active(U16(tt)) 177.19/63.26 active(U21(tt, x0)) 177.19/63.26 active(U22(tt, x0)) 177.19/63.26 active(U23(tt)) 177.19/63.26 active(U31(tt, x0)) 177.19/63.26 active(U32(tt)) 177.19/63.26 active(U41(tt)) 177.19/63.26 active(U51(tt, x0)) 177.19/63.26 active(U52(tt, x0)) 177.19/63.26 active(U61(tt, x0, x1)) 177.19/63.26 active(U62(tt, x0, x1)) 177.19/63.26 active(U63(tt, x0, x1)) 177.19/63.26 active(U64(tt, x0, x1)) 177.19/63.26 active(isNat(0)) 177.19/63.26 active(isNat(plus(x0, x1))) 177.19/63.26 active(isNat(s(x0))) 177.19/63.26 active(isNatKind(0)) 177.19/63.26 active(isNatKind(plus(x0, x1))) 177.19/63.26 active(isNatKind(s(x0))) 177.19/63.26 active(plus(x0, 0)) 177.19/63.26 active(plus(x0, s(x1))) 177.19/63.26 mark(U11(x0, x1, x2)) 177.19/63.26 mark(tt) 177.19/63.26 mark(U12(x0, x1, x2)) 177.19/63.26 mark(isNatKind(x0)) 177.19/63.26 mark(U13(x0, x1, x2)) 177.19/63.26 mark(U14(x0, x1, x2)) 177.19/63.26 mark(U15(x0, x1)) 177.19/63.26 mark(isNat(x0)) 177.19/63.26 mark(U16(x0)) 177.19/63.26 mark(U21(x0, x1)) 177.19/63.26 mark(U22(x0, x1)) 177.19/63.26 mark(U23(x0)) 177.19/63.26 mark(U31(x0, x1)) 177.19/63.26 mark(U32(x0)) 177.19/63.26 mark(U41(x0)) 177.19/63.26 mark(U51(x0, x1)) 177.19/63.26 mark(U52(x0, x1)) 177.19/63.26 mark(U61(x0, x1, x2)) 177.19/63.26 mark(U62(x0, x1, x2)) 177.19/63.26 mark(U63(x0, x1, x2)) 177.19/63.26 mark(U64(x0, x1, x2)) 177.19/63.26 mark(s(x0)) 177.19/63.26 mark(plus(x0, x1)) 177.19/63.26 mark(0) 177.19/63.26 U11(mark(x0), x1, x2) 177.19/63.26 U11(x0, mark(x1), x2) 177.19/63.26 U11(x0, x1, mark(x2)) 177.19/63.26 U11(active(x0), x1, x2) 177.19/63.26 U11(x0, active(x1), x2) 177.19/63.26 U11(x0, x1, active(x2)) 177.19/63.26 U12(mark(x0), x1, x2) 177.19/63.26 U12(x0, mark(x1), x2) 177.19/63.26 U12(x0, x1, mark(x2)) 177.19/63.26 U12(active(x0), x1, x2) 177.19/63.26 U12(x0, active(x1), x2) 177.19/63.26 U12(x0, x1, active(x2)) 177.19/63.26 isNatKind(mark(x0)) 177.19/63.26 isNatKind(active(x0)) 177.19/63.26 U13(mark(x0), x1, x2) 177.19/63.26 U13(x0, mark(x1), x2) 177.19/63.26 U13(x0, x1, mark(x2)) 177.19/63.26 U13(active(x0), x1, x2) 177.19/63.26 U13(x0, active(x1), x2) 177.19/63.26 U13(x0, x1, active(x2)) 177.19/63.26 U14(mark(x0), x1, x2) 177.19/63.26 U14(x0, mark(x1), x2) 177.19/63.26 U14(x0, x1, mark(x2)) 177.19/63.26 U14(active(x0), x1, x2) 177.19/63.26 U14(x0, active(x1), x2) 177.19/63.26 U14(x0, x1, active(x2)) 177.19/63.26 U15(mark(x0), x1) 177.19/63.26 U15(x0, mark(x1)) 177.19/63.26 U15(active(x0), x1) 177.19/63.26 U15(x0, active(x1)) 177.19/63.26 isNat(mark(x0)) 177.19/63.26 isNat(active(x0)) 177.19/63.26 U16(mark(x0)) 177.19/63.26 U16(active(x0)) 177.19/63.26 U21(mark(x0), x1) 177.19/63.26 U21(x0, mark(x1)) 177.19/63.26 U21(active(x0), x1) 177.19/63.26 U21(x0, active(x1)) 177.19/63.26 U22(mark(x0), x1) 177.19/63.26 U22(x0, mark(x1)) 177.19/63.26 U22(active(x0), x1) 177.19/63.26 U22(x0, active(x1)) 177.19/63.26 U23(mark(x0)) 177.19/63.26 U23(active(x0)) 177.19/63.26 U31(mark(x0), x1) 177.19/63.26 U31(x0, mark(x1)) 177.19/63.26 U31(active(x0), x1) 177.19/63.26 U31(x0, active(x1)) 177.19/63.26 U32(mark(x0)) 177.19/63.26 U32(active(x0)) 177.19/63.26 U41(mark(x0)) 177.19/63.26 U41(active(x0)) 177.19/63.26 U51(mark(x0), x1) 177.19/63.26 U51(x0, mark(x1)) 177.19/63.26 U51(active(x0), x1) 177.19/63.26 U51(x0, active(x1)) 177.19/63.26 U52(mark(x0), x1) 177.19/63.26 U52(x0, mark(x1)) 177.19/63.26 U52(active(x0), x1) 177.19/63.26 U52(x0, active(x1)) 177.19/63.26 U61(mark(x0), x1, x2) 177.19/63.26 U61(x0, mark(x1), x2) 177.19/63.26 U61(x0, x1, mark(x2)) 177.19/63.26 U61(active(x0), x1, x2) 177.19/63.26 U61(x0, active(x1), x2) 177.19/63.26 U61(x0, x1, active(x2)) 177.19/63.26 U62(mark(x0), x1, x2) 177.19/63.26 U62(x0, mark(x1), x2) 177.19/63.26 U62(x0, x1, mark(x2)) 177.19/63.26 U62(active(x0), x1, x2) 177.19/63.26 U62(x0, active(x1), x2) 177.19/63.26 U62(x0, x1, active(x2)) 177.19/63.26 U63(mark(x0), x1, x2) 177.19/63.26 U63(x0, mark(x1), x2) 177.19/63.26 U63(x0, x1, mark(x2)) 177.19/63.26 U63(active(x0), x1, x2) 177.19/63.26 U63(x0, active(x1), x2) 177.19/63.26 U63(x0, x1, active(x2)) 177.19/63.26 U64(mark(x0), x1, x2) 177.19/63.26 U64(x0, mark(x1), x2) 177.19/63.26 U64(x0, x1, mark(x2)) 177.19/63.26 U64(active(x0), x1, x2) 177.19/63.26 U64(x0, active(x1), x2) 177.19/63.26 U64(x0, x1, active(x2)) 177.19/63.26 s(mark(x0)) 177.19/63.26 s(active(x0)) 177.19/63.26 plus(mark(x0), x1) 177.19/63.26 plus(x0, mark(x1)) 177.19/63.26 plus(active(x0), x1) 177.19/63.26 plus(x0, active(x1)) 177.19/63.26 177.19/63.26 We have to consider all minimal (P,Q,R)-chains. 177.19/63.26 ---------------------------------------- 177.19/63.26 177.19/63.26 (166) QDPOrderProof (EQUIVALENT) 177.19/63.26 We use the reduction pair processor [LPAR04,JAR06]. 177.19/63.26 177.19/63.26 177.19/63.26 The following pairs can be oriented strictly and are deleted. 177.19/63.26 177.19/63.26 ACTIVE(U51(tt, N)) -> MARK(U52(isNatKind(N), N)) 177.19/63.26 MARK(U51(X1, X2)) -> MARK(X1) 177.19/63.26 The remaining pairs can at least be oriented weakly. 177.19/63.26 Used ordering: Polynomial interpretation [POLO]: 177.19/63.26 177.19/63.26 POL(0) = 1 177.19/63.26 POL(ACTIVE(x_1)) = x_1 177.19/63.26 POL(MARK(x_1)) = x_1 177.19/63.26 POL(U11(x_1, x_2, x_3)) = x_1 177.19/63.26 POL(U12(x_1, x_2, x_3)) = x_1 177.19/63.26 POL(U13(x_1, x_2, x_3)) = x_1 177.19/63.26 POL(U14(x_1, x_2, x_3)) = x_1 177.19/63.26 POL(U15(x_1, x_2)) = x_1 177.19/63.26 POL(U16(x_1)) = x_1 177.19/63.26 POL(U21(x_1, x_2)) = x_1 177.19/63.26 POL(U22(x_1, x_2)) = x_1 177.19/63.26 POL(U23(x_1)) = x_1 177.19/63.26 POL(U31(x_1, x_2)) = x_1 177.19/63.26 POL(U32(x_1)) = x_1 177.19/63.26 POL(U41(x_1)) = x_1 177.19/63.26 POL(U51(x_1, x_2)) = 1 + x_1 + x_2 177.19/63.26 POL(U52(x_1, x_2)) = x_1 + x_2 177.19/63.26 POL(U61(x_1, x_2, x_3)) = x_1 + x_2 + x_3 177.19/63.26 POL(U62(x_1, x_2, x_3)) = x_1 + x_2 + x_3 177.19/63.26 POL(U63(x_1, x_2, x_3)) = x_1 + x_2 + x_3 177.19/63.26 POL(U64(x_1, x_2, x_3)) = x_1 + x_2 + x_3 177.19/63.26 POL(active(x_1)) = x_1 177.19/63.26 POL(isNat(x_1)) = 0 177.19/63.26 POL(isNatKind(x_1)) = 0 177.19/63.26 POL(mark(x_1)) = x_1 177.19/63.26 POL(plus(x_1, x_2)) = x_1 + x_2 177.19/63.26 POL(s(x_1)) = x_1 177.19/63.26 POL(tt) = 0 177.19/63.26 177.19/63.26 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 177.19/63.26 177.19/63.26 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.19/63.26 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.19/63.26 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.19/63.26 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.19/63.26 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.19/63.26 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.19/63.26 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.19/63.26 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.19/63.26 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.19/63.26 mark(U16(X)) -> active(U16(mark(X))) 177.19/63.26 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.19/63.26 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.19/63.26 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.19/63.26 mark(U23(X)) -> active(U23(mark(X))) 177.19/63.26 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.19/63.26 mark(U32(X)) -> active(U32(mark(X))) 177.19/63.26 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.19/63.26 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.19/63.26 active(U52(tt, N)) -> mark(N) 177.19/63.26 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.19/63.26 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.19/63.26 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.19/63.26 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.19/63.26 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.19/63.26 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.19/63.26 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.19/63.26 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.19/63.26 mark(s(X)) -> active(s(mark(X))) 177.19/63.26 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.19/63.26 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.19/63.26 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.19/63.26 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.19/63.26 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.19/63.26 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.19/63.26 mark(U41(X)) -> active(U41(mark(X))) 177.19/63.26 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.19/63.26 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.19/63.26 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.19/63.26 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.19/63.26 mark(isNatKind(X)) -> active(isNatKind(X)) 177.19/63.26 mark(isNat(X)) -> active(isNat(X)) 177.19/63.26 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.19/63.26 mark(tt) -> active(tt) 177.19/63.26 mark(0) -> active(0) 177.19/63.26 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.26 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.26 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.26 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.26 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.26 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.26 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.26 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.26 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.26 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.26 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.26 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.26 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.26 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.26 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.26 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.26 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.26 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.26 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.26 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.26 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.26 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.26 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.26 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.26 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.26 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.26 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.26 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.26 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.26 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.26 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.26 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.26 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.26 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.26 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.26 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.26 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.26 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.26 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.26 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.26 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.26 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.26 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.26 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.26 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.26 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.26 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.19/63.26 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.26 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.19/63.26 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.26 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.19/63.26 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.19/63.26 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.19/63.26 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.26 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.19/63.26 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.26 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.19/63.26 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.19/63.26 U51(X1, mark(X2)) -> U51(X1, X2) 177.19/63.26 U51(mark(X1), X2) -> U51(X1, X2) 177.19/63.26 U51(active(X1), X2) -> U51(X1, X2) 177.19/63.26 U51(X1, active(X2)) -> U51(X1, X2) 177.19/63.26 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.26 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.26 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.26 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.26 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.26 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.26 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.26 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.26 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.26 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.26 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.26 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.26 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.26 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.26 active(U16(tt)) -> mark(tt) 177.19/63.26 active(U23(tt)) -> mark(tt) 177.19/63.26 active(U32(tt)) -> mark(tt) 177.19/63.26 active(U41(tt)) -> mark(tt) 177.19/63.26 active(isNat(0)) -> mark(tt) 177.19/63.26 active(isNatKind(0)) -> mark(tt) 177.19/63.26 U16(active(X)) -> U16(X) 177.19/63.26 U16(mark(X)) -> U16(X) 177.19/63.26 U23(active(X)) -> U23(X) 177.19/63.26 U23(mark(X)) -> U23(X) 177.19/63.26 U32(active(X)) -> U32(X) 177.19/63.26 U32(mark(X)) -> U32(X) 177.19/63.26 s(active(X)) -> s(X) 177.19/63.26 s(mark(X)) -> s(X) 177.19/63.26 U41(active(X)) -> U41(X) 177.19/63.26 U41(mark(X)) -> U41(X) 177.19/63.26 177.19/63.26 177.19/63.26 ---------------------------------------- 177.19/63.26 177.19/63.26 (167) 177.19/63.26 Obligation: 177.19/63.26 Q DP problem: 177.19/63.26 The TRS P consists of the following rules: 177.19/63.26 177.19/63.26 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) 177.19/63.26 MARK(U12(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.19/63.26 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.19/63.26 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.19/63.26 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.19/63.26 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.19/63.26 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 177.19/63.26 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 177.19/63.26 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 177.19/63.26 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.19/63.26 MARK(U52(X1, X2)) -> ACTIVE(U52(mark(X1), X2)) 177.19/63.26 ACTIVE(U52(tt, N)) -> MARK(N) 177.19/63.26 MARK(U11(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.19/63.26 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.19/63.26 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.19/63.26 ACTIVE(U61(tt, M, N)) -> MARK(U62(isNatKind(M), M, N)) 177.19/63.26 MARK(U62(X1, X2, X3)) -> ACTIVE(U62(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U62(tt, M, N)) -> MARK(U63(isNat(N), M, N)) 177.19/63.26 MARK(U63(X1, X2, X3)) -> ACTIVE(U63(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U63(tt, M, N)) -> MARK(U64(isNatKind(N), M, N)) 177.19/63.26 MARK(U64(X1, X2, X3)) -> ACTIVE(U64(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U64(tt, M, N)) -> MARK(s(plus(N, M))) 177.19/63.26 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 177.19/63.26 ACTIVE(plus(N, s(M))) -> MARK(U61(isNat(M), M, N)) 177.19/63.26 MARK(U61(X1, X2, X3)) -> ACTIVE(U61(mark(X1), X2, X3)) 177.19/63.26 MARK(U61(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(U15(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(isNat(X)) -> ACTIVE(isNat(X)) 177.19/63.26 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) 177.19/63.26 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 177.19/63.26 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 177.19/63.26 MARK(U21(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(U16(X)) -> MARK(X) 177.19/63.26 MARK(U22(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(U23(X)) -> MARK(X) 177.19/63.26 MARK(U31(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(U32(X)) -> MARK(X) 177.19/63.26 MARK(U41(X)) -> MARK(X) 177.19/63.26 MARK(U52(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(U62(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(U63(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(U64(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(s(X)) -> MARK(X) 177.19/63.26 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 177.19/63.26 MARK(plus(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(plus(X1, X2)) -> MARK(X2) 177.19/63.26 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.19/63.26 177.19/63.26 The TRS R consists of the following rules: 177.19/63.26 177.19/63.26 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.19/63.26 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.19/63.26 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.19/63.26 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.19/63.26 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.19/63.26 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.19/63.26 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.19/63.26 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.19/63.26 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.19/63.26 mark(U16(X)) -> active(U16(mark(X))) 177.19/63.26 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.19/63.26 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.19/63.26 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.19/63.26 mark(U23(X)) -> active(U23(mark(X))) 177.19/63.26 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.19/63.26 mark(U32(X)) -> active(U32(mark(X))) 177.19/63.26 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.19/63.26 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.19/63.26 active(U52(tt, N)) -> mark(N) 177.19/63.26 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.19/63.26 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.19/63.26 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.19/63.26 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.19/63.26 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.19/63.26 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.19/63.26 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.19/63.26 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.19/63.26 mark(s(X)) -> active(s(mark(X))) 177.19/63.26 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.19/63.26 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.19/63.26 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.19/63.26 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.19/63.26 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.19/63.26 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.19/63.26 mark(U41(X)) -> active(U41(mark(X))) 177.19/63.26 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.19/63.26 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.19/63.26 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.19/63.26 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.19/63.26 mark(isNatKind(X)) -> active(isNatKind(X)) 177.19/63.26 mark(isNat(X)) -> active(isNat(X)) 177.19/63.26 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.19/63.26 mark(tt) -> active(tt) 177.19/63.26 mark(0) -> active(0) 177.19/63.26 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.26 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.26 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.26 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.26 active(U16(tt)) -> mark(tt) 177.19/63.26 active(U23(tt)) -> mark(tt) 177.19/63.26 active(U32(tt)) -> mark(tt) 177.19/63.26 active(U41(tt)) -> mark(tt) 177.19/63.26 active(isNat(0)) -> mark(tt) 177.19/63.26 active(isNatKind(0)) -> mark(tt) 177.19/63.26 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.26 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.26 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.26 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.26 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.26 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.26 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.26 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.26 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.26 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.26 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.26 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.26 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.26 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.26 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.26 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.26 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.26 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.26 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.26 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.26 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.26 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.26 U16(active(X)) -> U16(X) 177.19/63.26 U16(mark(X)) -> U16(X) 177.19/63.26 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.26 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.26 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.26 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.26 U23(active(X)) -> U23(X) 177.19/63.26 U23(mark(X)) -> U23(X) 177.19/63.26 U32(active(X)) -> U32(X) 177.19/63.26 U32(mark(X)) -> U32(X) 177.19/63.26 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.26 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.26 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.26 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.26 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.26 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.26 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.26 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.26 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.26 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.26 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.26 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.26 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.26 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.26 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.26 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.26 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.19/63.26 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.26 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.19/63.26 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.26 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.19/63.26 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.19/63.26 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.19/63.26 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.26 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.19/63.26 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.26 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.19/63.26 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.19/63.26 s(active(X)) -> s(X) 177.19/63.26 s(mark(X)) -> s(X) 177.19/63.26 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.26 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.26 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.26 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.26 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.26 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.26 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.26 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.26 U41(active(X)) -> U41(X) 177.19/63.26 U41(mark(X)) -> U41(X) 177.19/63.26 U51(X1, mark(X2)) -> U51(X1, X2) 177.19/63.26 U51(mark(X1), X2) -> U51(X1, X2) 177.19/63.26 U51(active(X1), X2) -> U51(X1, X2) 177.19/63.26 U51(X1, active(X2)) -> U51(X1, X2) 177.19/63.26 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.26 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.26 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.26 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.26 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.26 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.26 177.19/63.26 The set Q consists of the following terms: 177.19/63.26 177.19/63.26 active(U11(tt, x0, x1)) 177.19/63.26 active(U12(tt, x0, x1)) 177.19/63.26 active(U13(tt, x0, x1)) 177.19/63.26 active(U14(tt, x0, x1)) 177.19/63.26 active(U15(tt, x0)) 177.19/63.26 active(U16(tt)) 177.19/63.26 active(U21(tt, x0)) 177.19/63.26 active(U22(tt, x0)) 177.19/63.26 active(U23(tt)) 177.19/63.26 active(U31(tt, x0)) 177.19/63.26 active(U32(tt)) 177.19/63.26 active(U41(tt)) 177.19/63.26 active(U51(tt, x0)) 177.19/63.26 active(U52(tt, x0)) 177.19/63.26 active(U61(tt, x0, x1)) 177.19/63.26 active(U62(tt, x0, x1)) 177.19/63.26 active(U63(tt, x0, x1)) 177.19/63.26 active(U64(tt, x0, x1)) 177.19/63.26 active(isNat(0)) 177.19/63.26 active(isNat(plus(x0, x1))) 177.19/63.26 active(isNat(s(x0))) 177.19/63.26 active(isNatKind(0)) 177.19/63.26 active(isNatKind(plus(x0, x1))) 177.19/63.26 active(isNatKind(s(x0))) 177.19/63.26 active(plus(x0, 0)) 177.19/63.26 active(plus(x0, s(x1))) 177.19/63.26 mark(U11(x0, x1, x2)) 177.19/63.26 mark(tt) 177.19/63.26 mark(U12(x0, x1, x2)) 177.19/63.26 mark(isNatKind(x0)) 177.19/63.26 mark(U13(x0, x1, x2)) 177.19/63.26 mark(U14(x0, x1, x2)) 177.19/63.26 mark(U15(x0, x1)) 177.19/63.26 mark(isNat(x0)) 177.19/63.26 mark(U16(x0)) 177.19/63.26 mark(U21(x0, x1)) 177.19/63.26 mark(U22(x0, x1)) 177.19/63.26 mark(U23(x0)) 177.19/63.26 mark(U31(x0, x1)) 177.19/63.26 mark(U32(x0)) 177.19/63.26 mark(U41(x0)) 177.19/63.26 mark(U51(x0, x1)) 177.19/63.26 mark(U52(x0, x1)) 177.19/63.26 mark(U61(x0, x1, x2)) 177.19/63.26 mark(U62(x0, x1, x2)) 177.19/63.26 mark(U63(x0, x1, x2)) 177.19/63.26 mark(U64(x0, x1, x2)) 177.19/63.26 mark(s(x0)) 177.19/63.26 mark(plus(x0, x1)) 177.19/63.26 mark(0) 177.19/63.26 U11(mark(x0), x1, x2) 177.19/63.26 U11(x0, mark(x1), x2) 177.19/63.26 U11(x0, x1, mark(x2)) 177.19/63.26 U11(active(x0), x1, x2) 177.19/63.26 U11(x0, active(x1), x2) 177.19/63.26 U11(x0, x1, active(x2)) 177.19/63.26 U12(mark(x0), x1, x2) 177.19/63.26 U12(x0, mark(x1), x2) 177.19/63.26 U12(x0, x1, mark(x2)) 177.19/63.26 U12(active(x0), x1, x2) 177.19/63.26 U12(x0, active(x1), x2) 177.19/63.26 U12(x0, x1, active(x2)) 177.19/63.26 isNatKind(mark(x0)) 177.19/63.26 isNatKind(active(x0)) 177.19/63.26 U13(mark(x0), x1, x2) 177.19/63.26 U13(x0, mark(x1), x2) 177.19/63.26 U13(x0, x1, mark(x2)) 177.19/63.26 U13(active(x0), x1, x2) 177.19/63.26 U13(x0, active(x1), x2) 177.19/63.26 U13(x0, x1, active(x2)) 177.19/63.26 U14(mark(x0), x1, x2) 177.19/63.26 U14(x0, mark(x1), x2) 177.19/63.26 U14(x0, x1, mark(x2)) 177.19/63.26 U14(active(x0), x1, x2) 177.19/63.26 U14(x0, active(x1), x2) 177.19/63.26 U14(x0, x1, active(x2)) 177.19/63.26 U15(mark(x0), x1) 177.19/63.26 U15(x0, mark(x1)) 177.19/63.26 U15(active(x0), x1) 177.19/63.26 U15(x0, active(x1)) 177.19/63.26 isNat(mark(x0)) 177.19/63.26 isNat(active(x0)) 177.19/63.26 U16(mark(x0)) 177.19/63.26 U16(active(x0)) 177.19/63.26 U21(mark(x0), x1) 177.19/63.26 U21(x0, mark(x1)) 177.19/63.26 U21(active(x0), x1) 177.19/63.26 U21(x0, active(x1)) 177.19/63.26 U22(mark(x0), x1) 177.19/63.26 U22(x0, mark(x1)) 177.19/63.26 U22(active(x0), x1) 177.19/63.26 U22(x0, active(x1)) 177.19/63.26 U23(mark(x0)) 177.19/63.26 U23(active(x0)) 177.19/63.26 U31(mark(x0), x1) 177.19/63.26 U31(x0, mark(x1)) 177.19/63.26 U31(active(x0), x1) 177.19/63.26 U31(x0, active(x1)) 177.19/63.26 U32(mark(x0)) 177.19/63.26 U32(active(x0)) 177.19/63.26 U41(mark(x0)) 177.19/63.26 U41(active(x0)) 177.19/63.26 U51(mark(x0), x1) 177.19/63.26 U51(x0, mark(x1)) 177.19/63.26 U51(active(x0), x1) 177.19/63.26 U51(x0, active(x1)) 177.19/63.26 U52(mark(x0), x1) 177.19/63.26 U52(x0, mark(x1)) 177.19/63.26 U52(active(x0), x1) 177.19/63.26 U52(x0, active(x1)) 177.19/63.26 U61(mark(x0), x1, x2) 177.19/63.26 U61(x0, mark(x1), x2) 177.19/63.26 U61(x0, x1, mark(x2)) 177.19/63.26 U61(active(x0), x1, x2) 177.19/63.26 U61(x0, active(x1), x2) 177.19/63.26 U61(x0, x1, active(x2)) 177.19/63.26 U62(mark(x0), x1, x2) 177.19/63.26 U62(x0, mark(x1), x2) 177.19/63.26 U62(x0, x1, mark(x2)) 177.19/63.26 U62(active(x0), x1, x2) 177.19/63.26 U62(x0, active(x1), x2) 177.19/63.26 U62(x0, x1, active(x2)) 177.19/63.26 U63(mark(x0), x1, x2) 177.19/63.26 U63(x0, mark(x1), x2) 177.19/63.26 U63(x0, x1, mark(x2)) 177.19/63.26 U63(active(x0), x1, x2) 177.19/63.26 U63(x0, active(x1), x2) 177.19/63.26 U63(x0, x1, active(x2)) 177.19/63.26 U64(mark(x0), x1, x2) 177.19/63.26 U64(x0, mark(x1), x2) 177.19/63.26 U64(x0, x1, mark(x2)) 177.19/63.26 U64(active(x0), x1, x2) 177.19/63.26 U64(x0, active(x1), x2) 177.19/63.26 U64(x0, x1, active(x2)) 177.19/63.26 s(mark(x0)) 177.19/63.26 s(active(x0)) 177.19/63.26 plus(mark(x0), x1) 177.19/63.26 plus(x0, mark(x1)) 177.19/63.26 plus(active(x0), x1) 177.19/63.26 plus(x0, active(x1)) 177.19/63.26 177.19/63.26 We have to consider all minimal (P,Q,R)-chains. 177.19/63.26 ---------------------------------------- 177.19/63.26 177.19/63.26 (168) QDPOrderProof (EQUIVALENT) 177.19/63.26 We use the reduction pair processor [LPAR04,JAR06]. 177.19/63.26 177.19/63.26 177.19/63.26 The following pairs can be oriented strictly and are deleted. 177.19/63.26 177.19/63.26 MARK(U61(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(U62(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(U63(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(U64(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(s(X)) -> MARK(X) 177.19/63.26 The remaining pairs can at least be oriented weakly. 177.19/63.26 Used ordering: Polynomial interpretation [POLO]: 177.19/63.26 177.19/63.26 POL(0) = 0 177.19/63.26 POL(ACTIVE(x_1)) = x_1 177.19/63.26 POL(MARK(x_1)) = x_1 177.19/63.26 POL(U11(x_1, x_2, x_3)) = x_1 177.19/63.26 POL(U12(x_1, x_2, x_3)) = x_1 177.19/63.26 POL(U13(x_1, x_2, x_3)) = x_1 177.19/63.26 POL(U14(x_1, x_2, x_3)) = x_1 177.19/63.26 POL(U15(x_1, x_2)) = x_1 177.19/63.26 POL(U16(x_1)) = x_1 177.19/63.26 POL(U21(x_1, x_2)) = x_1 177.19/63.26 POL(U22(x_1, x_2)) = x_1 177.19/63.26 POL(U23(x_1)) = x_1 177.19/63.26 POL(U31(x_1, x_2)) = x_1 177.19/63.26 POL(U32(x_1)) = x_1 177.19/63.26 POL(U41(x_1)) = x_1 177.19/63.26 POL(U51(x_1, x_2)) = x_2 177.19/63.26 POL(U52(x_1, x_2)) = x_1 + x_2 177.19/63.26 POL(U61(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 177.19/63.26 POL(U62(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 177.19/63.26 POL(U63(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 177.19/63.26 POL(U64(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 177.19/63.26 POL(active(x_1)) = x_1 177.19/63.26 POL(isNat(x_1)) = 0 177.19/63.26 POL(isNatKind(x_1)) = 0 177.19/63.26 POL(mark(x_1)) = x_1 177.19/63.26 POL(plus(x_1, x_2)) = x_1 + x_2 177.19/63.26 POL(s(x_1)) = 1 + x_1 177.19/63.26 POL(tt) = 0 177.19/63.26 177.19/63.26 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 177.19/63.26 177.19/63.26 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.19/63.26 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.19/63.26 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.19/63.26 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.19/63.26 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.19/63.26 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.19/63.26 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.19/63.26 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.19/63.26 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.19/63.26 mark(U16(X)) -> active(U16(mark(X))) 177.19/63.26 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.19/63.26 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.19/63.26 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.19/63.26 mark(U23(X)) -> active(U23(mark(X))) 177.19/63.26 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.19/63.26 mark(U32(X)) -> active(U32(mark(X))) 177.19/63.26 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.19/63.26 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.19/63.26 active(U52(tt, N)) -> mark(N) 177.19/63.26 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.19/63.26 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.19/63.26 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.19/63.26 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.19/63.26 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.19/63.26 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.19/63.26 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.19/63.26 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.19/63.26 mark(s(X)) -> active(s(mark(X))) 177.19/63.26 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.19/63.26 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.19/63.26 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.19/63.26 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.19/63.26 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.19/63.26 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.19/63.26 mark(U41(X)) -> active(U41(mark(X))) 177.19/63.26 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.19/63.26 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.19/63.26 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.19/63.26 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.19/63.26 mark(isNatKind(X)) -> active(isNatKind(X)) 177.19/63.26 mark(isNat(X)) -> active(isNat(X)) 177.19/63.26 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.19/63.26 mark(tt) -> active(tt) 177.19/63.26 mark(0) -> active(0) 177.19/63.26 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.26 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.26 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.26 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.26 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.26 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.26 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.26 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.26 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.26 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.26 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.26 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.26 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.26 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.26 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.26 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.26 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.26 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.26 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.26 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.26 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.26 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.26 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.26 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.26 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.26 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.26 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.26 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.26 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.26 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.26 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.26 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.26 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.26 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.26 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.26 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.26 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.26 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.26 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.26 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.26 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.26 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.26 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.26 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.26 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.26 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.26 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.19/63.26 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.26 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.19/63.26 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.26 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.19/63.26 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.19/63.26 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.19/63.26 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.26 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.19/63.26 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.26 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.19/63.26 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.19/63.26 U51(X1, mark(X2)) -> U51(X1, X2) 177.19/63.26 U51(mark(X1), X2) -> U51(X1, X2) 177.19/63.26 U51(active(X1), X2) -> U51(X1, X2) 177.19/63.26 U51(X1, active(X2)) -> U51(X1, X2) 177.19/63.26 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.26 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.26 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.26 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.26 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.26 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.26 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.26 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.26 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.26 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.26 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.26 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.26 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.26 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.26 active(U16(tt)) -> mark(tt) 177.19/63.26 active(U23(tt)) -> mark(tt) 177.19/63.26 active(U32(tt)) -> mark(tt) 177.19/63.26 active(U41(tt)) -> mark(tt) 177.19/63.26 active(isNat(0)) -> mark(tt) 177.19/63.26 active(isNatKind(0)) -> mark(tt) 177.19/63.26 U16(active(X)) -> U16(X) 177.19/63.26 U16(mark(X)) -> U16(X) 177.19/63.26 U23(active(X)) -> U23(X) 177.19/63.26 U23(mark(X)) -> U23(X) 177.19/63.26 U32(active(X)) -> U32(X) 177.19/63.26 U32(mark(X)) -> U32(X) 177.19/63.26 s(active(X)) -> s(X) 177.19/63.26 s(mark(X)) -> s(X) 177.19/63.26 U41(active(X)) -> U41(X) 177.19/63.26 U41(mark(X)) -> U41(X) 177.19/63.26 177.19/63.26 177.19/63.26 ---------------------------------------- 177.19/63.26 177.19/63.26 (169) 177.19/63.26 Obligation: 177.19/63.26 Q DP problem: 177.19/63.26 The TRS P consists of the following rules: 177.19/63.26 177.19/63.26 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) 177.19/63.26 MARK(U12(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.19/63.26 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.19/63.26 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.19/63.26 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.19/63.26 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.19/63.26 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 177.19/63.26 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 177.19/63.26 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 177.19/63.26 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.19/63.26 MARK(U52(X1, X2)) -> ACTIVE(U52(mark(X1), X2)) 177.19/63.26 ACTIVE(U52(tt, N)) -> MARK(N) 177.19/63.26 MARK(U11(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.19/63.26 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.19/63.26 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.19/63.26 ACTIVE(U61(tt, M, N)) -> MARK(U62(isNatKind(M), M, N)) 177.19/63.26 MARK(U62(X1, X2, X3)) -> ACTIVE(U62(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U62(tt, M, N)) -> MARK(U63(isNat(N), M, N)) 177.19/63.26 MARK(U63(X1, X2, X3)) -> ACTIVE(U63(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U63(tt, M, N)) -> MARK(U64(isNatKind(N), M, N)) 177.19/63.26 MARK(U64(X1, X2, X3)) -> ACTIVE(U64(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U64(tt, M, N)) -> MARK(s(plus(N, M))) 177.19/63.26 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 177.19/63.26 ACTIVE(plus(N, s(M))) -> MARK(U61(isNat(M), M, N)) 177.19/63.26 MARK(U61(X1, X2, X3)) -> ACTIVE(U61(mark(X1), X2, X3)) 177.19/63.26 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(U15(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(isNat(X)) -> ACTIVE(isNat(X)) 177.19/63.26 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) 177.19/63.26 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 177.19/63.26 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 177.19/63.26 MARK(U21(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(U16(X)) -> MARK(X) 177.19/63.26 MARK(U22(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(U23(X)) -> MARK(X) 177.19/63.26 MARK(U31(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(U32(X)) -> MARK(X) 177.19/63.26 MARK(U41(X)) -> MARK(X) 177.19/63.26 MARK(U52(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 177.19/63.26 MARK(plus(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(plus(X1, X2)) -> MARK(X2) 177.19/63.26 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.19/63.26 177.19/63.26 The TRS R consists of the following rules: 177.19/63.26 177.19/63.26 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.19/63.26 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.19/63.26 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.19/63.26 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.19/63.26 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.19/63.26 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.19/63.26 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.19/63.26 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.19/63.26 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.19/63.26 mark(U16(X)) -> active(U16(mark(X))) 177.19/63.26 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.19/63.26 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.19/63.26 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.19/63.26 mark(U23(X)) -> active(U23(mark(X))) 177.19/63.26 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.19/63.26 mark(U32(X)) -> active(U32(mark(X))) 177.19/63.26 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.19/63.26 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.19/63.26 active(U52(tt, N)) -> mark(N) 177.19/63.26 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.19/63.26 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.19/63.26 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.19/63.26 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.19/63.26 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.19/63.26 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.19/63.26 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.19/63.26 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.19/63.26 mark(s(X)) -> active(s(mark(X))) 177.19/63.26 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.19/63.26 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.19/63.26 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.19/63.26 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.19/63.26 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.19/63.26 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.19/63.26 mark(U41(X)) -> active(U41(mark(X))) 177.19/63.26 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.19/63.26 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.19/63.26 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.19/63.26 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.19/63.26 mark(isNatKind(X)) -> active(isNatKind(X)) 177.19/63.26 mark(isNat(X)) -> active(isNat(X)) 177.19/63.26 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.19/63.26 mark(tt) -> active(tt) 177.19/63.26 mark(0) -> active(0) 177.19/63.26 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.26 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.26 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.26 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.26 active(U16(tt)) -> mark(tt) 177.19/63.26 active(U23(tt)) -> mark(tt) 177.19/63.26 active(U32(tt)) -> mark(tt) 177.19/63.26 active(U41(tt)) -> mark(tt) 177.19/63.26 active(isNat(0)) -> mark(tt) 177.19/63.26 active(isNatKind(0)) -> mark(tt) 177.19/63.26 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.26 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.26 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.26 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.26 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.26 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.26 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.26 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.26 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.26 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.26 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.26 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.26 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.26 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.26 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.26 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.26 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.26 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.26 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.26 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.26 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.26 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.26 U16(active(X)) -> U16(X) 177.19/63.26 U16(mark(X)) -> U16(X) 177.19/63.26 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.26 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.26 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.26 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.26 U23(active(X)) -> U23(X) 177.19/63.26 U23(mark(X)) -> U23(X) 177.19/63.26 U32(active(X)) -> U32(X) 177.19/63.26 U32(mark(X)) -> U32(X) 177.19/63.26 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.26 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.26 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.26 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.26 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.26 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.26 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.26 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.26 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.26 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.26 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.26 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.26 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.26 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.26 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.26 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.26 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.19/63.26 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.26 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.19/63.26 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.26 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.19/63.26 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.19/63.26 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.19/63.26 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.26 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.19/63.26 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.26 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.19/63.26 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.19/63.26 s(active(X)) -> s(X) 177.19/63.26 s(mark(X)) -> s(X) 177.19/63.26 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.26 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.26 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.26 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.26 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.26 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.26 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.26 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.26 U41(active(X)) -> U41(X) 177.19/63.26 U41(mark(X)) -> U41(X) 177.19/63.26 U51(X1, mark(X2)) -> U51(X1, X2) 177.19/63.26 U51(mark(X1), X2) -> U51(X1, X2) 177.19/63.26 U51(active(X1), X2) -> U51(X1, X2) 177.19/63.26 U51(X1, active(X2)) -> U51(X1, X2) 177.19/63.26 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.26 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.26 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.26 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.26 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.26 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.26 177.19/63.26 The set Q consists of the following terms: 177.19/63.26 177.19/63.26 active(U11(tt, x0, x1)) 177.19/63.26 active(U12(tt, x0, x1)) 177.19/63.26 active(U13(tt, x0, x1)) 177.19/63.26 active(U14(tt, x0, x1)) 177.19/63.26 active(U15(tt, x0)) 177.19/63.26 active(U16(tt)) 177.19/63.26 active(U21(tt, x0)) 177.19/63.26 active(U22(tt, x0)) 177.19/63.26 active(U23(tt)) 177.19/63.26 active(U31(tt, x0)) 177.19/63.26 active(U32(tt)) 177.19/63.26 active(U41(tt)) 177.19/63.26 active(U51(tt, x0)) 177.19/63.26 active(U52(tt, x0)) 177.19/63.26 active(U61(tt, x0, x1)) 177.19/63.26 active(U62(tt, x0, x1)) 177.19/63.26 active(U63(tt, x0, x1)) 177.19/63.26 active(U64(tt, x0, x1)) 177.19/63.26 active(isNat(0)) 177.19/63.26 active(isNat(plus(x0, x1))) 177.19/63.26 active(isNat(s(x0))) 177.19/63.26 active(isNatKind(0)) 177.19/63.26 active(isNatKind(plus(x0, x1))) 177.19/63.26 active(isNatKind(s(x0))) 177.19/63.26 active(plus(x0, 0)) 177.19/63.26 active(plus(x0, s(x1))) 177.19/63.26 mark(U11(x0, x1, x2)) 177.19/63.26 mark(tt) 177.19/63.26 mark(U12(x0, x1, x2)) 177.19/63.26 mark(isNatKind(x0)) 177.19/63.26 mark(U13(x0, x1, x2)) 177.19/63.26 mark(U14(x0, x1, x2)) 177.19/63.26 mark(U15(x0, x1)) 177.19/63.26 mark(isNat(x0)) 177.19/63.26 mark(U16(x0)) 177.19/63.26 mark(U21(x0, x1)) 177.19/63.26 mark(U22(x0, x1)) 177.19/63.26 mark(U23(x0)) 177.19/63.26 mark(U31(x0, x1)) 177.19/63.26 mark(U32(x0)) 177.19/63.26 mark(U41(x0)) 177.19/63.26 mark(U51(x0, x1)) 177.19/63.26 mark(U52(x0, x1)) 177.19/63.26 mark(U61(x0, x1, x2)) 177.19/63.26 mark(U62(x0, x1, x2)) 177.19/63.26 mark(U63(x0, x1, x2)) 177.19/63.26 mark(U64(x0, x1, x2)) 177.19/63.26 mark(s(x0)) 177.19/63.26 mark(plus(x0, x1)) 177.19/63.26 mark(0) 177.19/63.26 U11(mark(x0), x1, x2) 177.19/63.26 U11(x0, mark(x1), x2) 177.19/63.26 U11(x0, x1, mark(x2)) 177.19/63.26 U11(active(x0), x1, x2) 177.19/63.26 U11(x0, active(x1), x2) 177.19/63.26 U11(x0, x1, active(x2)) 177.19/63.26 U12(mark(x0), x1, x2) 177.19/63.26 U12(x0, mark(x1), x2) 177.19/63.26 U12(x0, x1, mark(x2)) 177.19/63.26 U12(active(x0), x1, x2) 177.19/63.26 U12(x0, active(x1), x2) 177.19/63.26 U12(x0, x1, active(x2)) 177.19/63.26 isNatKind(mark(x0)) 177.19/63.26 isNatKind(active(x0)) 177.19/63.26 U13(mark(x0), x1, x2) 177.19/63.26 U13(x0, mark(x1), x2) 177.19/63.26 U13(x0, x1, mark(x2)) 177.19/63.26 U13(active(x0), x1, x2) 177.19/63.26 U13(x0, active(x1), x2) 177.19/63.26 U13(x0, x1, active(x2)) 177.19/63.26 U14(mark(x0), x1, x2) 177.19/63.26 U14(x0, mark(x1), x2) 177.19/63.26 U14(x0, x1, mark(x2)) 177.19/63.26 U14(active(x0), x1, x2) 177.19/63.26 U14(x0, active(x1), x2) 177.19/63.26 U14(x0, x1, active(x2)) 177.19/63.26 U15(mark(x0), x1) 177.19/63.26 U15(x0, mark(x1)) 177.19/63.26 U15(active(x0), x1) 177.19/63.26 U15(x0, active(x1)) 177.19/63.26 isNat(mark(x0)) 177.19/63.26 isNat(active(x0)) 177.19/63.26 U16(mark(x0)) 177.19/63.26 U16(active(x0)) 177.19/63.26 U21(mark(x0), x1) 177.19/63.26 U21(x0, mark(x1)) 177.19/63.26 U21(active(x0), x1) 177.19/63.26 U21(x0, active(x1)) 177.19/63.26 U22(mark(x0), x1) 177.19/63.26 U22(x0, mark(x1)) 177.19/63.26 U22(active(x0), x1) 177.19/63.26 U22(x0, active(x1)) 177.19/63.26 U23(mark(x0)) 177.19/63.26 U23(active(x0)) 177.19/63.26 U31(mark(x0), x1) 177.19/63.26 U31(x0, mark(x1)) 177.19/63.26 U31(active(x0), x1) 177.19/63.26 U31(x0, active(x1)) 177.19/63.26 U32(mark(x0)) 177.19/63.26 U32(active(x0)) 177.19/63.26 U41(mark(x0)) 177.19/63.26 U41(active(x0)) 177.19/63.26 U51(mark(x0), x1) 177.19/63.26 U51(x0, mark(x1)) 177.19/63.26 U51(active(x0), x1) 177.19/63.26 U51(x0, active(x1)) 177.19/63.26 U52(mark(x0), x1) 177.19/63.26 U52(x0, mark(x1)) 177.19/63.26 U52(active(x0), x1) 177.19/63.26 U52(x0, active(x1)) 177.19/63.26 U61(mark(x0), x1, x2) 177.19/63.26 U61(x0, mark(x1), x2) 177.19/63.26 U61(x0, x1, mark(x2)) 177.19/63.26 U61(active(x0), x1, x2) 177.19/63.26 U61(x0, active(x1), x2) 177.19/63.26 U61(x0, x1, active(x2)) 177.19/63.26 U62(mark(x0), x1, x2) 177.19/63.26 U62(x0, mark(x1), x2) 177.19/63.26 U62(x0, x1, mark(x2)) 177.19/63.26 U62(active(x0), x1, x2) 177.19/63.26 U62(x0, active(x1), x2) 177.19/63.26 U62(x0, x1, active(x2)) 177.19/63.26 U63(mark(x0), x1, x2) 177.19/63.26 U63(x0, mark(x1), x2) 177.19/63.26 U63(x0, x1, mark(x2)) 177.19/63.26 U63(active(x0), x1, x2) 177.19/63.26 U63(x0, active(x1), x2) 177.19/63.26 U63(x0, x1, active(x2)) 177.19/63.26 U64(mark(x0), x1, x2) 177.19/63.26 U64(x0, mark(x1), x2) 177.19/63.26 U64(x0, x1, mark(x2)) 177.19/63.26 U64(active(x0), x1, x2) 177.19/63.26 U64(x0, active(x1), x2) 177.19/63.26 U64(x0, x1, active(x2)) 177.19/63.26 s(mark(x0)) 177.19/63.26 s(active(x0)) 177.19/63.26 plus(mark(x0), x1) 177.19/63.26 plus(x0, mark(x1)) 177.19/63.26 plus(active(x0), x1) 177.19/63.26 plus(x0, active(x1)) 177.19/63.26 177.19/63.26 We have to consider all minimal (P,Q,R)-chains. 177.19/63.26 ---------------------------------------- 177.19/63.26 177.19/63.26 (170) DependencyGraphProof (EQUIVALENT) 177.19/63.26 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 177.19/63.26 ---------------------------------------- 177.19/63.26 177.19/63.26 (171) 177.19/63.26 Obligation: 177.19/63.26 Q DP problem: 177.19/63.26 The TRS P consists of the following rules: 177.19/63.26 177.19/63.26 ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) 177.19/63.26 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.19/63.26 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.19/63.26 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.19/63.26 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.19/63.26 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.19/63.26 MARK(U16(X)) -> MARK(X) 177.19/63.26 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 177.19/63.26 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 177.19/63.26 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 177.19/63.26 MARK(U23(X)) -> MARK(X) 177.19/63.26 MARK(U11(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(U12(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.19/63.26 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.19/63.26 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.19/63.26 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.19/63.26 MARK(U32(X)) -> MARK(X) 177.19/63.26 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(U15(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(isNat(X)) -> ACTIVE(isNat(X)) 177.19/63.26 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) 177.19/63.26 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 177.19/63.26 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 177.19/63.26 ACTIVE(U52(tt, N)) -> MARK(N) 177.19/63.26 MARK(U21(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(U22(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(U31(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(U41(X)) -> MARK(X) 177.19/63.26 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 177.19/63.26 ACTIVE(U61(tt, M, N)) -> MARK(U62(isNatKind(M), M, N)) 177.19/63.26 MARK(U62(X1, X2, X3)) -> ACTIVE(U62(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U62(tt, M, N)) -> MARK(U63(isNat(N), M, N)) 177.19/63.26 MARK(U63(X1, X2, X3)) -> ACTIVE(U63(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U63(tt, M, N)) -> MARK(U64(isNatKind(N), M, N)) 177.19/63.26 MARK(U64(X1, X2, X3)) -> ACTIVE(U64(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(plus(N, s(M))) -> MARK(U61(isNat(M), M, N)) 177.19/63.26 MARK(U61(X1, X2, X3)) -> ACTIVE(U61(mark(X1), X2, X3)) 177.19/63.26 MARK(U52(X1, X2)) -> ACTIVE(U52(mark(X1), X2)) 177.19/63.26 MARK(U52(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 177.19/63.26 MARK(plus(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(plus(X1, X2)) -> MARK(X2) 177.19/63.26 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.19/63.26 177.19/63.26 The TRS R consists of the following rules: 177.19/63.26 177.19/63.26 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.19/63.26 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.19/63.26 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.19/63.26 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.19/63.26 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.19/63.26 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.19/63.26 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.19/63.26 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.19/63.26 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.19/63.26 mark(U16(X)) -> active(U16(mark(X))) 177.19/63.26 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.19/63.26 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.19/63.26 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.19/63.26 mark(U23(X)) -> active(U23(mark(X))) 177.19/63.26 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.19/63.26 mark(U32(X)) -> active(U32(mark(X))) 177.19/63.26 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.19/63.26 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.19/63.26 active(U52(tt, N)) -> mark(N) 177.19/63.26 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.19/63.26 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.19/63.26 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.19/63.26 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.19/63.26 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.19/63.26 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.19/63.26 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.19/63.26 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.19/63.26 mark(s(X)) -> active(s(mark(X))) 177.19/63.26 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.19/63.26 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.19/63.26 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.19/63.26 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.19/63.26 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.19/63.26 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.19/63.26 mark(U41(X)) -> active(U41(mark(X))) 177.19/63.26 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.19/63.26 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.19/63.26 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.19/63.26 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.19/63.26 mark(isNatKind(X)) -> active(isNatKind(X)) 177.19/63.26 mark(isNat(X)) -> active(isNat(X)) 177.19/63.26 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.19/63.26 mark(tt) -> active(tt) 177.19/63.26 mark(0) -> active(0) 177.19/63.26 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.26 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.26 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.26 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.26 active(U16(tt)) -> mark(tt) 177.19/63.26 active(U23(tt)) -> mark(tt) 177.19/63.26 active(U32(tt)) -> mark(tt) 177.19/63.26 active(U41(tt)) -> mark(tt) 177.19/63.26 active(isNat(0)) -> mark(tt) 177.19/63.26 active(isNatKind(0)) -> mark(tt) 177.19/63.26 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.26 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.26 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.26 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.26 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.26 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.26 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.26 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.26 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.26 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.26 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.26 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.26 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.26 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.26 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.26 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.26 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.26 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.26 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.26 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.26 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.26 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.26 U16(active(X)) -> U16(X) 177.19/63.26 U16(mark(X)) -> U16(X) 177.19/63.26 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.26 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.26 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.26 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.26 U23(active(X)) -> U23(X) 177.19/63.26 U23(mark(X)) -> U23(X) 177.19/63.26 U32(active(X)) -> U32(X) 177.19/63.26 U32(mark(X)) -> U32(X) 177.19/63.26 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.26 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.26 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.26 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.26 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.26 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.26 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.26 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.26 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.26 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.26 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.26 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.26 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.26 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.26 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.26 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.26 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.19/63.26 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.26 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.19/63.26 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.26 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.19/63.26 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.19/63.26 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.19/63.26 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.26 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.19/63.26 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.26 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.19/63.26 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.19/63.26 s(active(X)) -> s(X) 177.19/63.26 s(mark(X)) -> s(X) 177.19/63.26 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.26 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.26 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.26 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.26 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.26 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.26 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.26 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.26 U41(active(X)) -> U41(X) 177.19/63.26 U41(mark(X)) -> U41(X) 177.19/63.26 U51(X1, mark(X2)) -> U51(X1, X2) 177.19/63.26 U51(mark(X1), X2) -> U51(X1, X2) 177.19/63.26 U51(active(X1), X2) -> U51(X1, X2) 177.19/63.26 U51(X1, active(X2)) -> U51(X1, X2) 177.19/63.26 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.26 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.26 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.26 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.26 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.26 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.26 177.19/63.26 The set Q consists of the following terms: 177.19/63.26 177.19/63.26 active(U11(tt, x0, x1)) 177.19/63.26 active(U12(tt, x0, x1)) 177.19/63.26 active(U13(tt, x0, x1)) 177.19/63.26 active(U14(tt, x0, x1)) 177.19/63.26 active(U15(tt, x0)) 177.19/63.26 active(U16(tt)) 177.19/63.26 active(U21(tt, x0)) 177.19/63.26 active(U22(tt, x0)) 177.19/63.26 active(U23(tt)) 177.19/63.26 active(U31(tt, x0)) 177.19/63.26 active(U32(tt)) 177.19/63.26 active(U41(tt)) 177.19/63.26 active(U51(tt, x0)) 177.19/63.26 active(U52(tt, x0)) 177.19/63.26 active(U61(tt, x0, x1)) 177.19/63.26 active(U62(tt, x0, x1)) 177.19/63.26 active(U63(tt, x0, x1)) 177.19/63.26 active(U64(tt, x0, x1)) 177.19/63.26 active(isNat(0)) 177.19/63.26 active(isNat(plus(x0, x1))) 177.19/63.26 active(isNat(s(x0))) 177.19/63.26 active(isNatKind(0)) 177.19/63.26 active(isNatKind(plus(x0, x1))) 177.19/63.26 active(isNatKind(s(x0))) 177.19/63.26 active(plus(x0, 0)) 177.19/63.26 active(plus(x0, s(x1))) 177.19/63.26 mark(U11(x0, x1, x2)) 177.19/63.26 mark(tt) 177.19/63.26 mark(U12(x0, x1, x2)) 177.19/63.26 mark(isNatKind(x0)) 177.19/63.26 mark(U13(x0, x1, x2)) 177.19/63.26 mark(U14(x0, x1, x2)) 177.19/63.26 mark(U15(x0, x1)) 177.19/63.26 mark(isNat(x0)) 177.19/63.26 mark(U16(x0)) 177.19/63.26 mark(U21(x0, x1)) 177.19/63.26 mark(U22(x0, x1)) 177.19/63.26 mark(U23(x0)) 177.19/63.26 mark(U31(x0, x1)) 177.19/63.26 mark(U32(x0)) 177.19/63.26 mark(U41(x0)) 177.19/63.26 mark(U51(x0, x1)) 177.19/63.26 mark(U52(x0, x1)) 177.19/63.26 mark(U61(x0, x1, x2)) 177.19/63.26 mark(U62(x0, x1, x2)) 177.19/63.26 mark(U63(x0, x1, x2)) 177.19/63.26 mark(U64(x0, x1, x2)) 177.19/63.26 mark(s(x0)) 177.19/63.26 mark(plus(x0, x1)) 177.19/63.26 mark(0) 177.19/63.26 U11(mark(x0), x1, x2) 177.19/63.26 U11(x0, mark(x1), x2) 177.19/63.26 U11(x0, x1, mark(x2)) 177.19/63.26 U11(active(x0), x1, x2) 177.19/63.26 U11(x0, active(x1), x2) 177.19/63.26 U11(x0, x1, active(x2)) 177.19/63.26 U12(mark(x0), x1, x2) 177.19/63.26 U12(x0, mark(x1), x2) 177.19/63.26 U12(x0, x1, mark(x2)) 177.19/63.26 U12(active(x0), x1, x2) 177.19/63.26 U12(x0, active(x1), x2) 177.19/63.26 U12(x0, x1, active(x2)) 177.19/63.26 isNatKind(mark(x0)) 177.19/63.26 isNatKind(active(x0)) 177.19/63.26 U13(mark(x0), x1, x2) 177.19/63.26 U13(x0, mark(x1), x2) 177.19/63.26 U13(x0, x1, mark(x2)) 177.19/63.26 U13(active(x0), x1, x2) 177.19/63.26 U13(x0, active(x1), x2) 177.19/63.26 U13(x0, x1, active(x2)) 177.19/63.26 U14(mark(x0), x1, x2) 177.19/63.26 U14(x0, mark(x1), x2) 177.19/63.26 U14(x0, x1, mark(x2)) 177.19/63.26 U14(active(x0), x1, x2) 177.19/63.26 U14(x0, active(x1), x2) 177.19/63.26 U14(x0, x1, active(x2)) 177.19/63.26 U15(mark(x0), x1) 177.19/63.26 U15(x0, mark(x1)) 177.19/63.26 U15(active(x0), x1) 177.19/63.26 U15(x0, active(x1)) 177.19/63.26 isNat(mark(x0)) 177.19/63.26 isNat(active(x0)) 177.19/63.26 U16(mark(x0)) 177.19/63.26 U16(active(x0)) 177.19/63.26 U21(mark(x0), x1) 177.19/63.26 U21(x0, mark(x1)) 177.19/63.26 U21(active(x0), x1) 177.19/63.26 U21(x0, active(x1)) 177.19/63.26 U22(mark(x0), x1) 177.19/63.26 U22(x0, mark(x1)) 177.19/63.26 U22(active(x0), x1) 177.19/63.26 U22(x0, active(x1)) 177.19/63.26 U23(mark(x0)) 177.19/63.26 U23(active(x0)) 177.19/63.26 U31(mark(x0), x1) 177.19/63.26 U31(x0, mark(x1)) 177.19/63.26 U31(active(x0), x1) 177.19/63.26 U31(x0, active(x1)) 177.19/63.26 U32(mark(x0)) 177.19/63.26 U32(active(x0)) 177.19/63.26 U41(mark(x0)) 177.19/63.26 U41(active(x0)) 177.19/63.26 U51(mark(x0), x1) 177.19/63.26 U51(x0, mark(x1)) 177.19/63.26 U51(active(x0), x1) 177.19/63.26 U51(x0, active(x1)) 177.19/63.26 U52(mark(x0), x1) 177.19/63.26 U52(x0, mark(x1)) 177.19/63.26 U52(active(x0), x1) 177.19/63.26 U52(x0, active(x1)) 177.19/63.26 U61(mark(x0), x1, x2) 177.19/63.26 U61(x0, mark(x1), x2) 177.19/63.26 U61(x0, x1, mark(x2)) 177.19/63.26 U61(active(x0), x1, x2) 177.19/63.26 U61(x0, active(x1), x2) 177.19/63.26 U61(x0, x1, active(x2)) 177.19/63.26 U62(mark(x0), x1, x2) 177.19/63.26 U62(x0, mark(x1), x2) 177.19/63.26 U62(x0, x1, mark(x2)) 177.19/63.26 U62(active(x0), x1, x2) 177.19/63.26 U62(x0, active(x1), x2) 177.19/63.26 U62(x0, x1, active(x2)) 177.19/63.26 U63(mark(x0), x1, x2) 177.19/63.26 U63(x0, mark(x1), x2) 177.19/63.26 U63(x0, x1, mark(x2)) 177.19/63.26 U63(active(x0), x1, x2) 177.19/63.26 U63(x0, active(x1), x2) 177.19/63.26 U63(x0, x1, active(x2)) 177.19/63.26 U64(mark(x0), x1, x2) 177.19/63.26 U64(x0, mark(x1), x2) 177.19/63.26 U64(x0, x1, mark(x2)) 177.19/63.26 U64(active(x0), x1, x2) 177.19/63.26 U64(x0, active(x1), x2) 177.19/63.26 U64(x0, x1, active(x2)) 177.19/63.26 s(mark(x0)) 177.19/63.26 s(active(x0)) 177.19/63.26 plus(mark(x0), x1) 177.19/63.26 plus(x0, mark(x1)) 177.19/63.26 plus(active(x0), x1) 177.19/63.26 plus(x0, active(x1)) 177.19/63.26 177.19/63.26 We have to consider all minimal (P,Q,R)-chains. 177.19/63.26 ---------------------------------------- 177.19/63.26 177.19/63.26 (172) QDPQMonotonicMRRProof (EQUIVALENT) 177.19/63.26 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. 177.19/63.26 177.19/63.26 Strictly oriented dependency pairs: 177.19/63.26 177.19/63.26 MARK(U51(X1, X2)) -> ACTIVE(U51(mark(X1), X2)) 177.19/63.26 MARK(U64(X1, X2, X3)) -> ACTIVE(U64(mark(X1), X2, X3)) 177.19/63.26 177.19/63.26 177.19/63.26 Used ordering: Polynomial interpretation [POLO]: 177.19/63.26 177.19/63.26 POL(0) = 0 177.19/63.26 POL(ACTIVE(x_1)) = 2*x_1 177.19/63.26 POL(MARK(x_1)) = 2 177.19/63.26 POL(U11(x_1, x_2, x_3)) = 1 177.19/63.26 POL(U12(x_1, x_2, x_3)) = 1 177.19/63.26 POL(U13(x_1, x_2, x_3)) = 1 177.19/63.26 POL(U14(x_1, x_2, x_3)) = 1 177.19/63.26 POL(U15(x_1, x_2)) = 1 177.19/63.26 POL(U16(x_1)) = 0 177.19/63.26 POL(U21(x_1, x_2)) = 1 177.19/63.26 POL(U22(x_1, x_2)) = 1 177.19/63.26 POL(U23(x_1)) = 0 177.19/63.26 POL(U31(x_1, x_2)) = 1 177.19/63.26 POL(U32(x_1)) = 0 177.19/63.26 POL(U41(x_1)) = 0 177.19/63.26 POL(U51(x_1, x_2)) = 0 177.19/63.26 POL(U52(x_1, x_2)) = 1 177.19/63.26 POL(U61(x_1, x_2, x_3)) = 1 177.19/63.26 POL(U62(x_1, x_2, x_3)) = 1 177.19/63.26 POL(U63(x_1, x_2, x_3)) = 1 177.19/63.26 POL(U64(x_1, x_2, x_3)) = 0 177.19/63.26 POL(active(x_1)) = 0 177.19/63.26 POL(isNat(x_1)) = 1 177.19/63.26 POL(isNatKind(x_1)) = 1 177.19/63.26 POL(mark(x_1)) = 0 177.19/63.26 POL(plus(x_1, x_2)) = 1 177.19/63.26 POL(s(x_1)) = 0 177.19/63.26 POL(tt) = 0 177.19/63.26 177.19/63.26 177.19/63.26 ---------------------------------------- 177.19/63.26 177.19/63.26 (173) 177.19/63.26 Obligation: 177.19/63.26 Q DP problem: 177.19/63.26 The TRS P consists of the following rules: 177.19/63.26 177.19/63.26 ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) 177.19/63.26 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.19/63.26 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.19/63.26 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.19/63.26 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.19/63.26 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.19/63.26 MARK(U16(X)) -> MARK(X) 177.19/63.26 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 177.19/63.26 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 177.19/63.26 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 177.19/63.26 MARK(U23(X)) -> MARK(X) 177.19/63.26 MARK(U11(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(U12(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.19/63.26 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.19/63.26 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.19/63.26 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.19/63.26 MARK(U32(X)) -> MARK(X) 177.19/63.26 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.19/63.26 MARK(U15(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(isNat(X)) -> ACTIVE(isNat(X)) 177.19/63.26 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) 177.19/63.26 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 177.19/63.26 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 177.19/63.26 ACTIVE(U52(tt, N)) -> MARK(N) 177.19/63.26 MARK(U21(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(U22(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(U31(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(U41(X)) -> MARK(X) 177.19/63.26 ACTIVE(U61(tt, M, N)) -> MARK(U62(isNatKind(M), M, N)) 177.19/63.26 MARK(U62(X1, X2, X3)) -> ACTIVE(U62(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U62(tt, M, N)) -> MARK(U63(isNat(N), M, N)) 177.19/63.26 MARK(U63(X1, X2, X3)) -> ACTIVE(U63(mark(X1), X2, X3)) 177.19/63.26 ACTIVE(U63(tt, M, N)) -> MARK(U64(isNatKind(N), M, N)) 177.19/63.26 ACTIVE(plus(N, s(M))) -> MARK(U61(isNat(M), M, N)) 177.19/63.26 MARK(U61(X1, X2, X3)) -> ACTIVE(U61(mark(X1), X2, X3)) 177.19/63.26 MARK(U52(X1, X2)) -> ACTIVE(U52(mark(X1), X2)) 177.19/63.26 MARK(U52(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 177.19/63.26 MARK(plus(X1, X2)) -> MARK(X1) 177.19/63.26 MARK(plus(X1, X2)) -> MARK(X2) 177.19/63.26 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.19/63.26 177.19/63.26 The TRS R consists of the following rules: 177.19/63.26 177.19/63.26 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.19/63.26 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.19/63.26 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.19/63.27 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.19/63.27 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.19/63.27 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.19/63.27 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.19/63.27 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.19/63.27 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.19/63.27 mark(U16(X)) -> active(U16(mark(X))) 177.19/63.27 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.19/63.27 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.19/63.27 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.19/63.27 mark(U23(X)) -> active(U23(mark(X))) 177.19/63.27 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.19/63.27 mark(U32(X)) -> active(U32(mark(X))) 177.19/63.27 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.19/63.27 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.19/63.27 active(U52(tt, N)) -> mark(N) 177.19/63.27 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.19/63.27 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.19/63.27 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.19/63.27 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.19/63.27 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.19/63.27 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.19/63.27 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.19/63.27 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.19/63.27 mark(s(X)) -> active(s(mark(X))) 177.19/63.27 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.19/63.27 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.19/63.27 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.19/63.27 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.19/63.27 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.19/63.27 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.19/63.27 mark(U41(X)) -> active(U41(mark(X))) 177.19/63.27 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.19/63.27 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.19/63.27 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.19/63.27 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.19/63.27 mark(isNatKind(X)) -> active(isNatKind(X)) 177.19/63.27 mark(isNat(X)) -> active(isNat(X)) 177.19/63.27 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.19/63.27 mark(tt) -> active(tt) 177.19/63.27 mark(0) -> active(0) 177.19/63.27 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.27 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.27 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.27 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.27 active(U16(tt)) -> mark(tt) 177.19/63.27 active(U23(tt)) -> mark(tt) 177.19/63.27 active(U32(tt)) -> mark(tt) 177.19/63.27 active(U41(tt)) -> mark(tt) 177.19/63.27 active(isNat(0)) -> mark(tt) 177.19/63.27 active(isNatKind(0)) -> mark(tt) 177.19/63.27 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.27 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.27 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.27 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.27 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.27 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.27 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.27 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.27 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.27 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.27 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.27 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.27 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.27 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.27 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.27 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.27 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.27 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.27 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.27 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.27 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.27 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.27 U16(active(X)) -> U16(X) 177.19/63.27 U16(mark(X)) -> U16(X) 177.19/63.27 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.27 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.27 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.27 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.27 U23(active(X)) -> U23(X) 177.19/63.27 U23(mark(X)) -> U23(X) 177.19/63.27 U32(active(X)) -> U32(X) 177.19/63.27 U32(mark(X)) -> U32(X) 177.19/63.27 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.27 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.27 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.27 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.27 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.27 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.27 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.27 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.27 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.27 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.27 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.27 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.27 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.27 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.27 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.27 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.27 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.19/63.27 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.27 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.19/63.27 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.27 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.19/63.27 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.19/63.27 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.19/63.27 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.27 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.19/63.27 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.27 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.19/63.27 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.19/63.27 s(active(X)) -> s(X) 177.19/63.27 s(mark(X)) -> s(X) 177.19/63.27 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.27 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.27 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.27 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.27 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.27 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.27 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.27 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.27 U41(active(X)) -> U41(X) 177.19/63.27 U41(mark(X)) -> U41(X) 177.19/63.27 U51(X1, mark(X2)) -> U51(X1, X2) 177.19/63.27 U51(mark(X1), X2) -> U51(X1, X2) 177.19/63.27 U51(active(X1), X2) -> U51(X1, X2) 177.19/63.27 U51(X1, active(X2)) -> U51(X1, X2) 177.19/63.27 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.27 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.27 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.27 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.27 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.27 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.27 177.19/63.27 The set Q consists of the following terms: 177.19/63.27 177.19/63.27 active(U11(tt, x0, x1)) 177.19/63.27 active(U12(tt, x0, x1)) 177.19/63.27 active(U13(tt, x0, x1)) 177.19/63.27 active(U14(tt, x0, x1)) 177.19/63.27 active(U15(tt, x0)) 177.19/63.27 active(U16(tt)) 177.19/63.27 active(U21(tt, x0)) 177.19/63.27 active(U22(tt, x0)) 177.19/63.27 active(U23(tt)) 177.19/63.27 active(U31(tt, x0)) 177.19/63.27 active(U32(tt)) 177.19/63.27 active(U41(tt)) 177.19/63.27 active(U51(tt, x0)) 177.19/63.27 active(U52(tt, x0)) 177.19/63.27 active(U61(tt, x0, x1)) 177.19/63.27 active(U62(tt, x0, x1)) 177.19/63.27 active(U63(tt, x0, x1)) 177.19/63.27 active(U64(tt, x0, x1)) 177.19/63.27 active(isNat(0)) 177.19/63.27 active(isNat(plus(x0, x1))) 177.19/63.27 active(isNat(s(x0))) 177.19/63.27 active(isNatKind(0)) 177.19/63.27 active(isNatKind(plus(x0, x1))) 177.19/63.27 active(isNatKind(s(x0))) 177.19/63.27 active(plus(x0, 0)) 177.19/63.27 active(plus(x0, s(x1))) 177.19/63.27 mark(U11(x0, x1, x2)) 177.19/63.27 mark(tt) 177.19/63.27 mark(U12(x0, x1, x2)) 177.19/63.27 mark(isNatKind(x0)) 177.19/63.27 mark(U13(x0, x1, x2)) 177.19/63.27 mark(U14(x0, x1, x2)) 177.19/63.27 mark(U15(x0, x1)) 177.19/63.27 mark(isNat(x0)) 177.19/63.27 mark(U16(x0)) 177.19/63.27 mark(U21(x0, x1)) 177.19/63.27 mark(U22(x0, x1)) 177.19/63.27 mark(U23(x0)) 177.19/63.27 mark(U31(x0, x1)) 177.19/63.27 mark(U32(x0)) 177.19/63.27 mark(U41(x0)) 177.19/63.27 mark(U51(x0, x1)) 177.19/63.27 mark(U52(x0, x1)) 177.19/63.27 mark(U61(x0, x1, x2)) 177.19/63.27 mark(U62(x0, x1, x2)) 177.19/63.27 mark(U63(x0, x1, x2)) 177.19/63.27 mark(U64(x0, x1, x2)) 177.19/63.27 mark(s(x0)) 177.19/63.27 mark(plus(x0, x1)) 177.19/63.27 mark(0) 177.19/63.27 U11(mark(x0), x1, x2) 177.19/63.27 U11(x0, mark(x1), x2) 177.19/63.27 U11(x0, x1, mark(x2)) 177.19/63.27 U11(active(x0), x1, x2) 177.19/63.27 U11(x0, active(x1), x2) 177.19/63.27 U11(x0, x1, active(x2)) 177.19/63.27 U12(mark(x0), x1, x2) 177.19/63.27 U12(x0, mark(x1), x2) 177.19/63.27 U12(x0, x1, mark(x2)) 177.19/63.27 U12(active(x0), x1, x2) 177.19/63.27 U12(x0, active(x1), x2) 177.19/63.27 U12(x0, x1, active(x2)) 177.19/63.27 isNatKind(mark(x0)) 177.19/63.27 isNatKind(active(x0)) 177.19/63.27 U13(mark(x0), x1, x2) 177.19/63.27 U13(x0, mark(x1), x2) 177.19/63.27 U13(x0, x1, mark(x2)) 177.19/63.27 U13(active(x0), x1, x2) 177.19/63.27 U13(x0, active(x1), x2) 177.19/63.27 U13(x0, x1, active(x2)) 177.19/63.27 U14(mark(x0), x1, x2) 177.19/63.27 U14(x0, mark(x1), x2) 177.19/63.27 U14(x0, x1, mark(x2)) 177.19/63.27 U14(active(x0), x1, x2) 177.19/63.27 U14(x0, active(x1), x2) 177.19/63.27 U14(x0, x1, active(x2)) 177.19/63.27 U15(mark(x0), x1) 177.19/63.27 U15(x0, mark(x1)) 177.19/63.27 U15(active(x0), x1) 177.19/63.27 U15(x0, active(x1)) 177.19/63.27 isNat(mark(x0)) 177.19/63.27 isNat(active(x0)) 177.19/63.27 U16(mark(x0)) 177.19/63.27 U16(active(x0)) 177.19/63.27 U21(mark(x0), x1) 177.19/63.27 U21(x0, mark(x1)) 177.19/63.27 U21(active(x0), x1) 177.19/63.27 U21(x0, active(x1)) 177.19/63.27 U22(mark(x0), x1) 177.19/63.27 U22(x0, mark(x1)) 177.19/63.27 U22(active(x0), x1) 177.19/63.27 U22(x0, active(x1)) 177.19/63.27 U23(mark(x0)) 177.19/63.27 U23(active(x0)) 177.19/63.27 U31(mark(x0), x1) 177.19/63.27 U31(x0, mark(x1)) 177.19/63.27 U31(active(x0), x1) 177.19/63.27 U31(x0, active(x1)) 177.19/63.27 U32(mark(x0)) 177.19/63.27 U32(active(x0)) 177.19/63.27 U41(mark(x0)) 177.19/63.27 U41(active(x0)) 177.19/63.27 U51(mark(x0), x1) 177.19/63.27 U51(x0, mark(x1)) 177.19/63.27 U51(active(x0), x1) 177.19/63.27 U51(x0, active(x1)) 177.19/63.27 U52(mark(x0), x1) 177.19/63.27 U52(x0, mark(x1)) 177.19/63.27 U52(active(x0), x1) 177.19/63.27 U52(x0, active(x1)) 177.19/63.27 U61(mark(x0), x1, x2) 177.19/63.27 U61(x0, mark(x1), x2) 177.19/63.27 U61(x0, x1, mark(x2)) 177.19/63.27 U61(active(x0), x1, x2) 177.19/63.27 U61(x0, active(x1), x2) 177.19/63.27 U61(x0, x1, active(x2)) 177.19/63.27 U62(mark(x0), x1, x2) 177.19/63.27 U62(x0, mark(x1), x2) 177.19/63.27 U62(x0, x1, mark(x2)) 177.19/63.27 U62(active(x0), x1, x2) 177.19/63.27 U62(x0, active(x1), x2) 177.19/63.27 U62(x0, x1, active(x2)) 177.19/63.27 U63(mark(x0), x1, x2) 177.19/63.27 U63(x0, mark(x1), x2) 177.19/63.27 U63(x0, x1, mark(x2)) 177.19/63.27 U63(active(x0), x1, x2) 177.19/63.27 U63(x0, active(x1), x2) 177.19/63.27 U63(x0, x1, active(x2)) 177.19/63.27 U64(mark(x0), x1, x2) 177.19/63.27 U64(x0, mark(x1), x2) 177.19/63.27 U64(x0, x1, mark(x2)) 177.19/63.27 U64(active(x0), x1, x2) 177.19/63.27 U64(x0, active(x1), x2) 177.19/63.27 U64(x0, x1, active(x2)) 177.19/63.27 s(mark(x0)) 177.19/63.27 s(active(x0)) 177.19/63.27 plus(mark(x0), x1) 177.19/63.27 plus(x0, mark(x1)) 177.19/63.27 plus(active(x0), x1) 177.19/63.27 plus(x0, active(x1)) 177.19/63.27 177.19/63.27 We have to consider all minimal (P,Q,R)-chains. 177.19/63.27 ---------------------------------------- 177.19/63.27 177.19/63.27 (174) DependencyGraphProof (EQUIVALENT) 177.19/63.27 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 177.19/63.27 ---------------------------------------- 177.19/63.27 177.19/63.27 (175) 177.19/63.27 Obligation: 177.19/63.27 Q DP problem: 177.19/63.27 The TRS P consists of the following rules: 177.19/63.27 177.19/63.27 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 177.19/63.27 ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) 177.19/63.27 MARK(U12(X1, X2, X3)) -> MARK(X1) 177.19/63.27 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.19/63.27 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.19/63.27 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.19/63.27 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.19/63.27 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.19/63.27 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.19/63.27 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.19/63.27 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.19/63.27 MARK(U16(X)) -> MARK(X) 177.19/63.27 MARK(U11(X1, X2, X3)) -> MARK(X1) 177.19/63.27 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.19/63.27 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.19/63.27 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.19/63.27 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 177.19/63.27 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 177.19/63.27 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 177.19/63.27 MARK(U23(X)) -> MARK(X) 177.19/63.27 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.19/63.27 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.19/63.27 MARK(U15(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(isNat(X)) -> ACTIVE(isNat(X)) 177.19/63.27 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) 177.19/63.27 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 177.19/63.27 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 177.19/63.27 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.19/63.27 MARK(U32(X)) -> MARK(X) 177.19/63.27 MARK(U21(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(U22(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(U31(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(U41(X)) -> MARK(X) 177.19/63.27 MARK(U52(X1, X2)) -> ACTIVE(U52(mark(X1), X2)) 177.19/63.27 ACTIVE(U52(tt, N)) -> MARK(N) 177.19/63.27 MARK(U52(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(U61(X1, X2, X3)) -> ACTIVE(U61(mark(X1), X2, X3)) 177.19/63.27 ACTIVE(U61(tt, M, N)) -> MARK(U62(isNatKind(M), M, N)) 177.19/63.27 MARK(U62(X1, X2, X3)) -> ACTIVE(U62(mark(X1), X2, X3)) 177.19/63.27 ACTIVE(U62(tt, M, N)) -> MARK(U63(isNat(N), M, N)) 177.19/63.27 MARK(U63(X1, X2, X3)) -> ACTIVE(U63(mark(X1), X2, X3)) 177.19/63.27 ACTIVE(plus(N, s(M))) -> MARK(U61(isNat(M), M, N)) 177.19/63.27 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 177.19/63.27 MARK(plus(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(plus(X1, X2)) -> MARK(X2) 177.19/63.27 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.19/63.27 177.19/63.27 The TRS R consists of the following rules: 177.19/63.27 177.19/63.27 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.19/63.27 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.19/63.27 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.19/63.27 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.19/63.27 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.19/63.27 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.19/63.27 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.19/63.27 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.19/63.27 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.19/63.27 mark(U16(X)) -> active(U16(mark(X))) 177.19/63.27 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.19/63.27 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.19/63.27 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.19/63.27 mark(U23(X)) -> active(U23(mark(X))) 177.19/63.27 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.19/63.27 mark(U32(X)) -> active(U32(mark(X))) 177.19/63.27 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.19/63.27 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.19/63.27 active(U52(tt, N)) -> mark(N) 177.19/63.27 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.19/63.27 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.19/63.27 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.19/63.27 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.19/63.27 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.19/63.27 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.19/63.27 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.19/63.27 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.19/63.27 mark(s(X)) -> active(s(mark(X))) 177.19/63.27 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.19/63.27 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.19/63.27 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.19/63.27 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.19/63.27 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.19/63.27 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.19/63.27 mark(U41(X)) -> active(U41(mark(X))) 177.19/63.27 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.19/63.27 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.19/63.27 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.19/63.27 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.19/63.27 mark(isNatKind(X)) -> active(isNatKind(X)) 177.19/63.27 mark(isNat(X)) -> active(isNat(X)) 177.19/63.27 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.19/63.27 mark(tt) -> active(tt) 177.19/63.27 mark(0) -> active(0) 177.19/63.27 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.27 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.27 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.27 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.27 active(U16(tt)) -> mark(tt) 177.19/63.27 active(U23(tt)) -> mark(tt) 177.19/63.27 active(U32(tt)) -> mark(tt) 177.19/63.27 active(U41(tt)) -> mark(tt) 177.19/63.27 active(isNat(0)) -> mark(tt) 177.19/63.27 active(isNatKind(0)) -> mark(tt) 177.19/63.27 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.27 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.27 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.27 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.27 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.27 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.27 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.27 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.27 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.27 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.27 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.27 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.27 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.27 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.27 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.27 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.27 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.27 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.27 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.27 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.27 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.27 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.27 U16(active(X)) -> U16(X) 177.19/63.27 U16(mark(X)) -> U16(X) 177.19/63.27 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.27 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.27 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.27 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.27 U23(active(X)) -> U23(X) 177.19/63.27 U23(mark(X)) -> U23(X) 177.19/63.27 U32(active(X)) -> U32(X) 177.19/63.27 U32(mark(X)) -> U32(X) 177.19/63.27 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.27 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.27 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.27 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.27 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.27 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.27 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.27 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.27 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.27 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.27 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.27 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.27 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.27 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.27 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.27 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.27 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.19/63.27 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.27 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.19/63.27 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.27 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.19/63.27 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.19/63.27 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.19/63.27 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.27 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.19/63.27 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.27 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.19/63.27 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.19/63.27 s(active(X)) -> s(X) 177.19/63.27 s(mark(X)) -> s(X) 177.19/63.27 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.27 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.27 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.27 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.27 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.27 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.27 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.27 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.27 U41(active(X)) -> U41(X) 177.19/63.27 U41(mark(X)) -> U41(X) 177.19/63.27 U51(X1, mark(X2)) -> U51(X1, X2) 177.19/63.27 U51(mark(X1), X2) -> U51(X1, X2) 177.19/63.27 U51(active(X1), X2) -> U51(X1, X2) 177.19/63.27 U51(X1, active(X2)) -> U51(X1, X2) 177.19/63.27 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.27 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.27 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.27 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.27 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.27 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.27 177.19/63.27 The set Q consists of the following terms: 177.19/63.27 177.19/63.27 active(U11(tt, x0, x1)) 177.19/63.27 active(U12(tt, x0, x1)) 177.19/63.27 active(U13(tt, x0, x1)) 177.19/63.27 active(U14(tt, x0, x1)) 177.19/63.27 active(U15(tt, x0)) 177.19/63.27 active(U16(tt)) 177.19/63.27 active(U21(tt, x0)) 177.19/63.27 active(U22(tt, x0)) 177.19/63.27 active(U23(tt)) 177.19/63.27 active(U31(tt, x0)) 177.19/63.27 active(U32(tt)) 177.19/63.27 active(U41(tt)) 177.19/63.27 active(U51(tt, x0)) 177.19/63.27 active(U52(tt, x0)) 177.19/63.27 active(U61(tt, x0, x1)) 177.19/63.27 active(U62(tt, x0, x1)) 177.19/63.27 active(U63(tt, x0, x1)) 177.19/63.27 active(U64(tt, x0, x1)) 177.19/63.27 active(isNat(0)) 177.19/63.27 active(isNat(plus(x0, x1))) 177.19/63.27 active(isNat(s(x0))) 177.19/63.27 active(isNatKind(0)) 177.19/63.27 active(isNatKind(plus(x0, x1))) 177.19/63.27 active(isNatKind(s(x0))) 177.19/63.27 active(plus(x0, 0)) 177.19/63.27 active(plus(x0, s(x1))) 177.19/63.27 mark(U11(x0, x1, x2)) 177.19/63.27 mark(tt) 177.19/63.27 mark(U12(x0, x1, x2)) 177.19/63.27 mark(isNatKind(x0)) 177.19/63.27 mark(U13(x0, x1, x2)) 177.19/63.27 mark(U14(x0, x1, x2)) 177.19/63.27 mark(U15(x0, x1)) 177.19/63.27 mark(isNat(x0)) 177.19/63.27 mark(U16(x0)) 177.19/63.27 mark(U21(x0, x1)) 177.19/63.27 mark(U22(x0, x1)) 177.19/63.27 mark(U23(x0)) 177.19/63.27 mark(U31(x0, x1)) 177.19/63.27 mark(U32(x0)) 177.19/63.27 mark(U41(x0)) 177.19/63.27 mark(U51(x0, x1)) 177.19/63.27 mark(U52(x0, x1)) 177.19/63.27 mark(U61(x0, x1, x2)) 177.19/63.27 mark(U62(x0, x1, x2)) 177.19/63.27 mark(U63(x0, x1, x2)) 177.19/63.27 mark(U64(x0, x1, x2)) 177.19/63.27 mark(s(x0)) 177.19/63.27 mark(plus(x0, x1)) 177.19/63.27 mark(0) 177.19/63.27 U11(mark(x0), x1, x2) 177.19/63.27 U11(x0, mark(x1), x2) 177.19/63.27 U11(x0, x1, mark(x2)) 177.19/63.27 U11(active(x0), x1, x2) 177.19/63.27 U11(x0, active(x1), x2) 177.19/63.27 U11(x0, x1, active(x2)) 177.19/63.27 U12(mark(x0), x1, x2) 177.19/63.27 U12(x0, mark(x1), x2) 177.19/63.27 U12(x0, x1, mark(x2)) 177.19/63.27 U12(active(x0), x1, x2) 177.19/63.27 U12(x0, active(x1), x2) 177.19/63.27 U12(x0, x1, active(x2)) 177.19/63.27 isNatKind(mark(x0)) 177.19/63.27 isNatKind(active(x0)) 177.19/63.27 U13(mark(x0), x1, x2) 177.19/63.27 U13(x0, mark(x1), x2) 177.19/63.27 U13(x0, x1, mark(x2)) 177.19/63.27 U13(active(x0), x1, x2) 177.19/63.27 U13(x0, active(x1), x2) 177.19/63.27 U13(x0, x1, active(x2)) 177.19/63.27 U14(mark(x0), x1, x2) 177.19/63.27 U14(x0, mark(x1), x2) 177.19/63.27 U14(x0, x1, mark(x2)) 177.19/63.27 U14(active(x0), x1, x2) 177.19/63.27 U14(x0, active(x1), x2) 177.19/63.27 U14(x0, x1, active(x2)) 177.19/63.27 U15(mark(x0), x1) 177.19/63.27 U15(x0, mark(x1)) 177.19/63.27 U15(active(x0), x1) 177.19/63.27 U15(x0, active(x1)) 177.19/63.27 isNat(mark(x0)) 177.19/63.27 isNat(active(x0)) 177.19/63.27 U16(mark(x0)) 177.19/63.27 U16(active(x0)) 177.19/63.27 U21(mark(x0), x1) 177.19/63.27 U21(x0, mark(x1)) 177.19/63.27 U21(active(x0), x1) 177.19/63.27 U21(x0, active(x1)) 177.19/63.27 U22(mark(x0), x1) 177.19/63.27 U22(x0, mark(x1)) 177.19/63.27 U22(active(x0), x1) 177.19/63.27 U22(x0, active(x1)) 177.19/63.27 U23(mark(x0)) 177.19/63.27 U23(active(x0)) 177.19/63.27 U31(mark(x0), x1) 177.19/63.27 U31(x0, mark(x1)) 177.19/63.27 U31(active(x0), x1) 177.19/63.27 U31(x0, active(x1)) 177.19/63.27 U32(mark(x0)) 177.19/63.27 U32(active(x0)) 177.19/63.27 U41(mark(x0)) 177.19/63.27 U41(active(x0)) 177.19/63.27 U51(mark(x0), x1) 177.19/63.27 U51(x0, mark(x1)) 177.19/63.27 U51(active(x0), x1) 177.19/63.27 U51(x0, active(x1)) 177.19/63.27 U52(mark(x0), x1) 177.19/63.27 U52(x0, mark(x1)) 177.19/63.27 U52(active(x0), x1) 177.19/63.27 U52(x0, active(x1)) 177.19/63.27 U61(mark(x0), x1, x2) 177.19/63.27 U61(x0, mark(x1), x2) 177.19/63.27 U61(x0, x1, mark(x2)) 177.19/63.27 U61(active(x0), x1, x2) 177.19/63.27 U61(x0, active(x1), x2) 177.19/63.27 U61(x0, x1, active(x2)) 177.19/63.27 U62(mark(x0), x1, x2) 177.19/63.27 U62(x0, mark(x1), x2) 177.19/63.27 U62(x0, x1, mark(x2)) 177.19/63.27 U62(active(x0), x1, x2) 177.19/63.27 U62(x0, active(x1), x2) 177.19/63.27 U62(x0, x1, active(x2)) 177.19/63.27 U63(mark(x0), x1, x2) 177.19/63.27 U63(x0, mark(x1), x2) 177.19/63.27 U63(x0, x1, mark(x2)) 177.19/63.27 U63(active(x0), x1, x2) 177.19/63.27 U63(x0, active(x1), x2) 177.19/63.27 U63(x0, x1, active(x2)) 177.19/63.27 U64(mark(x0), x1, x2) 177.19/63.27 U64(x0, mark(x1), x2) 177.19/63.27 U64(x0, x1, mark(x2)) 177.19/63.27 U64(active(x0), x1, x2) 177.19/63.27 U64(x0, active(x1), x2) 177.19/63.27 U64(x0, x1, active(x2)) 177.19/63.27 s(mark(x0)) 177.19/63.27 s(active(x0)) 177.19/63.27 plus(mark(x0), x1) 177.19/63.27 plus(x0, mark(x1)) 177.19/63.27 plus(active(x0), x1) 177.19/63.27 plus(x0, active(x1)) 177.19/63.27 177.19/63.27 We have to consider all minimal (P,Q,R)-chains. 177.19/63.27 ---------------------------------------- 177.19/63.27 177.19/63.27 (176) QDPOrderProof (EQUIVALENT) 177.19/63.27 We use the reduction pair processor [LPAR04,JAR06]. 177.19/63.27 177.19/63.27 177.19/63.27 The following pairs can be oriented strictly and are deleted. 177.19/63.27 177.19/63.27 MARK(U63(X1, X2, X3)) -> ACTIVE(U63(mark(X1), X2, X3)) 177.19/63.27 The remaining pairs can at least be oriented weakly. 177.19/63.27 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 177.19/63.27 177.19/63.27 POL( ACTIVE_1(x_1) ) = max{0, x_1 - 1} 177.19/63.27 POL( U11_3(x_1, ..., x_3) ) = 2 177.19/63.27 POL( U12_3(x_1, ..., x_3) ) = 2 177.19/63.27 POL( U13_3(x_1, ..., x_3) ) = 2 177.19/63.27 POL( U14_3(x_1, ..., x_3) ) = 2 177.19/63.27 POL( U15_2(x_1, x_2) ) = 2 177.19/63.27 POL( U21_2(x_1, x_2) ) = 2 177.19/63.27 POL( U22_2(x_1, x_2) ) = 2 177.19/63.27 POL( U31_2(x_1, x_2) ) = 2 177.19/63.27 POL( U52_2(x_1, x_2) ) = 2 177.19/63.27 POL( U61_3(x_1, ..., x_3) ) = 2 177.19/63.27 POL( U62_3(x_1, ..., x_3) ) = 2 177.19/63.27 POL( U63_3(x_1, ..., x_3) ) = 0 177.19/63.27 POL( plus_2(x_1, x_2) ) = 2 177.19/63.27 POL( mark_1(x_1) ) = 2 177.19/63.27 POL( active_1(x_1) ) = 2 177.19/63.27 POL( tt ) = 0 177.19/63.27 POL( isNatKind_1(x_1) ) = 2 177.19/63.27 POL( isNat_1(x_1) ) = 2 177.19/63.27 POL( U16_1(x_1) ) = max{0, -2} 177.19/63.27 POL( U23_1(x_1) ) = max{0, -2} 177.19/63.27 POL( U32_1(x_1) ) = 2 177.19/63.27 POL( U51_2(x_1, x_2) ) = max{0, 2x_2 - 2} 177.19/63.27 POL( U64_3(x_1, ..., x_3) ) = x_1 + x_2 + x_3 + 2 177.19/63.27 POL( s_1(x_1) ) = max{0, x_1 - 2} 177.19/63.27 POL( U41_1(x_1) ) = 2 177.19/63.27 POL( 0 ) = 0 177.19/63.27 POL( MARK_1(x_1) ) = 1 177.19/63.27 177.19/63.27 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 177.19/63.27 177.19/63.27 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.27 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.27 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.27 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.27 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.27 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.27 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.27 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.27 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.27 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.27 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.27 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.27 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.27 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.27 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.27 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.27 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.27 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.27 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.27 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.27 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.27 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.27 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.27 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.27 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.27 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.27 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.27 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.27 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.27 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.27 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.27 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.27 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.27 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.27 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.27 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.27 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.27 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.27 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.27 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.27 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.27 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.27 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.27 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.27 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.27 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.27 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.27 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.27 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.27 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.27 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.27 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.27 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.27 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.27 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.27 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.27 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.19/63.27 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.27 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.19/63.27 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.27 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.19/63.27 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.19/63.27 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.27 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.27 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.27 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.27 177.19/63.27 177.19/63.27 ---------------------------------------- 177.19/63.27 177.19/63.27 (177) 177.19/63.27 Obligation: 177.19/63.27 Q DP problem: 177.19/63.27 The TRS P consists of the following rules: 177.19/63.27 177.19/63.27 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 177.19/63.27 ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) 177.19/63.27 MARK(U12(X1, X2, X3)) -> MARK(X1) 177.19/63.27 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.19/63.27 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.19/63.27 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.19/63.27 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.19/63.27 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.19/63.27 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.19/63.27 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.19/63.27 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.19/63.27 MARK(U16(X)) -> MARK(X) 177.19/63.27 MARK(U11(X1, X2, X3)) -> MARK(X1) 177.19/63.27 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.19/63.27 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.19/63.27 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.19/63.27 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 177.19/63.27 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 177.19/63.27 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 177.19/63.27 MARK(U23(X)) -> MARK(X) 177.19/63.27 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.19/63.27 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.19/63.27 MARK(U15(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(isNat(X)) -> ACTIVE(isNat(X)) 177.19/63.27 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) 177.19/63.27 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 177.19/63.27 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 177.19/63.27 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.19/63.27 MARK(U32(X)) -> MARK(X) 177.19/63.27 MARK(U21(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(U22(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(U31(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(U41(X)) -> MARK(X) 177.19/63.27 MARK(U52(X1, X2)) -> ACTIVE(U52(mark(X1), X2)) 177.19/63.27 ACTIVE(U52(tt, N)) -> MARK(N) 177.19/63.27 MARK(U52(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(U61(X1, X2, X3)) -> ACTIVE(U61(mark(X1), X2, X3)) 177.19/63.27 ACTIVE(U61(tt, M, N)) -> MARK(U62(isNatKind(M), M, N)) 177.19/63.27 MARK(U62(X1, X2, X3)) -> ACTIVE(U62(mark(X1), X2, X3)) 177.19/63.27 ACTIVE(U62(tt, M, N)) -> MARK(U63(isNat(N), M, N)) 177.19/63.27 ACTIVE(plus(N, s(M))) -> MARK(U61(isNat(M), M, N)) 177.19/63.27 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 177.19/63.27 MARK(plus(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(plus(X1, X2)) -> MARK(X2) 177.19/63.27 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.19/63.27 177.19/63.27 The TRS R consists of the following rules: 177.19/63.27 177.19/63.27 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.19/63.27 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.19/63.27 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.19/63.27 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.19/63.27 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.19/63.27 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.19/63.27 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.19/63.27 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.19/63.27 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.19/63.27 mark(U16(X)) -> active(U16(mark(X))) 177.19/63.27 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.19/63.27 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.19/63.27 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.19/63.27 mark(U23(X)) -> active(U23(mark(X))) 177.19/63.27 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.19/63.27 mark(U32(X)) -> active(U32(mark(X))) 177.19/63.27 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.19/63.27 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.19/63.27 active(U52(tt, N)) -> mark(N) 177.19/63.27 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.19/63.27 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.19/63.27 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.19/63.27 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.19/63.27 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.19/63.27 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.19/63.27 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.19/63.27 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.19/63.27 mark(s(X)) -> active(s(mark(X))) 177.19/63.27 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.19/63.27 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.19/63.27 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.19/63.27 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.19/63.27 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.19/63.27 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.19/63.27 mark(U41(X)) -> active(U41(mark(X))) 177.19/63.27 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.19/63.27 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.19/63.27 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.19/63.27 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.19/63.27 mark(isNatKind(X)) -> active(isNatKind(X)) 177.19/63.27 mark(isNat(X)) -> active(isNat(X)) 177.19/63.27 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.19/63.27 mark(tt) -> active(tt) 177.19/63.27 mark(0) -> active(0) 177.19/63.27 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.27 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.27 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.27 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.27 active(U16(tt)) -> mark(tt) 177.19/63.27 active(U23(tt)) -> mark(tt) 177.19/63.27 active(U32(tt)) -> mark(tt) 177.19/63.27 active(U41(tt)) -> mark(tt) 177.19/63.27 active(isNat(0)) -> mark(tt) 177.19/63.27 active(isNatKind(0)) -> mark(tt) 177.19/63.27 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.27 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.27 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.27 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.27 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.27 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.27 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.27 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.27 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.27 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.27 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.27 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.27 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.27 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.27 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.27 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.27 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.27 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.27 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.27 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.27 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.27 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.27 U16(active(X)) -> U16(X) 177.19/63.27 U16(mark(X)) -> U16(X) 177.19/63.27 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.27 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.27 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.27 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.27 U23(active(X)) -> U23(X) 177.19/63.27 U23(mark(X)) -> U23(X) 177.19/63.27 U32(active(X)) -> U32(X) 177.19/63.27 U32(mark(X)) -> U32(X) 177.19/63.27 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.27 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.27 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.27 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.27 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.27 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.27 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.27 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.27 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.27 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.27 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.27 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.27 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.27 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.27 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.27 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.27 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.19/63.27 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.27 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.19/63.27 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.27 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.19/63.27 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.19/63.27 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.19/63.27 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.27 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.19/63.27 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.27 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.19/63.27 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.19/63.27 s(active(X)) -> s(X) 177.19/63.27 s(mark(X)) -> s(X) 177.19/63.27 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.27 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.27 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.27 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.27 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.27 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.27 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.27 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.27 U41(active(X)) -> U41(X) 177.19/63.27 U41(mark(X)) -> U41(X) 177.19/63.27 U51(X1, mark(X2)) -> U51(X1, X2) 177.19/63.27 U51(mark(X1), X2) -> U51(X1, X2) 177.19/63.27 U51(active(X1), X2) -> U51(X1, X2) 177.19/63.27 U51(X1, active(X2)) -> U51(X1, X2) 177.19/63.27 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.27 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.27 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.27 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.27 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.27 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.27 177.19/63.27 The set Q consists of the following terms: 177.19/63.27 177.19/63.27 active(U11(tt, x0, x1)) 177.19/63.27 active(U12(tt, x0, x1)) 177.19/63.27 active(U13(tt, x0, x1)) 177.19/63.27 active(U14(tt, x0, x1)) 177.19/63.27 active(U15(tt, x0)) 177.19/63.27 active(U16(tt)) 177.19/63.27 active(U21(tt, x0)) 177.19/63.27 active(U22(tt, x0)) 177.19/63.27 active(U23(tt)) 177.19/63.27 active(U31(tt, x0)) 177.19/63.27 active(U32(tt)) 177.19/63.27 active(U41(tt)) 177.19/63.27 active(U51(tt, x0)) 177.19/63.27 active(U52(tt, x0)) 177.19/63.27 active(U61(tt, x0, x1)) 177.19/63.27 active(U62(tt, x0, x1)) 177.19/63.27 active(U63(tt, x0, x1)) 177.19/63.27 active(U64(tt, x0, x1)) 177.19/63.27 active(isNat(0)) 177.19/63.27 active(isNat(plus(x0, x1))) 177.19/63.27 active(isNat(s(x0))) 177.19/63.27 active(isNatKind(0)) 177.19/63.27 active(isNatKind(plus(x0, x1))) 177.19/63.27 active(isNatKind(s(x0))) 177.19/63.27 active(plus(x0, 0)) 177.19/63.27 active(plus(x0, s(x1))) 177.19/63.27 mark(U11(x0, x1, x2)) 177.19/63.27 mark(tt) 177.19/63.27 mark(U12(x0, x1, x2)) 177.19/63.27 mark(isNatKind(x0)) 177.19/63.27 mark(U13(x0, x1, x2)) 177.19/63.27 mark(U14(x0, x1, x2)) 177.19/63.27 mark(U15(x0, x1)) 177.19/63.27 mark(isNat(x0)) 177.19/63.27 mark(U16(x0)) 177.19/63.27 mark(U21(x0, x1)) 177.19/63.27 mark(U22(x0, x1)) 177.19/63.27 mark(U23(x0)) 177.19/63.27 mark(U31(x0, x1)) 177.19/63.27 mark(U32(x0)) 177.19/63.27 mark(U41(x0)) 177.19/63.27 mark(U51(x0, x1)) 177.19/63.27 mark(U52(x0, x1)) 177.19/63.27 mark(U61(x0, x1, x2)) 177.19/63.27 mark(U62(x0, x1, x2)) 177.19/63.27 mark(U63(x0, x1, x2)) 177.19/63.27 mark(U64(x0, x1, x2)) 177.19/63.27 mark(s(x0)) 177.19/63.27 mark(plus(x0, x1)) 177.19/63.27 mark(0) 177.19/63.27 U11(mark(x0), x1, x2) 177.19/63.27 U11(x0, mark(x1), x2) 177.19/63.27 U11(x0, x1, mark(x2)) 177.19/63.27 U11(active(x0), x1, x2) 177.19/63.27 U11(x0, active(x1), x2) 177.19/63.27 U11(x0, x1, active(x2)) 177.19/63.27 U12(mark(x0), x1, x2) 177.19/63.27 U12(x0, mark(x1), x2) 177.19/63.27 U12(x0, x1, mark(x2)) 177.19/63.27 U12(active(x0), x1, x2) 177.19/63.27 U12(x0, active(x1), x2) 177.19/63.27 U12(x0, x1, active(x2)) 177.19/63.27 isNatKind(mark(x0)) 177.19/63.27 isNatKind(active(x0)) 177.19/63.27 U13(mark(x0), x1, x2) 177.19/63.27 U13(x0, mark(x1), x2) 177.19/63.27 U13(x0, x1, mark(x2)) 177.19/63.27 U13(active(x0), x1, x2) 177.19/63.27 U13(x0, active(x1), x2) 177.19/63.27 U13(x0, x1, active(x2)) 177.19/63.27 U14(mark(x0), x1, x2) 177.19/63.27 U14(x0, mark(x1), x2) 177.19/63.27 U14(x0, x1, mark(x2)) 177.19/63.27 U14(active(x0), x1, x2) 177.19/63.27 U14(x0, active(x1), x2) 177.19/63.27 U14(x0, x1, active(x2)) 177.19/63.27 U15(mark(x0), x1) 177.19/63.27 U15(x0, mark(x1)) 177.19/63.27 U15(active(x0), x1) 177.19/63.27 U15(x0, active(x1)) 177.19/63.27 isNat(mark(x0)) 177.19/63.27 isNat(active(x0)) 177.19/63.27 U16(mark(x0)) 177.19/63.27 U16(active(x0)) 177.19/63.27 U21(mark(x0), x1) 177.19/63.27 U21(x0, mark(x1)) 177.19/63.27 U21(active(x0), x1) 177.19/63.27 U21(x0, active(x1)) 177.19/63.27 U22(mark(x0), x1) 177.19/63.27 U22(x0, mark(x1)) 177.19/63.27 U22(active(x0), x1) 177.19/63.27 U22(x0, active(x1)) 177.19/63.27 U23(mark(x0)) 177.19/63.27 U23(active(x0)) 177.19/63.27 U31(mark(x0), x1) 177.19/63.27 U31(x0, mark(x1)) 177.19/63.27 U31(active(x0), x1) 177.19/63.27 U31(x0, active(x1)) 177.19/63.27 U32(mark(x0)) 177.19/63.27 U32(active(x0)) 177.19/63.27 U41(mark(x0)) 177.19/63.27 U41(active(x0)) 177.19/63.27 U51(mark(x0), x1) 177.19/63.27 U51(x0, mark(x1)) 177.19/63.27 U51(active(x0), x1) 177.19/63.27 U51(x0, active(x1)) 177.19/63.27 U52(mark(x0), x1) 177.19/63.27 U52(x0, mark(x1)) 177.19/63.27 U52(active(x0), x1) 177.19/63.27 U52(x0, active(x1)) 177.19/63.27 U61(mark(x0), x1, x2) 177.19/63.27 U61(x0, mark(x1), x2) 177.19/63.27 U61(x0, x1, mark(x2)) 177.19/63.27 U61(active(x0), x1, x2) 177.19/63.27 U61(x0, active(x1), x2) 177.19/63.27 U61(x0, x1, active(x2)) 177.19/63.27 U62(mark(x0), x1, x2) 177.19/63.27 U62(x0, mark(x1), x2) 177.19/63.27 U62(x0, x1, mark(x2)) 177.19/63.27 U62(active(x0), x1, x2) 177.19/63.27 U62(x0, active(x1), x2) 177.19/63.27 U62(x0, x1, active(x2)) 177.19/63.27 U63(mark(x0), x1, x2) 177.19/63.27 U63(x0, mark(x1), x2) 177.19/63.27 U63(x0, x1, mark(x2)) 177.19/63.27 U63(active(x0), x1, x2) 177.19/63.27 U63(x0, active(x1), x2) 177.19/63.27 U63(x0, x1, active(x2)) 177.19/63.27 U64(mark(x0), x1, x2) 177.19/63.27 U64(x0, mark(x1), x2) 177.19/63.27 U64(x0, x1, mark(x2)) 177.19/63.27 U64(active(x0), x1, x2) 177.19/63.27 U64(x0, active(x1), x2) 177.19/63.27 U64(x0, x1, active(x2)) 177.19/63.27 s(mark(x0)) 177.19/63.27 s(active(x0)) 177.19/63.27 plus(mark(x0), x1) 177.19/63.27 plus(x0, mark(x1)) 177.19/63.27 plus(active(x0), x1) 177.19/63.27 plus(x0, active(x1)) 177.19/63.27 177.19/63.27 We have to consider all minimal (P,Q,R)-chains. 177.19/63.27 ---------------------------------------- 177.19/63.27 177.19/63.27 (178) DependencyGraphProof (EQUIVALENT) 177.19/63.27 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 177.19/63.27 ---------------------------------------- 177.19/63.27 177.19/63.27 (179) 177.19/63.27 Obligation: 177.19/63.27 Q DP problem: 177.19/63.27 The TRS P consists of the following rules: 177.19/63.27 177.19/63.27 ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) 177.19/63.27 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 177.19/63.27 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.19/63.27 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.19/63.27 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.19/63.27 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.19/63.27 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.19/63.27 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.19/63.27 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.19/63.27 MARK(U16(X)) -> MARK(X) 177.19/63.27 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.19/63.27 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 177.19/63.27 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 177.19/63.27 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 177.19/63.27 MARK(U23(X)) -> MARK(X) 177.19/63.27 MARK(U11(X1, X2, X3)) -> MARK(X1) 177.19/63.27 MARK(U12(X1, X2, X3)) -> MARK(X1) 177.19/63.27 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.19/63.27 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.19/63.27 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.19/63.27 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.19/63.27 MARK(U32(X)) -> MARK(X) 177.19/63.27 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.19/63.27 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.19/63.27 MARK(U15(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(isNat(X)) -> ACTIVE(isNat(X)) 177.19/63.27 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) 177.19/63.27 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 177.19/63.27 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 177.19/63.27 ACTIVE(U52(tt, N)) -> MARK(N) 177.19/63.27 MARK(U21(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(U22(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(U31(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(U41(X)) -> MARK(X) 177.19/63.27 MARK(U52(X1, X2)) -> ACTIVE(U52(mark(X1), X2)) 177.19/63.27 ACTIVE(U61(tt, M, N)) -> MARK(U62(isNatKind(M), M, N)) 177.19/63.27 MARK(U62(X1, X2, X3)) -> ACTIVE(U62(mark(X1), X2, X3)) 177.19/63.27 ACTIVE(plus(N, s(M))) -> MARK(U61(isNat(M), M, N)) 177.19/63.27 MARK(U61(X1, X2, X3)) -> ACTIVE(U61(mark(X1), X2, X3)) 177.19/63.27 MARK(U52(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 177.19/63.27 MARK(plus(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(plus(X1, X2)) -> MARK(X2) 177.19/63.27 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.19/63.27 177.19/63.27 The TRS R consists of the following rules: 177.19/63.27 177.19/63.27 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.19/63.27 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.19/63.27 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.19/63.27 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.19/63.27 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.19/63.27 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.19/63.27 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.19/63.27 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.19/63.27 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.19/63.27 mark(U16(X)) -> active(U16(mark(X))) 177.19/63.27 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.19/63.27 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.19/63.27 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.19/63.27 mark(U23(X)) -> active(U23(mark(X))) 177.19/63.27 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.19/63.27 mark(U32(X)) -> active(U32(mark(X))) 177.19/63.27 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.19/63.27 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.19/63.27 active(U52(tt, N)) -> mark(N) 177.19/63.27 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.19/63.27 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.19/63.27 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.19/63.27 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.19/63.27 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.19/63.27 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.19/63.27 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.19/63.27 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.19/63.27 mark(s(X)) -> active(s(mark(X))) 177.19/63.27 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.19/63.27 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.19/63.27 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.19/63.27 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.19/63.27 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.19/63.27 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.19/63.27 mark(U41(X)) -> active(U41(mark(X))) 177.19/63.27 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.19/63.27 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.19/63.27 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.19/63.27 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.19/63.27 mark(isNatKind(X)) -> active(isNatKind(X)) 177.19/63.27 mark(isNat(X)) -> active(isNat(X)) 177.19/63.27 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.19/63.27 mark(tt) -> active(tt) 177.19/63.27 mark(0) -> active(0) 177.19/63.27 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.27 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.27 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.27 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.27 active(U16(tt)) -> mark(tt) 177.19/63.27 active(U23(tt)) -> mark(tt) 177.19/63.27 active(U32(tt)) -> mark(tt) 177.19/63.27 active(U41(tt)) -> mark(tt) 177.19/63.27 active(isNat(0)) -> mark(tt) 177.19/63.27 active(isNatKind(0)) -> mark(tt) 177.19/63.27 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.27 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.27 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.27 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.27 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.27 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.27 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.27 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.27 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.27 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.27 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.27 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.27 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.27 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.27 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.27 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.27 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.27 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.27 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.27 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.27 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.27 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.27 U16(active(X)) -> U16(X) 177.19/63.27 U16(mark(X)) -> U16(X) 177.19/63.27 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.27 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.27 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.27 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.27 U23(active(X)) -> U23(X) 177.19/63.27 U23(mark(X)) -> U23(X) 177.19/63.27 U32(active(X)) -> U32(X) 177.19/63.27 U32(mark(X)) -> U32(X) 177.19/63.27 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.27 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.27 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.27 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.27 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.27 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.27 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.27 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.27 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.27 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.27 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.27 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.27 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.27 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.27 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.27 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.27 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.19/63.27 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.27 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.19/63.27 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.27 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.19/63.27 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.19/63.27 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.19/63.27 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.27 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.19/63.27 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.27 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.19/63.27 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.19/63.27 s(active(X)) -> s(X) 177.19/63.27 s(mark(X)) -> s(X) 177.19/63.27 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.27 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.27 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.27 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.27 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.27 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.27 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.27 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.27 U41(active(X)) -> U41(X) 177.19/63.27 U41(mark(X)) -> U41(X) 177.19/63.27 U51(X1, mark(X2)) -> U51(X1, X2) 177.19/63.27 U51(mark(X1), X2) -> U51(X1, X2) 177.19/63.27 U51(active(X1), X2) -> U51(X1, X2) 177.19/63.27 U51(X1, active(X2)) -> U51(X1, X2) 177.19/63.27 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.27 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.27 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.27 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.27 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.27 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.27 177.19/63.27 The set Q consists of the following terms: 177.19/63.27 177.19/63.27 active(U11(tt, x0, x1)) 177.19/63.27 active(U12(tt, x0, x1)) 177.19/63.27 active(U13(tt, x0, x1)) 177.19/63.27 active(U14(tt, x0, x1)) 177.19/63.27 active(U15(tt, x0)) 177.19/63.27 active(U16(tt)) 177.19/63.27 active(U21(tt, x0)) 177.19/63.27 active(U22(tt, x0)) 177.19/63.27 active(U23(tt)) 177.19/63.27 active(U31(tt, x0)) 177.19/63.27 active(U32(tt)) 177.19/63.27 active(U41(tt)) 177.19/63.27 active(U51(tt, x0)) 177.19/63.27 active(U52(tt, x0)) 177.19/63.27 active(U61(tt, x0, x1)) 177.19/63.27 active(U62(tt, x0, x1)) 177.19/63.27 active(U63(tt, x0, x1)) 177.19/63.27 active(U64(tt, x0, x1)) 177.19/63.27 active(isNat(0)) 177.19/63.27 active(isNat(plus(x0, x1))) 177.19/63.27 active(isNat(s(x0))) 177.19/63.27 active(isNatKind(0)) 177.19/63.27 active(isNatKind(plus(x0, x1))) 177.19/63.27 active(isNatKind(s(x0))) 177.19/63.27 active(plus(x0, 0)) 177.19/63.27 active(plus(x0, s(x1))) 177.19/63.27 mark(U11(x0, x1, x2)) 177.19/63.27 mark(tt) 177.19/63.27 mark(U12(x0, x1, x2)) 177.19/63.27 mark(isNatKind(x0)) 177.19/63.27 mark(U13(x0, x1, x2)) 177.19/63.27 mark(U14(x0, x1, x2)) 177.19/63.27 mark(U15(x0, x1)) 177.19/63.27 mark(isNat(x0)) 177.19/63.27 mark(U16(x0)) 177.19/63.27 mark(U21(x0, x1)) 177.19/63.27 mark(U22(x0, x1)) 177.19/63.27 mark(U23(x0)) 177.19/63.27 mark(U31(x0, x1)) 177.19/63.27 mark(U32(x0)) 177.19/63.27 mark(U41(x0)) 177.19/63.27 mark(U51(x0, x1)) 177.19/63.27 mark(U52(x0, x1)) 177.19/63.27 mark(U61(x0, x1, x2)) 177.19/63.27 mark(U62(x0, x1, x2)) 177.19/63.27 mark(U63(x0, x1, x2)) 177.19/63.27 mark(U64(x0, x1, x2)) 177.19/63.27 mark(s(x0)) 177.19/63.27 mark(plus(x0, x1)) 177.19/63.27 mark(0) 177.19/63.27 U11(mark(x0), x1, x2) 177.19/63.27 U11(x0, mark(x1), x2) 177.19/63.27 U11(x0, x1, mark(x2)) 177.19/63.27 U11(active(x0), x1, x2) 177.19/63.27 U11(x0, active(x1), x2) 177.19/63.27 U11(x0, x1, active(x2)) 177.19/63.27 U12(mark(x0), x1, x2) 177.19/63.27 U12(x0, mark(x1), x2) 177.19/63.27 U12(x0, x1, mark(x2)) 177.19/63.27 U12(active(x0), x1, x2) 177.19/63.27 U12(x0, active(x1), x2) 177.19/63.27 U12(x0, x1, active(x2)) 177.19/63.27 isNatKind(mark(x0)) 177.19/63.27 isNatKind(active(x0)) 177.19/63.27 U13(mark(x0), x1, x2) 177.19/63.27 U13(x0, mark(x1), x2) 177.19/63.27 U13(x0, x1, mark(x2)) 177.19/63.27 U13(active(x0), x1, x2) 177.19/63.27 U13(x0, active(x1), x2) 177.19/63.27 U13(x0, x1, active(x2)) 177.19/63.27 U14(mark(x0), x1, x2) 177.19/63.27 U14(x0, mark(x1), x2) 177.19/63.27 U14(x0, x1, mark(x2)) 177.19/63.27 U14(active(x0), x1, x2) 177.19/63.27 U14(x0, active(x1), x2) 177.19/63.27 U14(x0, x1, active(x2)) 177.19/63.27 U15(mark(x0), x1) 177.19/63.27 U15(x0, mark(x1)) 177.19/63.27 U15(active(x0), x1) 177.19/63.27 U15(x0, active(x1)) 177.19/63.27 isNat(mark(x0)) 177.19/63.27 isNat(active(x0)) 177.19/63.27 U16(mark(x0)) 177.19/63.27 U16(active(x0)) 177.19/63.27 U21(mark(x0), x1) 177.19/63.27 U21(x0, mark(x1)) 177.19/63.27 U21(active(x0), x1) 177.19/63.27 U21(x0, active(x1)) 177.19/63.27 U22(mark(x0), x1) 177.19/63.27 U22(x0, mark(x1)) 177.19/63.27 U22(active(x0), x1) 177.19/63.27 U22(x0, active(x1)) 177.19/63.27 U23(mark(x0)) 177.19/63.27 U23(active(x0)) 177.19/63.27 U31(mark(x0), x1) 177.19/63.27 U31(x0, mark(x1)) 177.19/63.27 U31(active(x0), x1) 177.19/63.27 U31(x0, active(x1)) 177.19/63.27 U32(mark(x0)) 177.19/63.27 U32(active(x0)) 177.19/63.27 U41(mark(x0)) 177.19/63.27 U41(active(x0)) 177.19/63.27 U51(mark(x0), x1) 177.19/63.27 U51(x0, mark(x1)) 177.19/63.27 U51(active(x0), x1) 177.19/63.27 U51(x0, active(x1)) 177.19/63.27 U52(mark(x0), x1) 177.19/63.27 U52(x0, mark(x1)) 177.19/63.27 U52(active(x0), x1) 177.19/63.27 U52(x0, active(x1)) 177.19/63.27 U61(mark(x0), x1, x2) 177.19/63.27 U61(x0, mark(x1), x2) 177.19/63.27 U61(x0, x1, mark(x2)) 177.19/63.27 U61(active(x0), x1, x2) 177.19/63.27 U61(x0, active(x1), x2) 177.19/63.27 U61(x0, x1, active(x2)) 177.19/63.27 U62(mark(x0), x1, x2) 177.19/63.27 U62(x0, mark(x1), x2) 177.19/63.27 U62(x0, x1, mark(x2)) 177.19/63.27 U62(active(x0), x1, x2) 177.19/63.27 U62(x0, active(x1), x2) 177.19/63.27 U62(x0, x1, active(x2)) 177.19/63.27 U63(mark(x0), x1, x2) 177.19/63.27 U63(x0, mark(x1), x2) 177.19/63.27 U63(x0, x1, mark(x2)) 177.19/63.27 U63(active(x0), x1, x2) 177.19/63.27 U63(x0, active(x1), x2) 177.19/63.27 U63(x0, x1, active(x2)) 177.19/63.27 U64(mark(x0), x1, x2) 177.19/63.27 U64(x0, mark(x1), x2) 177.19/63.27 U64(x0, x1, mark(x2)) 177.19/63.27 U64(active(x0), x1, x2) 177.19/63.27 U64(x0, active(x1), x2) 177.19/63.27 U64(x0, x1, active(x2)) 177.19/63.27 s(mark(x0)) 177.19/63.27 s(active(x0)) 177.19/63.27 plus(mark(x0), x1) 177.19/63.27 plus(x0, mark(x1)) 177.19/63.27 plus(active(x0), x1) 177.19/63.27 plus(x0, active(x1)) 177.19/63.27 177.19/63.27 We have to consider all minimal (P,Q,R)-chains. 177.19/63.27 ---------------------------------------- 177.19/63.27 177.19/63.27 (180) QDPOrderProof (EQUIVALENT) 177.19/63.27 We use the reduction pair processor [LPAR04,JAR06]. 177.19/63.27 177.19/63.27 177.19/63.27 The following pairs can be oriented strictly and are deleted. 177.19/63.27 177.19/63.27 MARK(U62(X1, X2, X3)) -> ACTIVE(U62(mark(X1), X2, X3)) 177.19/63.27 The remaining pairs can at least be oriented weakly. 177.19/63.27 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 177.19/63.27 177.19/63.27 POL( ACTIVE_1(x_1) ) = max{0, x_1 - 1} 177.19/63.27 POL( U11_3(x_1, ..., x_3) ) = 2 177.19/63.27 POL( U12_3(x_1, ..., x_3) ) = 2 177.19/63.27 POL( U13_3(x_1, ..., x_3) ) = 2 177.19/63.27 POL( U14_3(x_1, ..., x_3) ) = 2 177.19/63.27 POL( U15_2(x_1, x_2) ) = 2 177.19/63.27 POL( U21_2(x_1, x_2) ) = 2 177.19/63.27 POL( U22_2(x_1, x_2) ) = 2 177.19/63.27 POL( U31_2(x_1, x_2) ) = 2 177.19/63.27 POL( U52_2(x_1, x_2) ) = 2 177.19/63.27 POL( U61_3(x_1, ..., x_3) ) = 2 177.19/63.27 POL( U62_3(x_1, ..., x_3) ) = max{0, -2} 177.19/63.27 POL( plus_2(x_1, x_2) ) = 2 177.19/63.27 POL( mark_1(x_1) ) = max{0, x_1 - 2} 177.19/63.27 POL( active_1(x_1) ) = max{0, -2} 177.19/63.27 POL( tt ) = 0 177.19/63.27 POL( isNatKind_1(x_1) ) = 2 177.19/63.27 POL( isNat_1(x_1) ) = 2 177.19/63.27 POL( U16_1(x_1) ) = max{0, 2x_1 - 2} 177.19/63.27 POL( U23_1(x_1) ) = max{0, 2x_1 - 2} 177.19/63.27 POL( U32_1(x_1) ) = max{0, x_1 - 2} 177.19/63.27 POL( U51_2(x_1, x_2) ) = 2x_1 + 2x_2 + 2 177.19/63.27 POL( U63_3(x_1, ..., x_3) ) = max{0, x_1 + 2x_2 - 2} 177.19/63.27 POL( U64_3(x_1, ..., x_3) ) = max{0, 2x_2 + x_3 - 2} 177.19/63.27 POL( s_1(x_1) ) = max{0, x_1 - 2} 177.19/63.27 POL( U41_1(x_1) ) = 2x_1 + 2 177.19/63.27 POL( 0 ) = 2 177.19/63.27 POL( MARK_1(x_1) ) = 1 177.19/63.27 177.19/63.27 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 177.19/63.27 177.19/63.27 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.27 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.27 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.27 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.27 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.27 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.27 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.27 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.27 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.27 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.27 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.27 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.27 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.27 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.27 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.27 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.27 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.27 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.27 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.27 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.27 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.27 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.27 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.27 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.27 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.27 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.27 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.27 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.27 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.27 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.27 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.27 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.27 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.27 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.27 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.27 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.27 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.27 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.27 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.27 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.27 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.27 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.27 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.27 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.27 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.27 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.27 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.27 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.27 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.27 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.27 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.27 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.27 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.27 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.27 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.27 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.27 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.27 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.27 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.27 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.27 177.19/63.27 177.19/63.27 ---------------------------------------- 177.19/63.27 177.19/63.27 (181) 177.19/63.27 Obligation: 177.19/63.27 Q DP problem: 177.19/63.27 The TRS P consists of the following rules: 177.19/63.27 177.19/63.27 ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) 177.19/63.27 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 177.19/63.27 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.19/63.27 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.19/63.27 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.19/63.27 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.19/63.27 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.19/63.27 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.19/63.27 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.19/63.27 MARK(U16(X)) -> MARK(X) 177.19/63.27 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.19/63.27 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 177.19/63.27 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 177.19/63.27 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 177.19/63.27 MARK(U23(X)) -> MARK(X) 177.19/63.27 MARK(U11(X1, X2, X3)) -> MARK(X1) 177.19/63.27 MARK(U12(X1, X2, X3)) -> MARK(X1) 177.19/63.27 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.19/63.27 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.19/63.27 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.19/63.27 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.19/63.27 MARK(U32(X)) -> MARK(X) 177.19/63.27 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.19/63.27 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.19/63.27 MARK(U15(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(isNat(X)) -> ACTIVE(isNat(X)) 177.19/63.27 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) 177.19/63.27 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 177.19/63.27 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 177.19/63.27 ACTIVE(U52(tt, N)) -> MARK(N) 177.19/63.27 MARK(U21(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(U22(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(U31(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(U41(X)) -> MARK(X) 177.19/63.27 MARK(U52(X1, X2)) -> ACTIVE(U52(mark(X1), X2)) 177.19/63.27 ACTIVE(U61(tt, M, N)) -> MARK(U62(isNatKind(M), M, N)) 177.19/63.27 ACTIVE(plus(N, s(M))) -> MARK(U61(isNat(M), M, N)) 177.19/63.27 MARK(U61(X1, X2, X3)) -> ACTIVE(U61(mark(X1), X2, X3)) 177.19/63.27 MARK(U52(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 177.19/63.27 MARK(plus(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(plus(X1, X2)) -> MARK(X2) 177.19/63.27 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.19/63.27 177.19/63.27 The TRS R consists of the following rules: 177.19/63.27 177.19/63.27 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.19/63.27 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.19/63.27 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.19/63.27 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.19/63.27 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.19/63.27 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.19/63.27 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.19/63.27 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.19/63.27 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.19/63.27 mark(U16(X)) -> active(U16(mark(X))) 177.19/63.27 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.19/63.27 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.19/63.27 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.19/63.27 mark(U23(X)) -> active(U23(mark(X))) 177.19/63.27 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.19/63.27 mark(U32(X)) -> active(U32(mark(X))) 177.19/63.27 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.19/63.27 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.19/63.27 active(U52(tt, N)) -> mark(N) 177.19/63.27 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.19/63.27 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.19/63.27 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.19/63.27 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.19/63.27 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.19/63.27 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.19/63.27 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.19/63.27 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.19/63.27 mark(s(X)) -> active(s(mark(X))) 177.19/63.27 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.19/63.27 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.19/63.27 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.19/63.27 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.19/63.27 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.19/63.27 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.19/63.27 mark(U41(X)) -> active(U41(mark(X))) 177.19/63.27 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.19/63.27 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.19/63.27 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.19/63.27 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.19/63.27 mark(isNatKind(X)) -> active(isNatKind(X)) 177.19/63.27 mark(isNat(X)) -> active(isNat(X)) 177.19/63.27 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.19/63.27 mark(tt) -> active(tt) 177.19/63.27 mark(0) -> active(0) 177.19/63.27 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.27 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.27 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.27 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.27 active(U16(tt)) -> mark(tt) 177.19/63.27 active(U23(tt)) -> mark(tt) 177.19/63.27 active(U32(tt)) -> mark(tt) 177.19/63.27 active(U41(tt)) -> mark(tt) 177.19/63.27 active(isNat(0)) -> mark(tt) 177.19/63.27 active(isNatKind(0)) -> mark(tt) 177.19/63.27 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.27 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.27 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.27 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.27 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.27 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.27 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.27 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.27 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.27 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.27 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.27 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.27 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.27 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.27 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.27 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.27 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.27 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.27 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.27 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.27 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.27 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.27 U16(active(X)) -> U16(X) 177.19/63.27 U16(mark(X)) -> U16(X) 177.19/63.27 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.27 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.27 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.27 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.27 U23(active(X)) -> U23(X) 177.19/63.27 U23(mark(X)) -> U23(X) 177.19/63.27 U32(active(X)) -> U32(X) 177.19/63.27 U32(mark(X)) -> U32(X) 177.19/63.27 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.27 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.27 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.27 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.27 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.27 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.27 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.27 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.27 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.27 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.27 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.27 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.27 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.27 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.27 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.27 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.27 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.19/63.27 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.27 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.19/63.27 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.27 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.19/63.27 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.19/63.27 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.19/63.27 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.27 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.19/63.27 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.27 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.19/63.27 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.19/63.27 s(active(X)) -> s(X) 177.19/63.27 s(mark(X)) -> s(X) 177.19/63.27 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.27 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.27 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.27 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.27 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.27 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.27 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.27 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.27 U41(active(X)) -> U41(X) 177.19/63.27 U41(mark(X)) -> U41(X) 177.19/63.27 U51(X1, mark(X2)) -> U51(X1, X2) 177.19/63.27 U51(mark(X1), X2) -> U51(X1, X2) 177.19/63.27 U51(active(X1), X2) -> U51(X1, X2) 177.19/63.27 U51(X1, active(X2)) -> U51(X1, X2) 177.19/63.27 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.27 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.27 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.27 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.27 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.27 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.27 177.19/63.27 The set Q consists of the following terms: 177.19/63.27 177.19/63.27 active(U11(tt, x0, x1)) 177.19/63.27 active(U12(tt, x0, x1)) 177.19/63.27 active(U13(tt, x0, x1)) 177.19/63.27 active(U14(tt, x0, x1)) 177.19/63.27 active(U15(tt, x0)) 177.19/63.27 active(U16(tt)) 177.19/63.27 active(U21(tt, x0)) 177.19/63.27 active(U22(tt, x0)) 177.19/63.27 active(U23(tt)) 177.19/63.27 active(U31(tt, x0)) 177.19/63.27 active(U32(tt)) 177.19/63.27 active(U41(tt)) 177.19/63.27 active(U51(tt, x0)) 177.19/63.27 active(U52(tt, x0)) 177.19/63.27 active(U61(tt, x0, x1)) 177.19/63.27 active(U62(tt, x0, x1)) 177.19/63.27 active(U63(tt, x0, x1)) 177.19/63.27 active(U64(tt, x0, x1)) 177.19/63.27 active(isNat(0)) 177.19/63.27 active(isNat(plus(x0, x1))) 177.19/63.27 active(isNat(s(x0))) 177.19/63.27 active(isNatKind(0)) 177.19/63.27 active(isNatKind(plus(x0, x1))) 177.19/63.27 active(isNatKind(s(x0))) 177.19/63.27 active(plus(x0, 0)) 177.19/63.27 active(plus(x0, s(x1))) 177.19/63.27 mark(U11(x0, x1, x2)) 177.19/63.27 mark(tt) 177.19/63.27 mark(U12(x0, x1, x2)) 177.19/63.27 mark(isNatKind(x0)) 177.19/63.27 mark(U13(x0, x1, x2)) 177.19/63.27 mark(U14(x0, x1, x2)) 177.19/63.27 mark(U15(x0, x1)) 177.19/63.27 mark(isNat(x0)) 177.19/63.27 mark(U16(x0)) 177.19/63.27 mark(U21(x0, x1)) 177.19/63.27 mark(U22(x0, x1)) 177.19/63.27 mark(U23(x0)) 177.19/63.27 mark(U31(x0, x1)) 177.19/63.27 mark(U32(x0)) 177.19/63.27 mark(U41(x0)) 177.19/63.27 mark(U51(x0, x1)) 177.19/63.27 mark(U52(x0, x1)) 177.19/63.27 mark(U61(x0, x1, x2)) 177.19/63.27 mark(U62(x0, x1, x2)) 177.19/63.27 mark(U63(x0, x1, x2)) 177.19/63.27 mark(U64(x0, x1, x2)) 177.19/63.27 mark(s(x0)) 177.19/63.27 mark(plus(x0, x1)) 177.19/63.27 mark(0) 177.19/63.27 U11(mark(x0), x1, x2) 177.19/63.27 U11(x0, mark(x1), x2) 177.19/63.27 U11(x0, x1, mark(x2)) 177.19/63.27 U11(active(x0), x1, x2) 177.19/63.27 U11(x0, active(x1), x2) 177.19/63.27 U11(x0, x1, active(x2)) 177.19/63.27 U12(mark(x0), x1, x2) 177.19/63.27 U12(x0, mark(x1), x2) 177.19/63.27 U12(x0, x1, mark(x2)) 177.19/63.27 U12(active(x0), x1, x2) 177.19/63.27 U12(x0, active(x1), x2) 177.19/63.27 U12(x0, x1, active(x2)) 177.19/63.27 isNatKind(mark(x0)) 177.19/63.27 isNatKind(active(x0)) 177.19/63.27 U13(mark(x0), x1, x2) 177.19/63.27 U13(x0, mark(x1), x2) 177.19/63.27 U13(x0, x1, mark(x2)) 177.19/63.27 U13(active(x0), x1, x2) 177.19/63.27 U13(x0, active(x1), x2) 177.19/63.27 U13(x0, x1, active(x2)) 177.19/63.27 U14(mark(x0), x1, x2) 177.19/63.27 U14(x0, mark(x1), x2) 177.19/63.27 U14(x0, x1, mark(x2)) 177.19/63.27 U14(active(x0), x1, x2) 177.19/63.27 U14(x0, active(x1), x2) 177.19/63.27 U14(x0, x1, active(x2)) 177.19/63.27 U15(mark(x0), x1) 177.19/63.27 U15(x0, mark(x1)) 177.19/63.27 U15(active(x0), x1) 177.19/63.27 U15(x0, active(x1)) 177.19/63.27 isNat(mark(x0)) 177.19/63.27 isNat(active(x0)) 177.19/63.27 U16(mark(x0)) 177.19/63.27 U16(active(x0)) 177.19/63.27 U21(mark(x0), x1) 177.19/63.27 U21(x0, mark(x1)) 177.19/63.27 U21(active(x0), x1) 177.19/63.27 U21(x0, active(x1)) 177.19/63.27 U22(mark(x0), x1) 177.19/63.27 U22(x0, mark(x1)) 177.19/63.27 U22(active(x0), x1) 177.19/63.27 U22(x0, active(x1)) 177.19/63.27 U23(mark(x0)) 177.19/63.27 U23(active(x0)) 177.19/63.27 U31(mark(x0), x1) 177.19/63.27 U31(x0, mark(x1)) 177.19/63.27 U31(active(x0), x1) 177.19/63.27 U31(x0, active(x1)) 177.19/63.27 U32(mark(x0)) 177.19/63.27 U32(active(x0)) 177.19/63.27 U41(mark(x0)) 177.19/63.27 U41(active(x0)) 177.19/63.27 U51(mark(x0), x1) 177.19/63.27 U51(x0, mark(x1)) 177.19/63.27 U51(active(x0), x1) 177.19/63.27 U51(x0, active(x1)) 177.19/63.27 U52(mark(x0), x1) 177.19/63.27 U52(x0, mark(x1)) 177.19/63.27 U52(active(x0), x1) 177.19/63.27 U52(x0, active(x1)) 177.19/63.27 U61(mark(x0), x1, x2) 177.19/63.27 U61(x0, mark(x1), x2) 177.19/63.27 U61(x0, x1, mark(x2)) 177.19/63.27 U61(active(x0), x1, x2) 177.19/63.27 U61(x0, active(x1), x2) 177.19/63.27 U61(x0, x1, active(x2)) 177.19/63.27 U62(mark(x0), x1, x2) 177.19/63.27 U62(x0, mark(x1), x2) 177.19/63.27 U62(x0, x1, mark(x2)) 177.19/63.27 U62(active(x0), x1, x2) 177.19/63.27 U62(x0, active(x1), x2) 177.19/63.27 U62(x0, x1, active(x2)) 177.19/63.27 U63(mark(x0), x1, x2) 177.19/63.27 U63(x0, mark(x1), x2) 177.19/63.27 U63(x0, x1, mark(x2)) 177.19/63.27 U63(active(x0), x1, x2) 177.19/63.27 U63(x0, active(x1), x2) 177.19/63.27 U63(x0, x1, active(x2)) 177.19/63.27 U64(mark(x0), x1, x2) 177.19/63.27 U64(x0, mark(x1), x2) 177.19/63.27 U64(x0, x1, mark(x2)) 177.19/63.27 U64(active(x0), x1, x2) 177.19/63.27 U64(x0, active(x1), x2) 177.19/63.27 U64(x0, x1, active(x2)) 177.19/63.27 s(mark(x0)) 177.19/63.27 s(active(x0)) 177.19/63.27 plus(mark(x0), x1) 177.19/63.27 plus(x0, mark(x1)) 177.19/63.27 plus(active(x0), x1) 177.19/63.27 plus(x0, active(x1)) 177.19/63.27 177.19/63.27 We have to consider all minimal (P,Q,R)-chains. 177.19/63.27 ---------------------------------------- 177.19/63.27 177.19/63.27 (182) DependencyGraphProof (EQUIVALENT) 177.19/63.27 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 177.19/63.27 ---------------------------------------- 177.19/63.27 177.19/63.27 (183) 177.19/63.27 Obligation: 177.19/63.27 Q DP problem: 177.19/63.27 The TRS P consists of the following rules: 177.19/63.27 177.19/63.27 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 177.19/63.27 ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) 177.19/63.27 MARK(U12(X1, X2, X3)) -> MARK(X1) 177.19/63.27 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.19/63.27 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.19/63.27 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.19/63.27 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.19/63.27 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.19/63.27 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.19/63.27 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.19/63.27 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.19/63.27 MARK(U16(X)) -> MARK(X) 177.19/63.27 MARK(U11(X1, X2, X3)) -> MARK(X1) 177.19/63.27 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.19/63.27 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.19/63.27 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.19/63.27 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 177.19/63.27 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 177.19/63.27 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 177.19/63.27 MARK(U23(X)) -> MARK(X) 177.19/63.27 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.19/63.27 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.19/63.27 MARK(U15(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(isNat(X)) -> ACTIVE(isNat(X)) 177.19/63.27 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) 177.19/63.27 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 177.19/63.27 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 177.19/63.27 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.19/63.27 MARK(U32(X)) -> MARK(X) 177.19/63.27 MARK(U21(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(U22(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(U31(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(U41(X)) -> MARK(X) 177.19/63.27 MARK(U52(X1, X2)) -> ACTIVE(U52(mark(X1), X2)) 177.19/63.27 ACTIVE(U52(tt, N)) -> MARK(N) 177.19/63.27 MARK(U52(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(U61(X1, X2, X3)) -> ACTIVE(U61(mark(X1), X2, X3)) 177.19/63.27 ACTIVE(plus(N, s(M))) -> MARK(U61(isNat(M), M, N)) 177.19/63.27 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 177.19/63.27 MARK(plus(X1, X2)) -> MARK(X1) 177.19/63.27 MARK(plus(X1, X2)) -> MARK(X2) 177.19/63.27 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.19/63.27 177.19/63.27 The TRS R consists of the following rules: 177.19/63.27 177.19/63.27 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.19/63.27 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.19/63.27 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.19/63.27 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.19/63.27 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.19/63.27 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.19/63.27 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.19/63.27 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.19/63.27 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.19/63.27 mark(U16(X)) -> active(U16(mark(X))) 177.19/63.27 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.19/63.27 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.19/63.27 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.19/63.27 mark(U23(X)) -> active(U23(mark(X))) 177.19/63.27 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.19/63.27 mark(U32(X)) -> active(U32(mark(X))) 177.19/63.27 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.19/63.27 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.19/63.27 active(U52(tt, N)) -> mark(N) 177.19/63.27 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.19/63.27 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.19/63.27 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.19/63.27 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.19/63.27 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.19/63.27 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.19/63.27 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.19/63.27 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.19/63.27 mark(s(X)) -> active(s(mark(X))) 177.19/63.27 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.19/63.27 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.19/63.27 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.19/63.27 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.19/63.27 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.19/63.27 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.19/63.27 mark(U41(X)) -> active(U41(mark(X))) 177.19/63.27 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.19/63.27 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.19/63.27 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.19/63.27 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.19/63.27 mark(isNatKind(X)) -> active(isNatKind(X)) 177.19/63.27 mark(isNat(X)) -> active(isNat(X)) 177.19/63.27 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.19/63.27 mark(tt) -> active(tt) 177.19/63.27 mark(0) -> active(0) 177.19/63.27 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.27 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.27 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.27 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.27 active(U16(tt)) -> mark(tt) 177.19/63.27 active(U23(tt)) -> mark(tt) 177.19/63.27 active(U32(tt)) -> mark(tt) 177.19/63.27 active(U41(tt)) -> mark(tt) 177.19/63.27 active(isNat(0)) -> mark(tt) 177.19/63.27 active(isNatKind(0)) -> mark(tt) 177.19/63.27 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.27 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.27 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.27 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.28 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.28 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.28 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.28 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.28 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.28 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.28 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.28 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.28 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.28 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.28 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.28 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.28 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.28 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.28 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.28 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.28 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.28 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.28 U16(active(X)) -> U16(X) 177.19/63.28 U16(mark(X)) -> U16(X) 177.19/63.28 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.28 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.28 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.28 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.28 U23(active(X)) -> U23(X) 177.19/63.28 U23(mark(X)) -> U23(X) 177.19/63.28 U32(active(X)) -> U32(X) 177.19/63.28 U32(mark(X)) -> U32(X) 177.19/63.28 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.28 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.28 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.28 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.28 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.28 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.28 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.28 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.28 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.28 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.28 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.28 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.28 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.28 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.28 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.28 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.28 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.19/63.28 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.28 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.19/63.28 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.28 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.19/63.28 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.19/63.28 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.19/63.28 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.28 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.19/63.28 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.28 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.19/63.28 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.19/63.28 s(active(X)) -> s(X) 177.19/63.28 s(mark(X)) -> s(X) 177.19/63.28 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.28 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.28 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.28 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.28 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.28 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.28 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.28 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.28 U41(active(X)) -> U41(X) 177.19/63.28 U41(mark(X)) -> U41(X) 177.19/63.28 U51(X1, mark(X2)) -> U51(X1, X2) 177.19/63.28 U51(mark(X1), X2) -> U51(X1, X2) 177.19/63.28 U51(active(X1), X2) -> U51(X1, X2) 177.19/63.28 U51(X1, active(X2)) -> U51(X1, X2) 177.19/63.28 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.28 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.28 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.28 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.28 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.28 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.28 177.19/63.28 The set Q consists of the following terms: 177.19/63.28 177.19/63.28 active(U11(tt, x0, x1)) 177.19/63.28 active(U12(tt, x0, x1)) 177.19/63.28 active(U13(tt, x0, x1)) 177.19/63.28 active(U14(tt, x0, x1)) 177.19/63.28 active(U15(tt, x0)) 177.19/63.28 active(U16(tt)) 177.19/63.28 active(U21(tt, x0)) 177.19/63.28 active(U22(tt, x0)) 177.19/63.28 active(U23(tt)) 177.19/63.28 active(U31(tt, x0)) 177.19/63.28 active(U32(tt)) 177.19/63.28 active(U41(tt)) 177.19/63.28 active(U51(tt, x0)) 177.19/63.28 active(U52(tt, x0)) 177.19/63.28 active(U61(tt, x0, x1)) 177.19/63.28 active(U62(tt, x0, x1)) 177.19/63.28 active(U63(tt, x0, x1)) 177.19/63.28 active(U64(tt, x0, x1)) 177.19/63.28 active(isNat(0)) 177.19/63.28 active(isNat(plus(x0, x1))) 177.19/63.28 active(isNat(s(x0))) 177.19/63.28 active(isNatKind(0)) 177.19/63.28 active(isNatKind(plus(x0, x1))) 177.19/63.28 active(isNatKind(s(x0))) 177.19/63.28 active(plus(x0, 0)) 177.19/63.28 active(plus(x0, s(x1))) 177.19/63.28 mark(U11(x0, x1, x2)) 177.19/63.28 mark(tt) 177.19/63.28 mark(U12(x0, x1, x2)) 177.19/63.28 mark(isNatKind(x0)) 177.19/63.28 mark(U13(x0, x1, x2)) 177.19/63.28 mark(U14(x0, x1, x2)) 177.19/63.28 mark(U15(x0, x1)) 177.19/63.28 mark(isNat(x0)) 177.19/63.28 mark(U16(x0)) 177.19/63.28 mark(U21(x0, x1)) 177.19/63.28 mark(U22(x0, x1)) 177.19/63.28 mark(U23(x0)) 177.19/63.28 mark(U31(x0, x1)) 177.19/63.28 mark(U32(x0)) 177.19/63.28 mark(U41(x0)) 177.19/63.28 mark(U51(x0, x1)) 177.19/63.28 mark(U52(x0, x1)) 177.19/63.28 mark(U61(x0, x1, x2)) 177.19/63.28 mark(U62(x0, x1, x2)) 177.19/63.28 mark(U63(x0, x1, x2)) 177.19/63.28 mark(U64(x0, x1, x2)) 177.19/63.28 mark(s(x0)) 177.19/63.28 mark(plus(x0, x1)) 177.19/63.28 mark(0) 177.19/63.28 U11(mark(x0), x1, x2) 177.19/63.28 U11(x0, mark(x1), x2) 177.19/63.28 U11(x0, x1, mark(x2)) 177.19/63.28 U11(active(x0), x1, x2) 177.19/63.28 U11(x0, active(x1), x2) 177.19/63.28 U11(x0, x1, active(x2)) 177.19/63.28 U12(mark(x0), x1, x2) 177.19/63.28 U12(x0, mark(x1), x2) 177.19/63.28 U12(x0, x1, mark(x2)) 177.19/63.28 U12(active(x0), x1, x2) 177.19/63.28 U12(x0, active(x1), x2) 177.19/63.28 U12(x0, x1, active(x2)) 177.19/63.28 isNatKind(mark(x0)) 177.19/63.28 isNatKind(active(x0)) 177.19/63.28 U13(mark(x0), x1, x2) 177.19/63.28 U13(x0, mark(x1), x2) 177.19/63.28 U13(x0, x1, mark(x2)) 177.19/63.28 U13(active(x0), x1, x2) 177.19/63.28 U13(x0, active(x1), x2) 177.19/63.28 U13(x0, x1, active(x2)) 177.19/63.28 U14(mark(x0), x1, x2) 177.19/63.28 U14(x0, mark(x1), x2) 177.19/63.28 U14(x0, x1, mark(x2)) 177.19/63.28 U14(active(x0), x1, x2) 177.19/63.28 U14(x0, active(x1), x2) 177.19/63.28 U14(x0, x1, active(x2)) 177.19/63.28 U15(mark(x0), x1) 177.19/63.28 U15(x0, mark(x1)) 177.19/63.28 U15(active(x0), x1) 177.19/63.28 U15(x0, active(x1)) 177.19/63.28 isNat(mark(x0)) 177.19/63.28 isNat(active(x0)) 177.19/63.28 U16(mark(x0)) 177.19/63.28 U16(active(x0)) 177.19/63.28 U21(mark(x0), x1) 177.19/63.28 U21(x0, mark(x1)) 177.19/63.28 U21(active(x0), x1) 177.19/63.28 U21(x0, active(x1)) 177.19/63.28 U22(mark(x0), x1) 177.19/63.28 U22(x0, mark(x1)) 177.19/63.28 U22(active(x0), x1) 177.19/63.28 U22(x0, active(x1)) 177.19/63.28 U23(mark(x0)) 177.19/63.28 U23(active(x0)) 177.19/63.28 U31(mark(x0), x1) 177.19/63.28 U31(x0, mark(x1)) 177.19/63.28 U31(active(x0), x1) 177.19/63.28 U31(x0, active(x1)) 177.19/63.28 U32(mark(x0)) 177.19/63.28 U32(active(x0)) 177.19/63.28 U41(mark(x0)) 177.19/63.28 U41(active(x0)) 177.19/63.28 U51(mark(x0), x1) 177.19/63.28 U51(x0, mark(x1)) 177.19/63.28 U51(active(x0), x1) 177.19/63.28 U51(x0, active(x1)) 177.19/63.28 U52(mark(x0), x1) 177.19/63.28 U52(x0, mark(x1)) 177.19/63.28 U52(active(x0), x1) 177.19/63.28 U52(x0, active(x1)) 177.19/63.28 U61(mark(x0), x1, x2) 177.19/63.28 U61(x0, mark(x1), x2) 177.19/63.28 U61(x0, x1, mark(x2)) 177.19/63.28 U61(active(x0), x1, x2) 177.19/63.28 U61(x0, active(x1), x2) 177.19/63.28 U61(x0, x1, active(x2)) 177.19/63.28 U62(mark(x0), x1, x2) 177.19/63.28 U62(x0, mark(x1), x2) 177.19/63.28 U62(x0, x1, mark(x2)) 177.19/63.28 U62(active(x0), x1, x2) 177.19/63.28 U62(x0, active(x1), x2) 177.19/63.28 U62(x0, x1, active(x2)) 177.19/63.28 U63(mark(x0), x1, x2) 177.19/63.28 U63(x0, mark(x1), x2) 177.19/63.28 U63(x0, x1, mark(x2)) 177.19/63.28 U63(active(x0), x1, x2) 177.19/63.28 U63(x0, active(x1), x2) 177.19/63.28 U63(x0, x1, active(x2)) 177.19/63.28 U64(mark(x0), x1, x2) 177.19/63.28 U64(x0, mark(x1), x2) 177.19/63.28 U64(x0, x1, mark(x2)) 177.19/63.28 U64(active(x0), x1, x2) 177.19/63.28 U64(x0, active(x1), x2) 177.19/63.28 U64(x0, x1, active(x2)) 177.19/63.28 s(mark(x0)) 177.19/63.28 s(active(x0)) 177.19/63.28 plus(mark(x0), x1) 177.19/63.28 plus(x0, mark(x1)) 177.19/63.28 plus(active(x0), x1) 177.19/63.28 plus(x0, active(x1)) 177.19/63.28 177.19/63.28 We have to consider all minimal (P,Q,R)-chains. 177.19/63.28 ---------------------------------------- 177.19/63.28 177.19/63.28 (184) QDPQMonotonicMRRProof (EQUIVALENT) 177.19/63.28 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. 177.19/63.28 177.19/63.28 Strictly oriented dependency pairs: 177.19/63.28 177.19/63.28 MARK(U61(X1, X2, X3)) -> ACTIVE(U61(mark(X1), X2, X3)) 177.19/63.28 177.19/63.28 177.19/63.28 Used ordering: Polynomial interpretation [POLO]: 177.19/63.28 177.19/63.28 POL(0) = 0 177.19/63.28 POL(ACTIVE(x_1)) = 2*x_1 177.19/63.28 POL(MARK(x_1)) = 2 177.19/63.28 POL(U11(x_1, x_2, x_3)) = 1 177.19/63.28 POL(U12(x_1, x_2, x_3)) = 1 177.19/63.28 POL(U13(x_1, x_2, x_3)) = 1 177.19/63.28 POL(U14(x_1, x_2, x_3)) = 1 177.19/63.28 POL(U15(x_1, x_2)) = 1 177.19/63.28 POL(U16(x_1)) = 0 177.19/63.28 POL(U21(x_1, x_2)) = 1 177.19/63.28 POL(U22(x_1, x_2)) = 1 177.19/63.28 POL(U23(x_1)) = 0 177.19/63.28 POL(U31(x_1, x_2)) = 1 177.19/63.28 POL(U32(x_1)) = 0 177.19/63.28 POL(U41(x_1)) = 0 177.19/63.28 POL(U51(x_1, x_2)) = 0 177.19/63.28 POL(U52(x_1, x_2)) = 1 177.19/63.28 POL(U61(x_1, x_2, x_3)) = 0 177.19/63.28 POL(U62(x_1, x_2, x_3)) = 0 177.19/63.28 POL(U63(x_1, x_2, x_3)) = 0 177.19/63.28 POL(U64(x_1, x_2, x_3)) = 0 177.19/63.28 POL(active(x_1)) = 0 177.19/63.28 POL(isNat(x_1)) = 1 177.19/63.28 POL(isNatKind(x_1)) = 1 177.19/63.28 POL(mark(x_1)) = 0 177.19/63.28 POL(plus(x_1, x_2)) = 1 177.19/63.28 POL(s(x_1)) = 0 177.19/63.28 POL(tt) = 0 177.19/63.28 177.19/63.28 177.19/63.28 ---------------------------------------- 177.19/63.28 177.19/63.28 (185) 177.19/63.28 Obligation: 177.19/63.28 Q DP problem: 177.19/63.28 The TRS P consists of the following rules: 177.19/63.28 177.19/63.28 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 177.19/63.28 ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) 177.19/63.28 MARK(U12(X1, X2, X3)) -> MARK(X1) 177.19/63.28 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.19/63.28 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.19/63.28 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.19/63.28 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.19/63.28 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.19/63.28 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.19/63.28 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.19/63.28 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.19/63.28 MARK(U16(X)) -> MARK(X) 177.19/63.28 MARK(U11(X1, X2, X3)) -> MARK(X1) 177.19/63.28 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.19/63.28 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.19/63.28 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.19/63.28 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 177.19/63.28 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 177.19/63.28 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 177.19/63.28 MARK(U23(X)) -> MARK(X) 177.19/63.28 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.19/63.28 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.19/63.28 MARK(U15(X1, X2)) -> MARK(X1) 177.19/63.28 MARK(isNat(X)) -> ACTIVE(isNat(X)) 177.19/63.28 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) 177.19/63.28 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 177.19/63.28 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 177.19/63.28 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.19/63.28 MARK(U32(X)) -> MARK(X) 177.19/63.28 MARK(U21(X1, X2)) -> MARK(X1) 177.19/63.28 MARK(U22(X1, X2)) -> MARK(X1) 177.19/63.28 MARK(U31(X1, X2)) -> MARK(X1) 177.19/63.28 MARK(U41(X)) -> MARK(X) 177.19/63.28 MARK(U52(X1, X2)) -> ACTIVE(U52(mark(X1), X2)) 177.19/63.28 ACTIVE(U52(tt, N)) -> MARK(N) 177.19/63.28 MARK(U52(X1, X2)) -> MARK(X1) 177.19/63.28 ACTIVE(plus(N, s(M))) -> MARK(U61(isNat(M), M, N)) 177.19/63.28 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 177.19/63.28 MARK(plus(X1, X2)) -> MARK(X1) 177.19/63.28 MARK(plus(X1, X2)) -> MARK(X2) 177.19/63.28 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.19/63.28 177.19/63.28 The TRS R consists of the following rules: 177.19/63.28 177.19/63.28 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.19/63.28 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.19/63.28 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.19/63.28 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.19/63.28 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.19/63.28 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.19/63.28 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.19/63.28 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.19/63.28 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.19/63.28 mark(U16(X)) -> active(U16(mark(X))) 177.19/63.28 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.19/63.28 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.19/63.28 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.19/63.28 mark(U23(X)) -> active(U23(mark(X))) 177.19/63.28 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.19/63.28 mark(U32(X)) -> active(U32(mark(X))) 177.19/63.28 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.19/63.28 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.19/63.28 active(U52(tt, N)) -> mark(N) 177.19/63.28 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.19/63.28 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.19/63.28 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.19/63.28 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.19/63.28 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.19/63.28 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.19/63.28 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.19/63.28 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.19/63.28 mark(s(X)) -> active(s(mark(X))) 177.19/63.28 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.19/63.28 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.19/63.28 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.19/63.28 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.19/63.28 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.19/63.28 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.19/63.28 mark(U41(X)) -> active(U41(mark(X))) 177.19/63.28 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.19/63.28 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.19/63.28 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.19/63.28 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.19/63.28 mark(isNatKind(X)) -> active(isNatKind(X)) 177.19/63.28 mark(isNat(X)) -> active(isNat(X)) 177.19/63.28 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.19/63.28 mark(tt) -> active(tt) 177.19/63.28 mark(0) -> active(0) 177.19/63.28 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.28 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.28 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.28 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.28 active(U16(tt)) -> mark(tt) 177.19/63.28 active(U23(tt)) -> mark(tt) 177.19/63.28 active(U32(tt)) -> mark(tt) 177.19/63.28 active(U41(tt)) -> mark(tt) 177.19/63.28 active(isNat(0)) -> mark(tt) 177.19/63.28 active(isNatKind(0)) -> mark(tt) 177.19/63.28 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.28 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.28 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.28 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.28 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.28 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.28 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.28 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.28 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.28 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.28 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.28 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.28 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.28 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.28 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.28 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.28 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.28 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.28 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.28 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.28 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.28 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.28 U16(active(X)) -> U16(X) 177.19/63.28 U16(mark(X)) -> U16(X) 177.19/63.28 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.28 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.28 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.28 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.28 U23(active(X)) -> U23(X) 177.19/63.28 U23(mark(X)) -> U23(X) 177.19/63.28 U32(active(X)) -> U32(X) 177.19/63.28 U32(mark(X)) -> U32(X) 177.19/63.28 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.28 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.28 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.28 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.28 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.28 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.28 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.28 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.28 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.28 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.28 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.28 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.28 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.28 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.28 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.28 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.28 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.19/63.28 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.28 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.19/63.28 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.28 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.19/63.28 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.19/63.28 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.19/63.28 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.28 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.19/63.28 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.28 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.19/63.28 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.19/63.28 s(active(X)) -> s(X) 177.19/63.28 s(mark(X)) -> s(X) 177.19/63.28 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.28 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.28 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.28 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.28 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.28 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.28 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.28 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.28 U41(active(X)) -> U41(X) 177.19/63.28 U41(mark(X)) -> U41(X) 177.19/63.28 U51(X1, mark(X2)) -> U51(X1, X2) 177.19/63.28 U51(mark(X1), X2) -> U51(X1, X2) 177.19/63.28 U51(active(X1), X2) -> U51(X1, X2) 177.19/63.28 U51(X1, active(X2)) -> U51(X1, X2) 177.19/63.28 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.28 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.28 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.28 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.28 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.28 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.28 177.19/63.28 The set Q consists of the following terms: 177.19/63.28 177.19/63.28 active(U11(tt, x0, x1)) 177.19/63.28 active(U12(tt, x0, x1)) 177.19/63.28 active(U13(tt, x0, x1)) 177.19/63.28 active(U14(tt, x0, x1)) 177.19/63.28 active(U15(tt, x0)) 177.19/63.28 active(U16(tt)) 177.19/63.28 active(U21(tt, x0)) 177.19/63.28 active(U22(tt, x0)) 177.19/63.28 active(U23(tt)) 177.19/63.28 active(U31(tt, x0)) 177.19/63.28 active(U32(tt)) 177.19/63.28 active(U41(tt)) 177.19/63.28 active(U51(tt, x0)) 177.19/63.28 active(U52(tt, x0)) 177.19/63.28 active(U61(tt, x0, x1)) 177.19/63.28 active(U62(tt, x0, x1)) 177.19/63.28 active(U63(tt, x0, x1)) 177.19/63.28 active(U64(tt, x0, x1)) 177.19/63.28 active(isNat(0)) 177.19/63.28 active(isNat(plus(x0, x1))) 177.19/63.28 active(isNat(s(x0))) 177.19/63.28 active(isNatKind(0)) 177.19/63.28 active(isNatKind(plus(x0, x1))) 177.19/63.28 active(isNatKind(s(x0))) 177.19/63.28 active(plus(x0, 0)) 177.19/63.28 active(plus(x0, s(x1))) 177.19/63.28 mark(U11(x0, x1, x2)) 177.19/63.28 mark(tt) 177.19/63.28 mark(U12(x0, x1, x2)) 177.19/63.28 mark(isNatKind(x0)) 177.19/63.28 mark(U13(x0, x1, x2)) 177.19/63.28 mark(U14(x0, x1, x2)) 177.19/63.28 mark(U15(x0, x1)) 177.19/63.28 mark(isNat(x0)) 177.19/63.28 mark(U16(x0)) 177.19/63.28 mark(U21(x0, x1)) 177.19/63.28 mark(U22(x0, x1)) 177.19/63.28 mark(U23(x0)) 177.19/63.28 mark(U31(x0, x1)) 177.19/63.28 mark(U32(x0)) 177.19/63.28 mark(U41(x0)) 177.19/63.28 mark(U51(x0, x1)) 177.19/63.28 mark(U52(x0, x1)) 177.19/63.28 mark(U61(x0, x1, x2)) 177.19/63.28 mark(U62(x0, x1, x2)) 177.19/63.28 mark(U63(x0, x1, x2)) 177.19/63.28 mark(U64(x0, x1, x2)) 177.19/63.28 mark(s(x0)) 177.19/63.28 mark(plus(x0, x1)) 177.19/63.28 mark(0) 177.19/63.28 U11(mark(x0), x1, x2) 177.19/63.28 U11(x0, mark(x1), x2) 177.19/63.28 U11(x0, x1, mark(x2)) 177.19/63.28 U11(active(x0), x1, x2) 177.19/63.28 U11(x0, active(x1), x2) 177.19/63.28 U11(x0, x1, active(x2)) 177.19/63.28 U12(mark(x0), x1, x2) 177.19/63.28 U12(x0, mark(x1), x2) 177.19/63.28 U12(x0, x1, mark(x2)) 177.19/63.28 U12(active(x0), x1, x2) 177.19/63.28 U12(x0, active(x1), x2) 177.19/63.28 U12(x0, x1, active(x2)) 177.19/63.28 isNatKind(mark(x0)) 177.19/63.28 isNatKind(active(x0)) 177.19/63.28 U13(mark(x0), x1, x2) 177.19/63.28 U13(x0, mark(x1), x2) 177.19/63.28 U13(x0, x1, mark(x2)) 177.19/63.28 U13(active(x0), x1, x2) 177.19/63.28 U13(x0, active(x1), x2) 177.19/63.28 U13(x0, x1, active(x2)) 177.19/63.28 U14(mark(x0), x1, x2) 177.19/63.28 U14(x0, mark(x1), x2) 177.19/63.28 U14(x0, x1, mark(x2)) 177.19/63.28 U14(active(x0), x1, x2) 177.19/63.28 U14(x0, active(x1), x2) 177.19/63.28 U14(x0, x1, active(x2)) 177.19/63.28 U15(mark(x0), x1) 177.19/63.28 U15(x0, mark(x1)) 177.19/63.28 U15(active(x0), x1) 177.19/63.28 U15(x0, active(x1)) 177.19/63.28 isNat(mark(x0)) 177.19/63.28 isNat(active(x0)) 177.19/63.28 U16(mark(x0)) 177.19/63.28 U16(active(x0)) 177.19/63.28 U21(mark(x0), x1) 177.19/63.28 U21(x0, mark(x1)) 177.19/63.28 U21(active(x0), x1) 177.19/63.28 U21(x0, active(x1)) 177.19/63.28 U22(mark(x0), x1) 177.19/63.28 U22(x0, mark(x1)) 177.19/63.28 U22(active(x0), x1) 177.19/63.28 U22(x0, active(x1)) 177.19/63.28 U23(mark(x0)) 177.19/63.28 U23(active(x0)) 177.19/63.28 U31(mark(x0), x1) 177.19/63.28 U31(x0, mark(x1)) 177.19/63.28 U31(active(x0), x1) 177.19/63.28 U31(x0, active(x1)) 177.19/63.28 U32(mark(x0)) 177.19/63.28 U32(active(x0)) 177.19/63.28 U41(mark(x0)) 177.19/63.28 U41(active(x0)) 177.19/63.28 U51(mark(x0), x1) 177.19/63.28 U51(x0, mark(x1)) 177.19/63.28 U51(active(x0), x1) 177.19/63.28 U51(x0, active(x1)) 177.19/63.28 U52(mark(x0), x1) 177.19/63.28 U52(x0, mark(x1)) 177.19/63.28 U52(active(x0), x1) 177.19/63.28 U52(x0, active(x1)) 177.19/63.28 U61(mark(x0), x1, x2) 177.19/63.28 U61(x0, mark(x1), x2) 177.19/63.28 U61(x0, x1, mark(x2)) 177.19/63.28 U61(active(x0), x1, x2) 177.19/63.28 U61(x0, active(x1), x2) 177.19/63.28 U61(x0, x1, active(x2)) 177.19/63.28 U62(mark(x0), x1, x2) 177.19/63.28 U62(x0, mark(x1), x2) 177.19/63.28 U62(x0, x1, mark(x2)) 177.19/63.28 U62(active(x0), x1, x2) 177.19/63.28 U62(x0, active(x1), x2) 177.19/63.28 U62(x0, x1, active(x2)) 177.19/63.28 U63(mark(x0), x1, x2) 177.19/63.28 U63(x0, mark(x1), x2) 177.19/63.28 U63(x0, x1, mark(x2)) 177.19/63.28 U63(active(x0), x1, x2) 177.19/63.28 U63(x0, active(x1), x2) 177.19/63.28 U63(x0, x1, active(x2)) 177.19/63.28 U64(mark(x0), x1, x2) 177.19/63.28 U64(x0, mark(x1), x2) 177.19/63.28 U64(x0, x1, mark(x2)) 177.19/63.28 U64(active(x0), x1, x2) 177.19/63.28 U64(x0, active(x1), x2) 177.19/63.28 U64(x0, x1, active(x2)) 177.19/63.28 s(mark(x0)) 177.19/63.28 s(active(x0)) 177.19/63.28 plus(mark(x0), x1) 177.19/63.28 plus(x0, mark(x1)) 177.19/63.28 plus(active(x0), x1) 177.19/63.28 plus(x0, active(x1)) 177.19/63.28 177.19/63.28 We have to consider all minimal (P,Q,R)-chains. 177.19/63.28 ---------------------------------------- 177.19/63.28 177.19/63.28 (186) DependencyGraphProof (EQUIVALENT) 177.19/63.28 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 177.19/63.28 ---------------------------------------- 177.19/63.28 177.19/63.28 (187) 177.19/63.28 Obligation: 177.19/63.28 Q DP problem: 177.19/63.28 The TRS P consists of the following rules: 177.19/63.28 177.19/63.28 ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) 177.19/63.28 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 177.19/63.28 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.19/63.28 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.19/63.28 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.19/63.28 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.19/63.28 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.19/63.28 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.19/63.28 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.19/63.28 MARK(U16(X)) -> MARK(X) 177.19/63.28 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.19/63.28 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 177.19/63.28 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 177.19/63.28 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 177.19/63.28 MARK(U23(X)) -> MARK(X) 177.19/63.28 MARK(U11(X1, X2, X3)) -> MARK(X1) 177.19/63.28 MARK(U12(X1, X2, X3)) -> MARK(X1) 177.19/63.28 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.19/63.28 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.19/63.28 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.19/63.28 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.19/63.28 MARK(U32(X)) -> MARK(X) 177.19/63.28 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.19/63.28 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.19/63.28 MARK(U15(X1, X2)) -> MARK(X1) 177.19/63.28 MARK(isNat(X)) -> ACTIVE(isNat(X)) 177.19/63.28 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) 177.19/63.28 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 177.19/63.28 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 177.19/63.28 ACTIVE(U52(tt, N)) -> MARK(N) 177.19/63.28 MARK(U21(X1, X2)) -> MARK(X1) 177.19/63.28 MARK(U22(X1, X2)) -> MARK(X1) 177.19/63.28 MARK(U31(X1, X2)) -> MARK(X1) 177.19/63.28 MARK(U41(X)) -> MARK(X) 177.19/63.28 MARK(U52(X1, X2)) -> ACTIVE(U52(mark(X1), X2)) 177.19/63.28 MARK(U52(X1, X2)) -> MARK(X1) 177.19/63.28 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 177.19/63.28 MARK(plus(X1, X2)) -> MARK(X1) 177.19/63.28 MARK(plus(X1, X2)) -> MARK(X2) 177.19/63.28 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.19/63.28 177.19/63.28 The TRS R consists of the following rules: 177.19/63.28 177.19/63.28 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.19/63.28 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.19/63.28 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.19/63.28 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.19/63.28 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.19/63.28 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.19/63.28 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.19/63.28 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.19/63.28 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.19/63.28 mark(U16(X)) -> active(U16(mark(X))) 177.19/63.28 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.19/63.28 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.19/63.28 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.19/63.28 mark(U23(X)) -> active(U23(mark(X))) 177.19/63.28 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.19/63.28 mark(U32(X)) -> active(U32(mark(X))) 177.19/63.28 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.19/63.28 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.19/63.28 active(U52(tt, N)) -> mark(N) 177.19/63.28 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.19/63.28 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.19/63.28 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.19/63.28 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.19/63.28 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.19/63.28 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.19/63.28 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.19/63.28 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.19/63.28 mark(s(X)) -> active(s(mark(X))) 177.19/63.28 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.19/63.28 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.19/63.28 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.19/63.28 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.19/63.28 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.19/63.28 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.19/63.28 mark(U41(X)) -> active(U41(mark(X))) 177.19/63.28 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.19/63.28 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.19/63.28 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.19/63.28 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.19/63.28 mark(isNatKind(X)) -> active(isNatKind(X)) 177.19/63.28 mark(isNat(X)) -> active(isNat(X)) 177.19/63.28 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.19/63.28 mark(tt) -> active(tt) 177.19/63.28 mark(0) -> active(0) 177.19/63.28 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.28 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.28 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.28 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.28 active(U16(tt)) -> mark(tt) 177.19/63.28 active(U23(tt)) -> mark(tt) 177.19/63.28 active(U32(tt)) -> mark(tt) 177.19/63.28 active(U41(tt)) -> mark(tt) 177.19/63.28 active(isNat(0)) -> mark(tt) 177.19/63.28 active(isNatKind(0)) -> mark(tt) 177.19/63.28 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.28 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.28 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.28 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.28 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.28 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.28 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.28 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.28 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.28 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.28 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.28 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.28 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.28 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.28 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.28 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.28 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.28 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.28 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.28 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.28 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.28 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.28 U16(active(X)) -> U16(X) 177.19/63.28 U16(mark(X)) -> U16(X) 177.19/63.28 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.28 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.28 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.28 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.28 U23(active(X)) -> U23(X) 177.19/63.28 U23(mark(X)) -> U23(X) 177.19/63.28 U32(active(X)) -> U32(X) 177.19/63.28 U32(mark(X)) -> U32(X) 177.19/63.28 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.28 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.28 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.28 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.28 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.28 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.28 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.28 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.28 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.28 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.28 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.28 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.28 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.28 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.28 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.28 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.28 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.19/63.28 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.28 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.19/63.28 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.28 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.19/63.28 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.19/63.28 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.19/63.28 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.28 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.19/63.28 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.28 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.19/63.28 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.19/63.28 s(active(X)) -> s(X) 177.19/63.28 s(mark(X)) -> s(X) 177.19/63.28 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.28 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.28 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.28 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.28 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.28 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.28 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.28 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.28 U41(active(X)) -> U41(X) 177.19/63.28 U41(mark(X)) -> U41(X) 177.19/63.28 U51(X1, mark(X2)) -> U51(X1, X2) 177.19/63.28 U51(mark(X1), X2) -> U51(X1, X2) 177.19/63.28 U51(active(X1), X2) -> U51(X1, X2) 177.19/63.28 U51(X1, active(X2)) -> U51(X1, X2) 177.19/63.28 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.28 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.28 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.28 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.28 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.28 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.28 177.19/63.28 The set Q consists of the following terms: 177.19/63.28 177.19/63.28 active(U11(tt, x0, x1)) 177.19/63.28 active(U12(tt, x0, x1)) 177.19/63.28 active(U13(tt, x0, x1)) 177.19/63.28 active(U14(tt, x0, x1)) 177.19/63.28 active(U15(tt, x0)) 177.19/63.28 active(U16(tt)) 177.19/63.28 active(U21(tt, x0)) 177.19/63.28 active(U22(tt, x0)) 177.19/63.28 active(U23(tt)) 177.19/63.28 active(U31(tt, x0)) 177.19/63.28 active(U32(tt)) 177.19/63.28 active(U41(tt)) 177.19/63.28 active(U51(tt, x0)) 177.19/63.28 active(U52(tt, x0)) 177.19/63.28 active(U61(tt, x0, x1)) 177.19/63.28 active(U62(tt, x0, x1)) 177.19/63.28 active(U63(tt, x0, x1)) 177.19/63.28 active(U64(tt, x0, x1)) 177.19/63.28 active(isNat(0)) 177.19/63.28 active(isNat(plus(x0, x1))) 177.19/63.28 active(isNat(s(x0))) 177.19/63.28 active(isNatKind(0)) 177.19/63.28 active(isNatKind(plus(x0, x1))) 177.19/63.28 active(isNatKind(s(x0))) 177.19/63.28 active(plus(x0, 0)) 177.19/63.28 active(plus(x0, s(x1))) 177.19/63.28 mark(U11(x0, x1, x2)) 177.19/63.28 mark(tt) 177.19/63.28 mark(U12(x0, x1, x2)) 177.19/63.28 mark(isNatKind(x0)) 177.19/63.28 mark(U13(x0, x1, x2)) 177.19/63.28 mark(U14(x0, x1, x2)) 177.19/63.28 mark(U15(x0, x1)) 177.19/63.28 mark(isNat(x0)) 177.19/63.28 mark(U16(x0)) 177.19/63.28 mark(U21(x0, x1)) 177.19/63.28 mark(U22(x0, x1)) 177.19/63.28 mark(U23(x0)) 177.19/63.28 mark(U31(x0, x1)) 177.19/63.28 mark(U32(x0)) 177.19/63.28 mark(U41(x0)) 177.19/63.28 mark(U51(x0, x1)) 177.19/63.28 mark(U52(x0, x1)) 177.19/63.28 mark(U61(x0, x1, x2)) 177.19/63.28 mark(U62(x0, x1, x2)) 177.19/63.28 mark(U63(x0, x1, x2)) 177.19/63.28 mark(U64(x0, x1, x2)) 177.19/63.28 mark(s(x0)) 177.19/63.28 mark(plus(x0, x1)) 177.19/63.28 mark(0) 177.19/63.28 U11(mark(x0), x1, x2) 177.19/63.28 U11(x0, mark(x1), x2) 177.19/63.28 U11(x0, x1, mark(x2)) 177.19/63.28 U11(active(x0), x1, x2) 177.19/63.28 U11(x0, active(x1), x2) 177.19/63.28 U11(x0, x1, active(x2)) 177.19/63.28 U12(mark(x0), x1, x2) 177.19/63.28 U12(x0, mark(x1), x2) 177.19/63.28 U12(x0, x1, mark(x2)) 177.19/63.28 U12(active(x0), x1, x2) 177.19/63.28 U12(x0, active(x1), x2) 177.19/63.28 U12(x0, x1, active(x2)) 177.19/63.28 isNatKind(mark(x0)) 177.19/63.28 isNatKind(active(x0)) 177.19/63.28 U13(mark(x0), x1, x2) 177.19/63.28 U13(x0, mark(x1), x2) 177.19/63.28 U13(x0, x1, mark(x2)) 177.19/63.28 U13(active(x0), x1, x2) 177.19/63.28 U13(x0, active(x1), x2) 177.19/63.28 U13(x0, x1, active(x2)) 177.19/63.28 U14(mark(x0), x1, x2) 177.19/63.28 U14(x0, mark(x1), x2) 177.19/63.28 U14(x0, x1, mark(x2)) 177.19/63.28 U14(active(x0), x1, x2) 177.19/63.28 U14(x0, active(x1), x2) 177.19/63.28 U14(x0, x1, active(x2)) 177.19/63.28 U15(mark(x0), x1) 177.19/63.28 U15(x0, mark(x1)) 177.19/63.28 U15(active(x0), x1) 177.19/63.28 U15(x0, active(x1)) 177.19/63.28 isNat(mark(x0)) 177.19/63.28 isNat(active(x0)) 177.19/63.28 U16(mark(x0)) 177.19/63.28 U16(active(x0)) 177.19/63.28 U21(mark(x0), x1) 177.19/63.28 U21(x0, mark(x1)) 177.19/63.28 U21(active(x0), x1) 177.19/63.28 U21(x0, active(x1)) 177.19/63.28 U22(mark(x0), x1) 177.19/63.28 U22(x0, mark(x1)) 177.19/63.28 U22(active(x0), x1) 177.19/63.28 U22(x0, active(x1)) 177.19/63.28 U23(mark(x0)) 177.19/63.28 U23(active(x0)) 177.19/63.28 U31(mark(x0), x1) 177.19/63.28 U31(x0, mark(x1)) 177.19/63.28 U31(active(x0), x1) 177.19/63.28 U31(x0, active(x1)) 177.19/63.28 U32(mark(x0)) 177.19/63.28 U32(active(x0)) 177.19/63.28 U41(mark(x0)) 177.19/63.28 U41(active(x0)) 177.19/63.28 U51(mark(x0), x1) 177.19/63.28 U51(x0, mark(x1)) 177.19/63.28 U51(active(x0), x1) 177.19/63.28 U51(x0, active(x1)) 177.19/63.28 U52(mark(x0), x1) 177.19/63.28 U52(x0, mark(x1)) 177.19/63.28 U52(active(x0), x1) 177.19/63.28 U52(x0, active(x1)) 177.19/63.28 U61(mark(x0), x1, x2) 177.19/63.28 U61(x0, mark(x1), x2) 177.19/63.28 U61(x0, x1, mark(x2)) 177.19/63.28 U61(active(x0), x1, x2) 177.19/63.28 U61(x0, active(x1), x2) 177.19/63.28 U61(x0, x1, active(x2)) 177.19/63.28 U62(mark(x0), x1, x2) 177.19/63.28 U62(x0, mark(x1), x2) 177.19/63.28 U62(x0, x1, mark(x2)) 177.19/63.28 U62(active(x0), x1, x2) 177.19/63.28 U62(x0, active(x1), x2) 177.19/63.28 U62(x0, x1, active(x2)) 177.19/63.28 U63(mark(x0), x1, x2) 177.19/63.28 U63(x0, mark(x1), x2) 177.19/63.28 U63(x0, x1, mark(x2)) 177.19/63.28 U63(active(x0), x1, x2) 177.19/63.28 U63(x0, active(x1), x2) 177.19/63.28 U63(x0, x1, active(x2)) 177.19/63.28 U64(mark(x0), x1, x2) 177.19/63.28 U64(x0, mark(x1), x2) 177.19/63.28 U64(x0, x1, mark(x2)) 177.19/63.28 U64(active(x0), x1, x2) 177.19/63.28 U64(x0, active(x1), x2) 177.19/63.28 U64(x0, x1, active(x2)) 177.19/63.28 s(mark(x0)) 177.19/63.28 s(active(x0)) 177.19/63.28 plus(mark(x0), x1) 177.19/63.28 plus(x0, mark(x1)) 177.19/63.28 plus(active(x0), x1) 177.19/63.28 plus(x0, active(x1)) 177.19/63.28 177.19/63.28 We have to consider all minimal (P,Q,R)-chains. 177.19/63.28 ---------------------------------------- 177.19/63.28 177.19/63.28 (188) QDPQMonotonicMRRProof (EQUIVALENT) 177.19/63.28 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. 177.19/63.28 177.19/63.28 Strictly oriented dependency pairs: 177.19/63.28 177.19/63.28 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 177.19/63.28 177.19/63.28 177.19/63.28 Used ordering: Polynomial interpretation [POLO]: 177.19/63.28 177.19/63.28 POL(0) = 0 177.19/63.28 POL(ACTIVE(x_1)) = 2*x_1 177.19/63.28 POL(MARK(x_1)) = 2 177.19/63.28 POL(U11(x_1, x_2, x_3)) = 1 177.19/63.28 POL(U12(x_1, x_2, x_3)) = 1 177.19/63.28 POL(U13(x_1, x_2, x_3)) = 1 177.19/63.28 POL(U14(x_1, x_2, x_3)) = 1 177.19/63.28 POL(U15(x_1, x_2)) = 1 177.19/63.28 POL(U16(x_1)) = 0 177.19/63.28 POL(U21(x_1, x_2)) = 1 177.19/63.28 POL(U22(x_1, x_2)) = 1 177.19/63.28 POL(U23(x_1)) = 0 177.19/63.28 POL(U31(x_1, x_2)) = 1 177.19/63.28 POL(U32(x_1)) = 0 177.19/63.28 POL(U41(x_1)) = 0 177.19/63.28 POL(U51(x_1, x_2)) = 0 177.19/63.28 POL(U52(x_1, x_2)) = 1 177.19/63.28 POL(U61(x_1, x_2, x_3)) = 0 177.19/63.28 POL(U62(x_1, x_2, x_3)) = 0 177.19/63.28 POL(U63(x_1, x_2, x_3)) = 0 177.19/63.28 POL(U64(x_1, x_2, x_3)) = 0 177.19/63.28 POL(active(x_1)) = 0 177.19/63.28 POL(isNat(x_1)) = 1 177.19/63.28 POL(isNatKind(x_1)) = 1 177.19/63.28 POL(mark(x_1)) = 0 177.19/63.28 POL(plus(x_1, x_2)) = 0 177.19/63.28 POL(s(x_1)) = 0 177.19/63.28 POL(tt) = 0 177.19/63.28 177.19/63.28 177.19/63.28 ---------------------------------------- 177.19/63.28 177.19/63.28 (189) 177.19/63.28 Obligation: 177.19/63.28 Q DP problem: 177.19/63.28 The TRS P consists of the following rules: 177.19/63.28 177.19/63.28 ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) 177.19/63.28 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 177.19/63.28 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.19/63.28 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.19/63.28 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.19/63.28 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.19/63.28 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.19/63.28 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.19/63.28 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.19/63.28 MARK(U16(X)) -> MARK(X) 177.19/63.28 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.19/63.28 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 177.19/63.28 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 177.19/63.28 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 177.19/63.28 MARK(U23(X)) -> MARK(X) 177.19/63.28 MARK(U11(X1, X2, X3)) -> MARK(X1) 177.19/63.28 MARK(U12(X1, X2, X3)) -> MARK(X1) 177.19/63.28 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.19/63.28 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.19/63.28 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.19/63.28 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.19/63.28 MARK(U32(X)) -> MARK(X) 177.19/63.28 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.19/63.28 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.19/63.28 MARK(U15(X1, X2)) -> MARK(X1) 177.19/63.28 MARK(isNat(X)) -> ACTIVE(isNat(X)) 177.19/63.28 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) 177.19/63.28 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 177.19/63.28 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 177.19/63.28 ACTIVE(U52(tt, N)) -> MARK(N) 177.19/63.28 MARK(U21(X1, X2)) -> MARK(X1) 177.19/63.28 MARK(U22(X1, X2)) -> MARK(X1) 177.19/63.28 MARK(U31(X1, X2)) -> MARK(X1) 177.19/63.28 MARK(U41(X)) -> MARK(X) 177.19/63.28 MARK(U52(X1, X2)) -> ACTIVE(U52(mark(X1), X2)) 177.19/63.28 MARK(U52(X1, X2)) -> MARK(X1) 177.19/63.28 MARK(plus(X1, X2)) -> MARK(X1) 177.19/63.28 MARK(plus(X1, X2)) -> MARK(X2) 177.19/63.28 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.19/63.28 177.19/63.28 The TRS R consists of the following rules: 177.19/63.28 177.19/63.28 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.19/63.28 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.19/63.28 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.19/63.28 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.19/63.28 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.19/63.28 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.19/63.28 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.19/63.28 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.19/63.28 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.19/63.28 mark(U16(X)) -> active(U16(mark(X))) 177.19/63.28 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.19/63.28 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.19/63.28 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.19/63.28 mark(U23(X)) -> active(U23(mark(X))) 177.19/63.28 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.19/63.28 mark(U32(X)) -> active(U32(mark(X))) 177.19/63.28 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.19/63.28 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.19/63.28 active(U52(tt, N)) -> mark(N) 177.19/63.28 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.19/63.28 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.19/63.28 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.19/63.28 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.19/63.28 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.19/63.28 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.19/63.28 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.19/63.28 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.19/63.28 mark(s(X)) -> active(s(mark(X))) 177.19/63.28 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.19/63.28 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.19/63.28 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.19/63.28 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.19/63.28 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.19/63.28 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.19/63.28 mark(U41(X)) -> active(U41(mark(X))) 177.19/63.28 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.19/63.28 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.19/63.28 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.19/63.28 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.19/63.28 mark(isNatKind(X)) -> active(isNatKind(X)) 177.19/63.28 mark(isNat(X)) -> active(isNat(X)) 177.19/63.28 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.19/63.28 mark(tt) -> active(tt) 177.19/63.28 mark(0) -> active(0) 177.19/63.28 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.28 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.28 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.28 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.28 active(U16(tt)) -> mark(tt) 177.19/63.28 active(U23(tt)) -> mark(tt) 177.19/63.28 active(U32(tt)) -> mark(tt) 177.19/63.28 active(U41(tt)) -> mark(tt) 177.19/63.28 active(isNat(0)) -> mark(tt) 177.19/63.28 active(isNatKind(0)) -> mark(tt) 177.19/63.28 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.28 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.28 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.28 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.28 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.28 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.28 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.28 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.28 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.28 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.28 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.28 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.28 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.28 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.28 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.28 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.28 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.28 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.28 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.28 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.28 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.28 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.28 U16(active(X)) -> U16(X) 177.19/63.28 U16(mark(X)) -> U16(X) 177.19/63.28 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.28 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.28 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.28 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.28 U23(active(X)) -> U23(X) 177.19/63.28 U23(mark(X)) -> U23(X) 177.19/63.28 U32(active(X)) -> U32(X) 177.19/63.28 U32(mark(X)) -> U32(X) 177.19/63.28 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.28 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.28 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.28 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.28 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.28 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.28 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.28 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.28 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.28 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.28 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.28 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.28 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.28 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.28 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.28 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.28 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.19/63.28 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.28 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.19/63.28 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.28 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.19/63.28 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.19/63.28 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.19/63.28 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.28 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.19/63.28 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.28 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.19/63.28 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.19/63.28 s(active(X)) -> s(X) 177.19/63.28 s(mark(X)) -> s(X) 177.19/63.28 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.28 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.28 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.28 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.28 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.28 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.28 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.28 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.28 U41(active(X)) -> U41(X) 177.19/63.28 U41(mark(X)) -> U41(X) 177.19/63.28 U51(X1, mark(X2)) -> U51(X1, X2) 177.19/63.28 U51(mark(X1), X2) -> U51(X1, X2) 177.19/63.28 U51(active(X1), X2) -> U51(X1, X2) 177.19/63.28 U51(X1, active(X2)) -> U51(X1, X2) 177.19/63.28 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.28 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.28 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.28 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.28 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.28 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.28 177.19/63.28 The set Q consists of the following terms: 177.19/63.28 177.19/63.28 active(U11(tt, x0, x1)) 177.19/63.28 active(U12(tt, x0, x1)) 177.19/63.28 active(U13(tt, x0, x1)) 177.19/63.28 active(U14(tt, x0, x1)) 177.19/63.28 active(U15(tt, x0)) 177.19/63.28 active(U16(tt)) 177.19/63.28 active(U21(tt, x0)) 177.19/63.28 active(U22(tt, x0)) 177.19/63.28 active(U23(tt)) 177.19/63.28 active(U31(tt, x0)) 177.19/63.28 active(U32(tt)) 177.19/63.28 active(U41(tt)) 177.19/63.28 active(U51(tt, x0)) 177.19/63.28 active(U52(tt, x0)) 177.19/63.28 active(U61(tt, x0, x1)) 177.19/63.28 active(U62(tt, x0, x1)) 177.19/63.28 active(U63(tt, x0, x1)) 177.19/63.28 active(U64(tt, x0, x1)) 177.19/63.28 active(isNat(0)) 177.19/63.28 active(isNat(plus(x0, x1))) 177.19/63.28 active(isNat(s(x0))) 177.19/63.28 active(isNatKind(0)) 177.19/63.28 active(isNatKind(plus(x0, x1))) 177.19/63.28 active(isNatKind(s(x0))) 177.19/63.28 active(plus(x0, 0)) 177.19/63.28 active(plus(x0, s(x1))) 177.19/63.28 mark(U11(x0, x1, x2)) 177.19/63.28 mark(tt) 177.19/63.28 mark(U12(x0, x1, x2)) 177.19/63.28 mark(isNatKind(x0)) 177.19/63.28 mark(U13(x0, x1, x2)) 177.19/63.28 mark(U14(x0, x1, x2)) 177.19/63.28 mark(U15(x0, x1)) 177.19/63.28 mark(isNat(x0)) 177.19/63.28 mark(U16(x0)) 177.19/63.28 mark(U21(x0, x1)) 177.19/63.28 mark(U22(x0, x1)) 177.19/63.28 mark(U23(x0)) 177.19/63.28 mark(U31(x0, x1)) 177.19/63.28 mark(U32(x0)) 177.19/63.28 mark(U41(x0)) 177.19/63.28 mark(U51(x0, x1)) 177.19/63.28 mark(U52(x0, x1)) 177.19/63.28 mark(U61(x0, x1, x2)) 177.19/63.28 mark(U62(x0, x1, x2)) 177.19/63.28 mark(U63(x0, x1, x2)) 177.19/63.28 mark(U64(x0, x1, x2)) 177.19/63.28 mark(s(x0)) 177.19/63.28 mark(plus(x0, x1)) 177.19/63.28 mark(0) 177.19/63.28 U11(mark(x0), x1, x2) 177.19/63.28 U11(x0, mark(x1), x2) 177.19/63.28 U11(x0, x1, mark(x2)) 177.19/63.28 U11(active(x0), x1, x2) 177.19/63.28 U11(x0, active(x1), x2) 177.19/63.28 U11(x0, x1, active(x2)) 177.19/63.28 U12(mark(x0), x1, x2) 177.19/63.28 U12(x0, mark(x1), x2) 177.19/63.28 U12(x0, x1, mark(x2)) 177.19/63.28 U12(active(x0), x1, x2) 177.19/63.28 U12(x0, active(x1), x2) 177.19/63.28 U12(x0, x1, active(x2)) 177.19/63.28 isNatKind(mark(x0)) 177.19/63.28 isNatKind(active(x0)) 177.19/63.28 U13(mark(x0), x1, x2) 177.19/63.28 U13(x0, mark(x1), x2) 177.19/63.28 U13(x0, x1, mark(x2)) 177.19/63.28 U13(active(x0), x1, x2) 177.19/63.28 U13(x0, active(x1), x2) 177.19/63.28 U13(x0, x1, active(x2)) 177.19/63.28 U14(mark(x0), x1, x2) 177.19/63.28 U14(x0, mark(x1), x2) 177.19/63.28 U14(x0, x1, mark(x2)) 177.19/63.28 U14(active(x0), x1, x2) 177.19/63.28 U14(x0, active(x1), x2) 177.19/63.28 U14(x0, x1, active(x2)) 177.19/63.28 U15(mark(x0), x1) 177.19/63.28 U15(x0, mark(x1)) 177.19/63.28 U15(active(x0), x1) 177.19/63.28 U15(x0, active(x1)) 177.19/63.28 isNat(mark(x0)) 177.19/63.28 isNat(active(x0)) 177.19/63.28 U16(mark(x0)) 177.19/63.28 U16(active(x0)) 177.19/63.28 U21(mark(x0), x1) 177.19/63.28 U21(x0, mark(x1)) 177.19/63.28 U21(active(x0), x1) 177.19/63.28 U21(x0, active(x1)) 177.19/63.28 U22(mark(x0), x1) 177.19/63.28 U22(x0, mark(x1)) 177.19/63.28 U22(active(x0), x1) 177.19/63.28 U22(x0, active(x1)) 177.19/63.28 U23(mark(x0)) 177.19/63.28 U23(active(x0)) 177.19/63.28 U31(mark(x0), x1) 177.19/63.28 U31(x0, mark(x1)) 177.19/63.28 U31(active(x0), x1) 177.19/63.28 U31(x0, active(x1)) 177.19/63.28 U32(mark(x0)) 177.19/63.28 U32(active(x0)) 177.19/63.28 U41(mark(x0)) 177.19/63.28 U41(active(x0)) 177.19/63.28 U51(mark(x0), x1) 177.19/63.28 U51(x0, mark(x1)) 177.19/63.28 U51(active(x0), x1) 177.19/63.28 U51(x0, active(x1)) 177.19/63.28 U52(mark(x0), x1) 177.19/63.28 U52(x0, mark(x1)) 177.19/63.28 U52(active(x0), x1) 177.19/63.28 U52(x0, active(x1)) 177.19/63.28 U61(mark(x0), x1, x2) 177.19/63.28 U61(x0, mark(x1), x2) 177.19/63.28 U61(x0, x1, mark(x2)) 177.19/63.28 U61(active(x0), x1, x2) 177.19/63.28 U61(x0, active(x1), x2) 177.19/63.28 U61(x0, x1, active(x2)) 177.19/63.28 U62(mark(x0), x1, x2) 177.19/63.28 U62(x0, mark(x1), x2) 177.19/63.28 U62(x0, x1, mark(x2)) 177.19/63.28 U62(active(x0), x1, x2) 177.19/63.28 U62(x0, active(x1), x2) 177.19/63.28 U62(x0, x1, active(x2)) 177.19/63.28 U63(mark(x0), x1, x2) 177.19/63.28 U63(x0, mark(x1), x2) 177.19/63.28 U63(x0, x1, mark(x2)) 177.19/63.28 U63(active(x0), x1, x2) 177.19/63.28 U63(x0, active(x1), x2) 177.19/63.28 U63(x0, x1, active(x2)) 177.19/63.28 U64(mark(x0), x1, x2) 177.19/63.28 U64(x0, mark(x1), x2) 177.19/63.28 U64(x0, x1, mark(x2)) 177.19/63.28 U64(active(x0), x1, x2) 177.19/63.28 U64(x0, active(x1), x2) 177.19/63.28 U64(x0, x1, active(x2)) 177.19/63.28 s(mark(x0)) 177.19/63.28 s(active(x0)) 177.19/63.28 plus(mark(x0), x1) 177.19/63.28 plus(x0, mark(x1)) 177.19/63.28 plus(active(x0), x1) 177.19/63.28 plus(x0, active(x1)) 177.19/63.28 177.19/63.28 We have to consider all minimal (P,Q,R)-chains. 177.19/63.28 ---------------------------------------- 177.19/63.28 177.19/63.28 (190) QDPQMonotonicMRRProof (EQUIVALENT) 177.19/63.28 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. 177.19/63.29 177.19/63.29 Strictly oriented dependency pairs: 177.19/63.29 177.19/63.29 ACTIVE(U52(tt, N)) -> MARK(N) 177.19/63.29 MARK(U52(X1, X2)) -> MARK(X1) 177.19/63.29 177.19/63.29 177.19/63.29 Used ordering: Polynomial interpretation [POLO]: 177.19/63.29 177.19/63.29 POL(0) = 2 177.19/63.29 POL(ACTIVE(x_1)) = x_1 177.19/63.29 POL(MARK(x_1)) = x_1 177.19/63.29 POL(U11(x_1, x_2, x_3)) = 2*x_1 177.19/63.29 POL(U12(x_1, x_2, x_3)) = 2*x_1 177.19/63.29 POL(U13(x_1, x_2, x_3)) = 2*x_1 177.19/63.29 POL(U14(x_1, x_2, x_3)) = 2*x_1 177.19/63.29 POL(U15(x_1, x_2)) = 2*x_1 177.19/63.29 POL(U16(x_1)) = 2*x_1 177.19/63.29 POL(U21(x_1, x_2)) = 2*x_1 177.19/63.29 POL(U22(x_1, x_2)) = 2*x_1 177.19/63.29 POL(U23(x_1)) = 2*x_1 177.19/63.29 POL(U31(x_1, x_2)) = 2*x_1 177.19/63.29 POL(U32(x_1)) = 2*x_1 177.19/63.29 POL(U41(x_1)) = x_1 177.19/63.29 POL(U51(x_1, x_2)) = 2 + x_2 177.19/63.29 POL(U52(x_1, x_2)) = 1 + 2*x_1 + x_2 177.19/63.29 POL(U61(x_1, x_2, x_3)) = 0 177.19/63.29 POL(U62(x_1, x_2, x_3)) = 0 177.19/63.29 POL(U63(x_1, x_2, x_3)) = 0 177.19/63.29 POL(U64(x_1, x_2, x_3)) = 0 177.19/63.29 POL(active(x_1)) = x_1 177.19/63.29 POL(isNat(x_1)) = 0 177.19/63.29 POL(isNatKind(x_1)) = 0 177.19/63.29 POL(mark(x_1)) = x_1 177.19/63.29 POL(plus(x_1, x_2)) = x_1 + x_2 177.19/63.29 POL(s(x_1)) = 0 177.19/63.29 POL(tt) = 0 177.19/63.29 177.19/63.29 177.19/63.29 ---------------------------------------- 177.19/63.29 177.19/63.29 (191) 177.19/63.29 Obligation: 177.19/63.29 Q DP problem: 177.19/63.29 The TRS P consists of the following rules: 177.19/63.29 177.19/63.29 ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) 177.19/63.29 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 177.19/63.29 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.19/63.29 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.19/63.29 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.19/63.29 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.19/63.29 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.19/63.29 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.19/63.29 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.19/63.29 MARK(U16(X)) -> MARK(X) 177.19/63.29 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.19/63.29 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 177.19/63.29 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 177.19/63.29 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 177.19/63.29 MARK(U23(X)) -> MARK(X) 177.19/63.29 MARK(U11(X1, X2, X3)) -> MARK(X1) 177.19/63.29 MARK(U12(X1, X2, X3)) -> MARK(X1) 177.19/63.29 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.19/63.29 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.19/63.29 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.19/63.29 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.19/63.29 MARK(U32(X)) -> MARK(X) 177.19/63.29 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.19/63.29 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.19/63.29 MARK(U15(X1, X2)) -> MARK(X1) 177.19/63.29 MARK(isNat(X)) -> ACTIVE(isNat(X)) 177.19/63.29 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) 177.19/63.29 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 177.19/63.29 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 177.19/63.29 MARK(U21(X1, X2)) -> MARK(X1) 177.19/63.29 MARK(U22(X1, X2)) -> MARK(X1) 177.19/63.29 MARK(U31(X1, X2)) -> MARK(X1) 177.19/63.29 MARK(U41(X)) -> MARK(X) 177.19/63.29 MARK(U52(X1, X2)) -> ACTIVE(U52(mark(X1), X2)) 177.19/63.29 MARK(plus(X1, X2)) -> MARK(X1) 177.19/63.29 MARK(plus(X1, X2)) -> MARK(X2) 177.19/63.29 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.19/63.29 177.19/63.29 The TRS R consists of the following rules: 177.19/63.29 177.19/63.29 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.19/63.29 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.19/63.29 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.19/63.29 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.19/63.29 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.19/63.29 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.19/63.29 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.19/63.29 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.19/63.29 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.19/63.29 mark(U16(X)) -> active(U16(mark(X))) 177.19/63.29 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.19/63.29 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.19/63.29 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.19/63.29 mark(U23(X)) -> active(U23(mark(X))) 177.19/63.29 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.19/63.29 mark(U32(X)) -> active(U32(mark(X))) 177.19/63.29 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.19/63.29 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.19/63.29 active(U52(tt, N)) -> mark(N) 177.19/63.29 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.19/63.29 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.19/63.29 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.19/63.29 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.19/63.29 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.19/63.29 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.19/63.29 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.19/63.29 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.19/63.29 mark(s(X)) -> active(s(mark(X))) 177.19/63.29 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.19/63.29 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.19/63.29 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.19/63.29 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.19/63.29 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.19/63.29 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.19/63.29 mark(U41(X)) -> active(U41(mark(X))) 177.19/63.29 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.19/63.29 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.19/63.29 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.19/63.29 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.19/63.29 mark(isNatKind(X)) -> active(isNatKind(X)) 177.19/63.29 mark(isNat(X)) -> active(isNat(X)) 177.19/63.29 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.19/63.29 mark(tt) -> active(tt) 177.19/63.29 mark(0) -> active(0) 177.19/63.29 plus(X1, mark(X2)) -> plus(X1, X2) 177.19/63.29 plus(mark(X1), X2) -> plus(X1, X2) 177.19/63.29 plus(active(X1), X2) -> plus(X1, X2) 177.19/63.29 plus(X1, active(X2)) -> plus(X1, X2) 177.19/63.29 active(U16(tt)) -> mark(tt) 177.19/63.29 active(U23(tt)) -> mark(tt) 177.19/63.29 active(U32(tt)) -> mark(tt) 177.19/63.29 active(U41(tt)) -> mark(tt) 177.19/63.29 active(isNat(0)) -> mark(tt) 177.19/63.29 active(isNatKind(0)) -> mark(tt) 177.19/63.29 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.19/63.29 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.29 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.19/63.29 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.19/63.29 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.19/63.29 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.19/63.29 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.19/63.29 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.29 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.19/63.29 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.19/63.29 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.19/63.29 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.19/63.29 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.19/63.29 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.29 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.19/63.29 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.19/63.29 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.19/63.29 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.19/63.29 U15(X1, mark(X2)) -> U15(X1, X2) 177.19/63.29 U15(mark(X1), X2) -> U15(X1, X2) 177.19/63.29 U15(active(X1), X2) -> U15(X1, X2) 177.19/63.29 U15(X1, active(X2)) -> U15(X1, X2) 177.19/63.29 U16(active(X)) -> U16(X) 177.19/63.29 U16(mark(X)) -> U16(X) 177.19/63.29 U22(X1, mark(X2)) -> U22(X1, X2) 177.19/63.29 U22(mark(X1), X2) -> U22(X1, X2) 177.19/63.29 U22(active(X1), X2) -> U22(X1, X2) 177.19/63.29 U22(X1, active(X2)) -> U22(X1, X2) 177.19/63.29 U23(active(X)) -> U23(X) 177.19/63.29 U23(mark(X)) -> U23(X) 177.19/63.29 U32(active(X)) -> U32(X) 177.19/63.29 U32(mark(X)) -> U32(X) 177.19/63.29 U52(X1, mark(X2)) -> U52(X1, X2) 177.19/63.29 U52(mark(X1), X2) -> U52(X1, X2) 177.19/63.29 U52(active(X1), X2) -> U52(X1, X2) 177.19/63.29 U52(X1, active(X2)) -> U52(X1, X2) 177.19/63.29 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.19/63.29 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.29 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.19/63.29 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.19/63.29 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.19/63.29 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.19/63.29 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.19/63.29 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.29 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.19/63.29 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.19/63.29 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.19/63.29 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.19/63.29 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.19/63.29 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.29 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.19/63.29 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.19/63.29 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.19/63.29 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.19/63.29 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.19/63.29 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.29 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.19/63.29 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.19/63.29 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.19/63.29 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.19/63.29 s(active(X)) -> s(X) 177.19/63.29 s(mark(X)) -> s(X) 177.19/63.29 U21(X1, mark(X2)) -> U21(X1, X2) 177.19/63.29 U21(mark(X1), X2) -> U21(X1, X2) 177.19/63.29 U21(active(X1), X2) -> U21(X1, X2) 177.19/63.29 U21(X1, active(X2)) -> U21(X1, X2) 177.19/63.29 U31(X1, mark(X2)) -> U31(X1, X2) 177.19/63.29 U31(mark(X1), X2) -> U31(X1, X2) 177.19/63.29 U31(active(X1), X2) -> U31(X1, X2) 177.19/63.29 U31(X1, active(X2)) -> U31(X1, X2) 177.19/63.29 U41(active(X)) -> U41(X) 177.19/63.29 U41(mark(X)) -> U41(X) 177.19/63.29 U51(X1, mark(X2)) -> U51(X1, X2) 177.19/63.29 U51(mark(X1), X2) -> U51(X1, X2) 177.19/63.29 U51(active(X1), X2) -> U51(X1, X2) 177.19/63.29 U51(X1, active(X2)) -> U51(X1, X2) 177.19/63.29 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.19/63.29 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.29 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.19/63.29 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.19/63.29 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.19/63.29 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.19/63.29 177.19/63.29 The set Q consists of the following terms: 177.19/63.29 177.19/63.29 active(U11(tt, x0, x1)) 177.19/63.29 active(U12(tt, x0, x1)) 177.19/63.29 active(U13(tt, x0, x1)) 177.19/63.29 active(U14(tt, x0, x1)) 177.19/63.29 active(U15(tt, x0)) 177.19/63.29 active(U16(tt)) 177.19/63.29 active(U21(tt, x0)) 177.19/63.29 active(U22(tt, x0)) 177.19/63.29 active(U23(tt)) 177.19/63.29 active(U31(tt, x0)) 177.19/63.29 active(U32(tt)) 177.19/63.29 active(U41(tt)) 177.19/63.29 active(U51(tt, x0)) 177.19/63.29 active(U52(tt, x0)) 177.19/63.29 active(U61(tt, x0, x1)) 177.19/63.29 active(U62(tt, x0, x1)) 177.19/63.29 active(U63(tt, x0, x1)) 177.19/63.29 active(U64(tt, x0, x1)) 177.19/63.29 active(isNat(0)) 177.19/63.29 active(isNat(plus(x0, x1))) 177.19/63.29 active(isNat(s(x0))) 177.19/63.29 active(isNatKind(0)) 177.19/63.29 active(isNatKind(plus(x0, x1))) 177.19/63.29 active(isNatKind(s(x0))) 177.19/63.29 active(plus(x0, 0)) 177.19/63.29 active(plus(x0, s(x1))) 177.19/63.29 mark(U11(x0, x1, x2)) 177.19/63.29 mark(tt) 177.19/63.29 mark(U12(x0, x1, x2)) 177.19/63.29 mark(isNatKind(x0)) 177.19/63.29 mark(U13(x0, x1, x2)) 177.19/63.29 mark(U14(x0, x1, x2)) 177.19/63.29 mark(U15(x0, x1)) 177.19/63.29 mark(isNat(x0)) 177.19/63.29 mark(U16(x0)) 177.19/63.29 mark(U21(x0, x1)) 177.19/63.29 mark(U22(x0, x1)) 177.19/63.29 mark(U23(x0)) 177.19/63.29 mark(U31(x0, x1)) 177.19/63.29 mark(U32(x0)) 177.19/63.29 mark(U41(x0)) 177.19/63.29 mark(U51(x0, x1)) 177.19/63.29 mark(U52(x0, x1)) 177.19/63.29 mark(U61(x0, x1, x2)) 177.19/63.29 mark(U62(x0, x1, x2)) 177.19/63.29 mark(U63(x0, x1, x2)) 177.19/63.29 mark(U64(x0, x1, x2)) 177.19/63.29 mark(s(x0)) 177.19/63.29 mark(plus(x0, x1)) 177.19/63.29 mark(0) 177.19/63.29 U11(mark(x0), x1, x2) 177.19/63.29 U11(x0, mark(x1), x2) 177.19/63.29 U11(x0, x1, mark(x2)) 177.19/63.29 U11(active(x0), x1, x2) 177.19/63.29 U11(x0, active(x1), x2) 177.19/63.29 U11(x0, x1, active(x2)) 177.19/63.29 U12(mark(x0), x1, x2) 177.19/63.29 U12(x0, mark(x1), x2) 177.19/63.29 U12(x0, x1, mark(x2)) 177.19/63.29 U12(active(x0), x1, x2) 177.19/63.29 U12(x0, active(x1), x2) 177.19/63.29 U12(x0, x1, active(x2)) 177.19/63.29 isNatKind(mark(x0)) 177.19/63.29 isNatKind(active(x0)) 177.19/63.29 U13(mark(x0), x1, x2) 177.19/63.29 U13(x0, mark(x1), x2) 177.19/63.29 U13(x0, x1, mark(x2)) 177.19/63.29 U13(active(x0), x1, x2) 177.19/63.29 U13(x0, active(x1), x2) 177.19/63.29 U13(x0, x1, active(x2)) 177.19/63.29 U14(mark(x0), x1, x2) 177.19/63.29 U14(x0, mark(x1), x2) 177.19/63.29 U14(x0, x1, mark(x2)) 177.19/63.29 U14(active(x0), x1, x2) 177.19/63.29 U14(x0, active(x1), x2) 177.19/63.29 U14(x0, x1, active(x2)) 177.19/63.29 U15(mark(x0), x1) 177.19/63.29 U15(x0, mark(x1)) 177.19/63.29 U15(active(x0), x1) 177.19/63.29 U15(x0, active(x1)) 177.19/63.29 isNat(mark(x0)) 177.19/63.29 isNat(active(x0)) 177.19/63.29 U16(mark(x0)) 177.19/63.29 U16(active(x0)) 177.19/63.29 U21(mark(x0), x1) 177.19/63.29 U21(x0, mark(x1)) 177.19/63.29 U21(active(x0), x1) 177.19/63.29 U21(x0, active(x1)) 177.19/63.29 U22(mark(x0), x1) 177.19/63.29 U22(x0, mark(x1)) 177.19/63.29 U22(active(x0), x1) 177.19/63.29 U22(x0, active(x1)) 177.19/63.29 U23(mark(x0)) 177.19/63.29 U23(active(x0)) 177.19/63.29 U31(mark(x0), x1) 177.19/63.29 U31(x0, mark(x1)) 177.19/63.29 U31(active(x0), x1) 177.19/63.29 U31(x0, active(x1)) 177.19/63.29 U32(mark(x0)) 177.19/63.29 U32(active(x0)) 177.19/63.29 U41(mark(x0)) 177.19/63.29 U41(active(x0)) 177.19/63.29 U51(mark(x0), x1) 177.19/63.29 U51(x0, mark(x1)) 177.19/63.29 U51(active(x0), x1) 177.19/63.29 U51(x0, active(x1)) 177.19/63.29 U52(mark(x0), x1) 177.19/63.29 U52(x0, mark(x1)) 177.19/63.29 U52(active(x0), x1) 177.19/63.29 U52(x0, active(x1)) 177.19/63.29 U61(mark(x0), x1, x2) 177.19/63.29 U61(x0, mark(x1), x2) 177.19/63.29 U61(x0, x1, mark(x2)) 177.19/63.29 U61(active(x0), x1, x2) 177.19/63.29 U61(x0, active(x1), x2) 177.19/63.29 U61(x0, x1, active(x2)) 177.19/63.29 U62(mark(x0), x1, x2) 177.19/63.29 U62(x0, mark(x1), x2) 177.19/63.29 U62(x0, x1, mark(x2)) 177.19/63.29 U62(active(x0), x1, x2) 177.19/63.29 U62(x0, active(x1), x2) 177.19/63.29 U62(x0, x1, active(x2)) 177.19/63.29 U63(mark(x0), x1, x2) 177.19/63.29 U63(x0, mark(x1), x2) 177.19/63.29 U63(x0, x1, mark(x2)) 177.19/63.29 U63(active(x0), x1, x2) 177.19/63.29 U63(x0, active(x1), x2) 177.19/63.29 U63(x0, x1, active(x2)) 177.19/63.29 U64(mark(x0), x1, x2) 177.19/63.29 U64(x0, mark(x1), x2) 177.19/63.29 U64(x0, x1, mark(x2)) 177.19/63.29 U64(active(x0), x1, x2) 177.19/63.29 U64(x0, active(x1), x2) 177.19/63.29 U64(x0, x1, active(x2)) 177.19/63.29 s(mark(x0)) 177.19/63.29 s(active(x0)) 177.19/63.29 plus(mark(x0), x1) 177.19/63.29 plus(x0, mark(x1)) 177.19/63.29 plus(active(x0), x1) 177.19/63.29 plus(x0, active(x1)) 177.19/63.29 177.19/63.29 We have to consider all minimal (P,Q,R)-chains. 177.19/63.29 ---------------------------------------- 177.19/63.29 177.19/63.29 (192) QDPQMonotonicMRRProof (EQUIVALENT) 177.19/63.29 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. 177.19/63.29 177.19/63.29 Strictly oriented dependency pairs: 177.19/63.29 177.19/63.29 MARK(U52(X1, X2)) -> ACTIVE(U52(mark(X1), X2)) 177.19/63.29 177.19/63.29 177.19/63.29 Used ordering: Polynomial interpretation [POLO]: 177.19/63.29 177.19/63.29 POL(0) = 0 177.19/63.29 POL(ACTIVE(x_1)) = x_1 177.19/63.29 POL(MARK(x_1)) = 1 177.19/63.29 POL(U11(x_1, x_2, x_3)) = 1 177.19/63.29 POL(U12(x_1, x_2, x_3)) = 1 177.19/63.29 POL(U13(x_1, x_2, x_3)) = 1 177.19/63.29 POL(U14(x_1, x_2, x_3)) = 1 177.19/63.29 POL(U15(x_1, x_2)) = 1 177.19/63.29 POL(U16(x_1)) = 0 177.19/63.29 POL(U21(x_1, x_2)) = 1 177.19/63.29 POL(U22(x_1, x_2)) = 1 177.19/63.29 POL(U23(x_1)) = 0 177.19/63.29 POL(U31(x_1, x_2)) = 1 177.19/63.29 POL(U32(x_1)) = 0 177.19/63.29 POL(U41(x_1)) = 0 177.19/63.29 POL(U51(x_1, x_2)) = 0 177.19/63.29 POL(U52(x_1, x_2)) = 0 177.19/63.29 POL(U61(x_1, x_2, x_3)) = 0 177.19/63.29 POL(U62(x_1, x_2, x_3)) = 0 177.19/63.29 POL(U63(x_1, x_2, x_3)) = 0 177.33/63.29 POL(U64(x_1, x_2, x_3)) = 0 177.33/63.29 POL(active(x_1)) = 0 177.33/63.29 POL(isNat(x_1)) = 1 177.33/63.29 POL(isNatKind(x_1)) = 1 177.33/63.29 POL(mark(x_1)) = 0 177.33/63.29 POL(plus(x_1, x_2)) = 0 177.33/63.29 POL(s(x_1)) = 0 177.33/63.29 POL(tt) = 0 177.33/63.29 177.33/63.29 177.33/63.29 ---------------------------------------- 177.33/63.29 177.33/63.29 (193) 177.33/63.29 Obligation: 177.33/63.29 Q DP problem: 177.33/63.29 The TRS P consists of the following rules: 177.33/63.29 177.33/63.29 ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) 177.33/63.29 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 177.33/63.29 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.33/63.29 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.33/63.29 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.33/63.29 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.33/63.29 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.33/63.29 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.33/63.29 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.33/63.29 MARK(U16(X)) -> MARK(X) 177.33/63.29 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.33/63.29 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 177.33/63.29 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 177.33/63.29 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 177.33/63.29 MARK(U23(X)) -> MARK(X) 177.33/63.29 MARK(U11(X1, X2, X3)) -> MARK(X1) 177.33/63.29 MARK(U12(X1, X2, X3)) -> MARK(X1) 177.33/63.29 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.33/63.29 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.33/63.29 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.33/63.29 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.33/63.29 MARK(U32(X)) -> MARK(X) 177.33/63.29 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.33/63.29 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.33/63.29 MARK(U15(X1, X2)) -> MARK(X1) 177.33/63.29 MARK(isNat(X)) -> ACTIVE(isNat(X)) 177.33/63.29 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) 177.33/63.29 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 177.33/63.29 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 177.33/63.29 MARK(U21(X1, X2)) -> MARK(X1) 177.33/63.29 MARK(U22(X1, X2)) -> MARK(X1) 177.33/63.29 MARK(U31(X1, X2)) -> MARK(X1) 177.33/63.29 MARK(U41(X)) -> MARK(X) 177.33/63.29 MARK(plus(X1, X2)) -> MARK(X1) 177.33/63.29 MARK(plus(X1, X2)) -> MARK(X2) 177.33/63.29 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.33/63.29 177.33/63.29 The TRS R consists of the following rules: 177.33/63.29 177.33/63.29 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.33/63.29 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.33/63.29 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.33/63.29 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.33/63.29 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.33/63.29 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.33/63.29 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.33/63.29 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.33/63.29 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.33/63.29 mark(U16(X)) -> active(U16(mark(X))) 177.33/63.29 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.33/63.29 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.33/63.29 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.33/63.29 mark(U23(X)) -> active(U23(mark(X))) 177.33/63.29 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.33/63.29 mark(U32(X)) -> active(U32(mark(X))) 177.33/63.29 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.33/63.29 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.33/63.29 active(U52(tt, N)) -> mark(N) 177.33/63.29 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.33/63.29 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.33/63.29 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.33/63.29 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.33/63.29 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.33/63.29 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.33/63.29 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.33/63.29 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.33/63.29 mark(s(X)) -> active(s(mark(X))) 177.33/63.29 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.33/63.29 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.33/63.29 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.33/63.29 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.33/63.29 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.33/63.29 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.33/63.29 mark(U41(X)) -> active(U41(mark(X))) 177.33/63.29 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.33/63.29 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.33/63.29 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.33/63.29 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.33/63.29 mark(isNatKind(X)) -> active(isNatKind(X)) 177.33/63.29 mark(isNat(X)) -> active(isNat(X)) 177.33/63.29 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.33/63.29 mark(tt) -> active(tt) 177.33/63.29 mark(0) -> active(0) 177.33/63.29 plus(X1, mark(X2)) -> plus(X1, X2) 177.33/63.29 plus(mark(X1), X2) -> plus(X1, X2) 177.33/63.29 plus(active(X1), X2) -> plus(X1, X2) 177.33/63.29 plus(X1, active(X2)) -> plus(X1, X2) 177.33/63.29 active(U16(tt)) -> mark(tt) 177.33/63.29 active(U23(tt)) -> mark(tt) 177.33/63.29 active(U32(tt)) -> mark(tt) 177.33/63.29 active(U41(tt)) -> mark(tt) 177.33/63.29 active(isNat(0)) -> mark(tt) 177.33/63.29 active(isNatKind(0)) -> mark(tt) 177.33/63.29 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.33/63.29 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.29 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.33/63.29 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.29 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.33/63.29 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.33/63.29 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.33/63.29 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.29 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.33/63.29 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.29 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.33/63.29 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.33/63.29 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.33/63.29 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.29 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.33/63.29 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.29 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.33/63.29 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.33/63.29 U15(X1, mark(X2)) -> U15(X1, X2) 177.33/63.29 U15(mark(X1), X2) -> U15(X1, X2) 177.33/63.29 U15(active(X1), X2) -> U15(X1, X2) 177.33/63.29 U15(X1, active(X2)) -> U15(X1, X2) 177.33/63.29 U16(active(X)) -> U16(X) 177.33/63.29 U16(mark(X)) -> U16(X) 177.33/63.29 U22(X1, mark(X2)) -> U22(X1, X2) 177.33/63.29 U22(mark(X1), X2) -> U22(X1, X2) 177.33/63.29 U22(active(X1), X2) -> U22(X1, X2) 177.33/63.29 U22(X1, active(X2)) -> U22(X1, X2) 177.33/63.29 U23(active(X)) -> U23(X) 177.33/63.29 U23(mark(X)) -> U23(X) 177.33/63.29 U32(active(X)) -> U32(X) 177.33/63.29 U32(mark(X)) -> U32(X) 177.33/63.29 U52(X1, mark(X2)) -> U52(X1, X2) 177.33/63.29 U52(mark(X1), X2) -> U52(X1, X2) 177.33/63.29 U52(active(X1), X2) -> U52(X1, X2) 177.33/63.29 U52(X1, active(X2)) -> U52(X1, X2) 177.33/63.29 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.33/63.29 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.29 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.33/63.29 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.29 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.33/63.29 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.33/63.29 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.33/63.29 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.29 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.33/63.29 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.29 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.33/63.29 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.33/63.29 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.33/63.29 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.29 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.33/63.29 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.29 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.33/63.29 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.33/63.29 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.33/63.29 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.29 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.33/63.29 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.29 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.33/63.29 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.33/63.29 s(active(X)) -> s(X) 177.33/63.29 s(mark(X)) -> s(X) 177.33/63.29 U21(X1, mark(X2)) -> U21(X1, X2) 177.33/63.29 U21(mark(X1), X2) -> U21(X1, X2) 177.33/63.29 U21(active(X1), X2) -> U21(X1, X2) 177.33/63.29 U21(X1, active(X2)) -> U21(X1, X2) 177.33/63.29 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.29 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.29 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.29 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.29 U41(active(X)) -> U41(X) 177.33/63.29 U41(mark(X)) -> U41(X) 177.33/63.29 U51(X1, mark(X2)) -> U51(X1, X2) 177.33/63.29 U51(mark(X1), X2) -> U51(X1, X2) 177.33/63.29 U51(active(X1), X2) -> U51(X1, X2) 177.33/63.29 U51(X1, active(X2)) -> U51(X1, X2) 177.33/63.29 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.33/63.29 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.29 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.33/63.29 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.29 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.33/63.29 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.33/63.29 177.33/63.29 The set Q consists of the following terms: 177.33/63.29 177.33/63.29 active(U11(tt, x0, x1)) 177.33/63.29 active(U12(tt, x0, x1)) 177.33/63.29 active(U13(tt, x0, x1)) 177.33/63.29 active(U14(tt, x0, x1)) 177.33/63.29 active(U15(tt, x0)) 177.33/63.29 active(U16(tt)) 177.33/63.29 active(U21(tt, x0)) 177.33/63.29 active(U22(tt, x0)) 177.33/63.29 active(U23(tt)) 177.33/63.29 active(U31(tt, x0)) 177.33/63.29 active(U32(tt)) 177.33/63.29 active(U41(tt)) 177.33/63.29 active(U51(tt, x0)) 177.33/63.29 active(U52(tt, x0)) 177.33/63.29 active(U61(tt, x0, x1)) 177.33/63.29 active(U62(tt, x0, x1)) 177.33/63.29 active(U63(tt, x0, x1)) 177.33/63.29 active(U64(tt, x0, x1)) 177.33/63.29 active(isNat(0)) 177.33/63.29 active(isNat(plus(x0, x1))) 177.33/63.29 active(isNat(s(x0))) 177.33/63.29 active(isNatKind(0)) 177.33/63.29 active(isNatKind(plus(x0, x1))) 177.33/63.29 active(isNatKind(s(x0))) 177.33/63.29 active(plus(x0, 0)) 177.33/63.29 active(plus(x0, s(x1))) 177.33/63.29 mark(U11(x0, x1, x2)) 177.33/63.29 mark(tt) 177.33/63.29 mark(U12(x0, x1, x2)) 177.33/63.29 mark(isNatKind(x0)) 177.33/63.29 mark(U13(x0, x1, x2)) 177.33/63.29 mark(U14(x0, x1, x2)) 177.33/63.29 mark(U15(x0, x1)) 177.33/63.29 mark(isNat(x0)) 177.33/63.29 mark(U16(x0)) 177.33/63.29 mark(U21(x0, x1)) 177.33/63.29 mark(U22(x0, x1)) 177.33/63.29 mark(U23(x0)) 177.33/63.29 mark(U31(x0, x1)) 177.33/63.29 mark(U32(x0)) 177.33/63.29 mark(U41(x0)) 177.33/63.29 mark(U51(x0, x1)) 177.33/63.29 mark(U52(x0, x1)) 177.33/63.29 mark(U61(x0, x1, x2)) 177.33/63.29 mark(U62(x0, x1, x2)) 177.33/63.29 mark(U63(x0, x1, x2)) 177.33/63.29 mark(U64(x0, x1, x2)) 177.33/63.29 mark(s(x0)) 177.33/63.29 mark(plus(x0, x1)) 177.33/63.29 mark(0) 177.33/63.29 U11(mark(x0), x1, x2) 177.33/63.29 U11(x0, mark(x1), x2) 177.33/63.29 U11(x0, x1, mark(x2)) 177.33/63.29 U11(active(x0), x1, x2) 177.33/63.29 U11(x0, active(x1), x2) 177.33/63.29 U11(x0, x1, active(x2)) 177.33/63.29 U12(mark(x0), x1, x2) 177.33/63.29 U12(x0, mark(x1), x2) 177.33/63.29 U12(x0, x1, mark(x2)) 177.33/63.29 U12(active(x0), x1, x2) 177.33/63.29 U12(x0, active(x1), x2) 177.33/63.29 U12(x0, x1, active(x2)) 177.33/63.29 isNatKind(mark(x0)) 177.33/63.29 isNatKind(active(x0)) 177.33/63.29 U13(mark(x0), x1, x2) 177.33/63.29 U13(x0, mark(x1), x2) 177.33/63.29 U13(x0, x1, mark(x2)) 177.33/63.29 U13(active(x0), x1, x2) 177.33/63.29 U13(x0, active(x1), x2) 177.33/63.29 U13(x0, x1, active(x2)) 177.33/63.29 U14(mark(x0), x1, x2) 177.33/63.29 U14(x0, mark(x1), x2) 177.33/63.29 U14(x0, x1, mark(x2)) 177.33/63.29 U14(active(x0), x1, x2) 177.33/63.29 U14(x0, active(x1), x2) 177.33/63.29 U14(x0, x1, active(x2)) 177.33/63.29 U15(mark(x0), x1) 177.33/63.29 U15(x0, mark(x1)) 177.33/63.29 U15(active(x0), x1) 177.33/63.29 U15(x0, active(x1)) 177.33/63.29 isNat(mark(x0)) 177.33/63.29 isNat(active(x0)) 177.33/63.29 U16(mark(x0)) 177.33/63.29 U16(active(x0)) 177.33/63.29 U21(mark(x0), x1) 177.33/63.29 U21(x0, mark(x1)) 177.33/63.29 U21(active(x0), x1) 177.33/63.29 U21(x0, active(x1)) 177.33/63.29 U22(mark(x0), x1) 177.33/63.29 U22(x0, mark(x1)) 177.33/63.29 U22(active(x0), x1) 177.33/63.29 U22(x0, active(x1)) 177.33/63.29 U23(mark(x0)) 177.33/63.29 U23(active(x0)) 177.33/63.29 U31(mark(x0), x1) 177.33/63.29 U31(x0, mark(x1)) 177.33/63.29 U31(active(x0), x1) 177.33/63.29 U31(x0, active(x1)) 177.33/63.29 U32(mark(x0)) 177.33/63.29 U32(active(x0)) 177.33/63.29 U41(mark(x0)) 177.33/63.29 U41(active(x0)) 177.33/63.29 U51(mark(x0), x1) 177.33/63.29 U51(x0, mark(x1)) 177.33/63.29 U51(active(x0), x1) 177.33/63.29 U51(x0, active(x1)) 177.33/63.29 U52(mark(x0), x1) 177.33/63.29 U52(x0, mark(x1)) 177.33/63.29 U52(active(x0), x1) 177.33/63.29 U52(x0, active(x1)) 177.33/63.29 U61(mark(x0), x1, x2) 177.33/63.29 U61(x0, mark(x1), x2) 177.33/63.29 U61(x0, x1, mark(x2)) 177.33/63.29 U61(active(x0), x1, x2) 177.33/63.29 U61(x0, active(x1), x2) 177.33/63.29 U61(x0, x1, active(x2)) 177.33/63.29 U62(mark(x0), x1, x2) 177.33/63.29 U62(x0, mark(x1), x2) 177.33/63.29 U62(x0, x1, mark(x2)) 177.33/63.29 U62(active(x0), x1, x2) 177.33/63.29 U62(x0, active(x1), x2) 177.33/63.29 U62(x0, x1, active(x2)) 177.33/63.29 U63(mark(x0), x1, x2) 177.33/63.29 U63(x0, mark(x1), x2) 177.33/63.29 U63(x0, x1, mark(x2)) 177.33/63.29 U63(active(x0), x1, x2) 177.33/63.29 U63(x0, active(x1), x2) 177.33/63.29 U63(x0, x1, active(x2)) 177.33/63.29 U64(mark(x0), x1, x2) 177.33/63.29 U64(x0, mark(x1), x2) 177.33/63.29 U64(x0, x1, mark(x2)) 177.33/63.29 U64(active(x0), x1, x2) 177.33/63.29 U64(x0, active(x1), x2) 177.33/63.29 U64(x0, x1, active(x2)) 177.33/63.29 s(mark(x0)) 177.33/63.29 s(active(x0)) 177.33/63.29 plus(mark(x0), x1) 177.33/63.29 plus(x0, mark(x1)) 177.33/63.29 plus(active(x0), x1) 177.33/63.29 plus(x0, active(x1)) 177.33/63.29 177.33/63.29 We have to consider all minimal (P,Q,R)-chains. 177.33/63.29 ---------------------------------------- 177.33/63.29 177.33/63.29 (194) QDPQMonotonicMRRProof (EQUIVALENT) 177.33/63.29 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. 177.33/63.29 177.33/63.29 Strictly oriented dependency pairs: 177.33/63.29 177.33/63.29 MARK(plus(X1, X2)) -> MARK(X1) 177.33/63.29 MARK(plus(X1, X2)) -> MARK(X2) 177.33/63.29 177.33/63.29 177.33/63.29 Used ordering: Polynomial interpretation [POLO]: 177.33/63.29 177.33/63.29 POL(0) = 0 177.33/63.29 POL(ACTIVE(x_1)) = 0 177.33/63.29 POL(MARK(x_1)) = x_1 177.33/63.29 POL(U11(x_1, x_2, x_3)) = 2*x_1 177.33/63.29 POL(U12(x_1, x_2, x_3)) = 2*x_1 177.33/63.29 POL(U13(x_1, x_2, x_3)) = 2*x_1 177.33/63.29 POL(U14(x_1, x_2, x_3)) = 2*x_1 177.33/63.29 POL(U15(x_1, x_2)) = 2*x_1 177.33/63.29 POL(U16(x_1)) = x_1 177.33/63.29 POL(U21(x_1, x_2)) = 2*x_1 177.33/63.29 POL(U22(x_1, x_2)) = 2*x_1 177.33/63.29 POL(U23(x_1)) = x_1 177.33/63.29 POL(U31(x_1, x_2)) = 2*x_1 177.33/63.29 POL(U32(x_1)) = x_1 177.33/63.29 POL(U41(x_1)) = x_1 177.33/63.29 POL(U51(x_1, x_2)) = x_2 177.33/63.29 POL(U52(x_1, x_2)) = x_2 177.33/63.29 POL(U61(x_1, x_2, x_3)) = 0 177.33/63.29 POL(U62(x_1, x_2, x_3)) = 0 177.33/63.29 POL(U63(x_1, x_2, x_3)) = 0 177.33/63.29 POL(U64(x_1, x_2, x_3)) = 0 177.33/63.29 POL(active(x_1)) = x_1 177.33/63.29 POL(isNat(x_1)) = 0 177.33/63.29 POL(isNatKind(x_1)) = 0 177.33/63.29 POL(mark(x_1)) = x_1 177.33/63.29 POL(plus(x_1, x_2)) = 2 + x_1 + x_2 177.33/63.29 POL(s(x_1)) = 0 177.33/63.29 POL(tt) = 0 177.33/63.29 177.33/63.29 177.33/63.29 ---------------------------------------- 177.33/63.29 177.33/63.29 (195) 177.33/63.29 Obligation: 177.33/63.29 Q DP problem: 177.33/63.29 The TRS P consists of the following rules: 177.33/63.29 177.33/63.29 ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) 177.33/63.29 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 177.33/63.29 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.33/63.29 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.33/63.29 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.33/63.29 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.33/63.29 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.33/63.29 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.33/63.29 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.33/63.29 MARK(U16(X)) -> MARK(X) 177.33/63.29 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.33/63.29 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 177.33/63.29 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 177.33/63.29 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 177.33/63.29 MARK(U23(X)) -> MARK(X) 177.33/63.29 MARK(U11(X1, X2, X3)) -> MARK(X1) 177.33/63.29 MARK(U12(X1, X2, X3)) -> MARK(X1) 177.33/63.29 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.33/63.29 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.33/63.29 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.33/63.29 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.33/63.29 MARK(U32(X)) -> MARK(X) 177.33/63.29 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.33/63.29 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.33/63.29 MARK(U15(X1, X2)) -> MARK(X1) 177.33/63.29 MARK(isNat(X)) -> ACTIVE(isNat(X)) 177.33/63.29 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) 177.33/63.29 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 177.33/63.29 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 177.33/63.29 MARK(U21(X1, X2)) -> MARK(X1) 177.33/63.29 MARK(U22(X1, X2)) -> MARK(X1) 177.33/63.29 MARK(U31(X1, X2)) -> MARK(X1) 177.33/63.29 MARK(U41(X)) -> MARK(X) 177.33/63.29 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.33/63.29 177.33/63.29 The TRS R consists of the following rules: 177.33/63.29 177.33/63.29 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.33/63.29 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.33/63.29 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.33/63.29 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.33/63.29 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.33/63.29 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.33/63.29 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.33/63.29 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.33/63.29 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.33/63.29 mark(U16(X)) -> active(U16(mark(X))) 177.33/63.29 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.33/63.29 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.33/63.29 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.33/63.29 mark(U23(X)) -> active(U23(mark(X))) 177.33/63.29 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.33/63.29 mark(U32(X)) -> active(U32(mark(X))) 177.33/63.29 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.33/63.29 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.33/63.29 active(U52(tt, N)) -> mark(N) 177.33/63.29 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.33/63.29 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.33/63.29 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.33/63.29 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.33/63.29 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.33/63.29 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.33/63.29 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.33/63.29 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.33/63.29 mark(s(X)) -> active(s(mark(X))) 177.33/63.29 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.33/63.29 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.33/63.29 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.33/63.29 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.33/63.29 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.33/63.29 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.33/63.29 mark(U41(X)) -> active(U41(mark(X))) 177.33/63.29 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.33/63.29 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.33/63.29 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.33/63.29 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.33/63.29 mark(isNatKind(X)) -> active(isNatKind(X)) 177.33/63.29 mark(isNat(X)) -> active(isNat(X)) 177.33/63.29 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.33/63.29 mark(tt) -> active(tt) 177.33/63.29 mark(0) -> active(0) 177.33/63.29 plus(X1, mark(X2)) -> plus(X1, X2) 177.33/63.29 plus(mark(X1), X2) -> plus(X1, X2) 177.33/63.29 plus(active(X1), X2) -> plus(X1, X2) 177.33/63.29 plus(X1, active(X2)) -> plus(X1, X2) 177.33/63.29 active(U16(tt)) -> mark(tt) 177.33/63.29 active(U23(tt)) -> mark(tt) 177.33/63.29 active(U32(tt)) -> mark(tt) 177.33/63.29 active(U41(tt)) -> mark(tt) 177.33/63.29 active(isNat(0)) -> mark(tt) 177.33/63.29 active(isNatKind(0)) -> mark(tt) 177.33/63.29 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.33/63.29 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.29 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.33/63.29 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.29 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.33/63.29 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.33/63.29 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.33/63.29 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.29 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.33/63.29 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.29 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.33/63.29 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.33/63.29 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.33/63.29 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.29 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.33/63.29 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.29 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.33/63.29 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.33/63.29 U15(X1, mark(X2)) -> U15(X1, X2) 177.33/63.29 U15(mark(X1), X2) -> U15(X1, X2) 177.33/63.29 U15(active(X1), X2) -> U15(X1, X2) 177.33/63.29 U15(X1, active(X2)) -> U15(X1, X2) 177.33/63.29 U16(active(X)) -> U16(X) 177.33/63.29 U16(mark(X)) -> U16(X) 177.33/63.29 U22(X1, mark(X2)) -> U22(X1, X2) 177.33/63.29 U22(mark(X1), X2) -> U22(X1, X2) 177.33/63.29 U22(active(X1), X2) -> U22(X1, X2) 177.33/63.29 U22(X1, active(X2)) -> U22(X1, X2) 177.33/63.29 U23(active(X)) -> U23(X) 177.33/63.29 U23(mark(X)) -> U23(X) 177.33/63.29 U32(active(X)) -> U32(X) 177.33/63.29 U32(mark(X)) -> U32(X) 177.33/63.29 U52(X1, mark(X2)) -> U52(X1, X2) 177.33/63.29 U52(mark(X1), X2) -> U52(X1, X2) 177.33/63.29 U52(active(X1), X2) -> U52(X1, X2) 177.33/63.29 U52(X1, active(X2)) -> U52(X1, X2) 177.33/63.29 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.33/63.29 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.29 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.33/63.29 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.29 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.33/63.29 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.33/63.29 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.33/63.29 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.29 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.33/63.29 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.29 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.33/63.29 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.33/63.29 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.33/63.29 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.29 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.33/63.29 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.29 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.33/63.29 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.33/63.29 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.33/63.29 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.29 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.33/63.29 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.29 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.33/63.29 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.33/63.29 s(active(X)) -> s(X) 177.33/63.29 s(mark(X)) -> s(X) 177.33/63.29 U21(X1, mark(X2)) -> U21(X1, X2) 177.33/63.29 U21(mark(X1), X2) -> U21(X1, X2) 177.33/63.29 U21(active(X1), X2) -> U21(X1, X2) 177.33/63.29 U21(X1, active(X2)) -> U21(X1, X2) 177.33/63.29 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.29 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.29 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.29 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.29 U41(active(X)) -> U41(X) 177.33/63.29 U41(mark(X)) -> U41(X) 177.33/63.29 U51(X1, mark(X2)) -> U51(X1, X2) 177.33/63.29 U51(mark(X1), X2) -> U51(X1, X2) 177.33/63.29 U51(active(X1), X2) -> U51(X1, X2) 177.33/63.29 U51(X1, active(X2)) -> U51(X1, X2) 177.33/63.29 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.33/63.29 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.29 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.33/63.29 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.29 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.33/63.29 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.33/63.29 177.33/63.29 The set Q consists of the following terms: 177.33/63.29 177.33/63.29 active(U11(tt, x0, x1)) 177.33/63.29 active(U12(tt, x0, x1)) 177.33/63.29 active(U13(tt, x0, x1)) 177.33/63.29 active(U14(tt, x0, x1)) 177.33/63.29 active(U15(tt, x0)) 177.33/63.29 active(U16(tt)) 177.33/63.29 active(U21(tt, x0)) 177.33/63.29 active(U22(tt, x0)) 177.33/63.29 active(U23(tt)) 177.33/63.29 active(U31(tt, x0)) 177.33/63.29 active(U32(tt)) 177.33/63.29 active(U41(tt)) 177.33/63.29 active(U51(tt, x0)) 177.33/63.29 active(U52(tt, x0)) 177.33/63.29 active(U61(tt, x0, x1)) 177.33/63.29 active(U62(tt, x0, x1)) 177.33/63.29 active(U63(tt, x0, x1)) 177.33/63.29 active(U64(tt, x0, x1)) 177.33/63.29 active(isNat(0)) 177.33/63.29 active(isNat(plus(x0, x1))) 177.33/63.29 active(isNat(s(x0))) 177.33/63.29 active(isNatKind(0)) 177.33/63.29 active(isNatKind(plus(x0, x1))) 177.33/63.29 active(isNatKind(s(x0))) 177.33/63.29 active(plus(x0, 0)) 177.33/63.29 active(plus(x0, s(x1))) 177.33/63.29 mark(U11(x0, x1, x2)) 177.33/63.29 mark(tt) 177.33/63.29 mark(U12(x0, x1, x2)) 177.33/63.29 mark(isNatKind(x0)) 177.33/63.29 mark(U13(x0, x1, x2)) 177.33/63.29 mark(U14(x0, x1, x2)) 177.33/63.29 mark(U15(x0, x1)) 177.33/63.29 mark(isNat(x0)) 177.33/63.29 mark(U16(x0)) 177.33/63.29 mark(U21(x0, x1)) 177.33/63.29 mark(U22(x0, x1)) 177.33/63.29 mark(U23(x0)) 177.33/63.29 mark(U31(x0, x1)) 177.33/63.29 mark(U32(x0)) 177.33/63.29 mark(U41(x0)) 177.33/63.29 mark(U51(x0, x1)) 177.33/63.29 mark(U52(x0, x1)) 177.33/63.29 mark(U61(x0, x1, x2)) 177.33/63.29 mark(U62(x0, x1, x2)) 177.33/63.29 mark(U63(x0, x1, x2)) 177.33/63.29 mark(U64(x0, x1, x2)) 177.33/63.29 mark(s(x0)) 177.33/63.29 mark(plus(x0, x1)) 177.33/63.29 mark(0) 177.33/63.29 U11(mark(x0), x1, x2) 177.33/63.29 U11(x0, mark(x1), x2) 177.33/63.29 U11(x0, x1, mark(x2)) 177.33/63.29 U11(active(x0), x1, x2) 177.33/63.29 U11(x0, active(x1), x2) 177.33/63.29 U11(x0, x1, active(x2)) 177.33/63.29 U12(mark(x0), x1, x2) 177.33/63.29 U12(x0, mark(x1), x2) 177.33/63.29 U12(x0, x1, mark(x2)) 177.33/63.29 U12(active(x0), x1, x2) 177.33/63.29 U12(x0, active(x1), x2) 177.33/63.29 U12(x0, x1, active(x2)) 177.33/63.29 isNatKind(mark(x0)) 177.33/63.29 isNatKind(active(x0)) 177.33/63.29 U13(mark(x0), x1, x2) 177.33/63.29 U13(x0, mark(x1), x2) 177.33/63.29 U13(x0, x1, mark(x2)) 177.33/63.29 U13(active(x0), x1, x2) 177.33/63.29 U13(x0, active(x1), x2) 177.33/63.29 U13(x0, x1, active(x2)) 177.33/63.29 U14(mark(x0), x1, x2) 177.33/63.29 U14(x0, mark(x1), x2) 177.33/63.29 U14(x0, x1, mark(x2)) 177.33/63.29 U14(active(x0), x1, x2) 177.33/63.29 U14(x0, active(x1), x2) 177.33/63.29 U14(x0, x1, active(x2)) 177.33/63.29 U15(mark(x0), x1) 177.33/63.29 U15(x0, mark(x1)) 177.33/63.29 U15(active(x0), x1) 177.33/63.29 U15(x0, active(x1)) 177.33/63.29 isNat(mark(x0)) 177.33/63.29 isNat(active(x0)) 177.33/63.29 U16(mark(x0)) 177.33/63.29 U16(active(x0)) 177.33/63.29 U21(mark(x0), x1) 177.33/63.29 U21(x0, mark(x1)) 177.33/63.29 U21(active(x0), x1) 177.33/63.29 U21(x0, active(x1)) 177.33/63.29 U22(mark(x0), x1) 177.33/63.29 U22(x0, mark(x1)) 177.33/63.29 U22(active(x0), x1) 177.33/63.29 U22(x0, active(x1)) 177.33/63.29 U23(mark(x0)) 177.33/63.29 U23(active(x0)) 177.33/63.29 U31(mark(x0), x1) 177.33/63.29 U31(x0, mark(x1)) 177.33/63.29 U31(active(x0), x1) 177.33/63.29 U31(x0, active(x1)) 177.33/63.29 U32(mark(x0)) 177.33/63.29 U32(active(x0)) 177.33/63.29 U41(mark(x0)) 177.33/63.29 U41(active(x0)) 177.33/63.29 U51(mark(x0), x1) 177.33/63.29 U51(x0, mark(x1)) 177.33/63.29 U51(active(x0), x1) 177.33/63.29 U51(x0, active(x1)) 177.33/63.29 U52(mark(x0), x1) 177.33/63.29 U52(x0, mark(x1)) 177.33/63.29 U52(active(x0), x1) 177.33/63.29 U52(x0, active(x1)) 177.33/63.29 U61(mark(x0), x1, x2) 177.33/63.29 U61(x0, mark(x1), x2) 177.33/63.29 U61(x0, x1, mark(x2)) 177.33/63.29 U61(active(x0), x1, x2) 177.33/63.29 U61(x0, active(x1), x2) 177.33/63.29 U61(x0, x1, active(x2)) 177.33/63.29 U62(mark(x0), x1, x2) 177.33/63.29 U62(x0, mark(x1), x2) 177.33/63.29 U62(x0, x1, mark(x2)) 177.33/63.29 U62(active(x0), x1, x2) 177.33/63.29 U62(x0, active(x1), x2) 177.33/63.29 U62(x0, x1, active(x2)) 177.33/63.29 U63(mark(x0), x1, x2) 177.33/63.29 U63(x0, mark(x1), x2) 177.33/63.29 U63(x0, x1, mark(x2)) 177.33/63.29 U63(active(x0), x1, x2) 177.33/63.29 U63(x0, active(x1), x2) 177.33/63.29 U63(x0, x1, active(x2)) 177.33/63.29 U64(mark(x0), x1, x2) 177.33/63.29 U64(x0, mark(x1), x2) 177.33/63.29 U64(x0, x1, mark(x2)) 177.33/63.29 U64(active(x0), x1, x2) 177.33/63.29 U64(x0, active(x1), x2) 177.33/63.29 U64(x0, x1, active(x2)) 177.33/63.29 s(mark(x0)) 177.33/63.29 s(active(x0)) 177.33/63.29 plus(mark(x0), x1) 177.33/63.29 plus(x0, mark(x1)) 177.33/63.29 plus(active(x0), x1) 177.33/63.29 plus(x0, active(x1)) 177.33/63.29 177.33/63.29 We have to consider all minimal (P,Q,R)-chains. 177.33/63.29 ---------------------------------------- 177.33/63.29 177.33/63.29 (196) QDPOrderProof (EQUIVALENT) 177.33/63.29 We use the reduction pair processor [LPAR04,JAR06]. 177.33/63.29 177.33/63.29 177.33/63.29 The following pairs can be oriented strictly and are deleted. 177.33/63.29 177.33/63.29 ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) 177.33/63.29 ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) 177.33/63.29 MARK(U21(X1, X2)) -> MARK(X1) 177.33/63.29 The remaining pairs can at least be oriented weakly. 177.33/63.29 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 177.33/63.29 177.33/63.29 POL( ACTIVE_1(x_1) ) = x_1 + 2 177.33/63.29 POL( U11_3(x_1, ..., x_3) ) = 2x_1 + 2x_2 + 2x_3 177.33/63.29 POL( U12_3(x_1, ..., x_3) ) = 2x_1 + 2x_2 + 2x_3 177.33/63.29 POL( U13_3(x_1, ..., x_3) ) = 2x_1 + 2x_2 + 2x_3 177.33/63.29 POL( U14_3(x_1, ..., x_3) ) = 2x_1 + 2x_2 + 2x_3 177.33/63.29 POL( U15_2(x_1, x_2) ) = x_1 + 2x_2 177.33/63.29 POL( U21_2(x_1, x_2) ) = 2x_1 + 2x_2 + 1 177.33/63.29 POL( U22_2(x_1, x_2) ) = 2x_1 + 2x_2 177.33/63.29 POL( U31_2(x_1, x_2) ) = 2x_1 177.33/63.29 POL( mark_1(x_1) ) = x_1 177.33/63.29 POL( active_1(x_1) ) = x_1 177.33/63.29 POL( tt ) = 0 177.33/63.29 POL( isNatKind_1(x_1) ) = 0 177.33/63.29 POL( isNat_1(x_1) ) = 2x_1 177.33/63.29 POL( U16_1(x_1) ) = x_1 177.33/63.29 POL( U23_1(x_1) ) = x_1 177.33/63.29 POL( U32_1(x_1) ) = x_1 177.33/63.29 POL( U51_2(x_1, x_2) ) = x_2 + 2 177.33/63.29 POL( U52_2(x_1, x_2) ) = x_2 177.33/63.29 POL( U61_3(x_1, ..., x_3) ) = x_2 + x_3 + 2 177.33/63.29 POL( U62_3(x_1, ..., x_3) ) = x_2 + x_3 + 2 177.33/63.29 POL( U63_3(x_1, ..., x_3) ) = x_2 + x_3 + 2 177.33/63.29 POL( U64_3(x_1, ..., x_3) ) = x_2 + x_3 + 2 177.33/63.29 POL( s_1(x_1) ) = x_1 + 2 177.33/63.29 POL( plus_2(x_1, x_2) ) = x_1 + x_2 177.33/63.29 POL( U41_1(x_1) ) = 2x_1 177.33/63.29 POL( 0 ) = 2 177.33/63.29 POL( MARK_1(x_1) ) = x_1 + 2 177.33/63.29 177.33/63.29 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 177.33/63.29 177.33/63.29 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.33/63.29 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.33/63.29 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.33/63.29 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.33/63.29 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.33/63.29 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.33/63.29 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.33/63.29 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.33/63.29 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.33/63.29 mark(U16(X)) -> active(U16(mark(X))) 177.33/63.29 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.33/63.29 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.33/63.29 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.33/63.29 mark(U23(X)) -> active(U23(mark(X))) 177.33/63.29 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.33/63.29 mark(U32(X)) -> active(U32(mark(X))) 177.33/63.29 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.33/63.29 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.33/63.29 active(U52(tt, N)) -> mark(N) 177.33/63.29 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.33/63.29 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.33/63.29 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.33/63.29 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.33/63.29 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.33/63.29 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.33/63.29 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.33/63.29 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.33/63.29 mark(s(X)) -> active(s(mark(X))) 177.33/63.29 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.33/63.29 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.33/63.29 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.33/63.29 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.33/63.29 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.33/63.29 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.33/63.29 mark(U41(X)) -> active(U41(mark(X))) 177.33/63.29 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.33/63.29 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.33/63.29 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.33/63.29 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.33/63.29 mark(isNatKind(X)) -> active(isNatKind(X)) 177.33/63.29 mark(isNat(X)) -> active(isNat(X)) 177.33/63.29 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.33/63.29 mark(tt) -> active(tt) 177.33/63.29 mark(0) -> active(0) 177.33/63.29 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.33/63.29 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.29 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.33/63.29 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.29 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.33/63.29 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.33/63.29 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.33/63.29 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.29 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.33/63.29 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.29 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.33/63.29 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.33/63.29 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.33/63.29 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.29 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.33/63.29 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.29 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.33/63.29 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.33/63.29 U15(X1, mark(X2)) -> U15(X1, X2) 177.33/63.29 U15(mark(X1), X2) -> U15(X1, X2) 177.33/63.29 U15(active(X1), X2) -> U15(X1, X2) 177.33/63.29 U15(X1, active(X2)) -> U15(X1, X2) 177.33/63.29 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.33/63.29 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.29 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.33/63.29 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.29 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.33/63.29 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.33/63.29 U22(X1, mark(X2)) -> U22(X1, X2) 177.33/63.29 U22(mark(X1), X2) -> U22(X1, X2) 177.33/63.29 U22(active(X1), X2) -> U22(X1, X2) 177.33/63.29 U22(X1, active(X2)) -> U22(X1, X2) 177.33/63.29 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.29 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.29 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.29 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.29 U21(X1, mark(X2)) -> U21(X1, X2) 177.33/63.29 U21(mark(X1), X2) -> U21(X1, X2) 177.33/63.29 U21(active(X1), X2) -> U21(X1, X2) 177.33/63.29 U21(X1, active(X2)) -> U21(X1, X2) 177.33/63.29 active(U16(tt)) -> mark(tt) 177.33/63.29 active(U23(tt)) -> mark(tt) 177.33/63.29 active(U32(tt)) -> mark(tt) 177.33/63.29 active(U41(tt)) -> mark(tt) 177.33/63.29 active(isNat(0)) -> mark(tt) 177.33/63.29 active(isNatKind(0)) -> mark(tt) 177.33/63.29 U16(active(X)) -> U16(X) 177.33/63.29 U16(mark(X)) -> U16(X) 177.33/63.29 U23(active(X)) -> U23(X) 177.33/63.29 U23(mark(X)) -> U23(X) 177.33/63.29 U32(active(X)) -> U32(X) 177.33/63.29 U32(mark(X)) -> U32(X) 177.33/63.29 U52(X1, mark(X2)) -> U52(X1, X2) 177.33/63.29 U52(mark(X1), X2) -> U52(X1, X2) 177.33/63.29 U52(active(X1), X2) -> U52(X1, X2) 177.33/63.29 U52(X1, active(X2)) -> U52(X1, X2) 177.33/63.29 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.33/63.29 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.29 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.33/63.29 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.29 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.33/63.29 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.33/63.29 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.33/63.29 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.29 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.33/63.29 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.29 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.33/63.29 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.33/63.29 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.33/63.29 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.29 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.33/63.29 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.29 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.33/63.29 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.33/63.29 s(active(X)) -> s(X) 177.33/63.29 s(mark(X)) -> s(X) 177.33/63.29 U41(active(X)) -> U41(X) 177.33/63.29 U41(mark(X)) -> U41(X) 177.33/63.29 U51(X1, mark(X2)) -> U51(X1, X2) 177.33/63.29 U51(mark(X1), X2) -> U51(X1, X2) 177.33/63.29 U51(active(X1), X2) -> U51(X1, X2) 177.33/63.29 U51(X1, active(X2)) -> U51(X1, X2) 177.33/63.29 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.33/63.29 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.29 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.33/63.29 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.29 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.33/63.29 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.33/63.29 plus(X1, mark(X2)) -> plus(X1, X2) 177.33/63.29 plus(mark(X1), X2) -> plus(X1, X2) 177.33/63.29 plus(active(X1), X2) -> plus(X1, X2) 177.33/63.29 plus(X1, active(X2)) -> plus(X1, X2) 177.33/63.29 177.33/63.29 177.33/63.29 ---------------------------------------- 177.33/63.29 177.33/63.29 (197) 177.33/63.29 Obligation: 177.33/63.29 Q DP problem: 177.33/63.29 The TRS P consists of the following rules: 177.33/63.29 177.33/63.29 ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) 177.33/63.29 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 177.33/63.29 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.33/63.29 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.33/63.29 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.33/63.29 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.33/63.29 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.33/63.29 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.33/63.29 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.33/63.29 MARK(U16(X)) -> MARK(X) 177.33/63.29 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.33/63.29 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 177.33/63.29 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 177.33/63.29 MARK(U23(X)) -> MARK(X) 177.33/63.29 MARK(U11(X1, X2, X3)) -> MARK(X1) 177.33/63.29 MARK(U12(X1, X2, X3)) -> MARK(X1) 177.33/63.29 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.33/63.29 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.33/63.29 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.33/63.29 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.33/63.29 MARK(U32(X)) -> MARK(X) 177.33/63.29 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.33/63.29 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.33/63.29 MARK(U15(X1, X2)) -> MARK(X1) 177.33/63.29 MARK(isNat(X)) -> ACTIVE(isNat(X)) 177.33/63.29 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) 177.33/63.29 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 177.33/63.29 MARK(U22(X1, X2)) -> MARK(X1) 177.33/63.29 MARK(U31(X1, X2)) -> MARK(X1) 177.33/63.29 MARK(U41(X)) -> MARK(X) 177.33/63.29 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.33/63.29 177.33/63.29 The TRS R consists of the following rules: 177.33/63.29 177.33/63.29 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.33/63.29 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.33/63.29 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.33/63.29 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.33/63.29 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.33/63.29 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.33/63.29 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.33/63.29 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.33/63.29 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.33/63.29 mark(U16(X)) -> active(U16(mark(X))) 177.33/63.29 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.33/63.29 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.33/63.29 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.33/63.29 mark(U23(X)) -> active(U23(mark(X))) 177.33/63.29 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.33/63.29 mark(U32(X)) -> active(U32(mark(X))) 177.33/63.29 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.33/63.29 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.33/63.29 active(U52(tt, N)) -> mark(N) 177.33/63.29 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.33/63.29 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.33/63.29 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.33/63.29 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.33/63.29 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.33/63.29 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.33/63.29 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.33/63.29 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.33/63.29 mark(s(X)) -> active(s(mark(X))) 177.33/63.29 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.33/63.29 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.33/63.29 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.33/63.29 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.33/63.29 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.33/63.29 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.33/63.29 mark(U41(X)) -> active(U41(mark(X))) 177.33/63.29 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.33/63.29 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.33/63.29 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.33/63.29 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.33/63.29 mark(isNatKind(X)) -> active(isNatKind(X)) 177.33/63.29 mark(isNat(X)) -> active(isNat(X)) 177.33/63.29 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.33/63.29 mark(tt) -> active(tt) 177.33/63.29 mark(0) -> active(0) 177.33/63.29 plus(X1, mark(X2)) -> plus(X1, X2) 177.33/63.29 plus(mark(X1), X2) -> plus(X1, X2) 177.33/63.29 plus(active(X1), X2) -> plus(X1, X2) 177.33/63.29 plus(X1, active(X2)) -> plus(X1, X2) 177.33/63.29 active(U16(tt)) -> mark(tt) 177.33/63.29 active(U23(tt)) -> mark(tt) 177.33/63.29 active(U32(tt)) -> mark(tt) 177.33/63.29 active(U41(tt)) -> mark(tt) 177.33/63.29 active(isNat(0)) -> mark(tt) 177.33/63.29 active(isNatKind(0)) -> mark(tt) 177.33/63.29 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.33/63.29 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.29 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.33/63.29 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.29 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.33/63.29 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.33/63.29 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.33/63.29 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.29 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.33/63.29 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.29 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.33/63.29 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.33/63.29 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.33/63.29 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.29 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.33/63.29 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.29 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.33/63.29 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.33/63.29 U15(X1, mark(X2)) -> U15(X1, X2) 177.33/63.29 U15(mark(X1), X2) -> U15(X1, X2) 177.33/63.29 U15(active(X1), X2) -> U15(X1, X2) 177.33/63.29 U15(X1, active(X2)) -> U15(X1, X2) 177.33/63.29 U16(active(X)) -> U16(X) 177.33/63.29 U16(mark(X)) -> U16(X) 177.33/63.29 U22(X1, mark(X2)) -> U22(X1, X2) 177.33/63.29 U22(mark(X1), X2) -> U22(X1, X2) 177.33/63.29 U22(active(X1), X2) -> U22(X1, X2) 177.33/63.29 U22(X1, active(X2)) -> U22(X1, X2) 177.33/63.29 U23(active(X)) -> U23(X) 177.33/63.29 U23(mark(X)) -> U23(X) 177.33/63.29 U32(active(X)) -> U32(X) 177.33/63.29 U32(mark(X)) -> U32(X) 177.33/63.29 U52(X1, mark(X2)) -> U52(X1, X2) 177.33/63.29 U52(mark(X1), X2) -> U52(X1, X2) 177.33/63.29 U52(active(X1), X2) -> U52(X1, X2) 177.33/63.29 U52(X1, active(X2)) -> U52(X1, X2) 177.33/63.29 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.33/63.29 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.29 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.33/63.29 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.29 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.33/63.29 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.33/63.29 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.33/63.29 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.29 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.33/63.29 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.29 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.33/63.29 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.33/63.29 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.33/63.29 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.29 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.33/63.29 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.29 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.33/63.29 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.33/63.29 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.33/63.29 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.29 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.33/63.29 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.29 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.33/63.29 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.33/63.29 s(active(X)) -> s(X) 177.33/63.29 s(mark(X)) -> s(X) 177.33/63.29 U21(X1, mark(X2)) -> U21(X1, X2) 177.33/63.29 U21(mark(X1), X2) -> U21(X1, X2) 177.33/63.29 U21(active(X1), X2) -> U21(X1, X2) 177.33/63.29 U21(X1, active(X2)) -> U21(X1, X2) 177.33/63.29 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.29 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.29 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.29 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.29 U41(active(X)) -> U41(X) 177.33/63.29 U41(mark(X)) -> U41(X) 177.33/63.29 U51(X1, mark(X2)) -> U51(X1, X2) 177.33/63.29 U51(mark(X1), X2) -> U51(X1, X2) 177.33/63.29 U51(active(X1), X2) -> U51(X1, X2) 177.33/63.29 U51(X1, active(X2)) -> U51(X1, X2) 177.33/63.29 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.33/63.29 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.29 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.33/63.29 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.29 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.33/63.29 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.33/63.29 177.33/63.29 The set Q consists of the following terms: 177.33/63.29 177.33/63.29 active(U11(tt, x0, x1)) 177.33/63.29 active(U12(tt, x0, x1)) 177.33/63.29 active(U13(tt, x0, x1)) 177.33/63.29 active(U14(tt, x0, x1)) 177.33/63.29 active(U15(tt, x0)) 177.33/63.29 active(U16(tt)) 177.33/63.29 active(U21(tt, x0)) 177.33/63.29 active(U22(tt, x0)) 177.33/63.29 active(U23(tt)) 177.33/63.29 active(U31(tt, x0)) 177.33/63.29 active(U32(tt)) 177.33/63.29 active(U41(tt)) 177.33/63.29 active(U51(tt, x0)) 177.33/63.29 active(U52(tt, x0)) 177.33/63.29 active(U61(tt, x0, x1)) 177.33/63.29 active(U62(tt, x0, x1)) 177.33/63.29 active(U63(tt, x0, x1)) 177.33/63.29 active(U64(tt, x0, x1)) 177.33/63.29 active(isNat(0)) 177.33/63.29 active(isNat(plus(x0, x1))) 177.33/63.29 active(isNat(s(x0))) 177.33/63.29 active(isNatKind(0)) 177.33/63.29 active(isNatKind(plus(x0, x1))) 177.33/63.29 active(isNatKind(s(x0))) 177.33/63.29 active(plus(x0, 0)) 177.33/63.29 active(plus(x0, s(x1))) 177.33/63.29 mark(U11(x0, x1, x2)) 177.33/63.29 mark(tt) 177.33/63.29 mark(U12(x0, x1, x2)) 177.33/63.29 mark(isNatKind(x0)) 177.33/63.29 mark(U13(x0, x1, x2)) 177.33/63.29 mark(U14(x0, x1, x2)) 177.33/63.29 mark(U15(x0, x1)) 177.33/63.29 mark(isNat(x0)) 177.33/63.29 mark(U16(x0)) 177.33/63.29 mark(U21(x0, x1)) 177.33/63.29 mark(U22(x0, x1)) 177.33/63.29 mark(U23(x0)) 177.33/63.29 mark(U31(x0, x1)) 177.33/63.29 mark(U32(x0)) 177.33/63.29 mark(U41(x0)) 177.33/63.29 mark(U51(x0, x1)) 177.33/63.29 mark(U52(x0, x1)) 177.33/63.29 mark(U61(x0, x1, x2)) 177.33/63.29 mark(U62(x0, x1, x2)) 177.33/63.29 mark(U63(x0, x1, x2)) 177.33/63.29 mark(U64(x0, x1, x2)) 177.33/63.29 mark(s(x0)) 177.33/63.29 mark(plus(x0, x1)) 177.33/63.29 mark(0) 177.33/63.29 U11(mark(x0), x1, x2) 177.33/63.29 U11(x0, mark(x1), x2) 177.33/63.29 U11(x0, x1, mark(x2)) 177.33/63.29 U11(active(x0), x1, x2) 177.33/63.29 U11(x0, active(x1), x2) 177.33/63.29 U11(x0, x1, active(x2)) 177.33/63.29 U12(mark(x0), x1, x2) 177.33/63.29 U12(x0, mark(x1), x2) 177.33/63.29 U12(x0, x1, mark(x2)) 177.33/63.29 U12(active(x0), x1, x2) 177.33/63.29 U12(x0, active(x1), x2) 177.33/63.29 U12(x0, x1, active(x2)) 177.33/63.29 isNatKind(mark(x0)) 177.33/63.29 isNatKind(active(x0)) 177.33/63.29 U13(mark(x0), x1, x2) 177.33/63.29 U13(x0, mark(x1), x2) 177.33/63.29 U13(x0, x1, mark(x2)) 177.33/63.29 U13(active(x0), x1, x2) 177.33/63.29 U13(x0, active(x1), x2) 177.33/63.29 U13(x0, x1, active(x2)) 177.33/63.29 U14(mark(x0), x1, x2) 177.33/63.29 U14(x0, mark(x1), x2) 177.33/63.29 U14(x0, x1, mark(x2)) 177.33/63.29 U14(active(x0), x1, x2) 177.33/63.29 U14(x0, active(x1), x2) 177.33/63.29 U14(x0, x1, active(x2)) 177.33/63.29 U15(mark(x0), x1) 177.33/63.29 U15(x0, mark(x1)) 177.33/63.29 U15(active(x0), x1) 177.33/63.29 U15(x0, active(x1)) 177.33/63.29 isNat(mark(x0)) 177.33/63.29 isNat(active(x0)) 177.33/63.29 U16(mark(x0)) 177.33/63.29 U16(active(x0)) 177.33/63.29 U21(mark(x0), x1) 177.33/63.29 U21(x0, mark(x1)) 177.33/63.29 U21(active(x0), x1) 177.33/63.29 U21(x0, active(x1)) 177.33/63.29 U22(mark(x0), x1) 177.33/63.29 U22(x0, mark(x1)) 177.33/63.29 U22(active(x0), x1) 177.33/63.29 U22(x0, active(x1)) 177.33/63.29 U23(mark(x0)) 177.33/63.29 U23(active(x0)) 177.33/63.29 U31(mark(x0), x1) 177.33/63.29 U31(x0, mark(x1)) 177.33/63.29 U31(active(x0), x1) 177.33/63.29 U31(x0, active(x1)) 177.33/63.29 U32(mark(x0)) 177.33/63.29 U32(active(x0)) 177.33/63.29 U41(mark(x0)) 177.33/63.29 U41(active(x0)) 177.33/63.29 U51(mark(x0), x1) 177.33/63.29 U51(x0, mark(x1)) 177.33/63.29 U51(active(x0), x1) 177.33/63.29 U51(x0, active(x1)) 177.33/63.29 U52(mark(x0), x1) 177.33/63.29 U52(x0, mark(x1)) 177.33/63.29 U52(active(x0), x1) 177.33/63.29 U52(x0, active(x1)) 177.33/63.29 U61(mark(x0), x1, x2) 177.33/63.29 U61(x0, mark(x1), x2) 177.33/63.29 U61(x0, x1, mark(x2)) 177.33/63.29 U61(active(x0), x1, x2) 177.33/63.29 U61(x0, active(x1), x2) 177.33/63.29 U61(x0, x1, active(x2)) 177.33/63.29 U62(mark(x0), x1, x2) 177.33/63.29 U62(x0, mark(x1), x2) 177.33/63.29 U62(x0, x1, mark(x2)) 177.33/63.29 U62(active(x0), x1, x2) 177.33/63.29 U62(x0, active(x1), x2) 177.33/63.29 U62(x0, x1, active(x2)) 177.33/63.29 U63(mark(x0), x1, x2) 177.33/63.29 U63(x0, mark(x1), x2) 177.33/63.29 U63(x0, x1, mark(x2)) 177.33/63.29 U63(active(x0), x1, x2) 177.33/63.29 U63(x0, active(x1), x2) 177.33/63.29 U63(x0, x1, active(x2)) 177.33/63.29 U64(mark(x0), x1, x2) 177.33/63.29 U64(x0, mark(x1), x2) 177.33/63.29 U64(x0, x1, mark(x2)) 177.33/63.29 U64(active(x0), x1, x2) 177.33/63.29 U64(x0, active(x1), x2) 177.33/63.29 U64(x0, x1, active(x2)) 177.33/63.29 s(mark(x0)) 177.33/63.29 s(active(x0)) 177.33/63.29 plus(mark(x0), x1) 177.33/63.29 plus(x0, mark(x1)) 177.33/63.29 plus(active(x0), x1) 177.33/63.29 plus(x0, active(x1)) 177.33/63.29 177.33/63.29 We have to consider all minimal (P,Q,R)-chains. 177.33/63.29 ---------------------------------------- 177.33/63.29 177.33/63.29 (198) QDPOrderProof (EQUIVALENT) 177.33/63.29 We use the reduction pair processor [LPAR04,JAR06]. 177.33/63.29 177.33/63.29 177.33/63.29 The following pairs can be oriented strictly and are deleted. 177.33/63.29 177.33/63.29 MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) 177.33/63.29 The remaining pairs can at least be oriented weakly. 177.33/63.29 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 177.33/63.29 177.33/63.29 POL( ACTIVE_1(x_1) ) = max{0, 2x_1 - 2} 177.33/63.29 POL( U11_3(x_1, ..., x_3) ) = 2 177.33/63.29 POL( U12_3(x_1, ..., x_3) ) = 2 177.33/63.29 POL( U13_3(x_1, ..., x_3) ) = 2 177.33/63.29 POL( U14_3(x_1, ..., x_3) ) = 2 177.33/63.29 POL( U15_2(x_1, x_2) ) = 2 177.33/63.29 POL( U21_2(x_1, x_2) ) = 0 177.33/63.29 POL( U22_2(x_1, x_2) ) = 2 177.33/63.29 POL( U31_2(x_1, x_2) ) = 2 177.33/63.29 POL( mark_1(x_1) ) = max{0, -2} 177.33/63.29 POL( active_1(x_1) ) = 2 177.33/63.29 POL( tt ) = 0 177.33/63.29 POL( isNatKind_1(x_1) ) = 2 177.33/63.29 POL( isNat_1(x_1) ) = 2 177.33/63.29 POL( U16_1(x_1) ) = max{0, -2} 177.33/63.29 POL( U23_1(x_1) ) = max{0, x_1 - 2} 177.33/63.29 POL( U32_1(x_1) ) = max{0, x_1 - 2} 177.33/63.29 POL( U51_2(x_1, x_2) ) = max{0, x_1 - 2} 177.33/63.29 POL( U52_2(x_1, x_2) ) = 1 177.33/63.29 POL( U61_3(x_1, ..., x_3) ) = max{0, 2x_2 - 2} 177.33/63.29 POL( U62_3(x_1, ..., x_3) ) = max{0, x_2 - 2} 177.33/63.29 POL( U63_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_2 - 2} 177.33/63.29 POL( U64_3(x_1, ..., x_3) ) = 2 177.33/63.29 POL( s_1(x_1) ) = max{0, x_1 - 2} 177.33/63.29 POL( plus_2(x_1, x_2) ) = max{0, 2x_2 - 2} 177.33/63.29 POL( U41_1(x_1) ) = max{0, -2} 177.33/63.29 POL( 0 ) = 2 177.33/63.29 POL( MARK_1(x_1) ) = 2 177.33/63.29 177.33/63.29 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 177.33/63.29 177.33/63.29 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.33/63.29 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.29 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.33/63.29 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.29 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.33/63.29 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.33/63.29 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.33/63.29 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.29 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.33/63.29 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.29 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.33/63.29 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.33/63.29 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.33/63.29 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.29 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.33/63.29 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.29 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.33/63.29 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.33/63.29 U15(X1, mark(X2)) -> U15(X1, X2) 177.33/63.29 U15(mark(X1), X2) -> U15(X1, X2) 177.33/63.29 U15(active(X1), X2) -> U15(X1, X2) 177.33/63.29 U15(X1, active(X2)) -> U15(X1, X2) 177.33/63.29 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.33/63.29 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.29 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.33/63.29 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.29 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.33/63.29 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.33/63.29 U22(X1, mark(X2)) -> U22(X1, X2) 177.33/63.29 U22(mark(X1), X2) -> U22(X1, X2) 177.33/63.29 U22(active(X1), X2) -> U22(X1, X2) 177.33/63.29 U22(X1, active(X2)) -> U22(X1, X2) 177.33/63.29 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.29 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.29 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.29 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.29 U21(X1, mark(X2)) -> U21(X1, X2) 177.33/63.29 U21(mark(X1), X2) -> U21(X1, X2) 177.33/63.29 U21(active(X1), X2) -> U21(X1, X2) 177.33/63.29 U21(X1, active(X2)) -> U21(X1, X2) 177.33/63.29 177.33/63.29 177.33/63.29 ---------------------------------------- 177.33/63.29 177.33/63.29 (199) 177.33/63.29 Obligation: 177.33/63.29 Q DP problem: 177.33/63.29 The TRS P consists of the following rules: 177.33/63.29 177.33/63.29 ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) 177.33/63.29 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 177.33/63.29 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.33/63.29 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.33/63.29 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.33/63.29 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.33/63.29 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.33/63.29 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.33/63.29 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.33/63.29 MARK(U16(X)) -> MARK(X) 177.33/63.29 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.33/63.29 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 177.33/63.29 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 177.33/63.29 MARK(U23(X)) -> MARK(X) 177.33/63.29 MARK(U11(X1, X2, X3)) -> MARK(X1) 177.33/63.29 MARK(U12(X1, X2, X3)) -> MARK(X1) 177.33/63.29 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.33/63.29 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.33/63.29 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.33/63.29 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.33/63.29 MARK(U32(X)) -> MARK(X) 177.33/63.29 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.33/63.29 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.33/63.29 MARK(U15(X1, X2)) -> MARK(X1) 177.33/63.29 MARK(isNat(X)) -> ACTIVE(isNat(X)) 177.33/63.29 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) 177.33/63.29 MARK(U22(X1, X2)) -> MARK(X1) 177.33/63.29 MARK(U31(X1, X2)) -> MARK(X1) 177.33/63.29 MARK(U41(X)) -> MARK(X) 177.33/63.29 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.33/63.29 177.33/63.29 The TRS R consists of the following rules: 177.33/63.29 177.33/63.29 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.33/63.29 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.33/63.29 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.33/63.29 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.33/63.29 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.33/63.29 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.33/63.29 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.33/63.29 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.33/63.29 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.33/63.29 mark(U16(X)) -> active(U16(mark(X))) 177.33/63.29 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.33/63.29 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.33/63.29 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.33/63.29 mark(U23(X)) -> active(U23(mark(X))) 177.33/63.29 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.33/63.29 mark(U32(X)) -> active(U32(mark(X))) 177.33/63.29 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.33/63.29 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.33/63.29 active(U52(tt, N)) -> mark(N) 177.33/63.29 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.33/63.29 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.33/63.29 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.33/63.29 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.33/63.29 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.33/63.29 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.33/63.29 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.33/63.29 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.33/63.29 mark(s(X)) -> active(s(mark(X))) 177.33/63.29 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.33/63.29 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.33/63.29 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.33/63.29 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.33/63.29 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.33/63.29 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.33/63.29 mark(U41(X)) -> active(U41(mark(X))) 177.33/63.29 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.33/63.29 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.33/63.29 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.33/63.29 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.33/63.29 mark(isNatKind(X)) -> active(isNatKind(X)) 177.33/63.29 mark(isNat(X)) -> active(isNat(X)) 177.33/63.29 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.33/63.29 mark(tt) -> active(tt) 177.33/63.29 mark(0) -> active(0) 177.33/63.29 plus(X1, mark(X2)) -> plus(X1, X2) 177.33/63.29 plus(mark(X1), X2) -> plus(X1, X2) 177.33/63.29 plus(active(X1), X2) -> plus(X1, X2) 177.33/63.29 plus(X1, active(X2)) -> plus(X1, X2) 177.33/63.29 active(U16(tt)) -> mark(tt) 177.33/63.29 active(U23(tt)) -> mark(tt) 177.33/63.29 active(U32(tt)) -> mark(tt) 177.33/63.29 active(U41(tt)) -> mark(tt) 177.33/63.29 active(isNat(0)) -> mark(tt) 177.33/63.29 active(isNatKind(0)) -> mark(tt) 177.33/63.29 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.33/63.29 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.29 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.33/63.29 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.29 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.33/63.29 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.33/63.29 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.33/63.29 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.29 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.33/63.29 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.29 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.33/63.29 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.33/63.29 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.33/63.29 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.29 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.33/63.29 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.29 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.33/63.29 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.33/63.29 U15(X1, mark(X2)) -> U15(X1, X2) 177.33/63.29 U15(mark(X1), X2) -> U15(X1, X2) 177.33/63.29 U15(active(X1), X2) -> U15(X1, X2) 177.33/63.29 U15(X1, active(X2)) -> U15(X1, X2) 177.33/63.29 U16(active(X)) -> U16(X) 177.33/63.29 U16(mark(X)) -> U16(X) 177.33/63.29 U22(X1, mark(X2)) -> U22(X1, X2) 177.33/63.29 U22(mark(X1), X2) -> U22(X1, X2) 177.33/63.29 U22(active(X1), X2) -> U22(X1, X2) 177.33/63.29 U22(X1, active(X2)) -> U22(X1, X2) 177.33/63.29 U23(active(X)) -> U23(X) 177.33/63.29 U23(mark(X)) -> U23(X) 177.33/63.29 U32(active(X)) -> U32(X) 177.33/63.29 U32(mark(X)) -> U32(X) 177.33/63.29 U52(X1, mark(X2)) -> U52(X1, X2) 177.33/63.29 U52(mark(X1), X2) -> U52(X1, X2) 177.33/63.29 U52(active(X1), X2) -> U52(X1, X2) 177.33/63.29 U52(X1, active(X2)) -> U52(X1, X2) 177.33/63.29 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.33/63.29 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.29 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.33/63.29 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.29 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.33/63.29 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.33/63.29 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.33/63.29 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.29 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.33/63.29 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.29 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.33/63.29 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.33/63.29 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.33/63.29 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.29 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.33/63.29 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.29 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.33/63.29 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.33/63.29 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.33/63.29 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.29 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.33/63.29 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.29 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.33/63.29 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.33/63.29 s(active(X)) -> s(X) 177.33/63.29 s(mark(X)) -> s(X) 177.33/63.29 U21(X1, mark(X2)) -> U21(X1, X2) 177.33/63.29 U21(mark(X1), X2) -> U21(X1, X2) 177.33/63.29 U21(active(X1), X2) -> U21(X1, X2) 177.33/63.29 U21(X1, active(X2)) -> U21(X1, X2) 177.33/63.29 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.29 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.29 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.29 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.29 U41(active(X)) -> U41(X) 177.33/63.29 U41(mark(X)) -> U41(X) 177.33/63.29 U51(X1, mark(X2)) -> U51(X1, X2) 177.33/63.29 U51(mark(X1), X2) -> U51(X1, X2) 177.33/63.29 U51(active(X1), X2) -> U51(X1, X2) 177.33/63.29 U51(X1, active(X2)) -> U51(X1, X2) 177.33/63.29 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.33/63.29 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.29 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.33/63.29 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.29 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.33/63.29 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.33/63.29 177.33/63.29 The set Q consists of the following terms: 177.33/63.29 177.33/63.29 active(U11(tt, x0, x1)) 177.33/63.29 active(U12(tt, x0, x1)) 177.33/63.29 active(U13(tt, x0, x1)) 177.33/63.29 active(U14(tt, x0, x1)) 177.33/63.29 active(U15(tt, x0)) 177.33/63.29 active(U16(tt)) 177.33/63.29 active(U21(tt, x0)) 177.33/63.29 active(U22(tt, x0)) 177.33/63.29 active(U23(tt)) 177.33/63.29 active(U31(tt, x0)) 177.33/63.29 active(U32(tt)) 177.33/63.29 active(U41(tt)) 177.33/63.29 active(U51(tt, x0)) 177.33/63.29 active(U52(tt, x0)) 177.33/63.29 active(U61(tt, x0, x1)) 177.33/63.29 active(U62(tt, x0, x1)) 177.33/63.29 active(U63(tt, x0, x1)) 177.33/63.29 active(U64(tt, x0, x1)) 177.33/63.29 active(isNat(0)) 177.33/63.29 active(isNat(plus(x0, x1))) 177.33/63.29 active(isNat(s(x0))) 177.33/63.29 active(isNatKind(0)) 177.33/63.29 active(isNatKind(plus(x0, x1))) 177.33/63.29 active(isNatKind(s(x0))) 177.33/63.29 active(plus(x0, 0)) 177.33/63.29 active(plus(x0, s(x1))) 177.33/63.29 mark(U11(x0, x1, x2)) 177.33/63.29 mark(tt) 177.33/63.29 mark(U12(x0, x1, x2)) 177.33/63.29 mark(isNatKind(x0)) 177.33/63.29 mark(U13(x0, x1, x2)) 177.33/63.29 mark(U14(x0, x1, x2)) 177.33/63.29 mark(U15(x0, x1)) 177.33/63.29 mark(isNat(x0)) 177.33/63.30 mark(U16(x0)) 177.33/63.30 mark(U21(x0, x1)) 177.33/63.30 mark(U22(x0, x1)) 177.33/63.30 mark(U23(x0)) 177.33/63.30 mark(U31(x0, x1)) 177.33/63.30 mark(U32(x0)) 177.33/63.30 mark(U41(x0)) 177.33/63.30 mark(U51(x0, x1)) 177.33/63.30 mark(U52(x0, x1)) 177.33/63.30 mark(U61(x0, x1, x2)) 177.33/63.30 mark(U62(x0, x1, x2)) 177.33/63.30 mark(U63(x0, x1, x2)) 177.33/63.30 mark(U64(x0, x1, x2)) 177.33/63.30 mark(s(x0)) 177.33/63.30 mark(plus(x0, x1)) 177.33/63.30 mark(0) 177.33/63.30 U11(mark(x0), x1, x2) 177.33/63.30 U11(x0, mark(x1), x2) 177.33/63.30 U11(x0, x1, mark(x2)) 177.33/63.30 U11(active(x0), x1, x2) 177.33/63.30 U11(x0, active(x1), x2) 177.33/63.30 U11(x0, x1, active(x2)) 177.33/63.30 U12(mark(x0), x1, x2) 177.33/63.30 U12(x0, mark(x1), x2) 177.33/63.30 U12(x0, x1, mark(x2)) 177.33/63.30 U12(active(x0), x1, x2) 177.33/63.30 U12(x0, active(x1), x2) 177.33/63.30 U12(x0, x1, active(x2)) 177.33/63.30 isNatKind(mark(x0)) 177.33/63.30 isNatKind(active(x0)) 177.33/63.30 U13(mark(x0), x1, x2) 177.33/63.30 U13(x0, mark(x1), x2) 177.33/63.30 U13(x0, x1, mark(x2)) 177.33/63.30 U13(active(x0), x1, x2) 177.33/63.30 U13(x0, active(x1), x2) 177.33/63.30 U13(x0, x1, active(x2)) 177.33/63.30 U14(mark(x0), x1, x2) 177.33/63.30 U14(x0, mark(x1), x2) 177.33/63.30 U14(x0, x1, mark(x2)) 177.33/63.30 U14(active(x0), x1, x2) 177.33/63.30 U14(x0, active(x1), x2) 177.33/63.30 U14(x0, x1, active(x2)) 177.33/63.30 U15(mark(x0), x1) 177.33/63.30 U15(x0, mark(x1)) 177.33/63.30 U15(active(x0), x1) 177.33/63.30 U15(x0, active(x1)) 177.33/63.30 isNat(mark(x0)) 177.33/63.30 isNat(active(x0)) 177.33/63.30 U16(mark(x0)) 177.33/63.30 U16(active(x0)) 177.33/63.30 U21(mark(x0), x1) 177.33/63.30 U21(x0, mark(x1)) 177.33/63.30 U21(active(x0), x1) 177.33/63.30 U21(x0, active(x1)) 177.33/63.30 U22(mark(x0), x1) 177.33/63.30 U22(x0, mark(x1)) 177.33/63.30 U22(active(x0), x1) 177.33/63.30 U22(x0, active(x1)) 177.33/63.30 U23(mark(x0)) 177.33/63.30 U23(active(x0)) 177.33/63.30 U31(mark(x0), x1) 177.33/63.30 U31(x0, mark(x1)) 177.33/63.30 U31(active(x0), x1) 177.33/63.30 U31(x0, active(x1)) 177.33/63.30 U32(mark(x0)) 177.33/63.30 U32(active(x0)) 177.33/63.30 U41(mark(x0)) 177.33/63.30 U41(active(x0)) 177.33/63.30 U51(mark(x0), x1) 177.33/63.30 U51(x0, mark(x1)) 177.33/63.30 U51(active(x0), x1) 177.33/63.30 U51(x0, active(x1)) 177.33/63.30 U52(mark(x0), x1) 177.33/63.30 U52(x0, mark(x1)) 177.33/63.30 U52(active(x0), x1) 177.33/63.30 U52(x0, active(x1)) 177.33/63.30 U61(mark(x0), x1, x2) 177.33/63.30 U61(x0, mark(x1), x2) 177.33/63.30 U61(x0, x1, mark(x2)) 177.33/63.30 U61(active(x0), x1, x2) 177.33/63.30 U61(x0, active(x1), x2) 177.33/63.30 U61(x0, x1, active(x2)) 177.33/63.30 U62(mark(x0), x1, x2) 177.33/63.30 U62(x0, mark(x1), x2) 177.33/63.30 U62(x0, x1, mark(x2)) 177.33/63.30 U62(active(x0), x1, x2) 177.33/63.30 U62(x0, active(x1), x2) 177.33/63.30 U62(x0, x1, active(x2)) 177.33/63.30 U63(mark(x0), x1, x2) 177.33/63.30 U63(x0, mark(x1), x2) 177.33/63.30 U63(x0, x1, mark(x2)) 177.33/63.30 U63(active(x0), x1, x2) 177.33/63.30 U63(x0, active(x1), x2) 177.33/63.30 U63(x0, x1, active(x2)) 177.33/63.30 U64(mark(x0), x1, x2) 177.33/63.30 U64(x0, mark(x1), x2) 177.33/63.30 U64(x0, x1, mark(x2)) 177.33/63.30 U64(active(x0), x1, x2) 177.33/63.30 U64(x0, active(x1), x2) 177.33/63.30 U64(x0, x1, active(x2)) 177.33/63.30 s(mark(x0)) 177.33/63.30 s(active(x0)) 177.33/63.30 plus(mark(x0), x1) 177.33/63.30 plus(x0, mark(x1)) 177.33/63.30 plus(active(x0), x1) 177.33/63.30 plus(x0, active(x1)) 177.33/63.30 177.33/63.30 We have to consider all minimal (P,Q,R)-chains. 177.33/63.30 ---------------------------------------- 177.33/63.30 177.33/63.30 (200) QDPOrderProof (EQUIVALENT) 177.33/63.30 We use the reduction pair processor [LPAR04,JAR06]. 177.33/63.30 177.33/63.30 177.33/63.30 The following pairs can be oriented strictly and are deleted. 177.33/63.30 177.33/63.30 MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) 177.33/63.30 MARK(U22(X1, X2)) -> MARK(X1) 177.33/63.30 The remaining pairs can at least be oriented weakly. 177.33/63.30 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 177.33/63.30 177.33/63.30 POL( ACTIVE_1(x_1) ) = max{0, -2} 177.33/63.30 POL( U11_3(x_1, ..., x_3) ) = 2x_1 + 1 177.33/63.30 POL( U12_3(x_1, ..., x_3) ) = 2x_1 + 1 177.33/63.30 POL( U13_3(x_1, ..., x_3) ) = x_1 + 1 177.33/63.30 POL( U14_3(x_1, ..., x_3) ) = x_1 + 1 177.33/63.30 POL( U15_2(x_1, x_2) ) = 2x_1 + 1 177.33/63.30 POL( U22_2(x_1, x_2) ) = 2x_1 + x_2 + 2 177.33/63.30 POL( U31_2(x_1, x_2) ) = x_1 + 1 177.33/63.30 POL( mark_1(x_1) ) = max{0, -2} 177.33/63.30 POL( active_1(x_1) ) = max{0, 2x_1 - 2} 177.33/63.30 POL( tt ) = 0 177.33/63.30 POL( isNatKind_1(x_1) ) = 0 177.33/63.30 POL( isNat_1(x_1) ) = 0 177.33/63.30 POL( U16_1(x_1) ) = 2x_1 + 1 177.33/63.30 POL( U21_2(x_1, x_2) ) = max{0, 2x_1 - 2} 177.33/63.30 POL( U23_1(x_1) ) = 2x_1 + 1 177.33/63.30 POL( U32_1(x_1) ) = x_1 + 1 177.33/63.30 POL( U51_2(x_1, x_2) ) = x_2 + 2 177.33/63.30 POL( U52_2(x_1, x_2) ) = x_2 + 2 177.33/63.30 POL( U61_3(x_1, ..., x_3) ) = 2x_2 + 2 177.33/63.30 POL( U62_3(x_1, ..., x_3) ) = x_1 + x_2 + x_3 + 2 177.33/63.30 POL( U63_3(x_1, ..., x_3) ) = max{0, 2x_1 + x_2 - 2} 177.33/63.30 POL( U64_3(x_1, ..., x_3) ) = x_2 + x_3 + 2 177.33/63.30 POL( s_1(x_1) ) = max{0, x_1 - 2} 177.33/63.30 POL( plus_2(x_1, x_2) ) = x_1 + 2 177.33/63.30 POL( U41_1(x_1) ) = x_1 + 1 177.33/63.30 POL( 0 ) = 2 177.33/63.30 POL( MARK_1(x_1) ) = max{0, x_1 - 1} 177.33/63.30 177.33/63.30 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 177.33/63.30 none 177.33/63.30 177.33/63.30 177.33/63.30 ---------------------------------------- 177.33/63.30 177.33/63.30 (201) 177.33/63.30 Obligation: 177.33/63.30 Q DP problem: 177.33/63.30 The TRS P consists of the following rules: 177.33/63.30 177.33/63.30 ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) 177.33/63.30 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 177.33/63.30 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.33/63.30 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.33/63.30 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.33/63.30 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.33/63.30 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.33/63.30 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.33/63.30 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.33/63.30 MARK(U16(X)) -> MARK(X) 177.33/63.30 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.33/63.30 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 177.33/63.30 MARK(U23(X)) -> MARK(X) 177.33/63.30 MARK(U11(X1, X2, X3)) -> MARK(X1) 177.33/63.30 MARK(U12(X1, X2, X3)) -> MARK(X1) 177.33/63.30 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.33/63.30 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.33/63.30 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.33/63.30 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.33/63.30 MARK(U32(X)) -> MARK(X) 177.33/63.30 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.33/63.30 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.33/63.30 MARK(U15(X1, X2)) -> MARK(X1) 177.33/63.30 MARK(isNat(X)) -> ACTIVE(isNat(X)) 177.33/63.30 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) 177.33/63.30 MARK(U31(X1, X2)) -> MARK(X1) 177.33/63.30 MARK(U41(X)) -> MARK(X) 177.33/63.30 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.33/63.30 177.33/63.30 The TRS R consists of the following rules: 177.33/63.30 177.33/63.30 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.33/63.30 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.33/63.30 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.33/63.30 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.33/63.30 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.33/63.30 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.33/63.30 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.33/63.30 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.33/63.30 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.33/63.30 mark(U16(X)) -> active(U16(mark(X))) 177.33/63.30 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.33/63.30 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.33/63.30 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.33/63.30 mark(U23(X)) -> active(U23(mark(X))) 177.33/63.30 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.33/63.30 mark(U32(X)) -> active(U32(mark(X))) 177.33/63.30 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.33/63.30 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.33/63.30 active(U52(tt, N)) -> mark(N) 177.33/63.30 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.33/63.30 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.33/63.30 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.33/63.30 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.33/63.30 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.33/63.30 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.33/63.30 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.33/63.30 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.33/63.30 mark(s(X)) -> active(s(mark(X))) 177.33/63.30 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.33/63.30 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.33/63.30 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.33/63.30 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.33/63.30 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.33/63.30 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.33/63.30 mark(U41(X)) -> active(U41(mark(X))) 177.33/63.30 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.33/63.30 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.33/63.30 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.33/63.30 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.33/63.30 mark(isNatKind(X)) -> active(isNatKind(X)) 177.33/63.30 mark(isNat(X)) -> active(isNat(X)) 177.33/63.30 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.33/63.30 mark(tt) -> active(tt) 177.33/63.30 mark(0) -> active(0) 177.33/63.30 plus(X1, mark(X2)) -> plus(X1, X2) 177.33/63.30 plus(mark(X1), X2) -> plus(X1, X2) 177.33/63.30 plus(active(X1), X2) -> plus(X1, X2) 177.33/63.30 plus(X1, active(X2)) -> plus(X1, X2) 177.33/63.30 active(U16(tt)) -> mark(tt) 177.33/63.30 active(U23(tt)) -> mark(tt) 177.33/63.30 active(U32(tt)) -> mark(tt) 177.33/63.30 active(U41(tt)) -> mark(tt) 177.33/63.30 active(isNat(0)) -> mark(tt) 177.33/63.30 active(isNatKind(0)) -> mark(tt) 177.33/63.30 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.33/63.30 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.30 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.33/63.30 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.30 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.33/63.30 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.33/63.30 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.33/63.30 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.30 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.33/63.30 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.30 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.33/63.30 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.33/63.30 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.33/63.30 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.30 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.33/63.30 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.30 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.33/63.30 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.33/63.30 U15(X1, mark(X2)) -> U15(X1, X2) 177.33/63.30 U15(mark(X1), X2) -> U15(X1, X2) 177.33/63.30 U15(active(X1), X2) -> U15(X1, X2) 177.33/63.30 U15(X1, active(X2)) -> U15(X1, X2) 177.33/63.30 U16(active(X)) -> U16(X) 177.33/63.30 U16(mark(X)) -> U16(X) 177.33/63.30 U22(X1, mark(X2)) -> U22(X1, X2) 177.33/63.30 U22(mark(X1), X2) -> U22(X1, X2) 177.33/63.30 U22(active(X1), X2) -> U22(X1, X2) 177.33/63.30 U22(X1, active(X2)) -> U22(X1, X2) 177.33/63.30 U23(active(X)) -> U23(X) 177.33/63.30 U23(mark(X)) -> U23(X) 177.33/63.30 U32(active(X)) -> U32(X) 177.33/63.30 U32(mark(X)) -> U32(X) 177.33/63.30 U52(X1, mark(X2)) -> U52(X1, X2) 177.33/63.30 U52(mark(X1), X2) -> U52(X1, X2) 177.33/63.30 U52(active(X1), X2) -> U52(X1, X2) 177.33/63.30 U52(X1, active(X2)) -> U52(X1, X2) 177.33/63.30 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.33/63.30 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.30 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.33/63.30 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.30 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.33/63.30 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.33/63.30 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.33/63.30 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.30 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.33/63.30 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.30 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.33/63.30 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.33/63.30 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.33/63.30 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.30 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.33/63.30 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.30 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.33/63.30 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.33/63.30 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.33/63.30 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.30 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.33/63.30 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.30 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.33/63.30 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.33/63.30 s(active(X)) -> s(X) 177.33/63.30 s(mark(X)) -> s(X) 177.33/63.30 U21(X1, mark(X2)) -> U21(X1, X2) 177.33/63.30 U21(mark(X1), X2) -> U21(X1, X2) 177.33/63.30 U21(active(X1), X2) -> U21(X1, X2) 177.33/63.30 U21(X1, active(X2)) -> U21(X1, X2) 177.33/63.30 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.30 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.30 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.30 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.30 U41(active(X)) -> U41(X) 177.33/63.30 U41(mark(X)) -> U41(X) 177.33/63.30 U51(X1, mark(X2)) -> U51(X1, X2) 177.33/63.30 U51(mark(X1), X2) -> U51(X1, X2) 177.33/63.30 U51(active(X1), X2) -> U51(X1, X2) 177.33/63.30 U51(X1, active(X2)) -> U51(X1, X2) 177.33/63.30 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.33/63.30 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.30 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.33/63.30 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.30 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.33/63.30 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.33/63.30 177.33/63.30 The set Q consists of the following terms: 177.33/63.30 177.33/63.30 active(U11(tt, x0, x1)) 177.33/63.30 active(U12(tt, x0, x1)) 177.33/63.30 active(U13(tt, x0, x1)) 177.33/63.30 active(U14(tt, x0, x1)) 177.33/63.30 active(U15(tt, x0)) 177.33/63.30 active(U16(tt)) 177.33/63.30 active(U21(tt, x0)) 177.33/63.30 active(U22(tt, x0)) 177.33/63.30 active(U23(tt)) 177.33/63.30 active(U31(tt, x0)) 177.33/63.30 active(U32(tt)) 177.33/63.30 active(U41(tt)) 177.33/63.30 active(U51(tt, x0)) 177.33/63.30 active(U52(tt, x0)) 177.33/63.30 active(U61(tt, x0, x1)) 177.33/63.30 active(U62(tt, x0, x1)) 177.33/63.30 active(U63(tt, x0, x1)) 177.33/63.30 active(U64(tt, x0, x1)) 177.33/63.30 active(isNat(0)) 177.33/63.30 active(isNat(plus(x0, x1))) 177.33/63.30 active(isNat(s(x0))) 177.33/63.30 active(isNatKind(0)) 177.33/63.30 active(isNatKind(plus(x0, x1))) 177.33/63.30 active(isNatKind(s(x0))) 177.33/63.30 active(plus(x0, 0)) 177.33/63.30 active(plus(x0, s(x1))) 177.33/63.30 mark(U11(x0, x1, x2)) 177.33/63.30 mark(tt) 177.33/63.30 mark(U12(x0, x1, x2)) 177.33/63.30 mark(isNatKind(x0)) 177.33/63.30 mark(U13(x0, x1, x2)) 177.33/63.30 mark(U14(x0, x1, x2)) 177.33/63.30 mark(U15(x0, x1)) 177.33/63.30 mark(isNat(x0)) 177.33/63.30 mark(U16(x0)) 177.33/63.30 mark(U21(x0, x1)) 177.33/63.30 mark(U22(x0, x1)) 177.33/63.30 mark(U23(x0)) 177.33/63.30 mark(U31(x0, x1)) 177.33/63.30 mark(U32(x0)) 177.33/63.30 mark(U41(x0)) 177.33/63.30 mark(U51(x0, x1)) 177.33/63.30 mark(U52(x0, x1)) 177.33/63.30 mark(U61(x0, x1, x2)) 177.33/63.30 mark(U62(x0, x1, x2)) 177.33/63.30 mark(U63(x0, x1, x2)) 177.33/63.30 mark(U64(x0, x1, x2)) 177.33/63.30 mark(s(x0)) 177.33/63.30 mark(plus(x0, x1)) 177.33/63.30 mark(0) 177.33/63.30 U11(mark(x0), x1, x2) 177.33/63.30 U11(x0, mark(x1), x2) 177.33/63.30 U11(x0, x1, mark(x2)) 177.33/63.30 U11(active(x0), x1, x2) 177.33/63.30 U11(x0, active(x1), x2) 177.33/63.30 U11(x0, x1, active(x2)) 177.33/63.30 U12(mark(x0), x1, x2) 177.33/63.30 U12(x0, mark(x1), x2) 177.33/63.30 U12(x0, x1, mark(x2)) 177.33/63.30 U12(active(x0), x1, x2) 177.33/63.30 U12(x0, active(x1), x2) 177.33/63.30 U12(x0, x1, active(x2)) 177.33/63.30 isNatKind(mark(x0)) 177.33/63.30 isNatKind(active(x0)) 177.33/63.30 U13(mark(x0), x1, x2) 177.33/63.30 U13(x0, mark(x1), x2) 177.33/63.30 U13(x0, x1, mark(x2)) 177.33/63.30 U13(active(x0), x1, x2) 177.33/63.30 U13(x0, active(x1), x2) 177.33/63.30 U13(x0, x1, active(x2)) 177.33/63.30 U14(mark(x0), x1, x2) 177.33/63.30 U14(x0, mark(x1), x2) 177.33/63.30 U14(x0, x1, mark(x2)) 177.33/63.30 U14(active(x0), x1, x2) 177.33/63.30 U14(x0, active(x1), x2) 177.33/63.30 U14(x0, x1, active(x2)) 177.33/63.30 U15(mark(x0), x1) 177.33/63.30 U15(x0, mark(x1)) 177.33/63.30 U15(active(x0), x1) 177.33/63.30 U15(x0, active(x1)) 177.33/63.30 isNat(mark(x0)) 177.33/63.30 isNat(active(x0)) 177.33/63.30 U16(mark(x0)) 177.33/63.30 U16(active(x0)) 177.33/63.30 U21(mark(x0), x1) 177.33/63.30 U21(x0, mark(x1)) 177.33/63.30 U21(active(x0), x1) 177.33/63.30 U21(x0, active(x1)) 177.33/63.30 U22(mark(x0), x1) 177.33/63.30 U22(x0, mark(x1)) 177.33/63.30 U22(active(x0), x1) 177.33/63.30 U22(x0, active(x1)) 177.33/63.30 U23(mark(x0)) 177.33/63.30 U23(active(x0)) 177.33/63.30 U31(mark(x0), x1) 177.33/63.30 U31(x0, mark(x1)) 177.33/63.30 U31(active(x0), x1) 177.33/63.30 U31(x0, active(x1)) 177.33/63.30 U32(mark(x0)) 177.33/63.30 U32(active(x0)) 177.33/63.30 U41(mark(x0)) 177.33/63.30 U41(active(x0)) 177.33/63.30 U51(mark(x0), x1) 177.33/63.30 U51(x0, mark(x1)) 177.33/63.30 U51(active(x0), x1) 177.33/63.30 U51(x0, active(x1)) 177.33/63.30 U52(mark(x0), x1) 177.33/63.30 U52(x0, mark(x1)) 177.33/63.30 U52(active(x0), x1) 177.33/63.30 U52(x0, active(x1)) 177.33/63.30 U61(mark(x0), x1, x2) 177.33/63.30 U61(x0, mark(x1), x2) 177.33/63.30 U61(x0, x1, mark(x2)) 177.33/63.30 U61(active(x0), x1, x2) 177.33/63.30 U61(x0, active(x1), x2) 177.33/63.30 U61(x0, x1, active(x2)) 177.33/63.30 U62(mark(x0), x1, x2) 177.33/63.30 U62(x0, mark(x1), x2) 177.33/63.30 U62(x0, x1, mark(x2)) 177.33/63.30 U62(active(x0), x1, x2) 177.33/63.30 U62(x0, active(x1), x2) 177.33/63.30 U62(x0, x1, active(x2)) 177.33/63.30 U63(mark(x0), x1, x2) 177.33/63.30 U63(x0, mark(x1), x2) 177.33/63.30 U63(x0, x1, mark(x2)) 177.33/63.30 U63(active(x0), x1, x2) 177.33/63.30 U63(x0, active(x1), x2) 177.33/63.30 U63(x0, x1, active(x2)) 177.33/63.30 U64(mark(x0), x1, x2) 177.33/63.30 U64(x0, mark(x1), x2) 177.33/63.30 U64(x0, x1, mark(x2)) 177.33/63.30 U64(active(x0), x1, x2) 177.33/63.30 U64(x0, active(x1), x2) 177.33/63.30 U64(x0, x1, active(x2)) 177.33/63.30 s(mark(x0)) 177.33/63.30 s(active(x0)) 177.33/63.30 plus(mark(x0), x1) 177.33/63.30 plus(x0, mark(x1)) 177.33/63.30 plus(active(x0), x1) 177.33/63.30 plus(x0, active(x1)) 177.33/63.30 177.33/63.30 We have to consider all minimal (P,Q,R)-chains. 177.33/63.30 ---------------------------------------- 177.33/63.30 177.33/63.30 (202) QDPOrderProof (EQUIVALENT) 177.33/63.30 We use the reduction pair processor [LPAR04,JAR06]. 177.33/63.30 177.33/63.30 177.33/63.30 The following pairs can be oriented strictly and are deleted. 177.33/63.30 177.33/63.30 ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) 177.33/63.30 The remaining pairs can at least be oriented weakly. 177.33/63.30 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 177.33/63.30 177.33/63.30 POL( ACTIVE_1(x_1) ) = x_1 177.33/63.30 POL( U11_3(x_1, ..., x_3) ) = 2 177.33/63.30 POL( U12_3(x_1, ..., x_3) ) = 2 177.33/63.30 POL( U13_3(x_1, ..., x_3) ) = 2 177.33/63.30 POL( U14_3(x_1, ..., x_3) ) = 2 177.33/63.30 POL( U15_2(x_1, x_2) ) = 2 177.33/63.30 POL( U31_2(x_1, x_2) ) = 2 177.33/63.30 POL( mark_1(x_1) ) = max{0, x_1 - 2} 177.33/63.30 POL( active_1(x_1) ) = max{0, x_1 - 2} 177.33/63.30 POL( tt ) = 2 177.33/63.30 POL( isNatKind_1(x_1) ) = 2 177.33/63.30 POL( isNat_1(x_1) ) = 2 177.33/63.30 POL( U16_1(x_1) ) = max{0, 2x_1 - 1} 177.33/63.30 POL( U21_2(x_1, x_2) ) = x_2 + 2 177.33/63.30 POL( U22_2(x_1, x_2) ) = 2x_1 + 2 177.33/63.30 POL( U23_1(x_1) ) = max{0, 2x_1 - 2} 177.33/63.30 POL( U32_1(x_1) ) = x_1 + 1 177.33/63.30 POL( U51_2(x_1, x_2) ) = max{0, 2x_2 - 2} 177.33/63.30 POL( U52_2(x_1, x_2) ) = x_1 + 2 177.33/63.30 POL( U61_3(x_1, ..., x_3) ) = 2x_3 + 2 177.33/63.30 POL( U62_3(x_1, ..., x_3) ) = x_1 + x_2 + 2 177.33/63.30 POL( U63_3(x_1, ..., x_3) ) = max{0, 2x_2 + 2x_3 - 2} 177.33/63.30 POL( U64_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_2 + 2x_3 - 2} 177.33/63.30 POL( s_1(x_1) ) = max{0, x_1 - 2} 177.33/63.30 POL( plus_2(x_1, x_2) ) = max{0, x_2 - 2} 177.33/63.30 POL( U41_1(x_1) ) = max{0, x_1 - 1} 177.33/63.30 POL( 0 ) = 0 177.33/63.30 POL( MARK_1(x_1) ) = 2 177.33/63.30 177.33/63.30 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 177.33/63.30 177.33/63.30 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.33/63.30 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.30 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.33/63.30 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.30 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.33/63.30 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.33/63.30 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.33/63.30 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.30 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.33/63.30 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.30 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.33/63.30 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.33/63.30 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.33/63.30 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.30 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.33/63.30 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.30 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.33/63.30 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.33/63.30 U15(X1, mark(X2)) -> U15(X1, X2) 177.33/63.30 U15(mark(X1), X2) -> U15(X1, X2) 177.33/63.30 U15(active(X1), X2) -> U15(X1, X2) 177.33/63.30 U15(X1, active(X2)) -> U15(X1, X2) 177.33/63.30 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.33/63.30 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.30 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.33/63.30 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.30 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.33/63.30 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.33/63.30 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.30 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.30 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.30 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.30 177.33/63.30 177.33/63.30 ---------------------------------------- 177.33/63.30 177.33/63.30 (203) 177.33/63.30 Obligation: 177.33/63.30 Q DP problem: 177.33/63.30 The TRS P consists of the following rules: 177.33/63.30 177.33/63.30 ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) 177.33/63.30 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 177.33/63.30 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.33/63.30 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.33/63.30 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.33/63.30 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.33/63.30 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.33/63.30 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.33/63.30 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.33/63.30 MARK(U16(X)) -> MARK(X) 177.33/63.30 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.33/63.30 MARK(U23(X)) -> MARK(X) 177.33/63.30 MARK(U11(X1, X2, X3)) -> MARK(X1) 177.33/63.30 MARK(U12(X1, X2, X3)) -> MARK(X1) 177.33/63.30 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.33/63.30 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.33/63.30 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.33/63.30 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.33/63.30 MARK(U32(X)) -> MARK(X) 177.33/63.30 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.33/63.30 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.33/63.30 MARK(U15(X1, X2)) -> MARK(X1) 177.33/63.30 MARK(isNat(X)) -> ACTIVE(isNat(X)) 177.33/63.30 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) 177.33/63.30 MARK(U31(X1, X2)) -> MARK(X1) 177.33/63.30 MARK(U41(X)) -> MARK(X) 177.33/63.30 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.33/63.30 177.33/63.30 The TRS R consists of the following rules: 177.33/63.30 177.33/63.30 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.33/63.30 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.33/63.30 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.33/63.30 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.33/63.30 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.33/63.30 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.33/63.30 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.33/63.30 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.33/63.30 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.33/63.30 mark(U16(X)) -> active(U16(mark(X))) 177.33/63.30 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.33/63.30 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.33/63.30 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.33/63.30 mark(U23(X)) -> active(U23(mark(X))) 177.33/63.30 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.33/63.30 mark(U32(X)) -> active(U32(mark(X))) 177.33/63.30 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.33/63.30 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.33/63.30 active(U52(tt, N)) -> mark(N) 177.33/63.30 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.33/63.30 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.33/63.30 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.33/63.30 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.33/63.30 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.33/63.30 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.33/63.30 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.33/63.30 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.33/63.30 mark(s(X)) -> active(s(mark(X))) 177.33/63.30 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.33/63.30 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.33/63.30 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.33/63.30 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.33/63.30 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.33/63.30 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.33/63.30 mark(U41(X)) -> active(U41(mark(X))) 177.33/63.30 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.33/63.30 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.33/63.30 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.33/63.30 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.33/63.30 mark(isNatKind(X)) -> active(isNatKind(X)) 177.33/63.30 mark(isNat(X)) -> active(isNat(X)) 177.33/63.30 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.33/63.30 mark(tt) -> active(tt) 177.33/63.30 mark(0) -> active(0) 177.33/63.30 plus(X1, mark(X2)) -> plus(X1, X2) 177.33/63.30 plus(mark(X1), X2) -> plus(X1, X2) 177.33/63.30 plus(active(X1), X2) -> plus(X1, X2) 177.33/63.30 plus(X1, active(X2)) -> plus(X1, X2) 177.33/63.30 active(U16(tt)) -> mark(tt) 177.33/63.30 active(U23(tt)) -> mark(tt) 177.33/63.30 active(U32(tt)) -> mark(tt) 177.33/63.30 active(U41(tt)) -> mark(tt) 177.33/63.30 active(isNat(0)) -> mark(tt) 177.33/63.30 active(isNatKind(0)) -> mark(tt) 177.33/63.30 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.33/63.30 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.30 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.33/63.30 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.30 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.33/63.30 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.33/63.30 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.33/63.30 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.30 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.33/63.30 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.30 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.33/63.30 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.33/63.30 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.33/63.30 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.30 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.33/63.30 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.30 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.33/63.30 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.33/63.30 U15(X1, mark(X2)) -> U15(X1, X2) 177.33/63.30 U15(mark(X1), X2) -> U15(X1, X2) 177.33/63.30 U15(active(X1), X2) -> U15(X1, X2) 177.33/63.30 U15(X1, active(X2)) -> U15(X1, X2) 177.33/63.30 U16(active(X)) -> U16(X) 177.33/63.30 U16(mark(X)) -> U16(X) 177.33/63.30 U22(X1, mark(X2)) -> U22(X1, X2) 177.33/63.30 U22(mark(X1), X2) -> U22(X1, X2) 177.33/63.30 U22(active(X1), X2) -> U22(X1, X2) 177.33/63.30 U22(X1, active(X2)) -> U22(X1, X2) 177.33/63.30 U23(active(X)) -> U23(X) 177.33/63.30 U23(mark(X)) -> U23(X) 177.33/63.30 U32(active(X)) -> U32(X) 177.33/63.30 U32(mark(X)) -> U32(X) 177.33/63.30 U52(X1, mark(X2)) -> U52(X1, X2) 177.33/63.30 U52(mark(X1), X2) -> U52(X1, X2) 177.33/63.30 U52(active(X1), X2) -> U52(X1, X2) 177.33/63.30 U52(X1, active(X2)) -> U52(X1, X2) 177.33/63.30 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.33/63.30 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.30 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.33/63.30 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.30 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.33/63.30 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.33/63.30 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.33/63.30 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.30 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.33/63.30 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.30 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.33/63.30 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.33/63.30 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.33/63.30 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.30 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.33/63.30 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.30 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.33/63.30 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.33/63.30 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.33/63.30 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.30 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.33/63.30 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.30 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.33/63.30 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.33/63.30 s(active(X)) -> s(X) 177.33/63.30 s(mark(X)) -> s(X) 177.33/63.30 U21(X1, mark(X2)) -> U21(X1, X2) 177.33/63.30 U21(mark(X1), X2) -> U21(X1, X2) 177.33/63.30 U21(active(X1), X2) -> U21(X1, X2) 177.33/63.30 U21(X1, active(X2)) -> U21(X1, X2) 177.33/63.30 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.30 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.30 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.30 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.30 U41(active(X)) -> U41(X) 177.33/63.30 U41(mark(X)) -> U41(X) 177.33/63.30 U51(X1, mark(X2)) -> U51(X1, X2) 177.33/63.30 U51(mark(X1), X2) -> U51(X1, X2) 177.33/63.30 U51(active(X1), X2) -> U51(X1, X2) 177.33/63.30 U51(X1, active(X2)) -> U51(X1, X2) 177.33/63.30 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.33/63.30 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.30 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.33/63.30 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.30 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.33/63.30 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.33/63.30 177.33/63.30 The set Q consists of the following terms: 177.33/63.30 177.33/63.30 active(U11(tt, x0, x1)) 177.33/63.30 active(U12(tt, x0, x1)) 177.33/63.30 active(U13(tt, x0, x1)) 177.33/63.30 active(U14(tt, x0, x1)) 177.33/63.30 active(U15(tt, x0)) 177.33/63.30 active(U16(tt)) 177.33/63.30 active(U21(tt, x0)) 177.33/63.30 active(U22(tt, x0)) 177.33/63.30 active(U23(tt)) 177.33/63.30 active(U31(tt, x0)) 177.33/63.30 active(U32(tt)) 177.33/63.30 active(U41(tt)) 177.33/63.30 active(U51(tt, x0)) 177.33/63.30 active(U52(tt, x0)) 177.33/63.30 active(U61(tt, x0, x1)) 177.33/63.30 active(U62(tt, x0, x1)) 177.33/63.30 active(U63(tt, x0, x1)) 177.33/63.30 active(U64(tt, x0, x1)) 177.33/63.30 active(isNat(0)) 177.33/63.30 active(isNat(plus(x0, x1))) 177.33/63.30 active(isNat(s(x0))) 177.33/63.30 active(isNatKind(0)) 177.33/63.30 active(isNatKind(plus(x0, x1))) 177.33/63.30 active(isNatKind(s(x0))) 177.33/63.30 active(plus(x0, 0)) 177.33/63.30 active(plus(x0, s(x1))) 177.33/63.30 mark(U11(x0, x1, x2)) 177.33/63.30 mark(tt) 177.33/63.30 mark(U12(x0, x1, x2)) 177.33/63.30 mark(isNatKind(x0)) 177.33/63.30 mark(U13(x0, x1, x2)) 177.33/63.30 mark(U14(x0, x1, x2)) 177.33/63.30 mark(U15(x0, x1)) 177.33/63.30 mark(isNat(x0)) 177.33/63.30 mark(U16(x0)) 177.33/63.30 mark(U21(x0, x1)) 177.33/63.30 mark(U22(x0, x1)) 177.33/63.30 mark(U23(x0)) 177.33/63.30 mark(U31(x0, x1)) 177.33/63.30 mark(U32(x0)) 177.33/63.30 mark(U41(x0)) 177.33/63.30 mark(U51(x0, x1)) 177.33/63.30 mark(U52(x0, x1)) 177.33/63.30 mark(U61(x0, x1, x2)) 177.33/63.30 mark(U62(x0, x1, x2)) 177.33/63.30 mark(U63(x0, x1, x2)) 177.33/63.30 mark(U64(x0, x1, x2)) 177.33/63.30 mark(s(x0)) 177.33/63.30 mark(plus(x0, x1)) 177.33/63.30 mark(0) 177.33/63.30 U11(mark(x0), x1, x2) 177.33/63.30 U11(x0, mark(x1), x2) 177.33/63.30 U11(x0, x1, mark(x2)) 177.33/63.30 U11(active(x0), x1, x2) 177.33/63.30 U11(x0, active(x1), x2) 177.33/63.30 U11(x0, x1, active(x2)) 177.33/63.30 U12(mark(x0), x1, x2) 177.33/63.30 U12(x0, mark(x1), x2) 177.33/63.30 U12(x0, x1, mark(x2)) 177.33/63.30 U12(active(x0), x1, x2) 177.33/63.30 U12(x0, active(x1), x2) 177.33/63.30 U12(x0, x1, active(x2)) 177.33/63.30 isNatKind(mark(x0)) 177.33/63.30 isNatKind(active(x0)) 177.33/63.30 U13(mark(x0), x1, x2) 177.33/63.30 U13(x0, mark(x1), x2) 177.33/63.30 U13(x0, x1, mark(x2)) 177.33/63.30 U13(active(x0), x1, x2) 177.33/63.30 U13(x0, active(x1), x2) 177.33/63.30 U13(x0, x1, active(x2)) 177.33/63.30 U14(mark(x0), x1, x2) 177.33/63.30 U14(x0, mark(x1), x2) 177.33/63.30 U14(x0, x1, mark(x2)) 177.33/63.30 U14(active(x0), x1, x2) 177.33/63.30 U14(x0, active(x1), x2) 177.33/63.30 U14(x0, x1, active(x2)) 177.33/63.30 U15(mark(x0), x1) 177.33/63.30 U15(x0, mark(x1)) 177.33/63.30 U15(active(x0), x1) 177.33/63.30 U15(x0, active(x1)) 177.33/63.30 isNat(mark(x0)) 177.33/63.30 isNat(active(x0)) 177.33/63.30 U16(mark(x0)) 177.33/63.30 U16(active(x0)) 177.33/63.30 U21(mark(x0), x1) 177.33/63.30 U21(x0, mark(x1)) 177.33/63.30 U21(active(x0), x1) 177.33/63.30 U21(x0, active(x1)) 177.33/63.30 U22(mark(x0), x1) 177.33/63.30 U22(x0, mark(x1)) 177.33/63.30 U22(active(x0), x1) 177.33/63.30 U22(x0, active(x1)) 177.33/63.30 U23(mark(x0)) 177.33/63.30 U23(active(x0)) 177.33/63.30 U31(mark(x0), x1) 177.33/63.30 U31(x0, mark(x1)) 177.33/63.30 U31(active(x0), x1) 177.33/63.30 U31(x0, active(x1)) 177.33/63.30 U32(mark(x0)) 177.33/63.30 U32(active(x0)) 177.33/63.30 U41(mark(x0)) 177.33/63.30 U41(active(x0)) 177.33/63.30 U51(mark(x0), x1) 177.33/63.30 U51(x0, mark(x1)) 177.33/63.30 U51(active(x0), x1) 177.33/63.30 U51(x0, active(x1)) 177.33/63.30 U52(mark(x0), x1) 177.33/63.30 U52(x0, mark(x1)) 177.33/63.30 U52(active(x0), x1) 177.33/63.30 U52(x0, active(x1)) 177.33/63.30 U61(mark(x0), x1, x2) 177.33/63.30 U61(x0, mark(x1), x2) 177.33/63.30 U61(x0, x1, mark(x2)) 177.33/63.30 U61(active(x0), x1, x2) 177.33/63.30 U61(x0, active(x1), x2) 177.33/63.30 U61(x0, x1, active(x2)) 177.33/63.30 U62(mark(x0), x1, x2) 177.33/63.30 U62(x0, mark(x1), x2) 177.33/63.30 U62(x0, x1, mark(x2)) 177.33/63.30 U62(active(x0), x1, x2) 177.33/63.30 U62(x0, active(x1), x2) 177.33/63.30 U62(x0, x1, active(x2)) 177.33/63.30 U63(mark(x0), x1, x2) 177.33/63.30 U63(x0, mark(x1), x2) 177.33/63.30 U63(x0, x1, mark(x2)) 177.33/63.30 U63(active(x0), x1, x2) 177.33/63.30 U63(x0, active(x1), x2) 177.33/63.30 U63(x0, x1, active(x2)) 177.33/63.30 U64(mark(x0), x1, x2) 177.33/63.30 U64(x0, mark(x1), x2) 177.33/63.30 U64(x0, x1, mark(x2)) 177.33/63.30 U64(active(x0), x1, x2) 177.33/63.30 U64(x0, active(x1), x2) 177.33/63.30 U64(x0, x1, active(x2)) 177.33/63.30 s(mark(x0)) 177.33/63.30 s(active(x0)) 177.33/63.30 plus(mark(x0), x1) 177.33/63.30 plus(x0, mark(x1)) 177.33/63.30 plus(active(x0), x1) 177.33/63.30 plus(x0, active(x1)) 177.33/63.30 177.33/63.30 We have to consider all minimal (P,Q,R)-chains. 177.33/63.30 ---------------------------------------- 177.33/63.30 177.33/63.30 (204) QDPQMonotonicMRRProof (EQUIVALENT) 177.33/63.30 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. 177.33/63.30 177.33/63.30 177.33/63.30 Strictly oriented rules of the TRS R: 177.33/63.30 177.33/63.30 active(U52(tt, N)) -> mark(N) 177.33/63.30 177.33/63.30 Used ordering: Polynomial interpretation [POLO]: 177.33/63.30 177.33/63.30 POL(0) = 2 177.33/63.30 POL(ACTIVE(x_1)) = 2*x_1 177.33/63.30 POL(MARK(x_1)) = 2*x_1 177.33/63.30 POL(U11(x_1, x_2, x_3)) = 2*x_1 177.33/63.30 POL(U12(x_1, x_2, x_3)) = 2*x_1 177.33/63.30 POL(U13(x_1, x_2, x_3)) = 2*x_1 177.33/63.30 POL(U14(x_1, x_2, x_3)) = 2*x_1 177.33/63.30 POL(U15(x_1, x_2)) = 2*x_1 177.33/63.30 POL(U16(x_1)) = 2*x_1 177.33/63.30 POL(U21(x_1, x_2)) = 2*x_1 177.33/63.30 POL(U22(x_1, x_2)) = x_1 177.33/63.30 POL(U23(x_1)) = x_1 177.33/63.30 POL(U31(x_1, x_2)) = x_1 177.33/63.30 POL(U32(x_1)) = 2*x_1 177.33/63.30 POL(U41(x_1)) = x_1 177.33/63.30 POL(U51(x_1, x_2)) = 2 + 2*x_1 + 2*x_2 177.33/63.30 POL(U52(x_1, x_2)) = 2 + x_1 + x_2 177.33/63.30 POL(U61(x_1, x_2, x_3)) = x_1 + x_2 + 2*x_3 177.33/63.30 POL(U62(x_1, x_2, x_3)) = x_1 + x_2 + 2*x_3 177.33/63.30 POL(U63(x_1, x_2, x_3)) = x_1 + x_2 + 2*x_3 177.33/63.30 POL(U64(x_1, x_2, x_3)) = x_1 + x_2 + 2*x_3 177.33/63.30 POL(active(x_1)) = x_1 177.33/63.30 POL(isNat(x_1)) = 0 177.33/63.30 POL(isNatKind(x_1)) = 0 177.33/63.30 POL(mark(x_1)) = x_1 177.33/63.30 POL(plus(x_1, x_2)) = 2*x_1 + x_2 177.33/63.30 POL(s(x_1)) = x_1 177.33/63.30 POL(tt) = 0 177.33/63.30 177.33/63.30 177.33/63.30 ---------------------------------------- 177.33/63.30 177.33/63.30 (205) 177.33/63.30 Obligation: 177.33/63.30 Q DP problem: 177.33/63.30 The TRS P consists of the following rules: 177.33/63.30 177.33/63.30 ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) 177.33/63.30 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 177.33/63.30 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.33/63.30 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.33/63.30 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.33/63.30 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.33/63.30 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.33/63.30 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.33/63.30 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.33/63.30 MARK(U16(X)) -> MARK(X) 177.33/63.30 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.33/63.30 MARK(U23(X)) -> MARK(X) 177.33/63.30 MARK(U11(X1, X2, X3)) -> MARK(X1) 177.33/63.30 MARK(U12(X1, X2, X3)) -> MARK(X1) 177.33/63.30 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.33/63.30 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.33/63.30 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.33/63.30 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.33/63.30 MARK(U32(X)) -> MARK(X) 177.33/63.30 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.33/63.30 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.33/63.30 MARK(U15(X1, X2)) -> MARK(X1) 177.33/63.30 MARK(isNat(X)) -> ACTIVE(isNat(X)) 177.33/63.30 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) 177.33/63.30 MARK(U31(X1, X2)) -> MARK(X1) 177.33/63.30 MARK(U41(X)) -> MARK(X) 177.33/63.30 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.33/63.30 177.33/63.30 The TRS R consists of the following rules: 177.33/63.30 177.33/63.30 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.33/63.30 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.33/63.30 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.33/63.30 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.33/63.30 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.33/63.30 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.33/63.30 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.33/63.30 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.33/63.30 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.33/63.30 mark(U16(X)) -> active(U16(mark(X))) 177.33/63.30 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.33/63.30 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.33/63.30 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.33/63.30 mark(U23(X)) -> active(U23(mark(X))) 177.33/63.30 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.33/63.30 mark(U32(X)) -> active(U32(mark(X))) 177.33/63.30 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.33/63.30 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.33/63.30 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.33/63.30 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.33/63.30 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.33/63.30 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.33/63.30 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.33/63.30 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.33/63.30 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.33/63.30 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.33/63.30 mark(s(X)) -> active(s(mark(X))) 177.33/63.30 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.33/63.30 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.33/63.30 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.33/63.30 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.33/63.30 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.33/63.30 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.33/63.30 mark(U41(X)) -> active(U41(mark(X))) 177.33/63.30 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.33/63.30 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.33/63.30 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.33/63.30 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.33/63.30 mark(isNatKind(X)) -> active(isNatKind(X)) 177.33/63.30 mark(isNat(X)) -> active(isNat(X)) 177.33/63.30 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.33/63.30 mark(tt) -> active(tt) 177.33/63.30 mark(0) -> active(0) 177.33/63.30 plus(X1, mark(X2)) -> plus(X1, X2) 177.33/63.30 plus(mark(X1), X2) -> plus(X1, X2) 177.33/63.30 plus(active(X1), X2) -> plus(X1, X2) 177.33/63.30 plus(X1, active(X2)) -> plus(X1, X2) 177.33/63.30 active(U16(tt)) -> mark(tt) 177.33/63.30 active(U23(tt)) -> mark(tt) 177.33/63.30 active(U32(tt)) -> mark(tt) 177.33/63.30 active(U41(tt)) -> mark(tt) 177.33/63.30 active(isNat(0)) -> mark(tt) 177.33/63.30 active(isNatKind(0)) -> mark(tt) 177.33/63.30 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.33/63.30 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.30 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.33/63.30 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.30 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.33/63.30 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.33/63.30 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.33/63.30 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.30 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.33/63.30 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.30 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.33/63.30 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.33/63.30 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.33/63.30 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.30 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.33/63.30 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.30 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.33/63.30 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.33/63.30 U15(X1, mark(X2)) -> U15(X1, X2) 177.33/63.30 U15(mark(X1), X2) -> U15(X1, X2) 177.33/63.30 U15(active(X1), X2) -> U15(X1, X2) 177.33/63.30 U15(X1, active(X2)) -> U15(X1, X2) 177.33/63.30 U16(active(X)) -> U16(X) 177.33/63.30 U16(mark(X)) -> U16(X) 177.33/63.30 U22(X1, mark(X2)) -> U22(X1, X2) 177.33/63.30 U22(mark(X1), X2) -> U22(X1, X2) 177.33/63.30 U22(active(X1), X2) -> U22(X1, X2) 177.33/63.30 U22(X1, active(X2)) -> U22(X1, X2) 177.33/63.30 U23(active(X)) -> U23(X) 177.33/63.30 U23(mark(X)) -> U23(X) 177.33/63.30 U32(active(X)) -> U32(X) 177.33/63.30 U32(mark(X)) -> U32(X) 177.33/63.30 U52(X1, mark(X2)) -> U52(X1, X2) 177.33/63.30 U52(mark(X1), X2) -> U52(X1, X2) 177.33/63.30 U52(active(X1), X2) -> U52(X1, X2) 177.33/63.30 U52(X1, active(X2)) -> U52(X1, X2) 177.33/63.30 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.33/63.30 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.30 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.33/63.30 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.30 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.33/63.30 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.33/63.30 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.33/63.30 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.30 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.33/63.30 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.30 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.33/63.30 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.33/63.30 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.33/63.30 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.30 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.33/63.30 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.30 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.33/63.30 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.33/63.30 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.33/63.30 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.30 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.33/63.30 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.30 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.33/63.30 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.33/63.30 s(active(X)) -> s(X) 177.33/63.30 s(mark(X)) -> s(X) 177.33/63.30 U21(X1, mark(X2)) -> U21(X1, X2) 177.33/63.30 U21(mark(X1), X2) -> U21(X1, X2) 177.33/63.30 U21(active(X1), X2) -> U21(X1, X2) 177.33/63.30 U21(X1, active(X2)) -> U21(X1, X2) 177.33/63.30 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.30 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.30 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.30 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.30 U41(active(X)) -> U41(X) 177.33/63.30 U41(mark(X)) -> U41(X) 177.33/63.30 U51(X1, mark(X2)) -> U51(X1, X2) 177.33/63.30 U51(mark(X1), X2) -> U51(X1, X2) 177.33/63.30 U51(active(X1), X2) -> U51(X1, X2) 177.33/63.30 U51(X1, active(X2)) -> U51(X1, X2) 177.33/63.30 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.33/63.30 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.30 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.33/63.30 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.30 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.33/63.30 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.33/63.30 177.33/63.30 The set Q consists of the following terms: 177.33/63.30 177.33/63.30 active(U11(tt, x0, x1)) 177.33/63.30 active(U12(tt, x0, x1)) 177.33/63.30 active(U13(tt, x0, x1)) 177.33/63.30 active(U14(tt, x0, x1)) 177.33/63.30 active(U15(tt, x0)) 177.33/63.30 active(U16(tt)) 177.33/63.30 active(U21(tt, x0)) 177.33/63.30 active(U22(tt, x0)) 177.33/63.30 active(U23(tt)) 177.33/63.30 active(U31(tt, x0)) 177.33/63.30 active(U32(tt)) 177.33/63.30 active(U41(tt)) 177.33/63.30 active(U51(tt, x0)) 177.33/63.30 active(U52(tt, x0)) 177.33/63.30 active(U61(tt, x0, x1)) 177.33/63.30 active(U62(tt, x0, x1)) 177.33/63.30 active(U63(tt, x0, x1)) 177.33/63.30 active(U64(tt, x0, x1)) 177.33/63.30 active(isNat(0)) 177.33/63.30 active(isNat(plus(x0, x1))) 177.33/63.30 active(isNat(s(x0))) 177.33/63.30 active(isNatKind(0)) 177.33/63.30 active(isNatKind(plus(x0, x1))) 177.33/63.30 active(isNatKind(s(x0))) 177.33/63.30 active(plus(x0, 0)) 177.33/63.30 active(plus(x0, s(x1))) 177.33/63.30 mark(U11(x0, x1, x2)) 177.33/63.30 mark(tt) 177.33/63.30 mark(U12(x0, x1, x2)) 177.33/63.30 mark(isNatKind(x0)) 177.33/63.30 mark(U13(x0, x1, x2)) 177.33/63.30 mark(U14(x0, x1, x2)) 177.33/63.30 mark(U15(x0, x1)) 177.33/63.30 mark(isNat(x0)) 177.33/63.30 mark(U16(x0)) 177.33/63.30 mark(U21(x0, x1)) 177.33/63.30 mark(U22(x0, x1)) 177.33/63.30 mark(U23(x0)) 177.33/63.30 mark(U31(x0, x1)) 177.33/63.30 mark(U32(x0)) 177.33/63.30 mark(U41(x0)) 177.33/63.30 mark(U51(x0, x1)) 177.33/63.30 mark(U52(x0, x1)) 177.33/63.30 mark(U61(x0, x1, x2)) 177.33/63.30 mark(U62(x0, x1, x2)) 177.33/63.30 mark(U63(x0, x1, x2)) 177.33/63.30 mark(U64(x0, x1, x2)) 177.33/63.30 mark(s(x0)) 177.33/63.30 mark(plus(x0, x1)) 177.33/63.30 mark(0) 177.33/63.30 U11(mark(x0), x1, x2) 177.33/63.30 U11(x0, mark(x1), x2) 177.33/63.30 U11(x0, x1, mark(x2)) 177.33/63.30 U11(active(x0), x1, x2) 177.33/63.30 U11(x0, active(x1), x2) 177.33/63.30 U11(x0, x1, active(x2)) 177.33/63.30 U12(mark(x0), x1, x2) 177.33/63.30 U12(x0, mark(x1), x2) 177.33/63.30 U12(x0, x1, mark(x2)) 177.33/63.30 U12(active(x0), x1, x2) 177.33/63.30 U12(x0, active(x1), x2) 177.33/63.30 U12(x0, x1, active(x2)) 177.33/63.30 isNatKind(mark(x0)) 177.33/63.30 isNatKind(active(x0)) 177.33/63.30 U13(mark(x0), x1, x2) 177.33/63.30 U13(x0, mark(x1), x2) 177.33/63.30 U13(x0, x1, mark(x2)) 177.33/63.30 U13(active(x0), x1, x2) 177.33/63.30 U13(x0, active(x1), x2) 177.33/63.30 U13(x0, x1, active(x2)) 177.33/63.30 U14(mark(x0), x1, x2) 177.33/63.30 U14(x0, mark(x1), x2) 177.33/63.30 U14(x0, x1, mark(x2)) 177.33/63.30 U14(active(x0), x1, x2) 177.33/63.30 U14(x0, active(x1), x2) 177.33/63.30 U14(x0, x1, active(x2)) 177.33/63.30 U15(mark(x0), x1) 177.33/63.30 U15(x0, mark(x1)) 177.33/63.30 U15(active(x0), x1) 177.33/63.30 U15(x0, active(x1)) 177.33/63.30 isNat(mark(x0)) 177.33/63.30 isNat(active(x0)) 177.33/63.30 U16(mark(x0)) 177.33/63.30 U16(active(x0)) 177.33/63.30 U21(mark(x0), x1) 177.33/63.30 U21(x0, mark(x1)) 177.33/63.30 U21(active(x0), x1) 177.33/63.30 U21(x0, active(x1)) 177.33/63.30 U22(mark(x0), x1) 177.33/63.30 U22(x0, mark(x1)) 177.33/63.30 U22(active(x0), x1) 177.33/63.30 U22(x0, active(x1)) 177.33/63.30 U23(mark(x0)) 177.33/63.30 U23(active(x0)) 177.33/63.30 U31(mark(x0), x1) 177.33/63.30 U31(x0, mark(x1)) 177.33/63.30 U31(active(x0), x1) 177.33/63.30 U31(x0, active(x1)) 177.33/63.30 U32(mark(x0)) 177.33/63.30 U32(active(x0)) 177.33/63.30 U41(mark(x0)) 177.33/63.30 U41(active(x0)) 177.33/63.30 U51(mark(x0), x1) 177.33/63.30 U51(x0, mark(x1)) 177.33/63.30 U51(active(x0), x1) 177.33/63.30 U51(x0, active(x1)) 177.33/63.30 U52(mark(x0), x1) 177.33/63.30 U52(x0, mark(x1)) 177.33/63.30 U52(active(x0), x1) 177.33/63.30 U52(x0, active(x1)) 177.33/63.30 U61(mark(x0), x1, x2) 177.33/63.30 U61(x0, mark(x1), x2) 177.33/63.30 U61(x0, x1, mark(x2)) 177.33/63.30 U61(active(x0), x1, x2) 177.33/63.30 U61(x0, active(x1), x2) 177.33/63.30 U61(x0, x1, active(x2)) 177.33/63.30 U62(mark(x0), x1, x2) 177.33/63.30 U62(x0, mark(x1), x2) 177.33/63.30 U62(x0, x1, mark(x2)) 177.33/63.30 U62(active(x0), x1, x2) 177.33/63.30 U62(x0, active(x1), x2) 177.33/63.30 U62(x0, x1, active(x2)) 177.33/63.30 U63(mark(x0), x1, x2) 177.33/63.30 U63(x0, mark(x1), x2) 177.33/63.30 U63(x0, x1, mark(x2)) 177.33/63.30 U63(active(x0), x1, x2) 177.33/63.30 U63(x0, active(x1), x2) 177.33/63.30 U63(x0, x1, active(x2)) 177.33/63.30 U64(mark(x0), x1, x2) 177.33/63.30 U64(x0, mark(x1), x2) 177.33/63.30 U64(x0, x1, mark(x2)) 177.33/63.30 U64(active(x0), x1, x2) 177.33/63.30 U64(x0, active(x1), x2) 177.33/63.30 U64(x0, x1, active(x2)) 177.33/63.30 s(mark(x0)) 177.33/63.30 s(active(x0)) 177.33/63.30 plus(mark(x0), x1) 177.33/63.30 plus(x0, mark(x1)) 177.33/63.30 plus(active(x0), x1) 177.33/63.30 plus(x0, active(x1)) 177.33/63.30 177.33/63.30 We have to consider all minimal (P,Q,R)-chains. 177.33/63.30 ---------------------------------------- 177.33/63.30 177.33/63.30 (206) QDPQMonotonicMRRProof (EQUIVALENT) 177.33/63.30 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. 177.33/63.30 177.33/63.30 177.33/63.30 Strictly oriented rules of the TRS R: 177.33/63.30 177.33/63.30 active(plus(N, 0)) -> mark(U51(isNat(N), N)) 177.33/63.30 177.33/63.30 Used ordering: Polynomial interpretation [POLO]: 177.33/63.30 177.33/63.30 POL(0) = 2 177.33/63.30 POL(ACTIVE(x_1)) = x_1 177.33/63.30 POL(MARK(x_1)) = 2*x_1 177.33/63.30 POL(U11(x_1, x_2, x_3)) = x_1 177.33/63.30 POL(U12(x_1, x_2, x_3)) = 2*x_1 177.33/63.30 POL(U13(x_1, x_2, x_3)) = 2*x_1 177.33/63.30 POL(U14(x_1, x_2, x_3)) = x_1 177.33/63.30 POL(U15(x_1, x_2)) = x_1 177.33/63.30 POL(U16(x_1)) = 2*x_1 177.33/63.30 POL(U21(x_1, x_2)) = x_1 177.33/63.30 POL(U22(x_1, x_2)) = x_1 177.33/63.30 POL(U23(x_1)) = x_1 177.33/63.30 POL(U31(x_1, x_2)) = 2*x_1 177.33/63.30 POL(U32(x_1)) = 2*x_1 177.33/63.30 POL(U41(x_1)) = x_1 177.33/63.30 POL(U51(x_1, x_2)) = x_1 177.33/63.30 POL(U52(x_1, x_2)) = x_1 177.33/63.30 POL(U61(x_1, x_2, x_3)) = x_1 + 2*x_2 + x_3 177.33/63.30 POL(U62(x_1, x_2, x_3)) = 2*x_1 + 2*x_2 + x_3 177.33/63.30 POL(U63(x_1, x_2, x_3)) = x_1 + 2*x_2 + x_3 177.33/63.30 POL(U64(x_1, x_2, x_3)) = 2*x_1 + 2*x_2 + x_3 177.33/63.30 POL(active(x_1)) = x_1 177.33/63.30 POL(isNat(x_1)) = 0 177.33/63.30 POL(isNatKind(x_1)) = 0 177.33/63.30 POL(mark(x_1)) = x_1 177.33/63.30 POL(plus(x_1, x_2)) = x_1 + 2*x_2 177.33/63.30 POL(s(x_1)) = x_1 177.33/63.30 POL(tt) = 0 177.33/63.30 177.33/63.30 177.33/63.30 ---------------------------------------- 177.33/63.30 177.33/63.30 (207) 177.33/63.30 Obligation: 177.33/63.30 Q DP problem: 177.33/63.30 The TRS P consists of the following rules: 177.33/63.30 177.33/63.30 ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) 177.33/63.30 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 177.33/63.30 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.33/63.30 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.33/63.30 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.33/63.30 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.33/63.30 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.33/63.30 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.33/63.30 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.33/63.30 MARK(U16(X)) -> MARK(X) 177.33/63.30 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.33/63.30 MARK(U23(X)) -> MARK(X) 177.33/63.30 MARK(U11(X1, X2, X3)) -> MARK(X1) 177.33/63.30 MARK(U12(X1, X2, X3)) -> MARK(X1) 177.33/63.30 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.33/63.30 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.33/63.30 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.33/63.30 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.33/63.30 MARK(U32(X)) -> MARK(X) 177.33/63.30 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.33/63.30 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.33/63.30 MARK(U15(X1, X2)) -> MARK(X1) 177.33/63.30 MARK(isNat(X)) -> ACTIVE(isNat(X)) 177.33/63.30 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) 177.33/63.30 MARK(U31(X1, X2)) -> MARK(X1) 177.33/63.30 MARK(U41(X)) -> MARK(X) 177.33/63.30 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.33/63.30 177.33/63.30 The TRS R consists of the following rules: 177.33/63.30 177.33/63.30 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.33/63.30 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.33/63.30 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.33/63.30 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.33/63.30 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.33/63.30 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.33/63.30 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.33/63.30 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.33/63.30 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.33/63.30 mark(U16(X)) -> active(U16(mark(X))) 177.33/63.30 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.33/63.30 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.33/63.30 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.33/63.30 mark(U23(X)) -> active(U23(mark(X))) 177.33/63.30 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.33/63.30 mark(U32(X)) -> active(U32(mark(X))) 177.33/63.30 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.33/63.30 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.33/63.30 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.33/63.30 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.33/63.30 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.33/63.30 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.33/63.30 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.33/63.30 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.33/63.30 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.33/63.30 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.33/63.30 mark(s(X)) -> active(s(mark(X))) 177.33/63.30 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.33/63.30 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.33/63.30 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.33/63.30 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.33/63.30 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.33/63.30 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.33/63.30 mark(U41(X)) -> active(U41(mark(X))) 177.33/63.30 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.33/63.30 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.33/63.30 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.33/63.30 mark(isNatKind(X)) -> active(isNatKind(X)) 177.33/63.30 mark(isNat(X)) -> active(isNat(X)) 177.33/63.30 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.33/63.30 mark(tt) -> active(tt) 177.33/63.30 mark(0) -> active(0) 177.33/63.30 plus(X1, mark(X2)) -> plus(X1, X2) 177.33/63.30 plus(mark(X1), X2) -> plus(X1, X2) 177.33/63.30 plus(active(X1), X2) -> plus(X1, X2) 177.33/63.30 plus(X1, active(X2)) -> plus(X1, X2) 177.33/63.30 active(U16(tt)) -> mark(tt) 177.33/63.30 active(U23(tt)) -> mark(tt) 177.33/63.30 active(U32(tt)) -> mark(tt) 177.33/63.30 active(U41(tt)) -> mark(tt) 177.33/63.30 active(isNat(0)) -> mark(tt) 177.33/63.30 active(isNatKind(0)) -> mark(tt) 177.33/63.30 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.33/63.30 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.30 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.33/63.30 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.30 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.33/63.30 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.33/63.30 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.33/63.30 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.30 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.33/63.30 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.30 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.33/63.30 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.33/63.30 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.33/63.30 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.30 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.33/63.30 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.30 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.33/63.30 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.33/63.30 U15(X1, mark(X2)) -> U15(X1, X2) 177.33/63.30 U15(mark(X1), X2) -> U15(X1, X2) 177.33/63.30 U15(active(X1), X2) -> U15(X1, X2) 177.33/63.30 U15(X1, active(X2)) -> U15(X1, X2) 177.33/63.30 U16(active(X)) -> U16(X) 177.33/63.30 U16(mark(X)) -> U16(X) 177.33/63.30 U22(X1, mark(X2)) -> U22(X1, X2) 177.33/63.30 U22(mark(X1), X2) -> U22(X1, X2) 177.33/63.30 U22(active(X1), X2) -> U22(X1, X2) 177.33/63.30 U22(X1, active(X2)) -> U22(X1, X2) 177.33/63.30 U23(active(X)) -> U23(X) 177.33/63.30 U23(mark(X)) -> U23(X) 177.33/63.30 U32(active(X)) -> U32(X) 177.33/63.30 U32(mark(X)) -> U32(X) 177.33/63.30 U52(X1, mark(X2)) -> U52(X1, X2) 177.33/63.30 U52(mark(X1), X2) -> U52(X1, X2) 177.33/63.30 U52(active(X1), X2) -> U52(X1, X2) 177.33/63.30 U52(X1, active(X2)) -> U52(X1, X2) 177.33/63.30 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.33/63.30 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.30 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.33/63.30 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.30 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.33/63.30 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.33/63.30 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.33/63.30 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.30 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.33/63.30 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.30 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.33/63.30 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.33/63.30 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.33/63.30 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.30 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.33/63.30 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.30 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.33/63.30 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.33/63.30 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.33/63.30 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.30 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.33/63.30 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.30 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.33/63.30 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.33/63.30 s(active(X)) -> s(X) 177.33/63.30 s(mark(X)) -> s(X) 177.33/63.30 U21(X1, mark(X2)) -> U21(X1, X2) 177.33/63.30 U21(mark(X1), X2) -> U21(X1, X2) 177.33/63.30 U21(active(X1), X2) -> U21(X1, X2) 177.33/63.30 U21(X1, active(X2)) -> U21(X1, X2) 177.33/63.30 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.30 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.30 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.30 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.30 U41(active(X)) -> U41(X) 177.33/63.30 U41(mark(X)) -> U41(X) 177.33/63.30 U51(X1, mark(X2)) -> U51(X1, X2) 177.33/63.30 U51(mark(X1), X2) -> U51(X1, X2) 177.33/63.30 U51(active(X1), X2) -> U51(X1, X2) 177.33/63.30 U51(X1, active(X2)) -> U51(X1, X2) 177.33/63.30 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.33/63.30 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.30 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.33/63.30 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.30 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.33/63.30 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.33/63.30 177.33/63.30 The set Q consists of the following terms: 177.33/63.30 177.33/63.30 active(U11(tt, x0, x1)) 177.33/63.30 active(U12(tt, x0, x1)) 177.33/63.30 active(U13(tt, x0, x1)) 177.33/63.30 active(U14(tt, x0, x1)) 177.33/63.30 active(U15(tt, x0)) 177.33/63.30 active(U16(tt)) 177.33/63.30 active(U21(tt, x0)) 177.33/63.30 active(U22(tt, x0)) 177.33/63.30 active(U23(tt)) 177.33/63.30 active(U31(tt, x0)) 177.33/63.30 active(U32(tt)) 177.33/63.30 active(U41(tt)) 177.33/63.30 active(U51(tt, x0)) 177.33/63.30 active(U52(tt, x0)) 177.33/63.30 active(U61(tt, x0, x1)) 177.33/63.30 active(U62(tt, x0, x1)) 177.33/63.30 active(U63(tt, x0, x1)) 177.33/63.30 active(U64(tt, x0, x1)) 177.33/63.30 active(isNat(0)) 177.33/63.30 active(isNat(plus(x0, x1))) 177.33/63.30 active(isNat(s(x0))) 177.33/63.30 active(isNatKind(0)) 177.33/63.30 active(isNatKind(plus(x0, x1))) 177.33/63.30 active(isNatKind(s(x0))) 177.33/63.30 active(plus(x0, 0)) 177.33/63.30 active(plus(x0, s(x1))) 177.33/63.30 mark(U11(x0, x1, x2)) 177.33/63.30 mark(tt) 177.33/63.30 mark(U12(x0, x1, x2)) 177.33/63.30 mark(isNatKind(x0)) 177.33/63.30 mark(U13(x0, x1, x2)) 177.33/63.30 mark(U14(x0, x1, x2)) 177.33/63.30 mark(U15(x0, x1)) 177.33/63.30 mark(isNat(x0)) 177.33/63.30 mark(U16(x0)) 177.33/63.30 mark(U21(x0, x1)) 177.33/63.30 mark(U22(x0, x1)) 177.33/63.30 mark(U23(x0)) 177.33/63.30 mark(U31(x0, x1)) 177.33/63.30 mark(U32(x0)) 177.33/63.30 mark(U41(x0)) 177.33/63.30 mark(U51(x0, x1)) 177.33/63.30 mark(U52(x0, x1)) 177.33/63.30 mark(U61(x0, x1, x2)) 177.33/63.30 mark(U62(x0, x1, x2)) 177.33/63.30 mark(U63(x0, x1, x2)) 177.33/63.30 mark(U64(x0, x1, x2)) 177.33/63.30 mark(s(x0)) 177.33/63.30 mark(plus(x0, x1)) 177.33/63.30 mark(0) 177.33/63.30 U11(mark(x0), x1, x2) 177.33/63.30 U11(x0, mark(x1), x2) 177.33/63.30 U11(x0, x1, mark(x2)) 177.33/63.30 U11(active(x0), x1, x2) 177.33/63.30 U11(x0, active(x1), x2) 177.33/63.30 U11(x0, x1, active(x2)) 177.33/63.30 U12(mark(x0), x1, x2) 177.33/63.30 U12(x0, mark(x1), x2) 177.33/63.30 U12(x0, x1, mark(x2)) 177.33/63.30 U12(active(x0), x1, x2) 177.33/63.30 U12(x0, active(x1), x2) 177.33/63.30 U12(x0, x1, active(x2)) 177.33/63.30 isNatKind(mark(x0)) 177.33/63.30 isNatKind(active(x0)) 177.33/63.30 U13(mark(x0), x1, x2) 177.33/63.30 U13(x0, mark(x1), x2) 177.33/63.30 U13(x0, x1, mark(x2)) 177.33/63.30 U13(active(x0), x1, x2) 177.33/63.30 U13(x0, active(x1), x2) 177.33/63.30 U13(x0, x1, active(x2)) 177.33/63.30 U14(mark(x0), x1, x2) 177.33/63.30 U14(x0, mark(x1), x2) 177.33/63.30 U14(x0, x1, mark(x2)) 177.33/63.30 U14(active(x0), x1, x2) 177.33/63.30 U14(x0, active(x1), x2) 177.33/63.30 U14(x0, x1, active(x2)) 177.33/63.30 U15(mark(x0), x1) 177.33/63.30 U15(x0, mark(x1)) 177.33/63.30 U15(active(x0), x1) 177.33/63.30 U15(x0, active(x1)) 177.33/63.30 isNat(mark(x0)) 177.33/63.30 isNat(active(x0)) 177.33/63.30 U16(mark(x0)) 177.33/63.30 U16(active(x0)) 177.33/63.30 U21(mark(x0), x1) 177.33/63.30 U21(x0, mark(x1)) 177.33/63.30 U21(active(x0), x1) 177.33/63.30 U21(x0, active(x1)) 177.33/63.30 U22(mark(x0), x1) 177.33/63.30 U22(x0, mark(x1)) 177.33/63.30 U22(active(x0), x1) 177.33/63.30 U22(x0, active(x1)) 177.33/63.30 U23(mark(x0)) 177.33/63.30 U23(active(x0)) 177.33/63.30 U31(mark(x0), x1) 177.33/63.30 U31(x0, mark(x1)) 177.33/63.30 U31(active(x0), x1) 177.33/63.30 U31(x0, active(x1)) 177.33/63.30 U32(mark(x0)) 177.33/63.30 U32(active(x0)) 177.33/63.30 U41(mark(x0)) 177.33/63.30 U41(active(x0)) 177.33/63.30 U51(mark(x0), x1) 177.33/63.30 U51(x0, mark(x1)) 177.33/63.30 U51(active(x0), x1) 177.33/63.30 U51(x0, active(x1)) 177.33/63.30 U52(mark(x0), x1) 177.33/63.30 U52(x0, mark(x1)) 177.33/63.30 U52(active(x0), x1) 177.33/63.30 U52(x0, active(x1)) 177.33/63.30 U61(mark(x0), x1, x2) 177.33/63.30 U61(x0, mark(x1), x2) 177.33/63.30 U61(x0, x1, mark(x2)) 177.33/63.30 U61(active(x0), x1, x2) 177.33/63.30 U61(x0, active(x1), x2) 177.33/63.30 U61(x0, x1, active(x2)) 177.33/63.30 U62(mark(x0), x1, x2) 177.33/63.30 U62(x0, mark(x1), x2) 177.33/63.30 U62(x0, x1, mark(x2)) 177.33/63.30 U62(active(x0), x1, x2) 177.33/63.30 U62(x0, active(x1), x2) 177.33/63.30 U62(x0, x1, active(x2)) 177.33/63.30 U63(mark(x0), x1, x2) 177.33/63.30 U63(x0, mark(x1), x2) 177.33/63.30 U63(x0, x1, mark(x2)) 177.33/63.30 U63(active(x0), x1, x2) 177.33/63.30 U63(x0, active(x1), x2) 177.33/63.30 U63(x0, x1, active(x2)) 177.33/63.30 U64(mark(x0), x1, x2) 177.33/63.30 U64(x0, mark(x1), x2) 177.33/63.30 U64(x0, x1, mark(x2)) 177.33/63.30 U64(active(x0), x1, x2) 177.33/63.30 U64(x0, active(x1), x2) 177.33/63.30 U64(x0, x1, active(x2)) 177.33/63.30 s(mark(x0)) 177.33/63.30 s(active(x0)) 177.33/63.30 plus(mark(x0), x1) 177.33/63.30 plus(x0, mark(x1)) 177.33/63.30 plus(active(x0), x1) 177.33/63.30 plus(x0, active(x1)) 177.33/63.30 177.33/63.30 We have to consider all minimal (P,Q,R)-chains. 177.33/63.30 ---------------------------------------- 177.33/63.30 177.33/63.30 (208) QDPOrderProof (EQUIVALENT) 177.33/63.30 We use the reduction pair processor [LPAR04,JAR06]. 177.33/63.30 177.33/63.30 177.33/63.30 The following pairs can be oriented strictly and are deleted. 177.33/63.30 177.33/63.30 MARK(U23(X)) -> MARK(X) 177.33/63.30 The remaining pairs can at least be oriented weakly. 177.33/63.30 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 177.33/63.30 177.33/63.30 POL( ACTIVE_1(x_1) ) = max{0, -2} 177.33/63.30 POL( U11_3(x_1, ..., x_3) ) = 2x_1 + 1 177.33/63.30 POL( U12_3(x_1, ..., x_3) ) = 2x_1 + 1 177.33/63.30 POL( U13_3(x_1, ..., x_3) ) = 2x_1 + 1 177.33/63.30 POL( U14_3(x_1, ..., x_3) ) = 2x_1 + 1 177.33/63.30 POL( U15_2(x_1, x_2) ) = 2x_1 + 1 177.33/63.30 POL( U31_2(x_1, x_2) ) = 2x_1 + 1 177.33/63.30 POL( active_1(x_1) ) = max{0, 2x_1 - 2} 177.33/63.30 POL( tt ) = 0 177.33/63.30 POL( mark_1(x_1) ) = max{0, -2} 177.33/63.30 POL( isNatKind_1(x_1) ) = 0 177.33/63.30 POL( isNat_1(x_1) ) = 0 177.33/63.30 POL( U16_1(x_1) ) = x_1 + 1 177.33/63.30 POL( U21_2(x_1, x_2) ) = 2x_2 + 2 177.33/63.30 POL( U22_2(x_1, x_2) ) = max{0, 2x_1 + 2x_2 - 2} 177.33/63.30 POL( U23_1(x_1) ) = x_1 + 2 177.33/63.30 POL( U32_1(x_1) ) = 2x_1 + 1 177.33/63.30 POL( U51_2(x_1, x_2) ) = max{0, 2x_2 - 2} 177.33/63.30 POL( U52_2(x_1, x_2) ) = max{0, 2x_2 - 2} 177.33/63.30 POL( U61_3(x_1, ..., x_3) ) = max{0, 2x_2 + 2x_3 - 2} 177.33/63.30 POL( U62_3(x_1, ..., x_3) ) = max{0, 2x_1 + x_2 + x_3 - 2} 177.33/63.30 POL( U63_3(x_1, ..., x_3) ) = x_2 + 2 177.33/63.30 POL( U64_3(x_1, ..., x_3) ) = max{0, x_2 + x_3 - 2} 177.33/63.30 POL( s_1(x_1) ) = x_1 + 2 177.33/63.30 POL( plus_2(x_1, x_2) ) = x_1 + 2 177.33/63.30 POL( U41_1(x_1) ) = 2x_1 + 1 177.33/63.30 POL( 0 ) = 0 177.33/63.30 POL( MARK_1(x_1) ) = max{0, x_1 - 1} 177.33/63.30 177.33/63.30 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 177.33/63.30 none 177.33/63.30 177.33/63.30 177.33/63.30 ---------------------------------------- 177.33/63.30 177.33/63.30 (209) 177.33/63.30 Obligation: 177.33/63.30 Q DP problem: 177.33/63.30 The TRS P consists of the following rules: 177.33/63.30 177.33/63.30 ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) 177.33/63.30 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 177.33/63.30 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.33/63.30 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.33/63.30 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.33/63.30 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.33/63.30 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.33/63.30 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.33/63.30 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.33/63.30 MARK(U16(X)) -> MARK(X) 177.33/63.30 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.33/63.30 MARK(U11(X1, X2, X3)) -> MARK(X1) 177.33/63.30 MARK(U12(X1, X2, X3)) -> MARK(X1) 177.33/63.30 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.33/63.30 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.33/63.30 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.33/63.30 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.33/63.30 MARK(U32(X)) -> MARK(X) 177.33/63.30 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.33/63.30 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.33/63.30 MARK(U15(X1, X2)) -> MARK(X1) 177.33/63.30 MARK(isNat(X)) -> ACTIVE(isNat(X)) 177.33/63.30 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) 177.33/63.30 MARK(U31(X1, X2)) -> MARK(X1) 177.33/63.30 MARK(U41(X)) -> MARK(X) 177.33/63.30 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.33/63.30 177.33/63.30 The TRS R consists of the following rules: 177.33/63.30 177.33/63.30 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.33/63.30 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.33/63.30 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.33/63.30 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.33/63.30 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.33/63.30 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.33/63.30 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.33/63.30 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.33/63.30 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.33/63.30 mark(U16(X)) -> active(U16(mark(X))) 177.33/63.30 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.33/63.30 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.33/63.30 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.33/63.30 mark(U23(X)) -> active(U23(mark(X))) 177.33/63.30 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.33/63.30 mark(U32(X)) -> active(U32(mark(X))) 177.33/63.30 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.33/63.30 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.33/63.30 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.33/63.30 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.33/63.30 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.33/63.30 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.33/63.30 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.33/63.30 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.33/63.30 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.33/63.30 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.33/63.30 mark(s(X)) -> active(s(mark(X))) 177.33/63.30 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.33/63.30 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.33/63.30 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.33/63.30 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.33/63.30 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.33/63.30 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.33/63.30 mark(U41(X)) -> active(U41(mark(X))) 177.33/63.30 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.33/63.30 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.33/63.30 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.33/63.30 mark(isNatKind(X)) -> active(isNatKind(X)) 177.33/63.30 mark(isNat(X)) -> active(isNat(X)) 177.33/63.30 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.33/63.30 mark(tt) -> active(tt) 177.33/63.30 mark(0) -> active(0) 177.33/63.30 plus(X1, mark(X2)) -> plus(X1, X2) 177.33/63.30 plus(mark(X1), X2) -> plus(X1, X2) 177.33/63.30 plus(active(X1), X2) -> plus(X1, X2) 177.33/63.30 plus(X1, active(X2)) -> plus(X1, X2) 177.33/63.30 active(U16(tt)) -> mark(tt) 177.33/63.30 active(U23(tt)) -> mark(tt) 177.33/63.30 active(U32(tt)) -> mark(tt) 177.33/63.30 active(U41(tt)) -> mark(tt) 177.33/63.30 active(isNat(0)) -> mark(tt) 177.33/63.30 active(isNatKind(0)) -> mark(tt) 177.33/63.30 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.33/63.30 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.30 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.33/63.30 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.30 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.33/63.30 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.33/63.30 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.33/63.30 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.30 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.33/63.30 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.30 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.33/63.30 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.33/63.30 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.33/63.30 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.30 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.33/63.30 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.30 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.33/63.30 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.33/63.30 U15(X1, mark(X2)) -> U15(X1, X2) 177.33/63.30 U15(mark(X1), X2) -> U15(X1, X2) 177.33/63.30 U15(active(X1), X2) -> U15(X1, X2) 177.33/63.30 U15(X1, active(X2)) -> U15(X1, X2) 177.33/63.30 U16(active(X)) -> U16(X) 177.33/63.30 U16(mark(X)) -> U16(X) 177.33/63.30 U22(X1, mark(X2)) -> U22(X1, X2) 177.33/63.30 U22(mark(X1), X2) -> U22(X1, X2) 177.33/63.30 U22(active(X1), X2) -> U22(X1, X2) 177.33/63.30 U22(X1, active(X2)) -> U22(X1, X2) 177.33/63.30 U23(active(X)) -> U23(X) 177.33/63.30 U23(mark(X)) -> U23(X) 177.33/63.30 U32(active(X)) -> U32(X) 177.33/63.30 U32(mark(X)) -> U32(X) 177.33/63.30 U52(X1, mark(X2)) -> U52(X1, X2) 177.33/63.30 U52(mark(X1), X2) -> U52(X1, X2) 177.33/63.30 U52(active(X1), X2) -> U52(X1, X2) 177.33/63.30 U52(X1, active(X2)) -> U52(X1, X2) 177.33/63.30 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.33/63.30 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.30 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.33/63.30 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.30 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.33/63.30 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.33/63.30 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.33/63.30 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.30 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.33/63.30 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.30 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.33/63.30 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.33/63.30 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.33/63.30 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.30 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.33/63.30 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.30 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.33/63.30 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.33/63.30 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.33/63.30 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.30 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.33/63.30 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.30 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.33/63.30 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.33/63.30 s(active(X)) -> s(X) 177.33/63.30 s(mark(X)) -> s(X) 177.33/63.30 U21(X1, mark(X2)) -> U21(X1, X2) 177.33/63.30 U21(mark(X1), X2) -> U21(X1, X2) 177.33/63.30 U21(active(X1), X2) -> U21(X1, X2) 177.33/63.30 U21(X1, active(X2)) -> U21(X1, X2) 177.33/63.30 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.30 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.30 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.30 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.30 U41(active(X)) -> U41(X) 177.33/63.30 U41(mark(X)) -> U41(X) 177.33/63.30 U51(X1, mark(X2)) -> U51(X1, X2) 177.33/63.30 U51(mark(X1), X2) -> U51(X1, X2) 177.33/63.30 U51(active(X1), X2) -> U51(X1, X2) 177.33/63.30 U51(X1, active(X2)) -> U51(X1, X2) 177.33/63.30 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.33/63.30 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.30 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.33/63.30 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.30 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.33/63.30 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.33/63.30 177.33/63.30 The set Q consists of the following terms: 177.33/63.30 177.33/63.30 active(U11(tt, x0, x1)) 177.33/63.30 active(U12(tt, x0, x1)) 177.33/63.30 active(U13(tt, x0, x1)) 177.33/63.30 active(U14(tt, x0, x1)) 177.33/63.30 active(U15(tt, x0)) 177.33/63.30 active(U16(tt)) 177.33/63.30 active(U21(tt, x0)) 177.33/63.30 active(U22(tt, x0)) 177.33/63.30 active(U23(tt)) 177.33/63.30 active(U31(tt, x0)) 177.33/63.30 active(U32(tt)) 177.33/63.30 active(U41(tt)) 177.33/63.30 active(U51(tt, x0)) 177.33/63.30 active(U52(tt, x0)) 177.33/63.30 active(U61(tt, x0, x1)) 177.33/63.30 active(U62(tt, x0, x1)) 177.33/63.30 active(U63(tt, x0, x1)) 177.33/63.30 active(U64(tt, x0, x1)) 177.33/63.30 active(isNat(0)) 177.33/63.30 active(isNat(plus(x0, x1))) 177.33/63.30 active(isNat(s(x0))) 177.33/63.30 active(isNatKind(0)) 177.33/63.31 active(isNatKind(plus(x0, x1))) 177.33/63.31 active(isNatKind(s(x0))) 177.33/63.31 active(plus(x0, 0)) 177.33/63.31 active(plus(x0, s(x1))) 177.33/63.31 mark(U11(x0, x1, x2)) 177.33/63.31 mark(tt) 177.33/63.31 mark(U12(x0, x1, x2)) 177.33/63.31 mark(isNatKind(x0)) 177.33/63.31 mark(U13(x0, x1, x2)) 177.33/63.31 mark(U14(x0, x1, x2)) 177.33/63.31 mark(U15(x0, x1)) 177.33/63.31 mark(isNat(x0)) 177.33/63.31 mark(U16(x0)) 177.33/63.31 mark(U21(x0, x1)) 177.33/63.31 mark(U22(x0, x1)) 177.33/63.31 mark(U23(x0)) 177.33/63.31 mark(U31(x0, x1)) 177.33/63.31 mark(U32(x0)) 177.33/63.31 mark(U41(x0)) 177.33/63.31 mark(U51(x0, x1)) 177.33/63.31 mark(U52(x0, x1)) 177.33/63.31 mark(U61(x0, x1, x2)) 177.33/63.31 mark(U62(x0, x1, x2)) 177.33/63.31 mark(U63(x0, x1, x2)) 177.33/63.31 mark(U64(x0, x1, x2)) 177.33/63.31 mark(s(x0)) 177.33/63.31 mark(plus(x0, x1)) 177.33/63.31 mark(0) 177.33/63.31 U11(mark(x0), x1, x2) 177.33/63.31 U11(x0, mark(x1), x2) 177.33/63.31 U11(x0, x1, mark(x2)) 177.33/63.31 U11(active(x0), x1, x2) 177.33/63.31 U11(x0, active(x1), x2) 177.33/63.31 U11(x0, x1, active(x2)) 177.33/63.31 U12(mark(x0), x1, x2) 177.33/63.31 U12(x0, mark(x1), x2) 177.33/63.31 U12(x0, x1, mark(x2)) 177.33/63.31 U12(active(x0), x1, x2) 177.33/63.31 U12(x0, active(x1), x2) 177.33/63.31 U12(x0, x1, active(x2)) 177.33/63.31 isNatKind(mark(x0)) 177.33/63.31 isNatKind(active(x0)) 177.33/63.31 U13(mark(x0), x1, x2) 177.33/63.31 U13(x0, mark(x1), x2) 177.33/63.31 U13(x0, x1, mark(x2)) 177.33/63.31 U13(active(x0), x1, x2) 177.33/63.31 U13(x0, active(x1), x2) 177.33/63.31 U13(x0, x1, active(x2)) 177.33/63.31 U14(mark(x0), x1, x2) 177.33/63.31 U14(x0, mark(x1), x2) 177.33/63.31 U14(x0, x1, mark(x2)) 177.33/63.31 U14(active(x0), x1, x2) 177.33/63.31 U14(x0, active(x1), x2) 177.33/63.31 U14(x0, x1, active(x2)) 177.33/63.31 U15(mark(x0), x1) 177.33/63.31 U15(x0, mark(x1)) 177.33/63.31 U15(active(x0), x1) 177.33/63.31 U15(x0, active(x1)) 177.33/63.31 isNat(mark(x0)) 177.33/63.31 isNat(active(x0)) 177.33/63.31 U16(mark(x0)) 177.33/63.31 U16(active(x0)) 177.33/63.31 U21(mark(x0), x1) 177.33/63.31 U21(x0, mark(x1)) 177.33/63.31 U21(active(x0), x1) 177.33/63.31 U21(x0, active(x1)) 177.33/63.31 U22(mark(x0), x1) 177.33/63.31 U22(x0, mark(x1)) 177.33/63.31 U22(active(x0), x1) 177.33/63.31 U22(x0, active(x1)) 177.33/63.31 U23(mark(x0)) 177.33/63.31 U23(active(x0)) 177.33/63.31 U31(mark(x0), x1) 177.33/63.31 U31(x0, mark(x1)) 177.33/63.31 U31(active(x0), x1) 177.33/63.31 U31(x0, active(x1)) 177.33/63.31 U32(mark(x0)) 177.33/63.31 U32(active(x0)) 177.33/63.31 U41(mark(x0)) 177.33/63.31 U41(active(x0)) 177.33/63.31 U51(mark(x0), x1) 177.33/63.31 U51(x0, mark(x1)) 177.33/63.31 U51(active(x0), x1) 177.33/63.31 U51(x0, active(x1)) 177.33/63.31 U52(mark(x0), x1) 177.33/63.31 U52(x0, mark(x1)) 177.33/63.31 U52(active(x0), x1) 177.33/63.31 U52(x0, active(x1)) 177.33/63.31 U61(mark(x0), x1, x2) 177.33/63.31 U61(x0, mark(x1), x2) 177.33/63.31 U61(x0, x1, mark(x2)) 177.33/63.31 U61(active(x0), x1, x2) 177.33/63.31 U61(x0, active(x1), x2) 177.33/63.31 U61(x0, x1, active(x2)) 177.33/63.31 U62(mark(x0), x1, x2) 177.33/63.31 U62(x0, mark(x1), x2) 177.33/63.31 U62(x0, x1, mark(x2)) 177.33/63.31 U62(active(x0), x1, x2) 177.33/63.31 U62(x0, active(x1), x2) 177.33/63.31 U62(x0, x1, active(x2)) 177.33/63.31 U63(mark(x0), x1, x2) 177.33/63.31 U63(x0, mark(x1), x2) 177.33/63.31 U63(x0, x1, mark(x2)) 177.33/63.31 U63(active(x0), x1, x2) 177.33/63.31 U63(x0, active(x1), x2) 177.33/63.31 U63(x0, x1, active(x2)) 177.33/63.31 U64(mark(x0), x1, x2) 177.33/63.31 U64(x0, mark(x1), x2) 177.33/63.31 U64(x0, x1, mark(x2)) 177.33/63.31 U64(active(x0), x1, x2) 177.33/63.31 U64(x0, active(x1), x2) 177.33/63.31 U64(x0, x1, active(x2)) 177.33/63.31 s(mark(x0)) 177.33/63.31 s(active(x0)) 177.33/63.31 plus(mark(x0), x1) 177.33/63.31 plus(x0, mark(x1)) 177.33/63.31 plus(active(x0), x1) 177.33/63.31 plus(x0, active(x1)) 177.33/63.31 177.33/63.31 We have to consider all minimal (P,Q,R)-chains. 177.33/63.31 ---------------------------------------- 177.33/63.31 177.33/63.31 (210) QDPOrderProof (EQUIVALENT) 177.33/63.31 We use the reduction pair processor [LPAR04,JAR06]. 177.33/63.31 177.33/63.31 177.33/63.31 The following pairs can be oriented strictly and are deleted. 177.33/63.31 177.33/63.31 ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) 177.33/63.31 MARK(U11(X1, X2, X3)) -> MARK(X1) 177.33/63.31 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) 177.33/63.31 The remaining pairs can at least be oriented weakly. 177.33/63.31 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 177.33/63.31 177.33/63.31 POL( ACTIVE_1(x_1) ) = x_1 177.33/63.31 POL( U11_3(x_1, ..., x_3) ) = 2x_1 + 2x_2 + 2x_3 + 1 177.33/63.31 POL( U12_3(x_1, ..., x_3) ) = x_1 + 2x_2 + 2x_3 177.33/63.31 POL( U13_3(x_1, ..., x_3) ) = 2x_1 + 2x_2 + 2x_3 177.33/63.31 POL( U14_3(x_1, ..., x_3) ) = x_1 + 2x_2 + 2x_3 177.33/63.31 POL( U15_2(x_1, x_2) ) = x_1 + 2x_2 177.33/63.31 POL( U31_2(x_1, x_2) ) = x_1 177.33/63.31 POL( active_1(x_1) ) = x_1 177.33/63.31 POL( tt ) = 0 177.33/63.31 POL( mark_1(x_1) ) = x_1 177.33/63.31 POL( isNatKind_1(x_1) ) = 0 177.33/63.31 POL( isNat_1(x_1) ) = 2x_1 177.33/63.31 POL( U16_1(x_1) ) = x_1 177.33/63.31 POL( U21_2(x_1, x_2) ) = 2x_1 177.33/63.31 POL( U22_2(x_1, x_2) ) = max{0, -2} 177.33/63.31 POL( U23_1(x_1) ) = max{0, -2} 177.33/63.31 POL( U32_1(x_1) ) = 2x_1 177.33/63.31 POL( U51_2(x_1, x_2) ) = max{0, -2} 177.33/63.31 POL( U52_2(x_1, x_2) ) = max{0, -2} 177.33/63.31 POL( U61_3(x_1, ..., x_3) ) = 2x_3 177.33/63.31 POL( U62_3(x_1, ..., x_3) ) = x_1 + 2x_3 177.33/63.31 POL( U63_3(x_1, ..., x_3) ) = max{0, -2} 177.33/63.31 POL( U64_3(x_1, ..., x_3) ) = max{0, -2} 177.33/63.31 POL( s_1(x_1) ) = max{0, -2} 177.33/63.31 POL( plus_2(x_1, x_2) ) = 2x_1 + 2x_2 + 1 177.33/63.31 POL( U41_1(x_1) ) = x_1 177.33/63.31 POL( 0 ) = 0 177.33/63.31 POL( MARK_1(x_1) ) = x_1 177.33/63.31 177.33/63.31 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 177.33/63.31 177.33/63.31 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.33/63.31 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.33/63.31 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.33/63.31 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.33/63.31 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.33/63.31 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.33/63.31 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.33/63.31 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.33/63.31 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.33/63.31 mark(U16(X)) -> active(U16(mark(X))) 177.33/63.31 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.33/63.31 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.33/63.31 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.33/63.31 mark(U23(X)) -> active(U23(mark(X))) 177.33/63.31 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.33/63.31 mark(U32(X)) -> active(U32(mark(X))) 177.33/63.31 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.33/63.31 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.33/63.31 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.33/63.31 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.33/63.31 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.33/63.31 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.33/63.31 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.33/63.31 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.33/63.31 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.33/63.31 mark(s(X)) -> active(s(mark(X))) 177.33/63.31 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.33/63.31 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.33/63.31 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.33/63.31 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.33/63.31 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.33/63.31 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.33/63.31 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.33/63.31 mark(U41(X)) -> active(U41(mark(X))) 177.33/63.31 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.33/63.31 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.33/63.31 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.33/63.31 mark(isNatKind(X)) -> active(isNatKind(X)) 177.33/63.31 mark(isNat(X)) -> active(isNat(X)) 177.33/63.31 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.33/63.31 mark(tt) -> active(tt) 177.33/63.31 mark(0) -> active(0) 177.33/63.31 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.31 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.33/63.31 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.33/63.31 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.31 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.33/63.31 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.33/63.31 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.31 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.33/63.31 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.33/63.31 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.31 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.33/63.31 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.33/63.31 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.31 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.33/63.31 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.33/63.31 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.31 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.33/63.31 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.33/63.31 U15(mark(X1), X2) -> U15(X1, X2) 177.33/63.31 U15(X1, mark(X2)) -> U15(X1, X2) 177.33/63.31 U15(active(X1), X2) -> U15(X1, X2) 177.33/63.31 U15(X1, active(X2)) -> U15(X1, X2) 177.33/63.31 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.31 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.33/63.31 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.33/63.31 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.31 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.33/63.31 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.33/63.31 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.31 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.31 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.31 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.31 U51(mark(X1), X2) -> U51(X1, X2) 177.33/63.31 U51(X1, mark(X2)) -> U51(X1, X2) 177.33/63.31 U51(active(X1), X2) -> U51(X1, X2) 177.33/63.31 U51(X1, active(X2)) -> U51(X1, X2) 177.33/63.31 active(U16(tt)) -> mark(tt) 177.33/63.31 active(U23(tt)) -> mark(tt) 177.33/63.31 active(U32(tt)) -> mark(tt) 177.33/63.31 active(U41(tt)) -> mark(tt) 177.33/63.31 active(isNat(0)) -> mark(tt) 177.33/63.31 active(isNatKind(0)) -> mark(tt) 177.33/63.31 U16(mark(X)) -> U16(X) 177.33/63.31 U16(active(X)) -> U16(X) 177.33/63.31 U22(mark(X1), X2) -> U22(X1, X2) 177.33/63.31 U22(X1, mark(X2)) -> U22(X1, X2) 177.33/63.31 U22(active(X1), X2) -> U22(X1, X2) 177.33/63.31 U22(X1, active(X2)) -> U22(X1, X2) 177.33/63.31 U23(mark(X)) -> U23(X) 177.33/63.31 U23(active(X)) -> U23(X) 177.33/63.31 U32(mark(X)) -> U32(X) 177.33/63.31 U32(active(X)) -> U32(X) 177.33/63.31 U52(mark(X1), X2) -> U52(X1, X2) 177.33/63.31 U52(X1, mark(X2)) -> U52(X1, X2) 177.33/63.31 U52(active(X1), X2) -> U52(X1, X2) 177.33/63.31 U52(X1, active(X2)) -> U52(X1, X2) 177.33/63.31 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.31 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.33/63.31 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.33/63.31 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.31 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.33/63.31 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.33/63.31 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.31 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.33/63.31 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.33/63.31 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.31 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.33/63.31 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.33/63.31 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.31 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.33/63.31 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.33/63.31 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.31 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.33/63.31 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.33/63.31 s(mark(X)) -> s(X) 177.33/63.31 s(active(X)) -> s(X) 177.33/63.31 U21(mark(X1), X2) -> U21(X1, X2) 177.33/63.31 U21(X1, mark(X2)) -> U21(X1, X2) 177.33/63.31 U21(active(X1), X2) -> U21(X1, X2) 177.33/63.31 U21(X1, active(X2)) -> U21(X1, X2) 177.33/63.31 U41(mark(X)) -> U41(X) 177.33/63.31 U41(active(X)) -> U41(X) 177.33/63.31 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.31 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.33/63.31 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.33/63.31 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.31 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.33/63.31 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.33/63.31 plus(mark(X1), X2) -> plus(X1, X2) 177.33/63.31 plus(X1, mark(X2)) -> plus(X1, X2) 177.33/63.31 plus(active(X1), X2) -> plus(X1, X2) 177.33/63.31 plus(X1, active(X2)) -> plus(X1, X2) 177.33/63.31 177.33/63.31 177.33/63.31 ---------------------------------------- 177.33/63.31 177.33/63.31 (211) 177.33/63.31 Obligation: 177.33/63.31 Q DP problem: 177.33/63.31 The TRS P consists of the following rules: 177.33/63.31 177.33/63.31 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 177.33/63.31 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.33/63.31 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.33/63.31 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.33/63.31 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.33/63.31 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.33/63.31 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.33/63.31 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.33/63.31 MARK(U16(X)) -> MARK(X) 177.33/63.31 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.33/63.31 MARK(U12(X1, X2, X3)) -> MARK(X1) 177.33/63.31 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.33/63.31 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.33/63.31 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.33/63.31 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.33/63.31 MARK(U32(X)) -> MARK(X) 177.33/63.31 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.33/63.31 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.33/63.31 MARK(U15(X1, X2)) -> MARK(X1) 177.33/63.31 MARK(isNat(X)) -> ACTIVE(isNat(X)) 177.33/63.31 MARK(U31(X1, X2)) -> MARK(X1) 177.33/63.31 MARK(U41(X)) -> MARK(X) 177.33/63.31 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.33/63.31 177.33/63.31 The TRS R consists of the following rules: 177.33/63.31 177.33/63.31 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.33/63.31 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.33/63.31 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.33/63.31 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.33/63.31 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.33/63.31 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.33/63.31 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.33/63.31 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.33/63.31 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.33/63.31 mark(U16(X)) -> active(U16(mark(X))) 177.33/63.31 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.33/63.31 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.33/63.31 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.33/63.31 mark(U23(X)) -> active(U23(mark(X))) 177.33/63.31 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.33/63.31 mark(U32(X)) -> active(U32(mark(X))) 177.33/63.31 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.33/63.31 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.33/63.31 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.33/63.31 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.33/63.31 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.33/63.31 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.33/63.31 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.33/63.31 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.33/63.31 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.33/63.31 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.33/63.31 mark(s(X)) -> active(s(mark(X))) 177.33/63.31 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.33/63.31 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.33/63.31 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.33/63.31 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.33/63.31 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.33/63.31 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.33/63.31 mark(U41(X)) -> active(U41(mark(X))) 177.33/63.31 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.33/63.31 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.33/63.31 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.33/63.31 mark(isNatKind(X)) -> active(isNatKind(X)) 177.33/63.31 mark(isNat(X)) -> active(isNat(X)) 177.33/63.31 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.33/63.31 mark(tt) -> active(tt) 177.33/63.31 mark(0) -> active(0) 177.33/63.31 plus(X1, mark(X2)) -> plus(X1, X2) 177.33/63.31 plus(mark(X1), X2) -> plus(X1, X2) 177.33/63.31 plus(active(X1), X2) -> plus(X1, X2) 177.33/63.31 plus(X1, active(X2)) -> plus(X1, X2) 177.33/63.31 active(U16(tt)) -> mark(tt) 177.33/63.31 active(U23(tt)) -> mark(tt) 177.33/63.31 active(U32(tt)) -> mark(tt) 177.33/63.31 active(U41(tt)) -> mark(tt) 177.33/63.31 active(isNat(0)) -> mark(tt) 177.33/63.31 active(isNatKind(0)) -> mark(tt) 177.33/63.31 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.33/63.31 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.31 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.33/63.31 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.31 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.33/63.31 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.33/63.31 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.33/63.31 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.31 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.33/63.31 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.31 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.33/63.31 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.33/63.31 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.33/63.31 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.31 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.33/63.31 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.31 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.33/63.31 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.33/63.31 U15(X1, mark(X2)) -> U15(X1, X2) 177.33/63.31 U15(mark(X1), X2) -> U15(X1, X2) 177.33/63.31 U15(active(X1), X2) -> U15(X1, X2) 177.33/63.31 U15(X1, active(X2)) -> U15(X1, X2) 177.33/63.31 U16(active(X)) -> U16(X) 177.33/63.31 U16(mark(X)) -> U16(X) 177.33/63.31 U22(X1, mark(X2)) -> U22(X1, X2) 177.33/63.31 U22(mark(X1), X2) -> U22(X1, X2) 177.33/63.31 U22(active(X1), X2) -> U22(X1, X2) 177.33/63.31 U22(X1, active(X2)) -> U22(X1, X2) 177.33/63.31 U23(active(X)) -> U23(X) 177.33/63.31 U23(mark(X)) -> U23(X) 177.33/63.31 U32(active(X)) -> U32(X) 177.33/63.31 U32(mark(X)) -> U32(X) 177.33/63.31 U52(X1, mark(X2)) -> U52(X1, X2) 177.33/63.31 U52(mark(X1), X2) -> U52(X1, X2) 177.33/63.31 U52(active(X1), X2) -> U52(X1, X2) 177.33/63.31 U52(X1, active(X2)) -> U52(X1, X2) 177.33/63.31 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.33/63.31 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.31 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.33/63.31 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.31 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.33/63.31 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.33/63.31 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.33/63.31 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.31 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.33/63.31 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.31 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.33/63.31 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.33/63.31 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.33/63.31 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.31 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.33/63.31 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.31 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.33/63.31 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.33/63.31 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.33/63.31 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.31 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.33/63.31 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.31 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.33/63.31 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.33/63.31 s(active(X)) -> s(X) 177.33/63.31 s(mark(X)) -> s(X) 177.33/63.31 U21(X1, mark(X2)) -> U21(X1, X2) 177.33/63.31 U21(mark(X1), X2) -> U21(X1, X2) 177.33/63.31 U21(active(X1), X2) -> U21(X1, X2) 177.33/63.31 U21(X1, active(X2)) -> U21(X1, X2) 177.33/63.31 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.31 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.31 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.31 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.31 U41(active(X)) -> U41(X) 177.33/63.31 U41(mark(X)) -> U41(X) 177.33/63.31 U51(X1, mark(X2)) -> U51(X1, X2) 177.33/63.31 U51(mark(X1), X2) -> U51(X1, X2) 177.33/63.31 U51(active(X1), X2) -> U51(X1, X2) 177.33/63.31 U51(X1, active(X2)) -> U51(X1, X2) 177.33/63.31 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.33/63.31 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.31 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.33/63.31 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.31 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.33/63.31 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.33/63.31 177.33/63.31 The set Q consists of the following terms: 177.33/63.31 177.33/63.31 active(U11(tt, x0, x1)) 177.33/63.31 active(U12(tt, x0, x1)) 177.33/63.31 active(U13(tt, x0, x1)) 177.33/63.31 active(U14(tt, x0, x1)) 177.33/63.31 active(U15(tt, x0)) 177.33/63.31 active(U16(tt)) 177.33/63.31 active(U21(tt, x0)) 177.33/63.31 active(U22(tt, x0)) 177.33/63.31 active(U23(tt)) 177.33/63.31 active(U31(tt, x0)) 177.33/63.31 active(U32(tt)) 177.33/63.31 active(U41(tt)) 177.33/63.31 active(U51(tt, x0)) 177.33/63.31 active(U52(tt, x0)) 177.33/63.31 active(U61(tt, x0, x1)) 177.33/63.31 active(U62(tt, x0, x1)) 177.33/63.31 active(U63(tt, x0, x1)) 177.33/63.31 active(U64(tt, x0, x1)) 177.33/63.31 active(isNat(0)) 177.33/63.31 active(isNat(plus(x0, x1))) 177.33/63.31 active(isNat(s(x0))) 177.33/63.31 active(isNatKind(0)) 177.33/63.31 active(isNatKind(plus(x0, x1))) 177.33/63.31 active(isNatKind(s(x0))) 177.33/63.31 active(plus(x0, 0)) 177.33/63.31 active(plus(x0, s(x1))) 177.33/63.31 mark(U11(x0, x1, x2)) 177.33/63.31 mark(tt) 177.33/63.31 mark(U12(x0, x1, x2)) 177.33/63.31 mark(isNatKind(x0)) 177.33/63.31 mark(U13(x0, x1, x2)) 177.33/63.31 mark(U14(x0, x1, x2)) 177.33/63.31 mark(U15(x0, x1)) 177.33/63.31 mark(isNat(x0)) 177.33/63.31 mark(U16(x0)) 177.33/63.31 mark(U21(x0, x1)) 177.33/63.31 mark(U22(x0, x1)) 177.33/63.31 mark(U23(x0)) 177.33/63.31 mark(U31(x0, x1)) 177.33/63.31 mark(U32(x0)) 177.33/63.31 mark(U41(x0)) 177.33/63.31 mark(U51(x0, x1)) 177.33/63.31 mark(U52(x0, x1)) 177.33/63.31 mark(U61(x0, x1, x2)) 177.33/63.31 mark(U62(x0, x1, x2)) 177.33/63.31 mark(U63(x0, x1, x2)) 177.33/63.31 mark(U64(x0, x1, x2)) 177.33/63.31 mark(s(x0)) 177.33/63.31 mark(plus(x0, x1)) 177.33/63.31 mark(0) 177.33/63.31 U11(mark(x0), x1, x2) 177.33/63.31 U11(x0, mark(x1), x2) 177.33/63.31 U11(x0, x1, mark(x2)) 177.33/63.31 U11(active(x0), x1, x2) 177.33/63.31 U11(x0, active(x1), x2) 177.33/63.31 U11(x0, x1, active(x2)) 177.33/63.31 U12(mark(x0), x1, x2) 177.33/63.31 U12(x0, mark(x1), x2) 177.33/63.31 U12(x0, x1, mark(x2)) 177.33/63.31 U12(active(x0), x1, x2) 177.33/63.31 U12(x0, active(x1), x2) 177.33/63.31 U12(x0, x1, active(x2)) 177.33/63.31 isNatKind(mark(x0)) 177.33/63.31 isNatKind(active(x0)) 177.33/63.31 U13(mark(x0), x1, x2) 177.33/63.31 U13(x0, mark(x1), x2) 177.33/63.31 U13(x0, x1, mark(x2)) 177.33/63.31 U13(active(x0), x1, x2) 177.33/63.31 U13(x0, active(x1), x2) 177.33/63.31 U13(x0, x1, active(x2)) 177.33/63.31 U14(mark(x0), x1, x2) 177.33/63.31 U14(x0, mark(x1), x2) 177.33/63.31 U14(x0, x1, mark(x2)) 177.33/63.31 U14(active(x0), x1, x2) 177.33/63.31 U14(x0, active(x1), x2) 177.33/63.31 U14(x0, x1, active(x2)) 177.33/63.31 U15(mark(x0), x1) 177.33/63.31 U15(x0, mark(x1)) 177.33/63.31 U15(active(x0), x1) 177.33/63.31 U15(x0, active(x1)) 177.33/63.31 isNat(mark(x0)) 177.33/63.31 isNat(active(x0)) 177.33/63.31 U16(mark(x0)) 177.33/63.31 U16(active(x0)) 177.33/63.31 U21(mark(x0), x1) 177.33/63.31 U21(x0, mark(x1)) 177.33/63.31 U21(active(x0), x1) 177.33/63.31 U21(x0, active(x1)) 177.33/63.31 U22(mark(x0), x1) 177.33/63.31 U22(x0, mark(x1)) 177.33/63.31 U22(active(x0), x1) 177.33/63.31 U22(x0, active(x1)) 177.33/63.31 U23(mark(x0)) 177.33/63.31 U23(active(x0)) 177.33/63.31 U31(mark(x0), x1) 177.33/63.31 U31(x0, mark(x1)) 177.33/63.31 U31(active(x0), x1) 177.33/63.31 U31(x0, active(x1)) 177.33/63.31 U32(mark(x0)) 177.33/63.31 U32(active(x0)) 177.33/63.31 U41(mark(x0)) 177.33/63.31 U41(active(x0)) 177.33/63.31 U51(mark(x0), x1) 177.33/63.31 U51(x0, mark(x1)) 177.33/63.31 U51(active(x0), x1) 177.33/63.31 U51(x0, active(x1)) 177.33/63.31 U52(mark(x0), x1) 177.33/63.31 U52(x0, mark(x1)) 177.33/63.31 U52(active(x0), x1) 177.33/63.31 U52(x0, active(x1)) 177.33/63.31 U61(mark(x0), x1, x2) 177.33/63.31 U61(x0, mark(x1), x2) 177.33/63.31 U61(x0, x1, mark(x2)) 177.33/63.31 U61(active(x0), x1, x2) 177.33/63.31 U61(x0, active(x1), x2) 177.33/63.31 U61(x0, x1, active(x2)) 177.33/63.31 U62(mark(x0), x1, x2) 177.33/63.31 U62(x0, mark(x1), x2) 177.33/63.31 U62(x0, x1, mark(x2)) 177.33/63.31 U62(active(x0), x1, x2) 177.33/63.31 U62(x0, active(x1), x2) 177.33/63.31 U62(x0, x1, active(x2)) 177.33/63.31 U63(mark(x0), x1, x2) 177.33/63.31 U63(x0, mark(x1), x2) 177.33/63.31 U63(x0, x1, mark(x2)) 177.33/63.31 U63(active(x0), x1, x2) 177.33/63.31 U63(x0, active(x1), x2) 177.33/63.31 U63(x0, x1, active(x2)) 177.33/63.31 U64(mark(x0), x1, x2) 177.33/63.31 U64(x0, mark(x1), x2) 177.33/63.31 U64(x0, x1, mark(x2)) 177.33/63.31 U64(active(x0), x1, x2) 177.33/63.31 U64(x0, active(x1), x2) 177.33/63.31 U64(x0, x1, active(x2)) 177.33/63.31 s(mark(x0)) 177.33/63.31 s(active(x0)) 177.33/63.31 plus(mark(x0), x1) 177.33/63.31 plus(x0, mark(x1)) 177.33/63.31 plus(active(x0), x1) 177.33/63.31 plus(x0, active(x1)) 177.33/63.31 177.33/63.31 We have to consider all minimal (P,Q,R)-chains. 177.33/63.31 ---------------------------------------- 177.33/63.31 177.33/63.31 (212) DependencyGraphProof (EQUIVALENT) 177.33/63.31 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 177.33/63.31 ---------------------------------------- 177.33/63.31 177.33/63.31 (213) 177.33/63.31 Obligation: 177.33/63.31 Q DP problem: 177.33/63.31 The TRS P consists of the following rules: 177.33/63.31 177.33/63.31 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.33/63.31 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.33/63.31 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.33/63.31 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.33/63.31 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.33/63.31 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.33/63.31 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.33/63.31 MARK(U16(X)) -> MARK(X) 177.33/63.31 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.33/63.31 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.33/63.31 MARK(U32(X)) -> MARK(X) 177.33/63.31 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 177.33/63.31 MARK(U12(X1, X2, X3)) -> MARK(X1) 177.33/63.31 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.33/63.31 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.33/63.31 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.33/63.31 MARK(U31(X1, X2)) -> MARK(X1) 177.33/63.31 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.33/63.31 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.33/63.31 MARK(U15(X1, X2)) -> MARK(X1) 177.33/63.31 MARK(U41(X)) -> MARK(X) 177.33/63.31 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.33/63.31 177.33/63.31 The TRS R consists of the following rules: 177.33/63.31 177.33/63.31 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.33/63.31 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.33/63.31 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.33/63.31 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.33/63.31 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.33/63.31 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.33/63.31 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.33/63.31 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.33/63.31 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.33/63.31 mark(U16(X)) -> active(U16(mark(X))) 177.33/63.31 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.33/63.31 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.33/63.31 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.33/63.31 mark(U23(X)) -> active(U23(mark(X))) 177.33/63.31 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.33/63.31 mark(U32(X)) -> active(U32(mark(X))) 177.33/63.31 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.33/63.31 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.33/63.31 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.33/63.31 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.33/63.31 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.33/63.31 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.33/63.31 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.33/63.31 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.33/63.31 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.33/63.31 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.33/63.31 mark(s(X)) -> active(s(mark(X))) 177.33/63.31 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.33/63.31 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.33/63.31 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.33/63.31 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.33/63.31 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.33/63.31 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.33/63.31 mark(U41(X)) -> active(U41(mark(X))) 177.33/63.31 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.33/63.31 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.33/63.31 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.33/63.31 mark(isNatKind(X)) -> active(isNatKind(X)) 177.33/63.31 mark(isNat(X)) -> active(isNat(X)) 177.33/63.31 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.33/63.31 mark(tt) -> active(tt) 177.33/63.31 mark(0) -> active(0) 177.33/63.31 plus(X1, mark(X2)) -> plus(X1, X2) 177.33/63.31 plus(mark(X1), X2) -> plus(X1, X2) 177.33/63.31 plus(active(X1), X2) -> plus(X1, X2) 177.33/63.31 plus(X1, active(X2)) -> plus(X1, X2) 177.33/63.31 active(U16(tt)) -> mark(tt) 177.33/63.31 active(U23(tt)) -> mark(tt) 177.33/63.31 active(U32(tt)) -> mark(tt) 177.33/63.31 active(U41(tt)) -> mark(tt) 177.33/63.31 active(isNat(0)) -> mark(tt) 177.33/63.31 active(isNatKind(0)) -> mark(tt) 177.33/63.31 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.33/63.31 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.31 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.33/63.31 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.31 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.33/63.31 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.33/63.31 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.33/63.31 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.31 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.33/63.31 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.31 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.33/63.31 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.33/63.31 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.33/63.31 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.31 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.33/63.31 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.31 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.33/63.31 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.33/63.31 U15(X1, mark(X2)) -> U15(X1, X2) 177.33/63.31 U15(mark(X1), X2) -> U15(X1, X2) 177.33/63.31 U15(active(X1), X2) -> U15(X1, X2) 177.33/63.31 U15(X1, active(X2)) -> U15(X1, X2) 177.33/63.31 U16(active(X)) -> U16(X) 177.33/63.31 U16(mark(X)) -> U16(X) 177.33/63.31 U22(X1, mark(X2)) -> U22(X1, X2) 177.33/63.31 U22(mark(X1), X2) -> U22(X1, X2) 177.33/63.31 U22(active(X1), X2) -> U22(X1, X2) 177.33/63.31 U22(X1, active(X2)) -> U22(X1, X2) 177.33/63.31 U23(active(X)) -> U23(X) 177.33/63.31 U23(mark(X)) -> U23(X) 177.33/63.31 U32(active(X)) -> U32(X) 177.33/63.31 U32(mark(X)) -> U32(X) 177.33/63.31 U52(X1, mark(X2)) -> U52(X1, X2) 177.33/63.31 U52(mark(X1), X2) -> U52(X1, X2) 177.33/63.31 U52(active(X1), X2) -> U52(X1, X2) 177.33/63.31 U52(X1, active(X2)) -> U52(X1, X2) 177.33/63.31 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.33/63.31 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.31 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.33/63.31 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.31 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.33/63.31 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.33/63.31 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.33/63.31 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.31 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.33/63.31 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.31 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.33/63.31 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.33/63.31 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.33/63.31 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.31 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.33/63.31 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.31 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.33/63.31 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.33/63.31 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.33/63.31 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.31 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.33/63.31 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.31 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.33/63.31 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.33/63.31 s(active(X)) -> s(X) 177.33/63.31 s(mark(X)) -> s(X) 177.33/63.31 U21(X1, mark(X2)) -> U21(X1, X2) 177.33/63.31 U21(mark(X1), X2) -> U21(X1, X2) 177.33/63.31 U21(active(X1), X2) -> U21(X1, X2) 177.33/63.31 U21(X1, active(X2)) -> U21(X1, X2) 177.33/63.31 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.31 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.31 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.31 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.31 U41(active(X)) -> U41(X) 177.33/63.31 U41(mark(X)) -> U41(X) 177.33/63.31 U51(X1, mark(X2)) -> U51(X1, X2) 177.33/63.31 U51(mark(X1), X2) -> U51(X1, X2) 177.33/63.31 U51(active(X1), X2) -> U51(X1, X2) 177.33/63.31 U51(X1, active(X2)) -> U51(X1, X2) 177.33/63.31 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.33/63.31 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.31 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.33/63.31 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.31 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.33/63.31 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.33/63.31 177.33/63.31 The set Q consists of the following terms: 177.33/63.31 177.33/63.31 active(U11(tt, x0, x1)) 177.33/63.31 active(U12(tt, x0, x1)) 177.33/63.31 active(U13(tt, x0, x1)) 177.33/63.31 active(U14(tt, x0, x1)) 177.33/63.31 active(U15(tt, x0)) 177.33/63.31 active(U16(tt)) 177.33/63.31 active(U21(tt, x0)) 177.33/63.31 active(U22(tt, x0)) 177.33/63.31 active(U23(tt)) 177.33/63.31 active(U31(tt, x0)) 177.33/63.31 active(U32(tt)) 177.33/63.31 active(U41(tt)) 177.33/63.31 active(U51(tt, x0)) 177.33/63.31 active(U52(tt, x0)) 177.33/63.31 active(U61(tt, x0, x1)) 177.33/63.31 active(U62(tt, x0, x1)) 177.33/63.31 active(U63(tt, x0, x1)) 177.33/63.31 active(U64(tt, x0, x1)) 177.33/63.31 active(isNat(0)) 177.33/63.31 active(isNat(plus(x0, x1))) 177.33/63.31 active(isNat(s(x0))) 177.33/63.31 active(isNatKind(0)) 177.33/63.31 active(isNatKind(plus(x0, x1))) 177.33/63.31 active(isNatKind(s(x0))) 177.33/63.31 active(plus(x0, 0)) 177.33/63.31 active(plus(x0, s(x1))) 177.33/63.31 mark(U11(x0, x1, x2)) 177.33/63.31 mark(tt) 177.33/63.31 mark(U12(x0, x1, x2)) 177.33/63.31 mark(isNatKind(x0)) 177.33/63.31 mark(U13(x0, x1, x2)) 177.33/63.31 mark(U14(x0, x1, x2)) 177.33/63.31 mark(U15(x0, x1)) 177.33/63.31 mark(isNat(x0)) 177.33/63.31 mark(U16(x0)) 177.33/63.31 mark(U21(x0, x1)) 177.33/63.31 mark(U22(x0, x1)) 177.33/63.31 mark(U23(x0)) 177.33/63.31 mark(U31(x0, x1)) 177.33/63.31 mark(U32(x0)) 177.33/63.31 mark(U41(x0)) 177.33/63.31 mark(U51(x0, x1)) 177.33/63.31 mark(U52(x0, x1)) 177.33/63.31 mark(U61(x0, x1, x2)) 177.33/63.31 mark(U62(x0, x1, x2)) 177.33/63.31 mark(U63(x0, x1, x2)) 177.33/63.31 mark(U64(x0, x1, x2)) 177.33/63.31 mark(s(x0)) 177.33/63.31 mark(plus(x0, x1)) 177.33/63.31 mark(0) 177.33/63.31 U11(mark(x0), x1, x2) 177.33/63.31 U11(x0, mark(x1), x2) 177.33/63.31 U11(x0, x1, mark(x2)) 177.33/63.31 U11(active(x0), x1, x2) 177.33/63.31 U11(x0, active(x1), x2) 177.33/63.31 U11(x0, x1, active(x2)) 177.33/63.31 U12(mark(x0), x1, x2) 177.33/63.31 U12(x0, mark(x1), x2) 177.33/63.31 U12(x0, x1, mark(x2)) 177.33/63.31 U12(active(x0), x1, x2) 177.33/63.31 U12(x0, active(x1), x2) 177.33/63.31 U12(x0, x1, active(x2)) 177.33/63.31 isNatKind(mark(x0)) 177.33/63.31 isNatKind(active(x0)) 177.33/63.31 U13(mark(x0), x1, x2) 177.33/63.31 U13(x0, mark(x1), x2) 177.33/63.31 U13(x0, x1, mark(x2)) 177.33/63.31 U13(active(x0), x1, x2) 177.33/63.31 U13(x0, active(x1), x2) 177.33/63.31 U13(x0, x1, active(x2)) 177.33/63.31 U14(mark(x0), x1, x2) 177.33/63.31 U14(x0, mark(x1), x2) 177.33/63.31 U14(x0, x1, mark(x2)) 177.33/63.31 U14(active(x0), x1, x2) 177.33/63.31 U14(x0, active(x1), x2) 177.33/63.31 U14(x0, x1, active(x2)) 177.33/63.31 U15(mark(x0), x1) 177.33/63.31 U15(x0, mark(x1)) 177.33/63.31 U15(active(x0), x1) 177.33/63.31 U15(x0, active(x1)) 177.33/63.31 isNat(mark(x0)) 177.33/63.31 isNat(active(x0)) 177.33/63.31 U16(mark(x0)) 177.33/63.31 U16(active(x0)) 177.33/63.31 U21(mark(x0), x1) 177.33/63.31 U21(x0, mark(x1)) 177.33/63.31 U21(active(x0), x1) 177.33/63.31 U21(x0, active(x1)) 177.33/63.31 U22(mark(x0), x1) 177.33/63.31 U22(x0, mark(x1)) 177.33/63.31 U22(active(x0), x1) 177.33/63.31 U22(x0, active(x1)) 177.33/63.31 U23(mark(x0)) 177.33/63.31 U23(active(x0)) 177.33/63.31 U31(mark(x0), x1) 177.33/63.31 U31(x0, mark(x1)) 177.33/63.31 U31(active(x0), x1) 177.33/63.31 U31(x0, active(x1)) 177.33/63.31 U32(mark(x0)) 177.33/63.31 U32(active(x0)) 177.33/63.31 U41(mark(x0)) 177.33/63.31 U41(active(x0)) 177.33/63.31 U51(mark(x0), x1) 177.33/63.31 U51(x0, mark(x1)) 177.33/63.31 U51(active(x0), x1) 177.33/63.31 U51(x0, active(x1)) 177.33/63.31 U52(mark(x0), x1) 177.33/63.31 U52(x0, mark(x1)) 177.33/63.31 U52(active(x0), x1) 177.33/63.31 U52(x0, active(x1)) 177.33/63.31 U61(mark(x0), x1, x2) 177.33/63.31 U61(x0, mark(x1), x2) 177.33/63.31 U61(x0, x1, mark(x2)) 177.33/63.31 U61(active(x0), x1, x2) 177.33/63.31 U61(x0, active(x1), x2) 177.33/63.31 U61(x0, x1, active(x2)) 177.33/63.31 U62(mark(x0), x1, x2) 177.33/63.31 U62(x0, mark(x1), x2) 177.33/63.31 U62(x0, x1, mark(x2)) 177.33/63.31 U62(active(x0), x1, x2) 177.33/63.31 U62(x0, active(x1), x2) 177.33/63.31 U62(x0, x1, active(x2)) 177.33/63.31 U63(mark(x0), x1, x2) 177.33/63.31 U63(x0, mark(x1), x2) 177.33/63.31 U63(x0, x1, mark(x2)) 177.33/63.31 U63(active(x0), x1, x2) 177.33/63.31 U63(x0, active(x1), x2) 177.33/63.31 U63(x0, x1, active(x2)) 177.33/63.31 U64(mark(x0), x1, x2) 177.33/63.31 U64(x0, mark(x1), x2) 177.33/63.31 U64(x0, x1, mark(x2)) 177.33/63.31 U64(active(x0), x1, x2) 177.33/63.31 U64(x0, active(x1), x2) 177.33/63.31 U64(x0, x1, active(x2)) 177.33/63.31 s(mark(x0)) 177.33/63.31 s(active(x0)) 177.33/63.31 plus(mark(x0), x1) 177.33/63.31 plus(x0, mark(x1)) 177.33/63.31 plus(active(x0), x1) 177.33/63.31 plus(x0, active(x1)) 177.33/63.31 177.33/63.31 We have to consider all minimal (P,Q,R)-chains. 177.33/63.31 ---------------------------------------- 177.33/63.31 177.33/63.31 (214) QDPOrderProof (EQUIVALENT) 177.33/63.31 We use the reduction pair processor [LPAR04,JAR06]. 177.33/63.31 177.33/63.31 177.33/63.31 The following pairs can be oriented strictly and are deleted. 177.33/63.31 177.33/63.31 MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) 177.33/63.31 MARK(U12(X1, X2, X3)) -> MARK(X1) 177.33/63.31 The remaining pairs can at least be oriented weakly. 177.33/63.31 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 177.33/63.31 177.33/63.31 POL( ACTIVE_1(x_1) ) = max{0, -2} 177.33/63.31 POL( U11_3(x_1, ..., x_3) ) = x_1 + 2x_2 + 2x_3 + 1 177.33/63.31 POL( U12_3(x_1, ..., x_3) ) = 2x_1 + x_2 + 2x_3 + 2 177.33/63.31 POL( U13_3(x_1, ..., x_3) ) = x_1 + 1 177.33/63.31 POL( U14_3(x_1, ..., x_3) ) = 2x_1 + 1 177.33/63.31 POL( U15_2(x_1, x_2) ) = x_1 + 1 177.33/63.31 POL( U31_2(x_1, x_2) ) = 2x_1 + 1 177.33/63.31 POL( active_1(x_1) ) = 2 177.33/63.31 POL( tt ) = 0 177.33/63.31 POL( mark_1(x_1) ) = max{0, x_1 - 2} 177.33/63.31 POL( isNatKind_1(x_1) ) = 0 177.33/63.31 POL( isNat_1(x_1) ) = 0 177.33/63.31 POL( U16_1(x_1) ) = 2x_1 + 1 177.33/63.31 POL( U21_2(x_1, x_2) ) = 2 177.33/63.31 POL( U22_2(x_1, x_2) ) = 2x_1 + 2x_2 + 2 177.33/63.31 POL( U23_1(x_1) ) = max{0, 2x_1 - 2} 177.33/63.31 POL( U32_1(x_1) ) = x_1 + 1 177.33/63.31 POL( U51_2(x_1, x_2) ) = max{0, x_1 + x_2 - 2} 177.33/63.31 POL( U52_2(x_1, x_2) ) = max{0, 2x_1 - 2} 177.33/63.31 POL( U61_3(x_1, ..., x_3) ) = 2 177.33/63.31 POL( U62_3(x_1, ..., x_3) ) = max{0, 2x_2 + x_3 - 2} 177.33/63.31 POL( U63_3(x_1, ..., x_3) ) = x_2 + 2 177.33/63.31 POL( U64_3(x_1, ..., x_3) ) = max{0, 2x_1 - 2} 177.33/63.31 POL( s_1(x_1) ) = 2 177.33/63.31 POL( plus_2(x_1, x_2) ) = max{0, x_1 - 2} 177.33/63.31 POL( U41_1(x_1) ) = x_1 + 1 177.33/63.31 POL( 0 ) = 2 177.33/63.31 POL( MARK_1(x_1) ) = max{0, x_1 - 1} 177.33/63.31 177.33/63.31 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 177.33/63.31 none 177.33/63.31 177.33/63.31 177.33/63.31 ---------------------------------------- 177.33/63.31 177.33/63.31 (215) 177.33/63.31 Obligation: 177.33/63.31 Q DP problem: 177.33/63.31 The TRS P consists of the following rules: 177.33/63.31 177.33/63.31 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.33/63.31 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.33/63.31 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.33/63.31 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.33/63.31 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.33/63.31 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.33/63.31 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.33/63.31 MARK(U16(X)) -> MARK(X) 177.33/63.31 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.33/63.31 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.33/63.31 MARK(U32(X)) -> MARK(X) 177.33/63.31 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.33/63.31 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.33/63.31 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.33/63.31 MARK(U31(X1, X2)) -> MARK(X1) 177.33/63.31 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.33/63.31 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.33/63.31 MARK(U15(X1, X2)) -> MARK(X1) 177.33/63.31 MARK(U41(X)) -> MARK(X) 177.33/63.31 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.33/63.31 177.33/63.31 The TRS R consists of the following rules: 177.33/63.31 177.33/63.31 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.33/63.31 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.33/63.31 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.33/63.31 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.33/63.31 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.33/63.31 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.33/63.31 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.33/63.31 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.33/63.31 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.33/63.31 mark(U16(X)) -> active(U16(mark(X))) 177.33/63.31 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.33/63.31 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.33/63.31 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.33/63.31 mark(U23(X)) -> active(U23(mark(X))) 177.33/63.31 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.33/63.31 mark(U32(X)) -> active(U32(mark(X))) 177.33/63.31 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.33/63.31 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.33/63.31 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.33/63.31 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.33/63.31 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.33/63.31 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.33/63.31 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.33/63.31 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.33/63.31 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.33/63.31 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.33/63.31 mark(s(X)) -> active(s(mark(X))) 177.33/63.31 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.33/63.31 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.33/63.31 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.33/63.31 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.33/63.31 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.33/63.31 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.33/63.31 mark(U41(X)) -> active(U41(mark(X))) 177.33/63.31 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.33/63.31 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.33/63.31 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.33/63.31 mark(isNatKind(X)) -> active(isNatKind(X)) 177.33/63.31 mark(isNat(X)) -> active(isNat(X)) 177.33/63.31 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.33/63.31 mark(tt) -> active(tt) 177.33/63.31 mark(0) -> active(0) 177.33/63.31 plus(X1, mark(X2)) -> plus(X1, X2) 177.33/63.31 plus(mark(X1), X2) -> plus(X1, X2) 177.33/63.31 plus(active(X1), X2) -> plus(X1, X2) 177.33/63.31 plus(X1, active(X2)) -> plus(X1, X2) 177.33/63.31 active(U16(tt)) -> mark(tt) 177.33/63.31 active(U23(tt)) -> mark(tt) 177.33/63.31 active(U32(tt)) -> mark(tt) 177.33/63.31 active(U41(tt)) -> mark(tt) 177.33/63.31 active(isNat(0)) -> mark(tt) 177.33/63.31 active(isNatKind(0)) -> mark(tt) 177.33/63.31 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.33/63.31 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.31 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.33/63.31 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.31 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.33/63.31 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.33/63.31 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.33/63.31 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.31 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.33/63.31 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.31 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.33/63.31 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.33/63.31 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.33/63.31 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.31 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.33/63.31 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.31 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.33/63.31 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.33/63.31 U15(X1, mark(X2)) -> U15(X1, X2) 177.33/63.31 U15(mark(X1), X2) -> U15(X1, X2) 177.33/63.31 U15(active(X1), X2) -> U15(X1, X2) 177.33/63.31 U15(X1, active(X2)) -> U15(X1, X2) 177.33/63.31 U16(active(X)) -> U16(X) 177.33/63.31 U16(mark(X)) -> U16(X) 177.33/63.31 U22(X1, mark(X2)) -> U22(X1, X2) 177.33/63.31 U22(mark(X1), X2) -> U22(X1, X2) 177.33/63.31 U22(active(X1), X2) -> U22(X1, X2) 177.33/63.31 U22(X1, active(X2)) -> U22(X1, X2) 177.33/63.31 U23(active(X)) -> U23(X) 177.33/63.31 U23(mark(X)) -> U23(X) 177.33/63.31 U32(active(X)) -> U32(X) 177.33/63.31 U32(mark(X)) -> U32(X) 177.33/63.31 U52(X1, mark(X2)) -> U52(X1, X2) 177.33/63.31 U52(mark(X1), X2) -> U52(X1, X2) 177.33/63.31 U52(active(X1), X2) -> U52(X1, X2) 177.33/63.31 U52(X1, active(X2)) -> U52(X1, X2) 177.33/63.31 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.33/63.31 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.31 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.33/63.31 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.31 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.33/63.31 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.33/63.31 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.33/63.31 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.31 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.33/63.31 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.31 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.33/63.31 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.33/63.31 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.33/63.31 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.31 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.33/63.31 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.31 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.33/63.31 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.33/63.31 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.33/63.31 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.31 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.33/63.31 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.31 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.33/63.31 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.33/63.31 s(active(X)) -> s(X) 177.33/63.31 s(mark(X)) -> s(X) 177.33/63.31 U21(X1, mark(X2)) -> U21(X1, X2) 177.33/63.31 U21(mark(X1), X2) -> U21(X1, X2) 177.33/63.31 U21(active(X1), X2) -> U21(X1, X2) 177.33/63.31 U21(X1, active(X2)) -> U21(X1, X2) 177.33/63.31 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.31 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.31 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.31 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.31 U41(active(X)) -> U41(X) 177.33/63.31 U41(mark(X)) -> U41(X) 177.33/63.31 U51(X1, mark(X2)) -> U51(X1, X2) 177.33/63.31 U51(mark(X1), X2) -> U51(X1, X2) 177.33/63.31 U51(active(X1), X2) -> U51(X1, X2) 177.33/63.31 U51(X1, active(X2)) -> U51(X1, X2) 177.33/63.31 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.33/63.31 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.31 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.33/63.31 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.31 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.33/63.31 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.33/63.31 177.33/63.31 The set Q consists of the following terms: 177.33/63.31 177.33/63.31 active(U11(tt, x0, x1)) 177.33/63.31 active(U12(tt, x0, x1)) 177.33/63.31 active(U13(tt, x0, x1)) 177.33/63.31 active(U14(tt, x0, x1)) 177.33/63.31 active(U15(tt, x0)) 177.33/63.31 active(U16(tt)) 177.33/63.31 active(U21(tt, x0)) 177.33/63.31 active(U22(tt, x0)) 177.33/63.31 active(U23(tt)) 177.33/63.31 active(U31(tt, x0)) 177.33/63.31 active(U32(tt)) 177.33/63.31 active(U41(tt)) 177.33/63.31 active(U51(tt, x0)) 177.33/63.31 active(U52(tt, x0)) 177.33/63.31 active(U61(tt, x0, x1)) 177.33/63.31 active(U62(tt, x0, x1)) 177.33/63.31 active(U63(tt, x0, x1)) 177.33/63.31 active(U64(tt, x0, x1)) 177.33/63.31 active(isNat(0)) 177.33/63.31 active(isNat(plus(x0, x1))) 177.33/63.31 active(isNat(s(x0))) 177.33/63.31 active(isNatKind(0)) 177.33/63.31 active(isNatKind(plus(x0, x1))) 177.33/63.31 active(isNatKind(s(x0))) 177.33/63.31 active(plus(x0, 0)) 177.33/63.31 active(plus(x0, s(x1))) 177.33/63.31 mark(U11(x0, x1, x2)) 177.33/63.31 mark(tt) 177.33/63.31 mark(U12(x0, x1, x2)) 177.33/63.31 mark(isNatKind(x0)) 177.33/63.31 mark(U13(x0, x1, x2)) 177.33/63.31 mark(U14(x0, x1, x2)) 177.33/63.31 mark(U15(x0, x1)) 177.33/63.31 mark(isNat(x0)) 177.33/63.31 mark(U16(x0)) 177.33/63.31 mark(U21(x0, x1)) 177.33/63.31 mark(U22(x0, x1)) 177.33/63.31 mark(U23(x0)) 177.33/63.31 mark(U31(x0, x1)) 177.33/63.31 mark(U32(x0)) 177.33/63.31 mark(U41(x0)) 177.33/63.31 mark(U51(x0, x1)) 177.33/63.31 mark(U52(x0, x1)) 177.33/63.31 mark(U61(x0, x1, x2)) 177.33/63.31 mark(U62(x0, x1, x2)) 177.33/63.31 mark(U63(x0, x1, x2)) 177.33/63.31 mark(U64(x0, x1, x2)) 177.33/63.31 mark(s(x0)) 177.33/63.31 mark(plus(x0, x1)) 177.33/63.31 mark(0) 177.33/63.31 U11(mark(x0), x1, x2) 177.33/63.31 U11(x0, mark(x1), x2) 177.33/63.31 U11(x0, x1, mark(x2)) 177.33/63.31 U11(active(x0), x1, x2) 177.33/63.31 U11(x0, active(x1), x2) 177.33/63.31 U11(x0, x1, active(x2)) 177.33/63.31 U12(mark(x0), x1, x2) 177.33/63.31 U12(x0, mark(x1), x2) 177.33/63.31 U12(x0, x1, mark(x2)) 177.33/63.31 U12(active(x0), x1, x2) 177.33/63.31 U12(x0, active(x1), x2) 177.33/63.31 U12(x0, x1, active(x2)) 177.33/63.31 isNatKind(mark(x0)) 177.33/63.31 isNatKind(active(x0)) 177.33/63.31 U13(mark(x0), x1, x2) 177.33/63.31 U13(x0, mark(x1), x2) 177.33/63.31 U13(x0, x1, mark(x2)) 177.33/63.31 U13(active(x0), x1, x2) 177.33/63.31 U13(x0, active(x1), x2) 177.33/63.31 U13(x0, x1, active(x2)) 177.33/63.31 U14(mark(x0), x1, x2) 177.33/63.31 U14(x0, mark(x1), x2) 177.33/63.31 U14(x0, x1, mark(x2)) 177.33/63.31 U14(active(x0), x1, x2) 177.33/63.31 U14(x0, active(x1), x2) 177.33/63.31 U14(x0, x1, active(x2)) 177.33/63.31 U15(mark(x0), x1) 177.33/63.31 U15(x0, mark(x1)) 177.33/63.31 U15(active(x0), x1) 177.33/63.31 U15(x0, active(x1)) 177.33/63.31 isNat(mark(x0)) 177.33/63.31 isNat(active(x0)) 177.33/63.31 U16(mark(x0)) 177.33/63.31 U16(active(x0)) 177.33/63.31 U21(mark(x0), x1) 177.33/63.31 U21(x0, mark(x1)) 177.33/63.31 U21(active(x0), x1) 177.33/63.31 U21(x0, active(x1)) 177.33/63.31 U22(mark(x0), x1) 177.33/63.31 U22(x0, mark(x1)) 177.33/63.31 U22(active(x0), x1) 177.33/63.31 U22(x0, active(x1)) 177.33/63.31 U23(mark(x0)) 177.33/63.31 U23(active(x0)) 177.33/63.31 U31(mark(x0), x1) 177.33/63.31 U31(x0, mark(x1)) 177.33/63.31 U31(active(x0), x1) 177.33/63.31 U31(x0, active(x1)) 177.33/63.31 U32(mark(x0)) 177.33/63.31 U32(active(x0)) 177.33/63.31 U41(mark(x0)) 177.33/63.31 U41(active(x0)) 177.33/63.31 U51(mark(x0), x1) 177.33/63.31 U51(x0, mark(x1)) 177.33/63.31 U51(active(x0), x1) 177.33/63.31 U51(x0, active(x1)) 177.33/63.31 U52(mark(x0), x1) 177.33/63.31 U52(x0, mark(x1)) 177.33/63.31 U52(active(x0), x1) 177.33/63.31 U52(x0, active(x1)) 177.33/63.31 U61(mark(x0), x1, x2) 177.33/63.31 U61(x0, mark(x1), x2) 177.33/63.31 U61(x0, x1, mark(x2)) 177.33/63.31 U61(active(x0), x1, x2) 177.33/63.31 U61(x0, active(x1), x2) 177.33/63.31 U61(x0, x1, active(x2)) 177.33/63.31 U62(mark(x0), x1, x2) 177.33/63.31 U62(x0, mark(x1), x2) 177.33/63.31 U62(x0, x1, mark(x2)) 177.33/63.31 U62(active(x0), x1, x2) 177.33/63.31 U62(x0, active(x1), x2) 177.33/63.31 U62(x0, x1, active(x2)) 177.33/63.31 U63(mark(x0), x1, x2) 177.33/63.31 U63(x0, mark(x1), x2) 177.33/63.31 U63(x0, x1, mark(x2)) 177.33/63.31 U63(active(x0), x1, x2) 177.33/63.31 U63(x0, active(x1), x2) 177.33/63.31 U63(x0, x1, active(x2)) 177.33/63.31 U64(mark(x0), x1, x2) 177.33/63.31 U64(x0, mark(x1), x2) 177.33/63.31 U64(x0, x1, mark(x2)) 177.33/63.31 U64(active(x0), x1, x2) 177.33/63.31 U64(x0, active(x1), x2) 177.33/63.31 U64(x0, x1, active(x2)) 177.33/63.31 s(mark(x0)) 177.33/63.31 s(active(x0)) 177.33/63.31 plus(mark(x0), x1) 177.33/63.31 plus(x0, mark(x1)) 177.33/63.31 plus(active(x0), x1) 177.33/63.31 plus(x0, active(x1)) 177.33/63.31 177.33/63.31 We have to consider all minimal (P,Q,R)-chains. 177.33/63.31 ---------------------------------------- 177.33/63.31 177.33/63.31 (216) QDPOrderProof (EQUIVALENT) 177.33/63.31 We use the reduction pair processor [LPAR04,JAR06]. 177.33/63.31 177.33/63.31 177.33/63.31 The following pairs can be oriented strictly and are deleted. 177.33/63.31 177.33/63.31 ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) 177.33/63.31 The remaining pairs can at least be oriented weakly. 177.33/63.31 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 177.33/63.31 177.33/63.31 POL( ACTIVE_1(x_1) ) = max{0, x_1 - 1} 177.33/63.31 POL( U11_3(x_1, ..., x_3) ) = max{0, -2} 177.33/63.31 POL( U13_3(x_1, ..., x_3) ) = max{0, -2} 177.33/63.31 POL( U14_3(x_1, ..., x_3) ) = 0 177.33/63.31 POL( U15_2(x_1, x_2) ) = 1 177.33/63.31 POL( U31_2(x_1, x_2) ) = max{0, -2} 177.33/63.31 POL( active_1(x_1) ) = 2 177.33/63.31 POL( tt ) = 2 177.33/63.31 POL( mark_1(x_1) ) = 1 177.33/63.31 POL( U12_3(x_1, ..., x_3) ) = 2x_1 + 2 177.33/63.31 POL( isNatKind_1(x_1) ) = 0 177.33/63.31 POL( isNat_1(x_1) ) = 0 177.33/63.31 POL( U16_1(x_1) ) = max{0, 2x_1 - 1} 177.33/63.31 POL( U21_2(x_1, x_2) ) = max{0, x_1 - 1} 177.33/63.31 POL( U22_2(x_1, x_2) ) = max{0, 2x_1 - 1} 177.33/63.31 POL( U23_1(x_1) ) = max{0, -2} 177.33/63.31 POL( U32_1(x_1) ) = max{0, 2x_1 - 2} 177.33/63.31 POL( U51_2(x_1, x_2) ) = max{0, x_1 + 2x_2 - 1} 177.33/63.31 POL( U52_2(x_1, x_2) ) = max{0, x_1 + 2x_2 - 1} 177.33/63.31 POL( U61_3(x_1, ..., x_3) ) = 2 177.33/63.31 POL( U62_3(x_1, ..., x_3) ) = x_1 + x_3 + 1 177.33/63.31 POL( U63_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_2 + x_3 - 1} 177.33/63.31 POL( U64_3(x_1, ..., x_3) ) = max{0, 2x_3 - 2} 177.33/63.31 POL( s_1(x_1) ) = 2 177.33/63.31 POL( plus_2(x_1, x_2) ) = max{0, x_1 - 2} 177.33/63.31 POL( U41_1(x_1) ) = max{0, 2x_1 - 2} 177.33/63.31 POL( 0 ) = 0 177.33/63.31 POL( MARK_1(x_1) ) = max{0, -2} 177.33/63.31 177.33/63.31 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 177.33/63.31 177.33/63.31 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.31 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.33/63.31 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.33/63.31 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.31 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.33/63.31 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.33/63.31 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.31 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.33/63.31 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.33/63.31 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.31 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.33/63.31 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.33/63.31 U15(mark(X1), X2) -> U15(X1, X2) 177.33/63.31 U15(X1, mark(X2)) -> U15(X1, X2) 177.33/63.31 U15(active(X1), X2) -> U15(X1, X2) 177.33/63.31 U15(X1, active(X2)) -> U15(X1, X2) 177.33/63.31 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.31 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.33/63.31 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.33/63.31 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.31 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.33/63.31 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.33/63.31 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.31 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.31 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.31 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.31 177.33/63.31 177.33/63.31 ---------------------------------------- 177.33/63.31 177.33/63.31 (217) 177.33/63.31 Obligation: 177.33/63.31 Q DP problem: 177.33/63.31 The TRS P consists of the following rules: 177.33/63.31 177.33/63.31 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.33/63.31 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.33/63.31 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.33/63.31 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.33/63.31 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.33/63.31 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.33/63.31 MARK(U16(X)) -> MARK(X) 177.33/63.31 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.33/63.31 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.33/63.31 MARK(U32(X)) -> MARK(X) 177.33/63.31 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.33/63.31 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.33/63.31 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.33/63.31 MARK(U31(X1, X2)) -> MARK(X1) 177.33/63.31 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.33/63.31 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.33/63.31 MARK(U15(X1, X2)) -> MARK(X1) 177.33/63.31 MARK(U41(X)) -> MARK(X) 177.33/63.31 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.33/63.31 177.33/63.31 The TRS R consists of the following rules: 177.33/63.31 177.33/63.31 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.33/63.31 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.33/63.31 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.33/63.31 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.33/63.31 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.33/63.31 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.33/63.31 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.33/63.31 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.33/63.31 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.33/63.31 mark(U16(X)) -> active(U16(mark(X))) 177.33/63.31 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.33/63.31 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.33/63.31 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.33/63.31 mark(U23(X)) -> active(U23(mark(X))) 177.33/63.31 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.33/63.31 mark(U32(X)) -> active(U32(mark(X))) 177.33/63.31 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.33/63.31 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.33/63.31 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.33/63.31 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.33/63.31 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.33/63.31 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.33/63.31 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.33/63.31 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.33/63.31 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.33/63.31 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.33/63.31 mark(s(X)) -> active(s(mark(X))) 177.33/63.31 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.33/63.31 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.33/63.31 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.33/63.31 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.33/63.31 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.33/63.31 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.33/63.31 mark(U41(X)) -> active(U41(mark(X))) 177.33/63.31 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.33/63.31 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.33/63.31 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.33/63.31 mark(isNatKind(X)) -> active(isNatKind(X)) 177.33/63.31 mark(isNat(X)) -> active(isNat(X)) 177.33/63.31 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.33/63.31 mark(tt) -> active(tt) 177.33/63.31 mark(0) -> active(0) 177.33/63.31 plus(X1, mark(X2)) -> plus(X1, X2) 177.33/63.31 plus(mark(X1), X2) -> plus(X1, X2) 177.33/63.31 plus(active(X1), X2) -> plus(X1, X2) 177.33/63.31 plus(X1, active(X2)) -> plus(X1, X2) 177.33/63.31 active(U16(tt)) -> mark(tt) 177.33/63.31 active(U23(tt)) -> mark(tt) 177.33/63.31 active(U32(tt)) -> mark(tt) 177.33/63.31 active(U41(tt)) -> mark(tt) 177.33/63.31 active(isNat(0)) -> mark(tt) 177.33/63.31 active(isNatKind(0)) -> mark(tt) 177.33/63.31 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.33/63.31 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.31 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.33/63.31 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.31 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.33/63.31 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.33/63.31 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.33/63.31 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.31 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.33/63.31 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.31 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.33/63.31 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.33/63.31 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.33/63.31 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.31 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.33/63.31 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.31 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.33/63.31 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.33/63.31 U15(X1, mark(X2)) -> U15(X1, X2) 177.33/63.31 U15(mark(X1), X2) -> U15(X1, X2) 177.33/63.31 U15(active(X1), X2) -> U15(X1, X2) 177.33/63.31 U15(X1, active(X2)) -> U15(X1, X2) 177.33/63.31 U16(active(X)) -> U16(X) 177.33/63.31 U16(mark(X)) -> U16(X) 177.33/63.31 U22(X1, mark(X2)) -> U22(X1, X2) 177.33/63.31 U22(mark(X1), X2) -> U22(X1, X2) 177.33/63.31 U22(active(X1), X2) -> U22(X1, X2) 177.33/63.31 U22(X1, active(X2)) -> U22(X1, X2) 177.33/63.31 U23(active(X)) -> U23(X) 177.33/63.31 U23(mark(X)) -> U23(X) 177.33/63.31 U32(active(X)) -> U32(X) 177.33/63.31 U32(mark(X)) -> U32(X) 177.33/63.31 U52(X1, mark(X2)) -> U52(X1, X2) 177.33/63.31 U52(mark(X1), X2) -> U52(X1, X2) 177.33/63.31 U52(active(X1), X2) -> U52(X1, X2) 177.33/63.31 U52(X1, active(X2)) -> U52(X1, X2) 177.33/63.31 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.33/63.31 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.31 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.33/63.31 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.31 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.33/63.31 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.33/63.31 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.33/63.31 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.31 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.33/63.31 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.31 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.33/63.31 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.33/63.31 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.33/63.31 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.31 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.33/63.31 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.31 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.33/63.31 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.33/63.31 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.33/63.31 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.31 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.33/63.31 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.31 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.33/63.31 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.33/63.31 s(active(X)) -> s(X) 177.33/63.31 s(mark(X)) -> s(X) 177.33/63.31 U21(X1, mark(X2)) -> U21(X1, X2) 177.33/63.31 U21(mark(X1), X2) -> U21(X1, X2) 177.33/63.31 U21(active(X1), X2) -> U21(X1, X2) 177.33/63.31 U21(X1, active(X2)) -> U21(X1, X2) 177.33/63.31 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.31 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.31 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.31 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.31 U41(active(X)) -> U41(X) 177.33/63.31 U41(mark(X)) -> U41(X) 177.33/63.31 U51(X1, mark(X2)) -> U51(X1, X2) 177.33/63.31 U51(mark(X1), X2) -> U51(X1, X2) 177.33/63.31 U51(active(X1), X2) -> U51(X1, X2) 177.33/63.31 U51(X1, active(X2)) -> U51(X1, X2) 177.33/63.31 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.33/63.31 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.31 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.33/63.31 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.31 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.33/63.31 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.33/63.31 177.33/63.31 The set Q consists of the following terms: 177.33/63.31 177.33/63.31 active(U11(tt, x0, x1)) 177.33/63.31 active(U12(tt, x0, x1)) 177.33/63.31 active(U13(tt, x0, x1)) 177.33/63.31 active(U14(tt, x0, x1)) 177.33/63.31 active(U15(tt, x0)) 177.33/63.31 active(U16(tt)) 177.33/63.31 active(U21(tt, x0)) 177.33/63.31 active(U22(tt, x0)) 177.33/63.31 active(U23(tt)) 177.33/63.31 active(U31(tt, x0)) 177.33/63.31 active(U32(tt)) 177.33/63.31 active(U41(tt)) 177.33/63.31 active(U51(tt, x0)) 177.33/63.31 active(U52(tt, x0)) 177.33/63.31 active(U61(tt, x0, x1)) 177.33/63.31 active(U62(tt, x0, x1)) 177.33/63.31 active(U63(tt, x0, x1)) 177.33/63.31 active(U64(tt, x0, x1)) 177.33/63.31 active(isNat(0)) 177.33/63.31 active(isNat(plus(x0, x1))) 177.33/63.31 active(isNat(s(x0))) 177.33/63.31 active(isNatKind(0)) 177.33/63.31 active(isNatKind(plus(x0, x1))) 177.33/63.31 active(isNatKind(s(x0))) 177.33/63.31 active(plus(x0, 0)) 177.33/63.31 active(plus(x0, s(x1))) 177.33/63.31 mark(U11(x0, x1, x2)) 177.33/63.31 mark(tt) 177.33/63.31 mark(U12(x0, x1, x2)) 177.33/63.31 mark(isNatKind(x0)) 177.33/63.31 mark(U13(x0, x1, x2)) 177.33/63.31 mark(U14(x0, x1, x2)) 177.33/63.31 mark(U15(x0, x1)) 177.33/63.31 mark(isNat(x0)) 177.33/63.31 mark(U16(x0)) 177.33/63.31 mark(U21(x0, x1)) 177.33/63.31 mark(U22(x0, x1)) 177.33/63.31 mark(U23(x0)) 177.33/63.31 mark(U31(x0, x1)) 177.33/63.31 mark(U32(x0)) 177.33/63.31 mark(U41(x0)) 177.33/63.31 mark(U51(x0, x1)) 177.33/63.31 mark(U52(x0, x1)) 177.33/63.31 mark(U61(x0, x1, x2)) 177.33/63.31 mark(U62(x0, x1, x2)) 177.33/63.31 mark(U63(x0, x1, x2)) 177.33/63.31 mark(U64(x0, x1, x2)) 177.33/63.31 mark(s(x0)) 177.33/63.31 mark(plus(x0, x1)) 177.33/63.31 mark(0) 177.33/63.31 U11(mark(x0), x1, x2) 177.33/63.31 U11(x0, mark(x1), x2) 177.33/63.31 U11(x0, x1, mark(x2)) 177.33/63.31 U11(active(x0), x1, x2) 177.33/63.31 U11(x0, active(x1), x2) 177.33/63.31 U11(x0, x1, active(x2)) 177.33/63.31 U12(mark(x0), x1, x2) 177.33/63.31 U12(x0, mark(x1), x2) 177.33/63.31 U12(x0, x1, mark(x2)) 177.33/63.31 U12(active(x0), x1, x2) 177.33/63.31 U12(x0, active(x1), x2) 177.33/63.31 U12(x0, x1, active(x2)) 177.33/63.31 isNatKind(mark(x0)) 177.33/63.31 isNatKind(active(x0)) 177.33/63.31 U13(mark(x0), x1, x2) 177.33/63.31 U13(x0, mark(x1), x2) 177.33/63.31 U13(x0, x1, mark(x2)) 177.33/63.31 U13(active(x0), x1, x2) 177.33/63.31 U13(x0, active(x1), x2) 177.33/63.31 U13(x0, x1, active(x2)) 177.33/63.31 U14(mark(x0), x1, x2) 177.33/63.31 U14(x0, mark(x1), x2) 177.33/63.31 U14(x0, x1, mark(x2)) 177.33/63.31 U14(active(x0), x1, x2) 177.33/63.31 U14(x0, active(x1), x2) 177.33/63.31 U14(x0, x1, active(x2)) 177.33/63.31 U15(mark(x0), x1) 177.33/63.31 U15(x0, mark(x1)) 177.33/63.31 U15(active(x0), x1) 177.33/63.31 U15(x0, active(x1)) 177.33/63.31 isNat(mark(x0)) 177.33/63.31 isNat(active(x0)) 177.33/63.31 U16(mark(x0)) 177.33/63.31 U16(active(x0)) 177.33/63.31 U21(mark(x0), x1) 177.33/63.31 U21(x0, mark(x1)) 177.33/63.31 U21(active(x0), x1) 177.33/63.31 U21(x0, active(x1)) 177.33/63.31 U22(mark(x0), x1) 177.33/63.31 U22(x0, mark(x1)) 177.33/63.31 U22(active(x0), x1) 177.33/63.31 U22(x0, active(x1)) 177.33/63.31 U23(mark(x0)) 177.33/63.31 U23(active(x0)) 177.33/63.31 U31(mark(x0), x1) 177.33/63.31 U31(x0, mark(x1)) 177.33/63.31 U31(active(x0), x1) 177.33/63.31 U31(x0, active(x1)) 177.33/63.31 U32(mark(x0)) 177.33/63.31 U32(active(x0)) 177.33/63.31 U41(mark(x0)) 177.33/63.31 U41(active(x0)) 177.33/63.31 U51(mark(x0), x1) 177.33/63.31 U51(x0, mark(x1)) 177.33/63.31 U51(active(x0), x1) 177.33/63.31 U51(x0, active(x1)) 177.33/63.31 U52(mark(x0), x1) 177.33/63.31 U52(x0, mark(x1)) 177.33/63.31 U52(active(x0), x1) 177.33/63.31 U52(x0, active(x1)) 177.33/63.31 U61(mark(x0), x1, x2) 177.33/63.31 U61(x0, mark(x1), x2) 177.33/63.31 U61(x0, x1, mark(x2)) 177.33/63.31 U61(active(x0), x1, x2) 177.33/63.31 U61(x0, active(x1), x2) 177.33/63.31 U61(x0, x1, active(x2)) 177.33/63.31 U62(mark(x0), x1, x2) 177.33/63.31 U62(x0, mark(x1), x2) 177.33/63.31 U62(x0, x1, mark(x2)) 177.33/63.31 U62(active(x0), x1, x2) 177.33/63.31 U62(x0, active(x1), x2) 177.33/63.31 U62(x0, x1, active(x2)) 177.33/63.31 U63(mark(x0), x1, x2) 177.33/63.31 U63(x0, mark(x1), x2) 177.33/63.31 U63(x0, x1, mark(x2)) 177.33/63.31 U63(active(x0), x1, x2) 177.33/63.31 U63(x0, active(x1), x2) 177.33/63.31 U63(x0, x1, active(x2)) 177.33/63.31 U64(mark(x0), x1, x2) 177.33/63.31 U64(x0, mark(x1), x2) 177.33/63.31 U64(x0, x1, mark(x2)) 177.33/63.31 U64(active(x0), x1, x2) 177.33/63.31 U64(x0, active(x1), x2) 177.33/63.31 U64(x0, x1, active(x2)) 177.33/63.31 s(mark(x0)) 177.33/63.31 s(active(x0)) 177.33/63.31 plus(mark(x0), x1) 177.33/63.31 plus(x0, mark(x1)) 177.33/63.31 plus(active(x0), x1) 177.33/63.31 plus(x0, active(x1)) 177.33/63.31 177.33/63.31 We have to consider all minimal (P,Q,R)-chains. 177.33/63.31 ---------------------------------------- 177.33/63.31 177.33/63.31 (218) QDPOrderProof (EQUIVALENT) 177.33/63.31 We use the reduction pair processor [LPAR04,JAR06]. 177.33/63.31 177.33/63.31 177.33/63.31 The following pairs can be oriented strictly and are deleted. 177.33/63.31 177.33/63.31 MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) 177.33/63.31 The remaining pairs can at least be oriented weakly. 177.33/63.31 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 177.33/63.31 177.33/63.31 POL( ACTIVE_1(x_1) ) = max{0, x_1 - 1} 177.33/63.31 POL( U11_3(x_1, ..., x_3) ) = 0 177.33/63.31 POL( U13_3(x_1, ..., x_3) ) = 2 177.33/63.31 POL( U14_3(x_1, ..., x_3) ) = 2 177.33/63.31 POL( U15_2(x_1, x_2) ) = 2 177.33/63.31 POL( U31_2(x_1, x_2) ) = 2 177.33/63.31 POL( active_1(x_1) ) = max{0, 2x_1 - 2} 177.33/63.31 POL( tt ) = 0 177.33/63.31 POL( mark_1(x_1) ) = 2 177.33/63.31 POL( U12_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_2 + 2x_3 - 2} 177.33/63.31 POL( isNatKind_1(x_1) ) = 2 177.33/63.31 POL( isNat_1(x_1) ) = 2x_1 + 1 177.33/63.31 POL( U16_1(x_1) ) = max{0, 2x_1 - 2} 177.33/63.31 POL( U21_2(x_1, x_2) ) = x_2 + 2 177.33/63.31 POL( U22_2(x_1, x_2) ) = x_1 + x_2 + 2 177.33/63.31 POL( U23_1(x_1) ) = x_1 + 2 177.33/63.31 POL( U32_1(x_1) ) = max{0, -2} 177.33/63.31 POL( U51_2(x_1, x_2) ) = x_2 + 2 177.33/63.31 POL( U52_2(x_1, x_2) ) = x_2 + 2 177.33/63.31 POL( U61_3(x_1, ..., x_3) ) = 2x_1 + 2x_2 + 2x_3 + 2 177.33/63.31 POL( U62_3(x_1, ..., x_3) ) = x_1 + x_3 + 2 177.33/63.31 POL( U63_3(x_1, ..., x_3) ) = max{0, 2x_2 + 2x_3 - 2} 177.33/63.31 POL( U64_3(x_1, ..., x_3) ) = max{0, 2x_2 + 2x_3 - 2} 177.33/63.31 POL( s_1(x_1) ) = max{0, 2x_1 - 2} 177.33/63.31 POL( plus_2(x_1, x_2) ) = 2x_1 + 2x_2 + 1 177.33/63.31 POL( U41_1(x_1) ) = max{0, 2x_1 - 2} 177.33/63.31 POL( 0 ) = 2 177.33/63.31 POL( MARK_1(x_1) ) = 1 177.33/63.31 177.33/63.31 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 177.33/63.31 177.33/63.31 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.31 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.33/63.31 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.33/63.31 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.31 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.33/63.31 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.33/63.31 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.31 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.33/63.31 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.33/63.31 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.31 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.33/63.31 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.33/63.31 U15(mark(X1), X2) -> U15(X1, X2) 177.33/63.31 U15(X1, mark(X2)) -> U15(X1, X2) 177.33/63.31 U15(active(X1), X2) -> U15(X1, X2) 177.33/63.31 U15(X1, active(X2)) -> U15(X1, X2) 177.33/63.31 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.31 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.33/63.31 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.33/63.31 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.31 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.33/63.31 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.33/63.31 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.31 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.31 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.31 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.31 177.33/63.31 177.33/63.31 ---------------------------------------- 177.33/63.31 177.33/63.31 (219) 177.33/63.31 Obligation: 177.33/63.31 Q DP problem: 177.33/63.31 The TRS P consists of the following rules: 177.33/63.31 177.33/63.31 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.33/63.31 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.33/63.31 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.33/63.31 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.33/63.31 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.33/63.31 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.33/63.31 MARK(U16(X)) -> MARK(X) 177.33/63.31 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.33/63.31 MARK(U32(X)) -> MARK(X) 177.33/63.31 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.33/63.31 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.33/63.31 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.33/63.31 MARK(U31(X1, X2)) -> MARK(X1) 177.33/63.31 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.33/63.31 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.33/63.31 MARK(U15(X1, X2)) -> MARK(X1) 177.33/63.31 MARK(U41(X)) -> MARK(X) 177.33/63.31 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.33/63.31 177.33/63.31 The TRS R consists of the following rules: 177.33/63.31 177.33/63.31 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.33/63.31 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.33/63.31 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.33/63.31 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.33/63.31 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.33/63.31 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.33/63.31 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.33/63.31 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.33/63.31 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.33/63.31 mark(U16(X)) -> active(U16(mark(X))) 177.33/63.31 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.33/63.31 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.33/63.31 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.33/63.31 mark(U23(X)) -> active(U23(mark(X))) 177.33/63.31 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.33/63.31 mark(U32(X)) -> active(U32(mark(X))) 177.33/63.31 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.33/63.31 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.33/63.31 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.33/63.31 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.33/63.31 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.33/63.31 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.33/63.31 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.33/63.31 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.33/63.31 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.33/63.31 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.33/63.31 mark(s(X)) -> active(s(mark(X))) 177.33/63.31 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.33/63.31 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.33/63.31 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.33/63.31 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.33/63.31 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.33/63.31 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.33/63.31 mark(U41(X)) -> active(U41(mark(X))) 177.33/63.31 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.33/63.31 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.33/63.31 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.33/63.31 mark(isNatKind(X)) -> active(isNatKind(X)) 177.33/63.31 mark(isNat(X)) -> active(isNat(X)) 177.33/63.31 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.33/63.31 mark(tt) -> active(tt) 177.33/63.31 mark(0) -> active(0) 177.33/63.31 plus(X1, mark(X2)) -> plus(X1, X2) 177.33/63.31 plus(mark(X1), X2) -> plus(X1, X2) 177.33/63.31 plus(active(X1), X2) -> plus(X1, X2) 177.33/63.31 plus(X1, active(X2)) -> plus(X1, X2) 177.33/63.31 active(U16(tt)) -> mark(tt) 177.33/63.31 active(U23(tt)) -> mark(tt) 177.33/63.31 active(U32(tt)) -> mark(tt) 177.33/63.31 active(U41(tt)) -> mark(tt) 177.33/63.31 active(isNat(0)) -> mark(tt) 177.33/63.31 active(isNatKind(0)) -> mark(tt) 177.33/63.31 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.33/63.31 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.31 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.33/63.31 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.31 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.33/63.31 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.33/63.31 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.33/63.31 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.31 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.33/63.31 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.31 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.33/63.31 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.33/63.31 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.33/63.31 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.31 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.33/63.31 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.31 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.33/63.31 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.33/63.31 U15(X1, mark(X2)) -> U15(X1, X2) 177.33/63.31 U15(mark(X1), X2) -> U15(X1, X2) 177.33/63.31 U15(active(X1), X2) -> U15(X1, X2) 177.33/63.31 U15(X1, active(X2)) -> U15(X1, X2) 177.33/63.31 U16(active(X)) -> U16(X) 177.33/63.31 U16(mark(X)) -> U16(X) 177.33/63.31 U22(X1, mark(X2)) -> U22(X1, X2) 177.33/63.31 U22(mark(X1), X2) -> U22(X1, X2) 177.33/63.31 U22(active(X1), X2) -> U22(X1, X2) 177.33/63.31 U22(X1, active(X2)) -> U22(X1, X2) 177.33/63.31 U23(active(X)) -> U23(X) 177.33/63.31 U23(mark(X)) -> U23(X) 177.33/63.31 U32(active(X)) -> U32(X) 177.33/63.31 U32(mark(X)) -> U32(X) 177.33/63.31 U52(X1, mark(X2)) -> U52(X1, X2) 177.33/63.31 U52(mark(X1), X2) -> U52(X1, X2) 177.33/63.31 U52(active(X1), X2) -> U52(X1, X2) 177.33/63.31 U52(X1, active(X2)) -> U52(X1, X2) 177.33/63.31 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.33/63.31 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.31 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.33/63.31 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.31 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.33/63.31 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.33/63.31 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.33/63.31 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.31 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.33/63.31 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.31 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.33/63.31 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.33/63.31 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.33/63.31 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.31 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.33/63.31 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.31 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.33/63.31 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.33/63.31 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.33/63.31 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.31 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.33/63.31 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.31 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.33/63.31 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.33/63.31 s(active(X)) -> s(X) 177.33/63.31 s(mark(X)) -> s(X) 177.33/63.31 U21(X1, mark(X2)) -> U21(X1, X2) 177.33/63.31 U21(mark(X1), X2) -> U21(X1, X2) 177.33/63.31 U21(active(X1), X2) -> U21(X1, X2) 177.33/63.31 U21(X1, active(X2)) -> U21(X1, X2) 177.33/63.31 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.31 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.31 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.31 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.31 U41(active(X)) -> U41(X) 177.33/63.31 U41(mark(X)) -> U41(X) 177.33/63.31 U51(X1, mark(X2)) -> U51(X1, X2) 177.33/63.31 U51(mark(X1), X2) -> U51(X1, X2) 177.33/63.31 U51(active(X1), X2) -> U51(X1, X2) 177.33/63.31 U51(X1, active(X2)) -> U51(X1, X2) 177.33/63.31 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.33/63.31 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.31 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.33/63.31 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.31 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.33/63.31 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.33/63.31 177.33/63.31 The set Q consists of the following terms: 177.33/63.31 177.33/63.31 active(U11(tt, x0, x1)) 177.33/63.31 active(U12(tt, x0, x1)) 177.33/63.31 active(U13(tt, x0, x1)) 177.33/63.31 active(U14(tt, x0, x1)) 177.33/63.31 active(U15(tt, x0)) 177.33/63.31 active(U16(tt)) 177.33/63.31 active(U21(tt, x0)) 177.33/63.31 active(U22(tt, x0)) 177.33/63.31 active(U23(tt)) 177.33/63.31 active(U31(tt, x0)) 177.33/63.31 active(U32(tt)) 177.33/63.31 active(U41(tt)) 177.33/63.31 active(U51(tt, x0)) 177.33/63.31 active(U52(tt, x0)) 177.33/63.31 active(U61(tt, x0, x1)) 177.33/63.31 active(U62(tt, x0, x1)) 177.33/63.31 active(U63(tt, x0, x1)) 177.33/63.31 active(U64(tt, x0, x1)) 177.33/63.31 active(isNat(0)) 177.33/63.31 active(isNat(plus(x0, x1))) 177.33/63.31 active(isNat(s(x0))) 177.33/63.31 active(isNatKind(0)) 177.33/63.31 active(isNatKind(plus(x0, x1))) 177.33/63.31 active(isNatKind(s(x0))) 177.33/63.31 active(plus(x0, 0)) 177.33/63.31 active(plus(x0, s(x1))) 177.33/63.31 mark(U11(x0, x1, x2)) 177.33/63.31 mark(tt) 177.33/63.31 mark(U12(x0, x1, x2)) 177.33/63.31 mark(isNatKind(x0)) 177.33/63.31 mark(U13(x0, x1, x2)) 177.33/63.31 mark(U14(x0, x1, x2)) 177.33/63.31 mark(U15(x0, x1)) 177.33/63.31 mark(isNat(x0)) 177.33/63.31 mark(U16(x0)) 177.33/63.31 mark(U21(x0, x1)) 177.33/63.31 mark(U22(x0, x1)) 177.33/63.31 mark(U23(x0)) 177.33/63.31 mark(U31(x0, x1)) 177.33/63.31 mark(U32(x0)) 177.33/63.31 mark(U41(x0)) 177.33/63.31 mark(U51(x0, x1)) 177.33/63.31 mark(U52(x0, x1)) 177.33/63.31 mark(U61(x0, x1, x2)) 177.33/63.31 mark(U62(x0, x1, x2)) 177.33/63.31 mark(U63(x0, x1, x2)) 177.33/63.31 mark(U64(x0, x1, x2)) 177.33/63.31 mark(s(x0)) 177.33/63.31 mark(plus(x0, x1)) 177.33/63.31 mark(0) 177.33/63.31 U11(mark(x0), x1, x2) 177.33/63.31 U11(x0, mark(x1), x2) 177.33/63.31 U11(x0, x1, mark(x2)) 177.33/63.31 U11(active(x0), x1, x2) 177.33/63.31 U11(x0, active(x1), x2) 177.33/63.31 U11(x0, x1, active(x2)) 177.33/63.31 U12(mark(x0), x1, x2) 177.33/63.31 U12(x0, mark(x1), x2) 177.33/63.31 U12(x0, x1, mark(x2)) 177.33/63.31 U12(active(x0), x1, x2) 177.33/63.32 U12(x0, active(x1), x2) 177.33/63.32 U12(x0, x1, active(x2)) 177.33/63.32 isNatKind(mark(x0)) 177.33/63.32 isNatKind(active(x0)) 177.33/63.32 U13(mark(x0), x1, x2) 177.33/63.32 U13(x0, mark(x1), x2) 177.33/63.32 U13(x0, x1, mark(x2)) 177.33/63.32 U13(active(x0), x1, x2) 177.33/63.32 U13(x0, active(x1), x2) 177.33/63.32 U13(x0, x1, active(x2)) 177.33/63.32 U14(mark(x0), x1, x2) 177.33/63.32 U14(x0, mark(x1), x2) 177.33/63.32 U14(x0, x1, mark(x2)) 177.33/63.32 U14(active(x0), x1, x2) 177.33/63.32 U14(x0, active(x1), x2) 177.33/63.32 U14(x0, x1, active(x2)) 177.33/63.32 U15(mark(x0), x1) 177.33/63.32 U15(x0, mark(x1)) 177.33/63.32 U15(active(x0), x1) 177.33/63.32 U15(x0, active(x1)) 177.33/63.32 isNat(mark(x0)) 177.33/63.32 isNat(active(x0)) 177.33/63.32 U16(mark(x0)) 177.33/63.32 U16(active(x0)) 177.33/63.32 U21(mark(x0), x1) 177.33/63.32 U21(x0, mark(x1)) 177.33/63.32 U21(active(x0), x1) 177.33/63.32 U21(x0, active(x1)) 177.33/63.32 U22(mark(x0), x1) 177.33/63.32 U22(x0, mark(x1)) 177.33/63.32 U22(active(x0), x1) 177.33/63.32 U22(x0, active(x1)) 177.33/63.32 U23(mark(x0)) 177.33/63.32 U23(active(x0)) 177.33/63.32 U31(mark(x0), x1) 177.33/63.32 U31(x0, mark(x1)) 177.33/63.32 U31(active(x0), x1) 177.33/63.32 U31(x0, active(x1)) 177.33/63.32 U32(mark(x0)) 177.33/63.32 U32(active(x0)) 177.33/63.32 U41(mark(x0)) 177.33/63.32 U41(active(x0)) 177.33/63.32 U51(mark(x0), x1) 177.33/63.32 U51(x0, mark(x1)) 177.33/63.32 U51(active(x0), x1) 177.33/63.32 U51(x0, active(x1)) 177.33/63.32 U52(mark(x0), x1) 177.33/63.32 U52(x0, mark(x1)) 177.33/63.32 U52(active(x0), x1) 177.33/63.32 U52(x0, active(x1)) 177.33/63.32 U61(mark(x0), x1, x2) 177.33/63.32 U61(x0, mark(x1), x2) 177.33/63.32 U61(x0, x1, mark(x2)) 177.33/63.32 U61(active(x0), x1, x2) 177.33/63.32 U61(x0, active(x1), x2) 177.33/63.32 U61(x0, x1, active(x2)) 177.33/63.32 U62(mark(x0), x1, x2) 177.33/63.32 U62(x0, mark(x1), x2) 177.33/63.32 U62(x0, x1, mark(x2)) 177.33/63.32 U62(active(x0), x1, x2) 177.33/63.32 U62(x0, active(x1), x2) 177.33/63.32 U62(x0, x1, active(x2)) 177.33/63.32 U63(mark(x0), x1, x2) 177.33/63.32 U63(x0, mark(x1), x2) 177.33/63.32 U63(x0, x1, mark(x2)) 177.33/63.32 U63(active(x0), x1, x2) 177.33/63.32 U63(x0, active(x1), x2) 177.33/63.32 U63(x0, x1, active(x2)) 177.33/63.32 U64(mark(x0), x1, x2) 177.33/63.32 U64(x0, mark(x1), x2) 177.33/63.32 U64(x0, x1, mark(x2)) 177.33/63.32 U64(active(x0), x1, x2) 177.33/63.32 U64(x0, active(x1), x2) 177.33/63.32 U64(x0, x1, active(x2)) 177.33/63.32 s(mark(x0)) 177.33/63.32 s(active(x0)) 177.33/63.32 plus(mark(x0), x1) 177.33/63.32 plus(x0, mark(x1)) 177.33/63.32 plus(active(x0), x1) 177.33/63.32 plus(x0, active(x1)) 177.33/63.32 177.33/63.32 We have to consider all minimal (P,Q,R)-chains. 177.33/63.32 ---------------------------------------- 177.33/63.32 177.33/63.32 (220) QDPOrderProof (EQUIVALENT) 177.33/63.32 We use the reduction pair processor [LPAR04,JAR06]. 177.33/63.32 177.33/63.32 177.33/63.32 The following pairs can be oriented strictly and are deleted. 177.33/63.32 177.33/63.32 MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) 177.33/63.32 MARK(U13(X1, X2, X3)) -> MARK(X1) 177.33/63.32 The remaining pairs can at least be oriented weakly. 177.33/63.32 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 177.33/63.32 177.33/63.32 POL( ACTIVE_1(x_1) ) = max{0, -2} 177.33/63.32 POL( U13_3(x_1, ..., x_3) ) = 2x_1 + 2x_2 + x_3 + 2 177.33/63.32 POL( U14_3(x_1, ..., x_3) ) = 2x_1 + 1 177.33/63.32 POL( U15_2(x_1, x_2) ) = 2x_1 + 1 177.33/63.32 POL( U31_2(x_1, x_2) ) = 2x_1 + 1 177.33/63.32 POL( active_1(x_1) ) = max{0, -2} 177.33/63.32 POL( U11_3(x_1, ..., x_3) ) = x_2 + 2x_3 + 2 177.33/63.32 POL( tt ) = 0 177.33/63.32 POL( mark_1(x_1) ) = max{0, -2} 177.33/63.32 POL( U12_3(x_1, ..., x_3) ) = max{0, 2x_2 - 2} 177.33/63.32 POL( isNatKind_1(x_1) ) = 0 177.33/63.32 POL( isNat_1(x_1) ) = 0 177.33/63.32 POL( U16_1(x_1) ) = 2x_1 + 1 177.33/63.32 POL( U21_2(x_1, x_2) ) = 2x_2 + 2 177.33/63.32 POL( U22_2(x_1, x_2) ) = max{0, 2x_1 - 2} 177.33/63.32 POL( U23_1(x_1) ) = max{0, -2} 177.33/63.32 POL( U32_1(x_1) ) = x_1 + 1 177.33/63.32 POL( U51_2(x_1, x_2) ) = max{0, 2x_2 - 2} 177.33/63.32 POL( U52_2(x_1, x_2) ) = 0 177.33/63.32 POL( U61_3(x_1, ..., x_3) ) = max{0, 2x_2 - 2} 177.33/63.32 POL( U62_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_2 - 2} 177.33/63.32 POL( U63_3(x_1, ..., x_3) ) = max{0, 2x_2 + 2x_3 - 2} 177.33/63.32 POL( U64_3(x_1, ..., x_3) ) = max{0, x_2 + 2x_3 - 2} 177.33/63.32 POL( s_1(x_1) ) = 2 177.33/63.32 POL( plus_2(x_1, x_2) ) = 2 177.33/63.32 POL( U41_1(x_1) ) = 2x_1 + 1 177.33/63.32 POL( 0 ) = 0 177.33/63.32 POL( MARK_1(x_1) ) = max{0, 2x_1 - 2} 177.33/63.32 177.33/63.32 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 177.33/63.32 none 177.33/63.32 177.33/63.32 177.33/63.32 ---------------------------------------- 177.33/63.32 177.33/63.32 (221) 177.33/63.32 Obligation: 177.33/63.32 Q DP problem: 177.33/63.32 The TRS P consists of the following rules: 177.33/63.32 177.33/63.32 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.33/63.32 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.33/63.32 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.33/63.32 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.33/63.32 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.33/63.32 MARK(U16(X)) -> MARK(X) 177.33/63.32 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.33/63.32 MARK(U32(X)) -> MARK(X) 177.33/63.32 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.33/63.32 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.33/63.32 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.33/63.32 MARK(U31(X1, X2)) -> MARK(X1) 177.33/63.32 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.33/63.32 MARK(U15(X1, X2)) -> MARK(X1) 177.33/63.32 MARK(U41(X)) -> MARK(X) 177.33/63.32 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.33/63.32 177.33/63.32 The TRS R consists of the following rules: 177.33/63.32 177.33/63.32 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.33/63.32 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.33/63.32 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.33/63.32 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.33/63.32 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.33/63.32 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.33/63.32 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.33/63.32 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.33/63.32 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.33/63.32 mark(U16(X)) -> active(U16(mark(X))) 177.33/63.32 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.33/63.32 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.33/63.32 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.33/63.32 mark(U23(X)) -> active(U23(mark(X))) 177.33/63.32 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.33/63.32 mark(U32(X)) -> active(U32(mark(X))) 177.33/63.32 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.33/63.32 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.33/63.32 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.33/63.32 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.33/63.32 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.33/63.32 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.33/63.32 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.33/63.32 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.33/63.32 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.33/63.32 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.33/63.32 mark(s(X)) -> active(s(mark(X))) 177.33/63.32 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.33/63.32 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.33/63.32 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.33/63.32 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.33/63.32 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.33/63.32 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.33/63.32 mark(U41(X)) -> active(U41(mark(X))) 177.33/63.32 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.33/63.32 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.33/63.32 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.33/63.32 mark(isNatKind(X)) -> active(isNatKind(X)) 177.33/63.32 mark(isNat(X)) -> active(isNat(X)) 177.33/63.32 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.33/63.32 mark(tt) -> active(tt) 177.33/63.32 mark(0) -> active(0) 177.33/63.32 plus(X1, mark(X2)) -> plus(X1, X2) 177.33/63.32 plus(mark(X1), X2) -> plus(X1, X2) 177.33/63.32 plus(active(X1), X2) -> plus(X1, X2) 177.33/63.32 plus(X1, active(X2)) -> plus(X1, X2) 177.33/63.32 active(U16(tt)) -> mark(tt) 177.33/63.32 active(U23(tt)) -> mark(tt) 177.33/63.32 active(U32(tt)) -> mark(tt) 177.33/63.32 active(U41(tt)) -> mark(tt) 177.33/63.32 active(isNat(0)) -> mark(tt) 177.33/63.32 active(isNatKind(0)) -> mark(tt) 177.33/63.32 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.33/63.32 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.32 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.33/63.32 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.32 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.33/63.32 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.33/63.32 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.33/63.32 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.32 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.33/63.32 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.32 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.33/63.32 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.33/63.32 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.33/63.32 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.32 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.33/63.32 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.32 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.33/63.32 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.33/63.32 U15(X1, mark(X2)) -> U15(X1, X2) 177.33/63.32 U15(mark(X1), X2) -> U15(X1, X2) 177.33/63.32 U15(active(X1), X2) -> U15(X1, X2) 177.33/63.32 U15(X1, active(X2)) -> U15(X1, X2) 177.33/63.32 U16(active(X)) -> U16(X) 177.33/63.32 U16(mark(X)) -> U16(X) 177.33/63.32 U22(X1, mark(X2)) -> U22(X1, X2) 177.33/63.32 U22(mark(X1), X2) -> U22(X1, X2) 177.33/63.32 U22(active(X1), X2) -> U22(X1, X2) 177.33/63.32 U22(X1, active(X2)) -> U22(X1, X2) 177.33/63.32 U23(active(X)) -> U23(X) 177.33/63.32 U23(mark(X)) -> U23(X) 177.33/63.32 U32(active(X)) -> U32(X) 177.33/63.32 U32(mark(X)) -> U32(X) 177.33/63.32 U52(X1, mark(X2)) -> U52(X1, X2) 177.33/63.32 U52(mark(X1), X2) -> U52(X1, X2) 177.33/63.32 U52(active(X1), X2) -> U52(X1, X2) 177.33/63.32 U52(X1, active(X2)) -> U52(X1, X2) 177.33/63.32 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.33/63.32 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.32 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.33/63.32 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.32 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.33/63.32 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.33/63.32 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.33/63.32 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.32 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.33/63.32 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.32 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.33/63.32 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.33/63.32 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.33/63.32 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.32 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.33/63.32 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.32 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.33/63.32 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.33/63.32 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.33/63.32 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.32 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.33/63.32 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.32 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.33/63.32 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.33/63.32 s(active(X)) -> s(X) 177.33/63.32 s(mark(X)) -> s(X) 177.33/63.32 U21(X1, mark(X2)) -> U21(X1, X2) 177.33/63.32 U21(mark(X1), X2) -> U21(X1, X2) 177.33/63.32 U21(active(X1), X2) -> U21(X1, X2) 177.33/63.32 U21(X1, active(X2)) -> U21(X1, X2) 177.33/63.32 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.32 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.32 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.32 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.32 U41(active(X)) -> U41(X) 177.33/63.32 U41(mark(X)) -> U41(X) 177.33/63.32 U51(X1, mark(X2)) -> U51(X1, X2) 177.33/63.32 U51(mark(X1), X2) -> U51(X1, X2) 177.33/63.32 U51(active(X1), X2) -> U51(X1, X2) 177.33/63.32 U51(X1, active(X2)) -> U51(X1, X2) 177.33/63.32 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.33/63.32 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.32 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.33/63.32 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.32 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.33/63.32 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.33/63.32 177.33/63.32 The set Q consists of the following terms: 177.33/63.32 177.33/63.32 active(U11(tt, x0, x1)) 177.33/63.32 active(U12(tt, x0, x1)) 177.33/63.32 active(U13(tt, x0, x1)) 177.33/63.32 active(U14(tt, x0, x1)) 177.33/63.32 active(U15(tt, x0)) 177.33/63.32 active(U16(tt)) 177.33/63.32 active(U21(tt, x0)) 177.33/63.32 active(U22(tt, x0)) 177.33/63.32 active(U23(tt)) 177.33/63.32 active(U31(tt, x0)) 177.33/63.32 active(U32(tt)) 177.33/63.32 active(U41(tt)) 177.33/63.32 active(U51(tt, x0)) 177.33/63.32 active(U52(tt, x0)) 177.33/63.32 active(U61(tt, x0, x1)) 177.33/63.32 active(U62(tt, x0, x1)) 177.33/63.32 active(U63(tt, x0, x1)) 177.33/63.32 active(U64(tt, x0, x1)) 177.33/63.32 active(isNat(0)) 177.33/63.32 active(isNat(plus(x0, x1))) 177.33/63.32 active(isNat(s(x0))) 177.33/63.32 active(isNatKind(0)) 177.33/63.32 active(isNatKind(plus(x0, x1))) 177.33/63.32 active(isNatKind(s(x0))) 177.33/63.32 active(plus(x0, 0)) 177.33/63.32 active(plus(x0, s(x1))) 177.33/63.32 mark(U11(x0, x1, x2)) 177.33/63.32 mark(tt) 177.33/63.32 mark(U12(x0, x1, x2)) 177.33/63.32 mark(isNatKind(x0)) 177.33/63.32 mark(U13(x0, x1, x2)) 177.33/63.32 mark(U14(x0, x1, x2)) 177.33/63.32 mark(U15(x0, x1)) 177.33/63.32 mark(isNat(x0)) 177.33/63.32 mark(U16(x0)) 177.33/63.32 mark(U21(x0, x1)) 177.33/63.32 mark(U22(x0, x1)) 177.33/63.32 mark(U23(x0)) 177.33/63.32 mark(U31(x0, x1)) 177.33/63.32 mark(U32(x0)) 177.33/63.32 mark(U41(x0)) 177.33/63.32 mark(U51(x0, x1)) 177.33/63.32 mark(U52(x0, x1)) 177.33/63.32 mark(U61(x0, x1, x2)) 177.33/63.32 mark(U62(x0, x1, x2)) 177.33/63.32 mark(U63(x0, x1, x2)) 177.33/63.32 mark(U64(x0, x1, x2)) 177.33/63.32 mark(s(x0)) 177.33/63.32 mark(plus(x0, x1)) 177.33/63.32 mark(0) 177.33/63.32 U11(mark(x0), x1, x2) 177.33/63.32 U11(x0, mark(x1), x2) 177.33/63.32 U11(x0, x1, mark(x2)) 177.33/63.32 U11(active(x0), x1, x2) 177.33/63.32 U11(x0, active(x1), x2) 177.33/63.32 U11(x0, x1, active(x2)) 177.33/63.32 U12(mark(x0), x1, x2) 177.33/63.32 U12(x0, mark(x1), x2) 177.33/63.32 U12(x0, x1, mark(x2)) 177.33/63.32 U12(active(x0), x1, x2) 177.33/63.32 U12(x0, active(x1), x2) 177.33/63.32 U12(x0, x1, active(x2)) 177.33/63.32 isNatKind(mark(x0)) 177.33/63.32 isNatKind(active(x0)) 177.33/63.32 U13(mark(x0), x1, x2) 177.33/63.32 U13(x0, mark(x1), x2) 177.33/63.32 U13(x0, x1, mark(x2)) 177.33/63.32 U13(active(x0), x1, x2) 177.33/63.32 U13(x0, active(x1), x2) 177.33/63.32 U13(x0, x1, active(x2)) 177.33/63.32 U14(mark(x0), x1, x2) 177.33/63.32 U14(x0, mark(x1), x2) 177.33/63.32 U14(x0, x1, mark(x2)) 177.33/63.32 U14(active(x0), x1, x2) 177.33/63.32 U14(x0, active(x1), x2) 177.33/63.32 U14(x0, x1, active(x2)) 177.33/63.32 U15(mark(x0), x1) 177.33/63.32 U15(x0, mark(x1)) 177.33/63.32 U15(active(x0), x1) 177.33/63.32 U15(x0, active(x1)) 177.33/63.32 isNat(mark(x0)) 177.33/63.32 isNat(active(x0)) 177.33/63.32 U16(mark(x0)) 177.33/63.32 U16(active(x0)) 177.33/63.32 U21(mark(x0), x1) 177.33/63.32 U21(x0, mark(x1)) 177.33/63.32 U21(active(x0), x1) 177.33/63.32 U21(x0, active(x1)) 177.33/63.32 U22(mark(x0), x1) 177.33/63.32 U22(x0, mark(x1)) 177.33/63.32 U22(active(x0), x1) 177.33/63.32 U22(x0, active(x1)) 177.33/63.32 U23(mark(x0)) 177.33/63.32 U23(active(x0)) 177.33/63.32 U31(mark(x0), x1) 177.33/63.32 U31(x0, mark(x1)) 177.33/63.32 U31(active(x0), x1) 177.33/63.32 U31(x0, active(x1)) 177.33/63.32 U32(mark(x0)) 177.33/63.32 U32(active(x0)) 177.33/63.32 U41(mark(x0)) 177.33/63.32 U41(active(x0)) 177.33/63.32 U51(mark(x0), x1) 177.33/63.32 U51(x0, mark(x1)) 177.33/63.32 U51(active(x0), x1) 177.33/63.32 U51(x0, active(x1)) 177.33/63.32 U52(mark(x0), x1) 177.33/63.32 U52(x0, mark(x1)) 177.33/63.32 U52(active(x0), x1) 177.33/63.32 U52(x0, active(x1)) 177.33/63.32 U61(mark(x0), x1, x2) 177.33/63.32 U61(x0, mark(x1), x2) 177.33/63.32 U61(x0, x1, mark(x2)) 177.33/63.32 U61(active(x0), x1, x2) 177.33/63.32 U61(x0, active(x1), x2) 177.33/63.32 U61(x0, x1, active(x2)) 177.33/63.32 U62(mark(x0), x1, x2) 177.33/63.32 U62(x0, mark(x1), x2) 177.33/63.32 U62(x0, x1, mark(x2)) 177.33/63.32 U62(active(x0), x1, x2) 177.33/63.32 U62(x0, active(x1), x2) 177.33/63.32 U62(x0, x1, active(x2)) 177.33/63.32 U63(mark(x0), x1, x2) 177.33/63.32 U63(x0, mark(x1), x2) 177.33/63.32 U63(x0, x1, mark(x2)) 177.33/63.32 U63(active(x0), x1, x2) 177.33/63.32 U63(x0, active(x1), x2) 177.33/63.32 U63(x0, x1, active(x2)) 177.33/63.32 U64(mark(x0), x1, x2) 177.33/63.32 U64(x0, mark(x1), x2) 177.33/63.32 U64(x0, x1, mark(x2)) 177.33/63.32 U64(active(x0), x1, x2) 177.33/63.32 U64(x0, active(x1), x2) 177.33/63.32 U64(x0, x1, active(x2)) 177.33/63.32 s(mark(x0)) 177.33/63.32 s(active(x0)) 177.33/63.32 plus(mark(x0), x1) 177.33/63.32 plus(x0, mark(x1)) 177.33/63.32 plus(active(x0), x1) 177.33/63.32 plus(x0, active(x1)) 177.33/63.32 177.33/63.32 We have to consider all minimal (P,Q,R)-chains. 177.33/63.32 ---------------------------------------- 177.33/63.32 177.33/63.32 (222) QDPOrderProof (EQUIVALENT) 177.33/63.32 We use the reduction pair processor [LPAR04,JAR06]. 177.33/63.32 177.33/63.32 177.33/63.32 The following pairs can be oriented strictly and are deleted. 177.33/63.32 177.33/63.32 ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) 177.33/63.32 The remaining pairs can at least be oriented weakly. 177.33/63.32 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 177.33/63.32 177.33/63.32 POL( ACTIVE_1(x_1) ) = max{0, 2x_1 - 2} 177.33/63.32 POL( U14_3(x_1, ..., x_3) ) = max{0, -2} 177.33/63.32 POL( U15_2(x_1, x_2) ) = max{0, -2} 177.33/63.32 POL( U31_2(x_1, x_2) ) = 1 177.33/63.32 POL( active_1(x_1) ) = max{0, x_1 - 2} 177.33/63.32 POL( U11_3(x_1, ..., x_3) ) = 2 177.33/63.32 POL( tt ) = 2 177.33/63.32 POL( mark_1(x_1) ) = 2 177.33/63.32 POL( U12_3(x_1, ..., x_3) ) = x_1 + 2x_2 + x_3 + 2 177.33/63.32 POL( isNatKind_1(x_1) ) = 0 177.33/63.32 POL( U13_3(x_1, ..., x_3) ) = 2 177.33/63.32 POL( isNat_1(x_1) ) = 0 177.33/63.32 POL( U16_1(x_1) ) = max{0, 2x_1 - 2} 177.33/63.32 POL( U21_2(x_1, x_2) ) = max{0, x_2 - 2} 177.33/63.32 POL( U22_2(x_1, x_2) ) = max{0, x_2 - 2} 177.33/63.32 POL( U23_1(x_1) ) = max{0, 2x_1 - 2} 177.33/63.32 POL( U32_1(x_1) ) = max{0, 2x_1 - 2} 177.33/63.32 POL( U51_2(x_1, x_2) ) = max{0, 2x_1 - 2} 177.33/63.32 POL( U52_2(x_1, x_2) ) = max{0, x_1 - 1} 177.33/63.32 POL( U61_3(x_1, ..., x_3) ) = max{0, 2x_2 - 2} 177.33/63.32 POL( U62_3(x_1, ..., x_3) ) = max{0, x_1 + x_2 + 2x_3 - 2} 177.33/63.32 POL( U63_3(x_1, ..., x_3) ) = 2x_1 + x_2 + 2 177.33/63.32 POL( U64_3(x_1, ..., x_3) ) = max{0, x_1 - 2} 177.33/63.32 POL( s_1(x_1) ) = max{0, 2x_1 - 2} 177.33/63.32 POL( plus_2(x_1, x_2) ) = max{0, x_1 + x_2 - 2} 177.33/63.32 POL( U41_1(x_1) ) = max{0, 2x_1 - 2} 177.33/63.32 POL( 0 ) = 0 177.33/63.32 POL( MARK_1(x_1) ) = max{0, -2} 177.33/63.32 177.33/63.32 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 177.33/63.32 177.33/63.32 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.32 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.33/63.32 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.33/63.32 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.32 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.33/63.32 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.33/63.32 U15(mark(X1), X2) -> U15(X1, X2) 177.33/63.32 U15(X1, mark(X2)) -> U15(X1, X2) 177.33/63.32 U15(active(X1), X2) -> U15(X1, X2) 177.33/63.32 U15(X1, active(X2)) -> U15(X1, X2) 177.33/63.32 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.32 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.32 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.32 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.32 177.33/63.32 177.33/63.32 ---------------------------------------- 177.33/63.32 177.33/63.32 (223) 177.33/63.32 Obligation: 177.33/63.32 Q DP problem: 177.33/63.32 The TRS P consists of the following rules: 177.33/63.32 177.33/63.32 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.33/63.32 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.33/63.32 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.33/63.32 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.33/63.32 MARK(U16(X)) -> MARK(X) 177.33/63.32 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.33/63.32 MARK(U32(X)) -> MARK(X) 177.33/63.32 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.33/63.32 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.33/63.32 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.33/63.32 MARK(U31(X1, X2)) -> MARK(X1) 177.33/63.32 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.33/63.32 MARK(U15(X1, X2)) -> MARK(X1) 177.33/63.32 MARK(U41(X)) -> MARK(X) 177.33/63.32 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.33/63.32 177.33/63.32 The TRS R consists of the following rules: 177.33/63.32 177.33/63.32 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.33/63.32 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.33/63.32 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.33/63.32 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.33/63.32 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.33/63.32 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.33/63.32 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.33/63.32 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.33/63.32 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.33/63.32 mark(U16(X)) -> active(U16(mark(X))) 177.33/63.32 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.33/63.32 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.33/63.32 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.33/63.32 mark(U23(X)) -> active(U23(mark(X))) 177.33/63.32 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.33/63.32 mark(U32(X)) -> active(U32(mark(X))) 177.33/63.32 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.33/63.32 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.33/63.32 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.33/63.32 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.33/63.32 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.33/63.32 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.33/63.32 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.33/63.32 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.33/63.32 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.33/63.32 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.33/63.32 mark(s(X)) -> active(s(mark(X))) 177.33/63.32 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.33/63.32 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.33/63.32 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.33/63.32 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.33/63.32 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.33/63.32 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.33/63.32 mark(U41(X)) -> active(U41(mark(X))) 177.33/63.32 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.33/63.32 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.33/63.32 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.33/63.32 mark(isNatKind(X)) -> active(isNatKind(X)) 177.33/63.32 mark(isNat(X)) -> active(isNat(X)) 177.33/63.32 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.33/63.32 mark(tt) -> active(tt) 177.33/63.32 mark(0) -> active(0) 177.33/63.32 plus(X1, mark(X2)) -> plus(X1, X2) 177.33/63.32 plus(mark(X1), X2) -> plus(X1, X2) 177.33/63.32 plus(active(X1), X2) -> plus(X1, X2) 177.33/63.32 plus(X1, active(X2)) -> plus(X1, X2) 177.33/63.32 active(U16(tt)) -> mark(tt) 177.33/63.32 active(U23(tt)) -> mark(tt) 177.33/63.32 active(U32(tt)) -> mark(tt) 177.33/63.32 active(U41(tt)) -> mark(tt) 177.33/63.32 active(isNat(0)) -> mark(tt) 177.33/63.32 active(isNatKind(0)) -> mark(tt) 177.33/63.32 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.33/63.32 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.32 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.33/63.32 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.32 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.33/63.32 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.33/63.32 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.33/63.32 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.32 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.33/63.32 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.32 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.33/63.32 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.33/63.32 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.33/63.32 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.32 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.33/63.32 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.32 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.33/63.32 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.33/63.32 U15(X1, mark(X2)) -> U15(X1, X2) 177.33/63.32 U15(mark(X1), X2) -> U15(X1, X2) 177.33/63.32 U15(active(X1), X2) -> U15(X1, X2) 177.33/63.32 U15(X1, active(X2)) -> U15(X1, X2) 177.33/63.32 U16(active(X)) -> U16(X) 177.33/63.32 U16(mark(X)) -> U16(X) 177.33/63.32 U22(X1, mark(X2)) -> U22(X1, X2) 177.33/63.32 U22(mark(X1), X2) -> U22(X1, X2) 177.33/63.32 U22(active(X1), X2) -> U22(X1, X2) 177.33/63.32 U22(X1, active(X2)) -> U22(X1, X2) 177.33/63.32 U23(active(X)) -> U23(X) 177.33/63.32 U23(mark(X)) -> U23(X) 177.33/63.32 U32(active(X)) -> U32(X) 177.33/63.32 U32(mark(X)) -> U32(X) 177.33/63.32 U52(X1, mark(X2)) -> U52(X1, X2) 177.33/63.32 U52(mark(X1), X2) -> U52(X1, X2) 177.33/63.32 U52(active(X1), X2) -> U52(X1, X2) 177.33/63.32 U52(X1, active(X2)) -> U52(X1, X2) 177.33/63.32 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.33/63.32 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.32 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.33/63.32 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.32 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.33/63.32 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.33/63.32 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.33/63.32 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.32 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.33/63.32 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.32 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.33/63.32 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.33/63.32 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.33/63.32 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.32 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.33/63.32 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.32 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.33/63.32 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.33/63.32 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.33/63.32 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.32 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.33/63.32 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.32 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.33/63.32 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.33/63.32 s(active(X)) -> s(X) 177.33/63.32 s(mark(X)) -> s(X) 177.33/63.32 U21(X1, mark(X2)) -> U21(X1, X2) 177.33/63.32 U21(mark(X1), X2) -> U21(X1, X2) 177.33/63.32 U21(active(X1), X2) -> U21(X1, X2) 177.33/63.32 U21(X1, active(X2)) -> U21(X1, X2) 177.33/63.32 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.32 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.32 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.32 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.32 U41(active(X)) -> U41(X) 177.33/63.32 U41(mark(X)) -> U41(X) 177.33/63.32 U51(X1, mark(X2)) -> U51(X1, X2) 177.33/63.32 U51(mark(X1), X2) -> U51(X1, X2) 177.33/63.32 U51(active(X1), X2) -> U51(X1, X2) 177.33/63.32 U51(X1, active(X2)) -> U51(X1, X2) 177.33/63.32 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.33/63.32 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.32 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.33/63.32 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.32 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.33/63.32 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.33/63.32 177.33/63.32 The set Q consists of the following terms: 177.33/63.32 177.33/63.32 active(U11(tt, x0, x1)) 177.33/63.32 active(U12(tt, x0, x1)) 177.33/63.32 active(U13(tt, x0, x1)) 177.33/63.32 active(U14(tt, x0, x1)) 177.33/63.32 active(U15(tt, x0)) 177.33/63.32 active(U16(tt)) 177.33/63.32 active(U21(tt, x0)) 177.33/63.32 active(U22(tt, x0)) 177.33/63.32 active(U23(tt)) 177.33/63.32 active(U31(tt, x0)) 177.33/63.32 active(U32(tt)) 177.33/63.32 active(U41(tt)) 177.33/63.32 active(U51(tt, x0)) 177.33/63.32 active(U52(tt, x0)) 177.33/63.32 active(U61(tt, x0, x1)) 177.33/63.32 active(U62(tt, x0, x1)) 177.33/63.32 active(U63(tt, x0, x1)) 177.33/63.32 active(U64(tt, x0, x1)) 177.33/63.32 active(isNat(0)) 177.33/63.32 active(isNat(plus(x0, x1))) 177.33/63.32 active(isNat(s(x0))) 177.33/63.32 active(isNatKind(0)) 177.33/63.32 active(isNatKind(plus(x0, x1))) 177.33/63.32 active(isNatKind(s(x0))) 177.33/63.32 active(plus(x0, 0)) 177.33/63.32 active(plus(x0, s(x1))) 177.33/63.32 mark(U11(x0, x1, x2)) 177.33/63.32 mark(tt) 177.33/63.32 mark(U12(x0, x1, x2)) 177.33/63.32 mark(isNatKind(x0)) 177.33/63.32 mark(U13(x0, x1, x2)) 177.33/63.32 mark(U14(x0, x1, x2)) 177.33/63.32 mark(U15(x0, x1)) 177.33/63.32 mark(isNat(x0)) 177.33/63.32 mark(U16(x0)) 177.33/63.32 mark(U21(x0, x1)) 177.33/63.32 mark(U22(x0, x1)) 177.33/63.32 mark(U23(x0)) 177.33/63.32 mark(U31(x0, x1)) 177.33/63.32 mark(U32(x0)) 177.33/63.32 mark(U41(x0)) 177.33/63.32 mark(U51(x0, x1)) 177.33/63.32 mark(U52(x0, x1)) 177.33/63.32 mark(U61(x0, x1, x2)) 177.33/63.32 mark(U62(x0, x1, x2)) 177.33/63.32 mark(U63(x0, x1, x2)) 177.33/63.32 mark(U64(x0, x1, x2)) 177.33/63.32 mark(s(x0)) 177.33/63.32 mark(plus(x0, x1)) 177.33/63.32 mark(0) 177.33/63.32 U11(mark(x0), x1, x2) 177.33/63.32 U11(x0, mark(x1), x2) 177.33/63.32 U11(x0, x1, mark(x2)) 177.33/63.32 U11(active(x0), x1, x2) 177.33/63.32 U11(x0, active(x1), x2) 177.33/63.32 U11(x0, x1, active(x2)) 177.33/63.32 U12(mark(x0), x1, x2) 177.33/63.32 U12(x0, mark(x1), x2) 177.33/63.32 U12(x0, x1, mark(x2)) 177.33/63.32 U12(active(x0), x1, x2) 177.33/63.32 U12(x0, active(x1), x2) 177.33/63.32 U12(x0, x1, active(x2)) 177.33/63.32 isNatKind(mark(x0)) 177.33/63.32 isNatKind(active(x0)) 177.33/63.32 U13(mark(x0), x1, x2) 177.33/63.32 U13(x0, mark(x1), x2) 177.33/63.32 U13(x0, x1, mark(x2)) 177.33/63.32 U13(active(x0), x1, x2) 177.33/63.32 U13(x0, active(x1), x2) 177.33/63.32 U13(x0, x1, active(x2)) 177.33/63.32 U14(mark(x0), x1, x2) 177.33/63.32 U14(x0, mark(x1), x2) 177.33/63.32 U14(x0, x1, mark(x2)) 177.33/63.32 U14(active(x0), x1, x2) 177.33/63.32 U14(x0, active(x1), x2) 177.33/63.32 U14(x0, x1, active(x2)) 177.33/63.32 U15(mark(x0), x1) 177.33/63.32 U15(x0, mark(x1)) 177.33/63.32 U15(active(x0), x1) 177.33/63.32 U15(x0, active(x1)) 177.33/63.32 isNat(mark(x0)) 177.33/63.32 isNat(active(x0)) 177.33/63.32 U16(mark(x0)) 177.33/63.32 U16(active(x0)) 177.33/63.32 U21(mark(x0), x1) 177.33/63.32 U21(x0, mark(x1)) 177.33/63.32 U21(active(x0), x1) 177.33/63.32 U21(x0, active(x1)) 177.33/63.32 U22(mark(x0), x1) 177.33/63.32 U22(x0, mark(x1)) 177.33/63.32 U22(active(x0), x1) 177.33/63.32 U22(x0, active(x1)) 177.33/63.32 U23(mark(x0)) 177.33/63.32 U23(active(x0)) 177.33/63.32 U31(mark(x0), x1) 177.33/63.32 U31(x0, mark(x1)) 177.33/63.32 U31(active(x0), x1) 177.33/63.32 U31(x0, active(x1)) 177.33/63.32 U32(mark(x0)) 177.33/63.32 U32(active(x0)) 177.33/63.32 U41(mark(x0)) 177.33/63.32 U41(active(x0)) 177.33/63.32 U51(mark(x0), x1) 177.33/63.32 U51(x0, mark(x1)) 177.33/63.32 U51(active(x0), x1) 177.33/63.32 U51(x0, active(x1)) 177.33/63.32 U52(mark(x0), x1) 177.33/63.32 U52(x0, mark(x1)) 177.33/63.32 U52(active(x0), x1) 177.33/63.32 U52(x0, active(x1)) 177.33/63.32 U61(mark(x0), x1, x2) 177.33/63.32 U61(x0, mark(x1), x2) 177.33/63.32 U61(x0, x1, mark(x2)) 177.33/63.32 U61(active(x0), x1, x2) 177.33/63.32 U61(x0, active(x1), x2) 177.33/63.32 U61(x0, x1, active(x2)) 177.33/63.32 U62(mark(x0), x1, x2) 177.33/63.32 U62(x0, mark(x1), x2) 177.33/63.32 U62(x0, x1, mark(x2)) 177.33/63.32 U62(active(x0), x1, x2) 177.33/63.32 U62(x0, active(x1), x2) 177.33/63.32 U62(x0, x1, active(x2)) 177.33/63.32 U63(mark(x0), x1, x2) 177.33/63.32 U63(x0, mark(x1), x2) 177.33/63.32 U63(x0, x1, mark(x2)) 177.33/63.32 U63(active(x0), x1, x2) 177.33/63.32 U63(x0, active(x1), x2) 177.33/63.32 U63(x0, x1, active(x2)) 177.33/63.32 U64(mark(x0), x1, x2) 177.33/63.32 U64(x0, mark(x1), x2) 177.33/63.32 U64(x0, x1, mark(x2)) 177.33/63.32 U64(active(x0), x1, x2) 177.33/63.32 U64(x0, active(x1), x2) 177.33/63.32 U64(x0, x1, active(x2)) 177.33/63.32 s(mark(x0)) 177.33/63.32 s(active(x0)) 177.33/63.32 plus(mark(x0), x1) 177.33/63.32 plus(x0, mark(x1)) 177.33/63.32 plus(active(x0), x1) 177.33/63.32 plus(x0, active(x1)) 177.33/63.32 177.33/63.32 We have to consider all minimal (P,Q,R)-chains. 177.33/63.32 ---------------------------------------- 177.33/63.32 177.33/63.32 (224) QDPOrderProof (EQUIVALENT) 177.33/63.32 We use the reduction pair processor [LPAR04,JAR06]. 177.33/63.32 177.33/63.32 177.33/63.32 The following pairs can be oriented strictly and are deleted. 177.33/63.32 177.33/63.32 MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) 177.33/63.32 MARK(U14(X1, X2, X3)) -> MARK(X1) 177.33/63.32 The remaining pairs can at least be oriented weakly. 177.33/63.32 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 177.33/63.32 177.33/63.32 POL( ACTIVE_1(x_1) ) = 2 177.33/63.32 POL( U14_3(x_1, ..., x_3) ) = 2x_1 + 2x_2 + x_3 + 1 177.33/63.32 POL( U15_2(x_1, x_2) ) = 2x_1 177.33/63.32 POL( U31_2(x_1, x_2) ) = 2x_1 177.33/63.32 POL( active_1(x_1) ) = max{0, x_1 - 2} 177.33/63.32 POL( U11_3(x_1, ..., x_3) ) = max{0, 2x_2 + 2x_3 - 2} 177.33/63.32 POL( tt ) = 0 177.33/63.32 POL( mark_1(x_1) ) = max{0, -2} 177.33/63.32 POL( U12_3(x_1, ..., x_3) ) = max{0, 2x_1 + x_2 + x_3 - 2} 177.33/63.32 POL( isNatKind_1(x_1) ) = 0 177.33/63.32 POL( U13_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_2 + 2x_3 - 2} 177.33/63.32 POL( isNat_1(x_1) ) = 0 177.33/63.32 POL( U16_1(x_1) ) = 2x_1 177.33/63.32 POL( U21_2(x_1, x_2) ) = x_1 + x_2 + 1 177.33/63.32 POL( U22_2(x_1, x_2) ) = max{0, 2x_1 - 2} 177.33/63.32 POL( U23_1(x_1) ) = max{0, 2x_1 - 2} 177.33/63.32 POL( U32_1(x_1) ) = x_1 177.33/63.32 POL( U51_2(x_1, x_2) ) = max{0, 2x_1 + 2x_2 - 2} 177.33/63.32 POL( U52_2(x_1, x_2) ) = max{0, 2x_1 + 2x_2 - 2} 177.33/63.32 POL( U61_3(x_1, ..., x_3) ) = max{0, 2x_2 + 2x_3 - 2} 177.33/63.32 POL( U62_3(x_1, ..., x_3) ) = 2x_2 + x_3 + 2 177.33/63.32 POL( U63_3(x_1, ..., x_3) ) = 2 177.33/63.32 POL( U64_3(x_1, ..., x_3) ) = x_2 + x_3 + 2 177.33/63.32 POL( s_1(x_1) ) = max{0, 2x_1 - 2} 177.33/63.32 POL( plus_2(x_1, x_2) ) = max{0, 2x_1 + 2x_2 - 2} 177.33/63.32 POL( U41_1(x_1) ) = x_1 177.33/63.32 POL( 0 ) = 0 177.33/63.32 POL( MARK_1(x_1) ) = x_1 + 2 177.33/63.32 177.33/63.32 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 177.33/63.32 none 177.33/63.32 177.33/63.32 177.33/63.32 ---------------------------------------- 177.33/63.32 177.33/63.32 (225) 177.33/63.32 Obligation: 177.33/63.32 Q DP problem: 177.33/63.32 The TRS P consists of the following rules: 177.33/63.32 177.33/63.32 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.33/63.32 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.33/63.32 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.33/63.32 MARK(U16(X)) -> MARK(X) 177.33/63.32 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.33/63.32 MARK(U32(X)) -> MARK(X) 177.33/63.32 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.33/63.32 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.33/63.32 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.33/63.32 MARK(U31(X1, X2)) -> MARK(X1) 177.33/63.32 MARK(U15(X1, X2)) -> MARK(X1) 177.33/63.32 MARK(U41(X)) -> MARK(X) 177.33/63.32 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.33/63.32 177.33/63.32 The TRS R consists of the following rules: 177.33/63.32 177.33/63.32 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.33/63.32 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.33/63.32 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.33/63.32 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.33/63.32 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.33/63.32 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.33/63.32 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.33/63.32 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.33/63.32 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.33/63.32 mark(U16(X)) -> active(U16(mark(X))) 177.33/63.32 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.33/63.32 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.33/63.32 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.33/63.32 mark(U23(X)) -> active(U23(mark(X))) 177.33/63.32 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.33/63.32 mark(U32(X)) -> active(U32(mark(X))) 177.33/63.32 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.33/63.32 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.33/63.32 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.33/63.32 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.33/63.32 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.33/63.32 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.33/63.32 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.33/63.32 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.33/63.32 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.33/63.32 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.33/63.32 mark(s(X)) -> active(s(mark(X))) 177.33/63.32 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.33/63.32 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.33/63.32 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.33/63.32 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.33/63.32 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.33/63.32 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.33/63.32 mark(U41(X)) -> active(U41(mark(X))) 177.33/63.32 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.33/63.32 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.33/63.32 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.33/63.32 mark(isNatKind(X)) -> active(isNatKind(X)) 177.33/63.32 mark(isNat(X)) -> active(isNat(X)) 177.33/63.32 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.33/63.32 mark(tt) -> active(tt) 177.33/63.32 mark(0) -> active(0) 177.33/63.32 plus(X1, mark(X2)) -> plus(X1, X2) 177.33/63.32 plus(mark(X1), X2) -> plus(X1, X2) 177.33/63.32 plus(active(X1), X2) -> plus(X1, X2) 177.33/63.32 plus(X1, active(X2)) -> plus(X1, X2) 177.33/63.32 active(U16(tt)) -> mark(tt) 177.33/63.32 active(U23(tt)) -> mark(tt) 177.33/63.32 active(U32(tt)) -> mark(tt) 177.33/63.32 active(U41(tt)) -> mark(tt) 177.33/63.32 active(isNat(0)) -> mark(tt) 177.33/63.32 active(isNatKind(0)) -> mark(tt) 177.33/63.32 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.33/63.32 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.32 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.33/63.32 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.32 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.33/63.32 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.33/63.32 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.33/63.32 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.32 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.33/63.32 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.32 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.33/63.32 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.33/63.32 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.33/63.32 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.32 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.33/63.32 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.32 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.33/63.32 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.33/63.32 U15(X1, mark(X2)) -> U15(X1, X2) 177.33/63.32 U15(mark(X1), X2) -> U15(X1, X2) 177.33/63.32 U15(active(X1), X2) -> U15(X1, X2) 177.33/63.32 U15(X1, active(X2)) -> U15(X1, X2) 177.33/63.32 U16(active(X)) -> U16(X) 177.33/63.32 U16(mark(X)) -> U16(X) 177.33/63.32 U22(X1, mark(X2)) -> U22(X1, X2) 177.33/63.32 U22(mark(X1), X2) -> U22(X1, X2) 177.33/63.32 U22(active(X1), X2) -> U22(X1, X2) 177.33/63.32 U22(X1, active(X2)) -> U22(X1, X2) 177.33/63.32 U23(active(X)) -> U23(X) 177.33/63.32 U23(mark(X)) -> U23(X) 177.33/63.32 U32(active(X)) -> U32(X) 177.33/63.32 U32(mark(X)) -> U32(X) 177.33/63.32 U52(X1, mark(X2)) -> U52(X1, X2) 177.33/63.32 U52(mark(X1), X2) -> U52(X1, X2) 177.33/63.32 U52(active(X1), X2) -> U52(X1, X2) 177.33/63.32 U52(X1, active(X2)) -> U52(X1, X2) 177.33/63.32 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.33/63.32 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.32 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.33/63.32 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.32 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.33/63.32 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.33/63.32 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.33/63.32 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.32 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.33/63.32 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.32 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.33/63.32 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.33/63.32 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.33/63.32 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.32 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.33/63.32 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.32 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.33/63.32 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.33/63.32 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.33/63.32 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.32 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.33/63.32 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.32 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.33/63.32 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.33/63.32 s(active(X)) -> s(X) 177.33/63.32 s(mark(X)) -> s(X) 177.33/63.32 U21(X1, mark(X2)) -> U21(X1, X2) 177.33/63.32 U21(mark(X1), X2) -> U21(X1, X2) 177.33/63.32 U21(active(X1), X2) -> U21(X1, X2) 177.33/63.32 U21(X1, active(X2)) -> U21(X1, X2) 177.33/63.32 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.32 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.32 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.32 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.32 U41(active(X)) -> U41(X) 177.33/63.32 U41(mark(X)) -> U41(X) 177.33/63.32 U51(X1, mark(X2)) -> U51(X1, X2) 177.33/63.32 U51(mark(X1), X2) -> U51(X1, X2) 177.33/63.32 U51(active(X1), X2) -> U51(X1, X2) 177.33/63.32 U51(X1, active(X2)) -> U51(X1, X2) 177.33/63.32 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.33/63.32 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.32 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.33/63.32 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.32 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.33/63.32 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.33/63.32 177.33/63.32 The set Q consists of the following terms: 177.33/63.32 177.33/63.32 active(U11(tt, x0, x1)) 177.33/63.32 active(U12(tt, x0, x1)) 177.33/63.32 active(U13(tt, x0, x1)) 177.33/63.32 active(U14(tt, x0, x1)) 177.33/63.32 active(U15(tt, x0)) 177.33/63.32 active(U16(tt)) 177.33/63.32 active(U21(tt, x0)) 177.33/63.32 active(U22(tt, x0)) 177.33/63.32 active(U23(tt)) 177.33/63.32 active(U31(tt, x0)) 177.33/63.32 active(U32(tt)) 177.33/63.32 active(U41(tt)) 177.33/63.32 active(U51(tt, x0)) 177.33/63.32 active(U52(tt, x0)) 177.33/63.32 active(U61(tt, x0, x1)) 177.33/63.32 active(U62(tt, x0, x1)) 177.33/63.32 active(U63(tt, x0, x1)) 177.33/63.32 active(U64(tt, x0, x1)) 177.33/63.32 active(isNat(0)) 177.33/63.32 active(isNat(plus(x0, x1))) 177.33/63.32 active(isNat(s(x0))) 177.33/63.32 active(isNatKind(0)) 177.33/63.32 active(isNatKind(plus(x0, x1))) 177.33/63.32 active(isNatKind(s(x0))) 177.33/63.32 active(plus(x0, 0)) 177.33/63.32 active(plus(x0, s(x1))) 177.33/63.32 mark(U11(x0, x1, x2)) 177.33/63.32 mark(tt) 177.33/63.32 mark(U12(x0, x1, x2)) 177.33/63.32 mark(isNatKind(x0)) 177.33/63.32 mark(U13(x0, x1, x2)) 177.33/63.32 mark(U14(x0, x1, x2)) 177.33/63.32 mark(U15(x0, x1)) 177.33/63.32 mark(isNat(x0)) 177.33/63.32 mark(U16(x0)) 177.33/63.32 mark(U21(x0, x1)) 177.33/63.32 mark(U22(x0, x1)) 177.33/63.32 mark(U23(x0)) 177.33/63.32 mark(U31(x0, x1)) 177.33/63.32 mark(U32(x0)) 177.33/63.32 mark(U41(x0)) 177.33/63.32 mark(U51(x0, x1)) 177.33/63.32 mark(U52(x0, x1)) 177.33/63.32 mark(U61(x0, x1, x2)) 177.33/63.32 mark(U62(x0, x1, x2)) 177.33/63.32 mark(U63(x0, x1, x2)) 177.33/63.32 mark(U64(x0, x1, x2)) 177.33/63.32 mark(s(x0)) 177.33/63.32 mark(plus(x0, x1)) 177.33/63.32 mark(0) 177.33/63.32 U11(mark(x0), x1, x2) 177.33/63.32 U11(x0, mark(x1), x2) 177.33/63.32 U11(x0, x1, mark(x2)) 177.33/63.32 U11(active(x0), x1, x2) 177.33/63.32 U11(x0, active(x1), x2) 177.33/63.32 U11(x0, x1, active(x2)) 177.33/63.32 U12(mark(x0), x1, x2) 177.33/63.32 U12(x0, mark(x1), x2) 177.33/63.32 U12(x0, x1, mark(x2)) 177.33/63.32 U12(active(x0), x1, x2) 177.33/63.32 U12(x0, active(x1), x2) 177.33/63.32 U12(x0, x1, active(x2)) 177.33/63.32 isNatKind(mark(x0)) 177.33/63.32 isNatKind(active(x0)) 177.33/63.32 U13(mark(x0), x1, x2) 177.33/63.32 U13(x0, mark(x1), x2) 177.33/63.32 U13(x0, x1, mark(x2)) 177.33/63.32 U13(active(x0), x1, x2) 177.33/63.32 U13(x0, active(x1), x2) 177.33/63.32 U13(x0, x1, active(x2)) 177.33/63.32 U14(mark(x0), x1, x2) 177.33/63.32 U14(x0, mark(x1), x2) 177.33/63.32 U14(x0, x1, mark(x2)) 177.33/63.32 U14(active(x0), x1, x2) 177.33/63.32 U14(x0, active(x1), x2) 177.33/63.32 U14(x0, x1, active(x2)) 177.33/63.32 U15(mark(x0), x1) 177.33/63.32 U15(x0, mark(x1)) 177.33/63.32 U15(active(x0), x1) 177.33/63.32 U15(x0, active(x1)) 177.33/63.32 isNat(mark(x0)) 177.33/63.32 isNat(active(x0)) 177.33/63.32 U16(mark(x0)) 177.33/63.32 U16(active(x0)) 177.33/63.32 U21(mark(x0), x1) 177.33/63.32 U21(x0, mark(x1)) 177.33/63.32 U21(active(x0), x1) 177.33/63.32 U21(x0, active(x1)) 177.33/63.32 U22(mark(x0), x1) 177.33/63.32 U22(x0, mark(x1)) 177.33/63.32 U22(active(x0), x1) 177.33/63.32 U22(x0, active(x1)) 177.33/63.32 U23(mark(x0)) 177.33/63.32 U23(active(x0)) 177.33/63.32 U31(mark(x0), x1) 177.33/63.32 U31(x0, mark(x1)) 177.33/63.32 U31(active(x0), x1) 177.33/63.32 U31(x0, active(x1)) 177.33/63.32 U32(mark(x0)) 177.33/63.32 U32(active(x0)) 177.33/63.32 U41(mark(x0)) 177.33/63.32 U41(active(x0)) 177.33/63.32 U51(mark(x0), x1) 177.33/63.32 U51(x0, mark(x1)) 177.33/63.32 U51(active(x0), x1) 177.33/63.32 U51(x0, active(x1)) 177.33/63.32 U52(mark(x0), x1) 177.33/63.32 U52(x0, mark(x1)) 177.33/63.32 U52(active(x0), x1) 177.33/63.32 U52(x0, active(x1)) 177.33/63.32 U61(mark(x0), x1, x2) 177.33/63.32 U61(x0, mark(x1), x2) 177.33/63.32 U61(x0, x1, mark(x2)) 177.33/63.32 U61(active(x0), x1, x2) 177.33/63.32 U61(x0, active(x1), x2) 177.33/63.32 U61(x0, x1, active(x2)) 177.33/63.32 U62(mark(x0), x1, x2) 177.33/63.32 U62(x0, mark(x1), x2) 177.33/63.32 U62(x0, x1, mark(x2)) 177.33/63.32 U62(active(x0), x1, x2) 177.33/63.32 U62(x0, active(x1), x2) 177.33/63.32 U62(x0, x1, active(x2)) 177.33/63.32 U63(mark(x0), x1, x2) 177.33/63.32 U63(x0, mark(x1), x2) 177.33/63.32 U63(x0, x1, mark(x2)) 177.33/63.32 U63(active(x0), x1, x2) 177.33/63.32 U63(x0, active(x1), x2) 177.33/63.32 U63(x0, x1, active(x2)) 177.33/63.32 U64(mark(x0), x1, x2) 177.33/63.32 U64(x0, mark(x1), x2) 177.33/63.32 U64(x0, x1, mark(x2)) 177.33/63.32 U64(active(x0), x1, x2) 177.33/63.32 U64(x0, active(x1), x2) 177.33/63.32 U64(x0, x1, active(x2)) 177.33/63.32 s(mark(x0)) 177.33/63.32 s(active(x0)) 177.33/63.32 plus(mark(x0), x1) 177.33/63.32 plus(x0, mark(x1)) 177.33/63.32 plus(active(x0), x1) 177.33/63.32 plus(x0, active(x1)) 177.33/63.32 177.33/63.32 We have to consider all minimal (P,Q,R)-chains. 177.33/63.32 ---------------------------------------- 177.33/63.32 177.33/63.32 (226) QDPOrderProof (EQUIVALENT) 177.33/63.32 We use the reduction pair processor [LPAR04,JAR06]. 177.33/63.32 177.33/63.32 177.33/63.32 The following pairs can be oriented strictly and are deleted. 177.33/63.32 177.33/63.32 ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) 177.33/63.32 The remaining pairs can at least be oriented weakly. 177.33/63.32 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 177.33/63.32 177.33/63.32 POL( ACTIVE_1(x_1) ) = max{0, 2x_1 - 2} 177.33/63.32 POL( U15_2(x_1, x_2) ) = max{0, -2} 177.33/63.32 POL( U31_2(x_1, x_2) ) = max{0, -2} 177.33/63.32 POL( active_1(x_1) ) = 2 177.33/63.32 POL( U11_3(x_1, ..., x_3) ) = x_1 + 2x_3 + 2 177.33/63.32 POL( tt ) = 2 177.33/63.32 POL( mark_1(x_1) ) = 2 177.33/63.32 POL( U12_3(x_1, ..., x_3) ) = max{0, x_2 + 2x_3 - 2} 177.33/63.32 POL( isNatKind_1(x_1) ) = 0 177.33/63.32 POL( U13_3(x_1, ..., x_3) ) = 2x_1 + x_2 + x_3 + 2 177.33/63.32 POL( U14_3(x_1, ..., x_3) ) = 2 177.33/63.32 POL( isNat_1(x_1) ) = 0 177.33/63.32 POL( U16_1(x_1) ) = max{0, -2} 177.33/63.32 POL( U21_2(x_1, x_2) ) = max{0, 2x_1 - 2} 177.33/63.32 POL( U22_2(x_1, x_2) ) = x_2 + 2 177.33/63.32 POL( U23_1(x_1) ) = max{0, 2x_1 - 2} 177.33/63.32 POL( U32_1(x_1) ) = 2 177.33/63.32 POL( U51_2(x_1, x_2) ) = max{0, 2x_1 - 2} 177.33/63.32 POL( U52_2(x_1, x_2) ) = max{0, 2x_1 - 2} 177.33/63.32 POL( U61_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_3 - 2} 177.33/63.32 POL( U62_3(x_1, ..., x_3) ) = max{0, 2x_3 - 2} 177.33/63.32 POL( U63_3(x_1, ..., x_3) ) = max{0, 2x_3 - 2} 177.33/63.32 POL( U64_3(x_1, ..., x_3) ) = 2x_1 + 2x_2 + 2 177.33/63.32 POL( s_1(x_1) ) = max{0, x_1 - 2} 177.33/63.32 POL( plus_2(x_1, x_2) ) = max{0, -2} 177.33/63.32 POL( U41_1(x_1) ) = max{0, 2x_1 - 2} 177.33/63.32 POL( 0 ) = 0 177.33/63.32 POL( MARK_1(x_1) ) = max{0, -2} 177.33/63.32 177.33/63.32 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 177.33/63.32 177.33/63.32 U15(mark(X1), X2) -> U15(X1, X2) 177.33/63.32 U15(X1, mark(X2)) -> U15(X1, X2) 177.33/63.32 U15(active(X1), X2) -> U15(X1, X2) 177.33/63.32 U15(X1, active(X2)) -> U15(X1, X2) 177.33/63.32 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.32 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.32 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.32 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.32 177.33/63.32 177.33/63.32 ---------------------------------------- 177.33/63.32 177.33/63.32 (227) 177.33/63.32 Obligation: 177.33/63.32 Q DP problem: 177.33/63.32 The TRS P consists of the following rules: 177.33/63.32 177.33/63.32 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.33/63.32 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.33/63.32 MARK(U16(X)) -> MARK(X) 177.33/63.32 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.33/63.32 MARK(U32(X)) -> MARK(X) 177.33/63.32 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.33/63.32 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.33/63.32 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.33/63.32 MARK(U31(X1, X2)) -> MARK(X1) 177.33/63.32 MARK(U15(X1, X2)) -> MARK(X1) 177.33/63.32 MARK(U41(X)) -> MARK(X) 177.33/63.32 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.33/63.32 177.33/63.32 The TRS R consists of the following rules: 177.33/63.32 177.33/63.32 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.33/63.32 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.33/63.32 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.33/63.32 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.33/63.32 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.33/63.32 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.33/63.32 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.33/63.32 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.33/63.32 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.33/63.32 mark(U16(X)) -> active(U16(mark(X))) 177.33/63.32 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.33/63.32 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.33/63.32 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.33/63.32 mark(U23(X)) -> active(U23(mark(X))) 177.33/63.32 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.33/63.32 mark(U32(X)) -> active(U32(mark(X))) 177.33/63.32 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.33/63.32 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.33/63.32 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.33/63.32 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.33/63.32 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.33/63.32 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.33/63.32 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.33/63.32 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.33/63.32 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.33/63.32 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.33/63.32 mark(s(X)) -> active(s(mark(X))) 177.33/63.32 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.33/63.32 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.33/63.32 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.33/63.32 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.33/63.32 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.33/63.32 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.33/63.32 mark(U41(X)) -> active(U41(mark(X))) 177.33/63.32 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.33/63.32 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.33/63.32 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.33/63.32 mark(isNatKind(X)) -> active(isNatKind(X)) 177.33/63.32 mark(isNat(X)) -> active(isNat(X)) 177.33/63.32 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.33/63.32 mark(tt) -> active(tt) 177.33/63.32 mark(0) -> active(0) 177.33/63.32 plus(X1, mark(X2)) -> plus(X1, X2) 177.33/63.32 plus(mark(X1), X2) -> plus(X1, X2) 177.33/63.32 plus(active(X1), X2) -> plus(X1, X2) 177.33/63.32 plus(X1, active(X2)) -> plus(X1, X2) 177.33/63.32 active(U16(tt)) -> mark(tt) 177.33/63.32 active(U23(tt)) -> mark(tt) 177.33/63.32 active(U32(tt)) -> mark(tt) 177.33/63.32 active(U41(tt)) -> mark(tt) 177.33/63.32 active(isNat(0)) -> mark(tt) 177.33/63.32 active(isNatKind(0)) -> mark(tt) 177.33/63.32 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.33/63.32 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.32 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.33/63.32 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.32 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.33/63.32 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.33/63.32 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.33/63.32 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.32 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.33/63.32 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.32 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.33/63.32 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.33/63.32 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.33/63.32 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.32 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.33/63.32 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.32 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.33/63.32 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.33/63.32 U15(X1, mark(X2)) -> U15(X1, X2) 177.33/63.32 U15(mark(X1), X2) -> U15(X1, X2) 177.33/63.32 U15(active(X1), X2) -> U15(X1, X2) 177.33/63.32 U15(X1, active(X2)) -> U15(X1, X2) 177.33/63.32 U16(active(X)) -> U16(X) 177.33/63.32 U16(mark(X)) -> U16(X) 177.33/63.32 U22(X1, mark(X2)) -> U22(X1, X2) 177.33/63.32 U22(mark(X1), X2) -> U22(X1, X2) 177.33/63.32 U22(active(X1), X2) -> U22(X1, X2) 177.33/63.32 U22(X1, active(X2)) -> U22(X1, X2) 177.33/63.32 U23(active(X)) -> U23(X) 177.33/63.32 U23(mark(X)) -> U23(X) 177.33/63.32 U32(active(X)) -> U32(X) 177.33/63.32 U32(mark(X)) -> U32(X) 177.33/63.32 U52(X1, mark(X2)) -> U52(X1, X2) 177.33/63.32 U52(mark(X1), X2) -> U52(X1, X2) 177.33/63.32 U52(active(X1), X2) -> U52(X1, X2) 177.33/63.32 U52(X1, active(X2)) -> U52(X1, X2) 177.33/63.32 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.33/63.32 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.32 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.33/63.32 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.32 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.33/63.32 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.33/63.32 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.33/63.32 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.32 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.33/63.32 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.32 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.33/63.32 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.33/63.32 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.33/63.32 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.32 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.33/63.32 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.32 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.33/63.32 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.33/63.32 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.33/63.32 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.32 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.33/63.32 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.32 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.33/63.32 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.33/63.32 s(active(X)) -> s(X) 177.33/63.32 s(mark(X)) -> s(X) 177.33/63.32 U21(X1, mark(X2)) -> U21(X1, X2) 177.33/63.32 U21(mark(X1), X2) -> U21(X1, X2) 177.33/63.32 U21(active(X1), X2) -> U21(X1, X2) 177.33/63.32 U21(X1, active(X2)) -> U21(X1, X2) 177.33/63.32 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.32 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.32 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.32 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.32 U41(active(X)) -> U41(X) 177.33/63.32 U41(mark(X)) -> U41(X) 177.33/63.32 U51(X1, mark(X2)) -> U51(X1, X2) 177.33/63.32 U51(mark(X1), X2) -> U51(X1, X2) 177.33/63.32 U51(active(X1), X2) -> U51(X1, X2) 177.33/63.32 U51(X1, active(X2)) -> U51(X1, X2) 177.33/63.32 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.33/63.32 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.32 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.33/63.32 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.32 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.33/63.32 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.33/63.32 177.33/63.32 The set Q consists of the following terms: 177.33/63.32 177.33/63.32 active(U11(tt, x0, x1)) 177.33/63.32 active(U12(tt, x0, x1)) 177.33/63.32 active(U13(tt, x0, x1)) 177.33/63.32 active(U14(tt, x0, x1)) 177.33/63.32 active(U15(tt, x0)) 177.33/63.32 active(U16(tt)) 177.33/63.32 active(U21(tt, x0)) 177.33/63.32 active(U22(tt, x0)) 177.33/63.32 active(U23(tt)) 177.33/63.32 active(U31(tt, x0)) 177.33/63.32 active(U32(tt)) 177.33/63.32 active(U41(tt)) 177.33/63.32 active(U51(tt, x0)) 177.33/63.32 active(U52(tt, x0)) 177.33/63.32 active(U61(tt, x0, x1)) 177.33/63.32 active(U62(tt, x0, x1)) 177.33/63.32 active(U63(tt, x0, x1)) 177.33/63.32 active(U64(tt, x0, x1)) 177.33/63.32 active(isNat(0)) 177.33/63.32 active(isNat(plus(x0, x1))) 177.33/63.32 active(isNat(s(x0))) 177.33/63.32 active(isNatKind(0)) 177.33/63.32 active(isNatKind(plus(x0, x1))) 177.33/63.32 active(isNatKind(s(x0))) 177.33/63.32 active(plus(x0, 0)) 177.33/63.32 active(plus(x0, s(x1))) 177.33/63.32 mark(U11(x0, x1, x2)) 177.33/63.32 mark(tt) 177.33/63.32 mark(U12(x0, x1, x2)) 177.33/63.32 mark(isNatKind(x0)) 177.33/63.32 mark(U13(x0, x1, x2)) 177.33/63.32 mark(U14(x0, x1, x2)) 177.33/63.32 mark(U15(x0, x1)) 177.33/63.32 mark(isNat(x0)) 177.33/63.32 mark(U16(x0)) 177.33/63.32 mark(U21(x0, x1)) 177.33/63.32 mark(U22(x0, x1)) 177.33/63.32 mark(U23(x0)) 177.33/63.32 mark(U31(x0, x1)) 177.33/63.32 mark(U32(x0)) 177.33/63.32 mark(U41(x0)) 177.33/63.32 mark(U51(x0, x1)) 177.33/63.32 mark(U52(x0, x1)) 177.33/63.32 mark(U61(x0, x1, x2)) 177.33/63.32 mark(U62(x0, x1, x2)) 177.33/63.32 mark(U63(x0, x1, x2)) 177.33/63.32 mark(U64(x0, x1, x2)) 177.33/63.32 mark(s(x0)) 177.33/63.32 mark(plus(x0, x1)) 177.33/63.32 mark(0) 177.33/63.32 U11(mark(x0), x1, x2) 177.33/63.32 U11(x0, mark(x1), x2) 177.33/63.32 U11(x0, x1, mark(x2)) 177.33/63.32 U11(active(x0), x1, x2) 177.33/63.32 U11(x0, active(x1), x2) 177.33/63.32 U11(x0, x1, active(x2)) 177.33/63.32 U12(mark(x0), x1, x2) 177.33/63.32 U12(x0, mark(x1), x2) 177.33/63.32 U12(x0, x1, mark(x2)) 177.33/63.32 U12(active(x0), x1, x2) 177.33/63.32 U12(x0, active(x1), x2) 177.33/63.32 U12(x0, x1, active(x2)) 177.33/63.32 isNatKind(mark(x0)) 177.33/63.32 isNatKind(active(x0)) 177.33/63.32 U13(mark(x0), x1, x2) 177.33/63.32 U13(x0, mark(x1), x2) 177.33/63.32 U13(x0, x1, mark(x2)) 177.33/63.32 U13(active(x0), x1, x2) 177.33/63.32 U13(x0, active(x1), x2) 177.33/63.32 U13(x0, x1, active(x2)) 177.33/63.32 U14(mark(x0), x1, x2) 177.33/63.32 U14(x0, mark(x1), x2) 177.33/63.32 U14(x0, x1, mark(x2)) 177.33/63.32 U14(active(x0), x1, x2) 177.33/63.32 U14(x0, active(x1), x2) 177.33/63.32 U14(x0, x1, active(x2)) 177.33/63.32 U15(mark(x0), x1) 177.33/63.32 U15(x0, mark(x1)) 177.33/63.32 U15(active(x0), x1) 177.33/63.32 U15(x0, active(x1)) 177.33/63.32 isNat(mark(x0)) 177.33/63.32 isNat(active(x0)) 177.33/63.32 U16(mark(x0)) 177.33/63.32 U16(active(x0)) 177.33/63.32 U21(mark(x0), x1) 177.33/63.32 U21(x0, mark(x1)) 177.33/63.32 U21(active(x0), x1) 177.33/63.32 U21(x0, active(x1)) 177.33/63.32 U22(mark(x0), x1) 177.33/63.32 U22(x0, mark(x1)) 177.33/63.32 U22(active(x0), x1) 177.33/63.32 U22(x0, active(x1)) 177.33/63.32 U23(mark(x0)) 177.33/63.32 U23(active(x0)) 177.33/63.32 U31(mark(x0), x1) 177.33/63.32 U31(x0, mark(x1)) 177.33/63.32 U31(active(x0), x1) 177.33/63.32 U31(x0, active(x1)) 177.33/63.32 U32(mark(x0)) 177.33/63.32 U32(active(x0)) 177.33/63.32 U41(mark(x0)) 177.33/63.32 U41(active(x0)) 177.33/63.32 U51(mark(x0), x1) 177.33/63.32 U51(x0, mark(x1)) 177.33/63.32 U51(active(x0), x1) 177.33/63.32 U51(x0, active(x1)) 177.33/63.32 U52(mark(x0), x1) 177.33/63.32 U52(x0, mark(x1)) 177.33/63.32 U52(active(x0), x1) 177.33/63.32 U52(x0, active(x1)) 177.33/63.32 U61(mark(x0), x1, x2) 177.33/63.32 U61(x0, mark(x1), x2) 177.33/63.32 U61(x0, x1, mark(x2)) 177.33/63.32 U61(active(x0), x1, x2) 177.33/63.32 U61(x0, active(x1), x2) 177.33/63.32 U61(x0, x1, active(x2)) 177.33/63.32 U62(mark(x0), x1, x2) 177.33/63.32 U62(x0, mark(x1), x2) 177.33/63.32 U62(x0, x1, mark(x2)) 177.33/63.32 U62(active(x0), x1, x2) 177.33/63.32 U62(x0, active(x1), x2) 177.33/63.32 U62(x0, x1, active(x2)) 177.33/63.32 U63(mark(x0), x1, x2) 177.33/63.32 U63(x0, mark(x1), x2) 177.33/63.32 U63(x0, x1, mark(x2)) 177.33/63.32 U63(active(x0), x1, x2) 177.33/63.32 U63(x0, active(x1), x2) 177.33/63.32 U63(x0, x1, active(x2)) 177.33/63.32 U64(mark(x0), x1, x2) 177.33/63.32 U64(x0, mark(x1), x2) 177.33/63.32 U64(x0, x1, mark(x2)) 177.33/63.32 U64(active(x0), x1, x2) 177.33/63.32 U64(x0, active(x1), x2) 177.33/63.32 U64(x0, x1, active(x2)) 177.33/63.32 s(mark(x0)) 177.33/63.32 s(active(x0)) 177.33/63.32 plus(mark(x0), x1) 177.33/63.32 plus(x0, mark(x1)) 177.33/63.32 plus(active(x0), x1) 177.33/63.32 plus(x0, active(x1)) 177.33/63.32 177.33/63.32 We have to consider all minimal (P,Q,R)-chains. 177.33/63.32 ---------------------------------------- 177.33/63.32 177.33/63.32 (228) QDPOrderProof (EQUIVALENT) 177.33/63.32 We use the reduction pair processor [LPAR04,JAR06]. 177.33/63.32 177.33/63.32 177.33/63.32 The following pairs can be oriented strictly and are deleted. 177.33/63.32 177.33/63.32 MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) 177.33/63.32 MARK(U15(X1, X2)) -> MARK(X1) 177.33/63.32 The remaining pairs can at least be oriented weakly. 177.33/63.32 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 177.33/63.32 177.33/63.32 POL( ACTIVE_1(x_1) ) = 0 177.33/63.32 POL( U15_2(x_1, x_2) ) = 2x_1 + x_2 + 2 177.33/63.32 POL( U31_2(x_1, x_2) ) = x_1 + 1 177.33/63.32 POL( active_1(x_1) ) = max{0, -2} 177.33/63.32 POL( U11_3(x_1, ..., x_3) ) = max{0, 2x_2 - 2} 177.33/63.32 POL( tt ) = 2 177.33/63.32 POL( mark_1(x_1) ) = max{0, 2x_1 - 2} 177.33/63.32 POL( U12_3(x_1, ..., x_3) ) = x_1 + x_2 + 2x_3 + 2 177.33/63.32 POL( isNatKind_1(x_1) ) = 0 177.33/63.32 POL( U13_3(x_1, ..., x_3) ) = max{0, x_2 - 2} 177.33/63.32 POL( U14_3(x_1, ..., x_3) ) = x_1 + x_2 + x_3 + 2 177.33/63.32 POL( isNat_1(x_1) ) = 0 177.33/63.32 POL( U16_1(x_1) ) = 2x_1 + 1 177.33/63.32 POL( U21_2(x_1, x_2) ) = max{0, x_2 - 2} 177.33/63.32 POL( U22_2(x_1, x_2) ) = max{0, x_1 - 2} 177.33/63.32 POL( U23_1(x_1) ) = 0 177.33/63.32 POL( U32_1(x_1) ) = 2x_1 + 1 177.33/63.32 POL( U51_2(x_1, x_2) ) = max{0, 2x_1 - 2} 177.33/63.32 POL( U52_2(x_1, x_2) ) = max{0, x_1 - 2} 177.33/63.32 POL( U61_3(x_1, ..., x_3) ) = max{0, x_1 + 2x_2 + x_3 - 2} 177.33/63.32 POL( U62_3(x_1, ..., x_3) ) = 2 177.33/63.32 POL( U63_3(x_1, ..., x_3) ) = max{0, x_2 - 2} 177.33/63.32 POL( U64_3(x_1, ..., x_3) ) = max{0, x_1 + 2x_3 - 2} 177.33/63.32 POL( s_1(x_1) ) = 0 177.33/63.32 POL( plus_2(x_1, x_2) ) = 2 177.33/63.32 POL( U41_1(x_1) ) = x_1 + 1 177.33/63.32 POL( 0 ) = 0 177.33/63.32 POL( MARK_1(x_1) ) = max{0, x_1 - 1} 177.33/63.32 177.33/63.32 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 177.33/63.32 none 177.33/63.32 177.33/63.32 177.33/63.32 ---------------------------------------- 177.33/63.32 177.33/63.32 (229) 177.33/63.32 Obligation: 177.33/63.32 Q DP problem: 177.33/63.32 The TRS P consists of the following rules: 177.33/63.32 177.33/63.32 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.33/63.32 MARK(U16(X)) -> MARK(X) 177.33/63.32 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.33/63.32 MARK(U32(X)) -> MARK(X) 177.33/63.32 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.33/63.32 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.33/63.32 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.33/63.32 MARK(U31(X1, X2)) -> MARK(X1) 177.33/63.32 MARK(U41(X)) -> MARK(X) 177.33/63.32 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.33/63.32 177.33/63.32 The TRS R consists of the following rules: 177.33/63.32 177.33/63.32 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.33/63.32 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.33/63.32 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.33/63.32 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.33/63.32 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.33/63.32 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.33/63.32 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.33/63.32 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.33/63.32 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.33/63.32 mark(U16(X)) -> active(U16(mark(X))) 177.33/63.32 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.33/63.32 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.33/63.32 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.33/63.32 mark(U23(X)) -> active(U23(mark(X))) 177.33/63.32 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.33/63.32 mark(U32(X)) -> active(U32(mark(X))) 177.33/63.32 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.33/63.32 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.33/63.32 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.33/63.32 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.33/63.32 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.33/63.32 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.33/63.32 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.33/63.32 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.33/63.32 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.33/63.32 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.33/63.32 mark(s(X)) -> active(s(mark(X))) 177.33/63.32 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.33/63.32 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.33/63.32 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.33/63.32 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.33/63.32 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.33/63.32 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.33/63.32 mark(U41(X)) -> active(U41(mark(X))) 177.33/63.32 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.33/63.32 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.33/63.32 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.33/63.32 mark(isNatKind(X)) -> active(isNatKind(X)) 177.33/63.32 mark(isNat(X)) -> active(isNat(X)) 177.33/63.32 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.33/63.32 mark(tt) -> active(tt) 177.33/63.32 mark(0) -> active(0) 177.33/63.32 plus(X1, mark(X2)) -> plus(X1, X2) 177.33/63.32 plus(mark(X1), X2) -> plus(X1, X2) 177.33/63.32 plus(active(X1), X2) -> plus(X1, X2) 177.33/63.32 plus(X1, active(X2)) -> plus(X1, X2) 177.33/63.32 active(U16(tt)) -> mark(tt) 177.33/63.32 active(U23(tt)) -> mark(tt) 177.33/63.32 active(U32(tt)) -> mark(tt) 177.33/63.32 active(U41(tt)) -> mark(tt) 177.33/63.32 active(isNat(0)) -> mark(tt) 177.33/63.32 active(isNatKind(0)) -> mark(tt) 177.33/63.32 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.33/63.32 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.32 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.33/63.32 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.32 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.33/63.32 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.33/63.32 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.33/63.32 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.32 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.33/63.32 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.32 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.33/63.32 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.33/63.32 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.33/63.32 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.32 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.33/63.32 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.32 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.33/63.32 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.33/63.32 U15(X1, mark(X2)) -> U15(X1, X2) 177.33/63.32 U15(mark(X1), X2) -> U15(X1, X2) 177.33/63.32 U15(active(X1), X2) -> U15(X1, X2) 177.33/63.32 U15(X1, active(X2)) -> U15(X1, X2) 177.33/63.32 U16(active(X)) -> U16(X) 177.33/63.32 U16(mark(X)) -> U16(X) 177.33/63.32 U22(X1, mark(X2)) -> U22(X1, X2) 177.33/63.32 U22(mark(X1), X2) -> U22(X1, X2) 177.33/63.32 U22(active(X1), X2) -> U22(X1, X2) 177.33/63.32 U22(X1, active(X2)) -> U22(X1, X2) 177.33/63.32 U23(active(X)) -> U23(X) 177.33/63.32 U23(mark(X)) -> U23(X) 177.33/63.32 U32(active(X)) -> U32(X) 177.33/63.32 U32(mark(X)) -> U32(X) 177.33/63.32 U52(X1, mark(X2)) -> U52(X1, X2) 177.33/63.32 U52(mark(X1), X2) -> U52(X1, X2) 177.33/63.32 U52(active(X1), X2) -> U52(X1, X2) 177.33/63.32 U52(X1, active(X2)) -> U52(X1, X2) 177.33/63.32 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.33/63.32 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.32 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.33/63.32 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.32 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.33/63.32 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.33/63.32 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.33/63.32 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.32 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.33/63.32 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.32 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.33/63.32 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.33/63.32 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.33/63.32 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.32 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.33/63.32 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.32 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.33/63.32 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.33/63.32 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.33/63.32 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.32 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.33/63.32 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.32 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.33/63.32 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.33/63.32 s(active(X)) -> s(X) 177.33/63.32 s(mark(X)) -> s(X) 177.33/63.32 U21(X1, mark(X2)) -> U21(X1, X2) 177.33/63.32 U21(mark(X1), X2) -> U21(X1, X2) 177.33/63.32 U21(active(X1), X2) -> U21(X1, X2) 177.33/63.32 U21(X1, active(X2)) -> U21(X1, X2) 177.33/63.32 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.32 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.32 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.32 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.32 U41(active(X)) -> U41(X) 177.33/63.32 U41(mark(X)) -> U41(X) 177.33/63.32 U51(X1, mark(X2)) -> U51(X1, X2) 177.33/63.32 U51(mark(X1), X2) -> U51(X1, X2) 177.33/63.32 U51(active(X1), X2) -> U51(X1, X2) 177.33/63.32 U51(X1, active(X2)) -> U51(X1, X2) 177.33/63.32 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.33/63.32 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.32 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.33/63.32 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.32 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.33/63.32 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.33/63.32 177.33/63.32 The set Q consists of the following terms: 177.33/63.32 177.33/63.32 active(U11(tt, x0, x1)) 177.33/63.32 active(U12(tt, x0, x1)) 177.33/63.32 active(U13(tt, x0, x1)) 177.33/63.32 active(U14(tt, x0, x1)) 177.33/63.32 active(U15(tt, x0)) 177.33/63.32 active(U16(tt)) 177.33/63.32 active(U21(tt, x0)) 177.33/63.32 active(U22(tt, x0)) 177.33/63.32 active(U23(tt)) 177.33/63.32 active(U31(tt, x0)) 177.33/63.32 active(U32(tt)) 177.33/63.32 active(U41(tt)) 177.33/63.32 active(U51(tt, x0)) 177.33/63.32 active(U52(tt, x0)) 177.33/63.32 active(U61(tt, x0, x1)) 177.33/63.32 active(U62(tt, x0, x1)) 177.33/63.32 active(U63(tt, x0, x1)) 177.33/63.32 active(U64(tt, x0, x1)) 177.33/63.32 active(isNat(0)) 177.33/63.32 active(isNat(plus(x0, x1))) 177.33/63.32 active(isNat(s(x0))) 177.33/63.32 active(isNatKind(0)) 177.33/63.32 active(isNatKind(plus(x0, x1))) 177.33/63.32 active(isNatKind(s(x0))) 177.33/63.32 active(plus(x0, 0)) 177.33/63.32 active(plus(x0, s(x1))) 177.33/63.32 mark(U11(x0, x1, x2)) 177.33/63.32 mark(tt) 177.33/63.32 mark(U12(x0, x1, x2)) 177.33/63.32 mark(isNatKind(x0)) 177.33/63.32 mark(U13(x0, x1, x2)) 177.33/63.32 mark(U14(x0, x1, x2)) 177.33/63.32 mark(U15(x0, x1)) 177.33/63.32 mark(isNat(x0)) 177.33/63.32 mark(U16(x0)) 177.33/63.32 mark(U21(x0, x1)) 177.33/63.32 mark(U22(x0, x1)) 177.33/63.32 mark(U23(x0)) 177.33/63.32 mark(U31(x0, x1)) 177.33/63.32 mark(U32(x0)) 177.33/63.32 mark(U41(x0)) 177.33/63.32 mark(U51(x0, x1)) 177.33/63.32 mark(U52(x0, x1)) 177.33/63.32 mark(U61(x0, x1, x2)) 177.33/63.32 mark(U62(x0, x1, x2)) 177.33/63.32 mark(U63(x0, x1, x2)) 177.33/63.32 mark(U64(x0, x1, x2)) 177.33/63.32 mark(s(x0)) 177.33/63.32 mark(plus(x0, x1)) 177.33/63.32 mark(0) 177.33/63.32 U11(mark(x0), x1, x2) 177.33/63.32 U11(x0, mark(x1), x2) 177.33/63.32 U11(x0, x1, mark(x2)) 177.33/63.32 U11(active(x0), x1, x2) 177.33/63.32 U11(x0, active(x1), x2) 177.33/63.32 U11(x0, x1, active(x2)) 177.33/63.32 U12(mark(x0), x1, x2) 177.33/63.32 U12(x0, mark(x1), x2) 177.33/63.32 U12(x0, x1, mark(x2)) 177.33/63.32 U12(active(x0), x1, x2) 177.33/63.32 U12(x0, active(x1), x2) 177.33/63.32 U12(x0, x1, active(x2)) 177.33/63.32 isNatKind(mark(x0)) 177.33/63.32 isNatKind(active(x0)) 177.33/63.32 U13(mark(x0), x1, x2) 177.33/63.32 U13(x0, mark(x1), x2) 177.33/63.32 U13(x0, x1, mark(x2)) 177.33/63.32 U13(active(x0), x1, x2) 177.33/63.32 U13(x0, active(x1), x2) 177.33/63.32 U13(x0, x1, active(x2)) 177.33/63.32 U14(mark(x0), x1, x2) 177.33/63.32 U14(x0, mark(x1), x2) 177.33/63.32 U14(x0, x1, mark(x2)) 177.33/63.32 U14(active(x0), x1, x2) 177.33/63.32 U14(x0, active(x1), x2) 177.33/63.32 U14(x0, x1, active(x2)) 177.33/63.32 U15(mark(x0), x1) 177.33/63.32 U15(x0, mark(x1)) 177.33/63.32 U15(active(x0), x1) 177.33/63.32 U15(x0, active(x1)) 177.33/63.32 isNat(mark(x0)) 177.33/63.32 isNat(active(x0)) 177.33/63.32 U16(mark(x0)) 177.33/63.32 U16(active(x0)) 177.33/63.32 U21(mark(x0), x1) 177.33/63.32 U21(x0, mark(x1)) 177.33/63.32 U21(active(x0), x1) 177.33/63.32 U21(x0, active(x1)) 177.33/63.32 U22(mark(x0), x1) 177.33/63.32 U22(x0, mark(x1)) 177.33/63.32 U22(active(x0), x1) 177.33/63.32 U22(x0, active(x1)) 177.33/63.32 U23(mark(x0)) 177.33/63.32 U23(active(x0)) 177.33/63.32 U31(mark(x0), x1) 177.33/63.32 U31(x0, mark(x1)) 177.33/63.32 U31(active(x0), x1) 177.33/63.32 U31(x0, active(x1)) 177.33/63.32 U32(mark(x0)) 177.33/63.32 U32(active(x0)) 177.33/63.32 U41(mark(x0)) 177.33/63.32 U41(active(x0)) 177.33/63.32 U51(mark(x0), x1) 177.33/63.32 U51(x0, mark(x1)) 177.33/63.32 U51(active(x0), x1) 177.33/63.32 U51(x0, active(x1)) 177.33/63.32 U52(mark(x0), x1) 177.33/63.32 U52(x0, mark(x1)) 177.33/63.32 U52(active(x0), x1) 177.33/63.32 U52(x0, active(x1)) 177.33/63.32 U61(mark(x0), x1, x2) 177.33/63.32 U61(x0, mark(x1), x2) 177.33/63.32 U61(x0, x1, mark(x2)) 177.33/63.32 U61(active(x0), x1, x2) 177.33/63.32 U61(x0, active(x1), x2) 177.33/63.32 U61(x0, x1, active(x2)) 177.33/63.32 U62(mark(x0), x1, x2) 177.33/63.32 U62(x0, mark(x1), x2) 177.33/63.32 U62(x0, x1, mark(x2)) 177.33/63.32 U62(active(x0), x1, x2) 177.33/63.32 U62(x0, active(x1), x2) 177.33/63.32 U62(x0, x1, active(x2)) 177.33/63.32 U63(mark(x0), x1, x2) 177.33/63.32 U63(x0, mark(x1), x2) 177.33/63.32 U63(x0, x1, mark(x2)) 177.33/63.32 U63(active(x0), x1, x2) 177.33/63.32 U63(x0, active(x1), x2) 177.33/63.32 U63(x0, x1, active(x2)) 177.33/63.32 U64(mark(x0), x1, x2) 177.33/63.32 U64(x0, mark(x1), x2) 177.33/63.32 U64(x0, x1, mark(x2)) 177.33/63.32 U64(active(x0), x1, x2) 177.33/63.32 U64(x0, active(x1), x2) 177.33/63.32 U64(x0, x1, active(x2)) 177.33/63.32 s(mark(x0)) 177.33/63.32 s(active(x0)) 177.33/63.32 plus(mark(x0), x1) 177.33/63.32 plus(x0, mark(x1)) 177.33/63.32 plus(active(x0), x1) 177.33/63.32 plus(x0, active(x1)) 177.33/63.32 177.33/63.32 We have to consider all minimal (P,Q,R)-chains. 177.33/63.32 ---------------------------------------- 177.33/63.32 177.33/63.32 (230) QDPOrderProof (EQUIVALENT) 177.33/63.32 We use the reduction pair processor [LPAR04,JAR06]. 177.33/63.32 177.33/63.32 177.33/63.32 The following pairs can be oriented strictly and are deleted. 177.33/63.32 177.33/63.32 ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) 177.33/63.32 The remaining pairs can at least be oriented weakly. 177.33/63.32 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 177.33/63.32 177.33/63.32 POL( ACTIVE_1(x_1) ) = max{0, x_1 - 2} 177.33/63.32 POL( U31_2(x_1, x_2) ) = max{0, -2} 177.33/63.32 POL( active_1(x_1) ) = 2 177.33/63.32 POL( U11_3(x_1, ..., x_3) ) = max{0, x_2 - 2} 177.33/63.32 POL( tt ) = 2 177.33/63.32 POL( mark_1(x_1) ) = 2 177.33/63.32 POL( U12_3(x_1, ..., x_3) ) = max{0, x_2 - 2} 177.33/63.32 POL( isNatKind_1(x_1) ) = 0 177.33/63.32 POL( U13_3(x_1, ..., x_3) ) = max{0, x_1 - 2} 177.33/63.32 POL( U14_3(x_1, ..., x_3) ) = max{0, x_1 - 2} 177.33/63.32 POL( U15_2(x_1, x_2) ) = x_1 + 1 177.33/63.32 POL( isNat_1(x_1) ) = 0 177.33/63.32 POL( U16_1(x_1) ) = max{0, 2x_1 - 2} 177.33/63.32 POL( U21_2(x_1, x_2) ) = max{0, x_2 - 2} 177.33/63.32 POL( U22_2(x_1, x_2) ) = x_2 + 2 177.33/63.32 POL( U23_1(x_1) ) = 2 177.33/63.32 POL( U32_1(x_1) ) = max{0, 2x_1 - 2} 177.33/63.32 POL( U51_2(x_1, x_2) ) = 0 177.33/63.32 POL( U52_2(x_1, x_2) ) = max{0, x_1 - 1} 177.33/63.32 POL( U61_3(x_1, ..., x_3) ) = 2 177.33/63.32 POL( U62_3(x_1, ..., x_3) ) = 2x_3 + 2 177.33/63.32 POL( U63_3(x_1, ..., x_3) ) = 2 177.33/63.32 POL( U64_3(x_1, ..., x_3) ) = 2 177.33/63.32 POL( s_1(x_1) ) = max{0, x_1 - 2} 177.33/63.32 POL( plus_2(x_1, x_2) ) = max{0, 2x_1 - 2} 177.33/63.32 POL( U41_1(x_1) ) = max{0, x_1 - 2} 177.33/63.32 POL( 0 ) = 0 177.33/63.32 POL( MARK_1(x_1) ) = max{0, -2} 177.33/63.32 177.33/63.32 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 177.33/63.32 177.33/63.32 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.32 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.32 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.32 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.32 177.33/63.32 177.33/63.32 ---------------------------------------- 177.33/63.32 177.33/63.32 (231) 177.33/63.32 Obligation: 177.33/63.32 Q DP problem: 177.33/63.32 The TRS P consists of the following rules: 177.33/63.32 177.33/63.32 MARK(U16(X)) -> MARK(X) 177.33/63.32 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.33/63.32 MARK(U32(X)) -> MARK(X) 177.33/63.32 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.33/63.32 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.33/63.32 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.33/63.32 MARK(U31(X1, X2)) -> MARK(X1) 177.33/63.32 MARK(U41(X)) -> MARK(X) 177.33/63.32 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.33/63.32 177.33/63.32 The TRS R consists of the following rules: 177.33/63.32 177.33/63.32 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.33/63.32 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.33/63.32 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.33/63.32 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.33/63.32 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.33/63.32 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.33/63.32 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.33/63.32 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.33/63.32 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.33/63.32 mark(U16(X)) -> active(U16(mark(X))) 177.33/63.32 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.33/63.32 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.33/63.32 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.33/63.32 mark(U23(X)) -> active(U23(mark(X))) 177.33/63.32 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.33/63.32 mark(U32(X)) -> active(U32(mark(X))) 177.33/63.32 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.33/63.32 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.33/63.32 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.33/63.32 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.33/63.32 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.33/63.32 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.33/63.32 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.33/63.32 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.33/63.32 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.33/63.33 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.33/63.33 mark(s(X)) -> active(s(mark(X))) 177.33/63.33 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.33/63.33 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.33/63.33 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.33/63.33 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.33/63.33 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.33/63.33 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.33/63.33 mark(U41(X)) -> active(U41(mark(X))) 177.33/63.33 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.33/63.33 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.33/63.33 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.33/63.33 mark(isNatKind(X)) -> active(isNatKind(X)) 177.33/63.33 mark(isNat(X)) -> active(isNat(X)) 177.33/63.33 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.33/63.33 mark(tt) -> active(tt) 177.33/63.33 mark(0) -> active(0) 177.33/63.33 plus(X1, mark(X2)) -> plus(X1, X2) 177.33/63.33 plus(mark(X1), X2) -> plus(X1, X2) 177.33/63.33 plus(active(X1), X2) -> plus(X1, X2) 177.33/63.33 plus(X1, active(X2)) -> plus(X1, X2) 177.33/63.33 active(U16(tt)) -> mark(tt) 177.33/63.33 active(U23(tt)) -> mark(tt) 177.33/63.33 active(U32(tt)) -> mark(tt) 177.33/63.33 active(U41(tt)) -> mark(tt) 177.33/63.33 active(isNat(0)) -> mark(tt) 177.33/63.33 active(isNatKind(0)) -> mark(tt) 177.33/63.33 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.33/63.33 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.33 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.33/63.33 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.33 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.33/63.33 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.33/63.33 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.33/63.33 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.33 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.33/63.33 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.33 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.33/63.33 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.33/63.33 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.33/63.33 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.33 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.33/63.33 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.33 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.33/63.33 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.33/63.33 U15(X1, mark(X2)) -> U15(X1, X2) 177.33/63.33 U15(mark(X1), X2) -> U15(X1, X2) 177.33/63.33 U15(active(X1), X2) -> U15(X1, X2) 177.33/63.33 U15(X1, active(X2)) -> U15(X1, X2) 177.33/63.33 U16(active(X)) -> U16(X) 177.33/63.33 U16(mark(X)) -> U16(X) 177.33/63.33 U22(X1, mark(X2)) -> U22(X1, X2) 177.33/63.33 U22(mark(X1), X2) -> U22(X1, X2) 177.33/63.33 U22(active(X1), X2) -> U22(X1, X2) 177.33/63.33 U22(X1, active(X2)) -> U22(X1, X2) 177.33/63.33 U23(active(X)) -> U23(X) 177.33/63.33 U23(mark(X)) -> U23(X) 177.33/63.33 U32(active(X)) -> U32(X) 177.33/63.33 U32(mark(X)) -> U32(X) 177.33/63.33 U52(X1, mark(X2)) -> U52(X1, X2) 177.33/63.33 U52(mark(X1), X2) -> U52(X1, X2) 177.33/63.33 U52(active(X1), X2) -> U52(X1, X2) 177.33/63.33 U52(X1, active(X2)) -> U52(X1, X2) 177.33/63.33 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.33/63.33 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.33 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.33/63.33 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.33 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.33/63.33 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.33/63.33 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.33/63.33 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.33 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.33/63.33 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.33 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.33/63.33 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.33/63.33 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.33/63.33 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.33 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.33/63.33 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.33 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.33/63.33 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.33/63.33 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.33/63.33 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.33 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.33/63.33 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.33 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.33/63.33 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.33/63.33 s(active(X)) -> s(X) 177.33/63.33 s(mark(X)) -> s(X) 177.33/63.33 U21(X1, mark(X2)) -> U21(X1, X2) 177.33/63.33 U21(mark(X1), X2) -> U21(X1, X2) 177.33/63.33 U21(active(X1), X2) -> U21(X1, X2) 177.33/63.33 U21(X1, active(X2)) -> U21(X1, X2) 177.33/63.33 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.33 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.33 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.33 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.33 U41(active(X)) -> U41(X) 177.33/63.33 U41(mark(X)) -> U41(X) 177.33/63.33 U51(X1, mark(X2)) -> U51(X1, X2) 177.33/63.33 U51(mark(X1), X2) -> U51(X1, X2) 177.33/63.33 U51(active(X1), X2) -> U51(X1, X2) 177.33/63.33 U51(X1, active(X2)) -> U51(X1, X2) 177.33/63.33 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.33/63.33 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.33 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.33/63.33 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.33 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.33/63.33 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.33/63.33 177.33/63.33 The set Q consists of the following terms: 177.33/63.33 177.33/63.33 active(U11(tt, x0, x1)) 177.33/63.33 active(U12(tt, x0, x1)) 177.33/63.33 active(U13(tt, x0, x1)) 177.33/63.33 active(U14(tt, x0, x1)) 177.33/63.33 active(U15(tt, x0)) 177.33/63.33 active(U16(tt)) 177.33/63.33 active(U21(tt, x0)) 177.33/63.33 active(U22(tt, x0)) 177.33/63.33 active(U23(tt)) 177.33/63.33 active(U31(tt, x0)) 177.33/63.33 active(U32(tt)) 177.33/63.33 active(U41(tt)) 177.33/63.33 active(U51(tt, x0)) 177.33/63.33 active(U52(tt, x0)) 177.33/63.33 active(U61(tt, x0, x1)) 177.33/63.33 active(U62(tt, x0, x1)) 177.33/63.33 active(U63(tt, x0, x1)) 177.33/63.33 active(U64(tt, x0, x1)) 177.33/63.33 active(isNat(0)) 177.33/63.33 active(isNat(plus(x0, x1))) 177.33/63.33 active(isNat(s(x0))) 177.33/63.33 active(isNatKind(0)) 177.33/63.33 active(isNatKind(plus(x0, x1))) 177.33/63.33 active(isNatKind(s(x0))) 177.33/63.33 active(plus(x0, 0)) 177.33/63.33 active(plus(x0, s(x1))) 177.33/63.33 mark(U11(x0, x1, x2)) 177.33/63.33 mark(tt) 177.33/63.33 mark(U12(x0, x1, x2)) 177.33/63.33 mark(isNatKind(x0)) 177.33/63.33 mark(U13(x0, x1, x2)) 177.33/63.33 mark(U14(x0, x1, x2)) 177.33/63.33 mark(U15(x0, x1)) 177.33/63.33 mark(isNat(x0)) 177.33/63.33 mark(U16(x0)) 177.33/63.33 mark(U21(x0, x1)) 177.33/63.33 mark(U22(x0, x1)) 177.33/63.33 mark(U23(x0)) 177.33/63.33 mark(U31(x0, x1)) 177.33/63.33 mark(U32(x0)) 177.33/63.33 mark(U41(x0)) 177.33/63.33 mark(U51(x0, x1)) 177.33/63.33 mark(U52(x0, x1)) 177.33/63.33 mark(U61(x0, x1, x2)) 177.33/63.33 mark(U62(x0, x1, x2)) 177.33/63.33 mark(U63(x0, x1, x2)) 177.33/63.33 mark(U64(x0, x1, x2)) 177.33/63.33 mark(s(x0)) 177.33/63.33 mark(plus(x0, x1)) 177.33/63.33 mark(0) 177.33/63.33 U11(mark(x0), x1, x2) 177.33/63.33 U11(x0, mark(x1), x2) 177.33/63.33 U11(x0, x1, mark(x2)) 177.33/63.33 U11(active(x0), x1, x2) 177.33/63.33 U11(x0, active(x1), x2) 177.33/63.33 U11(x0, x1, active(x2)) 177.33/63.33 U12(mark(x0), x1, x2) 177.33/63.33 U12(x0, mark(x1), x2) 177.33/63.33 U12(x0, x1, mark(x2)) 177.33/63.33 U12(active(x0), x1, x2) 177.33/63.33 U12(x0, active(x1), x2) 177.33/63.33 U12(x0, x1, active(x2)) 177.33/63.33 isNatKind(mark(x0)) 177.33/63.33 isNatKind(active(x0)) 177.33/63.33 U13(mark(x0), x1, x2) 177.33/63.33 U13(x0, mark(x1), x2) 177.33/63.33 U13(x0, x1, mark(x2)) 177.33/63.33 U13(active(x0), x1, x2) 177.33/63.33 U13(x0, active(x1), x2) 177.33/63.33 U13(x0, x1, active(x2)) 177.33/63.33 U14(mark(x0), x1, x2) 177.33/63.33 U14(x0, mark(x1), x2) 177.33/63.33 U14(x0, x1, mark(x2)) 177.33/63.33 U14(active(x0), x1, x2) 177.33/63.33 U14(x0, active(x1), x2) 177.33/63.33 U14(x0, x1, active(x2)) 177.33/63.33 U15(mark(x0), x1) 177.33/63.33 U15(x0, mark(x1)) 177.33/63.33 U15(active(x0), x1) 177.33/63.33 U15(x0, active(x1)) 177.33/63.33 isNat(mark(x0)) 177.33/63.33 isNat(active(x0)) 177.33/63.33 U16(mark(x0)) 177.33/63.33 U16(active(x0)) 177.33/63.33 U21(mark(x0), x1) 177.33/63.33 U21(x0, mark(x1)) 177.33/63.33 U21(active(x0), x1) 177.33/63.33 U21(x0, active(x1)) 177.33/63.33 U22(mark(x0), x1) 177.33/63.33 U22(x0, mark(x1)) 177.33/63.33 U22(active(x0), x1) 177.33/63.33 U22(x0, active(x1)) 177.33/63.33 U23(mark(x0)) 177.33/63.33 U23(active(x0)) 177.33/63.33 U31(mark(x0), x1) 177.33/63.33 U31(x0, mark(x1)) 177.33/63.33 U31(active(x0), x1) 177.33/63.33 U31(x0, active(x1)) 177.33/63.33 U32(mark(x0)) 177.33/63.33 U32(active(x0)) 177.33/63.33 U41(mark(x0)) 177.33/63.33 U41(active(x0)) 177.33/63.33 U51(mark(x0), x1) 177.33/63.33 U51(x0, mark(x1)) 177.33/63.33 U51(active(x0), x1) 177.33/63.33 U51(x0, active(x1)) 177.33/63.33 U52(mark(x0), x1) 177.33/63.33 U52(x0, mark(x1)) 177.33/63.33 U52(active(x0), x1) 177.33/63.33 U52(x0, active(x1)) 177.33/63.33 U61(mark(x0), x1, x2) 177.33/63.33 U61(x0, mark(x1), x2) 177.33/63.33 U61(x0, x1, mark(x2)) 177.33/63.33 U61(active(x0), x1, x2) 177.33/63.33 U61(x0, active(x1), x2) 177.33/63.33 U61(x0, x1, active(x2)) 177.33/63.33 U62(mark(x0), x1, x2) 177.33/63.33 U62(x0, mark(x1), x2) 177.33/63.33 U62(x0, x1, mark(x2)) 177.33/63.33 U62(active(x0), x1, x2) 177.33/63.33 U62(x0, active(x1), x2) 177.33/63.33 U62(x0, x1, active(x2)) 177.33/63.33 U63(mark(x0), x1, x2) 177.33/63.33 U63(x0, mark(x1), x2) 177.33/63.33 U63(x0, x1, mark(x2)) 177.33/63.33 U63(active(x0), x1, x2) 177.33/63.33 U63(x0, active(x1), x2) 177.33/63.33 U63(x0, x1, active(x2)) 177.33/63.33 U64(mark(x0), x1, x2) 177.33/63.33 U64(x0, mark(x1), x2) 177.33/63.33 U64(x0, x1, mark(x2)) 177.33/63.33 U64(active(x0), x1, x2) 177.33/63.33 U64(x0, active(x1), x2) 177.33/63.33 U64(x0, x1, active(x2)) 177.33/63.33 s(mark(x0)) 177.33/63.33 s(active(x0)) 177.33/63.33 plus(mark(x0), x1) 177.33/63.33 plus(x0, mark(x1)) 177.33/63.33 plus(active(x0), x1) 177.33/63.33 plus(x0, active(x1)) 177.33/63.33 177.33/63.33 We have to consider all minimal (P,Q,R)-chains. 177.33/63.33 ---------------------------------------- 177.33/63.33 177.33/63.33 (232) QDPQMonotonicMRRProof (EQUIVALENT) 177.33/63.33 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. 177.33/63.33 177.33/63.33 Strictly oriented dependency pairs: 177.33/63.33 177.33/63.33 ACTIVE(U31(tt, V2)) -> MARK(U32(isNatKind(V2))) 177.33/63.33 MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) 177.33/63.33 ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U31(isNatKind(V1), V2)) 177.33/63.33 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 177.33/63.33 ACTIVE(isNatKind(s(V1))) -> MARK(U41(isNatKind(V1))) 177.33/63.33 177.33/63.33 177.33/63.33 Used ordering: Polynomial interpretation [POLO]: 177.33/63.33 177.33/63.33 POL(0) = 2 177.33/63.33 POL(ACTIVE(x_1)) = 2*x_1 177.33/63.33 POL(MARK(x_1)) = 2 + 2*x_1 177.33/63.33 POL(U11(x_1, x_2, x_3)) = 1 177.33/63.33 POL(U12(x_1, x_2, x_3)) = 1 177.33/63.33 POL(U13(x_1, x_2, x_3)) = 1 177.33/63.33 POL(U14(x_1, x_2, x_3)) = 1 177.33/63.33 POL(U15(x_1, x_2)) = 1 177.33/63.33 POL(U16(x_1)) = x_1 177.33/63.33 POL(U21(x_1, x_2)) = 1 177.33/63.33 POL(U22(x_1, x_2)) = 1 177.33/63.33 POL(U23(x_1)) = 1 177.33/63.33 POL(U31(x_1, x_2)) = 2*x_1 + 2*x_2 177.33/63.33 POL(U32(x_1)) = x_1 177.33/63.33 POL(U41(x_1)) = x_1 177.33/63.33 POL(U51(x_1, x_2)) = 0 177.33/63.33 POL(U52(x_1, x_2)) = 0 177.33/63.33 POL(U61(x_1, x_2, x_3)) = 2 + x_2 + 2*x_3 177.33/63.33 POL(U62(x_1, x_2, x_3)) = 2 + x_2 + 2*x_3 177.33/63.33 POL(U63(x_1, x_2, x_3)) = 2 + x_2 + 2*x_3 177.33/63.33 POL(U64(x_1, x_2, x_3)) = 2 + x_2 + 2*x_3 177.33/63.33 POL(active(x_1)) = x_1 177.33/63.33 POL(isNat(x_1)) = 1 177.33/63.33 POL(isNatKind(x_1)) = 2*x_1 177.33/63.33 POL(mark(x_1)) = x_1 177.33/63.33 POL(plus(x_1, x_2)) = 1 + 2*x_1 + x_2 177.33/63.33 POL(s(x_1)) = 1 + x_1 177.33/63.33 POL(tt) = 1 177.33/63.33 177.33/63.33 177.33/63.33 ---------------------------------------- 177.33/63.33 177.33/63.33 (233) 177.33/63.33 Obligation: 177.33/63.33 Q DP problem: 177.33/63.33 The TRS P consists of the following rules: 177.33/63.33 177.33/63.33 MARK(U16(X)) -> MARK(X) 177.33/63.33 MARK(U32(X)) -> MARK(X) 177.33/63.33 MARK(U31(X1, X2)) -> MARK(X1) 177.33/63.33 MARK(U41(X)) -> MARK(X) 177.33/63.33 177.33/63.33 The TRS R consists of the following rules: 177.33/63.33 177.33/63.33 mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) 177.33/63.33 active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) 177.33/63.33 active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) 177.33/63.33 mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) 177.33/63.33 active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) 177.33/63.33 mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) 177.33/63.33 active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) 177.33/63.33 mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) 177.33/63.33 active(U15(tt, V2)) -> mark(U16(isNat(V2))) 177.33/63.33 mark(U16(X)) -> active(U16(mark(X))) 177.33/63.33 active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) 177.33/63.33 mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) 177.33/63.33 active(U22(tt, V1)) -> mark(U23(isNat(V1))) 177.33/63.33 mark(U23(X)) -> active(U23(mark(X))) 177.33/63.33 active(U31(tt, V2)) -> mark(U32(isNatKind(V2))) 177.33/63.33 mark(U32(X)) -> active(U32(mark(X))) 177.33/63.33 active(U51(tt, N)) -> mark(U52(isNatKind(N), N)) 177.33/63.33 mark(U52(X1, X2)) -> active(U52(mark(X1), X2)) 177.33/63.33 mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) 177.33/63.33 active(U61(tt, M, N)) -> mark(U62(isNatKind(M), M, N)) 177.33/63.33 mark(U62(X1, X2, X3)) -> active(U62(mark(X1), X2, X3)) 177.33/63.33 active(U62(tt, M, N)) -> mark(U63(isNat(N), M, N)) 177.33/63.33 mark(U63(X1, X2, X3)) -> active(U63(mark(X1), X2, X3)) 177.33/63.33 active(U63(tt, M, N)) -> mark(U64(isNatKind(N), M, N)) 177.33/63.33 mark(U64(X1, X2, X3)) -> active(U64(mark(X1), X2, X3)) 177.33/63.33 active(U64(tt, M, N)) -> mark(s(plus(N, M))) 177.33/63.33 mark(s(X)) -> active(s(mark(X))) 177.33/63.33 active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) 177.33/63.33 active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) 177.33/63.33 mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) 177.33/63.33 active(isNatKind(plus(V1, V2))) -> mark(U31(isNatKind(V1), V2)) 177.33/63.33 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 177.33/63.33 active(isNatKind(s(V1))) -> mark(U41(isNatKind(V1))) 177.33/63.33 mark(U41(X)) -> active(U41(mark(X))) 177.33/63.33 mark(U51(X1, X2)) -> active(U51(mark(X1), X2)) 177.33/63.33 active(plus(N, s(M))) -> mark(U61(isNat(M), M, N)) 177.33/63.33 mark(U61(X1, X2, X3)) -> active(U61(mark(X1), X2, X3)) 177.33/63.33 mark(isNatKind(X)) -> active(isNatKind(X)) 177.33/63.33 mark(isNat(X)) -> active(isNat(X)) 177.33/63.33 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 177.33/63.33 mark(tt) -> active(tt) 177.33/63.33 mark(0) -> active(0) 177.33/63.33 plus(X1, mark(X2)) -> plus(X1, X2) 177.33/63.33 plus(mark(X1), X2) -> plus(X1, X2) 177.33/63.33 plus(active(X1), X2) -> plus(X1, X2) 177.33/63.33 plus(X1, active(X2)) -> plus(X1, X2) 177.33/63.33 active(U16(tt)) -> mark(tt) 177.33/63.33 active(U23(tt)) -> mark(tt) 177.33/63.33 active(U32(tt)) -> mark(tt) 177.33/63.33 active(U41(tt)) -> mark(tt) 177.33/63.33 active(isNat(0)) -> mark(tt) 177.33/63.33 active(isNatKind(0)) -> mark(tt) 177.33/63.33 U12(X1, mark(X2), X3) -> U12(X1, X2, X3) 177.33/63.33 U12(mark(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.33 U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) 177.33/63.33 U12(active(X1), X2, X3) -> U12(X1, X2, X3) 177.33/63.33 U12(X1, active(X2), X3) -> U12(X1, X2, X3) 177.33/63.33 U12(X1, X2, active(X3)) -> U12(X1, X2, X3) 177.33/63.33 U13(X1, mark(X2), X3) -> U13(X1, X2, X3) 177.33/63.33 U13(mark(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.33 U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) 177.33/63.33 U13(active(X1), X2, X3) -> U13(X1, X2, X3) 177.33/63.33 U13(X1, active(X2), X3) -> U13(X1, X2, X3) 177.33/63.33 U13(X1, X2, active(X3)) -> U13(X1, X2, X3) 177.33/63.33 U14(X1, mark(X2), X3) -> U14(X1, X2, X3) 177.33/63.33 U14(mark(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.33 U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) 177.33/63.33 U14(active(X1), X2, X3) -> U14(X1, X2, X3) 177.33/63.33 U14(X1, active(X2), X3) -> U14(X1, X2, X3) 177.33/63.33 U14(X1, X2, active(X3)) -> U14(X1, X2, X3) 177.33/63.33 U15(X1, mark(X2)) -> U15(X1, X2) 177.33/63.33 U15(mark(X1), X2) -> U15(X1, X2) 177.33/63.33 U15(active(X1), X2) -> U15(X1, X2) 177.33/63.33 U15(X1, active(X2)) -> U15(X1, X2) 177.33/63.33 U16(active(X)) -> U16(X) 177.33/63.33 U16(mark(X)) -> U16(X) 177.33/63.33 U22(X1, mark(X2)) -> U22(X1, X2) 177.33/63.33 U22(mark(X1), X2) -> U22(X1, X2) 177.33/63.33 U22(active(X1), X2) -> U22(X1, X2) 177.33/63.33 U22(X1, active(X2)) -> U22(X1, X2) 177.33/63.33 U23(active(X)) -> U23(X) 177.33/63.33 U23(mark(X)) -> U23(X) 177.33/63.33 U32(active(X)) -> U32(X) 177.33/63.33 U32(mark(X)) -> U32(X) 177.33/63.33 U52(X1, mark(X2)) -> U52(X1, X2) 177.33/63.33 U52(mark(X1), X2) -> U52(X1, X2) 177.33/63.33 U52(active(X1), X2) -> U52(X1, X2) 177.33/63.33 U52(X1, active(X2)) -> U52(X1, X2) 177.33/63.33 U11(X1, mark(X2), X3) -> U11(X1, X2, X3) 177.33/63.33 U11(mark(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.33 U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) 177.33/63.33 U11(active(X1), X2, X3) -> U11(X1, X2, X3) 177.33/63.33 U11(X1, active(X2), X3) -> U11(X1, X2, X3) 177.33/63.33 U11(X1, X2, active(X3)) -> U11(X1, X2, X3) 177.33/63.33 U62(X1, mark(X2), X3) -> U62(X1, X2, X3) 177.33/63.33 U62(mark(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.33 U62(X1, X2, mark(X3)) -> U62(X1, X2, X3) 177.33/63.33 U62(active(X1), X2, X3) -> U62(X1, X2, X3) 177.33/63.33 U62(X1, active(X2), X3) -> U62(X1, X2, X3) 177.33/63.33 U62(X1, X2, active(X3)) -> U62(X1, X2, X3) 177.33/63.33 U63(X1, mark(X2), X3) -> U63(X1, X2, X3) 177.33/63.33 U63(mark(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.33 U63(X1, X2, mark(X3)) -> U63(X1, X2, X3) 177.33/63.33 U63(active(X1), X2, X3) -> U63(X1, X2, X3) 177.33/63.33 U63(X1, active(X2), X3) -> U63(X1, X2, X3) 177.33/63.33 U63(X1, X2, active(X3)) -> U63(X1, X2, X3) 177.33/63.33 U64(X1, mark(X2), X3) -> U64(X1, X2, X3) 177.33/63.33 U64(mark(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.33 U64(X1, X2, mark(X3)) -> U64(X1, X2, X3) 177.33/63.33 U64(active(X1), X2, X3) -> U64(X1, X2, X3) 177.33/63.33 U64(X1, active(X2), X3) -> U64(X1, X2, X3) 177.33/63.33 U64(X1, X2, active(X3)) -> U64(X1, X2, X3) 177.33/63.33 s(active(X)) -> s(X) 177.33/63.33 s(mark(X)) -> s(X) 177.33/63.33 U21(X1, mark(X2)) -> U21(X1, X2) 177.33/63.33 U21(mark(X1), X2) -> U21(X1, X2) 177.33/63.33 U21(active(X1), X2) -> U21(X1, X2) 177.33/63.33 U21(X1, active(X2)) -> U21(X1, X2) 177.33/63.33 U31(X1, mark(X2)) -> U31(X1, X2) 177.33/63.33 U31(mark(X1), X2) -> U31(X1, X2) 177.33/63.33 U31(active(X1), X2) -> U31(X1, X2) 177.33/63.33 U31(X1, active(X2)) -> U31(X1, X2) 177.33/63.33 U41(active(X)) -> U41(X) 177.33/63.33 U41(mark(X)) -> U41(X) 177.33/63.33 U51(X1, mark(X2)) -> U51(X1, X2) 177.33/63.33 U51(mark(X1), X2) -> U51(X1, X2) 177.33/63.33 U51(active(X1), X2) -> U51(X1, X2) 177.33/63.33 U51(X1, active(X2)) -> U51(X1, X2) 177.33/63.33 U61(X1, mark(X2), X3) -> U61(X1, X2, X3) 177.33/63.33 U61(mark(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.33 U61(X1, X2, mark(X3)) -> U61(X1, X2, X3) 177.33/63.33 U61(active(X1), X2, X3) -> U61(X1, X2, X3) 177.33/63.33 U61(X1, active(X2), X3) -> U61(X1, X2, X3) 177.33/63.33 U61(X1, X2, active(X3)) -> U61(X1, X2, X3) 177.33/63.33 177.33/63.33 The set Q consists of the following terms: 177.33/63.33 177.33/63.33 active(U11(tt, x0, x1)) 177.33/63.33 active(U12(tt, x0, x1)) 177.33/63.33 active(U13(tt, x0, x1)) 177.33/63.33 active(U14(tt, x0, x1)) 177.33/63.33 active(U15(tt, x0)) 177.33/63.33 active(U16(tt)) 177.33/63.33 active(U21(tt, x0)) 177.33/63.33 active(U22(tt, x0)) 177.33/63.33 active(U23(tt)) 177.33/63.33 active(U31(tt, x0)) 177.33/63.33 active(U32(tt)) 177.33/63.33 active(U41(tt)) 177.33/63.33 active(U51(tt, x0)) 177.33/63.33 active(U52(tt, x0)) 177.33/63.33 active(U61(tt, x0, x1)) 177.33/63.33 active(U62(tt, x0, x1)) 177.33/63.33 active(U63(tt, x0, x1)) 177.33/63.33 active(U64(tt, x0, x1)) 177.33/63.33 active(isNat(0)) 177.33/63.33 active(isNat(plus(x0, x1))) 177.33/63.33 active(isNat(s(x0))) 177.33/63.33 active(isNatKind(0)) 177.33/63.33 active(isNatKind(plus(x0, x1))) 177.33/63.33 active(isNatKind(s(x0))) 177.33/63.33 active(plus(x0, 0)) 177.33/63.33 active(plus(x0, s(x1))) 177.33/63.33 mark(U11(x0, x1, x2)) 177.33/63.33 mark(tt) 177.33/63.33 mark(U12(x0, x1, x2)) 177.33/63.33 mark(isNatKind(x0)) 177.33/63.33 mark(U13(x0, x1, x2)) 177.33/63.33 mark(U14(x0, x1, x2)) 177.33/63.33 mark(U15(x0, x1)) 177.33/63.33 mark(isNat(x0)) 177.33/63.33 mark(U16(x0)) 177.33/63.33 mark(U21(x0, x1)) 177.33/63.33 mark(U22(x0, x1)) 177.33/63.33 mark(U23(x0)) 177.33/63.33 mark(U31(x0, x1)) 177.33/63.33 mark(U32(x0)) 177.33/63.33 mark(U41(x0)) 177.33/63.33 mark(U51(x0, x1)) 177.33/63.33 mark(U52(x0, x1)) 177.33/63.33 mark(U61(x0, x1, x2)) 177.33/63.33 mark(U62(x0, x1, x2)) 177.33/63.33 mark(U63(x0, x1, x2)) 177.33/63.33 mark(U64(x0, x1, x2)) 177.33/63.33 mark(s(x0)) 177.33/63.33 mark(plus(x0, x1)) 177.33/63.33 mark(0) 177.33/63.33 U11(mark(x0), x1, x2) 177.33/63.33 U11(x0, mark(x1), x2) 177.33/63.33 U11(x0, x1, mark(x2)) 177.33/63.33 U11(active(x0), x1, x2) 177.33/63.33 U11(x0, active(x1), x2) 177.33/63.33 U11(x0, x1, active(x2)) 177.33/63.33 U12(mark(x0), x1, x2) 177.33/63.33 U12(x0, mark(x1), x2) 177.33/63.33 U12(x0, x1, mark(x2)) 177.33/63.33 U12(active(x0), x1, x2) 177.33/63.33 U12(x0, active(x1), x2) 177.33/63.33 U12(x0, x1, active(x2)) 177.33/63.33 isNatKind(mark(x0)) 177.33/63.33 isNatKind(active(x0)) 177.33/63.33 U13(mark(x0), x1, x2) 177.33/63.33 U13(x0, mark(x1), x2) 177.33/63.33 U13(x0, x1, mark(x2)) 177.33/63.33 U13(active(x0), x1, x2) 177.33/63.33 U13(x0, active(x1), x2) 177.33/63.33 U13(x0, x1, active(x2)) 177.33/63.33 U14(mark(x0), x1, x2) 177.33/63.33 U14(x0, mark(x1), x2) 177.33/63.33 U14(x0, x1, mark(x2)) 177.33/63.33 U14(active(x0), x1, x2) 177.33/63.33 U14(x0, active(x1), x2) 177.33/63.33 U14(x0, x1, active(x2)) 177.33/63.33 U15(mark(x0), x1) 177.33/63.33 U15(x0, mark(x1)) 177.33/63.33 U15(active(x0), x1) 177.33/63.33 U15(x0, active(x1)) 177.33/63.33 isNat(mark(x0)) 177.33/63.33 isNat(active(x0)) 177.33/63.33 U16(mark(x0)) 177.33/63.33 U16(active(x0)) 177.33/63.33 U21(mark(x0), x1) 177.33/63.33 U21(x0, mark(x1)) 177.33/63.33 U21(active(x0), x1) 177.33/63.33 U21(x0, active(x1)) 177.33/63.33 U22(mark(x0), x1) 177.33/63.33 U22(x0, mark(x1)) 177.33/63.33 U22(active(x0), x1) 177.33/63.33 U22(x0, active(x1)) 177.33/63.33 U23(mark(x0)) 177.33/63.33 U23(active(x0)) 177.33/63.33 U31(mark(x0), x1) 177.33/63.33 U31(x0, mark(x1)) 177.33/63.33 U31(active(x0), x1) 177.33/63.33 U31(x0, active(x1)) 177.33/63.33 U32(mark(x0)) 177.33/63.33 U32(active(x0)) 177.33/63.33 U41(mark(x0)) 177.33/63.33 U41(active(x0)) 177.33/63.33 U51(mark(x0), x1) 177.33/63.33 U51(x0, mark(x1)) 177.33/63.33 U51(active(x0), x1) 177.33/63.33 U51(x0, active(x1)) 177.33/63.33 U52(mark(x0), x1) 177.33/63.33 U52(x0, mark(x1)) 177.33/63.33 U52(active(x0), x1) 177.33/63.33 U52(x0, active(x1)) 177.33/63.33 U61(mark(x0), x1, x2) 177.33/63.33 U61(x0, mark(x1), x2) 177.33/63.33 U61(x0, x1, mark(x2)) 177.33/63.33 U61(active(x0), x1, x2) 177.33/63.33 U61(x0, active(x1), x2) 177.33/63.33 U61(x0, x1, active(x2)) 177.33/63.33 U62(mark(x0), x1, x2) 177.33/63.33 U62(x0, mark(x1), x2) 177.33/63.33 U62(x0, x1, mark(x2)) 177.33/63.33 U62(active(x0), x1, x2) 177.33/63.33 U62(x0, active(x1), x2) 177.33/63.33 U62(x0, x1, active(x2)) 177.33/63.33 U63(mark(x0), x1, x2) 177.33/63.33 U63(x0, mark(x1), x2) 177.33/63.33 U63(x0, x1, mark(x2)) 177.33/63.33 U63(active(x0), x1, x2) 177.33/63.33 U63(x0, active(x1), x2) 177.33/63.33 U63(x0, x1, active(x2)) 177.33/63.33 U64(mark(x0), x1, x2) 177.33/63.33 U64(x0, mark(x1), x2) 177.33/63.33 U64(x0, x1, mark(x2)) 177.33/63.33 U64(active(x0), x1, x2) 177.33/63.33 U64(x0, active(x1), x2) 177.33/63.33 U64(x0, x1, active(x2)) 177.33/63.33 s(mark(x0)) 177.33/63.33 s(active(x0)) 177.33/63.33 plus(mark(x0), x1) 177.33/63.33 plus(x0, mark(x1)) 177.33/63.33 plus(active(x0), x1) 177.33/63.33 plus(x0, active(x1)) 177.33/63.33 177.33/63.33 We have to consider all minimal (P,Q,R)-chains. 177.33/63.33 ---------------------------------------- 177.33/63.33 177.33/63.33 (234) UsableRulesProof (EQUIVALENT) 177.33/63.33 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. 177.33/63.33 ---------------------------------------- 177.33/63.33 177.33/63.33 (235) 177.33/63.33 Obligation: 177.33/63.33 Q DP problem: 177.33/63.33 The TRS P consists of the following rules: 177.33/63.33 177.33/63.33 MARK(U16(X)) -> MARK(X) 177.33/63.33 MARK(U32(X)) -> MARK(X) 177.33/63.33 MARK(U31(X1, X2)) -> MARK(X1) 177.33/63.33 MARK(U41(X)) -> MARK(X) 177.33/63.33 177.33/63.33 R is empty. 177.33/63.33 The set Q consists of the following terms: 177.33/63.33 177.33/63.33 active(U11(tt, x0, x1)) 177.33/63.33 active(U12(tt, x0, x1)) 177.33/63.33 active(U13(tt, x0, x1)) 177.33/63.33 active(U14(tt, x0, x1)) 177.33/63.33 active(U15(tt, x0)) 177.33/63.33 active(U16(tt)) 177.33/63.33 active(U21(tt, x0)) 177.33/63.33 active(U22(tt, x0)) 177.33/63.33 active(U23(tt)) 177.33/63.33 active(U31(tt, x0)) 177.33/63.33 active(U32(tt)) 177.33/63.33 active(U41(tt)) 177.33/63.33 active(U51(tt, x0)) 177.33/63.33 active(U52(tt, x0)) 177.33/63.33 active(U61(tt, x0, x1)) 177.33/63.33 active(U62(tt, x0, x1)) 177.33/63.33 active(U63(tt, x0, x1)) 177.33/63.33 active(U64(tt, x0, x1)) 177.33/63.33 active(isNat(0)) 177.33/63.33 active(isNat(plus(x0, x1))) 177.33/63.33 active(isNat(s(x0))) 177.33/63.33 active(isNatKind(0)) 177.33/63.33 active(isNatKind(plus(x0, x1))) 177.33/63.33 active(isNatKind(s(x0))) 177.33/63.33 active(plus(x0, 0)) 177.33/63.33 active(plus(x0, s(x1))) 177.33/63.33 mark(U11(x0, x1, x2)) 177.33/63.33 mark(tt) 177.33/63.33 mark(U12(x0, x1, x2)) 177.33/63.33 mark(isNatKind(x0)) 177.33/63.33 mark(U13(x0, x1, x2)) 177.33/63.33 mark(U14(x0, x1, x2)) 177.33/63.33 mark(U15(x0, x1)) 177.33/63.33 mark(isNat(x0)) 177.33/63.33 mark(U16(x0)) 177.33/63.33 mark(U21(x0, x1)) 177.33/63.33 mark(U22(x0, x1)) 177.33/63.33 mark(U23(x0)) 177.33/63.33 mark(U31(x0, x1)) 177.33/63.33 mark(U32(x0)) 177.33/63.33 mark(U41(x0)) 177.33/63.33 mark(U51(x0, x1)) 177.33/63.33 mark(U52(x0, x1)) 177.33/63.33 mark(U61(x0, x1, x2)) 177.33/63.33 mark(U62(x0, x1, x2)) 177.33/63.33 mark(U63(x0, x1, x2)) 177.33/63.33 mark(U64(x0, x1, x2)) 177.33/63.33 mark(s(x0)) 177.33/63.33 mark(plus(x0, x1)) 177.33/63.33 mark(0) 177.33/63.33 U11(mark(x0), x1, x2) 177.33/63.33 U11(x0, mark(x1), x2) 177.33/63.33 U11(x0, x1, mark(x2)) 177.33/63.33 U11(active(x0), x1, x2) 177.33/63.33 U11(x0, active(x1), x2) 177.33/63.33 U11(x0, x1, active(x2)) 177.33/63.33 U12(mark(x0), x1, x2) 177.33/63.33 U12(x0, mark(x1), x2) 177.33/63.33 U12(x0, x1, mark(x2)) 177.33/63.33 U12(active(x0), x1, x2) 177.33/63.33 U12(x0, active(x1), x2) 177.33/63.33 U12(x0, x1, active(x2)) 177.33/63.33 isNatKind(mark(x0)) 177.33/63.33 isNatKind(active(x0)) 177.33/63.33 U13(mark(x0), x1, x2) 177.33/63.33 U13(x0, mark(x1), x2) 177.33/63.33 U13(x0, x1, mark(x2)) 177.33/63.33 U13(active(x0), x1, x2) 177.33/63.33 U13(x0, active(x1), x2) 177.33/63.33 U13(x0, x1, active(x2)) 177.33/63.33 U14(mark(x0), x1, x2) 177.33/63.33 U14(x0, mark(x1), x2) 177.33/63.33 U14(x0, x1, mark(x2)) 177.33/63.33 U14(active(x0), x1, x2) 177.33/63.33 U14(x0, active(x1), x2) 177.33/63.33 U14(x0, x1, active(x2)) 177.33/63.33 U15(mark(x0), x1) 177.33/63.33 U15(x0, mark(x1)) 177.33/63.33 U15(active(x0), x1) 177.33/63.33 U15(x0, active(x1)) 177.33/63.33 isNat(mark(x0)) 177.33/63.33 isNat(active(x0)) 177.33/63.33 U16(mark(x0)) 177.33/63.33 U16(active(x0)) 177.33/63.33 U21(mark(x0), x1) 177.33/63.33 U21(x0, mark(x1)) 177.33/63.33 U21(active(x0), x1) 177.33/63.33 U21(x0, active(x1)) 177.33/63.33 U22(mark(x0), x1) 177.33/63.33 U22(x0, mark(x1)) 177.33/63.33 U22(active(x0), x1) 177.33/63.33 U22(x0, active(x1)) 177.33/63.33 U23(mark(x0)) 177.33/63.33 U23(active(x0)) 177.33/63.33 U31(mark(x0), x1) 177.33/63.33 U31(x0, mark(x1)) 177.33/63.33 U31(active(x0), x1) 177.33/63.33 U31(x0, active(x1)) 177.33/63.33 U32(mark(x0)) 177.33/63.33 U32(active(x0)) 177.33/63.33 U41(mark(x0)) 177.33/63.33 U41(active(x0)) 177.33/63.33 U51(mark(x0), x1) 177.33/63.33 U51(x0, mark(x1)) 177.33/63.33 U51(active(x0), x1) 177.33/63.33 U51(x0, active(x1)) 177.33/63.33 U52(mark(x0), x1) 177.33/63.33 U52(x0, mark(x1)) 177.33/63.33 U52(active(x0), x1) 177.33/63.33 U52(x0, active(x1)) 177.33/63.33 U61(mark(x0), x1, x2) 177.33/63.33 U61(x0, mark(x1), x2) 177.33/63.33 U61(x0, x1, mark(x2)) 177.33/63.33 U61(active(x0), x1, x2) 177.33/63.33 U61(x0, active(x1), x2) 177.33/63.33 U61(x0, x1, active(x2)) 177.33/63.33 U62(mark(x0), x1, x2) 177.33/63.33 U62(x0, mark(x1), x2) 177.33/63.33 U62(x0, x1, mark(x2)) 177.33/63.33 U62(active(x0), x1, x2) 177.33/63.33 U62(x0, active(x1), x2) 177.33/63.33 U62(x0, x1, active(x2)) 177.33/63.33 U63(mark(x0), x1, x2) 177.33/63.33 U63(x0, mark(x1), x2) 177.33/63.33 U63(x0, x1, mark(x2)) 177.33/63.33 U63(active(x0), x1, x2) 177.33/63.33 U63(x0, active(x1), x2) 177.33/63.33 U63(x0, x1, active(x2)) 177.33/63.33 U64(mark(x0), x1, x2) 177.33/63.33 U64(x0, mark(x1), x2) 177.33/63.33 U64(x0, x1, mark(x2)) 177.33/63.33 U64(active(x0), x1, x2) 177.33/63.33 U64(x0, active(x1), x2) 177.33/63.33 U64(x0, x1, active(x2)) 177.33/63.33 s(mark(x0)) 177.33/63.33 s(active(x0)) 177.33/63.33 plus(mark(x0), x1) 177.33/63.33 plus(x0, mark(x1)) 177.33/63.33 plus(active(x0), x1) 177.33/63.33 plus(x0, active(x1)) 177.33/63.33 177.33/63.33 We have to consider all minimal (P,Q,R)-chains. 177.33/63.33 ---------------------------------------- 177.33/63.33 177.33/63.33 (236) QReductionProof (EQUIVALENT) 177.33/63.33 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 177.33/63.33 177.33/63.33 active(U11(tt, x0, x1)) 177.33/63.33 active(U12(tt, x0, x1)) 177.33/63.33 active(U13(tt, x0, x1)) 177.33/63.33 active(U14(tt, x0, x1)) 177.33/63.33 active(U15(tt, x0)) 177.33/63.33 active(U16(tt)) 177.33/63.33 active(U21(tt, x0)) 177.33/63.33 active(U22(tt, x0)) 177.33/63.33 active(U23(tt)) 177.33/63.33 active(U31(tt, x0)) 177.33/63.33 active(U32(tt)) 177.33/63.33 active(U41(tt)) 177.33/63.33 active(U51(tt, x0)) 177.33/63.33 active(U52(tt, x0)) 177.33/63.33 active(U61(tt, x0, x1)) 177.33/63.33 active(U62(tt, x0, x1)) 177.33/63.33 active(U63(tt, x0, x1)) 177.33/63.33 active(U64(tt, x0, x1)) 177.33/63.33 active(isNat(0)) 177.33/63.33 active(isNat(plus(x0, x1))) 177.33/63.33 active(isNat(s(x0))) 177.33/63.33 active(isNatKind(0)) 177.33/63.33 active(isNatKind(plus(x0, x1))) 177.33/63.33 active(isNatKind(s(x0))) 177.33/63.33 active(plus(x0, 0)) 177.33/63.33 active(plus(x0, s(x1))) 177.33/63.33 mark(U11(x0, x1, x2)) 177.33/63.33 mark(tt) 177.33/63.33 mark(U12(x0, x1, x2)) 177.33/63.33 mark(isNatKind(x0)) 177.33/63.33 mark(U13(x0, x1, x2)) 177.33/63.33 mark(U14(x0, x1, x2)) 177.33/63.33 mark(U15(x0, x1)) 177.33/63.33 mark(isNat(x0)) 177.33/63.33 mark(U16(x0)) 177.33/63.33 mark(U21(x0, x1)) 177.33/63.33 mark(U22(x0, x1)) 177.33/63.33 mark(U23(x0)) 177.33/63.33 mark(U31(x0, x1)) 177.33/63.33 mark(U32(x0)) 177.33/63.33 mark(U41(x0)) 177.33/63.33 mark(U51(x0, x1)) 177.33/63.33 mark(U52(x0, x1)) 177.33/63.33 mark(U61(x0, x1, x2)) 177.33/63.33 mark(U62(x0, x1, x2)) 177.33/63.33 mark(U63(x0, x1, x2)) 177.33/63.33 mark(U64(x0, x1, x2)) 177.33/63.33 mark(s(x0)) 177.33/63.33 mark(plus(x0, x1)) 177.33/63.33 mark(0) 177.33/63.33 U11(mark(x0), x1, x2) 177.33/63.33 U11(x0, mark(x1), x2) 177.33/63.33 U11(x0, x1, mark(x2)) 177.33/63.33 U11(active(x0), x1, x2) 177.33/63.33 U11(x0, active(x1), x2) 177.33/63.33 U11(x0, x1, active(x2)) 177.33/63.33 U12(mark(x0), x1, x2) 177.33/63.33 U12(x0, mark(x1), x2) 177.33/63.33 U12(x0, x1, mark(x2)) 177.33/63.33 U12(active(x0), x1, x2) 177.33/63.33 U12(x0, active(x1), x2) 177.33/63.33 U12(x0, x1, active(x2)) 177.33/63.33 isNatKind(mark(x0)) 177.33/63.33 isNatKind(active(x0)) 177.33/63.33 U13(mark(x0), x1, x2) 177.33/63.33 U13(x0, mark(x1), x2) 177.33/63.33 U13(x0, x1, mark(x2)) 177.33/63.33 U13(active(x0), x1, x2) 177.33/63.33 U13(x0, active(x1), x2) 177.33/63.33 U13(x0, x1, active(x2)) 177.33/63.33 U14(mark(x0), x1, x2) 177.33/63.33 U14(x0, mark(x1), x2) 177.33/63.33 U14(x0, x1, mark(x2)) 177.33/63.33 U14(active(x0), x1, x2) 177.33/63.33 U14(x0, active(x1), x2) 177.33/63.33 U14(x0, x1, active(x2)) 177.33/63.33 U15(mark(x0), x1) 177.33/63.33 U15(x0, mark(x1)) 177.33/63.33 U15(active(x0), x1) 177.33/63.33 U15(x0, active(x1)) 177.33/63.33 isNat(mark(x0)) 177.33/63.33 isNat(active(x0)) 177.33/63.33 U21(mark(x0), x1) 177.33/63.33 U21(x0, mark(x1)) 177.33/63.33 U21(active(x0), x1) 177.33/63.33 U21(x0, active(x1)) 177.33/63.33 U22(mark(x0), x1) 177.33/63.33 U22(x0, mark(x1)) 177.33/63.33 U22(active(x0), x1) 177.33/63.33 U22(x0, active(x1)) 177.33/63.33 U23(mark(x0)) 177.33/63.33 U23(active(x0)) 177.33/63.33 U51(mark(x0), x1) 177.33/63.33 U51(x0, mark(x1)) 177.33/63.33 U51(active(x0), x1) 177.33/63.33 U51(x0, active(x1)) 177.33/63.33 U52(mark(x0), x1) 177.33/63.33 U52(x0, mark(x1)) 177.33/63.33 U52(active(x0), x1) 177.33/63.33 U52(x0, active(x1)) 177.33/63.33 U61(mark(x0), x1, x2) 177.33/63.33 U61(x0, mark(x1), x2) 177.33/63.33 U61(x0, x1, mark(x2)) 177.33/63.33 U61(active(x0), x1, x2) 177.33/63.33 U61(x0, active(x1), x2) 177.33/63.33 U61(x0, x1, active(x2)) 177.33/63.33 U62(mark(x0), x1, x2) 177.33/63.33 U62(x0, mark(x1), x2) 177.33/63.33 U62(x0, x1, mark(x2)) 177.33/63.33 U62(active(x0), x1, x2) 177.33/63.33 U62(x0, active(x1), x2) 177.33/63.33 U62(x0, x1, active(x2)) 177.33/63.33 U63(mark(x0), x1, x2) 177.33/63.33 U63(x0, mark(x1), x2) 177.33/63.33 U63(x0, x1, mark(x2)) 177.33/63.33 U63(active(x0), x1, x2) 177.33/63.33 U63(x0, active(x1), x2) 177.33/63.33 U63(x0, x1, active(x2)) 177.33/63.33 U64(mark(x0), x1, x2) 177.33/63.33 U64(x0, mark(x1), x2) 177.33/63.33 U64(x0, x1, mark(x2)) 177.33/63.33 U64(active(x0), x1, x2) 177.33/63.33 U64(x0, active(x1), x2) 177.33/63.33 U64(x0, x1, active(x2)) 177.33/63.33 s(mark(x0)) 177.33/63.33 s(active(x0)) 177.33/63.33 plus(mark(x0), x1) 177.33/63.33 plus(x0, mark(x1)) 177.33/63.33 plus(active(x0), x1) 177.33/63.33 plus(x0, active(x1)) 177.33/63.33 177.33/63.33 177.33/63.33 ---------------------------------------- 177.33/63.33 177.33/63.33 (237) 177.33/63.33 Obligation: 177.33/63.33 Q DP problem: 177.33/63.33 The TRS P consists of the following rules: 177.33/63.33 177.33/63.33 MARK(U16(X)) -> MARK(X) 177.33/63.33 MARK(U32(X)) -> MARK(X) 177.33/63.33 MARK(U31(X1, X2)) -> MARK(X1) 177.33/63.33 MARK(U41(X)) -> MARK(X) 177.33/63.33 177.33/63.33 R is empty. 177.33/63.33 The set Q consists of the following terms: 177.33/63.33 177.33/63.33 U16(mark(x0)) 177.33/63.33 U16(active(x0)) 177.33/63.33 U31(mark(x0), x1) 177.33/63.33 U31(x0, mark(x1)) 177.33/63.33 U31(active(x0), x1) 177.33/63.33 U31(x0, active(x1)) 177.33/63.33 U32(mark(x0)) 177.33/63.33 U32(active(x0)) 177.33/63.33 U41(mark(x0)) 177.33/63.33 U41(active(x0)) 177.33/63.33 177.33/63.33 We have to consider all minimal (P,Q,R)-chains. 177.33/63.33 ---------------------------------------- 177.33/63.33 177.33/63.33 (238) QDPSizeChangeProof (EQUIVALENT) 177.33/63.33 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. 177.33/63.33 177.33/63.33 From the DPs we obtained the following set of size-change graphs: 177.33/63.33 *MARK(U16(X)) -> MARK(X) 177.33/63.33 The graph contains the following edges 1 > 1 177.33/63.33 177.33/63.33 177.33/63.33 *MARK(U32(X)) -> MARK(X) 177.33/63.33 The graph contains the following edges 1 > 1 177.33/63.33 177.33/63.33 177.33/63.33 *MARK(U31(X1, X2)) -> MARK(X1) 177.33/63.33 The graph contains the following edges 1 > 1 177.33/63.33 177.33/63.33 177.33/63.33 *MARK(U41(X)) -> MARK(X) 177.33/63.33 The graph contains the following edges 1 > 1 177.33/63.33 177.33/63.33 177.33/63.33 ---------------------------------------- 177.33/63.33 177.33/63.33 (239) 177.33/63.33 YES 177.33/63.35 EOF