MAYBE proof of /export/starexec/sandbox2/benchmark/theBenchmark.pl # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty Left Termination of the query pattern ackermann(g,a,g) w.r.t. the given Prolog program could not be shown: (0) Prolog (1) PrologToPiTRSProof [SOUND, 0 ms] (2) PiTRS (3) DependencyPairsProof [EQUIVALENT, 4 ms] (4) PiDP (5) DependencyGraphProof [EQUIVALENT, 0 ms] (6) AND (7) PiDP (8) UsableRulesProof [EQUIVALENT, 0 ms] (9) PiDP (10) PiDPToQDPProof [SOUND, 13 ms] (11) QDP (12) QDPSizeChangeProof [EQUIVALENT, 0 ms] (13) YES (14) PiDP (15) UsableRulesProof [EQUIVALENT, 0 ms] (16) PiDP (17) PiDPToQDPProof [SOUND, 3 ms] (18) QDP (19) QDPOrderProof [EQUIVALENT, 58 ms] (20) QDP (21) DependencyGraphProof [EQUIVALENT, 0 ms] (22) QDP (23) UsableRulesProof [EQUIVALENT, 0 ms] (24) QDP (25) QReductionProof [EQUIVALENT, 0 ms] (26) QDP (27) NonTerminationLoopProof [COMPLETE, 0 ms] (28) NO (29) PiDP (30) UsableRulesProof [EQUIVALENT, 0 ms] (31) PiDP (32) PiDPToQDPProof [SOUND, 0 ms] (33) QDP (34) QDPSizeChangeProof [EQUIVALENT, 0 ms] (35) YES (36) PiDP (37) UsableRulesProof [EQUIVALENT, 0 ms] (38) PiDP (39) PiDPToQDPProof [SOUND, 0 ms] (40) QDP (41) QDPSizeChangeProof [EQUIVALENT, 0 ms] (42) YES (43) PrologToPiTRSProof [SOUND, 0 ms] (44) PiTRS (45) DependencyPairsProof [EQUIVALENT, 0 ms] (46) PiDP (47) DependencyGraphProof [EQUIVALENT, 0 ms] (48) AND (49) PiDP (50) UsableRulesProof [EQUIVALENT, 0 ms] (51) PiDP (52) PiDPToQDPProof [SOUND, 5 ms] (53) QDP (54) QDPSizeChangeProof [EQUIVALENT, 0 ms] (55) YES (56) PiDP (57) UsableRulesProof [EQUIVALENT, 0 ms] (58) PiDP (59) PiDPToQDPProof [SOUND, 0 ms] (60) QDP (61) QDPQMonotonicMRRProof [EQUIVALENT, 46 ms] (62) QDP (63) UsableRulesProof [EQUIVALENT, 0 ms] (64) QDP (65) QReductionProof [EQUIVALENT, 0 ms] (66) QDP (67) NonTerminationLoopProof [COMPLETE, 0 ms] (68) NO (69) PiDP (70) UsableRulesProof [EQUIVALENT, 0 ms] (71) PiDP (72) PiDPToQDPProof [SOUND, 0 ms] (73) QDP (74) QDPSizeChangeProof [EQUIVALENT, 0 ms] (75) YES (76) PiDP (77) UsableRulesProof [EQUIVALENT, 0 ms] (78) PiDP (79) PiDPToQDPProof [SOUND, 0 ms] (80) QDP (81) QDPSizeChangeProof [EQUIVALENT, 0 ms] (82) YES (83) PrologToTRSTransformerProof [SOUND, 38 ms] (84) QTRS (85) DependencyPairsProof [EQUIVALENT, 0 ms] (86) QDP (87) DependencyGraphProof [EQUIVALENT, 0 ms] (88) AND (89) QDP (90) QDPOrderProof [EQUIVALENT, 80 ms] (91) QDP (92) DependencyGraphProof [EQUIVALENT, 0 ms] (93) QDP (94) QDPOrderProof [EQUIVALENT, 58 ms] (95) QDP (96) DependencyGraphProof [EQUIVALENT, 0 ms] (97) QDP (98) UsableRulesProof [EQUIVALENT, 0 ms] (99) QDP (100) QDPSizeChangeProof [EQUIVALENT, 0 ms] (101) YES (102) QDP (103) QDPOrderProof [EQUIVALENT, 40 ms] (104) QDP (105) DependencyGraphProof [EQUIVALENT, 0 ms] (106) QDP (107) UsableRulesProof [EQUIVALENT, 0 ms] (108) QDP (109) NonTerminationLoopProof [COMPLETE, 0 ms] (110) NO (111) QDP (112) QDPSizeChangeProof [EQUIVALENT, 0 ms] (113) YES (114) QDP (115) QDPSizeChangeProof [EQUIVALENT, 0 ms] (116) YES (117) PrologToDTProblemTransformerProof [SOUND, 40 ms] (118) TRIPLES (119) TriplesToPiDPProof [SOUND, 56 ms] (120) PiDP (121) DependencyGraphProof [EQUIVALENT, 0 ms] (122) AND (123) PiDP (124) UsableRulesProof [EQUIVALENT, 0 ms] (125) PiDP (126) PiDPToQDPProof [SOUND, 0 ms] (127) QDP (128) QDPSizeChangeProof [EQUIVALENT, 0 ms] (129) YES (130) PiDP (131) UsableRulesProof [EQUIVALENT, 0 ms] (132) PiDP (133) PiDPToQDPProof [SOUND, 0 ms] (134) QDP (135) QDPSizeChangeProof [EQUIVALENT, 0 ms] (136) YES (137) PiDP (138) UsableRulesProof [EQUIVALENT, 0 ms] (139) PiDP (140) PiDPToQDPProof [SOUND, 0 ms] (141) QDP (142) NonTerminationLoopProof [COMPLETE, 0 ms] (143) NO (144) PiDP (145) UsableRulesProof [EQUIVALENT, 0 ms] (146) PiDP (147) PiDPToQDPProof [SOUND, 0 ms] (148) QDP (149) QDPSizeChangeProof [EQUIVALENT, 0 ms] (150) YES (151) PrologToIRSwTTransformerProof [SOUND, 86 ms] (152) AND (153) IRSwT (154) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] (155) IRSwT (156) IntTRSCompressionProof [EQUIVALENT, 20 ms] (157) IRSwT (158) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (159) IRSwT (160) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] (161) IRSwT (162) TempFilterProof [SOUND, 3 ms] (163) IRSwT (164) IRSwTToQDPProof [SOUND, 0 ms] (165) QDP (166) QDPSizeChangeProof [EQUIVALENT, 0 ms] (167) YES (168) IRSwT (169) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] (170) IRSwT (171) IntTRSCompressionProof [EQUIVALENT, 0 ms] (172) IRSwT (173) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (174) IRSwT (175) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] (176) IRSwT (177) FilterProof [EQUIVALENT, 0 ms] (178) IntTRS (179) IntTRSNonPeriodicNontermProof [COMPLETE, 4 ms] (180) NO (181) IRSwT (182) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] (183) IRSwT (184) IntTRSCompressionProof [EQUIVALENT, 31 ms] (185) IRSwT (186) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (187) IRSwT (188) IRSwT ---------------------------------------- (0) Obligation: Clauses: ackermann(0, N, s(N)). ackermann(s(M), 0, Val) :- ackermann(M, s(0), Val). ackermann(s(M), s(N), Val) :- ','(ackermann(s(M), N, Val1), ackermann(M, Val1, Val)). Query: ackermann(g,a,g) ---------------------------------------- (1) PrologToPiTRSProof (SOUND) We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: ackermann_in_3: (b,f,b) (b,b,b) (b,b,f) (b,f,f) Transforming Prolog into the following Term Rewriting System: Pi-finite rewrite system: The TRS R consists of the following rules: ackermann_in_gag(0, N, s(N)) -> ackermann_out_gag(0, N, s(N)) ackermann_in_gag(s(M), 0, Val) -> U1_gag(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(0, N, s(N)) -> ackermann_out_ggg(0, N, s(N)) ackermann_in_ggg(s(M), 0, Val) -> U1_ggg(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(s(M), s(N), Val) -> U2_ggg(M, N, Val, ackermann_in_gga(s(M), N, Val1)) ackermann_in_gga(0, N, s(N)) -> ackermann_out_gga(0, N, s(N)) ackermann_in_gga(s(M), 0, Val) -> U1_gga(M, Val, ackermann_in_gga(M, s(0), Val)) ackermann_in_gga(s(M), s(N), Val) -> U2_gga(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U2_gga(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_gga(M, N, Val, ackermann_in_gga(M, Val1, Val)) U3_gga(M, N, Val, ackermann_out_gga(M, Val1, Val)) -> ackermann_out_gga(s(M), s(N), Val) U1_gga(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gga(s(M), 0, Val) U2_ggg(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_ggg(M, N, Val, ackermann_in_ggg(M, Val1, Val)) U3_ggg(M, N, Val, ackermann_out_ggg(M, Val1, Val)) -> ackermann_out_ggg(s(M), s(N), Val) U1_ggg(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_ggg(s(M), 0, Val) U1_gag(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_gag(s(M), 0, Val) ackermann_in_gag(s(M), s(N), Val) -> U2_gag(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) ackermann_in_gaa(0, N, s(N)) -> ackermann_out_gaa(0, N, s(N)) ackermann_in_gaa(s(M), 0, Val) -> U1_gaa(M, Val, ackermann_in_gga(M, s(0), Val)) U1_gaa(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gaa(s(M), 0, Val) ackermann_in_gaa(s(M), s(N), Val) -> U2_gaa(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) U2_gaa(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gaa(M, N, Val, ackermann_in_gaa(M, Val1, Val)) U3_gaa(M, N, Val, ackermann_out_gaa(M, Val1, Val)) -> ackermann_out_gaa(s(M), s(N), Val) U2_gag(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gag(M, N, Val, ackermann_in_gag(M, Val1, Val)) U3_gag(M, N, Val, ackermann_out_gag(M, Val1, Val)) -> ackermann_out_gag(s(M), s(N), Val) The argument filtering Pi contains the following mapping: ackermann_in_gag(x1, x2, x3) = ackermann_in_gag(x1, x3) 0 = 0 s(x1) = s(x1) ackermann_out_gag(x1, x2, x3) = ackermann_out_gag U1_gag(x1, x2, x3) = U1_gag(x3) ackermann_in_ggg(x1, x2, x3) = ackermann_in_ggg(x1, x2, x3) ackermann_out_ggg(x1, x2, x3) = ackermann_out_ggg U1_ggg(x1, x2, x3) = U1_ggg(x3) U2_ggg(x1, x2, x3, x4) = U2_ggg(x1, x3, x4) ackermann_in_gga(x1, x2, x3) = ackermann_in_gga(x1, x2) ackermann_out_gga(x1, x2, x3) = ackermann_out_gga(x3) U1_gga(x1, x2, x3) = U1_gga(x3) U2_gga(x1, x2, x3, x4) = U2_gga(x1, x4) U3_gga(x1, x2, x3, x4) = U3_gga(x4) U3_ggg(x1, x2, x3, x4) = U3_ggg(x4) U2_gag(x1, x2, x3, x4) = U2_gag(x1, x3, x4) ackermann_in_gaa(x1, x2, x3) = ackermann_in_gaa(x1) ackermann_out_gaa(x1, x2, x3) = ackermann_out_gaa U1_gaa(x1, x2, x3) = U1_gaa(x3) U2_gaa(x1, x2, x3, x4) = U2_gaa(x1, x4) U3_gaa(x1, x2, x3, x4) = U3_gaa(x4) U3_gag(x1, x2, x3, x4) = U3_gag(x4) Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog ---------------------------------------- (2) Obligation: Pi-finite rewrite system: The TRS R consists of the following rules: ackermann_in_gag(0, N, s(N)) -> ackermann_out_gag(0, N, s(N)) ackermann_in_gag(s(M), 0, Val) -> U1_gag(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(0, N, s(N)) -> ackermann_out_ggg(0, N, s(N)) ackermann_in_ggg(s(M), 0, Val) -> U1_ggg(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(s(M), s(N), Val) -> U2_ggg(M, N, Val, ackermann_in_gga(s(M), N, Val1)) ackermann_in_gga(0, N, s(N)) -> ackermann_out_gga(0, N, s(N)) ackermann_in_gga(s(M), 0, Val) -> U1_gga(M, Val, ackermann_in_gga(M, s(0), Val)) ackermann_in_gga(s(M), s(N), Val) -> U2_gga(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U2_gga(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_gga(M, N, Val, ackermann_in_gga(M, Val1, Val)) U3_gga(M, N, Val, ackermann_out_gga(M, Val1, Val)) -> ackermann_out_gga(s(M), s(N), Val) U1_gga(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gga(s(M), 0, Val) U2_ggg(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_ggg(M, N, Val, ackermann_in_ggg(M, Val1, Val)) U3_ggg(M, N, Val, ackermann_out_ggg(M, Val1, Val)) -> ackermann_out_ggg(s(M), s(N), Val) U1_ggg(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_ggg(s(M), 0, Val) U1_gag(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_gag(s(M), 0, Val) ackermann_in_gag(s(M), s(N), Val) -> U2_gag(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) ackermann_in_gaa(0, N, s(N)) -> ackermann_out_gaa(0, N, s(N)) ackermann_in_gaa(s(M), 0, Val) -> U1_gaa(M, Val, ackermann_in_gga(M, s(0), Val)) U1_gaa(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gaa(s(M), 0, Val) ackermann_in_gaa(s(M), s(N), Val) -> U2_gaa(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) U2_gaa(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gaa(M, N, Val, ackermann_in_gaa(M, Val1, Val)) U3_gaa(M, N, Val, ackermann_out_gaa(M, Val1, Val)) -> ackermann_out_gaa(s(M), s(N), Val) U2_gag(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gag(M, N, Val, ackermann_in_gag(M, Val1, Val)) U3_gag(M, N, Val, ackermann_out_gag(M, Val1, Val)) -> ackermann_out_gag(s(M), s(N), Val) The argument filtering Pi contains the following mapping: ackermann_in_gag(x1, x2, x3) = ackermann_in_gag(x1, x3) 0 = 0 s(x1) = s(x1) ackermann_out_gag(x1, x2, x3) = ackermann_out_gag U1_gag(x1, x2, x3) = U1_gag(x3) ackermann_in_ggg(x1, x2, x3) = ackermann_in_ggg(x1, x2, x3) ackermann_out_ggg(x1, x2, x3) = ackermann_out_ggg U1_ggg(x1, x2, x3) = U1_ggg(x3) U2_ggg(x1, x2, x3, x4) = U2_ggg(x1, x3, x4) ackermann_in_gga(x1, x2, x3) = ackermann_in_gga(x1, x2) ackermann_out_gga(x1, x2, x3) = ackermann_out_gga(x3) U1_gga(x1, x2, x3) = U1_gga(x3) U2_gga(x1, x2, x3, x4) = U2_gga(x1, x4) U3_gga(x1, x2, x3, x4) = U3_gga(x4) U3_ggg(x1, x2, x3, x4) = U3_ggg(x4) U2_gag(x1, x2, x3, x4) = U2_gag(x1, x3, x4) ackermann_in_gaa(x1, x2, x3) = ackermann_in_gaa(x1) ackermann_out_gaa(x1, x2, x3) = ackermann_out_gaa U1_gaa(x1, x2, x3) = U1_gaa(x3) U2_gaa(x1, x2, x3, x4) = U2_gaa(x1, x4) U3_gaa(x1, x2, x3, x4) = U3_gaa(x4) U3_gag(x1, x2, x3, x4) = U3_gag(x4) ---------------------------------------- (3) DependencyPairsProof (EQUIVALENT) Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: Pi DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GAG(s(M), 0, Val) -> U1_GAG(M, Val, ackermann_in_ggg(M, s(0), Val)) ACKERMANN_IN_GAG(s(M), 0, Val) -> ACKERMANN_IN_GGG(M, s(0), Val) ACKERMANN_IN_GGG(s(M), 0, Val) -> U1_GGG(M, Val, ackermann_in_ggg(M, s(0), Val)) ACKERMANN_IN_GGG(s(M), 0, Val) -> ACKERMANN_IN_GGG(M, s(0), Val) ACKERMANN_IN_GGG(s(M), s(N), Val) -> U2_GGG(M, N, Val, ackermann_in_gga(s(M), N, Val1)) ACKERMANN_IN_GGG(s(M), s(N), Val) -> ACKERMANN_IN_GGA(s(M), N, Val1) ACKERMANN_IN_GGA(s(M), 0, Val) -> U1_GGA(M, Val, ackermann_in_gga(M, s(0), Val)) ACKERMANN_IN_GGA(s(M), 0, Val) -> ACKERMANN_IN_GGA(M, s(0), Val) ACKERMANN_IN_GGA(s(M), s(N), Val) -> U2_GGA(M, N, Val, ackermann_in_gga(s(M), N, Val1)) ACKERMANN_IN_GGA(s(M), s(N), Val) -> ACKERMANN_IN_GGA(s(M), N, Val1) U2_GGA(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_GGA(M, N, Val, ackermann_in_gga(M, Val1, Val)) U2_GGA(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> ACKERMANN_IN_GGA(M, Val1, Val) U2_GGG(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_GGG(M, N, Val, ackermann_in_ggg(M, Val1, Val)) U2_GGG(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> ACKERMANN_IN_GGG(M, Val1, Val) ACKERMANN_IN_GAG(s(M), s(N), Val) -> U2_GAG(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) ACKERMANN_IN_GAG(s(M), s(N), Val) -> ACKERMANN_IN_GAA(s(M), N, Val1) ACKERMANN_IN_GAA(s(M), 0, Val) -> U1_GAA(M, Val, ackermann_in_gga(M, s(0), Val)) ACKERMANN_IN_GAA(s(M), 0, Val) -> ACKERMANN_IN_GGA(M, s(0), Val) ACKERMANN_IN_GAA(s(M), s(N), Val) -> U2_GAA(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) ACKERMANN_IN_GAA(s(M), s(N), Val) -> ACKERMANN_IN_GAA(s(M), N, Val1) U2_GAA(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_GAA(M, N, Val, ackermann_in_gaa(M, Val1, Val)) U2_GAA(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> ACKERMANN_IN_GAA(M, Val1, Val) U2_GAG(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_GAG(M, N, Val, ackermann_in_gag(M, Val1, Val)) U2_GAG(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> ACKERMANN_IN_GAG(M, Val1, Val) The TRS R consists of the following rules: ackermann_in_gag(0, N, s(N)) -> ackermann_out_gag(0, N, s(N)) ackermann_in_gag(s(M), 0, Val) -> U1_gag(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(0, N, s(N)) -> ackermann_out_ggg(0, N, s(N)) ackermann_in_ggg(s(M), 0, Val) -> U1_ggg(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(s(M), s(N), Val) -> U2_ggg(M, N, Val, ackermann_in_gga(s(M), N, Val1)) ackermann_in_gga(0, N, s(N)) -> ackermann_out_gga(0, N, s(N)) ackermann_in_gga(s(M), 0, Val) -> U1_gga(M, Val, ackermann_in_gga(M, s(0), Val)) ackermann_in_gga(s(M), s(N), Val) -> U2_gga(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U2_gga(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_gga(M, N, Val, ackermann_in_gga(M, Val1, Val)) U3_gga(M, N, Val, ackermann_out_gga(M, Val1, Val)) -> ackermann_out_gga(s(M), s(N), Val) U1_gga(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gga(s(M), 0, Val) U2_ggg(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_ggg(M, N, Val, ackermann_in_ggg(M, Val1, Val)) U3_ggg(M, N, Val, ackermann_out_ggg(M, Val1, Val)) -> ackermann_out_ggg(s(M), s(N), Val) U1_ggg(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_ggg(s(M), 0, Val) U1_gag(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_gag(s(M), 0, Val) ackermann_in_gag(s(M), s(N), Val) -> U2_gag(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) ackermann_in_gaa(0, N, s(N)) -> ackermann_out_gaa(0, N, s(N)) ackermann_in_gaa(s(M), 0, Val) -> U1_gaa(M, Val, ackermann_in_gga(M, s(0), Val)) U1_gaa(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gaa(s(M), 0, Val) ackermann_in_gaa(s(M), s(N), Val) -> U2_gaa(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) U2_gaa(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gaa(M, N, Val, ackermann_in_gaa(M, Val1, Val)) U3_gaa(M, N, Val, ackermann_out_gaa(M, Val1, Val)) -> ackermann_out_gaa(s(M), s(N), Val) U2_gag(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gag(M, N, Val, ackermann_in_gag(M, Val1, Val)) U3_gag(M, N, Val, ackermann_out_gag(M, Val1, Val)) -> ackermann_out_gag(s(M), s(N), Val) The argument filtering Pi contains the following mapping: ackermann_in_gag(x1, x2, x3) = ackermann_in_gag(x1, x3) 0 = 0 s(x1) = s(x1) ackermann_out_gag(x1, x2, x3) = ackermann_out_gag U1_gag(x1, x2, x3) = U1_gag(x3) ackermann_in_ggg(x1, x2, x3) = ackermann_in_ggg(x1, x2, x3) ackermann_out_ggg(x1, x2, x3) = ackermann_out_ggg U1_ggg(x1, x2, x3) = U1_ggg(x3) U2_ggg(x1, x2, x3, x4) = U2_ggg(x1, x3, x4) ackermann_in_gga(x1, x2, x3) = ackermann_in_gga(x1, x2) ackermann_out_gga(x1, x2, x3) = ackermann_out_gga(x3) U1_gga(x1, x2, x3) = U1_gga(x3) U2_gga(x1, x2, x3, x4) = U2_gga(x1, x4) U3_gga(x1, x2, x3, x4) = U3_gga(x4) U3_ggg(x1, x2, x3, x4) = U3_ggg(x4) U2_gag(x1, x2, x3, x4) = U2_gag(x1, x3, x4) ackermann_in_gaa(x1, x2, x3) = ackermann_in_gaa(x1) ackermann_out_gaa(x1, x2, x3) = ackermann_out_gaa U1_gaa(x1, x2, x3) = U1_gaa(x3) U2_gaa(x1, x2, x3, x4) = U2_gaa(x1, x4) U3_gaa(x1, x2, x3, x4) = U3_gaa(x4) U3_gag(x1, x2, x3, x4) = U3_gag(x4) ACKERMANN_IN_GAG(x1, x2, x3) = ACKERMANN_IN_GAG(x1, x3) U1_GAG(x1, x2, x3) = U1_GAG(x3) ACKERMANN_IN_GGG(x1, x2, x3) = ACKERMANN_IN_GGG(x1, x2, x3) U1_GGG(x1, x2, x3) = U1_GGG(x3) U2_GGG(x1, x2, x3, x4) = U2_GGG(x1, x3, x4) ACKERMANN_IN_GGA(x1, x2, x3) = ACKERMANN_IN_GGA(x1, x2) U1_GGA(x1, x2, x3) = U1_GGA(x3) U2_GGA(x1, x2, x3, x4) = U2_GGA(x1, x4) U3_GGA(x1, x2, x3, x4) = U3_GGA(x4) U3_GGG(x1, x2, x3, x4) = U3_GGG(x4) U2_GAG(x1, x2, x3, x4) = U2_GAG(x1, x3, x4) ACKERMANN_IN_GAA(x1, x2, x3) = ACKERMANN_IN_GAA(x1) U1_GAA(x1, x2, x3) = U1_GAA(x3) U2_GAA(x1, x2, x3, x4) = U2_GAA(x1, x4) U3_GAA(x1, x2, x3, x4) = U3_GAA(x4) U3_GAG(x1, x2, x3, x4) = U3_GAG(x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (4) Obligation: Pi DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GAG(s(M), 0, Val) -> U1_GAG(M, Val, ackermann_in_ggg(M, s(0), Val)) ACKERMANN_IN_GAG(s(M), 0, Val) -> ACKERMANN_IN_GGG(M, s(0), Val) ACKERMANN_IN_GGG(s(M), 0, Val) -> U1_GGG(M, Val, ackermann_in_ggg(M, s(0), Val)) ACKERMANN_IN_GGG(s(M), 0, Val) -> ACKERMANN_IN_GGG(M, s(0), Val) ACKERMANN_IN_GGG(s(M), s(N), Val) -> U2_GGG(M, N, Val, ackermann_in_gga(s(M), N, Val1)) ACKERMANN_IN_GGG(s(M), s(N), Val) -> ACKERMANN_IN_GGA(s(M), N, Val1) ACKERMANN_IN_GGA(s(M), 0, Val) -> U1_GGA(M, Val, ackermann_in_gga(M, s(0), Val)) ACKERMANN_IN_GGA(s(M), 0, Val) -> ACKERMANN_IN_GGA(M, s(0), Val) ACKERMANN_IN_GGA(s(M), s(N), Val) -> U2_GGA(M, N, Val, ackermann_in_gga(s(M), N, Val1)) ACKERMANN_IN_GGA(s(M), s(N), Val) -> ACKERMANN_IN_GGA(s(M), N, Val1) U2_GGA(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_GGA(M, N, Val, ackermann_in_gga(M, Val1, Val)) U2_GGA(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> ACKERMANN_IN_GGA(M, Val1, Val) U2_GGG(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_GGG(M, N, Val, ackermann_in_ggg(M, Val1, Val)) U2_GGG(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> ACKERMANN_IN_GGG(M, Val1, Val) ACKERMANN_IN_GAG(s(M), s(N), Val) -> U2_GAG(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) ACKERMANN_IN_GAG(s(M), s(N), Val) -> ACKERMANN_IN_GAA(s(M), N, Val1) ACKERMANN_IN_GAA(s(M), 0, Val) -> U1_GAA(M, Val, ackermann_in_gga(M, s(0), Val)) ACKERMANN_IN_GAA(s(M), 0, Val) -> ACKERMANN_IN_GGA(M, s(0), Val) ACKERMANN_IN_GAA(s(M), s(N), Val) -> U2_GAA(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) ACKERMANN_IN_GAA(s(M), s(N), Val) -> ACKERMANN_IN_GAA(s(M), N, Val1) U2_GAA(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_GAA(M, N, Val, ackermann_in_gaa(M, Val1, Val)) U2_GAA(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> ACKERMANN_IN_GAA(M, Val1, Val) U2_GAG(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_GAG(M, N, Val, ackermann_in_gag(M, Val1, Val)) U2_GAG(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> ACKERMANN_IN_GAG(M, Val1, Val) The TRS R consists of the following rules: ackermann_in_gag(0, N, s(N)) -> ackermann_out_gag(0, N, s(N)) ackermann_in_gag(s(M), 0, Val) -> U1_gag(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(0, N, s(N)) -> ackermann_out_ggg(0, N, s(N)) ackermann_in_ggg(s(M), 0, Val) -> U1_ggg(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(s(M), s(N), Val) -> U2_ggg(M, N, Val, ackermann_in_gga(s(M), N, Val1)) ackermann_in_gga(0, N, s(N)) -> ackermann_out_gga(0, N, s(N)) ackermann_in_gga(s(M), 0, Val) -> U1_gga(M, Val, ackermann_in_gga(M, s(0), Val)) ackermann_in_gga(s(M), s(N), Val) -> U2_gga(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U2_gga(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_gga(M, N, Val, ackermann_in_gga(M, Val1, Val)) U3_gga(M, N, Val, ackermann_out_gga(M, Val1, Val)) -> ackermann_out_gga(s(M), s(N), Val) U1_gga(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gga(s(M), 0, Val) U2_ggg(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_ggg(M, N, Val, ackermann_in_ggg(M, Val1, Val)) U3_ggg(M, N, Val, ackermann_out_ggg(M, Val1, Val)) -> ackermann_out_ggg(s(M), s(N), Val) U1_ggg(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_ggg(s(M), 0, Val) U1_gag(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_gag(s(M), 0, Val) ackermann_in_gag(s(M), s(N), Val) -> U2_gag(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) ackermann_in_gaa(0, N, s(N)) -> ackermann_out_gaa(0, N, s(N)) ackermann_in_gaa(s(M), 0, Val) -> U1_gaa(M, Val, ackermann_in_gga(M, s(0), Val)) U1_gaa(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gaa(s(M), 0, Val) ackermann_in_gaa(s(M), s(N), Val) -> U2_gaa(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) U2_gaa(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gaa(M, N, Val, ackermann_in_gaa(M, Val1, Val)) U3_gaa(M, N, Val, ackermann_out_gaa(M, Val1, Val)) -> ackermann_out_gaa(s(M), s(N), Val) U2_gag(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gag(M, N, Val, ackermann_in_gag(M, Val1, Val)) U3_gag(M, N, Val, ackermann_out_gag(M, Val1, Val)) -> ackermann_out_gag(s(M), s(N), Val) The argument filtering Pi contains the following mapping: ackermann_in_gag(x1, x2, x3) = ackermann_in_gag(x1, x3) 0 = 0 s(x1) = s(x1) ackermann_out_gag(x1, x2, x3) = ackermann_out_gag U1_gag(x1, x2, x3) = U1_gag(x3) ackermann_in_ggg(x1, x2, x3) = ackermann_in_ggg(x1, x2, x3) ackermann_out_ggg(x1, x2, x3) = ackermann_out_ggg U1_ggg(x1, x2, x3) = U1_ggg(x3) U2_ggg(x1, x2, x3, x4) = U2_ggg(x1, x3, x4) ackermann_in_gga(x1, x2, x3) = ackermann_in_gga(x1, x2) ackermann_out_gga(x1, x2, x3) = ackermann_out_gga(x3) U1_gga(x1, x2, x3) = U1_gga(x3) U2_gga(x1, x2, x3, x4) = U2_gga(x1, x4) U3_gga(x1, x2, x3, x4) = U3_gga(x4) U3_ggg(x1, x2, x3, x4) = U3_ggg(x4) U2_gag(x1, x2, x3, x4) = U2_gag(x1, x3, x4) ackermann_in_gaa(x1, x2, x3) = ackermann_in_gaa(x1) ackermann_out_gaa(x1, x2, x3) = ackermann_out_gaa U1_gaa(x1, x2, x3) = U1_gaa(x3) U2_gaa(x1, x2, x3, x4) = U2_gaa(x1, x4) U3_gaa(x1, x2, x3, x4) = U3_gaa(x4) U3_gag(x1, x2, x3, x4) = U3_gag(x4) ACKERMANN_IN_GAG(x1, x2, x3) = ACKERMANN_IN_GAG(x1, x3) U1_GAG(x1, x2, x3) = U1_GAG(x3) ACKERMANN_IN_GGG(x1, x2, x3) = ACKERMANN_IN_GGG(x1, x2, x3) U1_GGG(x1, x2, x3) = U1_GGG(x3) U2_GGG(x1, x2, x3, x4) = U2_GGG(x1, x3, x4) ACKERMANN_IN_GGA(x1, x2, x3) = ACKERMANN_IN_GGA(x1, x2) U1_GGA(x1, x2, x3) = U1_GGA(x3) U2_GGA(x1, x2, x3, x4) = U2_GGA(x1, x4) U3_GGA(x1, x2, x3, x4) = U3_GGA(x4) U3_GGG(x1, x2, x3, x4) = U3_GGG(x4) U2_GAG(x1, x2, x3, x4) = U2_GAG(x1, x3, x4) ACKERMANN_IN_GAA(x1, x2, x3) = ACKERMANN_IN_GAA(x1) U1_GAA(x1, x2, x3) = U1_GAA(x3) U2_GAA(x1, x2, x3, x4) = U2_GAA(x1, x4) U3_GAA(x1, x2, x3, x4) = U3_GAA(x4) U3_GAG(x1, x2, x3, x4) = U3_GAG(x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (5) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LOPSTR] contains 4 SCCs with 12 less nodes. ---------------------------------------- (6) Complex Obligation (AND) ---------------------------------------- (7) Obligation: Pi DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GGA(s(M), 0, Val) -> ACKERMANN_IN_GGA(M, s(0), Val) ACKERMANN_IN_GGA(s(M), s(N), Val) -> U2_GGA(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U2_GGA(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> ACKERMANN_IN_GGA(M, Val1, Val) ACKERMANN_IN_GGA(s(M), s(N), Val) -> ACKERMANN_IN_GGA(s(M), N, Val1) The TRS R consists of the following rules: ackermann_in_gag(0, N, s(N)) -> ackermann_out_gag(0, N, s(N)) ackermann_in_gag(s(M), 0, Val) -> U1_gag(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(0, N, s(N)) -> ackermann_out_ggg(0, N, s(N)) ackermann_in_ggg(s(M), 0, Val) -> U1_ggg(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(s(M), s(N), Val) -> U2_ggg(M, N, Val, ackermann_in_gga(s(M), N, Val1)) ackermann_in_gga(0, N, s(N)) -> ackermann_out_gga(0, N, s(N)) ackermann_in_gga(s(M), 0, Val) -> U1_gga(M, Val, ackermann_in_gga(M, s(0), Val)) ackermann_in_gga(s(M), s(N), Val) -> U2_gga(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U2_gga(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_gga(M, N, Val, ackermann_in_gga(M, Val1, Val)) U3_gga(M, N, Val, ackermann_out_gga(M, Val1, Val)) -> ackermann_out_gga(s(M), s(N), Val) U1_gga(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gga(s(M), 0, Val) U2_ggg(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_ggg(M, N, Val, ackermann_in_ggg(M, Val1, Val)) U3_ggg(M, N, Val, ackermann_out_ggg(M, Val1, Val)) -> ackermann_out_ggg(s(M), s(N), Val) U1_ggg(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_ggg(s(M), 0, Val) U1_gag(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_gag(s(M), 0, Val) ackermann_in_gag(s(M), s(N), Val) -> U2_gag(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) ackermann_in_gaa(0, N, s(N)) -> ackermann_out_gaa(0, N, s(N)) ackermann_in_gaa(s(M), 0, Val) -> U1_gaa(M, Val, ackermann_in_gga(M, s(0), Val)) U1_gaa(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gaa(s(M), 0, Val) ackermann_in_gaa(s(M), s(N), Val) -> U2_gaa(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) U2_gaa(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gaa(M, N, Val, ackermann_in_gaa(M, Val1, Val)) U3_gaa(M, N, Val, ackermann_out_gaa(M, Val1, Val)) -> ackermann_out_gaa(s(M), s(N), Val) U2_gag(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gag(M, N, Val, ackermann_in_gag(M, Val1, Val)) U3_gag(M, N, Val, ackermann_out_gag(M, Val1, Val)) -> ackermann_out_gag(s(M), s(N), Val) The argument filtering Pi contains the following mapping: ackermann_in_gag(x1, x2, x3) = ackermann_in_gag(x1, x3) 0 = 0 s(x1) = s(x1) ackermann_out_gag(x1, x2, x3) = ackermann_out_gag U1_gag(x1, x2, x3) = U1_gag(x3) ackermann_in_ggg(x1, x2, x3) = ackermann_in_ggg(x1, x2, x3) ackermann_out_ggg(x1, x2, x3) = ackermann_out_ggg U1_ggg(x1, x2, x3) = U1_ggg(x3) U2_ggg(x1, x2, x3, x4) = U2_ggg(x1, x3, x4) ackermann_in_gga(x1, x2, x3) = ackermann_in_gga(x1, x2) ackermann_out_gga(x1, x2, x3) = ackermann_out_gga(x3) U1_gga(x1, x2, x3) = U1_gga(x3) U2_gga(x1, x2, x3, x4) = U2_gga(x1, x4) U3_gga(x1, x2, x3, x4) = U3_gga(x4) U3_ggg(x1, x2, x3, x4) = U3_ggg(x4) U2_gag(x1, x2, x3, x4) = U2_gag(x1, x3, x4) ackermann_in_gaa(x1, x2, x3) = ackermann_in_gaa(x1) ackermann_out_gaa(x1, x2, x3) = ackermann_out_gaa U1_gaa(x1, x2, x3) = U1_gaa(x3) U2_gaa(x1, x2, x3, x4) = U2_gaa(x1, x4) U3_gaa(x1, x2, x3, x4) = U3_gaa(x4) U3_gag(x1, x2, x3, x4) = U3_gag(x4) ACKERMANN_IN_GGA(x1, x2, x3) = ACKERMANN_IN_GGA(x1, x2) U2_GGA(x1, x2, x3, x4) = U2_GGA(x1, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (8) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (9) Obligation: Pi DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GGA(s(M), 0, Val) -> ACKERMANN_IN_GGA(M, s(0), Val) ACKERMANN_IN_GGA(s(M), s(N), Val) -> U2_GGA(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U2_GGA(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> ACKERMANN_IN_GGA(M, Val1, Val) ACKERMANN_IN_GGA(s(M), s(N), Val) -> ACKERMANN_IN_GGA(s(M), N, Val1) The TRS R consists of the following rules: ackermann_in_gga(s(M), 0, Val) -> U1_gga(M, Val, ackermann_in_gga(M, s(0), Val)) ackermann_in_gga(s(M), s(N), Val) -> U2_gga(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U1_gga(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gga(s(M), 0, Val) U2_gga(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_gga(M, N, Val, ackermann_in_gga(M, Val1, Val)) ackermann_in_gga(0, N, s(N)) -> ackermann_out_gga(0, N, s(N)) U3_gga(M, N, Val, ackermann_out_gga(M, Val1, Val)) -> ackermann_out_gga(s(M), s(N), Val) The argument filtering Pi contains the following mapping: 0 = 0 s(x1) = s(x1) ackermann_in_gga(x1, x2, x3) = ackermann_in_gga(x1, x2) ackermann_out_gga(x1, x2, x3) = ackermann_out_gga(x3) U1_gga(x1, x2, x3) = U1_gga(x3) U2_gga(x1, x2, x3, x4) = U2_gga(x1, x4) U3_gga(x1, x2, x3, x4) = U3_gga(x4) ACKERMANN_IN_GGA(x1, x2, x3) = ACKERMANN_IN_GGA(x1, x2) U2_GGA(x1, x2, x3, x4) = U2_GGA(x1, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (10) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (11) Obligation: Q DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GGA(s(M), 0) -> ACKERMANN_IN_GGA(M, s(0)) ACKERMANN_IN_GGA(s(M), s(N)) -> U2_GGA(M, ackermann_in_gga(s(M), N)) U2_GGA(M, ackermann_out_gga(Val1)) -> ACKERMANN_IN_GGA(M, Val1) ACKERMANN_IN_GGA(s(M), s(N)) -> ACKERMANN_IN_GGA(s(M), N) The TRS R consists of the following rules: ackermann_in_gga(s(M), 0) -> U1_gga(ackermann_in_gga(M, s(0))) ackermann_in_gga(s(M), s(N)) -> U2_gga(M, ackermann_in_gga(s(M), N)) U1_gga(ackermann_out_gga(Val)) -> ackermann_out_gga(Val) U2_gga(M, ackermann_out_gga(Val1)) -> U3_gga(ackermann_in_gga(M, Val1)) ackermann_in_gga(0, N) -> ackermann_out_gga(s(N)) U3_gga(ackermann_out_gga(Val)) -> ackermann_out_gga(Val) The set Q consists of the following terms: ackermann_in_gga(x0, x1) U1_gga(x0) U2_gga(x0, x1) U3_gga(x0) We have to consider all (P,Q,R)-chains. ---------------------------------------- (12) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *ACKERMANN_IN_GGA(s(M), s(N)) -> ACKERMANN_IN_GGA(s(M), N) The graph contains the following edges 1 >= 1, 2 > 2 *ACKERMANN_IN_GGA(s(M), s(N)) -> U2_GGA(M, ackermann_in_gga(s(M), N)) The graph contains the following edges 1 > 1 *U2_GGA(M, ackermann_out_gga(Val1)) -> ACKERMANN_IN_GGA(M, Val1) The graph contains the following edges 1 >= 1, 2 > 2 *ACKERMANN_IN_GGA(s(M), 0) -> ACKERMANN_IN_GGA(M, s(0)) The graph contains the following edges 1 > 1 ---------------------------------------- (13) YES ---------------------------------------- (14) Obligation: Pi DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GAA(s(M), s(N), Val) -> U2_GAA(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) U2_GAA(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> ACKERMANN_IN_GAA(M, Val1, Val) ACKERMANN_IN_GAA(s(M), s(N), Val) -> ACKERMANN_IN_GAA(s(M), N, Val1) The TRS R consists of the following rules: ackermann_in_gag(0, N, s(N)) -> ackermann_out_gag(0, N, s(N)) ackermann_in_gag(s(M), 0, Val) -> U1_gag(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(0, N, s(N)) -> ackermann_out_ggg(0, N, s(N)) ackermann_in_ggg(s(M), 0, Val) -> U1_ggg(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(s(M), s(N), Val) -> U2_ggg(M, N, Val, ackermann_in_gga(s(M), N, Val1)) ackermann_in_gga(0, N, s(N)) -> ackermann_out_gga(0, N, s(N)) ackermann_in_gga(s(M), 0, Val) -> U1_gga(M, Val, ackermann_in_gga(M, s(0), Val)) ackermann_in_gga(s(M), s(N), Val) -> U2_gga(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U2_gga(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_gga(M, N, Val, ackermann_in_gga(M, Val1, Val)) U3_gga(M, N, Val, ackermann_out_gga(M, Val1, Val)) -> ackermann_out_gga(s(M), s(N), Val) U1_gga(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gga(s(M), 0, Val) U2_ggg(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_ggg(M, N, Val, ackermann_in_ggg(M, Val1, Val)) U3_ggg(M, N, Val, ackermann_out_ggg(M, Val1, Val)) -> ackermann_out_ggg(s(M), s(N), Val) U1_ggg(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_ggg(s(M), 0, Val) U1_gag(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_gag(s(M), 0, Val) ackermann_in_gag(s(M), s(N), Val) -> U2_gag(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) ackermann_in_gaa(0, N, s(N)) -> ackermann_out_gaa(0, N, s(N)) ackermann_in_gaa(s(M), 0, Val) -> U1_gaa(M, Val, ackermann_in_gga(M, s(0), Val)) U1_gaa(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gaa(s(M), 0, Val) ackermann_in_gaa(s(M), s(N), Val) -> U2_gaa(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) U2_gaa(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gaa(M, N, Val, ackermann_in_gaa(M, Val1, Val)) U3_gaa(M, N, Val, ackermann_out_gaa(M, Val1, Val)) -> ackermann_out_gaa(s(M), s(N), Val) U2_gag(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gag(M, N, Val, ackermann_in_gag(M, Val1, Val)) U3_gag(M, N, Val, ackermann_out_gag(M, Val1, Val)) -> ackermann_out_gag(s(M), s(N), Val) The argument filtering Pi contains the following mapping: ackermann_in_gag(x1, x2, x3) = ackermann_in_gag(x1, x3) 0 = 0 s(x1) = s(x1) ackermann_out_gag(x1, x2, x3) = ackermann_out_gag U1_gag(x1, x2, x3) = U1_gag(x3) ackermann_in_ggg(x1, x2, x3) = ackermann_in_ggg(x1, x2, x3) ackermann_out_ggg(x1, x2, x3) = ackermann_out_ggg U1_ggg(x1, x2, x3) = U1_ggg(x3) U2_ggg(x1, x2, x3, x4) = U2_ggg(x1, x3, x4) ackermann_in_gga(x1, x2, x3) = ackermann_in_gga(x1, x2) ackermann_out_gga(x1, x2, x3) = ackermann_out_gga(x3) U1_gga(x1, x2, x3) = U1_gga(x3) U2_gga(x1, x2, x3, x4) = U2_gga(x1, x4) U3_gga(x1, x2, x3, x4) = U3_gga(x4) U3_ggg(x1, x2, x3, x4) = U3_ggg(x4) U2_gag(x1, x2, x3, x4) = U2_gag(x1, x3, x4) ackermann_in_gaa(x1, x2, x3) = ackermann_in_gaa(x1) ackermann_out_gaa(x1, x2, x3) = ackermann_out_gaa U1_gaa(x1, x2, x3) = U1_gaa(x3) U2_gaa(x1, x2, x3, x4) = U2_gaa(x1, x4) U3_gaa(x1, x2, x3, x4) = U3_gaa(x4) U3_gag(x1, x2, x3, x4) = U3_gag(x4) ACKERMANN_IN_GAA(x1, x2, x3) = ACKERMANN_IN_GAA(x1) U2_GAA(x1, x2, x3, x4) = U2_GAA(x1, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (15) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (16) Obligation: Pi DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GAA(s(M), s(N), Val) -> U2_GAA(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) U2_GAA(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> ACKERMANN_IN_GAA(M, Val1, Val) ACKERMANN_IN_GAA(s(M), s(N), Val) -> ACKERMANN_IN_GAA(s(M), N, Val1) The TRS R consists of the following rules: ackermann_in_gaa(s(M), 0, Val) -> U1_gaa(M, Val, ackermann_in_gga(M, s(0), Val)) ackermann_in_gaa(s(M), s(N), Val) -> U2_gaa(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) U1_gaa(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gaa(s(M), 0, Val) U2_gaa(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gaa(M, N, Val, ackermann_in_gaa(M, Val1, Val)) ackermann_in_gga(0, N, s(N)) -> ackermann_out_gga(0, N, s(N)) ackermann_in_gga(s(M), s(N), Val) -> U2_gga(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U3_gaa(M, N, Val, ackermann_out_gaa(M, Val1, Val)) -> ackermann_out_gaa(s(M), s(N), Val) U2_gga(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_gga(M, N, Val, ackermann_in_gga(M, Val1, Val)) ackermann_in_gaa(0, N, s(N)) -> ackermann_out_gaa(0, N, s(N)) ackermann_in_gga(s(M), 0, Val) -> U1_gga(M, Val, ackermann_in_gga(M, s(0), Val)) U3_gga(M, N, Val, ackermann_out_gga(M, Val1, Val)) -> ackermann_out_gga(s(M), s(N), Val) U1_gga(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gga(s(M), 0, Val) The argument filtering Pi contains the following mapping: 0 = 0 s(x1) = s(x1) ackermann_in_gga(x1, x2, x3) = ackermann_in_gga(x1, x2) ackermann_out_gga(x1, x2, x3) = ackermann_out_gga(x3) U1_gga(x1, x2, x3) = U1_gga(x3) U2_gga(x1, x2, x3, x4) = U2_gga(x1, x4) U3_gga(x1, x2, x3, x4) = U3_gga(x4) ackermann_in_gaa(x1, x2, x3) = ackermann_in_gaa(x1) ackermann_out_gaa(x1, x2, x3) = ackermann_out_gaa U1_gaa(x1, x2, x3) = U1_gaa(x3) U2_gaa(x1, x2, x3, x4) = U2_gaa(x1, x4) U3_gaa(x1, x2, x3, x4) = U3_gaa(x4) ACKERMANN_IN_GAA(x1, x2, x3) = ACKERMANN_IN_GAA(x1) U2_GAA(x1, x2, x3, x4) = U2_GAA(x1, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (17) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (18) Obligation: Q DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GAA(s(M)) -> U2_GAA(M, ackermann_in_gaa(s(M))) U2_GAA(M, ackermann_out_gaa) -> ACKERMANN_IN_GAA(M) ACKERMANN_IN_GAA(s(M)) -> ACKERMANN_IN_GAA(s(M)) The TRS R consists of the following rules: ackermann_in_gaa(s(M)) -> U1_gaa(ackermann_in_gga(M, s(0))) ackermann_in_gaa(s(M)) -> U2_gaa(M, ackermann_in_gaa(s(M))) U1_gaa(ackermann_out_gga(Val)) -> ackermann_out_gaa U2_gaa(M, ackermann_out_gaa) -> U3_gaa(ackermann_in_gaa(M)) ackermann_in_gga(0, N) -> ackermann_out_gga(s(N)) ackermann_in_gga(s(M), s(N)) -> U2_gga(M, ackermann_in_gga(s(M), N)) U3_gaa(ackermann_out_gaa) -> ackermann_out_gaa U2_gga(M, ackermann_out_gga(Val1)) -> U3_gga(ackermann_in_gga(M, Val1)) ackermann_in_gaa(0) -> ackermann_out_gaa ackermann_in_gga(s(M), 0) -> U1_gga(ackermann_in_gga(M, s(0))) U3_gga(ackermann_out_gga(Val)) -> ackermann_out_gga(Val) U1_gga(ackermann_out_gga(Val)) -> ackermann_out_gga(Val) The set Q consists of the following terms: ackermann_in_gaa(x0) U1_gaa(x0) U2_gaa(x0, x1) ackermann_in_gga(x0, x1) U3_gaa(x0) U2_gga(x0, x1) U3_gga(x0) U1_gga(x0) We have to consider all (P,Q,R)-chains. ---------------------------------------- (19) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. U2_GAA(M, ackermann_out_gaa) -> ACKERMANN_IN_GAA(M) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: POL( U2_GAA_2(x_1, x_2) ) = 2x_1 + x_2 + 2 POL( ackermann_in_gaa_1(x_1) ) = x_1 + 2 POL( s_1(x_1) ) = 2x_1 + 2 POL( U1_gaa_1(x_1) ) = 2 POL( ackermann_in_gga_2(x_1, x_2) ) = 2x_2 + 2 POL( 0 ) = 2 POL( U2_gaa_2(x_1, x_2) ) = 2x_1 + 2 POL( ackermann_out_gaa ) = 1 POL( U3_gaa_1(x_1) ) = x_1 POL( ackermann_out_gga_1(x_1) ) = max{0, 2x_1 - 2} POL( U2_gga_2(x_1, x_2) ) = max{0, x_1 - 2} POL( U1_gga_1(x_1) ) = 1 POL( U3_gga_1(x_1) ) = max{0, -2} POL( ACKERMANN_IN_GAA_1(x_1) ) = 2x_1 + 2 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: ackermann_in_gaa(s(M)) -> U1_gaa(ackermann_in_gga(M, s(0))) ackermann_in_gaa(s(M)) -> U2_gaa(M, ackermann_in_gaa(s(M))) U2_gaa(M, ackermann_out_gaa) -> U3_gaa(ackermann_in_gaa(M)) ackermann_in_gaa(0) -> ackermann_out_gaa U3_gaa(ackermann_out_gaa) -> ackermann_out_gaa U1_gaa(ackermann_out_gga(Val)) -> ackermann_out_gaa ---------------------------------------- (20) Obligation: Q DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GAA(s(M)) -> U2_GAA(M, ackermann_in_gaa(s(M))) ACKERMANN_IN_GAA(s(M)) -> ACKERMANN_IN_GAA(s(M)) The TRS R consists of the following rules: ackermann_in_gaa(s(M)) -> U1_gaa(ackermann_in_gga(M, s(0))) ackermann_in_gaa(s(M)) -> U2_gaa(M, ackermann_in_gaa(s(M))) U1_gaa(ackermann_out_gga(Val)) -> ackermann_out_gaa U2_gaa(M, ackermann_out_gaa) -> U3_gaa(ackermann_in_gaa(M)) ackermann_in_gga(0, N) -> ackermann_out_gga(s(N)) ackermann_in_gga(s(M), s(N)) -> U2_gga(M, ackermann_in_gga(s(M), N)) U3_gaa(ackermann_out_gaa) -> ackermann_out_gaa U2_gga(M, ackermann_out_gga(Val1)) -> U3_gga(ackermann_in_gga(M, Val1)) ackermann_in_gaa(0) -> ackermann_out_gaa ackermann_in_gga(s(M), 0) -> U1_gga(ackermann_in_gga(M, s(0))) U3_gga(ackermann_out_gga(Val)) -> ackermann_out_gga(Val) U1_gga(ackermann_out_gga(Val)) -> ackermann_out_gga(Val) The set Q consists of the following terms: ackermann_in_gaa(x0) U1_gaa(x0) U2_gaa(x0, x1) ackermann_in_gga(x0, x1) U3_gaa(x0) U2_gga(x0, x1) U3_gga(x0) U1_gga(x0) We have to consider all (P,Q,R)-chains. ---------------------------------------- (21) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (22) Obligation: Q DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GAA(s(M)) -> ACKERMANN_IN_GAA(s(M)) The TRS R consists of the following rules: ackermann_in_gaa(s(M)) -> U1_gaa(ackermann_in_gga(M, s(0))) ackermann_in_gaa(s(M)) -> U2_gaa(M, ackermann_in_gaa(s(M))) U1_gaa(ackermann_out_gga(Val)) -> ackermann_out_gaa U2_gaa(M, ackermann_out_gaa) -> U3_gaa(ackermann_in_gaa(M)) ackermann_in_gga(0, N) -> ackermann_out_gga(s(N)) ackermann_in_gga(s(M), s(N)) -> U2_gga(M, ackermann_in_gga(s(M), N)) U3_gaa(ackermann_out_gaa) -> ackermann_out_gaa U2_gga(M, ackermann_out_gga(Val1)) -> U3_gga(ackermann_in_gga(M, Val1)) ackermann_in_gaa(0) -> ackermann_out_gaa ackermann_in_gga(s(M), 0) -> U1_gga(ackermann_in_gga(M, s(0))) U3_gga(ackermann_out_gga(Val)) -> ackermann_out_gga(Val) U1_gga(ackermann_out_gga(Val)) -> ackermann_out_gga(Val) The set Q consists of the following terms: ackermann_in_gaa(x0) U1_gaa(x0) U2_gaa(x0, x1) ackermann_in_gga(x0, x1) U3_gaa(x0) U2_gga(x0, x1) U3_gga(x0) U1_gga(x0) We have to consider all (P,Q,R)-chains. ---------------------------------------- (23) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (24) Obligation: Q DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GAA(s(M)) -> ACKERMANN_IN_GAA(s(M)) R is empty. The set Q consists of the following terms: ackermann_in_gaa(x0) U1_gaa(x0) U2_gaa(x0, x1) ackermann_in_gga(x0, x1) U3_gaa(x0) U2_gga(x0, x1) U3_gga(x0) U1_gga(x0) We have to consider all (P,Q,R)-chains. ---------------------------------------- (25) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. ackermann_in_gaa(x0) U1_gaa(x0) U2_gaa(x0, x1) ackermann_in_gga(x0, x1) U3_gaa(x0) U2_gga(x0, x1) U3_gga(x0) U1_gga(x0) ---------------------------------------- (26) Obligation: Q DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GAA(s(M)) -> ACKERMANN_IN_GAA(s(M)) R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (27) NonTerminationLoopProof (COMPLETE) We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. Found a loop by semiunifying a rule from P directly. s = ACKERMANN_IN_GAA(s(M)) evaluates to t =ACKERMANN_IN_GAA(s(M)) Thus s starts an infinite chain as s semiunifies with t with the following substitutions: * Matcher: [ ] * Semiunifier: [ ] -------------------------------------------------------------------------------- Rewriting sequence The DP semiunifies directly so there is only one rewrite step from ACKERMANN_IN_GAA(s(M)) to ACKERMANN_IN_GAA(s(M)). ---------------------------------------- (28) NO ---------------------------------------- (29) Obligation: Pi DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GGG(s(M), 0, Val) -> ACKERMANN_IN_GGG(M, s(0), Val) ACKERMANN_IN_GGG(s(M), s(N), Val) -> U2_GGG(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U2_GGG(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> ACKERMANN_IN_GGG(M, Val1, Val) The TRS R consists of the following rules: ackermann_in_gag(0, N, s(N)) -> ackermann_out_gag(0, N, s(N)) ackermann_in_gag(s(M), 0, Val) -> U1_gag(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(0, N, s(N)) -> ackermann_out_ggg(0, N, s(N)) ackermann_in_ggg(s(M), 0, Val) -> U1_ggg(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(s(M), s(N), Val) -> U2_ggg(M, N, Val, ackermann_in_gga(s(M), N, Val1)) ackermann_in_gga(0, N, s(N)) -> ackermann_out_gga(0, N, s(N)) ackermann_in_gga(s(M), 0, Val) -> U1_gga(M, Val, ackermann_in_gga(M, s(0), Val)) ackermann_in_gga(s(M), s(N), Val) -> U2_gga(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U2_gga(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_gga(M, N, Val, ackermann_in_gga(M, Val1, Val)) U3_gga(M, N, Val, ackermann_out_gga(M, Val1, Val)) -> ackermann_out_gga(s(M), s(N), Val) U1_gga(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gga(s(M), 0, Val) U2_ggg(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_ggg(M, N, Val, ackermann_in_ggg(M, Val1, Val)) U3_ggg(M, N, Val, ackermann_out_ggg(M, Val1, Val)) -> ackermann_out_ggg(s(M), s(N), Val) U1_ggg(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_ggg(s(M), 0, Val) U1_gag(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_gag(s(M), 0, Val) ackermann_in_gag(s(M), s(N), Val) -> U2_gag(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) ackermann_in_gaa(0, N, s(N)) -> ackermann_out_gaa(0, N, s(N)) ackermann_in_gaa(s(M), 0, Val) -> U1_gaa(M, Val, ackermann_in_gga(M, s(0), Val)) U1_gaa(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gaa(s(M), 0, Val) ackermann_in_gaa(s(M), s(N), Val) -> U2_gaa(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) U2_gaa(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gaa(M, N, Val, ackermann_in_gaa(M, Val1, Val)) U3_gaa(M, N, Val, ackermann_out_gaa(M, Val1, Val)) -> ackermann_out_gaa(s(M), s(N), Val) U2_gag(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gag(M, N, Val, ackermann_in_gag(M, Val1, Val)) U3_gag(M, N, Val, ackermann_out_gag(M, Val1, Val)) -> ackermann_out_gag(s(M), s(N), Val) The argument filtering Pi contains the following mapping: ackermann_in_gag(x1, x2, x3) = ackermann_in_gag(x1, x3) 0 = 0 s(x1) = s(x1) ackermann_out_gag(x1, x2, x3) = ackermann_out_gag U1_gag(x1, x2, x3) = U1_gag(x3) ackermann_in_ggg(x1, x2, x3) = ackermann_in_ggg(x1, x2, x3) ackermann_out_ggg(x1, x2, x3) = ackermann_out_ggg U1_ggg(x1, x2, x3) = U1_ggg(x3) U2_ggg(x1, x2, x3, x4) = U2_ggg(x1, x3, x4) ackermann_in_gga(x1, x2, x3) = ackermann_in_gga(x1, x2) ackermann_out_gga(x1, x2, x3) = ackermann_out_gga(x3) U1_gga(x1, x2, x3) = U1_gga(x3) U2_gga(x1, x2, x3, x4) = U2_gga(x1, x4) U3_gga(x1, x2, x3, x4) = U3_gga(x4) U3_ggg(x1, x2, x3, x4) = U3_ggg(x4) U2_gag(x1, x2, x3, x4) = U2_gag(x1, x3, x4) ackermann_in_gaa(x1, x2, x3) = ackermann_in_gaa(x1) ackermann_out_gaa(x1, x2, x3) = ackermann_out_gaa U1_gaa(x1, x2, x3) = U1_gaa(x3) U2_gaa(x1, x2, x3, x4) = U2_gaa(x1, x4) U3_gaa(x1, x2, x3, x4) = U3_gaa(x4) U3_gag(x1, x2, x3, x4) = U3_gag(x4) ACKERMANN_IN_GGG(x1, x2, x3) = ACKERMANN_IN_GGG(x1, x2, x3) U2_GGG(x1, x2, x3, x4) = U2_GGG(x1, x3, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (30) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (31) Obligation: Pi DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GGG(s(M), 0, Val) -> ACKERMANN_IN_GGG(M, s(0), Val) ACKERMANN_IN_GGG(s(M), s(N), Val) -> U2_GGG(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U2_GGG(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> ACKERMANN_IN_GGG(M, Val1, Val) The TRS R consists of the following rules: ackermann_in_gga(s(M), 0, Val) -> U1_gga(M, Val, ackermann_in_gga(M, s(0), Val)) ackermann_in_gga(s(M), s(N), Val) -> U2_gga(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U1_gga(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gga(s(M), 0, Val) U2_gga(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_gga(M, N, Val, ackermann_in_gga(M, Val1, Val)) ackermann_in_gga(0, N, s(N)) -> ackermann_out_gga(0, N, s(N)) U3_gga(M, N, Val, ackermann_out_gga(M, Val1, Val)) -> ackermann_out_gga(s(M), s(N), Val) The argument filtering Pi contains the following mapping: 0 = 0 s(x1) = s(x1) ackermann_in_gga(x1, x2, x3) = ackermann_in_gga(x1, x2) ackermann_out_gga(x1, x2, x3) = ackermann_out_gga(x3) U1_gga(x1, x2, x3) = U1_gga(x3) U2_gga(x1, x2, x3, x4) = U2_gga(x1, x4) U3_gga(x1, x2, x3, x4) = U3_gga(x4) ACKERMANN_IN_GGG(x1, x2, x3) = ACKERMANN_IN_GGG(x1, x2, x3) U2_GGG(x1, x2, x3, x4) = U2_GGG(x1, x3, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (32) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (33) Obligation: Q DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GGG(s(M), 0, Val) -> ACKERMANN_IN_GGG(M, s(0), Val) ACKERMANN_IN_GGG(s(M), s(N), Val) -> U2_GGG(M, Val, ackermann_in_gga(s(M), N)) U2_GGG(M, Val, ackermann_out_gga(Val1)) -> ACKERMANN_IN_GGG(M, Val1, Val) The TRS R consists of the following rules: ackermann_in_gga(s(M), 0) -> U1_gga(ackermann_in_gga(M, s(0))) ackermann_in_gga(s(M), s(N)) -> U2_gga(M, ackermann_in_gga(s(M), N)) U1_gga(ackermann_out_gga(Val)) -> ackermann_out_gga(Val) U2_gga(M, ackermann_out_gga(Val1)) -> U3_gga(ackermann_in_gga(M, Val1)) ackermann_in_gga(0, N) -> ackermann_out_gga(s(N)) U3_gga(ackermann_out_gga(Val)) -> ackermann_out_gga(Val) The set Q consists of the following terms: ackermann_in_gga(x0, x1) U1_gga(x0) U2_gga(x0, x1) U3_gga(x0) We have to consider all (P,Q,R)-chains. ---------------------------------------- (34) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *ACKERMANN_IN_GGG(s(M), s(N), Val) -> U2_GGG(M, Val, ackermann_in_gga(s(M), N)) The graph contains the following edges 1 > 1, 3 >= 2 *U2_GGG(M, Val, ackermann_out_gga(Val1)) -> ACKERMANN_IN_GGG(M, Val1, Val) The graph contains the following edges 1 >= 1, 3 > 2, 2 >= 3 *ACKERMANN_IN_GGG(s(M), 0, Val) -> ACKERMANN_IN_GGG(M, s(0), Val) The graph contains the following edges 1 > 1, 3 >= 3 ---------------------------------------- (35) YES ---------------------------------------- (36) Obligation: Pi DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GAG(s(M), s(N), Val) -> U2_GAG(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) U2_GAG(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> ACKERMANN_IN_GAG(M, Val1, Val) The TRS R consists of the following rules: ackermann_in_gag(0, N, s(N)) -> ackermann_out_gag(0, N, s(N)) ackermann_in_gag(s(M), 0, Val) -> U1_gag(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(0, N, s(N)) -> ackermann_out_ggg(0, N, s(N)) ackermann_in_ggg(s(M), 0, Val) -> U1_ggg(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(s(M), s(N), Val) -> U2_ggg(M, N, Val, ackermann_in_gga(s(M), N, Val1)) ackermann_in_gga(0, N, s(N)) -> ackermann_out_gga(0, N, s(N)) ackermann_in_gga(s(M), 0, Val) -> U1_gga(M, Val, ackermann_in_gga(M, s(0), Val)) ackermann_in_gga(s(M), s(N), Val) -> U2_gga(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U2_gga(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_gga(M, N, Val, ackermann_in_gga(M, Val1, Val)) U3_gga(M, N, Val, ackermann_out_gga(M, Val1, Val)) -> ackermann_out_gga(s(M), s(N), Val) U1_gga(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gga(s(M), 0, Val) U2_ggg(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_ggg(M, N, Val, ackermann_in_ggg(M, Val1, Val)) U3_ggg(M, N, Val, ackermann_out_ggg(M, Val1, Val)) -> ackermann_out_ggg(s(M), s(N), Val) U1_ggg(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_ggg(s(M), 0, Val) U1_gag(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_gag(s(M), 0, Val) ackermann_in_gag(s(M), s(N), Val) -> U2_gag(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) ackermann_in_gaa(0, N, s(N)) -> ackermann_out_gaa(0, N, s(N)) ackermann_in_gaa(s(M), 0, Val) -> U1_gaa(M, Val, ackermann_in_gga(M, s(0), Val)) U1_gaa(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gaa(s(M), 0, Val) ackermann_in_gaa(s(M), s(N), Val) -> U2_gaa(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) U2_gaa(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gaa(M, N, Val, ackermann_in_gaa(M, Val1, Val)) U3_gaa(M, N, Val, ackermann_out_gaa(M, Val1, Val)) -> ackermann_out_gaa(s(M), s(N), Val) U2_gag(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gag(M, N, Val, ackermann_in_gag(M, Val1, Val)) U3_gag(M, N, Val, ackermann_out_gag(M, Val1, Val)) -> ackermann_out_gag(s(M), s(N), Val) The argument filtering Pi contains the following mapping: ackermann_in_gag(x1, x2, x3) = ackermann_in_gag(x1, x3) 0 = 0 s(x1) = s(x1) ackermann_out_gag(x1, x2, x3) = ackermann_out_gag U1_gag(x1, x2, x3) = U1_gag(x3) ackermann_in_ggg(x1, x2, x3) = ackermann_in_ggg(x1, x2, x3) ackermann_out_ggg(x1, x2, x3) = ackermann_out_ggg U1_ggg(x1, x2, x3) = U1_ggg(x3) U2_ggg(x1, x2, x3, x4) = U2_ggg(x1, x3, x4) ackermann_in_gga(x1, x2, x3) = ackermann_in_gga(x1, x2) ackermann_out_gga(x1, x2, x3) = ackermann_out_gga(x3) U1_gga(x1, x2, x3) = U1_gga(x3) U2_gga(x1, x2, x3, x4) = U2_gga(x1, x4) U3_gga(x1, x2, x3, x4) = U3_gga(x4) U3_ggg(x1, x2, x3, x4) = U3_ggg(x4) U2_gag(x1, x2, x3, x4) = U2_gag(x1, x3, x4) ackermann_in_gaa(x1, x2, x3) = ackermann_in_gaa(x1) ackermann_out_gaa(x1, x2, x3) = ackermann_out_gaa U1_gaa(x1, x2, x3) = U1_gaa(x3) U2_gaa(x1, x2, x3, x4) = U2_gaa(x1, x4) U3_gaa(x1, x2, x3, x4) = U3_gaa(x4) U3_gag(x1, x2, x3, x4) = U3_gag(x4) ACKERMANN_IN_GAG(x1, x2, x3) = ACKERMANN_IN_GAG(x1, x3) U2_GAG(x1, x2, x3, x4) = U2_GAG(x1, x3, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (37) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (38) Obligation: Pi DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GAG(s(M), s(N), Val) -> U2_GAG(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) U2_GAG(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> ACKERMANN_IN_GAG(M, Val1, Val) The TRS R consists of the following rules: ackermann_in_gaa(s(M), 0, Val) -> U1_gaa(M, Val, ackermann_in_gga(M, s(0), Val)) ackermann_in_gaa(s(M), s(N), Val) -> U2_gaa(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) U1_gaa(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gaa(s(M), 0, Val) U2_gaa(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gaa(M, N, Val, ackermann_in_gaa(M, Val1, Val)) ackermann_in_gga(0, N, s(N)) -> ackermann_out_gga(0, N, s(N)) ackermann_in_gga(s(M), s(N), Val) -> U2_gga(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U3_gaa(M, N, Val, ackermann_out_gaa(M, Val1, Val)) -> ackermann_out_gaa(s(M), s(N), Val) U2_gga(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_gga(M, N, Val, ackermann_in_gga(M, Val1, Val)) ackermann_in_gaa(0, N, s(N)) -> ackermann_out_gaa(0, N, s(N)) ackermann_in_gga(s(M), 0, Val) -> U1_gga(M, Val, ackermann_in_gga(M, s(0), Val)) U3_gga(M, N, Val, ackermann_out_gga(M, Val1, Val)) -> ackermann_out_gga(s(M), s(N), Val) U1_gga(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gga(s(M), 0, Val) The argument filtering Pi contains the following mapping: 0 = 0 s(x1) = s(x1) ackermann_in_gga(x1, x2, x3) = ackermann_in_gga(x1, x2) ackermann_out_gga(x1, x2, x3) = ackermann_out_gga(x3) U1_gga(x1, x2, x3) = U1_gga(x3) U2_gga(x1, x2, x3, x4) = U2_gga(x1, x4) U3_gga(x1, x2, x3, x4) = U3_gga(x4) ackermann_in_gaa(x1, x2, x3) = ackermann_in_gaa(x1) ackermann_out_gaa(x1, x2, x3) = ackermann_out_gaa U1_gaa(x1, x2, x3) = U1_gaa(x3) U2_gaa(x1, x2, x3, x4) = U2_gaa(x1, x4) U3_gaa(x1, x2, x3, x4) = U3_gaa(x4) ACKERMANN_IN_GAG(x1, x2, x3) = ACKERMANN_IN_GAG(x1, x3) U2_GAG(x1, x2, x3, x4) = U2_GAG(x1, x3, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (39) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (40) Obligation: Q DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GAG(s(M), Val) -> U2_GAG(M, Val, ackermann_in_gaa(s(M))) U2_GAG(M, Val, ackermann_out_gaa) -> ACKERMANN_IN_GAG(M, Val) The TRS R consists of the following rules: ackermann_in_gaa(s(M)) -> U1_gaa(ackermann_in_gga(M, s(0))) ackermann_in_gaa(s(M)) -> U2_gaa(M, ackermann_in_gaa(s(M))) U1_gaa(ackermann_out_gga(Val)) -> ackermann_out_gaa U2_gaa(M, ackermann_out_gaa) -> U3_gaa(ackermann_in_gaa(M)) ackermann_in_gga(0, N) -> ackermann_out_gga(s(N)) ackermann_in_gga(s(M), s(N)) -> U2_gga(M, ackermann_in_gga(s(M), N)) U3_gaa(ackermann_out_gaa) -> ackermann_out_gaa U2_gga(M, ackermann_out_gga(Val1)) -> U3_gga(ackermann_in_gga(M, Val1)) ackermann_in_gaa(0) -> ackermann_out_gaa ackermann_in_gga(s(M), 0) -> U1_gga(ackermann_in_gga(M, s(0))) U3_gga(ackermann_out_gga(Val)) -> ackermann_out_gga(Val) U1_gga(ackermann_out_gga(Val)) -> ackermann_out_gga(Val) The set Q consists of the following terms: ackermann_in_gaa(x0) U1_gaa(x0) U2_gaa(x0, x1) ackermann_in_gga(x0, x1) U3_gaa(x0) U2_gga(x0, x1) U3_gga(x0) U1_gga(x0) We have to consider all (P,Q,R)-chains. ---------------------------------------- (41) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U2_GAG(M, Val, ackermann_out_gaa) -> ACKERMANN_IN_GAG(M, Val) The graph contains the following edges 1 >= 1, 2 >= 2 *ACKERMANN_IN_GAG(s(M), Val) -> U2_GAG(M, Val, ackermann_in_gaa(s(M))) The graph contains the following edges 1 > 1, 2 >= 2 ---------------------------------------- (42) YES ---------------------------------------- (43) PrologToPiTRSProof (SOUND) We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: ackermann_in_3: (b,f,b) (b,b,b) (b,b,f) (b,f,f) Transforming Prolog into the following Term Rewriting System: Pi-finite rewrite system: The TRS R consists of the following rules: ackermann_in_gag(0, N, s(N)) -> ackermann_out_gag(0, N, s(N)) ackermann_in_gag(s(M), 0, Val) -> U1_gag(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(0, N, s(N)) -> ackermann_out_ggg(0, N, s(N)) ackermann_in_ggg(s(M), 0, Val) -> U1_ggg(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(s(M), s(N), Val) -> U2_ggg(M, N, Val, ackermann_in_gga(s(M), N, Val1)) ackermann_in_gga(0, N, s(N)) -> ackermann_out_gga(0, N, s(N)) ackermann_in_gga(s(M), 0, Val) -> U1_gga(M, Val, ackermann_in_gga(M, s(0), Val)) ackermann_in_gga(s(M), s(N), Val) -> U2_gga(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U2_gga(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_gga(M, N, Val, ackermann_in_gga(M, Val1, Val)) U3_gga(M, N, Val, ackermann_out_gga(M, Val1, Val)) -> ackermann_out_gga(s(M), s(N), Val) U1_gga(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gga(s(M), 0, Val) U2_ggg(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_ggg(M, N, Val, ackermann_in_ggg(M, Val1, Val)) U3_ggg(M, N, Val, ackermann_out_ggg(M, Val1, Val)) -> ackermann_out_ggg(s(M), s(N), Val) U1_ggg(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_ggg(s(M), 0, Val) U1_gag(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_gag(s(M), 0, Val) ackermann_in_gag(s(M), s(N), Val) -> U2_gag(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) ackermann_in_gaa(0, N, s(N)) -> ackermann_out_gaa(0, N, s(N)) ackermann_in_gaa(s(M), 0, Val) -> U1_gaa(M, Val, ackermann_in_gga(M, s(0), Val)) U1_gaa(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gaa(s(M), 0, Val) ackermann_in_gaa(s(M), s(N), Val) -> U2_gaa(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) U2_gaa(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gaa(M, N, Val, ackermann_in_gaa(M, Val1, Val)) U3_gaa(M, N, Val, ackermann_out_gaa(M, Val1, Val)) -> ackermann_out_gaa(s(M), s(N), Val) U2_gag(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gag(M, N, Val, ackermann_in_gag(M, Val1, Val)) U3_gag(M, N, Val, ackermann_out_gag(M, Val1, Val)) -> ackermann_out_gag(s(M), s(N), Val) The argument filtering Pi contains the following mapping: ackermann_in_gag(x1, x2, x3) = ackermann_in_gag(x1, x3) 0 = 0 s(x1) = s(x1) ackermann_out_gag(x1, x2, x3) = ackermann_out_gag(x1, x3) U1_gag(x1, x2, x3) = U1_gag(x1, x2, x3) ackermann_in_ggg(x1, x2, x3) = ackermann_in_ggg(x1, x2, x3) ackermann_out_ggg(x1, x2, x3) = ackermann_out_ggg(x1, x2, x3) U1_ggg(x1, x2, x3) = U1_ggg(x1, x2, x3) U2_ggg(x1, x2, x3, x4) = U2_ggg(x1, x2, x3, x4) ackermann_in_gga(x1, x2, x3) = ackermann_in_gga(x1, x2) ackermann_out_gga(x1, x2, x3) = ackermann_out_gga(x1, x2, x3) U1_gga(x1, x2, x3) = U1_gga(x1, x3) U2_gga(x1, x2, x3, x4) = U2_gga(x1, x2, x4) U3_gga(x1, x2, x3, x4) = U3_gga(x1, x2, x4) U3_ggg(x1, x2, x3, x4) = U3_ggg(x1, x2, x3, x4) U2_gag(x1, x2, x3, x4) = U2_gag(x1, x3, x4) ackermann_in_gaa(x1, x2, x3) = ackermann_in_gaa(x1) ackermann_out_gaa(x1, x2, x3) = ackermann_out_gaa(x1) U1_gaa(x1, x2, x3) = U1_gaa(x1, x3) U2_gaa(x1, x2, x3, x4) = U2_gaa(x1, x4) U3_gaa(x1, x2, x3, x4) = U3_gaa(x1, x4) U3_gag(x1, x2, x3, x4) = U3_gag(x1, x3, x4) Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog ---------------------------------------- (44) Obligation: Pi-finite rewrite system: The TRS R consists of the following rules: ackermann_in_gag(0, N, s(N)) -> ackermann_out_gag(0, N, s(N)) ackermann_in_gag(s(M), 0, Val) -> U1_gag(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(0, N, s(N)) -> ackermann_out_ggg(0, N, s(N)) ackermann_in_ggg(s(M), 0, Val) -> U1_ggg(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(s(M), s(N), Val) -> U2_ggg(M, N, Val, ackermann_in_gga(s(M), N, Val1)) ackermann_in_gga(0, N, s(N)) -> ackermann_out_gga(0, N, s(N)) ackermann_in_gga(s(M), 0, Val) -> U1_gga(M, Val, ackermann_in_gga(M, s(0), Val)) ackermann_in_gga(s(M), s(N), Val) -> U2_gga(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U2_gga(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_gga(M, N, Val, ackermann_in_gga(M, Val1, Val)) U3_gga(M, N, Val, ackermann_out_gga(M, Val1, Val)) -> ackermann_out_gga(s(M), s(N), Val) U1_gga(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gga(s(M), 0, Val) U2_ggg(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_ggg(M, N, Val, ackermann_in_ggg(M, Val1, Val)) U3_ggg(M, N, Val, ackermann_out_ggg(M, Val1, Val)) -> ackermann_out_ggg(s(M), s(N), Val) U1_ggg(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_ggg(s(M), 0, Val) U1_gag(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_gag(s(M), 0, Val) ackermann_in_gag(s(M), s(N), Val) -> U2_gag(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) ackermann_in_gaa(0, N, s(N)) -> ackermann_out_gaa(0, N, s(N)) ackermann_in_gaa(s(M), 0, Val) -> U1_gaa(M, Val, ackermann_in_gga(M, s(0), Val)) U1_gaa(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gaa(s(M), 0, Val) ackermann_in_gaa(s(M), s(N), Val) -> U2_gaa(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) U2_gaa(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gaa(M, N, Val, ackermann_in_gaa(M, Val1, Val)) U3_gaa(M, N, Val, ackermann_out_gaa(M, Val1, Val)) -> ackermann_out_gaa(s(M), s(N), Val) U2_gag(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gag(M, N, Val, ackermann_in_gag(M, Val1, Val)) U3_gag(M, N, Val, ackermann_out_gag(M, Val1, Val)) -> ackermann_out_gag(s(M), s(N), Val) The argument filtering Pi contains the following mapping: ackermann_in_gag(x1, x2, x3) = ackermann_in_gag(x1, x3) 0 = 0 s(x1) = s(x1) ackermann_out_gag(x1, x2, x3) = ackermann_out_gag(x1, x3) U1_gag(x1, x2, x3) = U1_gag(x1, x2, x3) ackermann_in_ggg(x1, x2, x3) = ackermann_in_ggg(x1, x2, x3) ackermann_out_ggg(x1, x2, x3) = ackermann_out_ggg(x1, x2, x3) U1_ggg(x1, x2, x3) = U1_ggg(x1, x2, x3) U2_ggg(x1, x2, x3, x4) = U2_ggg(x1, x2, x3, x4) ackermann_in_gga(x1, x2, x3) = ackermann_in_gga(x1, x2) ackermann_out_gga(x1, x2, x3) = ackermann_out_gga(x1, x2, x3) U1_gga(x1, x2, x3) = U1_gga(x1, x3) U2_gga(x1, x2, x3, x4) = U2_gga(x1, x2, x4) U3_gga(x1, x2, x3, x4) = U3_gga(x1, x2, x4) U3_ggg(x1, x2, x3, x4) = U3_ggg(x1, x2, x3, x4) U2_gag(x1, x2, x3, x4) = U2_gag(x1, x3, x4) ackermann_in_gaa(x1, x2, x3) = ackermann_in_gaa(x1) ackermann_out_gaa(x1, x2, x3) = ackermann_out_gaa(x1) U1_gaa(x1, x2, x3) = U1_gaa(x1, x3) U2_gaa(x1, x2, x3, x4) = U2_gaa(x1, x4) U3_gaa(x1, x2, x3, x4) = U3_gaa(x1, x4) U3_gag(x1, x2, x3, x4) = U3_gag(x1, x3, x4) ---------------------------------------- (45) DependencyPairsProof (EQUIVALENT) Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: Pi DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GAG(s(M), 0, Val) -> U1_GAG(M, Val, ackermann_in_ggg(M, s(0), Val)) ACKERMANN_IN_GAG(s(M), 0, Val) -> ACKERMANN_IN_GGG(M, s(0), Val) ACKERMANN_IN_GGG(s(M), 0, Val) -> U1_GGG(M, Val, ackermann_in_ggg(M, s(0), Val)) ACKERMANN_IN_GGG(s(M), 0, Val) -> ACKERMANN_IN_GGG(M, s(0), Val) ACKERMANN_IN_GGG(s(M), s(N), Val) -> U2_GGG(M, N, Val, ackermann_in_gga(s(M), N, Val1)) ACKERMANN_IN_GGG(s(M), s(N), Val) -> ACKERMANN_IN_GGA(s(M), N, Val1) ACKERMANN_IN_GGA(s(M), 0, Val) -> U1_GGA(M, Val, ackermann_in_gga(M, s(0), Val)) ACKERMANN_IN_GGA(s(M), 0, Val) -> ACKERMANN_IN_GGA(M, s(0), Val) ACKERMANN_IN_GGA(s(M), s(N), Val) -> U2_GGA(M, N, Val, ackermann_in_gga(s(M), N, Val1)) ACKERMANN_IN_GGA(s(M), s(N), Val) -> ACKERMANN_IN_GGA(s(M), N, Val1) U2_GGA(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_GGA(M, N, Val, ackermann_in_gga(M, Val1, Val)) U2_GGA(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> ACKERMANN_IN_GGA(M, Val1, Val) U2_GGG(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_GGG(M, N, Val, ackermann_in_ggg(M, Val1, Val)) U2_GGG(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> ACKERMANN_IN_GGG(M, Val1, Val) ACKERMANN_IN_GAG(s(M), s(N), Val) -> U2_GAG(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) ACKERMANN_IN_GAG(s(M), s(N), Val) -> ACKERMANN_IN_GAA(s(M), N, Val1) ACKERMANN_IN_GAA(s(M), 0, Val) -> U1_GAA(M, Val, ackermann_in_gga(M, s(0), Val)) ACKERMANN_IN_GAA(s(M), 0, Val) -> ACKERMANN_IN_GGA(M, s(0), Val) ACKERMANN_IN_GAA(s(M), s(N), Val) -> U2_GAA(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) ACKERMANN_IN_GAA(s(M), s(N), Val) -> ACKERMANN_IN_GAA(s(M), N, Val1) U2_GAA(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_GAA(M, N, Val, ackermann_in_gaa(M, Val1, Val)) U2_GAA(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> ACKERMANN_IN_GAA(M, Val1, Val) U2_GAG(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_GAG(M, N, Val, ackermann_in_gag(M, Val1, Val)) U2_GAG(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> ACKERMANN_IN_GAG(M, Val1, Val) The TRS R consists of the following rules: ackermann_in_gag(0, N, s(N)) -> ackermann_out_gag(0, N, s(N)) ackermann_in_gag(s(M), 0, Val) -> U1_gag(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(0, N, s(N)) -> ackermann_out_ggg(0, N, s(N)) ackermann_in_ggg(s(M), 0, Val) -> U1_ggg(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(s(M), s(N), Val) -> U2_ggg(M, N, Val, ackermann_in_gga(s(M), N, Val1)) ackermann_in_gga(0, N, s(N)) -> ackermann_out_gga(0, N, s(N)) ackermann_in_gga(s(M), 0, Val) -> U1_gga(M, Val, ackermann_in_gga(M, s(0), Val)) ackermann_in_gga(s(M), s(N), Val) -> U2_gga(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U2_gga(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_gga(M, N, Val, ackermann_in_gga(M, Val1, Val)) U3_gga(M, N, Val, ackermann_out_gga(M, Val1, Val)) -> ackermann_out_gga(s(M), s(N), Val) U1_gga(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gga(s(M), 0, Val) U2_ggg(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_ggg(M, N, Val, ackermann_in_ggg(M, Val1, Val)) U3_ggg(M, N, Val, ackermann_out_ggg(M, Val1, Val)) -> ackermann_out_ggg(s(M), s(N), Val) U1_ggg(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_ggg(s(M), 0, Val) U1_gag(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_gag(s(M), 0, Val) ackermann_in_gag(s(M), s(N), Val) -> U2_gag(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) ackermann_in_gaa(0, N, s(N)) -> ackermann_out_gaa(0, N, s(N)) ackermann_in_gaa(s(M), 0, Val) -> U1_gaa(M, Val, ackermann_in_gga(M, s(0), Val)) U1_gaa(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gaa(s(M), 0, Val) ackermann_in_gaa(s(M), s(N), Val) -> U2_gaa(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) U2_gaa(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gaa(M, N, Val, ackermann_in_gaa(M, Val1, Val)) U3_gaa(M, N, Val, ackermann_out_gaa(M, Val1, Val)) -> ackermann_out_gaa(s(M), s(N), Val) U2_gag(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gag(M, N, Val, ackermann_in_gag(M, Val1, Val)) U3_gag(M, N, Val, ackermann_out_gag(M, Val1, Val)) -> ackermann_out_gag(s(M), s(N), Val) The argument filtering Pi contains the following mapping: ackermann_in_gag(x1, x2, x3) = ackermann_in_gag(x1, x3) 0 = 0 s(x1) = s(x1) ackermann_out_gag(x1, x2, x3) = ackermann_out_gag(x1, x3) U1_gag(x1, x2, x3) = U1_gag(x1, x2, x3) ackermann_in_ggg(x1, x2, x3) = ackermann_in_ggg(x1, x2, x3) ackermann_out_ggg(x1, x2, x3) = ackermann_out_ggg(x1, x2, x3) U1_ggg(x1, x2, x3) = U1_ggg(x1, x2, x3) U2_ggg(x1, x2, x3, x4) = U2_ggg(x1, x2, x3, x4) ackermann_in_gga(x1, x2, x3) = ackermann_in_gga(x1, x2) ackermann_out_gga(x1, x2, x3) = ackermann_out_gga(x1, x2, x3) U1_gga(x1, x2, x3) = U1_gga(x1, x3) U2_gga(x1, x2, x3, x4) = U2_gga(x1, x2, x4) U3_gga(x1, x2, x3, x4) = U3_gga(x1, x2, x4) U3_ggg(x1, x2, x3, x4) = U3_ggg(x1, x2, x3, x4) U2_gag(x1, x2, x3, x4) = U2_gag(x1, x3, x4) ackermann_in_gaa(x1, x2, x3) = ackermann_in_gaa(x1) ackermann_out_gaa(x1, x2, x3) = ackermann_out_gaa(x1) U1_gaa(x1, x2, x3) = U1_gaa(x1, x3) U2_gaa(x1, x2, x3, x4) = U2_gaa(x1, x4) U3_gaa(x1, x2, x3, x4) = U3_gaa(x1, x4) U3_gag(x1, x2, x3, x4) = U3_gag(x1, x3, x4) ACKERMANN_IN_GAG(x1, x2, x3) = ACKERMANN_IN_GAG(x1, x3) U1_GAG(x1, x2, x3) = U1_GAG(x1, x2, x3) ACKERMANN_IN_GGG(x1, x2, x3) = ACKERMANN_IN_GGG(x1, x2, x3) U1_GGG(x1, x2, x3) = U1_GGG(x1, x2, x3) U2_GGG(x1, x2, x3, x4) = U2_GGG(x1, x2, x3, x4) ACKERMANN_IN_GGA(x1, x2, x3) = ACKERMANN_IN_GGA(x1, x2) U1_GGA(x1, x2, x3) = U1_GGA(x1, x3) U2_GGA(x1, x2, x3, x4) = U2_GGA(x1, x2, x4) U3_GGA(x1, x2, x3, x4) = U3_GGA(x1, x2, x4) U3_GGG(x1, x2, x3, x4) = U3_GGG(x1, x2, x3, x4) U2_GAG(x1, x2, x3, x4) = U2_GAG(x1, x3, x4) ACKERMANN_IN_GAA(x1, x2, x3) = ACKERMANN_IN_GAA(x1) U1_GAA(x1, x2, x3) = U1_GAA(x1, x3) U2_GAA(x1, x2, x3, x4) = U2_GAA(x1, x4) U3_GAA(x1, x2, x3, x4) = U3_GAA(x1, x4) U3_GAG(x1, x2, x3, x4) = U3_GAG(x1, x3, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (46) Obligation: Pi DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GAG(s(M), 0, Val) -> U1_GAG(M, Val, ackermann_in_ggg(M, s(0), Val)) ACKERMANN_IN_GAG(s(M), 0, Val) -> ACKERMANN_IN_GGG(M, s(0), Val) ACKERMANN_IN_GGG(s(M), 0, Val) -> U1_GGG(M, Val, ackermann_in_ggg(M, s(0), Val)) ACKERMANN_IN_GGG(s(M), 0, Val) -> ACKERMANN_IN_GGG(M, s(0), Val) ACKERMANN_IN_GGG(s(M), s(N), Val) -> U2_GGG(M, N, Val, ackermann_in_gga(s(M), N, Val1)) ACKERMANN_IN_GGG(s(M), s(N), Val) -> ACKERMANN_IN_GGA(s(M), N, Val1) ACKERMANN_IN_GGA(s(M), 0, Val) -> U1_GGA(M, Val, ackermann_in_gga(M, s(0), Val)) ACKERMANN_IN_GGA(s(M), 0, Val) -> ACKERMANN_IN_GGA(M, s(0), Val) ACKERMANN_IN_GGA(s(M), s(N), Val) -> U2_GGA(M, N, Val, ackermann_in_gga(s(M), N, Val1)) ACKERMANN_IN_GGA(s(M), s(N), Val) -> ACKERMANN_IN_GGA(s(M), N, Val1) U2_GGA(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_GGA(M, N, Val, ackermann_in_gga(M, Val1, Val)) U2_GGA(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> ACKERMANN_IN_GGA(M, Val1, Val) U2_GGG(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_GGG(M, N, Val, ackermann_in_ggg(M, Val1, Val)) U2_GGG(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> ACKERMANN_IN_GGG(M, Val1, Val) ACKERMANN_IN_GAG(s(M), s(N), Val) -> U2_GAG(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) ACKERMANN_IN_GAG(s(M), s(N), Val) -> ACKERMANN_IN_GAA(s(M), N, Val1) ACKERMANN_IN_GAA(s(M), 0, Val) -> U1_GAA(M, Val, ackermann_in_gga(M, s(0), Val)) ACKERMANN_IN_GAA(s(M), 0, Val) -> ACKERMANN_IN_GGA(M, s(0), Val) ACKERMANN_IN_GAA(s(M), s(N), Val) -> U2_GAA(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) ACKERMANN_IN_GAA(s(M), s(N), Val) -> ACKERMANN_IN_GAA(s(M), N, Val1) U2_GAA(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_GAA(M, N, Val, ackermann_in_gaa(M, Val1, Val)) U2_GAA(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> ACKERMANN_IN_GAA(M, Val1, Val) U2_GAG(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_GAG(M, N, Val, ackermann_in_gag(M, Val1, Val)) U2_GAG(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> ACKERMANN_IN_GAG(M, Val1, Val) The TRS R consists of the following rules: ackermann_in_gag(0, N, s(N)) -> ackermann_out_gag(0, N, s(N)) ackermann_in_gag(s(M), 0, Val) -> U1_gag(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(0, N, s(N)) -> ackermann_out_ggg(0, N, s(N)) ackermann_in_ggg(s(M), 0, Val) -> U1_ggg(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(s(M), s(N), Val) -> U2_ggg(M, N, Val, ackermann_in_gga(s(M), N, Val1)) ackermann_in_gga(0, N, s(N)) -> ackermann_out_gga(0, N, s(N)) ackermann_in_gga(s(M), 0, Val) -> U1_gga(M, Val, ackermann_in_gga(M, s(0), Val)) ackermann_in_gga(s(M), s(N), Val) -> U2_gga(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U2_gga(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_gga(M, N, Val, ackermann_in_gga(M, Val1, Val)) U3_gga(M, N, Val, ackermann_out_gga(M, Val1, Val)) -> ackermann_out_gga(s(M), s(N), Val) U1_gga(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gga(s(M), 0, Val) U2_ggg(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_ggg(M, N, Val, ackermann_in_ggg(M, Val1, Val)) U3_ggg(M, N, Val, ackermann_out_ggg(M, Val1, Val)) -> ackermann_out_ggg(s(M), s(N), Val) U1_ggg(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_ggg(s(M), 0, Val) U1_gag(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_gag(s(M), 0, Val) ackermann_in_gag(s(M), s(N), Val) -> U2_gag(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) ackermann_in_gaa(0, N, s(N)) -> ackermann_out_gaa(0, N, s(N)) ackermann_in_gaa(s(M), 0, Val) -> U1_gaa(M, Val, ackermann_in_gga(M, s(0), Val)) U1_gaa(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gaa(s(M), 0, Val) ackermann_in_gaa(s(M), s(N), Val) -> U2_gaa(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) U2_gaa(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gaa(M, N, Val, ackermann_in_gaa(M, Val1, Val)) U3_gaa(M, N, Val, ackermann_out_gaa(M, Val1, Val)) -> ackermann_out_gaa(s(M), s(N), Val) U2_gag(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gag(M, N, Val, ackermann_in_gag(M, Val1, Val)) U3_gag(M, N, Val, ackermann_out_gag(M, Val1, Val)) -> ackermann_out_gag(s(M), s(N), Val) The argument filtering Pi contains the following mapping: ackermann_in_gag(x1, x2, x3) = ackermann_in_gag(x1, x3) 0 = 0 s(x1) = s(x1) ackermann_out_gag(x1, x2, x3) = ackermann_out_gag(x1, x3) U1_gag(x1, x2, x3) = U1_gag(x1, x2, x3) ackermann_in_ggg(x1, x2, x3) = ackermann_in_ggg(x1, x2, x3) ackermann_out_ggg(x1, x2, x3) = ackermann_out_ggg(x1, x2, x3) U1_ggg(x1, x2, x3) = U1_ggg(x1, x2, x3) U2_ggg(x1, x2, x3, x4) = U2_ggg(x1, x2, x3, x4) ackermann_in_gga(x1, x2, x3) = ackermann_in_gga(x1, x2) ackermann_out_gga(x1, x2, x3) = ackermann_out_gga(x1, x2, x3) U1_gga(x1, x2, x3) = U1_gga(x1, x3) U2_gga(x1, x2, x3, x4) = U2_gga(x1, x2, x4) U3_gga(x1, x2, x3, x4) = U3_gga(x1, x2, x4) U3_ggg(x1, x2, x3, x4) = U3_ggg(x1, x2, x3, x4) U2_gag(x1, x2, x3, x4) = U2_gag(x1, x3, x4) ackermann_in_gaa(x1, x2, x3) = ackermann_in_gaa(x1) ackermann_out_gaa(x1, x2, x3) = ackermann_out_gaa(x1) U1_gaa(x1, x2, x3) = U1_gaa(x1, x3) U2_gaa(x1, x2, x3, x4) = U2_gaa(x1, x4) U3_gaa(x1, x2, x3, x4) = U3_gaa(x1, x4) U3_gag(x1, x2, x3, x4) = U3_gag(x1, x3, x4) ACKERMANN_IN_GAG(x1, x2, x3) = ACKERMANN_IN_GAG(x1, x3) U1_GAG(x1, x2, x3) = U1_GAG(x1, x2, x3) ACKERMANN_IN_GGG(x1, x2, x3) = ACKERMANN_IN_GGG(x1, x2, x3) U1_GGG(x1, x2, x3) = U1_GGG(x1, x2, x3) U2_GGG(x1, x2, x3, x4) = U2_GGG(x1, x2, x3, x4) ACKERMANN_IN_GGA(x1, x2, x3) = ACKERMANN_IN_GGA(x1, x2) U1_GGA(x1, x2, x3) = U1_GGA(x1, x3) U2_GGA(x1, x2, x3, x4) = U2_GGA(x1, x2, x4) U3_GGA(x1, x2, x3, x4) = U3_GGA(x1, x2, x4) U3_GGG(x1, x2, x3, x4) = U3_GGG(x1, x2, x3, x4) U2_GAG(x1, x2, x3, x4) = U2_GAG(x1, x3, x4) ACKERMANN_IN_GAA(x1, x2, x3) = ACKERMANN_IN_GAA(x1) U1_GAA(x1, x2, x3) = U1_GAA(x1, x3) U2_GAA(x1, x2, x3, x4) = U2_GAA(x1, x4) U3_GAA(x1, x2, x3, x4) = U3_GAA(x1, x4) U3_GAG(x1, x2, x3, x4) = U3_GAG(x1, x3, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (47) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LOPSTR] contains 4 SCCs with 12 less nodes. ---------------------------------------- (48) Complex Obligation (AND) ---------------------------------------- (49) Obligation: Pi DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GGA(s(M), 0, Val) -> ACKERMANN_IN_GGA(M, s(0), Val) ACKERMANN_IN_GGA(s(M), s(N), Val) -> U2_GGA(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U2_GGA(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> ACKERMANN_IN_GGA(M, Val1, Val) ACKERMANN_IN_GGA(s(M), s(N), Val) -> ACKERMANN_IN_GGA(s(M), N, Val1) The TRS R consists of the following rules: ackermann_in_gag(0, N, s(N)) -> ackermann_out_gag(0, N, s(N)) ackermann_in_gag(s(M), 0, Val) -> U1_gag(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(0, N, s(N)) -> ackermann_out_ggg(0, N, s(N)) ackermann_in_ggg(s(M), 0, Val) -> U1_ggg(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(s(M), s(N), Val) -> U2_ggg(M, N, Val, ackermann_in_gga(s(M), N, Val1)) ackermann_in_gga(0, N, s(N)) -> ackermann_out_gga(0, N, s(N)) ackermann_in_gga(s(M), 0, Val) -> U1_gga(M, Val, ackermann_in_gga(M, s(0), Val)) ackermann_in_gga(s(M), s(N), Val) -> U2_gga(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U2_gga(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_gga(M, N, Val, ackermann_in_gga(M, Val1, Val)) U3_gga(M, N, Val, ackermann_out_gga(M, Val1, Val)) -> ackermann_out_gga(s(M), s(N), Val) U1_gga(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gga(s(M), 0, Val) U2_ggg(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_ggg(M, N, Val, ackermann_in_ggg(M, Val1, Val)) U3_ggg(M, N, Val, ackermann_out_ggg(M, Val1, Val)) -> ackermann_out_ggg(s(M), s(N), Val) U1_ggg(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_ggg(s(M), 0, Val) U1_gag(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_gag(s(M), 0, Val) ackermann_in_gag(s(M), s(N), Val) -> U2_gag(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) ackermann_in_gaa(0, N, s(N)) -> ackermann_out_gaa(0, N, s(N)) ackermann_in_gaa(s(M), 0, Val) -> U1_gaa(M, Val, ackermann_in_gga(M, s(0), Val)) U1_gaa(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gaa(s(M), 0, Val) ackermann_in_gaa(s(M), s(N), Val) -> U2_gaa(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) U2_gaa(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gaa(M, N, Val, ackermann_in_gaa(M, Val1, Val)) U3_gaa(M, N, Val, ackermann_out_gaa(M, Val1, Val)) -> ackermann_out_gaa(s(M), s(N), Val) U2_gag(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gag(M, N, Val, ackermann_in_gag(M, Val1, Val)) U3_gag(M, N, Val, ackermann_out_gag(M, Val1, Val)) -> ackermann_out_gag(s(M), s(N), Val) The argument filtering Pi contains the following mapping: ackermann_in_gag(x1, x2, x3) = ackermann_in_gag(x1, x3) 0 = 0 s(x1) = s(x1) ackermann_out_gag(x1, x2, x3) = ackermann_out_gag(x1, x3) U1_gag(x1, x2, x3) = U1_gag(x1, x2, x3) ackermann_in_ggg(x1, x2, x3) = ackermann_in_ggg(x1, x2, x3) ackermann_out_ggg(x1, x2, x3) = ackermann_out_ggg(x1, x2, x3) U1_ggg(x1, x2, x3) = U1_ggg(x1, x2, x3) U2_ggg(x1, x2, x3, x4) = U2_ggg(x1, x2, x3, x4) ackermann_in_gga(x1, x2, x3) = ackermann_in_gga(x1, x2) ackermann_out_gga(x1, x2, x3) = ackermann_out_gga(x1, x2, x3) U1_gga(x1, x2, x3) = U1_gga(x1, x3) U2_gga(x1, x2, x3, x4) = U2_gga(x1, x2, x4) U3_gga(x1, x2, x3, x4) = U3_gga(x1, x2, x4) U3_ggg(x1, x2, x3, x4) = U3_ggg(x1, x2, x3, x4) U2_gag(x1, x2, x3, x4) = U2_gag(x1, x3, x4) ackermann_in_gaa(x1, x2, x3) = ackermann_in_gaa(x1) ackermann_out_gaa(x1, x2, x3) = ackermann_out_gaa(x1) U1_gaa(x1, x2, x3) = U1_gaa(x1, x3) U2_gaa(x1, x2, x3, x4) = U2_gaa(x1, x4) U3_gaa(x1, x2, x3, x4) = U3_gaa(x1, x4) U3_gag(x1, x2, x3, x4) = U3_gag(x1, x3, x4) ACKERMANN_IN_GGA(x1, x2, x3) = ACKERMANN_IN_GGA(x1, x2) U2_GGA(x1, x2, x3, x4) = U2_GGA(x1, x2, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (50) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (51) Obligation: Pi DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GGA(s(M), 0, Val) -> ACKERMANN_IN_GGA(M, s(0), Val) ACKERMANN_IN_GGA(s(M), s(N), Val) -> U2_GGA(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U2_GGA(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> ACKERMANN_IN_GGA(M, Val1, Val) ACKERMANN_IN_GGA(s(M), s(N), Val) -> ACKERMANN_IN_GGA(s(M), N, Val1) The TRS R consists of the following rules: ackermann_in_gga(s(M), 0, Val) -> U1_gga(M, Val, ackermann_in_gga(M, s(0), Val)) ackermann_in_gga(s(M), s(N), Val) -> U2_gga(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U1_gga(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gga(s(M), 0, Val) U2_gga(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_gga(M, N, Val, ackermann_in_gga(M, Val1, Val)) ackermann_in_gga(0, N, s(N)) -> ackermann_out_gga(0, N, s(N)) U3_gga(M, N, Val, ackermann_out_gga(M, Val1, Val)) -> ackermann_out_gga(s(M), s(N), Val) The argument filtering Pi contains the following mapping: 0 = 0 s(x1) = s(x1) ackermann_in_gga(x1, x2, x3) = ackermann_in_gga(x1, x2) ackermann_out_gga(x1, x2, x3) = ackermann_out_gga(x1, x2, x3) U1_gga(x1, x2, x3) = U1_gga(x1, x3) U2_gga(x1, x2, x3, x4) = U2_gga(x1, x2, x4) U3_gga(x1, x2, x3, x4) = U3_gga(x1, x2, x4) ACKERMANN_IN_GGA(x1, x2, x3) = ACKERMANN_IN_GGA(x1, x2) U2_GGA(x1, x2, x3, x4) = U2_GGA(x1, x2, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (52) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (53) Obligation: Q DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GGA(s(M), 0) -> ACKERMANN_IN_GGA(M, s(0)) ACKERMANN_IN_GGA(s(M), s(N)) -> U2_GGA(M, N, ackermann_in_gga(s(M), N)) U2_GGA(M, N, ackermann_out_gga(s(M), N, Val1)) -> ACKERMANN_IN_GGA(M, Val1) ACKERMANN_IN_GGA(s(M), s(N)) -> ACKERMANN_IN_GGA(s(M), N) The TRS R consists of the following rules: ackermann_in_gga(s(M), 0) -> U1_gga(M, ackermann_in_gga(M, s(0))) ackermann_in_gga(s(M), s(N)) -> U2_gga(M, N, ackermann_in_gga(s(M), N)) U1_gga(M, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gga(s(M), 0, Val) U2_gga(M, N, ackermann_out_gga(s(M), N, Val1)) -> U3_gga(M, N, ackermann_in_gga(M, Val1)) ackermann_in_gga(0, N) -> ackermann_out_gga(0, N, s(N)) U3_gga(M, N, ackermann_out_gga(M, Val1, Val)) -> ackermann_out_gga(s(M), s(N), Val) The set Q consists of the following terms: ackermann_in_gga(x0, x1) U1_gga(x0, x1) U2_gga(x0, x1, x2) U3_gga(x0, x1, x2) We have to consider all (P,Q,R)-chains. ---------------------------------------- (54) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *ACKERMANN_IN_GGA(s(M), s(N)) -> ACKERMANN_IN_GGA(s(M), N) The graph contains the following edges 1 >= 1, 2 > 2 *ACKERMANN_IN_GGA(s(M), s(N)) -> U2_GGA(M, N, ackermann_in_gga(s(M), N)) The graph contains the following edges 1 > 1, 2 > 2 *U2_GGA(M, N, ackermann_out_gga(s(M), N, Val1)) -> ACKERMANN_IN_GGA(M, Val1) The graph contains the following edges 1 >= 1, 3 > 1, 3 > 2 *ACKERMANN_IN_GGA(s(M), 0) -> ACKERMANN_IN_GGA(M, s(0)) The graph contains the following edges 1 > 1 ---------------------------------------- (55) YES ---------------------------------------- (56) Obligation: Pi DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GAA(s(M), s(N), Val) -> U2_GAA(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) U2_GAA(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> ACKERMANN_IN_GAA(M, Val1, Val) ACKERMANN_IN_GAA(s(M), s(N), Val) -> ACKERMANN_IN_GAA(s(M), N, Val1) The TRS R consists of the following rules: ackermann_in_gag(0, N, s(N)) -> ackermann_out_gag(0, N, s(N)) ackermann_in_gag(s(M), 0, Val) -> U1_gag(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(0, N, s(N)) -> ackermann_out_ggg(0, N, s(N)) ackermann_in_ggg(s(M), 0, Val) -> U1_ggg(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(s(M), s(N), Val) -> U2_ggg(M, N, Val, ackermann_in_gga(s(M), N, Val1)) ackermann_in_gga(0, N, s(N)) -> ackermann_out_gga(0, N, s(N)) ackermann_in_gga(s(M), 0, Val) -> U1_gga(M, Val, ackermann_in_gga(M, s(0), Val)) ackermann_in_gga(s(M), s(N), Val) -> U2_gga(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U2_gga(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_gga(M, N, Val, ackermann_in_gga(M, Val1, Val)) U3_gga(M, N, Val, ackermann_out_gga(M, Val1, Val)) -> ackermann_out_gga(s(M), s(N), Val) U1_gga(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gga(s(M), 0, Val) U2_ggg(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_ggg(M, N, Val, ackermann_in_ggg(M, Val1, Val)) U3_ggg(M, N, Val, ackermann_out_ggg(M, Val1, Val)) -> ackermann_out_ggg(s(M), s(N), Val) U1_ggg(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_ggg(s(M), 0, Val) U1_gag(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_gag(s(M), 0, Val) ackermann_in_gag(s(M), s(N), Val) -> U2_gag(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) ackermann_in_gaa(0, N, s(N)) -> ackermann_out_gaa(0, N, s(N)) ackermann_in_gaa(s(M), 0, Val) -> U1_gaa(M, Val, ackermann_in_gga(M, s(0), Val)) U1_gaa(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gaa(s(M), 0, Val) ackermann_in_gaa(s(M), s(N), Val) -> U2_gaa(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) U2_gaa(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gaa(M, N, Val, ackermann_in_gaa(M, Val1, Val)) U3_gaa(M, N, Val, ackermann_out_gaa(M, Val1, Val)) -> ackermann_out_gaa(s(M), s(N), Val) U2_gag(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gag(M, N, Val, ackermann_in_gag(M, Val1, Val)) U3_gag(M, N, Val, ackermann_out_gag(M, Val1, Val)) -> ackermann_out_gag(s(M), s(N), Val) The argument filtering Pi contains the following mapping: ackermann_in_gag(x1, x2, x3) = ackermann_in_gag(x1, x3) 0 = 0 s(x1) = s(x1) ackermann_out_gag(x1, x2, x3) = ackermann_out_gag(x1, x3) U1_gag(x1, x2, x3) = U1_gag(x1, x2, x3) ackermann_in_ggg(x1, x2, x3) = ackermann_in_ggg(x1, x2, x3) ackermann_out_ggg(x1, x2, x3) = ackermann_out_ggg(x1, x2, x3) U1_ggg(x1, x2, x3) = U1_ggg(x1, x2, x3) U2_ggg(x1, x2, x3, x4) = U2_ggg(x1, x2, x3, x4) ackermann_in_gga(x1, x2, x3) = ackermann_in_gga(x1, x2) ackermann_out_gga(x1, x2, x3) = ackermann_out_gga(x1, x2, x3) U1_gga(x1, x2, x3) = U1_gga(x1, x3) U2_gga(x1, x2, x3, x4) = U2_gga(x1, x2, x4) U3_gga(x1, x2, x3, x4) = U3_gga(x1, x2, x4) U3_ggg(x1, x2, x3, x4) = U3_ggg(x1, x2, x3, x4) U2_gag(x1, x2, x3, x4) = U2_gag(x1, x3, x4) ackermann_in_gaa(x1, x2, x3) = ackermann_in_gaa(x1) ackermann_out_gaa(x1, x2, x3) = ackermann_out_gaa(x1) U1_gaa(x1, x2, x3) = U1_gaa(x1, x3) U2_gaa(x1, x2, x3, x4) = U2_gaa(x1, x4) U3_gaa(x1, x2, x3, x4) = U3_gaa(x1, x4) U3_gag(x1, x2, x3, x4) = U3_gag(x1, x3, x4) ACKERMANN_IN_GAA(x1, x2, x3) = ACKERMANN_IN_GAA(x1) U2_GAA(x1, x2, x3, x4) = U2_GAA(x1, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (57) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (58) Obligation: Pi DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GAA(s(M), s(N), Val) -> U2_GAA(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) U2_GAA(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> ACKERMANN_IN_GAA(M, Val1, Val) ACKERMANN_IN_GAA(s(M), s(N), Val) -> ACKERMANN_IN_GAA(s(M), N, Val1) The TRS R consists of the following rules: ackermann_in_gaa(s(M), 0, Val) -> U1_gaa(M, Val, ackermann_in_gga(M, s(0), Val)) ackermann_in_gaa(s(M), s(N), Val) -> U2_gaa(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) U1_gaa(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gaa(s(M), 0, Val) U2_gaa(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gaa(M, N, Val, ackermann_in_gaa(M, Val1, Val)) ackermann_in_gga(0, N, s(N)) -> ackermann_out_gga(0, N, s(N)) ackermann_in_gga(s(M), s(N), Val) -> U2_gga(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U3_gaa(M, N, Val, ackermann_out_gaa(M, Val1, Val)) -> ackermann_out_gaa(s(M), s(N), Val) U2_gga(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_gga(M, N, Val, ackermann_in_gga(M, Val1, Val)) ackermann_in_gaa(0, N, s(N)) -> ackermann_out_gaa(0, N, s(N)) ackermann_in_gga(s(M), 0, Val) -> U1_gga(M, Val, ackermann_in_gga(M, s(0), Val)) U3_gga(M, N, Val, ackermann_out_gga(M, Val1, Val)) -> ackermann_out_gga(s(M), s(N), Val) U1_gga(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gga(s(M), 0, Val) The argument filtering Pi contains the following mapping: 0 = 0 s(x1) = s(x1) ackermann_in_gga(x1, x2, x3) = ackermann_in_gga(x1, x2) ackermann_out_gga(x1, x2, x3) = ackermann_out_gga(x1, x2, x3) U1_gga(x1, x2, x3) = U1_gga(x1, x3) U2_gga(x1, x2, x3, x4) = U2_gga(x1, x2, x4) U3_gga(x1, x2, x3, x4) = U3_gga(x1, x2, x4) ackermann_in_gaa(x1, x2, x3) = ackermann_in_gaa(x1) ackermann_out_gaa(x1, x2, x3) = ackermann_out_gaa(x1) U1_gaa(x1, x2, x3) = U1_gaa(x1, x3) U2_gaa(x1, x2, x3, x4) = U2_gaa(x1, x4) U3_gaa(x1, x2, x3, x4) = U3_gaa(x1, x4) ACKERMANN_IN_GAA(x1, x2, x3) = ACKERMANN_IN_GAA(x1) U2_GAA(x1, x2, x3, x4) = U2_GAA(x1, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (59) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (60) Obligation: Q DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GAA(s(M)) -> U2_GAA(M, ackermann_in_gaa(s(M))) U2_GAA(M, ackermann_out_gaa(s(M))) -> ACKERMANN_IN_GAA(M) ACKERMANN_IN_GAA(s(M)) -> ACKERMANN_IN_GAA(s(M)) The TRS R consists of the following rules: ackermann_in_gaa(s(M)) -> U1_gaa(M, ackermann_in_gga(M, s(0))) ackermann_in_gaa(s(M)) -> U2_gaa(M, ackermann_in_gaa(s(M))) U1_gaa(M, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gaa(s(M)) U2_gaa(M, ackermann_out_gaa(s(M))) -> U3_gaa(M, ackermann_in_gaa(M)) ackermann_in_gga(0, N) -> ackermann_out_gga(0, N, s(N)) ackermann_in_gga(s(M), s(N)) -> U2_gga(M, N, ackermann_in_gga(s(M), N)) U3_gaa(M, ackermann_out_gaa(M)) -> ackermann_out_gaa(s(M)) U2_gga(M, N, ackermann_out_gga(s(M), N, Val1)) -> U3_gga(M, N, ackermann_in_gga(M, Val1)) ackermann_in_gaa(0) -> ackermann_out_gaa(0) ackermann_in_gga(s(M), 0) -> U1_gga(M, ackermann_in_gga(M, s(0))) U3_gga(M, N, ackermann_out_gga(M, Val1, Val)) -> ackermann_out_gga(s(M), s(N), Val) U1_gga(M, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gga(s(M), 0, Val) The set Q consists of the following terms: ackermann_in_gaa(x0) U1_gaa(x0, x1) U2_gaa(x0, x1) ackermann_in_gga(x0, x1) U3_gaa(x0, x1) U2_gga(x0, x1, x2) U3_gga(x0, x1, x2) U1_gga(x0, x1) We have to consider all (P,Q,R)-chains. ---------------------------------------- (61) QDPQMonotonicMRRProof (EQUIVALENT) 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. Strictly oriented dependency pairs: ACKERMANN_IN_GAA(s(M)) -> U2_GAA(M, ackermann_in_gaa(s(M))) U2_GAA(M, ackermann_out_gaa(s(M))) -> ACKERMANN_IN_GAA(M) Used ordering: Polynomial interpretation [POLO]: POL(0) = 1 POL(ACKERMANN_IN_GAA(x_1)) = 1 + x_1 POL(U1_gaa(x_1, x_2)) = 2 POL(U1_gga(x_1, x_2)) = 2 POL(U2_GAA(x_1, x_2)) = 2 + x_1 POL(U2_gaa(x_1, x_2)) = 2 POL(U2_gga(x_1, x_2, x_3)) = 2 + 2*x_1 POL(U3_gaa(x_1, x_2)) = 0 POL(U3_gga(x_1, x_2, x_3)) = 2 POL(ackermann_in_gaa(x_1)) = 2 POL(ackermann_in_gga(x_1, x_2)) = 1 + x_1 POL(ackermann_out_gaa(x_1)) = 0 POL(ackermann_out_gga(x_1, x_2, x_3)) = 0 POL(s(x_1)) = 2 + 2*x_1 ---------------------------------------- (62) Obligation: Q DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GAA(s(M)) -> ACKERMANN_IN_GAA(s(M)) The TRS R consists of the following rules: ackermann_in_gaa(s(M)) -> U1_gaa(M, ackermann_in_gga(M, s(0))) ackermann_in_gaa(s(M)) -> U2_gaa(M, ackermann_in_gaa(s(M))) U1_gaa(M, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gaa(s(M)) U2_gaa(M, ackermann_out_gaa(s(M))) -> U3_gaa(M, ackermann_in_gaa(M)) ackermann_in_gga(0, N) -> ackermann_out_gga(0, N, s(N)) ackermann_in_gga(s(M), s(N)) -> U2_gga(M, N, ackermann_in_gga(s(M), N)) U3_gaa(M, ackermann_out_gaa(M)) -> ackermann_out_gaa(s(M)) U2_gga(M, N, ackermann_out_gga(s(M), N, Val1)) -> U3_gga(M, N, ackermann_in_gga(M, Val1)) ackermann_in_gaa(0) -> ackermann_out_gaa(0) ackermann_in_gga(s(M), 0) -> U1_gga(M, ackermann_in_gga(M, s(0))) U3_gga(M, N, ackermann_out_gga(M, Val1, Val)) -> ackermann_out_gga(s(M), s(N), Val) U1_gga(M, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gga(s(M), 0, Val) The set Q consists of the following terms: ackermann_in_gaa(x0) U1_gaa(x0, x1) U2_gaa(x0, x1) ackermann_in_gga(x0, x1) U3_gaa(x0, x1) U2_gga(x0, x1, x2) U3_gga(x0, x1, x2) U1_gga(x0, x1) We have to consider all (P,Q,R)-chains. ---------------------------------------- (63) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (64) Obligation: Q DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GAA(s(M)) -> ACKERMANN_IN_GAA(s(M)) R is empty. The set Q consists of the following terms: ackermann_in_gaa(x0) U1_gaa(x0, x1) U2_gaa(x0, x1) ackermann_in_gga(x0, x1) U3_gaa(x0, x1) U2_gga(x0, x1, x2) U3_gga(x0, x1, x2) U1_gga(x0, x1) We have to consider all (P,Q,R)-chains. ---------------------------------------- (65) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. ackermann_in_gaa(x0) U1_gaa(x0, x1) U2_gaa(x0, x1) ackermann_in_gga(x0, x1) U3_gaa(x0, x1) U2_gga(x0, x1, x2) U3_gga(x0, x1, x2) U1_gga(x0, x1) ---------------------------------------- (66) Obligation: Q DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GAA(s(M)) -> ACKERMANN_IN_GAA(s(M)) R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (67) NonTerminationLoopProof (COMPLETE) We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. Found a loop by semiunifying a rule from P directly. s = ACKERMANN_IN_GAA(s(M)) evaluates to t =ACKERMANN_IN_GAA(s(M)) Thus s starts an infinite chain as s semiunifies with t with the following substitutions: * Matcher: [ ] * Semiunifier: [ ] -------------------------------------------------------------------------------- Rewriting sequence The DP semiunifies directly so there is only one rewrite step from ACKERMANN_IN_GAA(s(M)) to ACKERMANN_IN_GAA(s(M)). ---------------------------------------- (68) NO ---------------------------------------- (69) Obligation: Pi DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GGG(s(M), 0, Val) -> ACKERMANN_IN_GGG(M, s(0), Val) ACKERMANN_IN_GGG(s(M), s(N), Val) -> U2_GGG(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U2_GGG(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> ACKERMANN_IN_GGG(M, Val1, Val) The TRS R consists of the following rules: ackermann_in_gag(0, N, s(N)) -> ackermann_out_gag(0, N, s(N)) ackermann_in_gag(s(M), 0, Val) -> U1_gag(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(0, N, s(N)) -> ackermann_out_ggg(0, N, s(N)) ackermann_in_ggg(s(M), 0, Val) -> U1_ggg(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(s(M), s(N), Val) -> U2_ggg(M, N, Val, ackermann_in_gga(s(M), N, Val1)) ackermann_in_gga(0, N, s(N)) -> ackermann_out_gga(0, N, s(N)) ackermann_in_gga(s(M), 0, Val) -> U1_gga(M, Val, ackermann_in_gga(M, s(0), Val)) ackermann_in_gga(s(M), s(N), Val) -> U2_gga(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U2_gga(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_gga(M, N, Val, ackermann_in_gga(M, Val1, Val)) U3_gga(M, N, Val, ackermann_out_gga(M, Val1, Val)) -> ackermann_out_gga(s(M), s(N), Val) U1_gga(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gga(s(M), 0, Val) U2_ggg(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_ggg(M, N, Val, ackermann_in_ggg(M, Val1, Val)) U3_ggg(M, N, Val, ackermann_out_ggg(M, Val1, Val)) -> ackermann_out_ggg(s(M), s(N), Val) U1_ggg(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_ggg(s(M), 0, Val) U1_gag(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_gag(s(M), 0, Val) ackermann_in_gag(s(M), s(N), Val) -> U2_gag(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) ackermann_in_gaa(0, N, s(N)) -> ackermann_out_gaa(0, N, s(N)) ackermann_in_gaa(s(M), 0, Val) -> U1_gaa(M, Val, ackermann_in_gga(M, s(0), Val)) U1_gaa(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gaa(s(M), 0, Val) ackermann_in_gaa(s(M), s(N), Val) -> U2_gaa(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) U2_gaa(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gaa(M, N, Val, ackermann_in_gaa(M, Val1, Val)) U3_gaa(M, N, Val, ackermann_out_gaa(M, Val1, Val)) -> ackermann_out_gaa(s(M), s(N), Val) U2_gag(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gag(M, N, Val, ackermann_in_gag(M, Val1, Val)) U3_gag(M, N, Val, ackermann_out_gag(M, Val1, Val)) -> ackermann_out_gag(s(M), s(N), Val) The argument filtering Pi contains the following mapping: ackermann_in_gag(x1, x2, x3) = ackermann_in_gag(x1, x3) 0 = 0 s(x1) = s(x1) ackermann_out_gag(x1, x2, x3) = ackermann_out_gag(x1, x3) U1_gag(x1, x2, x3) = U1_gag(x1, x2, x3) ackermann_in_ggg(x1, x2, x3) = ackermann_in_ggg(x1, x2, x3) ackermann_out_ggg(x1, x2, x3) = ackermann_out_ggg(x1, x2, x3) U1_ggg(x1, x2, x3) = U1_ggg(x1, x2, x3) U2_ggg(x1, x2, x3, x4) = U2_ggg(x1, x2, x3, x4) ackermann_in_gga(x1, x2, x3) = ackermann_in_gga(x1, x2) ackermann_out_gga(x1, x2, x3) = ackermann_out_gga(x1, x2, x3) U1_gga(x1, x2, x3) = U1_gga(x1, x3) U2_gga(x1, x2, x3, x4) = U2_gga(x1, x2, x4) U3_gga(x1, x2, x3, x4) = U3_gga(x1, x2, x4) U3_ggg(x1, x2, x3, x4) = U3_ggg(x1, x2, x3, x4) U2_gag(x1, x2, x3, x4) = U2_gag(x1, x3, x4) ackermann_in_gaa(x1, x2, x3) = ackermann_in_gaa(x1) ackermann_out_gaa(x1, x2, x3) = ackermann_out_gaa(x1) U1_gaa(x1, x2, x3) = U1_gaa(x1, x3) U2_gaa(x1, x2, x3, x4) = U2_gaa(x1, x4) U3_gaa(x1, x2, x3, x4) = U3_gaa(x1, x4) U3_gag(x1, x2, x3, x4) = U3_gag(x1, x3, x4) ACKERMANN_IN_GGG(x1, x2, x3) = ACKERMANN_IN_GGG(x1, x2, x3) U2_GGG(x1, x2, x3, x4) = U2_GGG(x1, x2, x3, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (70) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (71) Obligation: Pi DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GGG(s(M), 0, Val) -> ACKERMANN_IN_GGG(M, s(0), Val) ACKERMANN_IN_GGG(s(M), s(N), Val) -> U2_GGG(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U2_GGG(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> ACKERMANN_IN_GGG(M, Val1, Val) The TRS R consists of the following rules: ackermann_in_gga(s(M), 0, Val) -> U1_gga(M, Val, ackermann_in_gga(M, s(0), Val)) ackermann_in_gga(s(M), s(N), Val) -> U2_gga(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U1_gga(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gga(s(M), 0, Val) U2_gga(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_gga(M, N, Val, ackermann_in_gga(M, Val1, Val)) ackermann_in_gga(0, N, s(N)) -> ackermann_out_gga(0, N, s(N)) U3_gga(M, N, Val, ackermann_out_gga(M, Val1, Val)) -> ackermann_out_gga(s(M), s(N), Val) The argument filtering Pi contains the following mapping: 0 = 0 s(x1) = s(x1) ackermann_in_gga(x1, x2, x3) = ackermann_in_gga(x1, x2) ackermann_out_gga(x1, x2, x3) = ackermann_out_gga(x1, x2, x3) U1_gga(x1, x2, x3) = U1_gga(x1, x3) U2_gga(x1, x2, x3, x4) = U2_gga(x1, x2, x4) U3_gga(x1, x2, x3, x4) = U3_gga(x1, x2, x4) ACKERMANN_IN_GGG(x1, x2, x3) = ACKERMANN_IN_GGG(x1, x2, x3) U2_GGG(x1, x2, x3, x4) = U2_GGG(x1, x2, x3, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (72) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (73) Obligation: Q DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GGG(s(M), 0, Val) -> ACKERMANN_IN_GGG(M, s(0), Val) ACKERMANN_IN_GGG(s(M), s(N), Val) -> U2_GGG(M, N, Val, ackermann_in_gga(s(M), N)) U2_GGG(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> ACKERMANN_IN_GGG(M, Val1, Val) The TRS R consists of the following rules: ackermann_in_gga(s(M), 0) -> U1_gga(M, ackermann_in_gga(M, s(0))) ackermann_in_gga(s(M), s(N)) -> U2_gga(M, N, ackermann_in_gga(s(M), N)) U1_gga(M, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gga(s(M), 0, Val) U2_gga(M, N, ackermann_out_gga(s(M), N, Val1)) -> U3_gga(M, N, ackermann_in_gga(M, Val1)) ackermann_in_gga(0, N) -> ackermann_out_gga(0, N, s(N)) U3_gga(M, N, ackermann_out_gga(M, Val1, Val)) -> ackermann_out_gga(s(M), s(N), Val) The set Q consists of the following terms: ackermann_in_gga(x0, x1) U1_gga(x0, x1) U2_gga(x0, x1, x2) U3_gga(x0, x1, x2) We have to consider all (P,Q,R)-chains. ---------------------------------------- (74) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *ACKERMANN_IN_GGG(s(M), s(N), Val) -> U2_GGG(M, N, Val, ackermann_in_gga(s(M), N)) The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 *U2_GGG(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> ACKERMANN_IN_GGG(M, Val1, Val) The graph contains the following edges 1 >= 1, 4 > 1, 4 > 2, 3 >= 3 *ACKERMANN_IN_GGG(s(M), 0, Val) -> ACKERMANN_IN_GGG(M, s(0), Val) The graph contains the following edges 1 > 1, 3 >= 3 ---------------------------------------- (75) YES ---------------------------------------- (76) Obligation: Pi DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GAG(s(M), s(N), Val) -> U2_GAG(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) U2_GAG(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> ACKERMANN_IN_GAG(M, Val1, Val) The TRS R consists of the following rules: ackermann_in_gag(0, N, s(N)) -> ackermann_out_gag(0, N, s(N)) ackermann_in_gag(s(M), 0, Val) -> U1_gag(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(0, N, s(N)) -> ackermann_out_ggg(0, N, s(N)) ackermann_in_ggg(s(M), 0, Val) -> U1_ggg(M, Val, ackermann_in_ggg(M, s(0), Val)) ackermann_in_ggg(s(M), s(N), Val) -> U2_ggg(M, N, Val, ackermann_in_gga(s(M), N, Val1)) ackermann_in_gga(0, N, s(N)) -> ackermann_out_gga(0, N, s(N)) ackermann_in_gga(s(M), 0, Val) -> U1_gga(M, Val, ackermann_in_gga(M, s(0), Val)) ackermann_in_gga(s(M), s(N), Val) -> U2_gga(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U2_gga(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_gga(M, N, Val, ackermann_in_gga(M, Val1, Val)) U3_gga(M, N, Val, ackermann_out_gga(M, Val1, Val)) -> ackermann_out_gga(s(M), s(N), Val) U1_gga(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gga(s(M), 0, Val) U2_ggg(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_ggg(M, N, Val, ackermann_in_ggg(M, Val1, Val)) U3_ggg(M, N, Val, ackermann_out_ggg(M, Val1, Val)) -> ackermann_out_ggg(s(M), s(N), Val) U1_ggg(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_ggg(s(M), 0, Val) U1_gag(M, Val, ackermann_out_ggg(M, s(0), Val)) -> ackermann_out_gag(s(M), 0, Val) ackermann_in_gag(s(M), s(N), Val) -> U2_gag(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) ackermann_in_gaa(0, N, s(N)) -> ackermann_out_gaa(0, N, s(N)) ackermann_in_gaa(s(M), 0, Val) -> U1_gaa(M, Val, ackermann_in_gga(M, s(0), Val)) U1_gaa(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gaa(s(M), 0, Val) ackermann_in_gaa(s(M), s(N), Val) -> U2_gaa(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) U2_gaa(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gaa(M, N, Val, ackermann_in_gaa(M, Val1, Val)) U3_gaa(M, N, Val, ackermann_out_gaa(M, Val1, Val)) -> ackermann_out_gaa(s(M), s(N), Val) U2_gag(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gag(M, N, Val, ackermann_in_gag(M, Val1, Val)) U3_gag(M, N, Val, ackermann_out_gag(M, Val1, Val)) -> ackermann_out_gag(s(M), s(N), Val) The argument filtering Pi contains the following mapping: ackermann_in_gag(x1, x2, x3) = ackermann_in_gag(x1, x3) 0 = 0 s(x1) = s(x1) ackermann_out_gag(x1, x2, x3) = ackermann_out_gag(x1, x3) U1_gag(x1, x2, x3) = U1_gag(x1, x2, x3) ackermann_in_ggg(x1, x2, x3) = ackermann_in_ggg(x1, x2, x3) ackermann_out_ggg(x1, x2, x3) = ackermann_out_ggg(x1, x2, x3) U1_ggg(x1, x2, x3) = U1_ggg(x1, x2, x3) U2_ggg(x1, x2, x3, x4) = U2_ggg(x1, x2, x3, x4) ackermann_in_gga(x1, x2, x3) = ackermann_in_gga(x1, x2) ackermann_out_gga(x1, x2, x3) = ackermann_out_gga(x1, x2, x3) U1_gga(x1, x2, x3) = U1_gga(x1, x3) U2_gga(x1, x2, x3, x4) = U2_gga(x1, x2, x4) U3_gga(x1, x2, x3, x4) = U3_gga(x1, x2, x4) U3_ggg(x1, x2, x3, x4) = U3_ggg(x1, x2, x3, x4) U2_gag(x1, x2, x3, x4) = U2_gag(x1, x3, x4) ackermann_in_gaa(x1, x2, x3) = ackermann_in_gaa(x1) ackermann_out_gaa(x1, x2, x3) = ackermann_out_gaa(x1) U1_gaa(x1, x2, x3) = U1_gaa(x1, x3) U2_gaa(x1, x2, x3, x4) = U2_gaa(x1, x4) U3_gaa(x1, x2, x3, x4) = U3_gaa(x1, x4) U3_gag(x1, x2, x3, x4) = U3_gag(x1, x3, x4) ACKERMANN_IN_GAG(x1, x2, x3) = ACKERMANN_IN_GAG(x1, x3) U2_GAG(x1, x2, x3, x4) = U2_GAG(x1, x3, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (77) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (78) Obligation: Pi DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GAG(s(M), s(N), Val) -> U2_GAG(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) U2_GAG(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> ACKERMANN_IN_GAG(M, Val1, Val) The TRS R consists of the following rules: ackermann_in_gaa(s(M), 0, Val) -> U1_gaa(M, Val, ackermann_in_gga(M, s(0), Val)) ackermann_in_gaa(s(M), s(N), Val) -> U2_gaa(M, N, Val, ackermann_in_gaa(s(M), N, Val1)) U1_gaa(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gaa(s(M), 0, Val) U2_gaa(M, N, Val, ackermann_out_gaa(s(M), N, Val1)) -> U3_gaa(M, N, Val, ackermann_in_gaa(M, Val1, Val)) ackermann_in_gga(0, N, s(N)) -> ackermann_out_gga(0, N, s(N)) ackermann_in_gga(s(M), s(N), Val) -> U2_gga(M, N, Val, ackermann_in_gga(s(M), N, Val1)) U3_gaa(M, N, Val, ackermann_out_gaa(M, Val1, Val)) -> ackermann_out_gaa(s(M), s(N), Val) U2_gga(M, N, Val, ackermann_out_gga(s(M), N, Val1)) -> U3_gga(M, N, Val, ackermann_in_gga(M, Val1, Val)) ackermann_in_gaa(0, N, s(N)) -> ackermann_out_gaa(0, N, s(N)) ackermann_in_gga(s(M), 0, Val) -> U1_gga(M, Val, ackermann_in_gga(M, s(0), Val)) U3_gga(M, N, Val, ackermann_out_gga(M, Val1, Val)) -> ackermann_out_gga(s(M), s(N), Val) U1_gga(M, Val, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gga(s(M), 0, Val) The argument filtering Pi contains the following mapping: 0 = 0 s(x1) = s(x1) ackermann_in_gga(x1, x2, x3) = ackermann_in_gga(x1, x2) ackermann_out_gga(x1, x2, x3) = ackermann_out_gga(x1, x2, x3) U1_gga(x1, x2, x3) = U1_gga(x1, x3) U2_gga(x1, x2, x3, x4) = U2_gga(x1, x2, x4) U3_gga(x1, x2, x3, x4) = U3_gga(x1, x2, x4) ackermann_in_gaa(x1, x2, x3) = ackermann_in_gaa(x1) ackermann_out_gaa(x1, x2, x3) = ackermann_out_gaa(x1) U1_gaa(x1, x2, x3) = U1_gaa(x1, x3) U2_gaa(x1, x2, x3, x4) = U2_gaa(x1, x4) U3_gaa(x1, x2, x3, x4) = U3_gaa(x1, x4) ACKERMANN_IN_GAG(x1, x2, x3) = ACKERMANN_IN_GAG(x1, x3) U2_GAG(x1, x2, x3, x4) = U2_GAG(x1, x3, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (79) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (80) Obligation: Q DP problem: The TRS P consists of the following rules: ACKERMANN_IN_GAG(s(M), Val) -> U2_GAG(M, Val, ackermann_in_gaa(s(M))) U2_GAG(M, Val, ackermann_out_gaa(s(M))) -> ACKERMANN_IN_GAG(M, Val) The TRS R consists of the following rules: ackermann_in_gaa(s(M)) -> U1_gaa(M, ackermann_in_gga(M, s(0))) ackermann_in_gaa(s(M)) -> U2_gaa(M, ackermann_in_gaa(s(M))) U1_gaa(M, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gaa(s(M)) U2_gaa(M, ackermann_out_gaa(s(M))) -> U3_gaa(M, ackermann_in_gaa(M)) ackermann_in_gga(0, N) -> ackermann_out_gga(0, N, s(N)) ackermann_in_gga(s(M), s(N)) -> U2_gga(M, N, ackermann_in_gga(s(M), N)) U3_gaa(M, ackermann_out_gaa(M)) -> ackermann_out_gaa(s(M)) U2_gga(M, N, ackermann_out_gga(s(M), N, Val1)) -> U3_gga(M, N, ackermann_in_gga(M, Val1)) ackermann_in_gaa(0) -> ackermann_out_gaa(0) ackermann_in_gga(s(M), 0) -> U1_gga(M, ackermann_in_gga(M, s(0))) U3_gga(M, N, ackermann_out_gga(M, Val1, Val)) -> ackermann_out_gga(s(M), s(N), Val) U1_gga(M, ackermann_out_gga(M, s(0), Val)) -> ackermann_out_gga(s(M), 0, Val) The set Q consists of the following terms: ackermann_in_gaa(x0) U1_gaa(x0, x1) U2_gaa(x0, x1) ackermann_in_gga(x0, x1) U3_gaa(x0, x1) U2_gga(x0, x1, x2) U3_gga(x0, x1, x2) U1_gga(x0, x1) We have to consider all (P,Q,R)-chains. ---------------------------------------- (81) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U2_GAG(M, Val, ackermann_out_gaa(s(M))) -> ACKERMANN_IN_GAG(M, Val) The graph contains the following edges 1 >= 1, 3 > 1, 2 >= 2 *ACKERMANN_IN_GAG(s(M), Val) -> U2_GAG(M, Val, ackermann_in_gaa(s(M))) The graph contains the following edges 1 > 1, 2 >= 2 ---------------------------------------- (82) YES ---------------------------------------- (83) PrologToTRSTransformerProof (SOUND) Transformed Prolog program to TRS. { "root": 3, "program": { "directives": [], "clauses": [ [ "(ackermann (0) N (s N))", null ], [ "(ackermann (s M) (0) Val)", "(ackermann M (s (0)) Val)" ], [ "(ackermann (s M) (s N) Val)", "(',' (ackermann (s M) N Val1) (ackermann M Val1 Val))" ] ] }, "graph": { "nodes": { "88": { "goal": [{ "clause": 1, "scope": 1, "term": "(ackermann T1 T2 T3)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T3" ], "free": [], "exprvars": [] } }, "89": { "goal": [{ "clause": 2, "scope": 1, "term": "(ackermann T1 T2 T3)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T3" ], "free": [], "exprvars": [] } }, "type": "Nodes", "273": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "350": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T53 T55 X124)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T53", "T55" ], "free": ["X124"], "exprvars": [] } }, "352": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "276": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "234": { "goal": [ { "clause": 1, "scope": 2, "term": "(ackermann T17 (s (0)) T18)" }, { "clause": 2, "scope": 2, "term": "(ackermann T17 (s (0)) T18)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T17", "T18" ], "free": [], "exprvars": [] } }, "278": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "355": { "goal": [ { "clause": 0, "scope": 6, "term": "(ackermann T24 T26 T25)" }, { "clause": 1, "scope": 6, "term": "(ackermann T24 T26 T25)" }, { "clause": 2, "scope": 6, "term": "(ackermann T24 T26 T25)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T24", "T25", "T26" ], "free": [], "exprvars": [] } }, "236": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "313": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T35) (0) X81)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T35"], "free": ["X81"], "exprvars": [] } }, "357": { "goal": [{ "clause": 0, "scope": 6, "term": "(ackermann T24 T26 T25)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T24", "T25", "T26" ], "free": [], "exprvars": [] } }, "511": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T108) T110 X215)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T108"], "free": ["X215"], "exprvars": [] } }, "358": { "goal": [ { "clause": 1, "scope": 6, "term": "(ackermann T24 T26 T25)" }, { "clause": 2, "scope": 6, "term": "(ackermann T24 T26 T25)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T24", "T25", "T26" ], "free": [], "exprvars": [] } }, "512": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T108 T111 X216)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T108"], "free": ["X216"], "exprvars": [] } }, "315": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T35 T36 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T35", "T36" ], "free": ["X82"], "exprvars": [] } }, "359": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "91": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T17 (s (0)) T18)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T17", "T18" ], "free": [], "exprvars": [] } }, "239": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "92": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "515": { "goal": [ { "clause": 0, "scope": 8, "term": "(ackermann T108 T111 X216)" }, { "clause": 1, "scope": 8, "term": "(ackermann T108 T111 X216)" }, { "clause": 2, "scope": 8, "term": "(ackermann T108 T111 X216)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T108"], "free": ["X216"], "exprvars": [] } }, "516": { "goal": [{ "clause": 0, "scope": 8, "term": "(ackermann T108 T111 X216)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T108"], "free": ["X216"], "exprvars": [] } }, "319": { "goal": [ { "clause": 0, "scope": 5, "term": "(ackermann T35 T36 X82)" }, { "clause": 1, "scope": 5, "term": "(ackermann T35 T36 X82)" }, { "clause": 2, "scope": 5, "term": "(ackermann T35 T36 X82)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T35", "T36" ], "free": ["X82"], "exprvars": [] } }, "517": { "goal": [ { "clause": 1, "scope": 8, "term": "(ackermann T108 T111 X216)" }, { "clause": 2, "scope": 8, "term": "(ackermann T108 T111 X216)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T108"], "free": ["X216"], "exprvars": [] } }, "282": { "goal": [{ "clause": 2, "scope": 4, "term": "(ackermann T31 (s (0)) X59)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T31"], "free": ["X59"], "exprvars": [] } }, "360": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "240": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "361": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "362": { "goal": [{ "clause": 1, "scope": 6, "term": "(ackermann T24 T26 T25)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T24", "T25", "T26" ], "free": [], "exprvars": [] } }, "242": { "goal": [{ "clause": 2, "scope": 2, "term": "(ackermann T17 (s (0)) T18)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T17", "T18" ], "free": [], "exprvars": [] } }, "363": { "goal": [{ "clause": 2, "scope": 6, "term": "(ackermann T24 T26 T25)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T24", "T25", "T26" ], "free": [], "exprvars": [] } }, "320": { "goal": [{ "clause": 0, "scope": 5, "term": "(ackermann T35 T36 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T35", "T36" ], "free": ["X82"], "exprvars": [] } }, "485": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (ackermann (s T94) T97 X180) (ackermann T94 X180 T96))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T94", "T96" ], "free": ["X180"], "exprvars": [] } }, "244": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (ackermann (s T24) (0) X35) (ackermann T24 X35 T25))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T24", "T25" ], "free": ["X35"], "exprvars": [] } }, "321": { "goal": [ { "clause": 1, "scope": 5, "term": "(ackermann T35 T36 X82)" }, { "clause": 2, "scope": 5, "term": "(ackermann T35 T36 X82)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T35", "T36" ], "free": ["X82"], "exprvars": [] } }, "365": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T74 (s (0)) T75)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T74", "T75" ], "free": [], "exprvars": [] } }, "486": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "3": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T1 T2 T3)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T3" ], "free": [], "exprvars": [] } }, "366": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "246": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "6": { "goal": [ { "clause": 0, "scope": 1, "term": "(ackermann T1 T2 T3)" }, { "clause": 1, "scope": 1, "term": "(ackermann T1 T2 T3)" }, { "clause": 2, "scope": 1, "term": "(ackermann T1 T2 T3)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T3" ], "free": [], "exprvars": [] } }, "248": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T24) (0) X35)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T24"], "free": ["X35"], "exprvars": [] } }, "326": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "327": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "328": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "329": { "goal": [{ "clause": 1, "scope": 5, "term": "(ackermann T35 T36 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T35", "T36" ], "free": ["X82"], "exprvars": [] } }, "250": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T24 T26 T25)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T24", "T25", "T26" ], "free": [], "exprvars": [] } }, "492": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T94) T97 X180)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T94"], "free": ["X180"], "exprvars": [] } }, "174": { "goal": [ { "clause": 0, "scope": 2, "term": "(ackermann T17 (s (0)) T18)" }, { "clause": 1, "scope": 2, "term": "(ackermann T17 (s (0)) T18)" }, { "clause": 2, "scope": 2, "term": "(ackermann T17 (s (0)) T18)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T17", "T18" ], "free": [], "exprvars": [] } }, "251": { "goal": [ { "clause": 0, "scope": 3, "term": "(ackermann (s T24) (0) X35)" }, { "clause": 1, "scope": 3, "term": "(ackermann (s T24) (0) X35)" }, { "clause": 2, "scope": 3, "term": "(ackermann (s T24) (0) X35)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T24"], "free": ["X35"], "exprvars": [] } }, "493": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T94 T98 T96)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T94", "T96" ], "free": [], "exprvars": [] } }, "296": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (ackermann (s T35) (0) X81) (ackermann T35 X81 X82))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T35"], "free": [ "X82", "X81" ], "exprvars": [] } }, "494": { "goal": [ { "clause": 0, "scope": 7, "term": "(ackermann (s T94) T97 X180)" }, { "clause": 1, "scope": 7, "term": "(ackermann (s T94) T97 X180)" }, { "clause": 2, "scope": 7, "term": "(ackermann (s T94) T97 X180)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T94"], "free": ["X180"], "exprvars": [] } }, "176": { "goal": [{ "clause": 0, "scope": 2, "term": "(ackermann T17 (s (0)) T18)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T17", "T18" ], "free": [], "exprvars": [] } }, "253": { "goal": [ { "clause": 1, "scope": 3, "term": "(ackermann (s T24) (0) X35)" }, { "clause": 2, "scope": 3, "term": "(ackermann (s T24) (0) X35)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T24"], "free": ["X35"], "exprvars": [] } }, "330": { "goal": [{ "clause": 2, "scope": 5, "term": "(ackermann T35 T36 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T35", "T36" ], "free": ["X82"], "exprvars": [] } }, "495": { "goal": [ { "clause": 1, "scope": 7, "term": "(ackermann (s T94) T97 X180)" }, { "clause": 2, "scope": 7, "term": "(ackermann (s T94) T97 X180)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T94"], "free": ["X180"], "exprvars": [] } }, "375": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (ackermann (s T82) T83 X163) (ackermann T82 X163 T84))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T82", "T83", "T84" ], "free": ["X163"], "exprvars": [] } }, "496": { "goal": [{ "clause": 1, "scope": 7, "term": "(ackermann (s T94) T97 X180)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T94"], "free": ["X180"], "exprvars": [] } }, "299": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "376": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "497": { "goal": [{ "clause": 2, "scope": 7, "term": "(ackermann (s T94) T97 X180)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T94"], "free": ["X180"], "exprvars": [] } }, "256": { "goal": [{ "clause": 1, "scope": 3, "term": "(ackermann (s T24) (0) X35)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T24"], "free": ["X35"], "exprvars": [] } }, "333": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T48 (s (0)) X108)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T48"], "free": ["X108"], "exprvars": [] } }, "334": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "532": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "258": { "goal": [{ "clause": 2, "scope": 3, "term": "(ackermann (s T24) (0) X35)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T24"], "free": ["X35"], "exprvars": [] } }, "379": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T82) T83 X163)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T82", "T83" ], "free": ["X163"], "exprvars": [] } }, "533": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "259": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T31 (s (0)) X59)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T31"], "free": ["X59"], "exprvars": [] } }, "534": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "535": { "goal": [{ "clause": 1, "scope": 8, "term": "(ackermann T108 T111 X216)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T108"], "free": ["X216"], "exprvars": [] } }, "536": { "goal": [{ "clause": 2, "scope": 8, "term": "(ackermann T108 T111 X216)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T108"], "free": ["X216"], "exprvars": [] } }, "537": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T123 (s (0)) X242)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T123"], "free": ["X242"], "exprvars": [] } }, "538": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "539": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (ackermann (s T128) T130 X257) (ackermann T128 X257 X258))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T128"], "free": [ "X258", "X257" ], "exprvars": [] } }, "73": { "goal": [{ "clause": 0, "scope": 1, "term": "(ackermann T1 T2 T3)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T3" ], "free": [], "exprvars": [] } }, "75": { "goal": [ { "clause": 1, "scope": 1, "term": "(ackermann T1 T2 T3)" }, { "clause": 2, "scope": 1, "term": "(ackermann T1 T2 T3)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T3" ], "free": [], "exprvars": [] } }, "380": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T82 T85 T84)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T82", "T84", "T85" ], "free": [], "exprvars": [] } }, "261": { "goal": [ { "clause": 0, "scope": 4, "term": "(ackermann T31 (s (0)) X59)" }, { "clause": 1, "scope": 4, "term": "(ackermann T31 (s (0)) X59)" }, { "clause": 2, "scope": 4, "term": "(ackermann T31 (s (0)) X59)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T31"], "free": ["X59"], "exprvars": [] } }, "540": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "266": { "goal": [{ "clause": 0, "scope": 4, "term": "(ackermann T31 (s (0)) X59)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T31"], "free": ["X59"], "exprvars": [] } }, "267": { "goal": [ { "clause": 1, "scope": 4, "term": "(ackermann T31 (s (0)) X59)" }, { "clause": 2, "scope": 4, "term": "(ackermann T31 (s (0)) X59)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T31"], "free": ["X59"], "exprvars": [] } }, "345": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (ackermann (s T53) T54 X123) (ackermann T53 X123 X124))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T53", "T54" ], "free": [ "X124", "X123" ], "exprvars": [] } }, "346": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "500": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T103 (s (0)) X200)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T103"], "free": ["X200"], "exprvars": [] } }, "501": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "349": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T53) T54 X123)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T53", "T54" ], "free": ["X123"], "exprvars": [] } }, "507": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (ackermann (s T108) T110 X215) (ackermann T108 X215 X216))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T108"], "free": [ "X216", "X215" ], "exprvars": [] } }, "85": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "86": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "509": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "87": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } } }, "edges": [ { "from": 3, "to": 6, "label": "CASE" }, { "from": 6, "to": 73, "label": "PARALLEL" }, { "from": 6, "to": 75, "label": "PARALLEL" }, { "from": 73, "to": 85, "label": "EVAL with clause\nackermann(0, X5, s(X5)).\nand substitutionT1 -> 0,\nT2 -> T8,\nX5 -> T8,\nT3 -> s(T8)" }, { "from": 73, "to": 86, "label": "EVAL-BACKTRACK" }, { "from": 75, "to": 88, "label": "PARALLEL" }, { "from": 75, "to": 89, "label": "PARALLEL" }, { "from": 85, "to": 87, "label": "SUCCESS" }, { "from": 88, "to": 91, "label": "EVAL with clause\nackermann(s(X14), 0, X15) :- ackermann(X14, s(0), X15).\nand substitutionX14 -> T17,\nT1 -> s(T17),\nT2 -> 0,\nT3 -> T18,\nX15 -> T18" }, { "from": 88, "to": 92, "label": "EVAL-BACKTRACK" }, { "from": 89, "to": 485, "label": "EVAL with clause\nackermann(s(X177), s(X178), X179) :- ','(ackermann(s(X177), X178, X180), ackermann(X177, X180, X179)).\nand substitutionX177 -> T94,\nT1 -> s(T94),\nX178 -> T97,\nT2 -> s(T97),\nT3 -> T96,\nX179 -> T96,\nT95 -> T97" }, { "from": 89, "to": 486, "label": "EVAL-BACKTRACK" }, { "from": 91, "to": 174, "label": "CASE" }, { "from": 174, "to": 176, "label": "PARALLEL" }, { "from": 174, "to": 234, "label": "PARALLEL" }, { "from": 176, "to": 236, "label": "EVAL with clause\nackermann(0, X22, s(X22)).\nand substitutionT17 -> 0,\nX22 -> s(0),\nT18 -> s(s(0))" }, { "from": 176, "to": 239, "label": "EVAL-BACKTRACK" }, { "from": 234, "to": 242, "label": "BACKTRACK\nfor clause: ackermann(s(M), 0, Val) :- ackermann(M, s(0), Val)because of non-unification" }, { "from": 236, "to": 240, "label": "SUCCESS" }, { "from": 242, "to": 244, "label": "EVAL with clause\nackermann(s(X32), s(X33), X34) :- ','(ackermann(s(X32), X33, X35), ackermann(X32, X35, X34)).\nand substitutionX32 -> T24,\nT17 -> s(T24),\nX33 -> 0,\nT18 -> T25,\nX34 -> T25" }, { "from": 242, "to": 246, "label": "EVAL-BACKTRACK" }, { "from": 244, "to": 248, "label": "SPLIT 1" }, { "from": 244, "to": 250, "label": "SPLIT 2\nnew knowledge:\nT24 is ground\nT26 is ground\nreplacements:X35 -> T26" }, { "from": 248, "to": 251, "label": "CASE" }, { "from": 250, "to": 355, "label": "CASE" }, { "from": 251, "to": 253, "label": "BACKTRACK\nfor clause: ackermann(0, N, s(N))because of non-unification" }, { "from": 253, "to": 256, "label": "PARALLEL" }, { "from": 253, "to": 258, "label": "PARALLEL" }, { "from": 256, "to": 259, "label": "ONLY EVAL with clause\nackermann(s(X57), 0, X58) :- ackermann(X57, s(0), X58).\nand substitutionT24 -> T31,\nX57 -> T31,\nX35 -> X59,\nX58 -> X59" }, { "from": 258, "to": 352, "label": "BACKTRACK\nfor clause: ackermann(s(M), s(N), Val) :- ','(ackermann(s(M), N, Val1), ackermann(M, Val1, Val))because of non-unification" }, { "from": 259, "to": 261, "label": "CASE" }, { "from": 261, "to": 266, "label": "PARALLEL" }, { "from": 261, "to": 267, "label": "PARALLEL" }, { "from": 266, "to": 273, "label": "EVAL with clause\nackermann(0, X66, s(X66)).\nand substitutionT31 -> 0,\nX66 -> s(0),\nX59 -> s(s(0))" }, { "from": 266, "to": 276, "label": "EVAL-BACKTRACK" }, { "from": 267, "to": 282, "label": "BACKTRACK\nfor clause: ackermann(s(M), 0, Val) :- ackermann(M, s(0), Val)because of non-unification" }, { "from": 273, "to": 278, "label": "SUCCESS" }, { "from": 282, "to": 296, "label": "EVAL with clause\nackermann(s(X78), s(X79), X80) :- ','(ackermann(s(X78), X79, X81), ackermann(X78, X81, X80)).\nand substitutionX78 -> T35,\nT31 -> s(T35),\nX79 -> 0,\nX59 -> X82,\nX80 -> X82" }, { "from": 282, "to": 299, "label": "EVAL-BACKTRACK" }, { "from": 296, "to": 313, "label": "SPLIT 1" }, { "from": 296, "to": 315, "label": "SPLIT 2\nnew knowledge:\nT35 is ground\nT36 is ground\nreplacements:X81 -> T36" }, { "from": 313, "to": 248, "label": "INSTANCE with matching:\nT24 -> T35\nX35 -> X81" }, { "from": 315, "to": 319, "label": "CASE" }, { "from": 319, "to": 320, "label": "PARALLEL" }, { "from": 319, "to": 321, "label": "PARALLEL" }, { "from": 320, "to": 326, "label": "EVAL with clause\nackermann(0, X93, s(X93)).\nand substitutionT35 -> 0,\nT36 -> T43,\nX93 -> T43,\nX82 -> s(T43)" }, { "from": 320, "to": 327, "label": "EVAL-BACKTRACK" }, { "from": 321, "to": 329, "label": "PARALLEL" }, { "from": 321, "to": 330, "label": "PARALLEL" }, { "from": 326, "to": 328, "label": "SUCCESS" }, { "from": 329, "to": 333, "label": "EVAL with clause\nackermann(s(X106), 0, X107) :- ackermann(X106, s(0), X107).\nand substitutionX106 -> T48,\nT35 -> s(T48),\nT36 -> 0,\nX82 -> X108,\nX107 -> X108" }, { "from": 329, "to": 334, "label": "EVAL-BACKTRACK" }, { "from": 330, "to": 345, "label": "EVAL with clause\nackermann(s(X120), s(X121), X122) :- ','(ackermann(s(X120), X121, X123), ackermann(X120, X123, X122)).\nand substitutionX120 -> T53,\nT35 -> s(T53),\nX121 -> T54,\nT36 -> s(T54),\nX82 -> X124,\nX122 -> X124" }, { "from": 330, "to": 346, "label": "EVAL-BACKTRACK" }, { "from": 333, "to": 259, "label": "INSTANCE with matching:\nT31 -> T48\nX59 -> X108" }, { "from": 345, "to": 349, "label": "SPLIT 1" }, { "from": 345, "to": 350, "label": "SPLIT 2\nnew knowledge:\nT53 is ground\nT54 is ground\nT55 is ground\nreplacements:X123 -> T55" }, { "from": 349, "to": 315, "label": "INSTANCE with matching:\nT35 -> s(T53)\nT36 -> T54\nX82 -> X123" }, { "from": 350, "to": 315, "label": "INSTANCE with matching:\nT35 -> T53\nT36 -> T55\nX82 -> X124" }, { "from": 355, "to": 357, "label": "PARALLEL" }, { "from": 355, "to": 358, "label": "PARALLEL" }, { "from": 357, "to": 359, "label": "EVAL with clause\nackermann(0, X140, s(X140)).\nand substitutionT24 -> 0,\nT26 -> T65,\nX140 -> T65,\nT25 -> s(T65)" }, { "from": 357, "to": 360, "label": "EVAL-BACKTRACK" }, { "from": 358, "to": 362, "label": "PARALLEL" }, { "from": 358, "to": 363, "label": "PARALLEL" }, { "from": 359, "to": 361, "label": "SUCCESS" }, { "from": 362, "to": 365, "label": "EVAL with clause\nackermann(s(X149), 0, X150) :- ackermann(X149, s(0), X150).\nand substitutionX149 -> T74,\nT24 -> s(T74),\nT26 -> 0,\nT25 -> T75,\nX150 -> T75" }, { "from": 362, "to": 366, "label": "EVAL-BACKTRACK" }, { "from": 363, "to": 375, "label": "EVAL with clause\nackermann(s(X160), s(X161), X162) :- ','(ackermann(s(X160), X161, X163), ackermann(X160, X163, X162)).\nand substitutionX160 -> T82,\nT24 -> s(T82),\nX161 -> T83,\nT26 -> s(T83),\nT25 -> T84,\nX162 -> T84" }, { "from": 363, "to": 376, "label": "EVAL-BACKTRACK" }, { "from": 365, "to": 91, "label": "INSTANCE with matching:\nT17 -> T74\nT18 -> T75" }, { "from": 375, "to": 379, "label": "SPLIT 1" }, { "from": 375, "to": 380, "label": "SPLIT 2\nnew knowledge:\nT82 is ground\nT83 is ground\nT85 is ground\nreplacements:X163 -> T85" }, { "from": 379, "to": 315, "label": "INSTANCE with matching:\nT35 -> s(T82)\nT36 -> T83\nX82 -> X163" }, { "from": 380, "to": 250, "label": "INSTANCE with matching:\nT24 -> T82\nT26 -> T85\nT25 -> T84" }, { "from": 485, "to": 492, "label": "SPLIT 1" }, { "from": 485, "to": 493, "label": "SPLIT 2\nnew knowledge:\nT94 is ground\nreplacements:X180 -> T98" }, { "from": 492, "to": 494, "label": "CASE" }, { "from": 493, "to": 3, "label": "INSTANCE with matching:\nT1 -> T94\nT2 -> T98\nT3 -> T96" }, { "from": 494, "to": 495, "label": "BACKTRACK\nfor clause: ackermann(0, N, s(N))because of non-unification" }, { "from": 495, "to": 496, "label": "PARALLEL" }, { "from": 495, "to": 497, "label": "PARALLEL" }, { "from": 496, "to": 500, "label": "EVAL with clause\nackermann(s(X198), 0, X199) :- ackermann(X198, s(0), X199).\nand substitutionT94 -> T103,\nX198 -> T103,\nT97 -> 0,\nX180 -> X200,\nX199 -> X200" }, { "from": 496, "to": 501, "label": "EVAL-BACKTRACK" }, { "from": 497, "to": 507, "label": "EVAL with clause\nackermann(s(X212), s(X213), X214) :- ','(ackermann(s(X212), X213, X215), ackermann(X212, X215, X214)).\nand substitutionT94 -> T108,\nX212 -> T108,\nX213 -> T110,\nT97 -> s(T110),\nX180 -> X216,\nX214 -> X216,\nT109 -> T110" }, { "from": 497, "to": 509, "label": "EVAL-BACKTRACK" }, { "from": 500, "to": 259, "label": "INSTANCE with matching:\nT31 -> T103\nX59 -> X200" }, { "from": 507, "to": 511, "label": "SPLIT 1" }, { "from": 507, "to": 512, "label": "SPLIT 2\nnew knowledge:\nT108 is ground\nreplacements:X215 -> T111" }, { "from": 511, "to": 492, "label": "INSTANCE with matching:\nT94 -> T108\nT97 -> T110\nX180 -> X215" }, { "from": 512, "to": 515, "label": "CASE" }, { "from": 515, "to": 516, "label": "PARALLEL" }, { "from": 515, "to": 517, "label": "PARALLEL" }, { "from": 516, "to": 532, "label": "EVAL with clause\nackermann(0, X227, s(X227)).\nand substitutionT108 -> 0,\nT111 -> T118,\nX227 -> T118,\nX216 -> s(T118)" }, { "from": 516, "to": 533, "label": "EVAL-BACKTRACK" }, { "from": 517, "to": 535, "label": "PARALLEL" }, { "from": 517, "to": 536, "label": "PARALLEL" }, { "from": 532, "to": 534, "label": "SUCCESS" }, { "from": 535, "to": 537, "label": "EVAL with clause\nackermann(s(X240), 0, X241) :- ackermann(X240, s(0), X241).\nand substitutionX240 -> T123,\nT108 -> s(T123),\nT111 -> 0,\nX216 -> X242,\nX241 -> X242" }, { "from": 535, "to": 538, "label": "EVAL-BACKTRACK" }, { "from": 536, "to": 539, "label": "EVAL with clause\nackermann(s(X254), s(X255), X256) :- ','(ackermann(s(X254), X255, X257), ackermann(X254, X257, X256)).\nand substitutionX254 -> T128,\nT108 -> s(T128),\nX255 -> T130,\nT111 -> s(T130),\nX216 -> X258,\nX256 -> X258,\nT129 -> T130" }, { "from": 536, "to": 540, "label": "EVAL-BACKTRACK" }, { "from": 537, "to": 259, "label": "INSTANCE with matching:\nT31 -> T123\nX59 -> X242" }, { "from": 539, "to": 507, "label": "INSTANCE with matching:\nT108 -> T128\nT110 -> T130\nX215 -> X257\nX216 -> X258" } ], "type": "Graph" } } ---------------------------------------- (84) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: f3_in(0, s(T8)) -> f3_out1 f3_in(s(T17), T18) -> U1(f91_in(T17, T18), s(T17), T18) U1(f91_out1, s(T17), T18) -> f3_out1 f3_in(s(T94), T96) -> U2(f485_in(T94, T96), s(T94), T96) U2(f485_out1, s(T94), T96) -> f3_out1 f248_in(T31) -> U3(f259_in(T31), T31) U3(f259_out1(X59), T31) -> f248_out1(X59) f259_in(0) -> f259_out1(s(s(0))) f259_in(s(T35)) -> U4(f296_in(T35), s(T35)) U4(f296_out1(X81, X82), s(T35)) -> f259_out1(X82) f315_in(0, T43) -> f315_out1(s(T43)) f315_in(s(T48), 0) -> U5(f259_in(T48), s(T48), 0) U5(f259_out1(X108), s(T48), 0) -> f315_out1(X108) f315_in(s(T53), s(T54)) -> U6(f345_in(T53, T54), s(T53), s(T54)) U6(f345_out1(X123, X124), s(T53), s(T54)) -> f315_out1(X124) f91_in(0, s(s(0))) -> f91_out1 f91_in(s(T24), T25) -> U7(f244_in(T24, T25), s(T24), T25) U7(f244_out1(X35), s(T24), T25) -> f91_out1 f250_in(0, T65, s(T65)) -> f250_out1 f250_in(s(T74), 0, T75) -> U8(f91_in(T74, T75), s(T74), 0, T75) U8(f91_out1, s(T74), 0, T75) -> f250_out1 f250_in(s(T82), s(T83), T84) -> U9(f375_in(T82, T83, T84), s(T82), s(T83), T84) U9(f375_out1(X163), s(T82), s(T83), T84) -> f250_out1 f492_in(T103) -> U10(f259_in(T103), T103) U10(f259_out1(X200), T103) -> f492_out1 f492_in(T108) -> U11(f507_in(T108), T108) U11(f507_out1, T108) -> f492_out1 f512_in(0) -> f512_out1 f512_in(s(T123)) -> U12(f259_in(T123), s(T123)) U12(f259_out1(X242), s(T123)) -> f512_out1 f512_in(s(T128)) -> U13(f507_in(T128), s(T128)) U13(f507_out1, s(T128)) -> f512_out1 f244_in(T24, T25) -> U14(f248_in(T24), T24, T25) U14(f248_out1(T26), T24, T25) -> U15(f250_in(T24, T26, T25), T24, T25, T26) U15(f250_out1, T24, T25, T26) -> f244_out1(T26) f296_in(T35) -> U16(f248_in(T35), T35) U16(f248_out1(T36), T35) -> U17(f315_in(T35, T36), T35, T36) U17(f315_out1(X82), T35, T36) -> f296_out1(T36, X82) f345_in(T53, T54) -> U18(f315_in(s(T53), T54), T53, T54) U18(f315_out1(T55), T53, T54) -> U19(f315_in(T53, T55), T53, T54, T55) U19(f315_out1(X124), T53, T54, T55) -> f345_out1(T55, X124) f375_in(T82, T83, T84) -> U20(f315_in(s(T82), T83), T82, T83, T84) U20(f315_out1(T85), T82, T83, T84) -> U21(f250_in(T82, T85, T84), T82, T83, T84, T85) U21(f250_out1, T82, T83, T84, T85) -> f375_out1(T85) f485_in(T94, T96) -> U22(f492_in(T94), T94, T96) U22(f492_out1, T94, T96) -> U23(f3_in(T94, T96), T94, T96) U23(f3_out1, T94, T96) -> f485_out1 f507_in(T108) -> U24(f492_in(T108), T108) U24(f492_out1, T108) -> U25(f512_in(T108), T108) U25(f512_out1, T108) -> f507_out1 Q is empty. ---------------------------------------- (85) DependencyPairsProof (EQUIVALENT) Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. ---------------------------------------- (86) Obligation: Q DP problem: The TRS P consists of the following rules: F3_IN(s(T17), T18) -> U1^1(f91_in(T17, T18), s(T17), T18) F3_IN(s(T17), T18) -> F91_IN(T17, T18) F3_IN(s(T94), T96) -> U2^1(f485_in(T94, T96), s(T94), T96) F3_IN(s(T94), T96) -> F485_IN(T94, T96) F248_IN(T31) -> U3^1(f259_in(T31), T31) F248_IN(T31) -> F259_IN(T31) F259_IN(s(T35)) -> U4^1(f296_in(T35), s(T35)) F259_IN(s(T35)) -> F296_IN(T35) F315_IN(s(T48), 0) -> U5^1(f259_in(T48), s(T48), 0) F315_IN(s(T48), 0) -> F259_IN(T48) F315_IN(s(T53), s(T54)) -> U6^1(f345_in(T53, T54), s(T53), s(T54)) F315_IN(s(T53), s(T54)) -> F345_IN(T53, T54) F91_IN(s(T24), T25) -> U7^1(f244_in(T24, T25), s(T24), T25) F91_IN(s(T24), T25) -> F244_IN(T24, T25) F250_IN(s(T74), 0, T75) -> U8^1(f91_in(T74, T75), s(T74), 0, T75) F250_IN(s(T74), 0, T75) -> F91_IN(T74, T75) F250_IN(s(T82), s(T83), T84) -> U9^1(f375_in(T82, T83, T84), s(T82), s(T83), T84) F250_IN(s(T82), s(T83), T84) -> F375_IN(T82, T83, T84) F492_IN(T103) -> U10^1(f259_in(T103), T103) F492_IN(T103) -> F259_IN(T103) F492_IN(T108) -> U11^1(f507_in(T108), T108) F492_IN(T108) -> F507_IN(T108) F512_IN(s(T123)) -> U12^1(f259_in(T123), s(T123)) F512_IN(s(T123)) -> F259_IN(T123) F512_IN(s(T128)) -> U13^1(f507_in(T128), s(T128)) F512_IN(s(T128)) -> F507_IN(T128) F244_IN(T24, T25) -> U14^1(f248_in(T24), T24, T25) F244_IN(T24, T25) -> F248_IN(T24) U14^1(f248_out1(T26), T24, T25) -> U15^1(f250_in(T24, T26, T25), T24, T25, T26) U14^1(f248_out1(T26), T24, T25) -> F250_IN(T24, T26, T25) F296_IN(T35) -> U16^1(f248_in(T35), T35) F296_IN(T35) -> F248_IN(T35) U16^1(f248_out1(T36), T35) -> U17^1(f315_in(T35, T36), T35, T36) U16^1(f248_out1(T36), T35) -> F315_IN(T35, T36) F345_IN(T53, T54) -> U18^1(f315_in(s(T53), T54), T53, T54) F345_IN(T53, T54) -> F315_IN(s(T53), T54) U18^1(f315_out1(T55), T53, T54) -> U19^1(f315_in(T53, T55), T53, T54, T55) U18^1(f315_out1(T55), T53, T54) -> F315_IN(T53, T55) F375_IN(T82, T83, T84) -> U20^1(f315_in(s(T82), T83), T82, T83, T84) F375_IN(T82, T83, T84) -> F315_IN(s(T82), T83) U20^1(f315_out1(T85), T82, T83, T84) -> U21^1(f250_in(T82, T85, T84), T82, T83, T84, T85) U20^1(f315_out1(T85), T82, T83, T84) -> F250_IN(T82, T85, T84) F485_IN(T94, T96) -> U22^1(f492_in(T94), T94, T96) F485_IN(T94, T96) -> F492_IN(T94) U22^1(f492_out1, T94, T96) -> U23^1(f3_in(T94, T96), T94, T96) U22^1(f492_out1, T94, T96) -> F3_IN(T94, T96) F507_IN(T108) -> U24^1(f492_in(T108), T108) F507_IN(T108) -> F492_IN(T108) U24^1(f492_out1, T108) -> U25^1(f512_in(T108), T108) U24^1(f492_out1, T108) -> F512_IN(T108) The TRS R consists of the following rules: f3_in(0, s(T8)) -> f3_out1 f3_in(s(T17), T18) -> U1(f91_in(T17, T18), s(T17), T18) U1(f91_out1, s(T17), T18) -> f3_out1 f3_in(s(T94), T96) -> U2(f485_in(T94, T96), s(T94), T96) U2(f485_out1, s(T94), T96) -> f3_out1 f248_in(T31) -> U3(f259_in(T31), T31) U3(f259_out1(X59), T31) -> f248_out1(X59) f259_in(0) -> f259_out1(s(s(0))) f259_in(s(T35)) -> U4(f296_in(T35), s(T35)) U4(f296_out1(X81, X82), s(T35)) -> f259_out1(X82) f315_in(0, T43) -> f315_out1(s(T43)) f315_in(s(T48), 0) -> U5(f259_in(T48), s(T48), 0) U5(f259_out1(X108), s(T48), 0) -> f315_out1(X108) f315_in(s(T53), s(T54)) -> U6(f345_in(T53, T54), s(T53), s(T54)) U6(f345_out1(X123, X124), s(T53), s(T54)) -> f315_out1(X124) f91_in(0, s(s(0))) -> f91_out1 f91_in(s(T24), T25) -> U7(f244_in(T24, T25), s(T24), T25) U7(f244_out1(X35), s(T24), T25) -> f91_out1 f250_in(0, T65, s(T65)) -> f250_out1 f250_in(s(T74), 0, T75) -> U8(f91_in(T74, T75), s(T74), 0, T75) U8(f91_out1, s(T74), 0, T75) -> f250_out1 f250_in(s(T82), s(T83), T84) -> U9(f375_in(T82, T83, T84), s(T82), s(T83), T84) U9(f375_out1(X163), s(T82), s(T83), T84) -> f250_out1 f492_in(T103) -> U10(f259_in(T103), T103) U10(f259_out1(X200), T103) -> f492_out1 f492_in(T108) -> U11(f507_in(T108), T108) U11(f507_out1, T108) -> f492_out1 f512_in(0) -> f512_out1 f512_in(s(T123)) -> U12(f259_in(T123), s(T123)) U12(f259_out1(X242), s(T123)) -> f512_out1 f512_in(s(T128)) -> U13(f507_in(T128), s(T128)) U13(f507_out1, s(T128)) -> f512_out1 f244_in(T24, T25) -> U14(f248_in(T24), T24, T25) U14(f248_out1(T26), T24, T25) -> U15(f250_in(T24, T26, T25), T24, T25, T26) U15(f250_out1, T24, T25, T26) -> f244_out1(T26) f296_in(T35) -> U16(f248_in(T35), T35) U16(f248_out1(T36), T35) -> U17(f315_in(T35, T36), T35, T36) U17(f315_out1(X82), T35, T36) -> f296_out1(T36, X82) f345_in(T53, T54) -> U18(f315_in(s(T53), T54), T53, T54) U18(f315_out1(T55), T53, T54) -> U19(f315_in(T53, T55), T53, T54, T55) U19(f315_out1(X124), T53, T54, T55) -> f345_out1(T55, X124) f375_in(T82, T83, T84) -> U20(f315_in(s(T82), T83), T82, T83, T84) U20(f315_out1(T85), T82, T83, T84) -> U21(f250_in(T82, T85, T84), T82, T83, T84, T85) U21(f250_out1, T82, T83, T84, T85) -> f375_out1(T85) f485_in(T94, T96) -> U22(f492_in(T94), T94, T96) U22(f492_out1, T94, T96) -> U23(f3_in(T94, T96), T94, T96) U23(f3_out1, T94, T96) -> f485_out1 f507_in(T108) -> U24(f492_in(T108), T108) U24(f492_out1, T108) -> U25(f512_in(T108), T108) U25(f512_out1, T108) -> f507_out1 Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (87) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 4 SCCs with 25 less nodes. ---------------------------------------- (88) Complex Obligation (AND) ---------------------------------------- (89) Obligation: Q DP problem: The TRS P consists of the following rules: F248_IN(T31) -> F259_IN(T31) F259_IN(s(T35)) -> F296_IN(T35) F296_IN(T35) -> U16^1(f248_in(T35), T35) U16^1(f248_out1(T36), T35) -> F315_IN(T35, T36) F315_IN(s(T48), 0) -> F259_IN(T48) F315_IN(s(T53), s(T54)) -> F345_IN(T53, T54) F345_IN(T53, T54) -> U18^1(f315_in(s(T53), T54), T53, T54) U18^1(f315_out1(T55), T53, T54) -> F315_IN(T53, T55) F345_IN(T53, T54) -> F315_IN(s(T53), T54) F296_IN(T35) -> F248_IN(T35) The TRS R consists of the following rules: f3_in(0, s(T8)) -> f3_out1 f3_in(s(T17), T18) -> U1(f91_in(T17, T18), s(T17), T18) U1(f91_out1, s(T17), T18) -> f3_out1 f3_in(s(T94), T96) -> U2(f485_in(T94, T96), s(T94), T96) U2(f485_out1, s(T94), T96) -> f3_out1 f248_in(T31) -> U3(f259_in(T31), T31) U3(f259_out1(X59), T31) -> f248_out1(X59) f259_in(0) -> f259_out1(s(s(0))) f259_in(s(T35)) -> U4(f296_in(T35), s(T35)) U4(f296_out1(X81, X82), s(T35)) -> f259_out1(X82) f315_in(0, T43) -> f315_out1(s(T43)) f315_in(s(T48), 0) -> U5(f259_in(T48), s(T48), 0) U5(f259_out1(X108), s(T48), 0) -> f315_out1(X108) f315_in(s(T53), s(T54)) -> U6(f345_in(T53, T54), s(T53), s(T54)) U6(f345_out1(X123, X124), s(T53), s(T54)) -> f315_out1(X124) f91_in(0, s(s(0))) -> f91_out1 f91_in(s(T24), T25) -> U7(f244_in(T24, T25), s(T24), T25) U7(f244_out1(X35), s(T24), T25) -> f91_out1 f250_in(0, T65, s(T65)) -> f250_out1 f250_in(s(T74), 0, T75) -> U8(f91_in(T74, T75), s(T74), 0, T75) U8(f91_out1, s(T74), 0, T75) -> f250_out1 f250_in(s(T82), s(T83), T84) -> U9(f375_in(T82, T83, T84), s(T82), s(T83), T84) U9(f375_out1(X163), s(T82), s(T83), T84) -> f250_out1 f492_in(T103) -> U10(f259_in(T103), T103) U10(f259_out1(X200), T103) -> f492_out1 f492_in(T108) -> U11(f507_in(T108), T108) U11(f507_out1, T108) -> f492_out1 f512_in(0) -> f512_out1 f512_in(s(T123)) -> U12(f259_in(T123), s(T123)) U12(f259_out1(X242), s(T123)) -> f512_out1 f512_in(s(T128)) -> U13(f507_in(T128), s(T128)) U13(f507_out1, s(T128)) -> f512_out1 f244_in(T24, T25) -> U14(f248_in(T24), T24, T25) U14(f248_out1(T26), T24, T25) -> U15(f250_in(T24, T26, T25), T24, T25, T26) U15(f250_out1, T24, T25, T26) -> f244_out1(T26) f296_in(T35) -> U16(f248_in(T35), T35) U16(f248_out1(T36), T35) -> U17(f315_in(T35, T36), T35, T36) U17(f315_out1(X82), T35, T36) -> f296_out1(T36, X82) f345_in(T53, T54) -> U18(f315_in(s(T53), T54), T53, T54) U18(f315_out1(T55), T53, T54) -> U19(f315_in(T53, T55), T53, T54, T55) U19(f315_out1(X124), T53, T54, T55) -> f345_out1(T55, X124) f375_in(T82, T83, T84) -> U20(f315_in(s(T82), T83), T82, T83, T84) U20(f315_out1(T85), T82, T83, T84) -> U21(f250_in(T82, T85, T84), T82, T83, T84, T85) U21(f250_out1, T82, T83, T84, T85) -> f375_out1(T85) f485_in(T94, T96) -> U22(f492_in(T94), T94, T96) U22(f492_out1, T94, T96) -> U23(f3_in(T94, T96), T94, T96) U23(f3_out1, T94, T96) -> f485_out1 f507_in(T108) -> U24(f492_in(T108), T108) U24(f492_out1, T108) -> U25(f512_in(T108), T108) U25(f512_out1, T108) -> f507_out1 Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (90) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. F248_IN(T31) -> F259_IN(T31) F259_IN(s(T35)) -> F296_IN(T35) U16^1(f248_out1(T36), T35) -> F315_IN(T35, T36) F296_IN(T35) -> F248_IN(T35) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: POL( U16^1_2(x_1, x_2) ) = 2x_1 + x_2 + 2 POL( U18^1_3(x_1, ..., x_3) ) = x_2 POL( f248_in_1(x_1) ) = 0 POL( U3_2(x_1, x_2) ) = 0 POL( f259_in_1(x_1) ) = x_1 POL( f315_in_2(x_1, x_2) ) = max{0, x_1 + 2x_2 - 2} POL( s_1(x_1) ) = 2x_1 + 2 POL( 0 ) = 2 POL( U5_3(x_1, ..., x_3) ) = 2x_1 POL( U6_3(x_1, ..., x_3) ) = 2 POL( f345_in_2(x_1, x_2) ) = 2x_1 + 2 POL( U4_2(x_1, x_2) ) = 2 POL( f296_in_1(x_1) ) = x_1 + 2 POL( f296_out1_2(x_1, x_2) ) = 0 POL( f259_out1_1(x_1) ) = 1 POL( U16_2(x_1, x_2) ) = 2 POL( f248_out1_1(x_1) ) = 0 POL( U17_3(x_1, ..., x_3) ) = 0 POL( U19_4(x_1, ..., x_4) ) = 0 POL( f315_out1_1(x_1) ) = 2 POL( f345_out1_2(x_1, x_2) ) = 0 POL( U18_3(x_1, ..., x_3) ) = 2x_2 POL( F248_IN_1(x_1) ) = 2x_1 + 1 POL( F259_IN_1(x_1) ) = 2x_1 POL( F296_IN_1(x_1) ) = 2x_1 + 2 POL( F315_IN_2(x_1, x_2) ) = max{0, x_1 - 2} POL( F345_IN_2(x_1, x_2) ) = 2x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: f248_in(T31) -> U3(f259_in(T31), T31) f315_in(s(T48), 0) -> U5(f259_in(T48), s(T48), 0) f315_in(s(T53), s(T54)) -> U6(f345_in(T53, T54), s(T53), s(T54)) f259_in(s(T35)) -> U4(f296_in(T35), s(T35)) U4(f296_out1(X81, X82), s(T35)) -> f259_out1(X82) f296_in(T35) -> U16(f248_in(T35), T35) f259_in(0) -> f259_out1(s(s(0))) U3(f259_out1(X59), T31) -> f248_out1(X59) U16(f248_out1(T36), T35) -> U17(f315_in(T35, T36), T35, T36) U17(f315_out1(X82), T35, T36) -> f296_out1(T36, X82) U5(f259_out1(X108), s(T48), 0) -> f315_out1(X108) U6(f345_out1(X123, X124), s(T53), s(T54)) -> f315_out1(X124) f345_in(T53, T54) -> U18(f315_in(s(T53), T54), T53, T54) U18(f315_out1(T55), T53, T54) -> U19(f315_in(T53, T55), T53, T54, T55) U19(f315_out1(X124), T53, T54, T55) -> f345_out1(T55, X124) ---------------------------------------- (91) Obligation: Q DP problem: The TRS P consists of the following rules: F296_IN(T35) -> U16^1(f248_in(T35), T35) F315_IN(s(T48), 0) -> F259_IN(T48) F315_IN(s(T53), s(T54)) -> F345_IN(T53, T54) F345_IN(T53, T54) -> U18^1(f315_in(s(T53), T54), T53, T54) U18^1(f315_out1(T55), T53, T54) -> F315_IN(T53, T55) F345_IN(T53, T54) -> F315_IN(s(T53), T54) The TRS R consists of the following rules: f3_in(0, s(T8)) -> f3_out1 f3_in(s(T17), T18) -> U1(f91_in(T17, T18), s(T17), T18) U1(f91_out1, s(T17), T18) -> f3_out1 f3_in(s(T94), T96) -> U2(f485_in(T94, T96), s(T94), T96) U2(f485_out1, s(T94), T96) -> f3_out1 f248_in(T31) -> U3(f259_in(T31), T31) U3(f259_out1(X59), T31) -> f248_out1(X59) f259_in(0) -> f259_out1(s(s(0))) f259_in(s(T35)) -> U4(f296_in(T35), s(T35)) U4(f296_out1(X81, X82), s(T35)) -> f259_out1(X82) f315_in(0, T43) -> f315_out1(s(T43)) f315_in(s(T48), 0) -> U5(f259_in(T48), s(T48), 0) U5(f259_out1(X108), s(T48), 0) -> f315_out1(X108) f315_in(s(T53), s(T54)) -> U6(f345_in(T53, T54), s(T53), s(T54)) U6(f345_out1(X123, X124), s(T53), s(T54)) -> f315_out1(X124) f91_in(0, s(s(0))) -> f91_out1 f91_in(s(T24), T25) -> U7(f244_in(T24, T25), s(T24), T25) U7(f244_out1(X35), s(T24), T25) -> f91_out1 f250_in(0, T65, s(T65)) -> f250_out1 f250_in(s(T74), 0, T75) -> U8(f91_in(T74, T75), s(T74), 0, T75) U8(f91_out1, s(T74), 0, T75) -> f250_out1 f250_in(s(T82), s(T83), T84) -> U9(f375_in(T82, T83, T84), s(T82), s(T83), T84) U9(f375_out1(X163), s(T82), s(T83), T84) -> f250_out1 f492_in(T103) -> U10(f259_in(T103), T103) U10(f259_out1(X200), T103) -> f492_out1 f492_in(T108) -> U11(f507_in(T108), T108) U11(f507_out1, T108) -> f492_out1 f512_in(0) -> f512_out1 f512_in(s(T123)) -> U12(f259_in(T123), s(T123)) U12(f259_out1(X242), s(T123)) -> f512_out1 f512_in(s(T128)) -> U13(f507_in(T128), s(T128)) U13(f507_out1, s(T128)) -> f512_out1 f244_in(T24, T25) -> U14(f248_in(T24), T24, T25) U14(f248_out1(T26), T24, T25) -> U15(f250_in(T24, T26, T25), T24, T25, T26) U15(f250_out1, T24, T25, T26) -> f244_out1(T26) f296_in(T35) -> U16(f248_in(T35), T35) U16(f248_out1(T36), T35) -> U17(f315_in(T35, T36), T35, T36) U17(f315_out1(X82), T35, T36) -> f296_out1(T36, X82) f345_in(T53, T54) -> U18(f315_in(s(T53), T54), T53, T54) U18(f315_out1(T55), T53, T54) -> U19(f315_in(T53, T55), T53, T54, T55) U19(f315_out1(X124), T53, T54, T55) -> f345_out1(T55, X124) f375_in(T82, T83, T84) -> U20(f315_in(s(T82), T83), T82, T83, T84) U20(f315_out1(T85), T82, T83, T84) -> U21(f250_in(T82, T85, T84), T82, T83, T84, T85) U21(f250_out1, T82, T83, T84, T85) -> f375_out1(T85) f485_in(T94, T96) -> U22(f492_in(T94), T94, T96) U22(f492_out1, T94, T96) -> U23(f3_in(T94, T96), T94, T96) U23(f3_out1, T94, T96) -> f485_out1 f507_in(T108) -> U24(f492_in(T108), T108) U24(f492_out1, T108) -> U25(f512_in(T108), T108) U25(f512_out1, T108) -> f507_out1 Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (92) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (93) Obligation: Q DP problem: The TRS P consists of the following rules: F315_IN(s(T53), s(T54)) -> F345_IN(T53, T54) F345_IN(T53, T54) -> U18^1(f315_in(s(T53), T54), T53, T54) U18^1(f315_out1(T55), T53, T54) -> F315_IN(T53, T55) F345_IN(T53, T54) -> F315_IN(s(T53), T54) The TRS R consists of the following rules: f3_in(0, s(T8)) -> f3_out1 f3_in(s(T17), T18) -> U1(f91_in(T17, T18), s(T17), T18) U1(f91_out1, s(T17), T18) -> f3_out1 f3_in(s(T94), T96) -> U2(f485_in(T94, T96), s(T94), T96) U2(f485_out1, s(T94), T96) -> f3_out1 f248_in(T31) -> U3(f259_in(T31), T31) U3(f259_out1(X59), T31) -> f248_out1(X59) f259_in(0) -> f259_out1(s(s(0))) f259_in(s(T35)) -> U4(f296_in(T35), s(T35)) U4(f296_out1(X81, X82), s(T35)) -> f259_out1(X82) f315_in(0, T43) -> f315_out1(s(T43)) f315_in(s(T48), 0) -> U5(f259_in(T48), s(T48), 0) U5(f259_out1(X108), s(T48), 0) -> f315_out1(X108) f315_in(s(T53), s(T54)) -> U6(f345_in(T53, T54), s(T53), s(T54)) U6(f345_out1(X123, X124), s(T53), s(T54)) -> f315_out1(X124) f91_in(0, s(s(0))) -> f91_out1 f91_in(s(T24), T25) -> U7(f244_in(T24, T25), s(T24), T25) U7(f244_out1(X35), s(T24), T25) -> f91_out1 f250_in(0, T65, s(T65)) -> f250_out1 f250_in(s(T74), 0, T75) -> U8(f91_in(T74, T75), s(T74), 0, T75) U8(f91_out1, s(T74), 0, T75) -> f250_out1 f250_in(s(T82), s(T83), T84) -> U9(f375_in(T82, T83, T84), s(T82), s(T83), T84) U9(f375_out1(X163), s(T82), s(T83), T84) -> f250_out1 f492_in(T103) -> U10(f259_in(T103), T103) U10(f259_out1(X200), T103) -> f492_out1 f492_in(T108) -> U11(f507_in(T108), T108) U11(f507_out1, T108) -> f492_out1 f512_in(0) -> f512_out1 f512_in(s(T123)) -> U12(f259_in(T123), s(T123)) U12(f259_out1(X242), s(T123)) -> f512_out1 f512_in(s(T128)) -> U13(f507_in(T128), s(T128)) U13(f507_out1, s(T128)) -> f512_out1 f244_in(T24, T25) -> U14(f248_in(T24), T24, T25) U14(f248_out1(T26), T24, T25) -> U15(f250_in(T24, T26, T25), T24, T25, T26) U15(f250_out1, T24, T25, T26) -> f244_out1(T26) f296_in(T35) -> U16(f248_in(T35), T35) U16(f248_out1(T36), T35) -> U17(f315_in(T35, T36), T35, T36) U17(f315_out1(X82), T35, T36) -> f296_out1(T36, X82) f345_in(T53, T54) -> U18(f315_in(s(T53), T54), T53, T54) U18(f315_out1(T55), T53, T54) -> U19(f315_in(T53, T55), T53, T54, T55) U19(f315_out1(X124), T53, T54, T55) -> f345_out1(T55, X124) f375_in(T82, T83, T84) -> U20(f315_in(s(T82), T83), T82, T83, T84) U20(f315_out1(T85), T82, T83, T84) -> U21(f250_in(T82, T85, T84), T82, T83, T84, T85) U21(f250_out1, T82, T83, T84, T85) -> f375_out1(T85) f485_in(T94, T96) -> U22(f492_in(T94), T94, T96) U22(f492_out1, T94, T96) -> U23(f3_in(T94, T96), T94, T96) U23(f3_out1, T94, T96) -> f485_out1 f507_in(T108) -> U24(f492_in(T108), T108) U24(f492_out1, T108) -> U25(f512_in(T108), T108) U25(f512_out1, T108) -> f507_out1 Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (94) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. U18^1(f315_out1(T55), T53, T54) -> F315_IN(T53, T55) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: POL( U18^1_3(x_1, ..., x_3) ) = x_2 + 1 POL( f315_in_2(x_1, x_2) ) = 0 POL( s_1(x_1) ) = x_1 + 1 POL( 0 ) = 1 POL( U5_3(x_1, ..., x_3) ) = max{0, 2x_3 - 2} POL( f259_in_1(x_1) ) = 0 POL( U6_3(x_1, ..., x_3) ) = max{0, x_1 - 2} POL( f345_in_2(x_1, x_2) ) = 0 POL( U4_2(x_1, x_2) ) = max{0, 2x_1 - 2} POL( f296_in_1(x_1) ) = 0 POL( f296_out1_2(x_1, x_2) ) = 2x_1 POL( f259_out1_1(x_1) ) = max{0, x_1 - 1} POL( U16_2(x_1, x_2) ) = max{0, 2x_2 - 2} POL( f248_in_1(x_1) ) = 0 POL( U3_2(x_1, x_2) ) = max{0, 2x_1 - 2} POL( f248_out1_1(x_1) ) = 2x_1 + 2 POL( U17_3(x_1, ..., x_3) ) = max{0, 2x_1 - 2} POL( U19_4(x_1, ..., x_4) ) = max{0, x_1 + 2x_4 - 2} POL( f315_out1_1(x_1) ) = max{0, x_1 - 2} POL( f345_out1_2(x_1, x_2) ) = x_1 POL( U18_3(x_1, ..., x_3) ) = 2x_2 + 2 POL( F315_IN_2(x_1, x_2) ) = x_1 POL( F345_IN_2(x_1, x_2) ) = x_1 + 1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: none ---------------------------------------- (95) Obligation: Q DP problem: The TRS P consists of the following rules: F315_IN(s(T53), s(T54)) -> F345_IN(T53, T54) F345_IN(T53, T54) -> U18^1(f315_in(s(T53), T54), T53, T54) F345_IN(T53, T54) -> F315_IN(s(T53), T54) The TRS R consists of the following rules: f3_in(0, s(T8)) -> f3_out1 f3_in(s(T17), T18) -> U1(f91_in(T17, T18), s(T17), T18) U1(f91_out1, s(T17), T18) -> f3_out1 f3_in(s(T94), T96) -> U2(f485_in(T94, T96), s(T94), T96) U2(f485_out1, s(T94), T96) -> f3_out1 f248_in(T31) -> U3(f259_in(T31), T31) U3(f259_out1(X59), T31) -> f248_out1(X59) f259_in(0) -> f259_out1(s(s(0))) f259_in(s(T35)) -> U4(f296_in(T35), s(T35)) U4(f296_out1(X81, X82), s(T35)) -> f259_out1(X82) f315_in(0, T43) -> f315_out1(s(T43)) f315_in(s(T48), 0) -> U5(f259_in(T48), s(T48), 0) U5(f259_out1(X108), s(T48), 0) -> f315_out1(X108) f315_in(s(T53), s(T54)) -> U6(f345_in(T53, T54), s(T53), s(T54)) U6(f345_out1(X123, X124), s(T53), s(T54)) -> f315_out1(X124) f91_in(0, s(s(0))) -> f91_out1 f91_in(s(T24), T25) -> U7(f244_in(T24, T25), s(T24), T25) U7(f244_out1(X35), s(T24), T25) -> f91_out1 f250_in(0, T65, s(T65)) -> f250_out1 f250_in(s(T74), 0, T75) -> U8(f91_in(T74, T75), s(T74), 0, T75) U8(f91_out1, s(T74), 0, T75) -> f250_out1 f250_in(s(T82), s(T83), T84) -> U9(f375_in(T82, T83, T84), s(T82), s(T83), T84) U9(f375_out1(X163), s(T82), s(T83), T84) -> f250_out1 f492_in(T103) -> U10(f259_in(T103), T103) U10(f259_out1(X200), T103) -> f492_out1 f492_in(T108) -> U11(f507_in(T108), T108) U11(f507_out1, T108) -> f492_out1 f512_in(0) -> f512_out1 f512_in(s(T123)) -> U12(f259_in(T123), s(T123)) U12(f259_out1(X242), s(T123)) -> f512_out1 f512_in(s(T128)) -> U13(f507_in(T128), s(T128)) U13(f507_out1, s(T128)) -> f512_out1 f244_in(T24, T25) -> U14(f248_in(T24), T24, T25) U14(f248_out1(T26), T24, T25) -> U15(f250_in(T24, T26, T25), T24, T25, T26) U15(f250_out1, T24, T25, T26) -> f244_out1(T26) f296_in(T35) -> U16(f248_in(T35), T35) U16(f248_out1(T36), T35) -> U17(f315_in(T35, T36), T35, T36) U17(f315_out1(X82), T35, T36) -> f296_out1(T36, X82) f345_in(T53, T54) -> U18(f315_in(s(T53), T54), T53, T54) U18(f315_out1(T55), T53, T54) -> U19(f315_in(T53, T55), T53, T54, T55) U19(f315_out1(X124), T53, T54, T55) -> f345_out1(T55, X124) f375_in(T82, T83, T84) -> U20(f315_in(s(T82), T83), T82, T83, T84) U20(f315_out1(T85), T82, T83, T84) -> U21(f250_in(T82, T85, T84), T82, T83, T84, T85) U21(f250_out1, T82, T83, T84, T85) -> f375_out1(T85) f485_in(T94, T96) -> U22(f492_in(T94), T94, T96) U22(f492_out1, T94, T96) -> U23(f3_in(T94, T96), T94, T96) U23(f3_out1, T94, T96) -> f485_out1 f507_in(T108) -> U24(f492_in(T108), T108) U24(f492_out1, T108) -> U25(f512_in(T108), T108) U25(f512_out1, T108) -> f507_out1 Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (96) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (97) Obligation: Q DP problem: The TRS P consists of the following rules: F345_IN(T53, T54) -> F315_IN(s(T53), T54) F315_IN(s(T53), s(T54)) -> F345_IN(T53, T54) The TRS R consists of the following rules: f3_in(0, s(T8)) -> f3_out1 f3_in(s(T17), T18) -> U1(f91_in(T17, T18), s(T17), T18) U1(f91_out1, s(T17), T18) -> f3_out1 f3_in(s(T94), T96) -> U2(f485_in(T94, T96), s(T94), T96) U2(f485_out1, s(T94), T96) -> f3_out1 f248_in(T31) -> U3(f259_in(T31), T31) U3(f259_out1(X59), T31) -> f248_out1(X59) f259_in(0) -> f259_out1(s(s(0))) f259_in(s(T35)) -> U4(f296_in(T35), s(T35)) U4(f296_out1(X81, X82), s(T35)) -> f259_out1(X82) f315_in(0, T43) -> f315_out1(s(T43)) f315_in(s(T48), 0) -> U5(f259_in(T48), s(T48), 0) U5(f259_out1(X108), s(T48), 0) -> f315_out1(X108) f315_in(s(T53), s(T54)) -> U6(f345_in(T53, T54), s(T53), s(T54)) U6(f345_out1(X123, X124), s(T53), s(T54)) -> f315_out1(X124) f91_in(0, s(s(0))) -> f91_out1 f91_in(s(T24), T25) -> U7(f244_in(T24, T25), s(T24), T25) U7(f244_out1(X35), s(T24), T25) -> f91_out1 f250_in(0, T65, s(T65)) -> f250_out1 f250_in(s(T74), 0, T75) -> U8(f91_in(T74, T75), s(T74), 0, T75) U8(f91_out1, s(T74), 0, T75) -> f250_out1 f250_in(s(T82), s(T83), T84) -> U9(f375_in(T82, T83, T84), s(T82), s(T83), T84) U9(f375_out1(X163), s(T82), s(T83), T84) -> f250_out1 f492_in(T103) -> U10(f259_in(T103), T103) U10(f259_out1(X200), T103) -> f492_out1 f492_in(T108) -> U11(f507_in(T108), T108) U11(f507_out1, T108) -> f492_out1 f512_in(0) -> f512_out1 f512_in(s(T123)) -> U12(f259_in(T123), s(T123)) U12(f259_out1(X242), s(T123)) -> f512_out1 f512_in(s(T128)) -> U13(f507_in(T128), s(T128)) U13(f507_out1, s(T128)) -> f512_out1 f244_in(T24, T25) -> U14(f248_in(T24), T24, T25) U14(f248_out1(T26), T24, T25) -> U15(f250_in(T24, T26, T25), T24, T25, T26) U15(f250_out1, T24, T25, T26) -> f244_out1(T26) f296_in(T35) -> U16(f248_in(T35), T35) U16(f248_out1(T36), T35) -> U17(f315_in(T35, T36), T35, T36) U17(f315_out1(X82), T35, T36) -> f296_out1(T36, X82) f345_in(T53, T54) -> U18(f315_in(s(T53), T54), T53, T54) U18(f315_out1(T55), T53, T54) -> U19(f315_in(T53, T55), T53, T54, T55) U19(f315_out1(X124), T53, T54, T55) -> f345_out1(T55, X124) f375_in(T82, T83, T84) -> U20(f315_in(s(T82), T83), T82, T83, T84) U20(f315_out1(T85), T82, T83, T84) -> U21(f250_in(T82, T85, T84), T82, T83, T84, T85) U21(f250_out1, T82, T83, T84, T85) -> f375_out1(T85) f485_in(T94, T96) -> U22(f492_in(T94), T94, T96) U22(f492_out1, T94, T96) -> U23(f3_in(T94, T96), T94, T96) U23(f3_out1, T94, T96) -> f485_out1 f507_in(T108) -> U24(f492_in(T108), T108) U24(f492_out1, T108) -> U25(f512_in(T108), T108) U25(f512_out1, T108) -> f507_out1 Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (98) UsableRulesProof (EQUIVALENT) We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (99) Obligation: Q DP problem: The TRS P consists of the following rules: F345_IN(T53, T54) -> F315_IN(s(T53), T54) F315_IN(s(T53), s(T54)) -> F345_IN(T53, T54) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (100) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *F315_IN(s(T53), s(T54)) -> F345_IN(T53, T54) The graph contains the following edges 1 > 1, 2 > 2 *F345_IN(T53, T54) -> F315_IN(s(T53), T54) The graph contains the following edges 2 >= 2 ---------------------------------------- (101) YES ---------------------------------------- (102) Obligation: Q DP problem: The TRS P consists of the following rules: F492_IN(T108) -> F507_IN(T108) F507_IN(T108) -> U24^1(f492_in(T108), T108) U24^1(f492_out1, T108) -> F512_IN(T108) F512_IN(s(T128)) -> F507_IN(T128) F507_IN(T108) -> F492_IN(T108) The TRS R consists of the following rules: f3_in(0, s(T8)) -> f3_out1 f3_in(s(T17), T18) -> U1(f91_in(T17, T18), s(T17), T18) U1(f91_out1, s(T17), T18) -> f3_out1 f3_in(s(T94), T96) -> U2(f485_in(T94, T96), s(T94), T96) U2(f485_out1, s(T94), T96) -> f3_out1 f248_in(T31) -> U3(f259_in(T31), T31) U3(f259_out1(X59), T31) -> f248_out1(X59) f259_in(0) -> f259_out1(s(s(0))) f259_in(s(T35)) -> U4(f296_in(T35), s(T35)) U4(f296_out1(X81, X82), s(T35)) -> f259_out1(X82) f315_in(0, T43) -> f315_out1(s(T43)) f315_in(s(T48), 0) -> U5(f259_in(T48), s(T48), 0) U5(f259_out1(X108), s(T48), 0) -> f315_out1(X108) f315_in(s(T53), s(T54)) -> U6(f345_in(T53, T54), s(T53), s(T54)) U6(f345_out1(X123, X124), s(T53), s(T54)) -> f315_out1(X124) f91_in(0, s(s(0))) -> f91_out1 f91_in(s(T24), T25) -> U7(f244_in(T24, T25), s(T24), T25) U7(f244_out1(X35), s(T24), T25) -> f91_out1 f250_in(0, T65, s(T65)) -> f250_out1 f250_in(s(T74), 0, T75) -> U8(f91_in(T74, T75), s(T74), 0, T75) U8(f91_out1, s(T74), 0, T75) -> f250_out1 f250_in(s(T82), s(T83), T84) -> U9(f375_in(T82, T83, T84), s(T82), s(T83), T84) U9(f375_out1(X163), s(T82), s(T83), T84) -> f250_out1 f492_in(T103) -> U10(f259_in(T103), T103) U10(f259_out1(X200), T103) -> f492_out1 f492_in(T108) -> U11(f507_in(T108), T108) U11(f507_out1, T108) -> f492_out1 f512_in(0) -> f512_out1 f512_in(s(T123)) -> U12(f259_in(T123), s(T123)) U12(f259_out1(X242), s(T123)) -> f512_out1 f512_in(s(T128)) -> U13(f507_in(T128), s(T128)) U13(f507_out1, s(T128)) -> f512_out1 f244_in(T24, T25) -> U14(f248_in(T24), T24, T25) U14(f248_out1(T26), T24, T25) -> U15(f250_in(T24, T26, T25), T24, T25, T26) U15(f250_out1, T24, T25, T26) -> f244_out1(T26) f296_in(T35) -> U16(f248_in(T35), T35) U16(f248_out1(T36), T35) -> U17(f315_in(T35, T36), T35, T36) U17(f315_out1(X82), T35, T36) -> f296_out1(T36, X82) f345_in(T53, T54) -> U18(f315_in(s(T53), T54), T53, T54) U18(f315_out1(T55), T53, T54) -> U19(f315_in(T53, T55), T53, T54, T55) U19(f315_out1(X124), T53, T54, T55) -> f345_out1(T55, X124) f375_in(T82, T83, T84) -> U20(f315_in(s(T82), T83), T82, T83, T84) U20(f315_out1(T85), T82, T83, T84) -> U21(f250_in(T82, T85, T84), T82, T83, T84, T85) U21(f250_out1, T82, T83, T84, T85) -> f375_out1(T85) f485_in(T94, T96) -> U22(f492_in(T94), T94, T96) U22(f492_out1, T94, T96) -> U23(f3_in(T94, T96), T94, T96) U23(f3_out1, T94, T96) -> f485_out1 f507_in(T108) -> U24(f492_in(T108), T108) U24(f492_out1, T108) -> U25(f512_in(T108), T108) U25(f512_out1, T108) -> f507_out1 Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (103) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. U24^1(f492_out1, T108) -> F512_IN(T108) F512_IN(s(T128)) -> F507_IN(T128) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: POL( U24^1_2(x_1, x_2) ) = 2x_2 + 2 POL( f492_in_1(x_1) ) = 2 POL( U10_2(x_1, x_2) ) = max{0, 2x_2 - 2} POL( f259_in_1(x_1) ) = 2x_1 POL( U11_2(x_1, x_2) ) = max{0, 2x_2 - 2} POL( f507_in_1(x_1) ) = 0 POL( f507_out1 ) = 2 POL( f492_out1 ) = 2 POL( U24_2(x_1, x_2) ) = max{0, 2x_2 - 2} POL( U25_2(x_1, x_2) ) = max{0, 2x_1 - 2} POL( f512_in_1(x_1) ) = 2 POL( 0 ) = 0 POL( f512_out1 ) = 1 POL( s_1(x_1) ) = x_1 + 2 POL( U12_2(x_1, x_2) ) = max{0, 2x_1 + 2x_2 - 2} POL( U13_2(x_1, x_2) ) = max{0, 2x_1 - 2} POL( f259_out1_1(x_1) ) = max{0, x_1 - 2} POL( U4_2(x_1, x_2) ) = 2x_1 + 2 POL( f296_in_1(x_1) ) = 0 POL( f296_out1_2(x_1, x_2) ) = x_2 POL( U16_2(x_1, x_2) ) = 2x_2 + 2 POL( f248_in_1(x_1) ) = 2x_1 + 1 POL( U3_2(x_1, x_2) ) = max{0, 2x_1 - 2} POL( f248_out1_1(x_1) ) = 2x_1 + 2 POL( U17_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_3 - 2} POL( f315_in_2(x_1, x_2) ) = max{0, 2x_2 - 2} POL( U19_4(x_1, ..., x_4) ) = max{0, 2x_1 - 2} POL( f315_out1_1(x_1) ) = max{0, 2x_1 - 2} POL( U5_3(x_1, ..., x_3) ) = 2x_3 + 2 POL( U6_3(x_1, ..., x_3) ) = 2x_1 + x_2 + 2 POL( f345_in_2(x_1, x_2) ) = x_1 + 2 POL( f345_out1_2(x_1, x_2) ) = 2x_1 + 1 POL( U18_3(x_1, ..., x_3) ) = 2 POL( F492_IN_1(x_1) ) = 2x_1 + 2 POL( F507_IN_1(x_1) ) = 2x_1 + 2 POL( F512_IN_1(x_1) ) = 2x_1 + 1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: none ---------------------------------------- (104) Obligation: Q DP problem: The TRS P consists of the following rules: F492_IN(T108) -> F507_IN(T108) F507_IN(T108) -> U24^1(f492_in(T108), T108) F507_IN(T108) -> F492_IN(T108) The TRS R consists of the following rules: f3_in(0, s(T8)) -> f3_out1 f3_in(s(T17), T18) -> U1(f91_in(T17, T18), s(T17), T18) U1(f91_out1, s(T17), T18) -> f3_out1 f3_in(s(T94), T96) -> U2(f485_in(T94, T96), s(T94), T96) U2(f485_out1, s(T94), T96) -> f3_out1 f248_in(T31) -> U3(f259_in(T31), T31) U3(f259_out1(X59), T31) -> f248_out1(X59) f259_in(0) -> f259_out1(s(s(0))) f259_in(s(T35)) -> U4(f296_in(T35), s(T35)) U4(f296_out1(X81, X82), s(T35)) -> f259_out1(X82) f315_in(0, T43) -> f315_out1(s(T43)) f315_in(s(T48), 0) -> U5(f259_in(T48), s(T48), 0) U5(f259_out1(X108), s(T48), 0) -> f315_out1(X108) f315_in(s(T53), s(T54)) -> U6(f345_in(T53, T54), s(T53), s(T54)) U6(f345_out1(X123, X124), s(T53), s(T54)) -> f315_out1(X124) f91_in(0, s(s(0))) -> f91_out1 f91_in(s(T24), T25) -> U7(f244_in(T24, T25), s(T24), T25) U7(f244_out1(X35), s(T24), T25) -> f91_out1 f250_in(0, T65, s(T65)) -> f250_out1 f250_in(s(T74), 0, T75) -> U8(f91_in(T74, T75), s(T74), 0, T75) U8(f91_out1, s(T74), 0, T75) -> f250_out1 f250_in(s(T82), s(T83), T84) -> U9(f375_in(T82, T83, T84), s(T82), s(T83), T84) U9(f375_out1(X163), s(T82), s(T83), T84) -> f250_out1 f492_in(T103) -> U10(f259_in(T103), T103) U10(f259_out1(X200), T103) -> f492_out1 f492_in(T108) -> U11(f507_in(T108), T108) U11(f507_out1, T108) -> f492_out1 f512_in(0) -> f512_out1 f512_in(s(T123)) -> U12(f259_in(T123), s(T123)) U12(f259_out1(X242), s(T123)) -> f512_out1 f512_in(s(T128)) -> U13(f507_in(T128), s(T128)) U13(f507_out1, s(T128)) -> f512_out1 f244_in(T24, T25) -> U14(f248_in(T24), T24, T25) U14(f248_out1(T26), T24, T25) -> U15(f250_in(T24, T26, T25), T24, T25, T26) U15(f250_out1, T24, T25, T26) -> f244_out1(T26) f296_in(T35) -> U16(f248_in(T35), T35) U16(f248_out1(T36), T35) -> U17(f315_in(T35, T36), T35, T36) U17(f315_out1(X82), T35, T36) -> f296_out1(T36, X82) f345_in(T53, T54) -> U18(f315_in(s(T53), T54), T53, T54) U18(f315_out1(T55), T53, T54) -> U19(f315_in(T53, T55), T53, T54, T55) U19(f315_out1(X124), T53, T54, T55) -> f345_out1(T55, X124) f375_in(T82, T83, T84) -> U20(f315_in(s(T82), T83), T82, T83, T84) U20(f315_out1(T85), T82, T83, T84) -> U21(f250_in(T82, T85, T84), T82, T83, T84, T85) U21(f250_out1, T82, T83, T84, T85) -> f375_out1(T85) f485_in(T94, T96) -> U22(f492_in(T94), T94, T96) U22(f492_out1, T94, T96) -> U23(f3_in(T94, T96), T94, T96) U23(f3_out1, T94, T96) -> f485_out1 f507_in(T108) -> U24(f492_in(T108), T108) U24(f492_out1, T108) -> U25(f512_in(T108), T108) U25(f512_out1, T108) -> f507_out1 Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (105) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (106) Obligation: Q DP problem: The TRS P consists of the following rules: F507_IN(T108) -> F492_IN(T108) F492_IN(T108) -> F507_IN(T108) The TRS R consists of the following rules: f3_in(0, s(T8)) -> f3_out1 f3_in(s(T17), T18) -> U1(f91_in(T17, T18), s(T17), T18) U1(f91_out1, s(T17), T18) -> f3_out1 f3_in(s(T94), T96) -> U2(f485_in(T94, T96), s(T94), T96) U2(f485_out1, s(T94), T96) -> f3_out1 f248_in(T31) -> U3(f259_in(T31), T31) U3(f259_out1(X59), T31) -> f248_out1(X59) f259_in(0) -> f259_out1(s(s(0))) f259_in(s(T35)) -> U4(f296_in(T35), s(T35)) U4(f296_out1(X81, X82), s(T35)) -> f259_out1(X82) f315_in(0, T43) -> f315_out1(s(T43)) f315_in(s(T48), 0) -> U5(f259_in(T48), s(T48), 0) U5(f259_out1(X108), s(T48), 0) -> f315_out1(X108) f315_in(s(T53), s(T54)) -> U6(f345_in(T53, T54), s(T53), s(T54)) U6(f345_out1(X123, X124), s(T53), s(T54)) -> f315_out1(X124) f91_in(0, s(s(0))) -> f91_out1 f91_in(s(T24), T25) -> U7(f244_in(T24, T25), s(T24), T25) U7(f244_out1(X35), s(T24), T25) -> f91_out1 f250_in(0, T65, s(T65)) -> f250_out1 f250_in(s(T74), 0, T75) -> U8(f91_in(T74, T75), s(T74), 0, T75) U8(f91_out1, s(T74), 0, T75) -> f250_out1 f250_in(s(T82), s(T83), T84) -> U9(f375_in(T82, T83, T84), s(T82), s(T83), T84) U9(f375_out1(X163), s(T82), s(T83), T84) -> f250_out1 f492_in(T103) -> U10(f259_in(T103), T103) U10(f259_out1(X200), T103) -> f492_out1 f492_in(T108) -> U11(f507_in(T108), T108) U11(f507_out1, T108) -> f492_out1 f512_in(0) -> f512_out1 f512_in(s(T123)) -> U12(f259_in(T123), s(T123)) U12(f259_out1(X242), s(T123)) -> f512_out1 f512_in(s(T128)) -> U13(f507_in(T128), s(T128)) U13(f507_out1, s(T128)) -> f512_out1 f244_in(T24, T25) -> U14(f248_in(T24), T24, T25) U14(f248_out1(T26), T24, T25) -> U15(f250_in(T24, T26, T25), T24, T25, T26) U15(f250_out1, T24, T25, T26) -> f244_out1(T26) f296_in(T35) -> U16(f248_in(T35), T35) U16(f248_out1(T36), T35) -> U17(f315_in(T35, T36), T35, T36) U17(f315_out1(X82), T35, T36) -> f296_out1(T36, X82) f345_in(T53, T54) -> U18(f315_in(s(T53), T54), T53, T54) U18(f315_out1(T55), T53, T54) -> U19(f315_in(T53, T55), T53, T54, T55) U19(f315_out1(X124), T53, T54, T55) -> f345_out1(T55, X124) f375_in(T82, T83, T84) -> U20(f315_in(s(T82), T83), T82, T83, T84) U20(f315_out1(T85), T82, T83, T84) -> U21(f250_in(T82, T85, T84), T82, T83, T84, T85) U21(f250_out1, T82, T83, T84, T85) -> f375_out1(T85) f485_in(T94, T96) -> U22(f492_in(T94), T94, T96) U22(f492_out1, T94, T96) -> U23(f3_in(T94, T96), T94, T96) U23(f3_out1, T94, T96) -> f485_out1 f507_in(T108) -> U24(f492_in(T108), T108) U24(f492_out1, T108) -> U25(f512_in(T108), T108) U25(f512_out1, T108) -> f507_out1 Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (107) UsableRulesProof (EQUIVALENT) We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (108) Obligation: Q DP problem: The TRS P consists of the following rules: F507_IN(T108) -> F492_IN(T108) F492_IN(T108) -> F507_IN(T108) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (109) NonTerminationLoopProof (COMPLETE) We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. Found a loop by narrowing to the left: s = F492_IN(T108') evaluates to t =F492_IN(T108') Thus s starts an infinite chain as s semiunifies with t with the following substitutions: * Matcher: [ ] * Semiunifier: [ ] -------------------------------------------------------------------------------- Rewriting sequence F492_IN(T108') -> F507_IN(T108') with rule F492_IN(T108'') -> F507_IN(T108'') at position [] and matcher [T108'' / T108'] F507_IN(T108') -> F492_IN(T108') with rule F507_IN(T108) -> F492_IN(T108) Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence All these steps are and every following step will be a correct step w.r.t to Q. ---------------------------------------- (110) NO ---------------------------------------- (111) Obligation: Q DP problem: The TRS P consists of the following rules: F244_IN(T24, T25) -> U14^1(f248_in(T24), T24, T25) U14^1(f248_out1(T26), T24, T25) -> F250_IN(T24, T26, T25) F250_IN(s(T74), 0, T75) -> F91_IN(T74, T75) F91_IN(s(T24), T25) -> F244_IN(T24, T25) F250_IN(s(T82), s(T83), T84) -> F375_IN(T82, T83, T84) F375_IN(T82, T83, T84) -> U20^1(f315_in(s(T82), T83), T82, T83, T84) U20^1(f315_out1(T85), T82, T83, T84) -> F250_IN(T82, T85, T84) The TRS R consists of the following rules: f3_in(0, s(T8)) -> f3_out1 f3_in(s(T17), T18) -> U1(f91_in(T17, T18), s(T17), T18) U1(f91_out1, s(T17), T18) -> f3_out1 f3_in(s(T94), T96) -> U2(f485_in(T94, T96), s(T94), T96) U2(f485_out1, s(T94), T96) -> f3_out1 f248_in(T31) -> U3(f259_in(T31), T31) U3(f259_out1(X59), T31) -> f248_out1(X59) f259_in(0) -> f259_out1(s(s(0))) f259_in(s(T35)) -> U4(f296_in(T35), s(T35)) U4(f296_out1(X81, X82), s(T35)) -> f259_out1(X82) f315_in(0, T43) -> f315_out1(s(T43)) f315_in(s(T48), 0) -> U5(f259_in(T48), s(T48), 0) U5(f259_out1(X108), s(T48), 0) -> f315_out1(X108) f315_in(s(T53), s(T54)) -> U6(f345_in(T53, T54), s(T53), s(T54)) U6(f345_out1(X123, X124), s(T53), s(T54)) -> f315_out1(X124) f91_in(0, s(s(0))) -> f91_out1 f91_in(s(T24), T25) -> U7(f244_in(T24, T25), s(T24), T25) U7(f244_out1(X35), s(T24), T25) -> f91_out1 f250_in(0, T65, s(T65)) -> f250_out1 f250_in(s(T74), 0, T75) -> U8(f91_in(T74, T75), s(T74), 0, T75) U8(f91_out1, s(T74), 0, T75) -> f250_out1 f250_in(s(T82), s(T83), T84) -> U9(f375_in(T82, T83, T84), s(T82), s(T83), T84) U9(f375_out1(X163), s(T82), s(T83), T84) -> f250_out1 f492_in(T103) -> U10(f259_in(T103), T103) U10(f259_out1(X200), T103) -> f492_out1 f492_in(T108) -> U11(f507_in(T108), T108) U11(f507_out1, T108) -> f492_out1 f512_in(0) -> f512_out1 f512_in(s(T123)) -> U12(f259_in(T123), s(T123)) U12(f259_out1(X242), s(T123)) -> f512_out1 f512_in(s(T128)) -> U13(f507_in(T128), s(T128)) U13(f507_out1, s(T128)) -> f512_out1 f244_in(T24, T25) -> U14(f248_in(T24), T24, T25) U14(f248_out1(T26), T24, T25) -> U15(f250_in(T24, T26, T25), T24, T25, T26) U15(f250_out1, T24, T25, T26) -> f244_out1(T26) f296_in(T35) -> U16(f248_in(T35), T35) U16(f248_out1(T36), T35) -> U17(f315_in(T35, T36), T35, T36) U17(f315_out1(X82), T35, T36) -> f296_out1(T36, X82) f345_in(T53, T54) -> U18(f315_in(s(T53), T54), T53, T54) U18(f315_out1(T55), T53, T54) -> U19(f315_in(T53, T55), T53, T54, T55) U19(f315_out1(X124), T53, T54, T55) -> f345_out1(T55, X124) f375_in(T82, T83, T84) -> U20(f315_in(s(T82), T83), T82, T83, T84) U20(f315_out1(T85), T82, T83, T84) -> U21(f250_in(T82, T85, T84), T82, T83, T84, T85) U21(f250_out1, T82, T83, T84, T85) -> f375_out1(T85) f485_in(T94, T96) -> U22(f492_in(T94), T94, T96) U22(f492_out1, T94, T96) -> U23(f3_in(T94, T96), T94, T96) U23(f3_out1, T94, T96) -> f485_out1 f507_in(T108) -> U24(f492_in(T108), T108) U24(f492_out1, T108) -> U25(f512_in(T108), T108) U25(f512_out1, T108) -> f507_out1 Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (112) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U14^1(f248_out1(T26), T24, T25) -> F250_IN(T24, T26, T25) The graph contains the following edges 2 >= 1, 1 > 2, 3 >= 3 *F91_IN(s(T24), T25) -> F244_IN(T24, T25) The graph contains the following edges 1 > 1, 2 >= 2 *F244_IN(T24, T25) -> U14^1(f248_in(T24), T24, T25) The graph contains the following edges 1 >= 2, 2 >= 3 *U20^1(f315_out1(T85), T82, T83, T84) -> F250_IN(T82, T85, T84) The graph contains the following edges 2 >= 1, 1 > 2, 4 >= 3 *F375_IN(T82, T83, T84) -> U20^1(f315_in(s(T82), T83), T82, T83, T84) The graph contains the following edges 1 >= 2, 2 >= 3, 3 >= 4 *F250_IN(s(T74), 0, T75) -> F91_IN(T74, T75) The graph contains the following edges 1 > 1, 3 >= 2 *F250_IN(s(T82), s(T83), T84) -> F375_IN(T82, T83, T84) The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 ---------------------------------------- (113) YES ---------------------------------------- (114) Obligation: Q DP problem: The TRS P consists of the following rules: F3_IN(s(T94), T96) -> F485_IN(T94, T96) F485_IN(T94, T96) -> U22^1(f492_in(T94), T94, T96) U22^1(f492_out1, T94, T96) -> F3_IN(T94, T96) The TRS R consists of the following rules: f3_in(0, s(T8)) -> f3_out1 f3_in(s(T17), T18) -> U1(f91_in(T17, T18), s(T17), T18) U1(f91_out1, s(T17), T18) -> f3_out1 f3_in(s(T94), T96) -> U2(f485_in(T94, T96), s(T94), T96) U2(f485_out1, s(T94), T96) -> f3_out1 f248_in(T31) -> U3(f259_in(T31), T31) U3(f259_out1(X59), T31) -> f248_out1(X59) f259_in(0) -> f259_out1(s(s(0))) f259_in(s(T35)) -> U4(f296_in(T35), s(T35)) U4(f296_out1(X81, X82), s(T35)) -> f259_out1(X82) f315_in(0, T43) -> f315_out1(s(T43)) f315_in(s(T48), 0) -> U5(f259_in(T48), s(T48), 0) U5(f259_out1(X108), s(T48), 0) -> f315_out1(X108) f315_in(s(T53), s(T54)) -> U6(f345_in(T53, T54), s(T53), s(T54)) U6(f345_out1(X123, X124), s(T53), s(T54)) -> f315_out1(X124) f91_in(0, s(s(0))) -> f91_out1 f91_in(s(T24), T25) -> U7(f244_in(T24, T25), s(T24), T25) U7(f244_out1(X35), s(T24), T25) -> f91_out1 f250_in(0, T65, s(T65)) -> f250_out1 f250_in(s(T74), 0, T75) -> U8(f91_in(T74, T75), s(T74), 0, T75) U8(f91_out1, s(T74), 0, T75) -> f250_out1 f250_in(s(T82), s(T83), T84) -> U9(f375_in(T82, T83, T84), s(T82), s(T83), T84) U9(f375_out1(X163), s(T82), s(T83), T84) -> f250_out1 f492_in(T103) -> U10(f259_in(T103), T103) U10(f259_out1(X200), T103) -> f492_out1 f492_in(T108) -> U11(f507_in(T108), T108) U11(f507_out1, T108) -> f492_out1 f512_in(0) -> f512_out1 f512_in(s(T123)) -> U12(f259_in(T123), s(T123)) U12(f259_out1(X242), s(T123)) -> f512_out1 f512_in(s(T128)) -> U13(f507_in(T128), s(T128)) U13(f507_out1, s(T128)) -> f512_out1 f244_in(T24, T25) -> U14(f248_in(T24), T24, T25) U14(f248_out1(T26), T24, T25) -> U15(f250_in(T24, T26, T25), T24, T25, T26) U15(f250_out1, T24, T25, T26) -> f244_out1(T26) f296_in(T35) -> U16(f248_in(T35), T35) U16(f248_out1(T36), T35) -> U17(f315_in(T35, T36), T35, T36) U17(f315_out1(X82), T35, T36) -> f296_out1(T36, X82) f345_in(T53, T54) -> U18(f315_in(s(T53), T54), T53, T54) U18(f315_out1(T55), T53, T54) -> U19(f315_in(T53, T55), T53, T54, T55) U19(f315_out1(X124), T53, T54, T55) -> f345_out1(T55, X124) f375_in(T82, T83, T84) -> U20(f315_in(s(T82), T83), T82, T83, T84) U20(f315_out1(T85), T82, T83, T84) -> U21(f250_in(T82, T85, T84), T82, T83, T84, T85) U21(f250_out1, T82, T83, T84, T85) -> f375_out1(T85) f485_in(T94, T96) -> U22(f492_in(T94), T94, T96) U22(f492_out1, T94, T96) -> U23(f3_in(T94, T96), T94, T96) U23(f3_out1, T94, T96) -> f485_out1 f507_in(T108) -> U24(f492_in(T108), T108) U24(f492_out1, T108) -> U25(f512_in(T108), T108) U25(f512_out1, T108) -> f507_out1 Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (115) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *F485_IN(T94, T96) -> U22^1(f492_in(T94), T94, T96) The graph contains the following edges 1 >= 2, 2 >= 3 *U22^1(f492_out1, T94, T96) -> F3_IN(T94, T96) The graph contains the following edges 2 >= 1, 3 >= 2 *F3_IN(s(T94), T96) -> F485_IN(T94, T96) The graph contains the following edges 1 > 1, 2 >= 2 ---------------------------------------- (116) YES ---------------------------------------- (117) PrologToDTProblemTransformerProof (SOUND) Built DT problem from termination graph DT10. { "root": 2, "program": { "directives": [], "clauses": [ [ "(ackermann (0) N (s N))", null ], [ "(ackermann (s M) (0) Val)", "(ackermann M (s (0)) Val)" ], [ "(ackermann (s M) (s N) Val)", "(',' (ackermann (s M) N Val1) (ackermann M Val1 Val))" ] ] }, "graph": { "nodes": { "191": { "goal": [ { "clause": -1, "scope": 2, "term": null }, { "clause": 2, "scope": 1, "term": "(ackermann (s T8) T2 T9)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T8", "T9" ], "free": [], "exprvars": [] } }, "type": "Nodes", "471": { "goal": [ { "clause": 1, "scope": 6, "term": "(ackermann (s T62) T65 X147)" }, { "clause": 2, "scope": 6, "term": "(ackermann (s T62) T65 X147)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T62"], "free": ["X147"], "exprvars": [] } }, "230": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (ackermann (s T30) (0) X82) (ackermann T30 X82 X83))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T30"], "free": [ "X83", "X82" ], "exprvars": [] } }, "472": { "goal": [{ "clause": 1, "scope": 6, "term": "(ackermann (s T62) T65 X147)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T62"], "free": ["X147"], "exprvars": [] } }, "231": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "473": { "goal": [{ "clause": 2, "scope": 6, "term": "(ackermann (s T62) T65 X147)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T62"], "free": ["X147"], "exprvars": [] } }, "232": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T30) (0) X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T30"], "free": ["X82"], "exprvars": [] } }, "474": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T71 (s (0)) X167)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T71"], "free": ["X167"], "exprvars": [] } }, "233": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T30 T31 X83)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T30", "T31" ], "free": ["X83"], "exprvars": [] } }, "475": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "476": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (ackermann (s T76) T78 X182) (ackermann T76 X182 X183))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T76"], "free": [ "X183", "X182" ], "exprvars": [] } }, "477": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "510": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "513": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (ackermann (s T96) T98 X224) (ackermann T96 X224 X225))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T96"], "free": [ "X225", "X224" ], "exprvars": [] } }, "514": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "518": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (ackermann (s T104) T107 X236) (ackermann T104 X236 T106))" }], "kb": { "nonunifying": [[ "(ackermann (s T104) T2 T106)", "(ackermann (s X10) (0) X11)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T104", "T106" ], "free": [ "X10", "X11", "X236" ], "exprvars": [] } }, "519": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "16": { "goal": [ { "clause": -1, "scope": -1, "term": "(true)" }, { "clause": 1, "scope": 1, "term": "(ackermann (0) T2 (s T5))" }, { "clause": 2, "scope": 1, "term": "(ackermann (0) T2 (s T5))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T5"], "free": [], "exprvars": [] } }, "19": { "goal": [ { "clause": 1, "scope": 1, "term": "(ackermann T1 T2 T3)" }, { "clause": 2, "scope": 1, "term": "(ackermann T1 T2 T3)" } ], "kb": { "nonunifying": [[ "(ackermann T1 T2 T3)", "(ackermann (0) X2 (s X2))" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T3" ], "free": ["X2"], "exprvars": [] } }, "481": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T76) T78 X182)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T76"], "free": ["X182"], "exprvars": [] } }, "482": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T76 T79 X183)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T76"], "free": ["X183"], "exprvars": [] } }, "2": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T1 T2 T3)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T3" ], "free": [], "exprvars": [] } }, "487": { "goal": [ { "clause": 0, "scope": 7, "term": "(ackermann T76 T79 X183)" }, { "clause": 1, "scope": 7, "term": "(ackermann T76 T79 X183)" }, { "clause": 2, "scope": 7, "term": "(ackermann T76 T79 X183)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T76"], "free": ["X183"], "exprvars": [] } }, "520": { "goal": [ { "clause": 0, "scope": 8, "term": "(',' (ackermann (s T104) T107 X236) (ackermann T104 X236 T106))" }, { "clause": 1, "scope": 8, "term": "(',' (ackermann (s T104) T107 X236) (ackermann T104 X236 T106))" }, { "clause": 2, "scope": 8, "term": "(',' (ackermann (s T104) T107 X236) (ackermann T104 X236 T106))" } ], "kb": { "nonunifying": [[ "(ackermann (s T104) T2 T106)", "(ackermann (s X10) (0) X11)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T104", "T106" ], "free": [ "X10", "X11", "X236" ], "exprvars": [] } }, "400": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T48 T50 X125)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T48", "T50" ], "free": ["X125"], "exprvars": [] } }, "488": { "goal": [{ "clause": 0, "scope": 7, "term": "(ackermann T76 T79 X183)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T76"], "free": ["X183"], "exprvars": [] } }, "521": { "goal": [ { "clause": 1, "scope": 8, "term": "(',' (ackermann (s T104) T107 X236) (ackermann T104 X236 T106))" }, { "clause": 2, "scope": 8, "term": "(',' (ackermann (s T104) T107 X236) (ackermann T104 X236 T106))" } ], "kb": { "nonunifying": [[ "(ackermann (s T104) T2 T106)", "(ackermann (s X10) (0) X11)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T104", "T106" ], "free": [ "X10", "X11", "X236" ], "exprvars": [] } }, "489": { "goal": [ { "clause": 1, "scope": 7, "term": "(ackermann T76 T79 X183)" }, { "clause": 2, "scope": 7, "term": "(ackermann T76 T79 X183)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T76"], "free": ["X183"], "exprvars": [] } }, "522": { "goal": [{ "clause": 1, "scope": 8, "term": "(',' (ackermann (s T104) T107 X236) (ackermann T104 X236 T106))" }], "kb": { "nonunifying": [[ "(ackermann (s T104) T2 T106)", "(ackermann (s X10) (0) X11)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T104", "T106" ], "free": [ "X10", "X11", "X236" ], "exprvars": [] } }, "523": { "goal": [{ "clause": 2, "scope": 8, "term": "(',' (ackermann (s T104) T107 X236) (ackermann T104 X236 T106))" }], "kb": { "nonunifying": [[ "(ackermann (s T104) T2 T106)", "(ackermann (s X10) (0) X11)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T104", "T106" ], "free": [ "X10", "X11", "X236" ], "exprvars": [] } }, "7": { "goal": [ { "clause": 0, "scope": 1, "term": "(ackermann T1 T2 T3)" }, { "clause": 1, "scope": 1, "term": "(ackermann T1 T2 T3)" }, { "clause": 2, "scope": 1, "term": "(ackermann T1 T2 T3)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T3" ], "free": [], "exprvars": [] } }, "524": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (ackermann T112 (s (0)) X252) (ackermann T112 X252 T106))" }], "kb": { "nonunifying": [[ "(ackermann (s T112) T2 T106)", "(ackermann (s X10) (0) X11)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T106", "T112" ], "free": [ "X10", "X11", "X252" ], "exprvars": [] } }, "525": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "526": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T112 (s (0)) X252)" }], "kb": { "nonunifying": [[ "(ackermann (s T112) T2 T106)", "(ackermann (s X10) (0) X11)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T106", "T112" ], "free": [ "X10", "X11", "X252" ], "exprvars": [] } }, "527": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T112 T113 T106)" }], "kb": { "nonunifying": [[ "(ackermann (s T112) T2 T106)", "(ackermann (s X10) (0) X11)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T106", "T112", "T113" ], "free": [ "X10", "X11" ], "exprvars": [] } }, "528": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (',' (ackermann (s T120) T122 X271) (ackermann T120 X271 X272)) (ackermann T120 X272 T106))" }], "kb": { "nonunifying": [[ "(ackermann (s T120) T2 T106)", "(ackermann (s X10) (0) X11)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T106", "T120" ], "free": [ "X10", "X11", "X272", "X271" ], "exprvars": [] } }, "529": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "20": { "goal": [ { "clause": 1, "scope": 1, "term": "(ackermann (0) T2 (s T5))" }, { "clause": 2, "scope": 1, "term": "(ackermann (0) T2 (s T5))" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T5"], "free": [], "exprvars": [] } }, "530": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T120) T122 X271)" }], "kb": { "nonunifying": [[ "(ackermann (s T120) T2 T106)", "(ackermann (s X10) (0) X11)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T106", "T120" ], "free": [ "X10", "X11", "X271" ], "exprvars": [] } }, "531": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (ackermann T120 T123 X272) (ackermann T120 X272 T106))" }], "kb": { "nonunifying": [[ "(ackermann (s T120) T124 T106)", "(ackermann (s X10) (0) X11)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T106", "T120" ], "free": [ "X10", "X11", "X272" ], "exprvars": [] } }, "381": { "goal": [ { "clause": 0, "scope": 5, "term": "(ackermann T30 T31 X83)" }, { "clause": 1, "scope": 5, "term": "(ackermann T30 T31 X83)" }, { "clause": 2, "scope": 5, "term": "(ackermann T30 T31 X83)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T30", "T31" ], "free": ["X83"], "exprvars": [] } }, "382": { "goal": [{ "clause": 0, "scope": 5, "term": "(ackermann T30 T31 X83)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T30", "T31" ], "free": ["X83"], "exprvars": [] } }, "383": { "goal": [ { "clause": 1, "scope": 5, "term": "(ackermann T30 T31 X83)" }, { "clause": 2, "scope": 5, "term": "(ackermann T30 T31 X83)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T30", "T31" ], "free": ["X83"], "exprvars": [] } }, "386": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "145": { "goal": [{ "clause": 2, "scope": 1, "term": "(ackermann (0) T2 (s T5))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T5"], "free": [], "exprvars": [] } }, "387": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "541": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T120 T123 X272)" }], "kb": { "nonunifying": [[ "(ackermann (s T120) T124 T106)", "(ackermann (s X10) (0) X11)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T106", "T120" ], "free": [ "X10", "X11", "X272" ], "exprvars": [] } }, "388": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "542": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T120 T127 T106)" }], "kb": { "nonunifying": [[ "(ackermann (s T120) T128 T106)", "(ackermann (s X10) (0) X11)" ]], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T106", "T120" ], "free": [ "X10", "X11" ], "exprvars": [] } }, "389": { "goal": [{ "clause": 1, "scope": 5, "term": "(ackermann T30 T31 X83)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T30", "T31" ], "free": ["X83"], "exprvars": [] } }, "428": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "390": { "goal": [{ "clause": 2, "scope": 5, "term": "(ackermann T30 T31 X83)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T30", "T31" ], "free": ["X83"], "exprvars": [] } }, "393": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T43 (s (0)) X109)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T43"], "free": ["X109"], "exprvars": [] } }, "394": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "395": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (ackermann (s T48) T49 X124) (ackermann T48 X124 X125))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T48", "T49" ], "free": [ "X125", "X124" ], "exprvars": [] } }, "396": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "155": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "430": { "goal": [{ "clause": 2, "scope": 1, "term": "(ackermann (s T8) T2 T9)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T8", "T9" ], "free": [], "exprvars": [] } }, "399": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T48) T49 X124)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T48", "T49" ], "free": ["X124"], "exprvars": [] } }, "158": { "goal": [ { "clause": -1, "scope": -1, "term": "(ackermann T8 (s (0)) T9)" }, { "clause": 2, "scope": 1, "term": "(ackermann (s T8) T2 T9)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T8", "T9" ], "free": [], "exprvars": [] } }, "435": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (ackermann (s T62) T65 X147) (ackermann T62 X147 T64))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T62", "T64" ], "free": ["X147"], "exprvars": [] } }, "436": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "437": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T62) T65 X147)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T62"], "free": ["X147"], "exprvars": [] } }, "438": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T62 T66 T64)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T62", "T64" ], "free": [], "exprvars": [] } }, "439": { "goal": [ { "clause": 0, "scope": 6, "term": "(ackermann (s T62) T65 X147)" }, { "clause": 1, "scope": 6, "term": "(ackermann (s T62) T65 X147)" }, { "clause": 2, "scope": 6, "term": "(ackermann (s T62) T65 X147)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T62"], "free": ["X147"], "exprvars": [] } }, "164": { "goal": [{ "clause": 2, "scope": 1, "term": "(ackermann T1 T2 T3)" }], "kb": { "nonunifying": [ [ "(ackermann T1 T2 T3)", "(ackermann (0) X2 (s X2))" ], [ "(ackermann T1 T2 T3)", "(ackermann (s X10) (0) X11)" ] ], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T3" ], "free": [ "X2", "X10", "X11" ], "exprvars": [] } }, "166": { "goal": [ { "clause": 0, "scope": 2, "term": "(ackermann T8 (s (0)) T9)" }, { "clause": 1, "scope": 2, "term": "(ackermann T8 (s (0)) T9)" }, { "clause": 2, "scope": 2, "term": "(ackermann T8 (s (0)) T9)" }, { "clause": -1, "scope": 2, "term": null }, { "clause": 2, "scope": 1, "term": "(ackermann (s T8) T2 T9)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T8", "T9" ], "free": [], "exprvars": [] } }, "201": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (ackermann (s T19) (0) X36) (ackermann T19 X36 T20))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T19", "T20" ], "free": ["X36"], "exprvars": [] } }, "169": { "goal": [{ "clause": 0, "scope": 2, "term": "(ackermann T8 (s (0)) T9)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T8", "T9" ], "free": [], "exprvars": [] } }, "203": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "170": { "goal": [ { "clause": 1, "scope": 2, "term": "(ackermann T8 (s (0)) T9)" }, { "clause": 2, "scope": 2, "term": "(ackermann T8 (s (0)) T9)" }, { "clause": -1, "scope": 2, "term": null }, { "clause": 2, "scope": 1, "term": "(ackermann (s T8) T2 T9)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T8", "T9" ], "free": [], "exprvars": [] } }, "177": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "179": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "213": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T19) (0) X36)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T19"], "free": ["X36"], "exprvars": [] } }, "215": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T19 T21 T20)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T19", "T20", "T21" ], "free": [], "exprvars": [] } }, "218": { "goal": [ { "clause": 0, "scope": 3, "term": "(ackermann (s T19) (0) X36)" }, { "clause": 1, "scope": 3, "term": "(ackermann (s T19) (0) X36)" }, { "clause": 2, "scope": 3, "term": "(ackermann (s T19) (0) X36)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T19"], "free": ["X36"], "exprvars": [] } }, "219": { "goal": [ { "clause": 1, "scope": 3, "term": "(ackermann (s T19) (0) X36)" }, { "clause": 2, "scope": 3, "term": "(ackermann (s T19) (0) X36)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T19"], "free": ["X36"], "exprvars": [] } }, "181": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "183": { "goal": [ { "clause": 2, "scope": 2, "term": "(ackermann T8 (s (0)) T9)" }, { "clause": -1, "scope": 2, "term": null }, { "clause": 2, "scope": 1, "term": "(ackermann (s T8) T2 T9)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T8", "T9" ], "free": [], "exprvars": [] } }, "220": { "goal": [{ "clause": 1, "scope": 3, "term": "(ackermann (s T19) (0) X36)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T19"], "free": ["X36"], "exprvars": [] } }, "221": { "goal": [{ "clause": 2, "scope": 3, "term": "(ackermann (s T19) (0) X36)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T19"], "free": ["X36"], "exprvars": [] } }, "189": { "goal": [{ "clause": 2, "scope": 2, "term": "(ackermann T8 (s (0)) T9)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T8", "T9" ], "free": [], "exprvars": [] } }, "222": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T26 (s (0)) X60)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T26"], "free": ["X60"], "exprvars": [] } }, "223": { "goal": [ { "clause": 0, "scope": 4, "term": "(ackermann T26 (s (0)) X60)" }, { "clause": 1, "scope": 4, "term": "(ackermann T26 (s (0)) X60)" }, { "clause": 2, "scope": 4, "term": "(ackermann T26 (s (0)) X60)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T26"], "free": ["X60"], "exprvars": [] } }, "224": { "goal": [{ "clause": 0, "scope": 4, "term": "(ackermann T26 (s (0)) X60)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T26"], "free": ["X60"], "exprvars": [] } }, "225": { "goal": [ { "clause": 1, "scope": 4, "term": "(ackermann T26 (s (0)) X60)" }, { "clause": 2, "scope": 4, "term": "(ackermann T26 (s (0)) X60)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T26"], "free": ["X60"], "exprvars": [] } }, "226": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "227": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "502": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "228": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "503": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "229": { "goal": [{ "clause": 2, "scope": 4, "term": "(ackermann T26 (s (0)) X60)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T26"], "free": ["X60"], "exprvars": [] } }, "504": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "505": { "goal": [{ "clause": 1, "scope": 7, "term": "(ackermann T76 T79 X183)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T76"], "free": ["X183"], "exprvars": [] } }, "506": { "goal": [{ "clause": 2, "scope": 7, "term": "(ackermann T76 T79 X183)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T76"], "free": ["X183"], "exprvars": [] } }, "508": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T91 (s (0)) X209)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T91"], "free": ["X209"], "exprvars": [] } } }, "edges": [ { "from": 2, "to": 7, "label": "CASE" }, { "from": 7, "to": 16, "label": "EVAL with clause\nackermann(0, X2, s(X2)).\nand substitutionT1 -> 0,\nT2 -> T5,\nX2 -> T5,\nT3 -> s(T5)" }, { "from": 7, "to": 19, "label": "EVAL-BACKTRACK" }, { "from": 16, "to": 20, "label": "SUCCESS" }, { "from": 19, "to": 158, "label": "EVAL with clause\nackermann(s(X10), 0, X11) :- ackermann(X10, s(0), X11).\nand substitutionX10 -> T8,\nT1 -> s(T8),\nT2 -> 0,\nT3 -> T9,\nX11 -> T9" }, { "from": 19, "to": 164, "label": "EVAL-BACKTRACK" }, { "from": 20, "to": 145, "label": "BACKTRACK\nfor clause: ackermann(s(M), 0, Val) :- ackermann(M, s(0), Val)because of non-unification" }, { "from": 145, "to": 155, "label": "BACKTRACK\nfor clause: ackermann(s(M), s(N), Val) :- ','(ackermann(s(M), N, Val1), ackermann(M, Val1, Val))because of non-unification" }, { "from": 158, "to": 166, "label": "CASE" }, { "from": 164, "to": 518, "label": "EVAL with clause\nackermann(s(X233), s(X234), X235) :- ','(ackermann(s(X233), X234, X236), ackermann(X233, X236, X235)).\nand substitutionX233 -> T104,\nT1 -> s(T104),\nX234 -> T107,\nT2 -> s(T107),\nT3 -> T106,\nX235 -> T106,\nT105 -> T107" }, { "from": 164, "to": 519, "label": "EVAL-BACKTRACK" }, { "from": 166, "to": 169, "label": "PARALLEL" }, { "from": 166, "to": 170, "label": "PARALLEL" }, { "from": 169, "to": 177, "label": "EVAL with clause\nackermann(0, X16, s(X16)).\nand substitutionT8 -> 0,\nX16 -> s(0),\nT9 -> s(s(0))" }, { "from": 169, "to": 179, "label": "EVAL-BACKTRACK" }, { "from": 170, "to": 183, "label": "BACKTRACK\nfor clause: ackermann(s(M), 0, Val) :- ackermann(M, s(0), Val)because of non-unification" }, { "from": 177, "to": 181, "label": "SUCCESS" }, { "from": 183, "to": 189, "label": "PARALLEL" }, { "from": 183, "to": 191, "label": "PARALLEL" }, { "from": 189, "to": 201, "label": "EVAL with clause\nackermann(s(X33), s(X34), X35) :- ','(ackermann(s(X33), X34, X36), ackermann(X33, X36, X35)).\nand substitutionX33 -> T19,\nT8 -> s(T19),\nX34 -> 0,\nT9 -> T20,\nX35 -> T20" }, { "from": 189, "to": 203, "label": "EVAL-BACKTRACK" }, { "from": 191, "to": 430, "label": "FAILURE" }, { "from": 201, "to": 213, "label": "SPLIT 1" }, { "from": 201, "to": 215, "label": "SPLIT 2\nnew knowledge:\nT19 is ground\nT21 is ground\nreplacements:X36 -> T21" }, { "from": 213, "to": 218, "label": "CASE" }, { "from": 215, "to": 2, "label": "INSTANCE with matching:\nT1 -> T19\nT2 -> T21\nT3 -> T20" }, { "from": 218, "to": 219, "label": "BACKTRACK\nfor clause: ackermann(0, N, s(N))because of non-unification" }, { "from": 219, "to": 220, "label": "PARALLEL" }, { "from": 219, "to": 221, "label": "PARALLEL" }, { "from": 220, "to": 222, "label": "ONLY EVAL with clause\nackermann(s(X58), 0, X59) :- ackermann(X58, s(0), X59).\nand substitutionT19 -> T26,\nX58 -> T26,\nX36 -> X60,\nX59 -> X60" }, { "from": 221, "to": 428, "label": "BACKTRACK\nfor clause: ackermann(s(M), s(N), Val) :- ','(ackermann(s(M), N, Val1), ackermann(M, Val1, Val))because of non-unification" }, { "from": 222, "to": 223, "label": "CASE" }, { "from": 223, "to": 224, "label": "PARALLEL" }, { "from": 223, "to": 225, "label": "PARALLEL" }, { "from": 224, "to": 226, "label": "EVAL with clause\nackermann(0, X67, s(X67)).\nand substitutionT26 -> 0,\nX67 -> s(0),\nX60 -> s(s(0))" }, { "from": 224, "to": 227, "label": "EVAL-BACKTRACK" }, { "from": 225, "to": 229, "label": "BACKTRACK\nfor clause: ackermann(s(M), 0, Val) :- ackermann(M, s(0), Val)because of non-unification" }, { "from": 226, "to": 228, "label": "SUCCESS" }, { "from": 229, "to": 230, "label": "EVAL with clause\nackermann(s(X79), s(X80), X81) :- ','(ackermann(s(X79), X80, X82), ackermann(X79, X82, X81)).\nand substitutionX79 -> T30,\nT26 -> s(T30),\nX80 -> 0,\nX60 -> X83,\nX81 -> X83" }, { "from": 229, "to": 231, "label": "EVAL-BACKTRACK" }, { "from": 230, "to": 232, "label": "SPLIT 1" }, { "from": 230, "to": 233, "label": "SPLIT 2\nnew knowledge:\nT30 is ground\nT31 is ground\nreplacements:X82 -> T31" }, { "from": 232, "to": 213, "label": "INSTANCE with matching:\nT19 -> T30\nX36 -> X82" }, { "from": 233, "to": 381, "label": "CASE" }, { "from": 381, "to": 382, "label": "PARALLEL" }, { "from": 381, "to": 383, "label": "PARALLEL" }, { "from": 382, "to": 386, "label": "EVAL with clause\nackermann(0, X94, s(X94)).\nand substitutionT30 -> 0,\nT31 -> T38,\nX94 -> T38,\nX83 -> s(T38)" }, { "from": 382, "to": 387, "label": "EVAL-BACKTRACK" }, { "from": 383, "to": 389, "label": "PARALLEL" }, { "from": 383, "to": 390, "label": "PARALLEL" }, { "from": 386, "to": 388, "label": "SUCCESS" }, { "from": 389, "to": 393, "label": "EVAL with clause\nackermann(s(X107), 0, X108) :- ackermann(X107, s(0), X108).\nand substitutionX107 -> T43,\nT30 -> s(T43),\nT31 -> 0,\nX83 -> X109,\nX108 -> X109" }, { "from": 389, "to": 394, "label": "EVAL-BACKTRACK" }, { "from": 390, "to": 395, "label": "EVAL with clause\nackermann(s(X121), s(X122), X123) :- ','(ackermann(s(X121), X122, X124), ackermann(X121, X124, X123)).\nand substitutionX121 -> T48,\nT30 -> s(T48),\nX122 -> T49,\nT31 -> s(T49),\nX83 -> X125,\nX123 -> X125" }, { "from": 390, "to": 396, "label": "EVAL-BACKTRACK" }, { "from": 393, "to": 222, "label": "INSTANCE with matching:\nT26 -> T43\nX60 -> X109" }, { "from": 395, "to": 399, "label": "SPLIT 1" }, { "from": 395, "to": 400, "label": "SPLIT 2\nnew knowledge:\nT48 is ground\nT49 is ground\nT50 is ground\nreplacements:X124 -> T50" }, { "from": 399, "to": 233, "label": "INSTANCE with matching:\nT30 -> s(T48)\nT31 -> T49\nX83 -> X124" }, { "from": 400, "to": 233, "label": "INSTANCE with matching:\nT30 -> T48\nT31 -> T50\nX83 -> X125" }, { "from": 430, "to": 435, "label": "EVAL with clause\nackermann(s(X144), s(X145), X146) :- ','(ackermann(s(X144), X145, X147), ackermann(X144, X147, X146)).\nand substitutionT8 -> T62,\nX144 -> T62,\nX145 -> T65,\nT2 -> s(T65),\nT9 -> T64,\nX146 -> T64,\nT63 -> T65" }, { "from": 430, "to": 436, "label": "EVAL-BACKTRACK" }, { "from": 435, "to": 437, "label": "SPLIT 1" }, { "from": 435, "to": 438, "label": "SPLIT 2\nnew knowledge:\nT62 is ground\nreplacements:X147 -> T66" }, { "from": 437, "to": 439, "label": "CASE" }, { "from": 438, "to": 2, "label": "INSTANCE with matching:\nT1 -> T62\nT2 -> T66\nT3 -> T64" }, { "from": 439, "to": 471, "label": "BACKTRACK\nfor clause: ackermann(0, N, s(N))because of non-unification" }, { "from": 471, "to": 472, "label": "PARALLEL" }, { "from": 471, "to": 473, "label": "PARALLEL" }, { "from": 472, "to": 474, "label": "EVAL with clause\nackermann(s(X165), 0, X166) :- ackermann(X165, s(0), X166).\nand substitutionT62 -> T71,\nX165 -> T71,\nT65 -> 0,\nX147 -> X167,\nX166 -> X167" }, { "from": 472, "to": 475, "label": "EVAL-BACKTRACK" }, { "from": 473, "to": 476, "label": "EVAL with clause\nackermann(s(X179), s(X180), X181) :- ','(ackermann(s(X179), X180, X182), ackermann(X179, X182, X181)).\nand substitutionT62 -> T76,\nX179 -> T76,\nX180 -> T78,\nT65 -> s(T78),\nX147 -> X183,\nX181 -> X183,\nT77 -> T78" }, { "from": 473, "to": 477, "label": "EVAL-BACKTRACK" }, { "from": 474, "to": 222, "label": "INSTANCE with matching:\nT26 -> T71\nX60 -> X167" }, { "from": 476, "to": 481, "label": "SPLIT 1" }, { "from": 476, "to": 482, "label": "SPLIT 2\nnew knowledge:\nT76 is ground\nreplacements:X182 -> T79" }, { "from": 481, "to": 437, "label": "INSTANCE with matching:\nT62 -> T76\nT65 -> T78\nX147 -> X182" }, { "from": 482, "to": 487, "label": "CASE" }, { "from": 487, "to": 488, "label": "PARALLEL" }, { "from": 487, "to": 489, "label": "PARALLEL" }, { "from": 488, "to": 502, "label": "EVAL with clause\nackermann(0, X194, s(X194)).\nand substitutionT76 -> 0,\nT79 -> T86,\nX194 -> T86,\nX183 -> s(T86)" }, { "from": 488, "to": 503, "label": "EVAL-BACKTRACK" }, { "from": 489, "to": 505, "label": "PARALLEL" }, { "from": 489, "to": 506, "label": "PARALLEL" }, { "from": 502, "to": 504, "label": "SUCCESS" }, { "from": 505, "to": 508, "label": "EVAL with clause\nackermann(s(X207), 0, X208) :- ackermann(X207, s(0), X208).\nand substitutionX207 -> T91,\nT76 -> s(T91),\nT79 -> 0,\nX183 -> X209,\nX208 -> X209" }, { "from": 505, "to": 510, "label": "EVAL-BACKTRACK" }, { "from": 506, "to": 513, "label": "EVAL with clause\nackermann(s(X221), s(X222), X223) :- ','(ackermann(s(X221), X222, X224), ackermann(X221, X224, X223)).\nand substitutionX221 -> T96,\nT76 -> s(T96),\nX222 -> T98,\nT79 -> s(T98),\nX183 -> X225,\nX223 -> X225,\nT97 -> T98" }, { "from": 506, "to": 514, "label": "EVAL-BACKTRACK" }, { "from": 508, "to": 222, "label": "INSTANCE with matching:\nT26 -> T91\nX60 -> X209" }, { "from": 513, "to": 476, "label": "INSTANCE with matching:\nT76 -> T96\nT78 -> T98\nX182 -> X224\nX183 -> X225" }, { "from": 518, "to": 520, "label": "CASE" }, { "from": 520, "to": 521, "label": "BACKTRACK\nfor clause: ackermann(0, N, s(N))because of non-unification" }, { "from": 521, "to": 522, "label": "PARALLEL" }, { "from": 521, "to": 523, "label": "PARALLEL" }, { "from": 522, "to": 524, "label": "EVAL with clause\nackermann(s(X250), 0, X251) :- ackermann(X250, s(0), X251).\nand substitutionT104 -> T112,\nX250 -> T112,\nT107 -> 0,\nX236 -> X252,\nX251 -> X252" }, { "from": 522, "to": 525, "label": "EVAL-BACKTRACK" }, { "from": 523, "to": 528, "label": "EVAL with clause\nackermann(s(X268), s(X269), X270) :- ','(ackermann(s(X268), X269, X271), ackermann(X268, X271, X270)).\nand substitutionT104 -> T120,\nX268 -> T120,\nX269 -> T122,\nT107 -> s(T122),\nX236 -> X272,\nX270 -> X272,\nT121 -> T122" }, { "from": 523, "to": 529, "label": "EVAL-BACKTRACK" }, { "from": 524, "to": 526, "label": "SPLIT 1" }, { "from": 524, "to": 527, "label": "SPLIT 2\nnew knowledge:\nT112 is ground\nT113 is ground\nreplacements:X252 -> T113" }, { "from": 526, "to": 222, "label": "INSTANCE with matching:\nT26 -> T112\nX60 -> X252" }, { "from": 527, "to": 2, "label": "INSTANCE with matching:\nT1 -> T112\nT2 -> T113\nT3 -> T106" }, { "from": 528, "to": 530, "label": "SPLIT 1" }, { "from": 528, "to": 531, "label": "SPLIT 2\nnew knowledge:\nT120 is ground\nreplacements:X271 -> T123,\nT2 -> T124" }, { "from": 530, "to": 437, "label": "INSTANCE with matching:\nT62 -> T120\nT65 -> T122\nX147 -> X271" }, { "from": 531, "to": 541, "label": "SPLIT 1" }, { "from": 531, "to": 542, "label": "SPLIT 2\nnew knowledge:\nT120 is ground\nreplacements:X272 -> T127,\nT124 -> T128" }, { "from": 541, "to": 482, "label": "INSTANCE with matching:\nT76 -> T120\nT79 -> T123\nX183 -> X272" }, { "from": 542, "to": 2, "label": "INSTANCE with matching:\nT1 -> T120\nT2 -> T127\nT3 -> T106" } ], "type": "Graph" } } ---------------------------------------- (118) Obligation: Triples: ackermannB(X1, X2) :- ackermannD(X1, X2). ackermannD(s(X1), X2) :- ackermannB(X1, X3). ackermannD(s(X1), X2) :- ','(ackermanncB(X1, X3), ackermannF(X1, X3, X2)). ackermannF(s(X1), 0, X2) :- ackermannD(X1, X2). ackermannF(s(X1), s(X2), X3) :- ackermannF(s(X1), X2, X4). ackermannF(s(X1), s(X2), X3) :- ','(ackermanncF(s(X1), X2, X4), ackermannF(X1, X4, X3)). ackermannC(X1, 0, X2) :- ackermannD(X1, X2). ackermannC(X1, s(X2), X3) :- pG(X1, X2, X4, X3). pG(X1, X2, X3, X4) :- ackermannC(X1, X2, X3). pG(X1, X2, X3, X4) :- ','(ackermanncC(X1, X2, X3), ackermannE(X1, X3, X4)). ackermannE(s(X1), 0, X2) :- ackermannD(X1, X2). ackermannE(s(X1), s(X2), X3) :- pG(X1, X2, X4, X3). ackermannA(s(s(X1)), 0, X2) :- ackermannB(X1, X3). ackermannA(s(s(X1)), 0, X2) :- ','(ackermanncB(X1, X3), ackermannA(X1, X3, X2)). ackermannA(s(X1), s(X2), X3) :- ackermannC(X1, X2, X4). ackermannA(s(X1), s(X2), X3) :- ','(ackermanncC(X1, X2, X4), ackermannA(X1, X4, X3)). ackermannA(s(X1), s(0), X2) :- ackermannD(X1, X3). ackermannA(s(X1), s(0), X2) :- ','(ackermanncD(X1, X3), ackermannA(X1, X3, X2)). ackermannA(s(X1), s(s(X2)), X3) :- ackermannC(X1, X2, X4). ackermannA(s(X1), s(s(X2)), X3) :- ','(ackermanncC(X1, X2, X4), ackermannE(X1, X4, X5)). ackermannA(s(X1), s(s(X2)), X3) :- ','(ackermanncC(X1, X2, X4), ','(ackermanncE(X1, X4, X5), ackermannA(X1, X5, X3))). Clauses: ackermanncA(0, X1, s(X1)). ackermanncA(s(0), 0, s(s(0))). ackermanncA(s(s(X1)), 0, X2) :- ','(ackermanncB(X1, X3), ackermanncA(X1, X3, X2)). ackermanncA(s(X1), s(X2), X3) :- ','(ackermanncC(X1, X2, X4), ackermanncA(X1, X4, X3)). ackermanncA(s(X1), s(0), X2) :- ','(ackermanncD(X1, X3), ackermanncA(X1, X3, X2)). ackermanncA(s(X1), s(s(X2)), X3) :- ','(ackermanncC(X1, X2, X4), ','(ackermanncE(X1, X4, X5), ackermanncA(X1, X5, X3))). ackermanncB(X1, X2) :- ackermanncD(X1, X2). ackermanncD(0, s(s(0))). ackermanncD(s(X1), X2) :- ','(ackermanncB(X1, X3), ackermanncF(X1, X3, X2)). ackermanncF(0, X1, s(X1)). ackermanncF(s(X1), 0, X2) :- ackermanncD(X1, X2). ackermanncF(s(X1), s(X2), X3) :- ','(ackermanncF(s(X1), X2, X4), ackermanncF(X1, X4, X3)). ackermanncC(X1, 0, X2) :- ackermanncD(X1, X2). ackermanncC(X1, s(X2), X3) :- qcG(X1, X2, X4, X3). qcG(X1, X2, X3, X4) :- ','(ackermanncC(X1, X2, X3), ackermanncE(X1, X3, X4)). ackermanncE(0, X1, s(X1)). ackermanncE(s(X1), 0, X2) :- ackermanncD(X1, X2). ackermanncE(s(X1), s(X2), X3) :- qcG(X1, X2, X4, X3). Afs: ackermannA(x1, x2, x3) = ackermannA(x1, x3) ---------------------------------------- (119) TriplesToPiDPProof (SOUND) We use the technique of [DT09]. With regard to the inferred argument filtering the predicates were used in the following modes: ackermannA_in_3: (b,f,b) (b,b,b) ackermannB_in_2: (b,f) ackermannD_in_2: (b,f) ackermanncB_in_2: (b,f) ackermanncD_in_2: (b,f) ackermanncF_in_3: (b,b,f) ackermannF_in_3: (b,b,f) ackermannC_in_3: (b,b,f) (b,f,f) pG_in_4: (b,b,f,f) (b,f,f,f) ackermanncC_in_3: (b,b,f) (b,f,f) qcG_in_4: (b,b,f,f) (b,f,f,f) ackermanncE_in_3: (b,b,f) ackermannE_in_3: (b,b,f) Transforming TRIPLES into the following Term Rewriting System: Pi DP problem: The TRS P consists of the following rules: ACKERMANNA_IN_GAG(s(s(X1)), 0, X2) -> U16_GAG(X1, X2, ackermannB_in_ga(X1, X3)) ACKERMANNA_IN_GAG(s(s(X1)), 0, X2) -> ACKERMANNB_IN_GA(X1, X3) ACKERMANNB_IN_GA(X1, X2) -> U1_GA(X1, X2, ackermannD_in_ga(X1, X2)) ACKERMANNB_IN_GA(X1, X2) -> ACKERMANND_IN_GA(X1, X2) ACKERMANND_IN_GA(s(X1), X2) -> U2_GA(X1, X2, ackermannB_in_ga(X1, X3)) ACKERMANND_IN_GA(s(X1), X2) -> ACKERMANNB_IN_GA(X1, X3) ACKERMANND_IN_GA(s(X1), X2) -> U3_GA(X1, X2, ackermanncB_in_ga(X1, X3)) U3_GA(X1, X2, ackermanncB_out_ga(X1, X3)) -> U4_GA(X1, X2, ackermannF_in_gga(X1, X3, X2)) U3_GA(X1, X2, ackermanncB_out_ga(X1, X3)) -> ACKERMANNF_IN_GGA(X1, X3, X2) ACKERMANNF_IN_GGA(s(X1), 0, X2) -> U5_GGA(X1, X2, ackermannD_in_ga(X1, X2)) ACKERMANNF_IN_GGA(s(X1), 0, X2) -> ACKERMANND_IN_GA(X1, X2) ACKERMANNF_IN_GGA(s(X1), s(X2), X3) -> U6_GGA(X1, X2, X3, ackermannF_in_gga(s(X1), X2, X4)) ACKERMANNF_IN_GGA(s(X1), s(X2), X3) -> ACKERMANNF_IN_GGA(s(X1), X2, X4) ACKERMANNF_IN_GGA(s(X1), s(X2), X3) -> U7_GGA(X1, X2, X3, ackermanncF_in_gga(s(X1), X2, X4)) U7_GGA(X1, X2, X3, ackermanncF_out_gga(s(X1), X2, X4)) -> U8_GGA(X1, X2, X3, ackermannF_in_gga(X1, X4, X3)) U7_GGA(X1, X2, X3, ackermanncF_out_gga(s(X1), X2, X4)) -> ACKERMANNF_IN_GGA(X1, X4, X3) ACKERMANNA_IN_GAG(s(s(X1)), 0, X2) -> U17_GAG(X1, X2, ackermanncB_in_ga(X1, X3)) U17_GAG(X1, X2, ackermanncB_out_ga(X1, X3)) -> U18_GAG(X1, X2, ackermannA_in_ggg(X1, X3, X2)) U17_GAG(X1, X2, ackermanncB_out_ga(X1, X3)) -> ACKERMANNA_IN_GGG(X1, X3, X2) ACKERMANNA_IN_GGG(s(s(X1)), 0, X2) -> U16_GGG(X1, X2, ackermannB_in_ga(X1, X3)) ACKERMANNA_IN_GGG(s(s(X1)), 0, X2) -> ACKERMANNB_IN_GA(X1, X3) ACKERMANNA_IN_GGG(s(s(X1)), 0, X2) -> U17_GGG(X1, X2, ackermanncB_in_ga(X1, X3)) U17_GGG(X1, X2, ackermanncB_out_ga(X1, X3)) -> U18_GGG(X1, X2, ackermannA_in_ggg(X1, X3, X2)) U17_GGG(X1, X2, ackermanncB_out_ga(X1, X3)) -> ACKERMANNA_IN_GGG(X1, X3, X2) ACKERMANNA_IN_GGG(s(X1), s(X2), X3) -> U19_GGG(X1, X2, X3, ackermannC_in_gga(X1, X2, X4)) ACKERMANNA_IN_GGG(s(X1), s(X2), X3) -> ACKERMANNC_IN_GGA(X1, X2, X4) ACKERMANNC_IN_GGA(X1, 0, X2) -> U9_GGA(X1, X2, ackermannD_in_ga(X1, X2)) ACKERMANNC_IN_GGA(X1, 0, X2) -> ACKERMANND_IN_GA(X1, X2) ACKERMANNC_IN_GGA(X1, s(X2), X3) -> U10_GGA(X1, X2, X3, pG_in_ggaa(X1, X2, X4, X3)) ACKERMANNC_IN_GGA(X1, s(X2), X3) -> PG_IN_GGAA(X1, X2, X4, X3) PG_IN_GGAA(X1, X2, X3, X4) -> U11_GGAA(X1, X2, X3, X4, ackermannC_in_gga(X1, X2, X3)) PG_IN_GGAA(X1, X2, X3, X4) -> ACKERMANNC_IN_GGA(X1, X2, X3) PG_IN_GGAA(X1, X2, X3, X4) -> U12_GGAA(X1, X2, X3, X4, ackermanncC_in_gga(X1, X2, X3)) U12_GGAA(X1, X2, X3, X4, ackermanncC_out_gga(X1, X2, X3)) -> U13_GGAA(X1, X2, X3, X4, ackermannE_in_gga(X1, X3, X4)) U12_GGAA(X1, X2, X3, X4, ackermanncC_out_gga(X1, X2, X3)) -> ACKERMANNE_IN_GGA(X1, X3, X4) ACKERMANNE_IN_GGA(s(X1), 0, X2) -> U14_GGA(X1, X2, ackermannD_in_ga(X1, X2)) ACKERMANNE_IN_GGA(s(X1), 0, X2) -> ACKERMANND_IN_GA(X1, X2) ACKERMANNE_IN_GGA(s(X1), s(X2), X3) -> U15_GGA(X1, X2, X3, pG_in_ggaa(X1, X2, X4, X3)) ACKERMANNE_IN_GGA(s(X1), s(X2), X3) -> PG_IN_GGAA(X1, X2, X4, X3) ACKERMANNA_IN_GGG(s(X1), s(X2), X3) -> U20_GGG(X1, X2, X3, ackermanncC_in_gga(X1, X2, X4)) U20_GGG(X1, X2, X3, ackermanncC_out_gga(X1, X2, X4)) -> U21_GGG(X1, X2, X3, ackermannA_in_ggg(X1, X4, X3)) U20_GGG(X1, X2, X3, ackermanncC_out_gga(X1, X2, X4)) -> ACKERMANNA_IN_GGG(X1, X4, X3) ACKERMANNA_IN_GGG(s(X1), s(0), X2) -> U22_GGG(X1, X2, ackermannD_in_ga(X1, X3)) ACKERMANNA_IN_GGG(s(X1), s(0), X2) -> ACKERMANND_IN_GA(X1, X3) ACKERMANNA_IN_GGG(s(X1), s(0), X2) -> U23_GGG(X1, X2, ackermanncD_in_ga(X1, X3)) U23_GGG(X1, X2, ackermanncD_out_ga(X1, X3)) -> U24_GGG(X1, X2, ackermannA_in_ggg(X1, X3, X2)) U23_GGG(X1, X2, ackermanncD_out_ga(X1, X3)) -> ACKERMANNA_IN_GGG(X1, X3, X2) ACKERMANNA_IN_GGG(s(X1), s(s(X2)), X3) -> U25_GGG(X1, X2, X3, ackermannC_in_gga(X1, X2, X4)) ACKERMANNA_IN_GGG(s(X1), s(s(X2)), X3) -> ACKERMANNC_IN_GGA(X1, X2, X4) ACKERMANNA_IN_GGG(s(X1), s(s(X2)), X3) -> U26_GGG(X1, X2, X3, ackermanncC_in_gga(X1, X2, X4)) U26_GGG(X1, X2, X3, ackermanncC_out_gga(X1, X2, X4)) -> U27_GGG(X1, X2, X3, ackermannE_in_gga(X1, X4, X5)) U26_GGG(X1, X2, X3, ackermanncC_out_gga(X1, X2, X4)) -> ACKERMANNE_IN_GGA(X1, X4, X5) U26_GGG(X1, X2, X3, ackermanncC_out_gga(X1, X2, X4)) -> U28_GGG(X1, X2, X3, ackermanncE_in_gga(X1, X4, X5)) U28_GGG(X1, X2, X3, ackermanncE_out_gga(X1, X4, X5)) -> U29_GGG(X1, X2, X3, ackermannA_in_ggg(X1, X5, X3)) U28_GGG(X1, X2, X3, ackermanncE_out_gga(X1, X4, X5)) -> ACKERMANNA_IN_GGG(X1, X5, X3) ACKERMANNA_IN_GAG(s(X1), s(X2), X3) -> U19_GAG(X1, X2, X3, ackermannC_in_gaa(X1, X2, X4)) ACKERMANNA_IN_GAG(s(X1), s(X2), X3) -> ACKERMANNC_IN_GAA(X1, X2, X4) ACKERMANNC_IN_GAA(X1, 0, X2) -> U9_GAA(X1, X2, ackermannD_in_ga(X1, X2)) ACKERMANNC_IN_GAA(X1, 0, X2) -> ACKERMANND_IN_GA(X1, X2) ACKERMANNC_IN_GAA(X1, s(X2), X3) -> U10_GAA(X1, X2, X3, pG_in_gaaa(X1, X2, X4, X3)) ACKERMANNC_IN_GAA(X1, s(X2), X3) -> PG_IN_GAAA(X1, X2, X4, X3) PG_IN_GAAA(X1, X2, X3, X4) -> U11_GAAA(X1, X2, X3, X4, ackermannC_in_gaa(X1, X2, X3)) PG_IN_GAAA(X1, X2, X3, X4) -> ACKERMANNC_IN_GAA(X1, X2, X3) PG_IN_GAAA(X1, X2, X3, X4) -> U12_GAAA(X1, X2, X3, X4, ackermanncC_in_gaa(X1, X2, X3)) U12_GAAA(X1, X2, X3, X4, ackermanncC_out_gaa(X1, X2, X3)) -> U13_GAAA(X1, X2, X3, X4, ackermannE_in_gga(X1, X3, X4)) U12_GAAA(X1, X2, X3, X4, ackermanncC_out_gaa(X1, X2, X3)) -> ACKERMANNE_IN_GGA(X1, X3, X4) ACKERMANNA_IN_GAG(s(X1), s(X2), X3) -> U20_GAG(X1, X2, X3, ackermanncC_in_gaa(X1, X2, X4)) U20_GAG(X1, X2, X3, ackermanncC_out_gaa(X1, X2, X4)) -> U21_GAG(X1, X2, X3, ackermannA_in_ggg(X1, X4, X3)) U20_GAG(X1, X2, X3, ackermanncC_out_gaa(X1, X2, X4)) -> ACKERMANNA_IN_GGG(X1, X4, X3) ACKERMANNA_IN_GAG(s(X1), s(0), X2) -> U22_GAG(X1, X2, ackermannD_in_ga(X1, X3)) ACKERMANNA_IN_GAG(s(X1), s(0), X2) -> ACKERMANND_IN_GA(X1, X3) ACKERMANNA_IN_GAG(s(X1), s(0), X2) -> U23_GAG(X1, X2, ackermanncD_in_ga(X1, X3)) U23_GAG(X1, X2, ackermanncD_out_ga(X1, X3)) -> U24_GAG(X1, X2, ackermannA_in_ggg(X1, X3, X2)) U23_GAG(X1, X2, ackermanncD_out_ga(X1, X3)) -> ACKERMANNA_IN_GGG(X1, X3, X2) ACKERMANNA_IN_GAG(s(X1), s(s(X2)), X3) -> U25_GAG(X1, X2, X3, ackermannC_in_gaa(X1, X2, X4)) ACKERMANNA_IN_GAG(s(X1), s(s(X2)), X3) -> ACKERMANNC_IN_GAA(X1, X2, X4) ACKERMANNA_IN_GAG(s(X1), s(s(X2)), X3) -> U26_GAG(X1, X2, X3, ackermanncC_in_gaa(X1, X2, X4)) U26_GAG(X1, X2, X3, ackermanncC_out_gaa(X1, X2, X4)) -> U27_GAG(X1, X2, X3, ackermannE_in_gga(X1, X4, X5)) U26_GAG(X1, X2, X3, ackermanncC_out_gaa(X1, X2, X4)) -> ACKERMANNE_IN_GGA(X1, X4, X5) U26_GAG(X1, X2, X3, ackermanncC_out_gaa(X1, X2, X4)) -> U28_GAG(X1, X2, X3, ackermanncE_in_gga(X1, X4, X5)) U28_GAG(X1, X2, X3, ackermanncE_out_gga(X1, X4, X5)) -> U29_GAG(X1, X2, X3, ackermannA_in_ggg(X1, X5, X3)) U28_GAG(X1, X2, X3, ackermanncE_out_gga(X1, X4, X5)) -> ACKERMANNA_IN_GGG(X1, X5, X3) The TRS R consists of the following rules: ackermanncB_in_ga(X1, X2) -> U40_ga(X1, X2, ackermanncD_in_ga(X1, X2)) ackermanncD_in_ga(0, s(s(0))) -> ackermanncD_out_ga(0, s(s(0))) ackermanncD_in_ga(s(X1), X2) -> U41_ga(X1, X2, ackermanncB_in_ga(X1, X3)) U41_ga(X1, X2, ackermanncB_out_ga(X1, X3)) -> U42_ga(X1, X2, ackermanncF_in_gga(X1, X3, X2)) ackermanncF_in_gga(0, X1, s(X1)) -> ackermanncF_out_gga(0, X1, s(X1)) ackermanncF_in_gga(s(X1), 0, X2) -> U43_gga(X1, X2, ackermanncD_in_ga(X1, X2)) U43_gga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncF_out_gga(s(X1), 0, X2) ackermanncF_in_gga(s(X1), s(X2), X3) -> U44_gga(X1, X2, X3, ackermanncF_in_gga(s(X1), X2, X4)) U44_gga(X1, X2, X3, ackermanncF_out_gga(s(X1), X2, X4)) -> U45_gga(X1, X2, X3, ackermanncF_in_gga(X1, X4, X3)) U45_gga(X1, X2, X3, ackermanncF_out_gga(X1, X4, X3)) -> ackermanncF_out_gga(s(X1), s(X2), X3) U42_ga(X1, X2, ackermanncF_out_gga(X1, X3, X2)) -> ackermanncD_out_ga(s(X1), X2) U40_ga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncB_out_ga(X1, X2) ackermanncC_in_gga(X1, 0, X2) -> U46_gga(X1, X2, ackermanncD_in_ga(X1, X2)) U46_gga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncC_out_gga(X1, 0, X2) ackermanncC_in_gga(X1, s(X2), X3) -> U47_gga(X1, X2, X3, qcG_in_ggaa(X1, X2, X4, X3)) qcG_in_ggaa(X1, X2, X3, X4) -> U48_ggaa(X1, X2, X3, X4, ackermanncC_in_gga(X1, X2, X3)) U48_ggaa(X1, X2, X3, X4, ackermanncC_out_gga(X1, X2, X3)) -> U49_ggaa(X1, X2, X3, X4, ackermanncE_in_gga(X1, X3, X4)) ackermanncE_in_gga(0, X1, s(X1)) -> ackermanncE_out_gga(0, X1, s(X1)) ackermanncE_in_gga(s(X1), 0, X2) -> U50_gga(X1, X2, ackermanncD_in_ga(X1, X2)) U50_gga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncE_out_gga(s(X1), 0, X2) ackermanncE_in_gga(s(X1), s(X2), X3) -> U51_gga(X1, X2, X3, qcG_in_ggaa(X1, X2, X4, X3)) U51_gga(X1, X2, X3, qcG_out_ggaa(X1, X2, X4, X3)) -> ackermanncE_out_gga(s(X1), s(X2), X3) U49_ggaa(X1, X2, X3, X4, ackermanncE_out_gga(X1, X3, X4)) -> qcG_out_ggaa(X1, X2, X3, X4) U47_gga(X1, X2, X3, qcG_out_ggaa(X1, X2, X4, X3)) -> ackermanncC_out_gga(X1, s(X2), X3) ackermanncC_in_gaa(X1, 0, X2) -> U46_gaa(X1, X2, ackermanncD_in_ga(X1, X2)) U46_gaa(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncC_out_gaa(X1, 0, X2) ackermanncC_in_gaa(X1, s(X2), X3) -> U47_gaa(X1, X2, X3, qcG_in_gaaa(X1, X2, X4, X3)) qcG_in_gaaa(X1, X2, X3, X4) -> U48_gaaa(X1, X2, X3, X4, ackermanncC_in_gaa(X1, X2, X3)) U48_gaaa(X1, X2, X3, X4, ackermanncC_out_gaa(X1, X2, X3)) -> U49_gaaa(X1, X2, X3, X4, ackermanncE_in_gga(X1, X3, X4)) U49_gaaa(X1, X2, X3, X4, ackermanncE_out_gga(X1, X3, X4)) -> qcG_out_gaaa(X1, X2, X3, X4) U47_gaa(X1, X2, X3, qcG_out_gaaa(X1, X2, X4, X3)) -> ackermanncC_out_gaa(X1, s(X2), X3) The argument filtering Pi contains the following mapping: s(x1) = s(x1) ackermannB_in_ga(x1, x2) = ackermannB_in_ga(x1) ackermannD_in_ga(x1, x2) = ackermannD_in_ga(x1) ackermanncB_in_ga(x1, x2) = ackermanncB_in_ga(x1) U40_ga(x1, x2, x3) = U40_ga(x1, x3) ackermanncD_in_ga(x1, x2) = ackermanncD_in_ga(x1) 0 = 0 ackermanncD_out_ga(x1, x2) = ackermanncD_out_ga(x1, x2) U41_ga(x1, x2, x3) = U41_ga(x1, x3) ackermanncB_out_ga(x1, x2) = ackermanncB_out_ga(x1, x2) U42_ga(x1, x2, x3) = U42_ga(x1, x3) ackermanncF_in_gga(x1, x2, x3) = ackermanncF_in_gga(x1, x2) ackermanncF_out_gga(x1, x2, x3) = ackermanncF_out_gga(x1, x2, x3) U43_gga(x1, x2, x3) = U43_gga(x1, x3) U44_gga(x1, x2, x3, x4) = U44_gga(x1, x2, x4) U45_gga(x1, x2, x3, x4) = U45_gga(x1, x2, x4) ackermannF_in_gga(x1, x2, x3) = ackermannF_in_gga(x1, x2) ackermannA_in_ggg(x1, x2, x3) = ackermannA_in_ggg(x1, x2, x3) ackermannC_in_gga(x1, x2, x3) = ackermannC_in_gga(x1, x2) pG_in_ggaa(x1, x2, x3, x4) = pG_in_ggaa(x1, x2) ackermanncC_in_gga(x1, x2, x3) = ackermanncC_in_gga(x1, x2) U46_gga(x1, x2, x3) = U46_gga(x1, x3) ackermanncC_out_gga(x1, x2, x3) = ackermanncC_out_gga(x1, x2, x3) U47_gga(x1, x2, x3, x4) = U47_gga(x1, x2, x4) qcG_in_ggaa(x1, x2, x3, x4) = qcG_in_ggaa(x1, x2) U48_ggaa(x1, x2, x3, x4, x5) = U48_ggaa(x1, x2, x5) U49_ggaa(x1, x2, x3, x4, x5) = U49_ggaa(x1, x2, x3, x5) ackermanncE_in_gga(x1, x2, x3) = ackermanncE_in_gga(x1, x2) ackermanncE_out_gga(x1, x2, x3) = ackermanncE_out_gga(x1, x2, x3) U50_gga(x1, x2, x3) = U50_gga(x1, x3) U51_gga(x1, x2, x3, x4) = U51_gga(x1, x2, x4) qcG_out_ggaa(x1, x2, x3, x4) = qcG_out_ggaa(x1, x2, x3, x4) ackermannE_in_gga(x1, x2, x3) = ackermannE_in_gga(x1, x2) ackermannC_in_gaa(x1, x2, x3) = ackermannC_in_gaa(x1) pG_in_gaaa(x1, x2, x3, x4) = pG_in_gaaa(x1) ackermanncC_in_gaa(x1, x2, x3) = ackermanncC_in_gaa(x1) U46_gaa(x1, x2, x3) = U46_gaa(x1, x3) ackermanncC_out_gaa(x1, x2, x3) = ackermanncC_out_gaa(x1, x2, x3) U47_gaa(x1, x2, x3, x4) = U47_gaa(x1, x4) qcG_in_gaaa(x1, x2, x3, x4) = qcG_in_gaaa(x1) U48_gaaa(x1, x2, x3, x4, x5) = U48_gaaa(x1, x5) U49_gaaa(x1, x2, x3, x4, x5) = U49_gaaa(x1, x2, x3, x5) qcG_out_gaaa(x1, x2, x3, x4) = qcG_out_gaaa(x1, x2, x3, x4) ACKERMANNA_IN_GAG(x1, x2, x3) = ACKERMANNA_IN_GAG(x1, x3) U16_GAG(x1, x2, x3) = U16_GAG(x1, x2, x3) ACKERMANNB_IN_GA(x1, x2) = ACKERMANNB_IN_GA(x1) U1_GA(x1, x2, x3) = U1_GA(x1, x3) ACKERMANND_IN_GA(x1, x2) = ACKERMANND_IN_GA(x1) U2_GA(x1, x2, x3) = U2_GA(x1, x3) U3_GA(x1, x2, x3) = U3_GA(x1, x3) U4_GA(x1, x2, x3) = U4_GA(x1, x3) ACKERMANNF_IN_GGA(x1, x2, x3) = ACKERMANNF_IN_GGA(x1, x2) U5_GGA(x1, x2, x3) = U5_GGA(x1, x3) U6_GGA(x1, x2, x3, x4) = U6_GGA(x1, x2, x4) U7_GGA(x1, x2, x3, x4) = U7_GGA(x1, x2, x4) U8_GGA(x1, x2, x3, x4) = U8_GGA(x1, x2, x4) U17_GAG(x1, x2, x3) = U17_GAG(x1, x2, x3) U18_GAG(x1, x2, x3) = U18_GAG(x1, x2, x3) ACKERMANNA_IN_GGG(x1, x2, x3) = ACKERMANNA_IN_GGG(x1, x2, x3) U16_GGG(x1, x2, x3) = U16_GGG(x1, x2, x3) U17_GGG(x1, x2, x3) = U17_GGG(x1, x2, x3) U18_GGG(x1, x2, x3) = U18_GGG(x1, x2, x3) U19_GGG(x1, x2, x3, x4) = U19_GGG(x1, x2, x3, x4) ACKERMANNC_IN_GGA(x1, x2, x3) = ACKERMANNC_IN_GGA(x1, x2) U9_GGA(x1, x2, x3) = U9_GGA(x1, x3) U10_GGA(x1, x2, x3, x4) = U10_GGA(x1, x2, x4) PG_IN_GGAA(x1, x2, x3, x4) = PG_IN_GGAA(x1, x2) U11_GGAA(x1, x2, x3, x4, x5) = U11_GGAA(x1, x2, x5) U12_GGAA(x1, x2, x3, x4, x5) = U12_GGAA(x1, x2, x5) U13_GGAA(x1, x2, x3, x4, x5) = U13_GGAA(x1, x2, x5) ACKERMANNE_IN_GGA(x1, x2, x3) = ACKERMANNE_IN_GGA(x1, x2) U14_GGA(x1, x2, x3) = U14_GGA(x1, x3) U15_GGA(x1, x2, x3, x4) = U15_GGA(x1, x2, x4) U20_GGG(x1, x2, x3, x4) = U20_GGG(x1, x2, x3, x4) U21_GGG(x1, x2, x3, x4) = U21_GGG(x1, x2, x3, x4) U22_GGG(x1, x2, x3) = U22_GGG(x1, x2, x3) U23_GGG(x1, x2, x3) = U23_GGG(x1, x2, x3) U24_GGG(x1, x2, x3) = U24_GGG(x1, x2, x3) U25_GGG(x1, x2, x3, x4) = U25_GGG(x1, x2, x3, x4) U26_GGG(x1, x2, x3, x4) = U26_GGG(x1, x2, x3, x4) U27_GGG(x1, x2, x3, x4) = U27_GGG(x1, x2, x3, x4) U28_GGG(x1, x2, x3, x4) = U28_GGG(x1, x2, x3, x4) U29_GGG(x1, x2, x3, x4) = U29_GGG(x1, x2, x3, x4) U19_GAG(x1, x2, x3, x4) = U19_GAG(x1, x3, x4) ACKERMANNC_IN_GAA(x1, x2, x3) = ACKERMANNC_IN_GAA(x1) U9_GAA(x1, x2, x3) = U9_GAA(x1, x3) U10_GAA(x1, x2, x3, x4) = U10_GAA(x1, x4) PG_IN_GAAA(x1, x2, x3, x4) = PG_IN_GAAA(x1) U11_GAAA(x1, x2, x3, x4, x5) = U11_GAAA(x1, x5) U12_GAAA(x1, x2, x3, x4, x5) = U12_GAAA(x1, x5) U13_GAAA(x1, x2, x3, x4, x5) = U13_GAAA(x1, x2, x5) U20_GAG(x1, x2, x3, x4) = U20_GAG(x1, x3, x4) U21_GAG(x1, x2, x3, x4) = U21_GAG(x1, x2, x3, x4) U22_GAG(x1, x2, x3) = U22_GAG(x1, x2, x3) U23_GAG(x1, x2, x3) = U23_GAG(x1, x2, x3) U24_GAG(x1, x2, x3) = U24_GAG(x1, x2, x3) U25_GAG(x1, x2, x3, x4) = U25_GAG(x1, x3, x4) U26_GAG(x1, x2, x3, x4) = U26_GAG(x1, x3, x4) U27_GAG(x1, x2, x3, x4) = U27_GAG(x1, x2, x3, x4) U28_GAG(x1, x2, x3, x4) = U28_GAG(x1, x2, x3, x4) U29_GAG(x1, x2, x3, x4) = U29_GAG(x1, x2, x3, x4) We have to consider all (P,R,Pi)-chains Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES ---------------------------------------- (120) Obligation: Pi DP problem: The TRS P consists of the following rules: ACKERMANNA_IN_GAG(s(s(X1)), 0, X2) -> U16_GAG(X1, X2, ackermannB_in_ga(X1, X3)) ACKERMANNA_IN_GAG(s(s(X1)), 0, X2) -> ACKERMANNB_IN_GA(X1, X3) ACKERMANNB_IN_GA(X1, X2) -> U1_GA(X1, X2, ackermannD_in_ga(X1, X2)) ACKERMANNB_IN_GA(X1, X2) -> ACKERMANND_IN_GA(X1, X2) ACKERMANND_IN_GA(s(X1), X2) -> U2_GA(X1, X2, ackermannB_in_ga(X1, X3)) ACKERMANND_IN_GA(s(X1), X2) -> ACKERMANNB_IN_GA(X1, X3) ACKERMANND_IN_GA(s(X1), X2) -> U3_GA(X1, X2, ackermanncB_in_ga(X1, X3)) U3_GA(X1, X2, ackermanncB_out_ga(X1, X3)) -> U4_GA(X1, X2, ackermannF_in_gga(X1, X3, X2)) U3_GA(X1, X2, ackermanncB_out_ga(X1, X3)) -> ACKERMANNF_IN_GGA(X1, X3, X2) ACKERMANNF_IN_GGA(s(X1), 0, X2) -> U5_GGA(X1, X2, ackermannD_in_ga(X1, X2)) ACKERMANNF_IN_GGA(s(X1), 0, X2) -> ACKERMANND_IN_GA(X1, X2) ACKERMANNF_IN_GGA(s(X1), s(X2), X3) -> U6_GGA(X1, X2, X3, ackermannF_in_gga(s(X1), X2, X4)) ACKERMANNF_IN_GGA(s(X1), s(X2), X3) -> ACKERMANNF_IN_GGA(s(X1), X2, X4) ACKERMANNF_IN_GGA(s(X1), s(X2), X3) -> U7_GGA(X1, X2, X3, ackermanncF_in_gga(s(X1), X2, X4)) U7_GGA(X1, X2, X3, ackermanncF_out_gga(s(X1), X2, X4)) -> U8_GGA(X1, X2, X3, ackermannF_in_gga(X1, X4, X3)) U7_GGA(X1, X2, X3, ackermanncF_out_gga(s(X1), X2, X4)) -> ACKERMANNF_IN_GGA(X1, X4, X3) ACKERMANNA_IN_GAG(s(s(X1)), 0, X2) -> U17_GAG(X1, X2, ackermanncB_in_ga(X1, X3)) U17_GAG(X1, X2, ackermanncB_out_ga(X1, X3)) -> U18_GAG(X1, X2, ackermannA_in_ggg(X1, X3, X2)) U17_GAG(X1, X2, ackermanncB_out_ga(X1, X3)) -> ACKERMANNA_IN_GGG(X1, X3, X2) ACKERMANNA_IN_GGG(s(s(X1)), 0, X2) -> U16_GGG(X1, X2, ackermannB_in_ga(X1, X3)) ACKERMANNA_IN_GGG(s(s(X1)), 0, X2) -> ACKERMANNB_IN_GA(X1, X3) ACKERMANNA_IN_GGG(s(s(X1)), 0, X2) -> U17_GGG(X1, X2, ackermanncB_in_ga(X1, X3)) U17_GGG(X1, X2, ackermanncB_out_ga(X1, X3)) -> U18_GGG(X1, X2, ackermannA_in_ggg(X1, X3, X2)) U17_GGG(X1, X2, ackermanncB_out_ga(X1, X3)) -> ACKERMANNA_IN_GGG(X1, X3, X2) ACKERMANNA_IN_GGG(s(X1), s(X2), X3) -> U19_GGG(X1, X2, X3, ackermannC_in_gga(X1, X2, X4)) ACKERMANNA_IN_GGG(s(X1), s(X2), X3) -> ACKERMANNC_IN_GGA(X1, X2, X4) ACKERMANNC_IN_GGA(X1, 0, X2) -> U9_GGA(X1, X2, ackermannD_in_ga(X1, X2)) ACKERMANNC_IN_GGA(X1, 0, X2) -> ACKERMANND_IN_GA(X1, X2) ACKERMANNC_IN_GGA(X1, s(X2), X3) -> U10_GGA(X1, X2, X3, pG_in_ggaa(X1, X2, X4, X3)) ACKERMANNC_IN_GGA(X1, s(X2), X3) -> PG_IN_GGAA(X1, X2, X4, X3) PG_IN_GGAA(X1, X2, X3, X4) -> U11_GGAA(X1, X2, X3, X4, ackermannC_in_gga(X1, X2, X3)) PG_IN_GGAA(X1, X2, X3, X4) -> ACKERMANNC_IN_GGA(X1, X2, X3) PG_IN_GGAA(X1, X2, X3, X4) -> U12_GGAA(X1, X2, X3, X4, ackermanncC_in_gga(X1, X2, X3)) U12_GGAA(X1, X2, X3, X4, ackermanncC_out_gga(X1, X2, X3)) -> U13_GGAA(X1, X2, X3, X4, ackermannE_in_gga(X1, X3, X4)) U12_GGAA(X1, X2, X3, X4, ackermanncC_out_gga(X1, X2, X3)) -> ACKERMANNE_IN_GGA(X1, X3, X4) ACKERMANNE_IN_GGA(s(X1), 0, X2) -> U14_GGA(X1, X2, ackermannD_in_ga(X1, X2)) ACKERMANNE_IN_GGA(s(X1), 0, X2) -> ACKERMANND_IN_GA(X1, X2) ACKERMANNE_IN_GGA(s(X1), s(X2), X3) -> U15_GGA(X1, X2, X3, pG_in_ggaa(X1, X2, X4, X3)) ACKERMANNE_IN_GGA(s(X1), s(X2), X3) -> PG_IN_GGAA(X1, X2, X4, X3) ACKERMANNA_IN_GGG(s(X1), s(X2), X3) -> U20_GGG(X1, X2, X3, ackermanncC_in_gga(X1, X2, X4)) U20_GGG(X1, X2, X3, ackermanncC_out_gga(X1, X2, X4)) -> U21_GGG(X1, X2, X3, ackermannA_in_ggg(X1, X4, X3)) U20_GGG(X1, X2, X3, ackermanncC_out_gga(X1, X2, X4)) -> ACKERMANNA_IN_GGG(X1, X4, X3) ACKERMANNA_IN_GGG(s(X1), s(0), X2) -> U22_GGG(X1, X2, ackermannD_in_ga(X1, X3)) ACKERMANNA_IN_GGG(s(X1), s(0), X2) -> ACKERMANND_IN_GA(X1, X3) ACKERMANNA_IN_GGG(s(X1), s(0), X2) -> U23_GGG(X1, X2, ackermanncD_in_ga(X1, X3)) U23_GGG(X1, X2, ackermanncD_out_ga(X1, X3)) -> U24_GGG(X1, X2, ackermannA_in_ggg(X1, X3, X2)) U23_GGG(X1, X2, ackermanncD_out_ga(X1, X3)) -> ACKERMANNA_IN_GGG(X1, X3, X2) ACKERMANNA_IN_GGG(s(X1), s(s(X2)), X3) -> U25_GGG(X1, X2, X3, ackermannC_in_gga(X1, X2, X4)) ACKERMANNA_IN_GGG(s(X1), s(s(X2)), X3) -> ACKERMANNC_IN_GGA(X1, X2, X4) ACKERMANNA_IN_GGG(s(X1), s(s(X2)), X3) -> U26_GGG(X1, X2, X3, ackermanncC_in_gga(X1, X2, X4)) U26_GGG(X1, X2, X3, ackermanncC_out_gga(X1, X2, X4)) -> U27_GGG(X1, X2, X3, ackermannE_in_gga(X1, X4, X5)) U26_GGG(X1, X2, X3, ackermanncC_out_gga(X1, X2, X4)) -> ACKERMANNE_IN_GGA(X1, X4, X5) U26_GGG(X1, X2, X3, ackermanncC_out_gga(X1, X2, X4)) -> U28_GGG(X1, X2, X3, ackermanncE_in_gga(X1, X4, X5)) U28_GGG(X1, X2, X3, ackermanncE_out_gga(X1, X4, X5)) -> U29_GGG(X1, X2, X3, ackermannA_in_ggg(X1, X5, X3)) U28_GGG(X1, X2, X3, ackermanncE_out_gga(X1, X4, X5)) -> ACKERMANNA_IN_GGG(X1, X5, X3) ACKERMANNA_IN_GAG(s(X1), s(X2), X3) -> U19_GAG(X1, X2, X3, ackermannC_in_gaa(X1, X2, X4)) ACKERMANNA_IN_GAG(s(X1), s(X2), X3) -> ACKERMANNC_IN_GAA(X1, X2, X4) ACKERMANNC_IN_GAA(X1, 0, X2) -> U9_GAA(X1, X2, ackermannD_in_ga(X1, X2)) ACKERMANNC_IN_GAA(X1, 0, X2) -> ACKERMANND_IN_GA(X1, X2) ACKERMANNC_IN_GAA(X1, s(X2), X3) -> U10_GAA(X1, X2, X3, pG_in_gaaa(X1, X2, X4, X3)) ACKERMANNC_IN_GAA(X1, s(X2), X3) -> PG_IN_GAAA(X1, X2, X4, X3) PG_IN_GAAA(X1, X2, X3, X4) -> U11_GAAA(X1, X2, X3, X4, ackermannC_in_gaa(X1, X2, X3)) PG_IN_GAAA(X1, X2, X3, X4) -> ACKERMANNC_IN_GAA(X1, X2, X3) PG_IN_GAAA(X1, X2, X3, X4) -> U12_GAAA(X1, X2, X3, X4, ackermanncC_in_gaa(X1, X2, X3)) U12_GAAA(X1, X2, X3, X4, ackermanncC_out_gaa(X1, X2, X3)) -> U13_GAAA(X1, X2, X3, X4, ackermannE_in_gga(X1, X3, X4)) U12_GAAA(X1, X2, X3, X4, ackermanncC_out_gaa(X1, X2, X3)) -> ACKERMANNE_IN_GGA(X1, X3, X4) ACKERMANNA_IN_GAG(s(X1), s(X2), X3) -> U20_GAG(X1, X2, X3, ackermanncC_in_gaa(X1, X2, X4)) U20_GAG(X1, X2, X3, ackermanncC_out_gaa(X1, X2, X4)) -> U21_GAG(X1, X2, X3, ackermannA_in_ggg(X1, X4, X3)) U20_GAG(X1, X2, X3, ackermanncC_out_gaa(X1, X2, X4)) -> ACKERMANNA_IN_GGG(X1, X4, X3) ACKERMANNA_IN_GAG(s(X1), s(0), X2) -> U22_GAG(X1, X2, ackermannD_in_ga(X1, X3)) ACKERMANNA_IN_GAG(s(X1), s(0), X2) -> ACKERMANND_IN_GA(X1, X3) ACKERMANNA_IN_GAG(s(X1), s(0), X2) -> U23_GAG(X1, X2, ackermanncD_in_ga(X1, X3)) U23_GAG(X1, X2, ackermanncD_out_ga(X1, X3)) -> U24_GAG(X1, X2, ackermannA_in_ggg(X1, X3, X2)) U23_GAG(X1, X2, ackermanncD_out_ga(X1, X3)) -> ACKERMANNA_IN_GGG(X1, X3, X2) ACKERMANNA_IN_GAG(s(X1), s(s(X2)), X3) -> U25_GAG(X1, X2, X3, ackermannC_in_gaa(X1, X2, X4)) ACKERMANNA_IN_GAG(s(X1), s(s(X2)), X3) -> ACKERMANNC_IN_GAA(X1, X2, X4) ACKERMANNA_IN_GAG(s(X1), s(s(X2)), X3) -> U26_GAG(X1, X2, X3, ackermanncC_in_gaa(X1, X2, X4)) U26_GAG(X1, X2, X3, ackermanncC_out_gaa(X1, X2, X4)) -> U27_GAG(X1, X2, X3, ackermannE_in_gga(X1, X4, X5)) U26_GAG(X1, X2, X3, ackermanncC_out_gaa(X1, X2, X4)) -> ACKERMANNE_IN_GGA(X1, X4, X5) U26_GAG(X1, X2, X3, ackermanncC_out_gaa(X1, X2, X4)) -> U28_GAG(X1, X2, X3, ackermanncE_in_gga(X1, X4, X5)) U28_GAG(X1, X2, X3, ackermanncE_out_gga(X1, X4, X5)) -> U29_GAG(X1, X2, X3, ackermannA_in_ggg(X1, X5, X3)) U28_GAG(X1, X2, X3, ackermanncE_out_gga(X1, X4, X5)) -> ACKERMANNA_IN_GGG(X1, X5, X3) The TRS R consists of the following rules: ackermanncB_in_ga(X1, X2) -> U40_ga(X1, X2, ackermanncD_in_ga(X1, X2)) ackermanncD_in_ga(0, s(s(0))) -> ackermanncD_out_ga(0, s(s(0))) ackermanncD_in_ga(s(X1), X2) -> U41_ga(X1, X2, ackermanncB_in_ga(X1, X3)) U41_ga(X1, X2, ackermanncB_out_ga(X1, X3)) -> U42_ga(X1, X2, ackermanncF_in_gga(X1, X3, X2)) ackermanncF_in_gga(0, X1, s(X1)) -> ackermanncF_out_gga(0, X1, s(X1)) ackermanncF_in_gga(s(X1), 0, X2) -> U43_gga(X1, X2, ackermanncD_in_ga(X1, X2)) U43_gga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncF_out_gga(s(X1), 0, X2) ackermanncF_in_gga(s(X1), s(X2), X3) -> U44_gga(X1, X2, X3, ackermanncF_in_gga(s(X1), X2, X4)) U44_gga(X1, X2, X3, ackermanncF_out_gga(s(X1), X2, X4)) -> U45_gga(X1, X2, X3, ackermanncF_in_gga(X1, X4, X3)) U45_gga(X1, X2, X3, ackermanncF_out_gga(X1, X4, X3)) -> ackermanncF_out_gga(s(X1), s(X2), X3) U42_ga(X1, X2, ackermanncF_out_gga(X1, X3, X2)) -> ackermanncD_out_ga(s(X1), X2) U40_ga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncB_out_ga(X1, X2) ackermanncC_in_gga(X1, 0, X2) -> U46_gga(X1, X2, ackermanncD_in_ga(X1, X2)) U46_gga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncC_out_gga(X1, 0, X2) ackermanncC_in_gga(X1, s(X2), X3) -> U47_gga(X1, X2, X3, qcG_in_ggaa(X1, X2, X4, X3)) qcG_in_ggaa(X1, X2, X3, X4) -> U48_ggaa(X1, X2, X3, X4, ackermanncC_in_gga(X1, X2, X3)) U48_ggaa(X1, X2, X3, X4, ackermanncC_out_gga(X1, X2, X3)) -> U49_ggaa(X1, X2, X3, X4, ackermanncE_in_gga(X1, X3, X4)) ackermanncE_in_gga(0, X1, s(X1)) -> ackermanncE_out_gga(0, X1, s(X1)) ackermanncE_in_gga(s(X1), 0, X2) -> U50_gga(X1, X2, ackermanncD_in_ga(X1, X2)) U50_gga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncE_out_gga(s(X1), 0, X2) ackermanncE_in_gga(s(X1), s(X2), X3) -> U51_gga(X1, X2, X3, qcG_in_ggaa(X1, X2, X4, X3)) U51_gga(X1, X2, X3, qcG_out_ggaa(X1, X2, X4, X3)) -> ackermanncE_out_gga(s(X1), s(X2), X3) U49_ggaa(X1, X2, X3, X4, ackermanncE_out_gga(X1, X3, X4)) -> qcG_out_ggaa(X1, X2, X3, X4) U47_gga(X1, X2, X3, qcG_out_ggaa(X1, X2, X4, X3)) -> ackermanncC_out_gga(X1, s(X2), X3) ackermanncC_in_gaa(X1, 0, X2) -> U46_gaa(X1, X2, ackermanncD_in_ga(X1, X2)) U46_gaa(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncC_out_gaa(X1, 0, X2) ackermanncC_in_gaa(X1, s(X2), X3) -> U47_gaa(X1, X2, X3, qcG_in_gaaa(X1, X2, X4, X3)) qcG_in_gaaa(X1, X2, X3, X4) -> U48_gaaa(X1, X2, X3, X4, ackermanncC_in_gaa(X1, X2, X3)) U48_gaaa(X1, X2, X3, X4, ackermanncC_out_gaa(X1, X2, X3)) -> U49_gaaa(X1, X2, X3, X4, ackermanncE_in_gga(X1, X3, X4)) U49_gaaa(X1, X2, X3, X4, ackermanncE_out_gga(X1, X3, X4)) -> qcG_out_gaaa(X1, X2, X3, X4) U47_gaa(X1, X2, X3, qcG_out_gaaa(X1, X2, X4, X3)) -> ackermanncC_out_gaa(X1, s(X2), X3) The argument filtering Pi contains the following mapping: s(x1) = s(x1) ackermannB_in_ga(x1, x2) = ackermannB_in_ga(x1) ackermannD_in_ga(x1, x2) = ackermannD_in_ga(x1) ackermanncB_in_ga(x1, x2) = ackermanncB_in_ga(x1) U40_ga(x1, x2, x3) = U40_ga(x1, x3) ackermanncD_in_ga(x1, x2) = ackermanncD_in_ga(x1) 0 = 0 ackermanncD_out_ga(x1, x2) = ackermanncD_out_ga(x1, x2) U41_ga(x1, x2, x3) = U41_ga(x1, x3) ackermanncB_out_ga(x1, x2) = ackermanncB_out_ga(x1, x2) U42_ga(x1, x2, x3) = U42_ga(x1, x3) ackermanncF_in_gga(x1, x2, x3) = ackermanncF_in_gga(x1, x2) ackermanncF_out_gga(x1, x2, x3) = ackermanncF_out_gga(x1, x2, x3) U43_gga(x1, x2, x3) = U43_gga(x1, x3) U44_gga(x1, x2, x3, x4) = U44_gga(x1, x2, x4) U45_gga(x1, x2, x3, x4) = U45_gga(x1, x2, x4) ackermannF_in_gga(x1, x2, x3) = ackermannF_in_gga(x1, x2) ackermannA_in_ggg(x1, x2, x3) = ackermannA_in_ggg(x1, x2, x3) ackermannC_in_gga(x1, x2, x3) = ackermannC_in_gga(x1, x2) pG_in_ggaa(x1, x2, x3, x4) = pG_in_ggaa(x1, x2) ackermanncC_in_gga(x1, x2, x3) = ackermanncC_in_gga(x1, x2) U46_gga(x1, x2, x3) = U46_gga(x1, x3) ackermanncC_out_gga(x1, x2, x3) = ackermanncC_out_gga(x1, x2, x3) U47_gga(x1, x2, x3, x4) = U47_gga(x1, x2, x4) qcG_in_ggaa(x1, x2, x3, x4) = qcG_in_ggaa(x1, x2) U48_ggaa(x1, x2, x3, x4, x5) = U48_ggaa(x1, x2, x5) U49_ggaa(x1, x2, x3, x4, x5) = U49_ggaa(x1, x2, x3, x5) ackermanncE_in_gga(x1, x2, x3) = ackermanncE_in_gga(x1, x2) ackermanncE_out_gga(x1, x2, x3) = ackermanncE_out_gga(x1, x2, x3) U50_gga(x1, x2, x3) = U50_gga(x1, x3) U51_gga(x1, x2, x3, x4) = U51_gga(x1, x2, x4) qcG_out_ggaa(x1, x2, x3, x4) = qcG_out_ggaa(x1, x2, x3, x4) ackermannE_in_gga(x1, x2, x3) = ackermannE_in_gga(x1, x2) ackermannC_in_gaa(x1, x2, x3) = ackermannC_in_gaa(x1) pG_in_gaaa(x1, x2, x3, x4) = pG_in_gaaa(x1) ackermanncC_in_gaa(x1, x2, x3) = ackermanncC_in_gaa(x1) U46_gaa(x1, x2, x3) = U46_gaa(x1, x3) ackermanncC_out_gaa(x1, x2, x3) = ackermanncC_out_gaa(x1, x2, x3) U47_gaa(x1, x2, x3, x4) = U47_gaa(x1, x4) qcG_in_gaaa(x1, x2, x3, x4) = qcG_in_gaaa(x1) U48_gaaa(x1, x2, x3, x4, x5) = U48_gaaa(x1, x5) U49_gaaa(x1, x2, x3, x4, x5) = U49_gaaa(x1, x2, x3, x5) qcG_out_gaaa(x1, x2, x3, x4) = qcG_out_gaaa(x1, x2, x3, x4) ACKERMANNA_IN_GAG(x1, x2, x3) = ACKERMANNA_IN_GAG(x1, x3) U16_GAG(x1, x2, x3) = U16_GAG(x1, x2, x3) ACKERMANNB_IN_GA(x1, x2) = ACKERMANNB_IN_GA(x1) U1_GA(x1, x2, x3) = U1_GA(x1, x3) ACKERMANND_IN_GA(x1, x2) = ACKERMANND_IN_GA(x1) U2_GA(x1, x2, x3) = U2_GA(x1, x3) U3_GA(x1, x2, x3) = U3_GA(x1, x3) U4_GA(x1, x2, x3) = U4_GA(x1, x3) ACKERMANNF_IN_GGA(x1, x2, x3) = ACKERMANNF_IN_GGA(x1, x2) U5_GGA(x1, x2, x3) = U5_GGA(x1, x3) U6_GGA(x1, x2, x3, x4) = U6_GGA(x1, x2, x4) U7_GGA(x1, x2, x3, x4) = U7_GGA(x1, x2, x4) U8_GGA(x1, x2, x3, x4) = U8_GGA(x1, x2, x4) U17_GAG(x1, x2, x3) = U17_GAG(x1, x2, x3) U18_GAG(x1, x2, x3) = U18_GAG(x1, x2, x3) ACKERMANNA_IN_GGG(x1, x2, x3) = ACKERMANNA_IN_GGG(x1, x2, x3) U16_GGG(x1, x2, x3) = U16_GGG(x1, x2, x3) U17_GGG(x1, x2, x3) = U17_GGG(x1, x2, x3) U18_GGG(x1, x2, x3) = U18_GGG(x1, x2, x3) U19_GGG(x1, x2, x3, x4) = U19_GGG(x1, x2, x3, x4) ACKERMANNC_IN_GGA(x1, x2, x3) = ACKERMANNC_IN_GGA(x1, x2) U9_GGA(x1, x2, x3) = U9_GGA(x1, x3) U10_GGA(x1, x2, x3, x4) = U10_GGA(x1, x2, x4) PG_IN_GGAA(x1, x2, x3, x4) = PG_IN_GGAA(x1, x2) U11_GGAA(x1, x2, x3, x4, x5) = U11_GGAA(x1, x2, x5) U12_GGAA(x1, x2, x3, x4, x5) = U12_GGAA(x1, x2, x5) U13_GGAA(x1, x2, x3, x4, x5) = U13_GGAA(x1, x2, x5) ACKERMANNE_IN_GGA(x1, x2, x3) = ACKERMANNE_IN_GGA(x1, x2) U14_GGA(x1, x2, x3) = U14_GGA(x1, x3) U15_GGA(x1, x2, x3, x4) = U15_GGA(x1, x2, x4) U20_GGG(x1, x2, x3, x4) = U20_GGG(x1, x2, x3, x4) U21_GGG(x1, x2, x3, x4) = U21_GGG(x1, x2, x3, x4) U22_GGG(x1, x2, x3) = U22_GGG(x1, x2, x3) U23_GGG(x1, x2, x3) = U23_GGG(x1, x2, x3) U24_GGG(x1, x2, x3) = U24_GGG(x1, x2, x3) U25_GGG(x1, x2, x3, x4) = U25_GGG(x1, x2, x3, x4) U26_GGG(x1, x2, x3, x4) = U26_GGG(x1, x2, x3, x4) U27_GGG(x1, x2, x3, x4) = U27_GGG(x1, x2, x3, x4) U28_GGG(x1, x2, x3, x4) = U28_GGG(x1, x2, x3, x4) U29_GGG(x1, x2, x3, x4) = U29_GGG(x1, x2, x3, x4) U19_GAG(x1, x2, x3, x4) = U19_GAG(x1, x3, x4) ACKERMANNC_IN_GAA(x1, x2, x3) = ACKERMANNC_IN_GAA(x1) U9_GAA(x1, x2, x3) = U9_GAA(x1, x3) U10_GAA(x1, x2, x3, x4) = U10_GAA(x1, x4) PG_IN_GAAA(x1, x2, x3, x4) = PG_IN_GAAA(x1) U11_GAAA(x1, x2, x3, x4, x5) = U11_GAAA(x1, x5) U12_GAAA(x1, x2, x3, x4, x5) = U12_GAAA(x1, x5) U13_GAAA(x1, x2, x3, x4, x5) = U13_GAAA(x1, x2, x5) U20_GAG(x1, x2, x3, x4) = U20_GAG(x1, x3, x4) U21_GAG(x1, x2, x3, x4) = U21_GAG(x1, x2, x3, x4) U22_GAG(x1, x2, x3) = U22_GAG(x1, x2, x3) U23_GAG(x1, x2, x3) = U23_GAG(x1, x2, x3) U24_GAG(x1, x2, x3) = U24_GAG(x1, x2, x3) U25_GAG(x1, x2, x3, x4) = U25_GAG(x1, x3, x4) U26_GAG(x1, x2, x3, x4) = U26_GAG(x1, x3, x4) U27_GAG(x1, x2, x3, x4) = U27_GAG(x1, x2, x3, x4) U28_GAG(x1, x2, x3, x4) = U28_GAG(x1, x2, x3, x4) U29_GAG(x1, x2, x3, x4) = U29_GAG(x1, x2, x3, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (121) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LOPSTR] contains 4 SCCs with 58 less nodes. ---------------------------------------- (122) Complex Obligation (AND) ---------------------------------------- (123) Obligation: Pi DP problem: The TRS P consists of the following rules: ACKERMANNB_IN_GA(X1, X2) -> ACKERMANND_IN_GA(X1, X2) ACKERMANND_IN_GA(s(X1), X2) -> ACKERMANNB_IN_GA(X1, X3) ACKERMANND_IN_GA(s(X1), X2) -> U3_GA(X1, X2, ackermanncB_in_ga(X1, X3)) U3_GA(X1, X2, ackermanncB_out_ga(X1, X3)) -> ACKERMANNF_IN_GGA(X1, X3, X2) ACKERMANNF_IN_GGA(s(X1), 0, X2) -> ACKERMANND_IN_GA(X1, X2) ACKERMANNF_IN_GGA(s(X1), s(X2), X3) -> ACKERMANNF_IN_GGA(s(X1), X2, X4) ACKERMANNF_IN_GGA(s(X1), s(X2), X3) -> U7_GGA(X1, X2, X3, ackermanncF_in_gga(s(X1), X2, X4)) U7_GGA(X1, X2, X3, ackermanncF_out_gga(s(X1), X2, X4)) -> ACKERMANNF_IN_GGA(X1, X4, X3) The TRS R consists of the following rules: ackermanncB_in_ga(X1, X2) -> U40_ga(X1, X2, ackermanncD_in_ga(X1, X2)) ackermanncD_in_ga(0, s(s(0))) -> ackermanncD_out_ga(0, s(s(0))) ackermanncD_in_ga(s(X1), X2) -> U41_ga(X1, X2, ackermanncB_in_ga(X1, X3)) U41_ga(X1, X2, ackermanncB_out_ga(X1, X3)) -> U42_ga(X1, X2, ackermanncF_in_gga(X1, X3, X2)) ackermanncF_in_gga(0, X1, s(X1)) -> ackermanncF_out_gga(0, X1, s(X1)) ackermanncF_in_gga(s(X1), 0, X2) -> U43_gga(X1, X2, ackermanncD_in_ga(X1, X2)) U43_gga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncF_out_gga(s(X1), 0, X2) ackermanncF_in_gga(s(X1), s(X2), X3) -> U44_gga(X1, X2, X3, ackermanncF_in_gga(s(X1), X2, X4)) U44_gga(X1, X2, X3, ackermanncF_out_gga(s(X1), X2, X4)) -> U45_gga(X1, X2, X3, ackermanncF_in_gga(X1, X4, X3)) U45_gga(X1, X2, X3, ackermanncF_out_gga(X1, X4, X3)) -> ackermanncF_out_gga(s(X1), s(X2), X3) U42_ga(X1, X2, ackermanncF_out_gga(X1, X3, X2)) -> ackermanncD_out_ga(s(X1), X2) U40_ga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncB_out_ga(X1, X2) ackermanncC_in_gga(X1, 0, X2) -> U46_gga(X1, X2, ackermanncD_in_ga(X1, X2)) U46_gga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncC_out_gga(X1, 0, X2) ackermanncC_in_gga(X1, s(X2), X3) -> U47_gga(X1, X2, X3, qcG_in_ggaa(X1, X2, X4, X3)) qcG_in_ggaa(X1, X2, X3, X4) -> U48_ggaa(X1, X2, X3, X4, ackermanncC_in_gga(X1, X2, X3)) U48_ggaa(X1, X2, X3, X4, ackermanncC_out_gga(X1, X2, X3)) -> U49_ggaa(X1, X2, X3, X4, ackermanncE_in_gga(X1, X3, X4)) ackermanncE_in_gga(0, X1, s(X1)) -> ackermanncE_out_gga(0, X1, s(X1)) ackermanncE_in_gga(s(X1), 0, X2) -> U50_gga(X1, X2, ackermanncD_in_ga(X1, X2)) U50_gga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncE_out_gga(s(X1), 0, X2) ackermanncE_in_gga(s(X1), s(X2), X3) -> U51_gga(X1, X2, X3, qcG_in_ggaa(X1, X2, X4, X3)) U51_gga(X1, X2, X3, qcG_out_ggaa(X1, X2, X4, X3)) -> ackermanncE_out_gga(s(X1), s(X2), X3) U49_ggaa(X1, X2, X3, X4, ackermanncE_out_gga(X1, X3, X4)) -> qcG_out_ggaa(X1, X2, X3, X4) U47_gga(X1, X2, X3, qcG_out_ggaa(X1, X2, X4, X3)) -> ackermanncC_out_gga(X1, s(X2), X3) ackermanncC_in_gaa(X1, 0, X2) -> U46_gaa(X1, X2, ackermanncD_in_ga(X1, X2)) U46_gaa(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncC_out_gaa(X1, 0, X2) ackermanncC_in_gaa(X1, s(X2), X3) -> U47_gaa(X1, X2, X3, qcG_in_gaaa(X1, X2, X4, X3)) qcG_in_gaaa(X1, X2, X3, X4) -> U48_gaaa(X1, X2, X3, X4, ackermanncC_in_gaa(X1, X2, X3)) U48_gaaa(X1, X2, X3, X4, ackermanncC_out_gaa(X1, X2, X3)) -> U49_gaaa(X1, X2, X3, X4, ackermanncE_in_gga(X1, X3, X4)) U49_gaaa(X1, X2, X3, X4, ackermanncE_out_gga(X1, X3, X4)) -> qcG_out_gaaa(X1, X2, X3, X4) U47_gaa(X1, X2, X3, qcG_out_gaaa(X1, X2, X4, X3)) -> ackermanncC_out_gaa(X1, s(X2), X3) The argument filtering Pi contains the following mapping: s(x1) = s(x1) ackermanncB_in_ga(x1, x2) = ackermanncB_in_ga(x1) U40_ga(x1, x2, x3) = U40_ga(x1, x3) ackermanncD_in_ga(x1, x2) = ackermanncD_in_ga(x1) 0 = 0 ackermanncD_out_ga(x1, x2) = ackermanncD_out_ga(x1, x2) U41_ga(x1, x2, x3) = U41_ga(x1, x3) ackermanncB_out_ga(x1, x2) = ackermanncB_out_ga(x1, x2) U42_ga(x1, x2, x3) = U42_ga(x1, x3) ackermanncF_in_gga(x1, x2, x3) = ackermanncF_in_gga(x1, x2) ackermanncF_out_gga(x1, x2, x3) = ackermanncF_out_gga(x1, x2, x3) U43_gga(x1, x2, x3) = U43_gga(x1, x3) U44_gga(x1, x2, x3, x4) = U44_gga(x1, x2, x4) U45_gga(x1, x2, x3, x4) = U45_gga(x1, x2, x4) ackermanncC_in_gga(x1, x2, x3) = ackermanncC_in_gga(x1, x2) U46_gga(x1, x2, x3) = U46_gga(x1, x3) ackermanncC_out_gga(x1, x2, x3) = ackermanncC_out_gga(x1, x2, x3) U47_gga(x1, x2, x3, x4) = U47_gga(x1, x2, x4) qcG_in_ggaa(x1, x2, x3, x4) = qcG_in_ggaa(x1, x2) U48_ggaa(x1, x2, x3, x4, x5) = U48_ggaa(x1, x2, x5) U49_ggaa(x1, x2, x3, x4, x5) = U49_ggaa(x1, x2, x3, x5) ackermanncE_in_gga(x1, x2, x3) = ackermanncE_in_gga(x1, x2) ackermanncE_out_gga(x1, x2, x3) = ackermanncE_out_gga(x1, x2, x3) U50_gga(x1, x2, x3) = U50_gga(x1, x3) U51_gga(x1, x2, x3, x4) = U51_gga(x1, x2, x4) qcG_out_ggaa(x1, x2, x3, x4) = qcG_out_ggaa(x1, x2, x3, x4) ackermanncC_in_gaa(x1, x2, x3) = ackermanncC_in_gaa(x1) U46_gaa(x1, x2, x3) = U46_gaa(x1, x3) ackermanncC_out_gaa(x1, x2, x3) = ackermanncC_out_gaa(x1, x2, x3) U47_gaa(x1, x2, x3, x4) = U47_gaa(x1, x4) qcG_in_gaaa(x1, x2, x3, x4) = qcG_in_gaaa(x1) U48_gaaa(x1, x2, x3, x4, x5) = U48_gaaa(x1, x5) U49_gaaa(x1, x2, x3, x4, x5) = U49_gaaa(x1, x2, x3, x5) qcG_out_gaaa(x1, x2, x3, x4) = qcG_out_gaaa(x1, x2, x3, x4) ACKERMANNB_IN_GA(x1, x2) = ACKERMANNB_IN_GA(x1) ACKERMANND_IN_GA(x1, x2) = ACKERMANND_IN_GA(x1) U3_GA(x1, x2, x3) = U3_GA(x1, x3) ACKERMANNF_IN_GGA(x1, x2, x3) = ACKERMANNF_IN_GGA(x1, x2) U7_GGA(x1, x2, x3, x4) = U7_GGA(x1, x2, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (124) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (125) Obligation: Pi DP problem: The TRS P consists of the following rules: ACKERMANNB_IN_GA(X1, X2) -> ACKERMANND_IN_GA(X1, X2) ACKERMANND_IN_GA(s(X1), X2) -> ACKERMANNB_IN_GA(X1, X3) ACKERMANND_IN_GA(s(X1), X2) -> U3_GA(X1, X2, ackermanncB_in_ga(X1, X3)) U3_GA(X1, X2, ackermanncB_out_ga(X1, X3)) -> ACKERMANNF_IN_GGA(X1, X3, X2) ACKERMANNF_IN_GGA(s(X1), 0, X2) -> ACKERMANND_IN_GA(X1, X2) ACKERMANNF_IN_GGA(s(X1), s(X2), X3) -> ACKERMANNF_IN_GGA(s(X1), X2, X4) ACKERMANNF_IN_GGA(s(X1), s(X2), X3) -> U7_GGA(X1, X2, X3, ackermanncF_in_gga(s(X1), X2, X4)) U7_GGA(X1, X2, X3, ackermanncF_out_gga(s(X1), X2, X4)) -> ACKERMANNF_IN_GGA(X1, X4, X3) The TRS R consists of the following rules: ackermanncB_in_ga(X1, X2) -> U40_ga(X1, X2, ackermanncD_in_ga(X1, X2)) ackermanncF_in_gga(s(X1), 0, X2) -> U43_gga(X1, X2, ackermanncD_in_ga(X1, X2)) ackermanncF_in_gga(s(X1), s(X2), X3) -> U44_gga(X1, X2, X3, ackermanncF_in_gga(s(X1), X2, X4)) U40_ga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncB_out_ga(X1, X2) U43_gga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncF_out_gga(s(X1), 0, X2) U44_gga(X1, X2, X3, ackermanncF_out_gga(s(X1), X2, X4)) -> U45_gga(X1, X2, X3, ackermanncF_in_gga(X1, X4, X3)) ackermanncD_in_ga(0, s(s(0))) -> ackermanncD_out_ga(0, s(s(0))) ackermanncD_in_ga(s(X1), X2) -> U41_ga(X1, X2, ackermanncB_in_ga(X1, X3)) U45_gga(X1, X2, X3, ackermanncF_out_gga(X1, X4, X3)) -> ackermanncF_out_gga(s(X1), s(X2), X3) U41_ga(X1, X2, ackermanncB_out_ga(X1, X3)) -> U42_ga(X1, X2, ackermanncF_in_gga(X1, X3, X2)) ackermanncF_in_gga(0, X1, s(X1)) -> ackermanncF_out_gga(0, X1, s(X1)) U42_ga(X1, X2, ackermanncF_out_gga(X1, X3, X2)) -> ackermanncD_out_ga(s(X1), X2) The argument filtering Pi contains the following mapping: s(x1) = s(x1) ackermanncB_in_ga(x1, x2) = ackermanncB_in_ga(x1) U40_ga(x1, x2, x3) = U40_ga(x1, x3) ackermanncD_in_ga(x1, x2) = ackermanncD_in_ga(x1) 0 = 0 ackermanncD_out_ga(x1, x2) = ackermanncD_out_ga(x1, x2) U41_ga(x1, x2, x3) = U41_ga(x1, x3) ackermanncB_out_ga(x1, x2) = ackermanncB_out_ga(x1, x2) U42_ga(x1, x2, x3) = U42_ga(x1, x3) ackermanncF_in_gga(x1, x2, x3) = ackermanncF_in_gga(x1, x2) ackermanncF_out_gga(x1, x2, x3) = ackermanncF_out_gga(x1, x2, x3) U43_gga(x1, x2, x3) = U43_gga(x1, x3) U44_gga(x1, x2, x3, x4) = U44_gga(x1, x2, x4) U45_gga(x1, x2, x3, x4) = U45_gga(x1, x2, x4) ACKERMANNB_IN_GA(x1, x2) = ACKERMANNB_IN_GA(x1) ACKERMANND_IN_GA(x1, x2) = ACKERMANND_IN_GA(x1) U3_GA(x1, x2, x3) = U3_GA(x1, x3) ACKERMANNF_IN_GGA(x1, x2, x3) = ACKERMANNF_IN_GGA(x1, x2) U7_GGA(x1, x2, x3, x4) = U7_GGA(x1, x2, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (126) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (127) Obligation: Q DP problem: The TRS P consists of the following rules: ACKERMANNB_IN_GA(X1) -> ACKERMANND_IN_GA(X1) ACKERMANND_IN_GA(s(X1)) -> ACKERMANNB_IN_GA(X1) ACKERMANND_IN_GA(s(X1)) -> U3_GA(X1, ackermanncB_in_ga(X1)) U3_GA(X1, ackermanncB_out_ga(X1, X3)) -> ACKERMANNF_IN_GGA(X1, X3) ACKERMANNF_IN_GGA(s(X1), 0) -> ACKERMANND_IN_GA(X1) ACKERMANNF_IN_GGA(s(X1), s(X2)) -> ACKERMANNF_IN_GGA(s(X1), X2) ACKERMANNF_IN_GGA(s(X1), s(X2)) -> U7_GGA(X1, X2, ackermanncF_in_gga(s(X1), X2)) U7_GGA(X1, X2, ackermanncF_out_gga(s(X1), X2, X4)) -> ACKERMANNF_IN_GGA(X1, X4) The TRS R consists of the following rules: ackermanncB_in_ga(X1) -> U40_ga(X1, ackermanncD_in_ga(X1)) ackermanncF_in_gga(s(X1), 0) -> U43_gga(X1, ackermanncD_in_ga(X1)) ackermanncF_in_gga(s(X1), s(X2)) -> U44_gga(X1, X2, ackermanncF_in_gga(s(X1), X2)) U40_ga(X1, ackermanncD_out_ga(X1, X2)) -> ackermanncB_out_ga(X1, X2) U43_gga(X1, ackermanncD_out_ga(X1, X2)) -> ackermanncF_out_gga(s(X1), 0, X2) U44_gga(X1, X2, ackermanncF_out_gga(s(X1), X2, X4)) -> U45_gga(X1, X2, ackermanncF_in_gga(X1, X4)) ackermanncD_in_ga(0) -> ackermanncD_out_ga(0, s(s(0))) ackermanncD_in_ga(s(X1)) -> U41_ga(X1, ackermanncB_in_ga(X1)) U45_gga(X1, X2, ackermanncF_out_gga(X1, X4, X3)) -> ackermanncF_out_gga(s(X1), s(X2), X3) U41_ga(X1, ackermanncB_out_ga(X1, X3)) -> U42_ga(X1, ackermanncF_in_gga(X1, X3)) ackermanncF_in_gga(0, X1) -> ackermanncF_out_gga(0, X1, s(X1)) U42_ga(X1, ackermanncF_out_gga(X1, X3, X2)) -> ackermanncD_out_ga(s(X1), X2) The set Q consists of the following terms: ackermanncB_in_ga(x0) ackermanncF_in_gga(x0, x1) U40_ga(x0, x1) U43_gga(x0, x1) U44_gga(x0, x1, x2) ackermanncD_in_ga(x0) U45_gga(x0, x1, x2) U41_ga(x0, x1) U42_ga(x0, x1) We have to consider all (P,Q,R)-chains. ---------------------------------------- (128) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *ACKERMANND_IN_GA(s(X1)) -> ACKERMANNB_IN_GA(X1) The graph contains the following edges 1 > 1 *ACKERMANND_IN_GA(s(X1)) -> U3_GA(X1, ackermanncB_in_ga(X1)) The graph contains the following edges 1 > 1 *ACKERMANNB_IN_GA(X1) -> ACKERMANND_IN_GA(X1) The graph contains the following edges 1 >= 1 *ACKERMANNF_IN_GGA(s(X1), 0) -> ACKERMANND_IN_GA(X1) The graph contains the following edges 1 > 1 *U3_GA(X1, ackermanncB_out_ga(X1, X3)) -> ACKERMANNF_IN_GGA(X1, X3) The graph contains the following edges 1 >= 1, 2 > 1, 2 > 2 *U7_GGA(X1, X2, ackermanncF_out_gga(s(X1), X2, X4)) -> ACKERMANNF_IN_GGA(X1, X4) The graph contains the following edges 1 >= 1, 3 > 1, 3 > 2 *ACKERMANNF_IN_GGA(s(X1), s(X2)) -> ACKERMANNF_IN_GGA(s(X1), X2) The graph contains the following edges 1 >= 1, 2 > 2 *ACKERMANNF_IN_GGA(s(X1), s(X2)) -> U7_GGA(X1, X2, ackermanncF_in_gga(s(X1), X2)) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (129) YES ---------------------------------------- (130) Obligation: Pi DP problem: The TRS P consists of the following rules: ACKERMANNC_IN_GGA(X1, s(X2), X3) -> PG_IN_GGAA(X1, X2, X4, X3) PG_IN_GGAA(X1, X2, X3, X4) -> ACKERMANNC_IN_GGA(X1, X2, X3) PG_IN_GGAA(X1, X2, X3, X4) -> U12_GGAA(X1, X2, X3, X4, ackermanncC_in_gga(X1, X2, X3)) U12_GGAA(X1, X2, X3, X4, ackermanncC_out_gga(X1, X2, X3)) -> ACKERMANNE_IN_GGA(X1, X3, X4) ACKERMANNE_IN_GGA(s(X1), s(X2), X3) -> PG_IN_GGAA(X1, X2, X4, X3) The TRS R consists of the following rules: ackermanncB_in_ga(X1, X2) -> U40_ga(X1, X2, ackermanncD_in_ga(X1, X2)) ackermanncD_in_ga(0, s(s(0))) -> ackermanncD_out_ga(0, s(s(0))) ackermanncD_in_ga(s(X1), X2) -> U41_ga(X1, X2, ackermanncB_in_ga(X1, X3)) U41_ga(X1, X2, ackermanncB_out_ga(X1, X3)) -> U42_ga(X1, X2, ackermanncF_in_gga(X1, X3, X2)) ackermanncF_in_gga(0, X1, s(X1)) -> ackermanncF_out_gga(0, X1, s(X1)) ackermanncF_in_gga(s(X1), 0, X2) -> U43_gga(X1, X2, ackermanncD_in_ga(X1, X2)) U43_gga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncF_out_gga(s(X1), 0, X2) ackermanncF_in_gga(s(X1), s(X2), X3) -> U44_gga(X1, X2, X3, ackermanncF_in_gga(s(X1), X2, X4)) U44_gga(X1, X2, X3, ackermanncF_out_gga(s(X1), X2, X4)) -> U45_gga(X1, X2, X3, ackermanncF_in_gga(X1, X4, X3)) U45_gga(X1, X2, X3, ackermanncF_out_gga(X1, X4, X3)) -> ackermanncF_out_gga(s(X1), s(X2), X3) U42_ga(X1, X2, ackermanncF_out_gga(X1, X3, X2)) -> ackermanncD_out_ga(s(X1), X2) U40_ga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncB_out_ga(X1, X2) ackermanncC_in_gga(X1, 0, X2) -> U46_gga(X1, X2, ackermanncD_in_ga(X1, X2)) U46_gga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncC_out_gga(X1, 0, X2) ackermanncC_in_gga(X1, s(X2), X3) -> U47_gga(X1, X2, X3, qcG_in_ggaa(X1, X2, X4, X3)) qcG_in_ggaa(X1, X2, X3, X4) -> U48_ggaa(X1, X2, X3, X4, ackermanncC_in_gga(X1, X2, X3)) U48_ggaa(X1, X2, X3, X4, ackermanncC_out_gga(X1, X2, X3)) -> U49_ggaa(X1, X2, X3, X4, ackermanncE_in_gga(X1, X3, X4)) ackermanncE_in_gga(0, X1, s(X1)) -> ackermanncE_out_gga(0, X1, s(X1)) ackermanncE_in_gga(s(X1), 0, X2) -> U50_gga(X1, X2, ackermanncD_in_ga(X1, X2)) U50_gga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncE_out_gga(s(X1), 0, X2) ackermanncE_in_gga(s(X1), s(X2), X3) -> U51_gga(X1, X2, X3, qcG_in_ggaa(X1, X2, X4, X3)) U51_gga(X1, X2, X3, qcG_out_ggaa(X1, X2, X4, X3)) -> ackermanncE_out_gga(s(X1), s(X2), X3) U49_ggaa(X1, X2, X3, X4, ackermanncE_out_gga(X1, X3, X4)) -> qcG_out_ggaa(X1, X2, X3, X4) U47_gga(X1, X2, X3, qcG_out_ggaa(X1, X2, X4, X3)) -> ackermanncC_out_gga(X1, s(X2), X3) ackermanncC_in_gaa(X1, 0, X2) -> U46_gaa(X1, X2, ackermanncD_in_ga(X1, X2)) U46_gaa(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncC_out_gaa(X1, 0, X2) ackermanncC_in_gaa(X1, s(X2), X3) -> U47_gaa(X1, X2, X3, qcG_in_gaaa(X1, X2, X4, X3)) qcG_in_gaaa(X1, X2, X3, X4) -> U48_gaaa(X1, X2, X3, X4, ackermanncC_in_gaa(X1, X2, X3)) U48_gaaa(X1, X2, X3, X4, ackermanncC_out_gaa(X1, X2, X3)) -> U49_gaaa(X1, X2, X3, X4, ackermanncE_in_gga(X1, X3, X4)) U49_gaaa(X1, X2, X3, X4, ackermanncE_out_gga(X1, X3, X4)) -> qcG_out_gaaa(X1, X2, X3, X4) U47_gaa(X1, X2, X3, qcG_out_gaaa(X1, X2, X4, X3)) -> ackermanncC_out_gaa(X1, s(X2), X3) The argument filtering Pi contains the following mapping: s(x1) = s(x1) ackermanncB_in_ga(x1, x2) = ackermanncB_in_ga(x1) U40_ga(x1, x2, x3) = U40_ga(x1, x3) ackermanncD_in_ga(x1, x2) = ackermanncD_in_ga(x1) 0 = 0 ackermanncD_out_ga(x1, x2) = ackermanncD_out_ga(x1, x2) U41_ga(x1, x2, x3) = U41_ga(x1, x3) ackermanncB_out_ga(x1, x2) = ackermanncB_out_ga(x1, x2) U42_ga(x1, x2, x3) = U42_ga(x1, x3) ackermanncF_in_gga(x1, x2, x3) = ackermanncF_in_gga(x1, x2) ackermanncF_out_gga(x1, x2, x3) = ackermanncF_out_gga(x1, x2, x3) U43_gga(x1, x2, x3) = U43_gga(x1, x3) U44_gga(x1, x2, x3, x4) = U44_gga(x1, x2, x4) U45_gga(x1, x2, x3, x4) = U45_gga(x1, x2, x4) ackermanncC_in_gga(x1, x2, x3) = ackermanncC_in_gga(x1, x2) U46_gga(x1, x2, x3) = U46_gga(x1, x3) ackermanncC_out_gga(x1, x2, x3) = ackermanncC_out_gga(x1, x2, x3) U47_gga(x1, x2, x3, x4) = U47_gga(x1, x2, x4) qcG_in_ggaa(x1, x2, x3, x4) = qcG_in_ggaa(x1, x2) U48_ggaa(x1, x2, x3, x4, x5) = U48_ggaa(x1, x2, x5) U49_ggaa(x1, x2, x3, x4, x5) = U49_ggaa(x1, x2, x3, x5) ackermanncE_in_gga(x1, x2, x3) = ackermanncE_in_gga(x1, x2) ackermanncE_out_gga(x1, x2, x3) = ackermanncE_out_gga(x1, x2, x3) U50_gga(x1, x2, x3) = U50_gga(x1, x3) U51_gga(x1, x2, x3, x4) = U51_gga(x1, x2, x4) qcG_out_ggaa(x1, x2, x3, x4) = qcG_out_ggaa(x1, x2, x3, x4) ackermanncC_in_gaa(x1, x2, x3) = ackermanncC_in_gaa(x1) U46_gaa(x1, x2, x3) = U46_gaa(x1, x3) ackermanncC_out_gaa(x1, x2, x3) = ackermanncC_out_gaa(x1, x2, x3) U47_gaa(x1, x2, x3, x4) = U47_gaa(x1, x4) qcG_in_gaaa(x1, x2, x3, x4) = qcG_in_gaaa(x1) U48_gaaa(x1, x2, x3, x4, x5) = U48_gaaa(x1, x5) U49_gaaa(x1, x2, x3, x4, x5) = U49_gaaa(x1, x2, x3, x5) qcG_out_gaaa(x1, x2, x3, x4) = qcG_out_gaaa(x1, x2, x3, x4) ACKERMANNC_IN_GGA(x1, x2, x3) = ACKERMANNC_IN_GGA(x1, x2) PG_IN_GGAA(x1, x2, x3, x4) = PG_IN_GGAA(x1, x2) U12_GGAA(x1, x2, x3, x4, x5) = U12_GGAA(x1, x2, x5) ACKERMANNE_IN_GGA(x1, x2, x3) = ACKERMANNE_IN_GGA(x1, x2) We have to consider all (P,R,Pi)-chains ---------------------------------------- (131) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (132) Obligation: Pi DP problem: The TRS P consists of the following rules: ACKERMANNC_IN_GGA(X1, s(X2), X3) -> PG_IN_GGAA(X1, X2, X4, X3) PG_IN_GGAA(X1, X2, X3, X4) -> ACKERMANNC_IN_GGA(X1, X2, X3) PG_IN_GGAA(X1, X2, X3, X4) -> U12_GGAA(X1, X2, X3, X4, ackermanncC_in_gga(X1, X2, X3)) U12_GGAA(X1, X2, X3, X4, ackermanncC_out_gga(X1, X2, X3)) -> ACKERMANNE_IN_GGA(X1, X3, X4) ACKERMANNE_IN_GGA(s(X1), s(X2), X3) -> PG_IN_GGAA(X1, X2, X4, X3) The TRS R consists of the following rules: ackermanncC_in_gga(X1, 0, X2) -> U46_gga(X1, X2, ackermanncD_in_ga(X1, X2)) ackermanncC_in_gga(X1, s(X2), X3) -> U47_gga(X1, X2, X3, qcG_in_ggaa(X1, X2, X4, X3)) U46_gga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncC_out_gga(X1, 0, X2) U47_gga(X1, X2, X3, qcG_out_ggaa(X1, X2, X4, X3)) -> ackermanncC_out_gga(X1, s(X2), X3) ackermanncD_in_ga(0, s(s(0))) -> ackermanncD_out_ga(0, s(s(0))) ackermanncD_in_ga(s(X1), X2) -> U41_ga(X1, X2, ackermanncB_in_ga(X1, X3)) qcG_in_ggaa(X1, X2, X3, X4) -> U48_ggaa(X1, X2, X3, X4, ackermanncC_in_gga(X1, X2, X3)) U41_ga(X1, X2, ackermanncB_out_ga(X1, X3)) -> U42_ga(X1, X2, ackermanncF_in_gga(X1, X3, X2)) U48_ggaa(X1, X2, X3, X4, ackermanncC_out_gga(X1, X2, X3)) -> U49_ggaa(X1, X2, X3, X4, ackermanncE_in_gga(X1, X3, X4)) ackermanncB_in_ga(X1, X2) -> U40_ga(X1, X2, ackermanncD_in_ga(X1, X2)) U42_ga(X1, X2, ackermanncF_out_gga(X1, X3, X2)) -> ackermanncD_out_ga(s(X1), X2) U49_ggaa(X1, X2, X3, X4, ackermanncE_out_gga(X1, X3, X4)) -> qcG_out_ggaa(X1, X2, X3, X4) U40_ga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncB_out_ga(X1, X2) ackermanncF_in_gga(0, X1, s(X1)) -> ackermanncF_out_gga(0, X1, s(X1)) ackermanncF_in_gga(s(X1), 0, X2) -> U43_gga(X1, X2, ackermanncD_in_ga(X1, X2)) ackermanncF_in_gga(s(X1), s(X2), X3) -> U44_gga(X1, X2, X3, ackermanncF_in_gga(s(X1), X2, X4)) ackermanncE_in_gga(0, X1, s(X1)) -> ackermanncE_out_gga(0, X1, s(X1)) ackermanncE_in_gga(s(X1), 0, X2) -> U50_gga(X1, X2, ackermanncD_in_ga(X1, X2)) ackermanncE_in_gga(s(X1), s(X2), X3) -> U51_gga(X1, X2, X3, qcG_in_ggaa(X1, X2, X4, X3)) U43_gga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncF_out_gga(s(X1), 0, X2) U44_gga(X1, X2, X3, ackermanncF_out_gga(s(X1), X2, X4)) -> U45_gga(X1, X2, X3, ackermanncF_in_gga(X1, X4, X3)) U50_gga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncE_out_gga(s(X1), 0, X2) U51_gga(X1, X2, X3, qcG_out_ggaa(X1, X2, X4, X3)) -> ackermanncE_out_gga(s(X1), s(X2), X3) U45_gga(X1, X2, X3, ackermanncF_out_gga(X1, X4, X3)) -> ackermanncF_out_gga(s(X1), s(X2), X3) The argument filtering Pi contains the following mapping: s(x1) = s(x1) ackermanncB_in_ga(x1, x2) = ackermanncB_in_ga(x1) U40_ga(x1, x2, x3) = U40_ga(x1, x3) ackermanncD_in_ga(x1, x2) = ackermanncD_in_ga(x1) 0 = 0 ackermanncD_out_ga(x1, x2) = ackermanncD_out_ga(x1, x2) U41_ga(x1, x2, x3) = U41_ga(x1, x3) ackermanncB_out_ga(x1, x2) = ackermanncB_out_ga(x1, x2) U42_ga(x1, x2, x3) = U42_ga(x1, x3) ackermanncF_in_gga(x1, x2, x3) = ackermanncF_in_gga(x1, x2) ackermanncF_out_gga(x1, x2, x3) = ackermanncF_out_gga(x1, x2, x3) U43_gga(x1, x2, x3) = U43_gga(x1, x3) U44_gga(x1, x2, x3, x4) = U44_gga(x1, x2, x4) U45_gga(x1, x2, x3, x4) = U45_gga(x1, x2, x4) ackermanncC_in_gga(x1, x2, x3) = ackermanncC_in_gga(x1, x2) U46_gga(x1, x2, x3) = U46_gga(x1, x3) ackermanncC_out_gga(x1, x2, x3) = ackermanncC_out_gga(x1, x2, x3) U47_gga(x1, x2, x3, x4) = U47_gga(x1, x2, x4) qcG_in_ggaa(x1, x2, x3, x4) = qcG_in_ggaa(x1, x2) U48_ggaa(x1, x2, x3, x4, x5) = U48_ggaa(x1, x2, x5) U49_ggaa(x1, x2, x3, x4, x5) = U49_ggaa(x1, x2, x3, x5) ackermanncE_in_gga(x1, x2, x3) = ackermanncE_in_gga(x1, x2) ackermanncE_out_gga(x1, x2, x3) = ackermanncE_out_gga(x1, x2, x3) U50_gga(x1, x2, x3) = U50_gga(x1, x3) U51_gga(x1, x2, x3, x4) = U51_gga(x1, x2, x4) qcG_out_ggaa(x1, x2, x3, x4) = qcG_out_ggaa(x1, x2, x3, x4) ACKERMANNC_IN_GGA(x1, x2, x3) = ACKERMANNC_IN_GGA(x1, x2) PG_IN_GGAA(x1, x2, x3, x4) = PG_IN_GGAA(x1, x2) U12_GGAA(x1, x2, x3, x4, x5) = U12_GGAA(x1, x2, x5) ACKERMANNE_IN_GGA(x1, x2, x3) = ACKERMANNE_IN_GGA(x1, x2) We have to consider all (P,R,Pi)-chains ---------------------------------------- (133) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (134) Obligation: Q DP problem: The TRS P consists of the following rules: ACKERMANNC_IN_GGA(X1, s(X2)) -> PG_IN_GGAA(X1, X2) PG_IN_GGAA(X1, X2) -> ACKERMANNC_IN_GGA(X1, X2) PG_IN_GGAA(X1, X2) -> U12_GGAA(X1, X2, ackermanncC_in_gga(X1, X2)) U12_GGAA(X1, X2, ackermanncC_out_gga(X1, X2, X3)) -> ACKERMANNE_IN_GGA(X1, X3) ACKERMANNE_IN_GGA(s(X1), s(X2)) -> PG_IN_GGAA(X1, X2) The TRS R consists of the following rules: ackermanncC_in_gga(X1, 0) -> U46_gga(X1, ackermanncD_in_ga(X1)) ackermanncC_in_gga(X1, s(X2)) -> U47_gga(X1, X2, qcG_in_ggaa(X1, X2)) U46_gga(X1, ackermanncD_out_ga(X1, X2)) -> ackermanncC_out_gga(X1, 0, X2) U47_gga(X1, X2, qcG_out_ggaa(X1, X2, X4, X3)) -> ackermanncC_out_gga(X1, s(X2), X3) ackermanncD_in_ga(0) -> ackermanncD_out_ga(0, s(s(0))) ackermanncD_in_ga(s(X1)) -> U41_ga(X1, ackermanncB_in_ga(X1)) qcG_in_ggaa(X1, X2) -> U48_ggaa(X1, X2, ackermanncC_in_gga(X1, X2)) U41_ga(X1, ackermanncB_out_ga(X1, X3)) -> U42_ga(X1, ackermanncF_in_gga(X1, X3)) U48_ggaa(X1, X2, ackermanncC_out_gga(X1, X2, X3)) -> U49_ggaa(X1, X2, X3, ackermanncE_in_gga(X1, X3)) ackermanncB_in_ga(X1) -> U40_ga(X1, ackermanncD_in_ga(X1)) U42_ga(X1, ackermanncF_out_gga(X1, X3, X2)) -> ackermanncD_out_ga(s(X1), X2) U49_ggaa(X1, X2, X3, ackermanncE_out_gga(X1, X3, X4)) -> qcG_out_ggaa(X1, X2, X3, X4) U40_ga(X1, ackermanncD_out_ga(X1, X2)) -> ackermanncB_out_ga(X1, X2) ackermanncF_in_gga(0, X1) -> ackermanncF_out_gga(0, X1, s(X1)) ackermanncF_in_gga(s(X1), 0) -> U43_gga(X1, ackermanncD_in_ga(X1)) ackermanncF_in_gga(s(X1), s(X2)) -> U44_gga(X1, X2, ackermanncF_in_gga(s(X1), X2)) ackermanncE_in_gga(0, X1) -> ackermanncE_out_gga(0, X1, s(X1)) ackermanncE_in_gga(s(X1), 0) -> U50_gga(X1, ackermanncD_in_ga(X1)) ackermanncE_in_gga(s(X1), s(X2)) -> U51_gga(X1, X2, qcG_in_ggaa(X1, X2)) U43_gga(X1, ackermanncD_out_ga(X1, X2)) -> ackermanncF_out_gga(s(X1), 0, X2) U44_gga(X1, X2, ackermanncF_out_gga(s(X1), X2, X4)) -> U45_gga(X1, X2, ackermanncF_in_gga(X1, X4)) U50_gga(X1, ackermanncD_out_ga(X1, X2)) -> ackermanncE_out_gga(s(X1), 0, X2) U51_gga(X1, X2, qcG_out_ggaa(X1, X2, X4, X3)) -> ackermanncE_out_gga(s(X1), s(X2), X3) U45_gga(X1, X2, ackermanncF_out_gga(X1, X4, X3)) -> ackermanncF_out_gga(s(X1), s(X2), X3) The set Q consists of the following terms: ackermanncC_in_gga(x0, x1) U46_gga(x0, x1) U47_gga(x0, x1, x2) ackermanncD_in_ga(x0) qcG_in_ggaa(x0, x1) U41_ga(x0, x1) U48_ggaa(x0, x1, x2) ackermanncB_in_ga(x0) U42_ga(x0, x1) U49_ggaa(x0, x1, x2, x3) U40_ga(x0, x1) ackermanncF_in_gga(x0, x1) ackermanncE_in_gga(x0, x1) U43_gga(x0, x1) U44_gga(x0, x1, x2) U50_gga(x0, x1) U51_gga(x0, x1, x2) U45_gga(x0, x1, x2) We have to consider all (P,Q,R)-chains. ---------------------------------------- (135) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *PG_IN_GGAA(X1, X2) -> ACKERMANNC_IN_GGA(X1, X2) The graph contains the following edges 1 >= 1, 2 >= 2 *PG_IN_GGAA(X1, X2) -> U12_GGAA(X1, X2, ackermanncC_in_gga(X1, X2)) The graph contains the following edges 1 >= 1, 2 >= 2 *ACKERMANNC_IN_GGA(X1, s(X2)) -> PG_IN_GGAA(X1, X2) The graph contains the following edges 1 >= 1, 2 > 2 *ACKERMANNE_IN_GGA(s(X1), s(X2)) -> PG_IN_GGAA(X1, X2) The graph contains the following edges 1 > 1, 2 > 2 *U12_GGAA(X1, X2, ackermanncC_out_gga(X1, X2, X3)) -> ACKERMANNE_IN_GGA(X1, X3) The graph contains the following edges 1 >= 1, 3 > 1, 3 > 2 ---------------------------------------- (136) YES ---------------------------------------- (137) Obligation: Pi DP problem: The TRS P consists of the following rules: PG_IN_GAAA(X1, X2, X3, X4) -> ACKERMANNC_IN_GAA(X1, X2, X3) ACKERMANNC_IN_GAA(X1, s(X2), X3) -> PG_IN_GAAA(X1, X2, X4, X3) The TRS R consists of the following rules: ackermanncB_in_ga(X1, X2) -> U40_ga(X1, X2, ackermanncD_in_ga(X1, X2)) ackermanncD_in_ga(0, s(s(0))) -> ackermanncD_out_ga(0, s(s(0))) ackermanncD_in_ga(s(X1), X2) -> U41_ga(X1, X2, ackermanncB_in_ga(X1, X3)) U41_ga(X1, X2, ackermanncB_out_ga(X1, X3)) -> U42_ga(X1, X2, ackermanncF_in_gga(X1, X3, X2)) ackermanncF_in_gga(0, X1, s(X1)) -> ackermanncF_out_gga(0, X1, s(X1)) ackermanncF_in_gga(s(X1), 0, X2) -> U43_gga(X1, X2, ackermanncD_in_ga(X1, X2)) U43_gga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncF_out_gga(s(X1), 0, X2) ackermanncF_in_gga(s(X1), s(X2), X3) -> U44_gga(X1, X2, X3, ackermanncF_in_gga(s(X1), X2, X4)) U44_gga(X1, X2, X3, ackermanncF_out_gga(s(X1), X2, X4)) -> U45_gga(X1, X2, X3, ackermanncF_in_gga(X1, X4, X3)) U45_gga(X1, X2, X3, ackermanncF_out_gga(X1, X4, X3)) -> ackermanncF_out_gga(s(X1), s(X2), X3) U42_ga(X1, X2, ackermanncF_out_gga(X1, X3, X2)) -> ackermanncD_out_ga(s(X1), X2) U40_ga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncB_out_ga(X1, X2) ackermanncC_in_gga(X1, 0, X2) -> U46_gga(X1, X2, ackermanncD_in_ga(X1, X2)) U46_gga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncC_out_gga(X1, 0, X2) ackermanncC_in_gga(X1, s(X2), X3) -> U47_gga(X1, X2, X3, qcG_in_ggaa(X1, X2, X4, X3)) qcG_in_ggaa(X1, X2, X3, X4) -> U48_ggaa(X1, X2, X3, X4, ackermanncC_in_gga(X1, X2, X3)) U48_ggaa(X1, X2, X3, X4, ackermanncC_out_gga(X1, X2, X3)) -> U49_ggaa(X1, X2, X3, X4, ackermanncE_in_gga(X1, X3, X4)) ackermanncE_in_gga(0, X1, s(X1)) -> ackermanncE_out_gga(0, X1, s(X1)) ackermanncE_in_gga(s(X1), 0, X2) -> U50_gga(X1, X2, ackermanncD_in_ga(X1, X2)) U50_gga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncE_out_gga(s(X1), 0, X2) ackermanncE_in_gga(s(X1), s(X2), X3) -> U51_gga(X1, X2, X3, qcG_in_ggaa(X1, X2, X4, X3)) U51_gga(X1, X2, X3, qcG_out_ggaa(X1, X2, X4, X3)) -> ackermanncE_out_gga(s(X1), s(X2), X3) U49_ggaa(X1, X2, X3, X4, ackermanncE_out_gga(X1, X3, X4)) -> qcG_out_ggaa(X1, X2, X3, X4) U47_gga(X1, X2, X3, qcG_out_ggaa(X1, X2, X4, X3)) -> ackermanncC_out_gga(X1, s(X2), X3) ackermanncC_in_gaa(X1, 0, X2) -> U46_gaa(X1, X2, ackermanncD_in_ga(X1, X2)) U46_gaa(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncC_out_gaa(X1, 0, X2) ackermanncC_in_gaa(X1, s(X2), X3) -> U47_gaa(X1, X2, X3, qcG_in_gaaa(X1, X2, X4, X3)) qcG_in_gaaa(X1, X2, X3, X4) -> U48_gaaa(X1, X2, X3, X4, ackermanncC_in_gaa(X1, X2, X3)) U48_gaaa(X1, X2, X3, X4, ackermanncC_out_gaa(X1, X2, X3)) -> U49_gaaa(X1, X2, X3, X4, ackermanncE_in_gga(X1, X3, X4)) U49_gaaa(X1, X2, X3, X4, ackermanncE_out_gga(X1, X3, X4)) -> qcG_out_gaaa(X1, X2, X3, X4) U47_gaa(X1, X2, X3, qcG_out_gaaa(X1, X2, X4, X3)) -> ackermanncC_out_gaa(X1, s(X2), X3) The argument filtering Pi contains the following mapping: s(x1) = s(x1) ackermanncB_in_ga(x1, x2) = ackermanncB_in_ga(x1) U40_ga(x1, x2, x3) = U40_ga(x1, x3) ackermanncD_in_ga(x1, x2) = ackermanncD_in_ga(x1) 0 = 0 ackermanncD_out_ga(x1, x2) = ackermanncD_out_ga(x1, x2) U41_ga(x1, x2, x3) = U41_ga(x1, x3) ackermanncB_out_ga(x1, x2) = ackermanncB_out_ga(x1, x2) U42_ga(x1, x2, x3) = U42_ga(x1, x3) ackermanncF_in_gga(x1, x2, x3) = ackermanncF_in_gga(x1, x2) ackermanncF_out_gga(x1, x2, x3) = ackermanncF_out_gga(x1, x2, x3) U43_gga(x1, x2, x3) = U43_gga(x1, x3) U44_gga(x1, x2, x3, x4) = U44_gga(x1, x2, x4) U45_gga(x1, x2, x3, x4) = U45_gga(x1, x2, x4) ackermanncC_in_gga(x1, x2, x3) = ackermanncC_in_gga(x1, x2) U46_gga(x1, x2, x3) = U46_gga(x1, x3) ackermanncC_out_gga(x1, x2, x3) = ackermanncC_out_gga(x1, x2, x3) U47_gga(x1, x2, x3, x4) = U47_gga(x1, x2, x4) qcG_in_ggaa(x1, x2, x3, x4) = qcG_in_ggaa(x1, x2) U48_ggaa(x1, x2, x3, x4, x5) = U48_ggaa(x1, x2, x5) U49_ggaa(x1, x2, x3, x4, x5) = U49_ggaa(x1, x2, x3, x5) ackermanncE_in_gga(x1, x2, x3) = ackermanncE_in_gga(x1, x2) ackermanncE_out_gga(x1, x2, x3) = ackermanncE_out_gga(x1, x2, x3) U50_gga(x1, x2, x3) = U50_gga(x1, x3) U51_gga(x1, x2, x3, x4) = U51_gga(x1, x2, x4) qcG_out_ggaa(x1, x2, x3, x4) = qcG_out_ggaa(x1, x2, x3, x4) ackermanncC_in_gaa(x1, x2, x3) = ackermanncC_in_gaa(x1) U46_gaa(x1, x2, x3) = U46_gaa(x1, x3) ackermanncC_out_gaa(x1, x2, x3) = ackermanncC_out_gaa(x1, x2, x3) U47_gaa(x1, x2, x3, x4) = U47_gaa(x1, x4) qcG_in_gaaa(x1, x2, x3, x4) = qcG_in_gaaa(x1) U48_gaaa(x1, x2, x3, x4, x5) = U48_gaaa(x1, x5) U49_gaaa(x1, x2, x3, x4, x5) = U49_gaaa(x1, x2, x3, x5) qcG_out_gaaa(x1, x2, x3, x4) = qcG_out_gaaa(x1, x2, x3, x4) ACKERMANNC_IN_GAA(x1, x2, x3) = ACKERMANNC_IN_GAA(x1) PG_IN_GAAA(x1, x2, x3, x4) = PG_IN_GAAA(x1) We have to consider all (P,R,Pi)-chains ---------------------------------------- (138) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (139) Obligation: Pi DP problem: The TRS P consists of the following rules: PG_IN_GAAA(X1, X2, X3, X4) -> ACKERMANNC_IN_GAA(X1, X2, X3) ACKERMANNC_IN_GAA(X1, s(X2), X3) -> PG_IN_GAAA(X1, X2, X4, X3) R is empty. The argument filtering Pi contains the following mapping: s(x1) = s(x1) ACKERMANNC_IN_GAA(x1, x2, x3) = ACKERMANNC_IN_GAA(x1) PG_IN_GAAA(x1, x2, x3, x4) = PG_IN_GAAA(x1) We have to consider all (P,R,Pi)-chains ---------------------------------------- (140) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (141) Obligation: Q DP problem: The TRS P consists of the following rules: PG_IN_GAAA(X1) -> ACKERMANNC_IN_GAA(X1) ACKERMANNC_IN_GAA(X1) -> PG_IN_GAAA(X1) R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (142) NonTerminationLoopProof (COMPLETE) We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. Found a loop by narrowing to the left: s = ACKERMANNC_IN_GAA(X1') evaluates to t =ACKERMANNC_IN_GAA(X1') Thus s starts an infinite chain as s semiunifies with t with the following substitutions: * Matcher: [ ] * Semiunifier: [ ] -------------------------------------------------------------------------------- Rewriting sequence ACKERMANNC_IN_GAA(X1') -> PG_IN_GAAA(X1') with rule ACKERMANNC_IN_GAA(X1'') -> PG_IN_GAAA(X1'') at position [] and matcher [X1'' / X1'] PG_IN_GAAA(X1') -> ACKERMANNC_IN_GAA(X1') with rule PG_IN_GAAA(X1) -> ACKERMANNC_IN_GAA(X1) Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence All these steps are and every following step will be a correct step w.r.t to Q. ---------------------------------------- (143) NO ---------------------------------------- (144) Obligation: Pi DP problem: The TRS P consists of the following rules: ACKERMANNA_IN_GGG(s(s(X1)), 0, X2) -> U17_GGG(X1, X2, ackermanncB_in_ga(X1, X3)) U17_GGG(X1, X2, ackermanncB_out_ga(X1, X3)) -> ACKERMANNA_IN_GGG(X1, X3, X2) ACKERMANNA_IN_GGG(s(X1), s(X2), X3) -> U20_GGG(X1, X2, X3, ackermanncC_in_gga(X1, X2, X4)) U20_GGG(X1, X2, X3, ackermanncC_out_gga(X1, X2, X4)) -> ACKERMANNA_IN_GGG(X1, X4, X3) ACKERMANNA_IN_GGG(s(X1), s(0), X2) -> U23_GGG(X1, X2, ackermanncD_in_ga(X1, X3)) U23_GGG(X1, X2, ackermanncD_out_ga(X1, X3)) -> ACKERMANNA_IN_GGG(X1, X3, X2) ACKERMANNA_IN_GGG(s(X1), s(s(X2)), X3) -> U26_GGG(X1, X2, X3, ackermanncC_in_gga(X1, X2, X4)) U26_GGG(X1, X2, X3, ackermanncC_out_gga(X1, X2, X4)) -> U28_GGG(X1, X2, X3, ackermanncE_in_gga(X1, X4, X5)) U28_GGG(X1, X2, X3, ackermanncE_out_gga(X1, X4, X5)) -> ACKERMANNA_IN_GGG(X1, X5, X3) The TRS R consists of the following rules: ackermanncB_in_ga(X1, X2) -> U40_ga(X1, X2, ackermanncD_in_ga(X1, X2)) ackermanncD_in_ga(0, s(s(0))) -> ackermanncD_out_ga(0, s(s(0))) ackermanncD_in_ga(s(X1), X2) -> U41_ga(X1, X2, ackermanncB_in_ga(X1, X3)) U41_ga(X1, X2, ackermanncB_out_ga(X1, X3)) -> U42_ga(X1, X2, ackermanncF_in_gga(X1, X3, X2)) ackermanncF_in_gga(0, X1, s(X1)) -> ackermanncF_out_gga(0, X1, s(X1)) ackermanncF_in_gga(s(X1), 0, X2) -> U43_gga(X1, X2, ackermanncD_in_ga(X1, X2)) U43_gga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncF_out_gga(s(X1), 0, X2) ackermanncF_in_gga(s(X1), s(X2), X3) -> U44_gga(X1, X2, X3, ackermanncF_in_gga(s(X1), X2, X4)) U44_gga(X1, X2, X3, ackermanncF_out_gga(s(X1), X2, X4)) -> U45_gga(X1, X2, X3, ackermanncF_in_gga(X1, X4, X3)) U45_gga(X1, X2, X3, ackermanncF_out_gga(X1, X4, X3)) -> ackermanncF_out_gga(s(X1), s(X2), X3) U42_ga(X1, X2, ackermanncF_out_gga(X1, X3, X2)) -> ackermanncD_out_ga(s(X1), X2) U40_ga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncB_out_ga(X1, X2) ackermanncC_in_gga(X1, 0, X2) -> U46_gga(X1, X2, ackermanncD_in_ga(X1, X2)) U46_gga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncC_out_gga(X1, 0, X2) ackermanncC_in_gga(X1, s(X2), X3) -> U47_gga(X1, X2, X3, qcG_in_ggaa(X1, X2, X4, X3)) qcG_in_ggaa(X1, X2, X3, X4) -> U48_ggaa(X1, X2, X3, X4, ackermanncC_in_gga(X1, X2, X3)) U48_ggaa(X1, X2, X3, X4, ackermanncC_out_gga(X1, X2, X3)) -> U49_ggaa(X1, X2, X3, X4, ackermanncE_in_gga(X1, X3, X4)) ackermanncE_in_gga(0, X1, s(X1)) -> ackermanncE_out_gga(0, X1, s(X1)) ackermanncE_in_gga(s(X1), 0, X2) -> U50_gga(X1, X2, ackermanncD_in_ga(X1, X2)) U50_gga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncE_out_gga(s(X1), 0, X2) ackermanncE_in_gga(s(X1), s(X2), X3) -> U51_gga(X1, X2, X3, qcG_in_ggaa(X1, X2, X4, X3)) U51_gga(X1, X2, X3, qcG_out_ggaa(X1, X2, X4, X3)) -> ackermanncE_out_gga(s(X1), s(X2), X3) U49_ggaa(X1, X2, X3, X4, ackermanncE_out_gga(X1, X3, X4)) -> qcG_out_ggaa(X1, X2, X3, X4) U47_gga(X1, X2, X3, qcG_out_ggaa(X1, X2, X4, X3)) -> ackermanncC_out_gga(X1, s(X2), X3) ackermanncC_in_gaa(X1, 0, X2) -> U46_gaa(X1, X2, ackermanncD_in_ga(X1, X2)) U46_gaa(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncC_out_gaa(X1, 0, X2) ackermanncC_in_gaa(X1, s(X2), X3) -> U47_gaa(X1, X2, X3, qcG_in_gaaa(X1, X2, X4, X3)) qcG_in_gaaa(X1, X2, X3, X4) -> U48_gaaa(X1, X2, X3, X4, ackermanncC_in_gaa(X1, X2, X3)) U48_gaaa(X1, X2, X3, X4, ackermanncC_out_gaa(X1, X2, X3)) -> U49_gaaa(X1, X2, X3, X4, ackermanncE_in_gga(X1, X3, X4)) U49_gaaa(X1, X2, X3, X4, ackermanncE_out_gga(X1, X3, X4)) -> qcG_out_gaaa(X1, X2, X3, X4) U47_gaa(X1, X2, X3, qcG_out_gaaa(X1, X2, X4, X3)) -> ackermanncC_out_gaa(X1, s(X2), X3) The argument filtering Pi contains the following mapping: s(x1) = s(x1) ackermanncB_in_ga(x1, x2) = ackermanncB_in_ga(x1) U40_ga(x1, x2, x3) = U40_ga(x1, x3) ackermanncD_in_ga(x1, x2) = ackermanncD_in_ga(x1) 0 = 0 ackermanncD_out_ga(x1, x2) = ackermanncD_out_ga(x1, x2) U41_ga(x1, x2, x3) = U41_ga(x1, x3) ackermanncB_out_ga(x1, x2) = ackermanncB_out_ga(x1, x2) U42_ga(x1, x2, x3) = U42_ga(x1, x3) ackermanncF_in_gga(x1, x2, x3) = ackermanncF_in_gga(x1, x2) ackermanncF_out_gga(x1, x2, x3) = ackermanncF_out_gga(x1, x2, x3) U43_gga(x1, x2, x3) = U43_gga(x1, x3) U44_gga(x1, x2, x3, x4) = U44_gga(x1, x2, x4) U45_gga(x1, x2, x3, x4) = U45_gga(x1, x2, x4) ackermanncC_in_gga(x1, x2, x3) = ackermanncC_in_gga(x1, x2) U46_gga(x1, x2, x3) = U46_gga(x1, x3) ackermanncC_out_gga(x1, x2, x3) = ackermanncC_out_gga(x1, x2, x3) U47_gga(x1, x2, x3, x4) = U47_gga(x1, x2, x4) qcG_in_ggaa(x1, x2, x3, x4) = qcG_in_ggaa(x1, x2) U48_ggaa(x1, x2, x3, x4, x5) = U48_ggaa(x1, x2, x5) U49_ggaa(x1, x2, x3, x4, x5) = U49_ggaa(x1, x2, x3, x5) ackermanncE_in_gga(x1, x2, x3) = ackermanncE_in_gga(x1, x2) ackermanncE_out_gga(x1, x2, x3) = ackermanncE_out_gga(x1, x2, x3) U50_gga(x1, x2, x3) = U50_gga(x1, x3) U51_gga(x1, x2, x3, x4) = U51_gga(x1, x2, x4) qcG_out_ggaa(x1, x2, x3, x4) = qcG_out_ggaa(x1, x2, x3, x4) ackermanncC_in_gaa(x1, x2, x3) = ackermanncC_in_gaa(x1) U46_gaa(x1, x2, x3) = U46_gaa(x1, x3) ackermanncC_out_gaa(x1, x2, x3) = ackermanncC_out_gaa(x1, x2, x3) U47_gaa(x1, x2, x3, x4) = U47_gaa(x1, x4) qcG_in_gaaa(x1, x2, x3, x4) = qcG_in_gaaa(x1) U48_gaaa(x1, x2, x3, x4, x5) = U48_gaaa(x1, x5) U49_gaaa(x1, x2, x3, x4, x5) = U49_gaaa(x1, x2, x3, x5) qcG_out_gaaa(x1, x2, x3, x4) = qcG_out_gaaa(x1, x2, x3, x4) ACKERMANNA_IN_GGG(x1, x2, x3) = ACKERMANNA_IN_GGG(x1, x2, x3) U17_GGG(x1, x2, x3) = U17_GGG(x1, x2, x3) U20_GGG(x1, x2, x3, x4) = U20_GGG(x1, x2, x3, x4) U23_GGG(x1, x2, x3) = U23_GGG(x1, x2, x3) U26_GGG(x1, x2, x3, x4) = U26_GGG(x1, x2, x3, x4) U28_GGG(x1, x2, x3, x4) = U28_GGG(x1, x2, x3, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (145) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (146) Obligation: Pi DP problem: The TRS P consists of the following rules: ACKERMANNA_IN_GGG(s(s(X1)), 0, X2) -> U17_GGG(X1, X2, ackermanncB_in_ga(X1, X3)) U17_GGG(X1, X2, ackermanncB_out_ga(X1, X3)) -> ACKERMANNA_IN_GGG(X1, X3, X2) ACKERMANNA_IN_GGG(s(X1), s(X2), X3) -> U20_GGG(X1, X2, X3, ackermanncC_in_gga(X1, X2, X4)) U20_GGG(X1, X2, X3, ackermanncC_out_gga(X1, X2, X4)) -> ACKERMANNA_IN_GGG(X1, X4, X3) ACKERMANNA_IN_GGG(s(X1), s(0), X2) -> U23_GGG(X1, X2, ackermanncD_in_ga(X1, X3)) U23_GGG(X1, X2, ackermanncD_out_ga(X1, X3)) -> ACKERMANNA_IN_GGG(X1, X3, X2) ACKERMANNA_IN_GGG(s(X1), s(s(X2)), X3) -> U26_GGG(X1, X2, X3, ackermanncC_in_gga(X1, X2, X4)) U26_GGG(X1, X2, X3, ackermanncC_out_gga(X1, X2, X4)) -> U28_GGG(X1, X2, X3, ackermanncE_in_gga(X1, X4, X5)) U28_GGG(X1, X2, X3, ackermanncE_out_gga(X1, X4, X5)) -> ACKERMANNA_IN_GGG(X1, X5, X3) The TRS R consists of the following rules: ackermanncB_in_ga(X1, X2) -> U40_ga(X1, X2, ackermanncD_in_ga(X1, X2)) ackermanncC_in_gga(X1, 0, X2) -> U46_gga(X1, X2, ackermanncD_in_ga(X1, X2)) ackermanncC_in_gga(X1, s(X2), X3) -> U47_gga(X1, X2, X3, qcG_in_ggaa(X1, X2, X4, X3)) ackermanncD_in_ga(0, s(s(0))) -> ackermanncD_out_ga(0, s(s(0))) ackermanncD_in_ga(s(X1), X2) -> U41_ga(X1, X2, ackermanncB_in_ga(X1, X3)) ackermanncE_in_gga(0, X1, s(X1)) -> ackermanncE_out_gga(0, X1, s(X1)) ackermanncE_in_gga(s(X1), 0, X2) -> U50_gga(X1, X2, ackermanncD_in_ga(X1, X2)) ackermanncE_in_gga(s(X1), s(X2), X3) -> U51_gga(X1, X2, X3, qcG_in_ggaa(X1, X2, X4, X3)) U40_ga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncB_out_ga(X1, X2) U46_gga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncC_out_gga(X1, 0, X2) U47_gga(X1, X2, X3, qcG_out_ggaa(X1, X2, X4, X3)) -> ackermanncC_out_gga(X1, s(X2), X3) U41_ga(X1, X2, ackermanncB_out_ga(X1, X3)) -> U42_ga(X1, X2, ackermanncF_in_gga(X1, X3, X2)) U50_gga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncE_out_gga(s(X1), 0, X2) U51_gga(X1, X2, X3, qcG_out_ggaa(X1, X2, X4, X3)) -> ackermanncE_out_gga(s(X1), s(X2), X3) qcG_in_ggaa(X1, X2, X3, X4) -> U48_ggaa(X1, X2, X3, X4, ackermanncC_in_gga(X1, X2, X3)) U42_ga(X1, X2, ackermanncF_out_gga(X1, X3, X2)) -> ackermanncD_out_ga(s(X1), X2) U48_ggaa(X1, X2, X3, X4, ackermanncC_out_gga(X1, X2, X3)) -> U49_ggaa(X1, X2, X3, X4, ackermanncE_in_gga(X1, X3, X4)) ackermanncF_in_gga(0, X1, s(X1)) -> ackermanncF_out_gga(0, X1, s(X1)) ackermanncF_in_gga(s(X1), 0, X2) -> U43_gga(X1, X2, ackermanncD_in_ga(X1, X2)) ackermanncF_in_gga(s(X1), s(X2), X3) -> U44_gga(X1, X2, X3, ackermanncF_in_gga(s(X1), X2, X4)) U49_ggaa(X1, X2, X3, X4, ackermanncE_out_gga(X1, X3, X4)) -> qcG_out_ggaa(X1, X2, X3, X4) U43_gga(X1, X2, ackermanncD_out_ga(X1, X2)) -> ackermanncF_out_gga(s(X1), 0, X2) U44_gga(X1, X2, X3, ackermanncF_out_gga(s(X1), X2, X4)) -> U45_gga(X1, X2, X3, ackermanncF_in_gga(X1, X4, X3)) U45_gga(X1, X2, X3, ackermanncF_out_gga(X1, X4, X3)) -> ackermanncF_out_gga(s(X1), s(X2), X3) The argument filtering Pi contains the following mapping: s(x1) = s(x1) ackermanncB_in_ga(x1, x2) = ackermanncB_in_ga(x1) U40_ga(x1, x2, x3) = U40_ga(x1, x3) ackermanncD_in_ga(x1, x2) = ackermanncD_in_ga(x1) 0 = 0 ackermanncD_out_ga(x1, x2) = ackermanncD_out_ga(x1, x2) U41_ga(x1, x2, x3) = U41_ga(x1, x3) ackermanncB_out_ga(x1, x2) = ackermanncB_out_ga(x1, x2) U42_ga(x1, x2, x3) = U42_ga(x1, x3) ackermanncF_in_gga(x1, x2, x3) = ackermanncF_in_gga(x1, x2) ackermanncF_out_gga(x1, x2, x3) = ackermanncF_out_gga(x1, x2, x3) U43_gga(x1, x2, x3) = U43_gga(x1, x3) U44_gga(x1, x2, x3, x4) = U44_gga(x1, x2, x4) U45_gga(x1, x2, x3, x4) = U45_gga(x1, x2, x4) ackermanncC_in_gga(x1, x2, x3) = ackermanncC_in_gga(x1, x2) U46_gga(x1, x2, x3) = U46_gga(x1, x3) ackermanncC_out_gga(x1, x2, x3) = ackermanncC_out_gga(x1, x2, x3) U47_gga(x1, x2, x3, x4) = U47_gga(x1, x2, x4) qcG_in_ggaa(x1, x2, x3, x4) = qcG_in_ggaa(x1, x2) U48_ggaa(x1, x2, x3, x4, x5) = U48_ggaa(x1, x2, x5) U49_ggaa(x1, x2, x3, x4, x5) = U49_ggaa(x1, x2, x3, x5) ackermanncE_in_gga(x1, x2, x3) = ackermanncE_in_gga(x1, x2) ackermanncE_out_gga(x1, x2, x3) = ackermanncE_out_gga(x1, x2, x3) U50_gga(x1, x2, x3) = U50_gga(x1, x3) U51_gga(x1, x2, x3, x4) = U51_gga(x1, x2, x4) qcG_out_ggaa(x1, x2, x3, x4) = qcG_out_ggaa(x1, x2, x3, x4) ACKERMANNA_IN_GGG(x1, x2, x3) = ACKERMANNA_IN_GGG(x1, x2, x3) U17_GGG(x1, x2, x3) = U17_GGG(x1, x2, x3) U20_GGG(x1, x2, x3, x4) = U20_GGG(x1, x2, x3, x4) U23_GGG(x1, x2, x3) = U23_GGG(x1, x2, x3) U26_GGG(x1, x2, x3, x4) = U26_GGG(x1, x2, x3, x4) U28_GGG(x1, x2, x3, x4) = U28_GGG(x1, x2, x3, x4) We have to consider all (P,R,Pi)-chains ---------------------------------------- (147) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (148) Obligation: Q DP problem: The TRS P consists of the following rules: ACKERMANNA_IN_GGG(s(s(X1)), 0, X2) -> U17_GGG(X1, X2, ackermanncB_in_ga(X1)) U17_GGG(X1, X2, ackermanncB_out_ga(X1, X3)) -> ACKERMANNA_IN_GGG(X1, X3, X2) ACKERMANNA_IN_GGG(s(X1), s(X2), X3) -> U20_GGG(X1, X2, X3, ackermanncC_in_gga(X1, X2)) U20_GGG(X1, X2, X3, ackermanncC_out_gga(X1, X2, X4)) -> ACKERMANNA_IN_GGG(X1, X4, X3) ACKERMANNA_IN_GGG(s(X1), s(0), X2) -> U23_GGG(X1, X2, ackermanncD_in_ga(X1)) U23_GGG(X1, X2, ackermanncD_out_ga(X1, X3)) -> ACKERMANNA_IN_GGG(X1, X3, X2) ACKERMANNA_IN_GGG(s(X1), s(s(X2)), X3) -> U26_GGG(X1, X2, X3, ackermanncC_in_gga(X1, X2)) U26_GGG(X1, X2, X3, ackermanncC_out_gga(X1, X2, X4)) -> U28_GGG(X1, X2, X3, ackermanncE_in_gga(X1, X4)) U28_GGG(X1, X2, X3, ackermanncE_out_gga(X1, X4, X5)) -> ACKERMANNA_IN_GGG(X1, X5, X3) The TRS R consists of the following rules: ackermanncB_in_ga(X1) -> U40_ga(X1, ackermanncD_in_ga(X1)) ackermanncC_in_gga(X1, 0) -> U46_gga(X1, ackermanncD_in_ga(X1)) ackermanncC_in_gga(X1, s(X2)) -> U47_gga(X1, X2, qcG_in_ggaa(X1, X2)) ackermanncD_in_ga(0) -> ackermanncD_out_ga(0, s(s(0))) ackermanncD_in_ga(s(X1)) -> U41_ga(X1, ackermanncB_in_ga(X1)) ackermanncE_in_gga(0, X1) -> ackermanncE_out_gga(0, X1, s(X1)) ackermanncE_in_gga(s(X1), 0) -> U50_gga(X1, ackermanncD_in_ga(X1)) ackermanncE_in_gga(s(X1), s(X2)) -> U51_gga(X1, X2, qcG_in_ggaa(X1, X2)) U40_ga(X1, ackermanncD_out_ga(X1, X2)) -> ackermanncB_out_ga(X1, X2) U46_gga(X1, ackermanncD_out_ga(X1, X2)) -> ackermanncC_out_gga(X1, 0, X2) U47_gga(X1, X2, qcG_out_ggaa(X1, X2, X4, X3)) -> ackermanncC_out_gga(X1, s(X2), X3) U41_ga(X1, ackermanncB_out_ga(X1, X3)) -> U42_ga(X1, ackermanncF_in_gga(X1, X3)) U50_gga(X1, ackermanncD_out_ga(X1, X2)) -> ackermanncE_out_gga(s(X1), 0, X2) U51_gga(X1, X2, qcG_out_ggaa(X1, X2, X4, X3)) -> ackermanncE_out_gga(s(X1), s(X2), X3) qcG_in_ggaa(X1, X2) -> U48_ggaa(X1, X2, ackermanncC_in_gga(X1, X2)) U42_ga(X1, ackermanncF_out_gga(X1, X3, X2)) -> ackermanncD_out_ga(s(X1), X2) U48_ggaa(X1, X2, ackermanncC_out_gga(X1, X2, X3)) -> U49_ggaa(X1, X2, X3, ackermanncE_in_gga(X1, X3)) ackermanncF_in_gga(0, X1) -> ackermanncF_out_gga(0, X1, s(X1)) ackermanncF_in_gga(s(X1), 0) -> U43_gga(X1, ackermanncD_in_ga(X1)) ackermanncF_in_gga(s(X1), s(X2)) -> U44_gga(X1, X2, ackermanncF_in_gga(s(X1), X2)) U49_ggaa(X1, X2, X3, ackermanncE_out_gga(X1, X3, X4)) -> qcG_out_ggaa(X1, X2, X3, X4) U43_gga(X1, ackermanncD_out_ga(X1, X2)) -> ackermanncF_out_gga(s(X1), 0, X2) U44_gga(X1, X2, ackermanncF_out_gga(s(X1), X2, X4)) -> U45_gga(X1, X2, ackermanncF_in_gga(X1, X4)) U45_gga(X1, X2, ackermanncF_out_gga(X1, X4, X3)) -> ackermanncF_out_gga(s(X1), s(X2), X3) The set Q consists of the following terms: ackermanncB_in_ga(x0) ackermanncC_in_gga(x0, x1) ackermanncD_in_ga(x0) ackermanncE_in_gga(x0, x1) U40_ga(x0, x1) U46_gga(x0, x1) U47_gga(x0, x1, x2) U41_ga(x0, x1) U50_gga(x0, x1) U51_gga(x0, x1, x2) qcG_in_ggaa(x0, x1) U42_ga(x0, x1) U48_ggaa(x0, x1, x2) ackermanncF_in_gga(x0, x1) U49_ggaa(x0, x1, x2, x3) U43_gga(x0, x1) U44_gga(x0, x1, x2) U45_gga(x0, x1, x2) We have to consider all (P,Q,R)-chains. ---------------------------------------- (149) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U17_GGG(X1, X2, ackermanncB_out_ga(X1, X3)) -> ACKERMANNA_IN_GGG(X1, X3, X2) The graph contains the following edges 1 >= 1, 3 > 1, 3 > 2, 2 >= 3 *ACKERMANNA_IN_GGG(s(s(X1)), 0, X2) -> U17_GGG(X1, X2, ackermanncB_in_ga(X1)) The graph contains the following edges 1 > 1, 3 >= 2 *U26_GGG(X1, X2, X3, ackermanncC_out_gga(X1, X2, X4)) -> U28_GGG(X1, X2, X3, ackermanncE_in_gga(X1, X4)) The graph contains the following edges 1 >= 1, 4 > 1, 2 >= 2, 4 > 2, 3 >= 3 *U20_GGG(X1, X2, X3, ackermanncC_out_gga(X1, X2, X4)) -> ACKERMANNA_IN_GGG(X1, X4, X3) The graph contains the following edges 1 >= 1, 4 > 1, 4 > 2, 3 >= 3 *ACKERMANNA_IN_GGG(s(X1), s(X2), X3) -> U20_GGG(X1, X2, X3, ackermanncC_in_gga(X1, X2)) The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 *U23_GGG(X1, X2, ackermanncD_out_ga(X1, X3)) -> ACKERMANNA_IN_GGG(X1, X3, X2) The graph contains the following edges 1 >= 1, 3 > 1, 3 > 2, 2 >= 3 *U28_GGG(X1, X2, X3, ackermanncE_out_gga(X1, X4, X5)) -> ACKERMANNA_IN_GGG(X1, X5, X3) The graph contains the following edges 1 >= 1, 4 > 1, 4 > 2, 3 >= 3 *ACKERMANNA_IN_GGG(s(X1), s(0), X2) -> U23_GGG(X1, X2, ackermanncD_in_ga(X1)) The graph contains the following edges 1 > 1, 3 >= 2 *ACKERMANNA_IN_GGG(s(X1), s(s(X2)), X3) -> U26_GGG(X1, X2, X3, ackermanncC_in_gga(X1, X2)) The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 ---------------------------------------- (150) YES ---------------------------------------- (151) PrologToIRSwTTransformerProof (SOUND) Transformed Prolog program to IRSwT according to method in Master Thesis of A. Weinert { "root": 1, "program": { "directives": [], "clauses": [ [ "(ackermann (0) N (s N))", null ], [ "(ackermann (s M) (0) Val)", "(ackermann M (s (0)) Val)" ], [ "(ackermann (s M) (s N) Val)", "(',' (ackermann (s M) N Val1) (ackermann M Val1 Val))" ] ] }, "graph": { "nodes": { "391": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T82) T83 X163)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T82", "T83" ], "free": ["X163"], "exprvars": [] } }, "type": "Nodes", "392": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T82 T85 T84)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T82", "T84", "T85" ], "free": [], "exprvars": [] } }, "470": { "goal": [ { "clause": 1, "scope": 8, "term": "(ackermann T108 T111 X216)" }, { "clause": 2, "scope": 8, "term": "(ackermann T108 T111 X216)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T108"], "free": ["X216"], "exprvars": [] } }, "351": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (ackermann (s T53) T54 X123) (ackermann T53 X123 X124))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T53", "T54" ], "free": [ "X124", "X123" ], "exprvars": [] } }, "111": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T17 (s (0)) T18)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T17", "T18" ], "free": [], "exprvars": [] } }, "353": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "397": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (ackermann (s T94) T97 X180) (ackermann T94 X180 T96))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T94", "T96" ], "free": ["X180"], "exprvars": [] } }, "354": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T53) T54 X123)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T53", "T54" ], "free": ["X123"], "exprvars": [] } }, "398": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "431": { "goal": [{ "clause": 1, "scope": 7, "term": "(ackermann (s T94) T97 X180)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T94"], "free": ["X180"], "exprvars": [] } }, "113": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "432": { "goal": [{ "clause": 2, "scope": 7, "term": "(ackermann (s T94) T97 X180)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T94"], "free": ["X180"], "exprvars": [] } }, "235": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "356": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T53 T55 X124)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T53", "T55" ], "free": ["X124"], "exprvars": [] } }, "433": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T103 (s (0)) X200)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T103"], "free": ["X200"], "exprvars": [] } }, "434": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "478": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "237": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "479": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "238": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "316": { "goal": [ { "clause": 0, "scope": 4, "term": "(ackermann T31 (s (0)) X59)" }, { "clause": 1, "scope": 4, "term": "(ackermann T31 (s (0)) X59)" }, { "clause": 2, "scope": 4, "term": "(ackermann T31 (s (0)) X59)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T31"], "free": ["X59"], "exprvars": [] } }, "317": { "goal": [{ "clause": 0, "scope": 4, "term": "(ackermann T31 (s (0)) X59)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T31"], "free": ["X59"], "exprvars": [] } }, "318": { "goal": [ { "clause": 1, "scope": 4, "term": "(ackermann T31 (s (0)) X59)" }, { "clause": 2, "scope": 4, "term": "(ackermann T31 (s (0)) X59)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T31"], "free": ["X59"], "exprvars": [] } }, "52": { "goal": [{ "clause": 0, "scope": 1, "term": "(ackermann T1 T2 T3)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T3" ], "free": [], "exprvars": [] } }, "96": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "53": { "goal": [ { "clause": 1, "scope": 1, "term": "(ackermann T1 T2 T3)" }, { "clause": 2, "scope": 1, "term": "(ackermann T1 T2 T3)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T3" ], "free": [], "exprvars": [] } }, "97": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "99": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "480": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "241": { "goal": [{ "clause": 2, "scope": 2, "term": "(ackermann T17 (s (0)) T18)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T17", "T18" ], "free": [], "exprvars": [] } }, "483": { "goal": [{ "clause": 1, "scope": 8, "term": "(ackermann T108 T111 X216)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T108"], "free": ["X216"], "exprvars": [] } }, "484": { "goal": [{ "clause": 2, "scope": 8, "term": "(ackermann T108 T111 X216)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T108"], "free": ["X216"], "exprvars": [] } }, "1": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T1 T2 T3)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T3" ], "free": [], "exprvars": [] } }, "243": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (ackermann (s T24) (0) X35) (ackermann T24 X35 T25))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T24", "T25" ], "free": ["X35"], "exprvars": [] } }, "364": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "245": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "322": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "323": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "367": { "goal": [ { "clause": 0, "scope": 6, "term": "(ackermann T24 T26 T25)" }, { "clause": 1, "scope": 6, "term": "(ackermann T24 T26 T25)" }, { "clause": 2, "scope": 6, "term": "(ackermann T24 T26 T25)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T24", "T25", "T26" ], "free": [], "exprvars": [] } }, "247": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T24) (0) X35)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T24"], "free": ["X35"], "exprvars": [] } }, "324": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "368": { "goal": [{ "clause": 0, "scope": 6, "term": "(ackermann T24 T26 T25)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T24", "T25", "T26" ], "free": [], "exprvars": [] } }, "325": { "goal": [{ "clause": 2, "scope": 4, "term": "(ackermann T31 (s (0)) X59)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T31"], "free": ["X59"], "exprvars": [] } }, "369": { "goal": [ { "clause": 1, "scope": 6, "term": "(ackermann T24 T26 T25)" }, { "clause": 2, "scope": 6, "term": "(ackermann T24 T26 T25)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T24", "T25", "T26" ], "free": [], "exprvars": [] } }, "249": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T24 T26 T25)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T24", "T25", "T26" ], "free": [], "exprvars": [] } }, "8": { "goal": [ { "clause": 0, "scope": 1, "term": "(ackermann T1 T2 T3)" }, { "clause": 1, "scope": 1, "term": "(ackermann T1 T2 T3)" }, { "clause": 2, "scope": 1, "term": "(ackermann T1 T2 T3)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T3" ], "free": [], "exprvars": [] } }, "171": { "goal": [ { "clause": 0, "scope": 2, "term": "(ackermann T17 (s (0)) T18)" }, { "clause": 1, "scope": 2, "term": "(ackermann T17 (s (0)) T18)" }, { "clause": 2, "scope": 2, "term": "(ackermann T17 (s (0)) T18)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T17", "T18" ], "free": [], "exprvars": [] } }, "490": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T123 (s (0)) X242)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T123"], "free": ["X242"], "exprvars": [] } }, "172": { "goal": [{ "clause": 0, "scope": 2, "term": "(ackermann T17 (s (0)) T18)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T17", "T18" ], "free": [], "exprvars": [] } }, "370": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "491": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "173": { "goal": [ { "clause": 1, "scope": 2, "term": "(ackermann T17 (s (0)) T18)" }, { "clause": 2, "scope": 2, "term": "(ackermann T17 (s (0)) T18)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T17", "T18" ], "free": [], "exprvars": [] } }, "371": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "372": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "252": { "goal": [ { "clause": 0, "scope": 3, "term": "(ackermann (s T24) (0) X35)" }, { "clause": 1, "scope": 3, "term": "(ackermann (s T24) (0) X35)" }, { "clause": 2, "scope": 3, "term": "(ackermann (s T24) (0) X35)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T24"], "free": ["X35"], "exprvars": [] } }, "373": { "goal": [{ "clause": 1, "scope": 6, "term": "(ackermann T24 T26 T25)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T24", "T25", "T26" ], "free": [], "exprvars": [] } }, "374": { "goal": [{ "clause": 2, "scope": 6, "term": "(ackermann T24 T26 T25)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T24", "T25", "T26" ], "free": [], "exprvars": [] } }, "254": { "goal": [ { "clause": 1, "scope": 3, "term": "(ackermann (s T24) (0) X35)" }, { "clause": 2, "scope": 3, "term": "(ackermann (s T24) (0) X35)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T24"], "free": ["X35"], "exprvars": [] } }, "331": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (ackermann (s T35) (0) X81) (ackermann T35 X81 X82))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T35"], "free": [ "X82", "X81" ], "exprvars": [] } }, "255": { "goal": [{ "clause": 1, "scope": 3, "term": "(ackermann (s T24) (0) X35)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T24"], "free": ["X35"], "exprvars": [] } }, "332": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "377": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T74 (s (0)) T75)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T74", "T75" ], "free": [], "exprvars": [] } }, "498": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (ackermann (s T128) T130 X257) (ackermann T128 X257 X258))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T128"], "free": [ "X258", "X257" ], "exprvars": [] } }, "257": { "goal": [{ "clause": 2, "scope": 3, "term": "(ackermann (s T24) (0) X35)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T24"], "free": ["X35"], "exprvars": [] } }, "378": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "499": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "335": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T35) (0) X81)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T35"], "free": ["X81"], "exprvars": [] } }, "336": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T35 T36 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T35", "T36" ], "free": ["X82"], "exprvars": [] } }, "337": { "goal": [ { "clause": 0, "scope": 5, "term": "(ackermann T35 T36 X82)" }, { "clause": 1, "scope": 5, "term": "(ackermann T35 T36 X82)" }, { "clause": 2, "scope": 5, "term": "(ackermann T35 T36 X82)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T35", "T36" ], "free": ["X82"], "exprvars": [] } }, "338": { "goal": [{ "clause": 0, "scope": 5, "term": "(ackermann T35 T36 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T35", "T36" ], "free": ["X82"], "exprvars": [] } }, "339": { "goal": [ { "clause": 1, "scope": 5, "term": "(ackermann T35 T36 X82)" }, { "clause": 2, "scope": 5, "term": "(ackermann T35 T36 X82)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T35", "T36" ], "free": ["X82"], "exprvars": [] } }, "260": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T31 (s (0)) X59)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T31"], "free": ["X59"], "exprvars": [] } }, "340": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "384": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (ackermann (s T82) T83 X163) (ackermann T82 X163 T84))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T82", "T83", "T84" ], "free": ["X163"], "exprvars": [] } }, "341": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "385": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "342": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "343": { "goal": [{ "clause": 1, "scope": 5, "term": "(ackermann T35 T36 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T35", "T36" ], "free": ["X82"], "exprvars": [] } }, "464": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (ackermann (s T108) T110 X215) (ackermann T108 X215 X216))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T108"], "free": [ "X216", "X215" ], "exprvars": [] } }, "344": { "goal": [{ "clause": 2, "scope": 5, "term": "(ackermann T35 T36 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T35", "T36" ], "free": ["X82"], "exprvars": [] } }, "465": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "103": { "goal": [{ "clause": 1, "scope": 1, "term": "(ackermann T1 T2 T3)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T3" ], "free": [], "exprvars": [] } }, "466": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T108) T110 X215)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T108"], "free": ["X215"], "exprvars": [] } }, "104": { "goal": [{ "clause": 2, "scope": 1, "term": "(ackermann T1 T2 T3)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T3" ], "free": [], "exprvars": [] } }, "467": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T108 T111 X216)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T108"], "free": ["X216"], "exprvars": [] } }, "347": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T48 (s (0)) X108)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T48"], "free": ["X108"], "exprvars": [] } }, "468": { "goal": [ { "clause": 0, "scope": 8, "term": "(ackermann T108 T111 X216)" }, { "clause": 1, "scope": 8, "term": "(ackermann T108 T111 X216)" }, { "clause": 2, "scope": 8, "term": "(ackermann T108 T111 X216)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T108"], "free": ["X216"], "exprvars": [] } }, "348": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "425": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T94) T97 X180)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T94"], "free": ["X180"], "exprvars": [] } }, "469": { "goal": [{ "clause": 0, "scope": 8, "term": "(ackermann T108 T111 X216)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T108"], "free": ["X216"], "exprvars": [] } }, "426": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T94 T98 T96)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T94", "T96" ], "free": [], "exprvars": [] } }, "427": { "goal": [ { "clause": 0, "scope": 7, "term": "(ackermann (s T94) T97 X180)" }, { "clause": 1, "scope": 7, "term": "(ackermann (s T94) T97 X180)" }, { "clause": 2, "scope": 7, "term": "(ackermann (s T94) T97 X180)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T94"], "free": ["X180"], "exprvars": [] } }, "429": { "goal": [ { "clause": 1, "scope": 7, "term": "(ackermann (s T94) T97 X180)" }, { "clause": 2, "scope": 7, "term": "(ackermann (s T94) T97 X180)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T94"], "free": ["X180"], "exprvars": [] } } }, "edges": [ { "from": 1, "to": 8, "label": "CASE" }, { "from": 8, "to": 52, "label": "PARALLEL" }, { "from": 8, "to": 53, "label": "PARALLEL" }, { "from": 52, "to": 96, "label": "EVAL with clause\nackermann(0, X5, s(X5)).\nand substitutionT1 -> 0,\nT2 -> T8,\nX5 -> T8,\nT3 -> s(T8)" }, { "from": 52, "to": 97, "label": "EVAL-BACKTRACK" }, { "from": 53, "to": 103, "label": "PARALLEL" }, { "from": 53, "to": 104, "label": "PARALLEL" }, { "from": 96, "to": 99, "label": "SUCCESS" }, { "from": 103, "to": 111, "label": "EVAL with clause\nackermann(s(X14), 0, X15) :- ackermann(X14, s(0), X15).\nand substitutionX14 -> T17,\nT1 -> s(T17),\nT2 -> 0,\nT3 -> T18,\nX15 -> T18" }, { "from": 103, "to": 113, "label": "EVAL-BACKTRACK" }, { "from": 104, "to": 397, "label": "EVAL with clause\nackermann(s(X177), s(X178), X179) :- ','(ackermann(s(X177), X178, X180), ackermann(X177, X180, X179)).\nand substitutionX177 -> T94,\nT1 -> s(T94),\nX178 -> T97,\nT2 -> s(T97),\nT3 -> T96,\nX179 -> T96,\nT95 -> T97" }, { "from": 104, "to": 398, "label": "EVAL-BACKTRACK" }, { "from": 111, "to": 171, "label": "CASE" }, { "from": 171, "to": 172, "label": "PARALLEL" }, { "from": 171, "to": 173, "label": "PARALLEL" }, { "from": 172, "to": 235, "label": "EVAL with clause\nackermann(0, X22, s(X22)).\nand substitutionT17 -> 0,\nX22 -> s(0),\nT18 -> s(s(0))" }, { "from": 172, "to": 237, "label": "EVAL-BACKTRACK" }, { "from": 173, "to": 241, "label": "BACKTRACK\nfor clause: ackermann(s(M), 0, Val) :- ackermann(M, s(0), Val)because of non-unification" }, { "from": 235, "to": 238, "label": "SUCCESS" }, { "from": 241, "to": 243, "label": "EVAL with clause\nackermann(s(X32), s(X33), X34) :- ','(ackermann(s(X32), X33, X35), ackermann(X32, X35, X34)).\nand substitutionX32 -> T24,\nT17 -> s(T24),\nX33 -> 0,\nT18 -> T25,\nX34 -> T25" }, { "from": 241, "to": 245, "label": "EVAL-BACKTRACK" }, { "from": 243, "to": 247, "label": "SPLIT 1" }, { "from": 243, "to": 249, "label": "SPLIT 2\nnew knowledge:\nT24 is ground\nT26 is ground\nreplacements:X35 -> T26" }, { "from": 247, "to": 252, "label": "CASE" }, { "from": 249, "to": 367, "label": "CASE" }, { "from": 252, "to": 254, "label": "BACKTRACK\nfor clause: ackermann(0, N, s(N))because of non-unification" }, { "from": 254, "to": 255, "label": "PARALLEL" }, { "from": 254, "to": 257, "label": "PARALLEL" }, { "from": 255, "to": 260, "label": "ONLY EVAL with clause\nackermann(s(X57), 0, X58) :- ackermann(X57, s(0), X58).\nand substitutionT24 -> T31,\nX57 -> T31,\nX35 -> X59,\nX58 -> X59" }, { "from": 257, "to": 364, "label": "BACKTRACK\nfor clause: ackermann(s(M), s(N), Val) :- ','(ackermann(s(M), N, Val1), ackermann(M, Val1, Val))because of non-unification" }, { "from": 260, "to": 316, "label": "CASE" }, { "from": 316, "to": 317, "label": "PARALLEL" }, { "from": 316, "to": 318, "label": "PARALLEL" }, { "from": 317, "to": 322, "label": "EVAL with clause\nackermann(0, X66, s(X66)).\nand substitutionT31 -> 0,\nX66 -> s(0),\nX59 -> s(s(0))" }, { "from": 317, "to": 323, "label": "EVAL-BACKTRACK" }, { "from": 318, "to": 325, "label": "BACKTRACK\nfor clause: ackermann(s(M), 0, Val) :- ackermann(M, s(0), Val)because of non-unification" }, { "from": 322, "to": 324, "label": "SUCCESS" }, { "from": 325, "to": 331, "label": "EVAL with clause\nackermann(s(X78), s(X79), X80) :- ','(ackermann(s(X78), X79, X81), ackermann(X78, X81, X80)).\nand substitutionX78 -> T35,\nT31 -> s(T35),\nX79 -> 0,\nX59 -> X82,\nX80 -> X82" }, { "from": 325, "to": 332, "label": "EVAL-BACKTRACK" }, { "from": 331, "to": 335, "label": "SPLIT 1" }, { "from": 331, "to": 336, "label": "SPLIT 2\nnew knowledge:\nT35 is ground\nT36 is ground\nreplacements:X81 -> T36" }, { "from": 335, "to": 247, "label": "INSTANCE with matching:\nT24 -> T35\nX35 -> X81" }, { "from": 336, "to": 337, "label": "CASE" }, { "from": 337, "to": 338, "label": "PARALLEL" }, { "from": 337, "to": 339, "label": "PARALLEL" }, { "from": 338, "to": 340, "label": "EVAL with clause\nackermann(0, X93, s(X93)).\nand substitutionT35 -> 0,\nT36 -> T43,\nX93 -> T43,\nX82 -> s(T43)" }, { "from": 338, "to": 341, "label": "EVAL-BACKTRACK" }, { "from": 339, "to": 343, "label": "PARALLEL" }, { "from": 339, "to": 344, "label": "PARALLEL" }, { "from": 340, "to": 342, "label": "SUCCESS" }, { "from": 343, "to": 347, "label": "EVAL with clause\nackermann(s(X106), 0, X107) :- ackermann(X106, s(0), X107).\nand substitutionX106 -> T48,\nT35 -> s(T48),\nT36 -> 0,\nX82 -> X108,\nX107 -> X108" }, { "from": 343, "to": 348, "label": "EVAL-BACKTRACK" }, { "from": 344, "to": 351, "label": "EVAL with clause\nackermann(s(X120), s(X121), X122) :- ','(ackermann(s(X120), X121, X123), ackermann(X120, X123, X122)).\nand substitutionX120 -> T53,\nT35 -> s(T53),\nX121 -> T54,\nT36 -> s(T54),\nX82 -> X124,\nX122 -> X124" }, { "from": 344, "to": 353, "label": "EVAL-BACKTRACK" }, { "from": 347, "to": 260, "label": "INSTANCE with matching:\nT31 -> T48\nX59 -> X108" }, { "from": 351, "to": 354, "label": "SPLIT 1" }, { "from": 351, "to": 356, "label": "SPLIT 2\nnew knowledge:\nT53 is ground\nT54 is ground\nT55 is ground\nreplacements:X123 -> T55" }, { "from": 354, "to": 336, "label": "INSTANCE with matching:\nT35 -> s(T53)\nT36 -> T54\nX82 -> X123" }, { "from": 356, "to": 336, "label": "INSTANCE with matching:\nT35 -> T53\nT36 -> T55\nX82 -> X124" }, { "from": 367, "to": 368, "label": "PARALLEL" }, { "from": 367, "to": 369, "label": "PARALLEL" }, { "from": 368, "to": 370, "label": "EVAL with clause\nackermann(0, X140, s(X140)).\nand substitutionT24 -> 0,\nT26 -> T65,\nX140 -> T65,\nT25 -> s(T65)" }, { "from": 368, "to": 371, "label": "EVAL-BACKTRACK" }, { "from": 369, "to": 373, "label": "PARALLEL" }, { "from": 369, "to": 374, "label": "PARALLEL" }, { "from": 370, "to": 372, "label": "SUCCESS" }, { "from": 373, "to": 377, "label": "EVAL with clause\nackermann(s(X149), 0, X150) :- ackermann(X149, s(0), X150).\nand substitutionX149 -> T74,\nT24 -> s(T74),\nT26 -> 0,\nT25 -> T75,\nX150 -> T75" }, { "from": 373, "to": 378, "label": "EVAL-BACKTRACK" }, { "from": 374, "to": 384, "label": "EVAL with clause\nackermann(s(X160), s(X161), X162) :- ','(ackermann(s(X160), X161, X163), ackermann(X160, X163, X162)).\nand substitutionX160 -> T82,\nT24 -> s(T82),\nX161 -> T83,\nT26 -> s(T83),\nT25 -> T84,\nX162 -> T84" }, { "from": 374, "to": 385, "label": "EVAL-BACKTRACK" }, { "from": 377, "to": 111, "label": "INSTANCE with matching:\nT17 -> T74\nT18 -> T75" }, { "from": 384, "to": 391, "label": "SPLIT 1" }, { "from": 384, "to": 392, "label": "SPLIT 2\nnew knowledge:\nT82 is ground\nT83 is ground\nT85 is ground\nreplacements:X163 -> T85" }, { "from": 391, "to": 336, "label": "INSTANCE with matching:\nT35 -> s(T82)\nT36 -> T83\nX82 -> X163" }, { "from": 392, "to": 249, "label": "INSTANCE with matching:\nT24 -> T82\nT26 -> T85\nT25 -> T84" }, { "from": 397, "to": 425, "label": "SPLIT 1" }, { "from": 397, "to": 426, "label": "SPLIT 2\nnew knowledge:\nT94 is ground\nreplacements:X180 -> T98" }, { "from": 425, "to": 427, "label": "CASE" }, { "from": 426, "to": 1, "label": "INSTANCE with matching:\nT1 -> T94\nT2 -> T98\nT3 -> T96" }, { "from": 427, "to": 429, "label": "BACKTRACK\nfor clause: ackermann(0, N, s(N))because of non-unification" }, { "from": 429, "to": 431, "label": "PARALLEL" }, { "from": 429, "to": 432, "label": "PARALLEL" }, { "from": 431, "to": 433, "label": "EVAL with clause\nackermann(s(X198), 0, X199) :- ackermann(X198, s(0), X199).\nand substitutionT94 -> T103,\nX198 -> T103,\nT97 -> 0,\nX180 -> X200,\nX199 -> X200" }, { "from": 431, "to": 434, "label": "EVAL-BACKTRACK" }, { "from": 432, "to": 464, "label": "EVAL with clause\nackermann(s(X212), s(X213), X214) :- ','(ackermann(s(X212), X213, X215), ackermann(X212, X215, X214)).\nand substitutionT94 -> T108,\nX212 -> T108,\nX213 -> T110,\nT97 -> s(T110),\nX180 -> X216,\nX214 -> X216,\nT109 -> T110" }, { "from": 432, "to": 465, "label": "EVAL-BACKTRACK" }, { "from": 433, "to": 260, "label": "INSTANCE with matching:\nT31 -> T103\nX59 -> X200" }, { "from": 464, "to": 466, "label": "SPLIT 1" }, { "from": 464, "to": 467, "label": "SPLIT 2\nnew knowledge:\nT108 is ground\nreplacements:X215 -> T111" }, { "from": 466, "to": 425, "label": "INSTANCE with matching:\nT94 -> T108\nT97 -> T110\nX180 -> X215" }, { "from": 467, "to": 468, "label": "CASE" }, { "from": 468, "to": 469, "label": "PARALLEL" }, { "from": 468, "to": 470, "label": "PARALLEL" }, { "from": 469, "to": 478, "label": "EVAL with clause\nackermann(0, X227, s(X227)).\nand substitutionT108 -> 0,\nT111 -> T118,\nX227 -> T118,\nX216 -> s(T118)" }, { "from": 469, "to": 479, "label": "EVAL-BACKTRACK" }, { "from": 470, "to": 483, "label": "PARALLEL" }, { "from": 470, "to": 484, "label": "PARALLEL" }, { "from": 478, "to": 480, "label": "SUCCESS" }, { "from": 483, "to": 490, "label": "EVAL with clause\nackermann(s(X240), 0, X241) :- ackermann(X240, s(0), X241).\nand substitutionX240 -> T123,\nT108 -> s(T123),\nT111 -> 0,\nX216 -> X242,\nX241 -> X242" }, { "from": 483, "to": 491, "label": "EVAL-BACKTRACK" }, { "from": 484, "to": 498, "label": "EVAL with clause\nackermann(s(X254), s(X255), X256) :- ','(ackermann(s(X254), X255, X257), ackermann(X254, X257, X256)).\nand substitutionX254 -> T128,\nT108 -> s(T128),\nX255 -> T130,\nT111 -> s(T130),\nX216 -> X258,\nX256 -> X258,\nT129 -> T130" }, { "from": 484, "to": 499, "label": "EVAL-BACKTRACK" }, { "from": 490, "to": 260, "label": "INSTANCE with matching:\nT31 -> T123\nX59 -> X242" }, { "from": 498, "to": 464, "label": "INSTANCE with matching:\nT108 -> T128\nT110 -> T130\nX215 -> X257\nX216 -> X258" } ], "type": "Graph" } } ---------------------------------------- (152) Complex Obligation (AND) ---------------------------------------- (153) Obligation: Rules: f260_in(T31) -> f316_in(T31) :|: TRUE f316_out(x) -> f260_out(x) :|: TRUE f339_in(T35, T36) -> f343_in(T35, T36) :|: TRUE f343_out(x1, x2) -> f339_out(x1, x2) :|: TRUE f339_in(x3, x4) -> f344_in(x3, x4) :|: TRUE f344_out(x5, x6) -> f339_out(x5, x6) :|: TRUE f255_in(x7) -> f260_in(x7) :|: TRUE f260_out(x8) -> f255_out(x8) :|: TRUE f336_out(s(T53), T54) -> f354_out(T53, T54) :|: TRUE f354_in(x9, x10) -> f336_in(s(x9), x10) :|: TRUE f254_out(T24) -> f252_out(T24) :|: TRUE f252_in(x11) -> f254_in(x11) :|: TRUE f353_out -> f344_out(x12, x13) :|: TRUE f344_in(x14, x15) -> f353_in :|: TRUE f344_in(s(x16), s(x17)) -> f351_in(x16, x17) :|: TRUE f351_out(x18, x19) -> f344_out(s(x18), s(x19)) :|: TRUE f254_in(x20) -> f255_in(x20) :|: TRUE f255_out(x21) -> f254_out(x21) :|: TRUE f257_out(x22) -> f254_out(x22) :|: TRUE f254_in(x23) -> f257_in(x23) :|: TRUE f252_out(x24) -> f247_out(x24) :|: TRUE f247_in(x25) -> f252_in(x25) :|: TRUE f325_out(x26) -> f318_out(x26) :|: TRUE f318_in(x27) -> f325_in(x27) :|: TRUE f336_in(x28, x29) -> f337_in(x28, x29) :|: TRUE f337_out(x30, x31) -> f336_out(x30, x31) :|: TRUE f351_in(x32, x33) -> f354_in(x32, x33) :|: TRUE f356_out(x34, x35) -> f351_out(x34, x36) :|: TRUE f354_out(x37, x38) -> f356_in(x37, x39) :|: TRUE f331_in(x40) -> f335_in(x40) :|: TRUE f335_out(x41) -> f336_in(x41, x42) :|: TRUE f336_out(x43, x44) -> f331_out(x43) :|: TRUE f337_in(x45, x46) -> f339_in(x45, x46) :|: TRUE f338_out(x47, x48) -> f337_out(x47, x48) :|: TRUE f339_out(x49, x50) -> f337_out(x49, x50) :|: TRUE f337_in(x51, x52) -> f338_in(x51, x52) :|: TRUE f356_in(x53, x54) -> f336_in(x53, x54) :|: TRUE f336_out(x55, x56) -> f356_out(x55, x56) :|: TRUE f260_out(T48) -> f347_out(T48) :|: TRUE f347_in(x57) -> f260_in(x57) :|: TRUE f335_in(x58) -> f247_in(x58) :|: TRUE f247_out(x59) -> f335_out(x59) :|: TRUE f317_out(x60) -> f316_out(x60) :|: TRUE f318_out(x61) -> f316_out(x61) :|: TRUE f316_in(x62) -> f318_in(x62) :|: TRUE f316_in(x63) -> f317_in(x63) :|: TRUE f325_in(s(x64)) -> f331_in(x64) :|: TRUE f325_in(x65) -> f332_in :|: TRUE f331_out(x66) -> f325_out(s(x66)) :|: TRUE f332_out -> f325_out(x67) :|: TRUE f343_in(s(x68), 0) -> f347_in(x68) :|: TRUE f343_in(x69, x70) -> f348_in :|: TRUE f347_out(x71) -> f343_out(s(x71), 0) :|: TRUE f348_out -> f343_out(x72, x73) :|: TRUE f1_in(T1, T3) -> f8_in(T1, T3) :|: TRUE f8_out(x74, x75) -> f1_out(x74, x75) :|: TRUE f8_in(x76, x77) -> f52_in(x76, x77) :|: TRUE f8_in(x78, x79) -> f53_in(x78, x79) :|: TRUE f53_out(x80, x81) -> f8_out(x80, x81) :|: TRUE f52_out(x82, x83) -> f8_out(x82, x83) :|: TRUE f103_out(x84, x85) -> f53_out(x84, x85) :|: TRUE f53_in(x86, x87) -> f103_in(x86, x87) :|: TRUE f104_out(x88, x89) -> f53_out(x88, x89) :|: TRUE f53_in(x90, x91) -> f104_in(x90, x91) :|: TRUE f111_out(T17, T18) -> f103_out(s(T17), T18) :|: TRUE f103_in(x92, x93) -> f113_in :|: TRUE f103_in(s(x94), x95) -> f111_in(x94, x95) :|: TRUE f113_out -> f103_out(x96, x97) :|: TRUE f111_in(x98, x99) -> f171_in(x98, x99) :|: TRUE f171_out(x100, x101) -> f111_out(x100, x101) :|: TRUE f171_in(x102, x103) -> f173_in(x102, x103) :|: TRUE f173_out(x104, x105) -> f171_out(x104, x105) :|: TRUE f171_in(x106, x107) -> f172_in(x106, x107) :|: TRUE f172_out(x108, x109) -> f171_out(x108, x109) :|: TRUE f241_out(x110, x111) -> f173_out(x110, x111) :|: TRUE f173_in(x112, x113) -> f241_in(x112, x113) :|: TRUE f245_out -> f241_out(x114, x115) :|: TRUE f241_in(s(x116), x117) -> f243_in(x116, x117) :|: TRUE f241_in(x118, x119) -> f245_in :|: TRUE f243_out(x120, x121) -> f241_out(s(x120), x121) :|: TRUE f243_in(x122, x123) -> f247_in(x122) :|: TRUE f247_out(x124) -> f249_in(x124, x125, x126) :|: TRUE f249_out(x127, x128, x129) -> f243_out(x127, x129) :|: TRUE f398_out -> f104_out(x130, x131) :|: TRUE f397_out(T94, T96) -> f104_out(s(T94), T96) :|: TRUE f104_in(x132, x133) -> f398_in :|: TRUE f104_in(s(x134), x135) -> f397_in(x134, x135) :|: TRUE f397_in(x136, x137) -> f425_in(x136) :|: TRUE f426_out(x138, x139) -> f397_out(x138, x139) :|: TRUE f425_out(x140) -> f426_in(x140, x141) :|: TRUE f425_in(x142) -> f427_in(x142) :|: TRUE f427_out(x143) -> f425_out(x143) :|: TRUE f429_out(x144) -> f427_out(x144) :|: TRUE f427_in(x145) -> f429_in(x145) :|: TRUE f431_out(x146) -> f429_out(x146) :|: TRUE f429_in(x147) -> f432_in(x147) :|: TRUE f432_out(x148) -> f429_out(x148) :|: TRUE f429_in(x149) -> f431_in(x149) :|: TRUE f465_out -> f432_out(x150) :|: TRUE f432_in(x151) -> f465_in :|: TRUE f464_out(T108) -> f432_out(T108) :|: TRUE f432_in(x152) -> f464_in(x152) :|: TRUE f466_out(x153) -> f467_in(x153) :|: TRUE f464_in(x154) -> f466_in(x154) :|: TRUE f467_out(x155) -> f464_out(x155) :|: TRUE f468_out(x156) -> f467_out(x156) :|: TRUE f467_in(x157) -> f468_in(x157) :|: TRUE f468_in(x158) -> f470_in(x158) :|: TRUE f469_out(x159) -> f468_out(x159) :|: TRUE f470_out(x160) -> f468_out(x160) :|: TRUE f468_in(x161) -> f469_in(x161) :|: TRUE f470_in(x162) -> f484_in(x162) :|: TRUE f483_out(x163) -> f470_out(x163) :|: TRUE f484_out(x164) -> f470_out(x164) :|: TRUE f470_in(x165) -> f483_in(x165) :|: TRUE f483_in(x166) -> f491_in :|: TRUE f483_in(s(T123)) -> f490_in(T123) :|: TRUE f491_out -> f483_out(x167) :|: TRUE f490_out(x168) -> f483_out(s(x168)) :|: TRUE f490_in(x169) -> f260_in(x169) :|: TRUE f260_out(x170) -> f490_out(x170) :|: TRUE f249_in(x171, x172, x173) -> f367_in(x171, x172, x173) :|: TRUE f367_out(x174, x175, x176) -> f249_out(x174, x175, x176) :|: TRUE f368_out(x177, x178, x179) -> f367_out(x177, x178, x179) :|: TRUE f367_in(x180, x181, x182) -> f369_in(x180, x181, x182) :|: TRUE f369_out(x183, x184, x185) -> f367_out(x183, x184, x185) :|: TRUE f367_in(x186, x187, x188) -> f368_in(x186, x187, x188) :|: TRUE f373_out(x189, x190, x191) -> f369_out(x189, x190, x191) :|: TRUE f369_in(x192, x193, x194) -> f374_in(x192, x193, x194) :|: TRUE f374_out(x195, x196, x197) -> f369_out(x195, x196, x197) :|: TRUE f369_in(x198, x199, x200) -> f373_in(x198, x199, x200) :|: TRUE f374_in(s(T82), s(T83), T84) -> f384_in(T82, T83, T84) :|: TRUE f374_in(x201, x202, x203) -> f385_in :|: TRUE f385_out -> f374_out(x204, x205, x206) :|: TRUE f384_out(x207, x208, x209) -> f374_out(s(x207), s(x208), x209) :|: TRUE f392_out(x210, x211, x212) -> f384_out(x210, x213, x212) :|: TRUE f384_in(x214, x215, x216) -> f391_in(x214, x215) :|: TRUE f391_out(x217, x218) -> f392_in(x217, x219, x220) :|: TRUE f391_in(x221, x222) -> f336_in(s(x221), x222) :|: TRUE f336_out(s(x223), x224) -> f391_out(x223, x224) :|: TRUE f431_in(T103) -> f433_in(T103) :|: TRUE f433_out(x225) -> f431_out(x225) :|: TRUE f434_out -> f431_out(x226) :|: TRUE f431_in(x227) -> f434_in :|: TRUE f433_in(x228) -> f260_in(x228) :|: TRUE f260_out(x229) -> f433_out(x229) :|: TRUE Start term: f1_in(T1, T3) ---------------------------------------- (154) IRSwTSimpleDependencyGraphProof (EQUIVALENT) Constructed simple dependency graph. Simplified to the following IRSwTs: intTRSProblem: f260_in(T31) -> f316_in(T31) :|: TRUE f255_in(x7) -> f260_in(x7) :|: TRUE f252_in(x11) -> f254_in(x11) :|: TRUE f254_in(x20) -> f255_in(x20) :|: TRUE f247_in(x25) -> f252_in(x25) :|: TRUE f318_in(x27) -> f325_in(x27) :|: TRUE f331_in(x40) -> f335_in(x40) :|: TRUE f335_in(x58) -> f247_in(x58) :|: TRUE f316_in(x62) -> f318_in(x62) :|: TRUE f325_in(s(x64)) -> f331_in(x64) :|: TRUE ---------------------------------------- (155) Obligation: Rules: f260_in(T31) -> f316_in(T31) :|: TRUE f255_in(x7) -> f260_in(x7) :|: TRUE f252_in(x11) -> f254_in(x11) :|: TRUE f254_in(x20) -> f255_in(x20) :|: TRUE f247_in(x25) -> f252_in(x25) :|: TRUE f318_in(x27) -> f325_in(x27) :|: TRUE f331_in(x40) -> f335_in(x40) :|: TRUE f335_in(x58) -> f247_in(x58) :|: TRUE f316_in(x62) -> f318_in(x62) :|: TRUE f325_in(s(x64)) -> f331_in(x64) :|: TRUE ---------------------------------------- (156) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (157) Obligation: Rules: f331_in(s(x64:0)) -> f331_in(x64:0) :|: TRUE ---------------------------------------- (158) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (159) Obligation: Rules: f331_in(s(x64:0)) -> f331_in(x64:0) :|: TRUE ---------------------------------------- (160) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f331_in(s(x64:0)) -> f331_in(x64:0) :|: TRUE Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (161) Obligation: Termination digraph: Nodes: (1) f331_in(s(x64:0)) -> f331_in(x64:0) :|: TRUE Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (162) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f331_in(VARIABLE) s(VARIABLE) Removed predefined arithmetic. ---------------------------------------- (163) Obligation: Rules: f331_in(s(x64:0)) -> f331_in(x64:0) ---------------------------------------- (164) IRSwTToQDPProof (SOUND) Removed the integers and created a QDP-Problem. ---------------------------------------- (165) Obligation: Q DP problem: The TRS P consists of the following rules: f331_in(s(x64:0)) -> f331_in(x64:0) R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (166) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *f331_in(s(x64:0)) -> f331_in(x64:0) The graph contains the following edges 1 > 1 ---------------------------------------- (167) YES ---------------------------------------- (168) Obligation: Rules: f465_out -> f432_out(T94) :|: TRUE f432_in(x) -> f465_in :|: TRUE f464_out(T108) -> f432_out(T108) :|: TRUE f432_in(x1) -> f464_in(x1) :|: TRUE f425_in(x2) -> f427_in(x2) :|: TRUE f427_out(x3) -> f425_out(x3) :|: TRUE f431_out(x4) -> f429_out(x4) :|: TRUE f429_in(x5) -> f432_in(x5) :|: TRUE f432_out(x6) -> f429_out(x6) :|: TRUE f429_in(x7) -> f431_in(x7) :|: TRUE f466_out(x8) -> f467_in(x8) :|: TRUE f464_in(x9) -> f466_in(x9) :|: TRUE f467_out(x10) -> f464_out(x10) :|: TRUE f484_in(s(T128)) -> f498_in(T128) :|: TRUE f498_out(x11) -> f484_out(s(x11)) :|: TRUE f499_out -> f484_out(x12) :|: TRUE f484_in(x13) -> f499_in :|: TRUE f468_out(x14) -> f467_out(x14) :|: TRUE f467_in(x15) -> f468_in(x15) :|: TRUE f429_out(x16) -> f427_out(x16) :|: TRUE f427_in(x17) -> f429_in(x17) :|: TRUE f468_in(x18) -> f470_in(x18) :|: TRUE f469_out(x19) -> f468_out(x19) :|: TRUE f470_out(x20) -> f468_out(x20) :|: TRUE f468_in(x21) -> f469_in(x21) :|: TRUE f470_in(x22) -> f484_in(x22) :|: TRUE f483_out(x23) -> f470_out(x23) :|: TRUE f484_out(x24) -> f470_out(x24) :|: TRUE f470_in(x25) -> f483_in(x25) :|: TRUE f464_out(x26) -> f498_out(x26) :|: TRUE f498_in(x27) -> f464_in(x27) :|: TRUE f466_in(x28) -> f425_in(x28) :|: TRUE f425_out(x29) -> f466_out(x29) :|: TRUE f1_in(T1, T3) -> f8_in(T1, T3) :|: TRUE f8_out(x30, x31) -> f1_out(x30, x31) :|: TRUE f8_in(x32, x33) -> f52_in(x32, x33) :|: TRUE f8_in(x34, x35) -> f53_in(x34, x35) :|: TRUE f53_out(x36, x37) -> f8_out(x36, x37) :|: TRUE f52_out(x38, x39) -> f8_out(x38, x39) :|: TRUE f103_out(x40, x41) -> f53_out(x40, x41) :|: TRUE f53_in(x42, x43) -> f103_in(x42, x43) :|: TRUE f104_out(x44, x45) -> f53_out(x44, x45) :|: TRUE f53_in(x46, x47) -> f104_in(x46, x47) :|: TRUE f398_out -> f104_out(x48, x49) :|: TRUE f397_out(x50, x51) -> f104_out(s(x50), x51) :|: TRUE f104_in(x52, x53) -> f398_in :|: TRUE f104_in(s(x54), x55) -> f397_in(x54, x55) :|: TRUE f397_in(x56, x57) -> f425_in(x56) :|: TRUE f426_out(x58, x59) -> f397_out(x58, x59) :|: TRUE f425_out(x60) -> f426_in(x60, x61) :|: TRUE Start term: f1_in(T1, T3) ---------------------------------------- (169) IRSwTSimpleDependencyGraphProof (EQUIVALENT) Constructed simple dependency graph. Simplified to the following IRSwTs: intTRSProblem: f432_in(x1) -> f464_in(x1) :|: TRUE f425_in(x2) -> f427_in(x2) :|: TRUE f429_in(x5) -> f432_in(x5) :|: TRUE f464_in(x9) -> f466_in(x9) :|: TRUE f427_in(x17) -> f429_in(x17) :|: TRUE f466_in(x28) -> f425_in(x28) :|: TRUE ---------------------------------------- (170) Obligation: Rules: f432_in(x1) -> f464_in(x1) :|: TRUE f425_in(x2) -> f427_in(x2) :|: TRUE f429_in(x5) -> f432_in(x5) :|: TRUE f464_in(x9) -> f466_in(x9) :|: TRUE f427_in(x17) -> f429_in(x17) :|: TRUE f466_in(x28) -> f425_in(x28) :|: TRUE ---------------------------------------- (171) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (172) Obligation: Rules: f425_in(x2:0) -> f425_in(x2:0) :|: TRUE ---------------------------------------- (173) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (174) Obligation: Rules: f425_in(x2:0) -> f425_in(x2:0) :|: TRUE ---------------------------------------- (175) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f425_in(x2:0) -> f425_in(x2:0) :|: TRUE Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (176) Obligation: Termination digraph: Nodes: (1) f425_in(x2:0) -> f425_in(x2:0) :|: TRUE Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (177) FilterProof (EQUIVALENT) Used the following sort dictionary for filtering: f425_in(VARIABLE) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (178) Obligation: Rules: f425_in(x2:0) -> f425_in(x2:0) :|: TRUE ---------------------------------------- (179) IntTRSNonPeriodicNontermProof (COMPLETE) Normalized system to the following form: f(pc, x2:0) -> f(1, x2:0) :|: pc = 1 && TRUE Proved unsatisfiability of the following formula, indicating that the system is never left after entering: (((run2_0 = ((1 * 1)) and run2_1 = ((run1_1 * 1))) and (((run1_0 * 1)) = ((1 * 1)) and T)) and !(((run2_0 * 1)) = ((1 * 1)) and T)) Proved satisfiability of the following formula, indicating that the system is entered at least once: ((run2_0 = ((1 * 1)) and run2_1 = ((run1_1 * 1))) and (((run1_0 * 1)) = ((1 * 1)) and T)) ---------------------------------------- (180) NO ---------------------------------------- (181) Obligation: Rules: f392_out(T82, T85, T84) -> f384_out(T82, T83, T84) :|: TRUE f384_in(x, x1, x2) -> f391_in(x, x1) :|: TRUE f391_out(x3, x4) -> f392_in(x3, x5, x6) :|: TRUE f336_out(s(T53), T54) -> f354_out(T53, T54) :|: TRUE f354_in(x7, x8) -> f336_in(s(x7), x8) :|: TRUE f254_out(T24) -> f252_out(T24) :|: TRUE f252_in(x9) -> f254_in(x9) :|: TRUE f353_out -> f344_out(T35, T36) :|: TRUE f344_in(x10, x11) -> f353_in :|: TRUE f344_in(s(x12), s(x13)) -> f351_in(x12, x13) :|: TRUE f351_out(x14, x15) -> f344_out(s(x14), s(x15)) :|: TRUE f111_in(T17, T18) -> f171_in(T17, T18) :|: TRUE f171_out(x16, x17) -> f111_out(x16, x17) :|: TRUE f377_in(T74, T75) -> f111_in(T74, T75) :|: TRUE f111_out(x18, x19) -> f377_out(x18, x19) :|: TRUE f325_out(T31) -> f318_out(T31) :|: TRUE f318_in(x20) -> f325_in(x20) :|: TRUE f241_out(x21, x22) -> f173_out(x21, x22) :|: TRUE f173_in(x23, x24) -> f241_in(x23, x24) :|: TRUE f374_in(s(x25), s(x26), x27) -> f384_in(x25, x26, x27) :|: TRUE f374_in(x28, x29, x30) -> f385_in :|: TRUE f385_out -> f374_out(x31, x32, x33) :|: TRUE f384_out(x34, x35, x36) -> f374_out(s(x34), s(x35), x36) :|: TRUE f336_in(x37, x38) -> f337_in(x37, x38) :|: TRUE f337_out(x39, x40) -> f336_out(x39, x40) :|: TRUE f351_in(x41, x42) -> f354_in(x41, x42) :|: TRUE f356_out(x43, x44) -> f351_out(x43, x45) :|: TRUE f354_out(x46, x47) -> f356_in(x46, x48) :|: TRUE f317_in(0) -> f322_in :|: TRUE f317_in(x49) -> f323_in :|: TRUE f323_out -> f317_out(x50) :|: TRUE f322_out -> f317_out(0) :|: TRUE f391_in(x51, x52) -> f336_in(s(x51), x52) :|: TRUE f336_out(s(x53), x54) -> f391_out(x53, x54) :|: TRUE f364_out -> f257_out(x55) :|: TRUE f257_in(x56) -> f364_in :|: TRUE f243_in(x57, x58) -> f247_in(x57) :|: TRUE f247_out(x59) -> f249_in(x59, x60, x61) :|: TRUE f249_out(x62, x63, x64) -> f243_out(x62, x64) :|: TRUE f245_out -> f241_out(x65, x66) :|: TRUE f241_in(s(x67), x68) -> f243_in(x67, x68) :|: TRUE f241_in(x69, x70) -> f245_in :|: TRUE f243_out(x71, x72) -> f241_out(s(x71), x72) :|: TRUE f325_in(s(x73)) -> f331_in(x73) :|: TRUE f325_in(x74) -> f332_in :|: TRUE f331_out(x75) -> f325_out(s(x75)) :|: TRUE f332_out -> f325_out(x76) :|: TRUE f343_in(s(T48), 0) -> f347_in(T48) :|: TRUE f343_in(x77, x78) -> f348_in :|: TRUE f347_out(x79) -> f343_out(s(x79), 0) :|: TRUE f348_out -> f343_out(x80, x81) :|: TRUE f340_out -> f338_out(0, T43) :|: TRUE f338_in(0, x82) -> f340_in :|: TRUE f341_out -> f338_out(x83, x84) :|: TRUE f338_in(x85, x86) -> f341_in :|: TRUE f260_in(x87) -> f316_in(x87) :|: TRUE f316_out(x88) -> f260_out(x88) :|: TRUE f339_in(x89, x90) -> f343_in(x89, x90) :|: TRUE f343_out(x91, x92) -> f339_out(x91, x92) :|: TRUE f339_in(x93, x94) -> f344_in(x93, x94) :|: TRUE f344_out(x95, x96) -> f339_out(x95, x96) :|: TRUE f255_in(x97) -> f260_in(x97) :|: TRUE f260_out(x98) -> f255_out(x98) :|: TRUE f254_in(x99) -> f255_in(x99) :|: TRUE f255_out(x100) -> f254_out(x100) :|: TRUE f257_out(x101) -> f254_out(x101) :|: TRUE f254_in(x102) -> f257_in(x102) :|: TRUE f249_in(x103, x104, x105) -> f367_in(x103, x104, x105) :|: TRUE f367_out(x106, x107, x108) -> f249_out(x106, x107, x108) :|: TRUE f252_out(x109) -> f247_out(x109) :|: TRUE f247_in(x110) -> f252_in(x110) :|: TRUE f373_out(x111, x112, x113) -> f369_out(x111, x112, x113) :|: TRUE f369_in(x114, x115, x116) -> f374_in(x114, x115, x116) :|: TRUE f374_out(x117, x118, x119) -> f369_out(x117, x118, x119) :|: TRUE f369_in(x120, x121, x122) -> f373_in(x120, x121, x122) :|: TRUE f377_out(x123, x124) -> f373_out(s(x123), 0, x124) :|: TRUE f378_out -> f373_out(x125, x126, x127) :|: TRUE f373_in(x128, x129, x130) -> f378_in :|: TRUE f373_in(s(x131), 0, x132) -> f377_in(x131, x132) :|: TRUE f340_in -> f340_out :|: TRUE f392_in(x133, x134, x135) -> f249_in(x133, x134, x135) :|: TRUE f249_out(x136, x137, x138) -> f392_out(x136, x137, x138) :|: TRUE f322_in -> f322_out :|: TRUE f331_in(x139) -> f335_in(x139) :|: TRUE f335_out(x140) -> f336_in(x140, x141) :|: TRUE f336_out(x142, x143) -> f331_out(x142) :|: TRUE f337_in(x144, x145) -> f339_in(x144, x145) :|: TRUE f338_out(x146, x147) -> f337_out(x146, x147) :|: TRUE f339_out(x148, x149) -> f337_out(x148, x149) :|: TRUE f337_in(x150, x151) -> f338_in(x150, x151) :|: TRUE f171_in(x152, x153) -> f173_in(x152, x153) :|: TRUE f173_out(x154, x155) -> f171_out(x154, x155) :|: TRUE f171_in(x156, x157) -> f172_in(x156, x157) :|: TRUE f172_out(x158, x159) -> f171_out(x158, x159) :|: TRUE f356_in(x160, x161) -> f336_in(x160, x161) :|: TRUE f336_out(x162, x163) -> f356_out(x162, x163) :|: TRUE f260_out(x164) -> f347_out(x164) :|: TRUE f347_in(x165) -> f260_in(x165) :|: TRUE f335_in(x166) -> f247_in(x166) :|: TRUE f247_out(x167) -> f335_out(x167) :|: TRUE f368_out(x168, x169, x170) -> f367_out(x168, x169, x170) :|: TRUE f367_in(x171, x172, x173) -> f369_in(x171, x172, x173) :|: TRUE f369_out(x174, x175, x176) -> f367_out(x174, x175, x176) :|: TRUE f367_in(x177, x178, x179) -> f368_in(x177, x178, x179) :|: TRUE f317_out(x180) -> f316_out(x180) :|: TRUE f318_out(x181) -> f316_out(x181) :|: TRUE f316_in(x182) -> f318_in(x182) :|: TRUE f316_in(x183) -> f317_in(x183) :|: TRUE f1_in(T1, T3) -> f8_in(T1, T3) :|: TRUE f8_out(x184, x185) -> f1_out(x184, x185) :|: TRUE f8_in(x186, x187) -> f52_in(x186, x187) :|: TRUE f8_in(x188, x189) -> f53_in(x188, x189) :|: TRUE f53_out(x190, x191) -> f8_out(x190, x191) :|: TRUE f52_out(x192, x193) -> f8_out(x192, x193) :|: TRUE f103_out(x194, x195) -> f53_out(x194, x195) :|: TRUE f53_in(x196, x197) -> f103_in(x196, x197) :|: TRUE f104_out(x198, x199) -> f53_out(x198, x199) :|: TRUE f53_in(x200, x201) -> f104_in(x200, x201) :|: TRUE f111_out(x202, x203) -> f103_out(s(x202), x203) :|: TRUE f103_in(x204, x205) -> f113_in :|: TRUE f103_in(s(x206), x207) -> f111_in(x206, x207) :|: TRUE f113_out -> f103_out(x208, x209) :|: TRUE Start term: f1_in(T1, T3) ---------------------------------------- (182) IRSwTSimpleDependencyGraphProof (EQUIVALENT) Constructed simple dependency graph. Simplified to the following IRSwTs: intTRSProblem: f384_in(x, x1, x2) -> f391_in(x, x1) :|: TRUE f391_out(x3, x4) -> f392_in(x3, x5, x6) :|: TRUE f336_out(s(T53), T54) -> f354_out(T53, T54) :|: TRUE f354_in(x7, x8) -> f336_in(s(x7), x8) :|: TRUE f254_out(T24) -> f252_out(T24) :|: TRUE f252_in(x9) -> f254_in(x9) :|: TRUE f344_in(s(x12), s(x13)) -> f351_in(x12, x13) :|: TRUE f351_out(x14, x15) -> f344_out(s(x14), s(x15)) :|: TRUE f111_in(T17, T18) -> f171_in(T17, T18) :|: TRUE f377_in(T74, T75) -> f111_in(T74, T75) :|: TRUE f325_out(T31) -> f318_out(T31) :|: TRUE f318_in(x20) -> f325_in(x20) :|: TRUE f173_in(x23, x24) -> f241_in(x23, x24) :|: TRUE f374_in(s(x25), s(x26), x27) -> f384_in(x25, x26, x27) :|: TRUE f336_in(x37, x38) -> f337_in(x37, x38) :|: TRUE f337_out(x39, x40) -> f336_out(x39, x40) :|: TRUE f351_in(x41, x42) -> f354_in(x41, x42) :|: TRUE f356_out(x43, x44) -> f351_out(x43, x45) :|: TRUE f354_out(x46, x47) -> f356_in(x46, x48) :|: TRUE f317_in(0) -> f322_in :|: TRUE f322_out -> f317_out(0) :|: TRUE f391_in(x51, x52) -> f336_in(s(x51), x52) :|: TRUE f336_out(s(x53), x54) -> f391_out(x53, x54) :|: TRUE f243_in(x57, x58) -> f247_in(x57) :|: TRUE f247_out(x59) -> f249_in(x59, x60, x61) :|: TRUE f241_in(s(x67), x68) -> f243_in(x67, x68) :|: TRUE f325_in(s(x73)) -> f331_in(x73) :|: TRUE f331_out(x75) -> f325_out(s(x75)) :|: TRUE f343_in(s(T48), 0) -> f347_in(T48) :|: TRUE f347_out(x79) -> f343_out(s(x79), 0) :|: TRUE f340_out -> f338_out(0, T43) :|: TRUE f338_in(0, x82) -> f340_in :|: TRUE f260_in(x87) -> f316_in(x87) :|: TRUE f316_out(x88) -> f260_out(x88) :|: TRUE f339_in(x89, x90) -> f343_in(x89, x90) :|: TRUE f343_out(x91, x92) -> f339_out(x91, x92) :|: TRUE f339_in(x93, x94) -> f344_in(x93, x94) :|: TRUE f344_out(x95, x96) -> f339_out(x95, x96) :|: TRUE f255_in(x97) -> f260_in(x97) :|: TRUE f260_out(x98) -> f255_out(x98) :|: TRUE f254_in(x99) -> f255_in(x99) :|: TRUE f255_out(x100) -> f254_out(x100) :|: TRUE f249_in(x103, x104, x105) -> f367_in(x103, x104, x105) :|: TRUE f252_out(x109) -> f247_out(x109) :|: TRUE f247_in(x110) -> f252_in(x110) :|: TRUE f369_in(x114, x115, x116) -> f374_in(x114, x115, x116) :|: TRUE f369_in(x120, x121, x122) -> f373_in(x120, x121, x122) :|: TRUE f373_in(s(x131), 0, x132) -> f377_in(x131, x132) :|: TRUE f340_in -> f340_out :|: TRUE f392_in(x133, x134, x135) -> f249_in(x133, x134, x135) :|: TRUE f322_in -> f322_out :|: TRUE f331_in(x139) -> f335_in(x139) :|: TRUE f335_out(x140) -> f336_in(x140, x141) :|: TRUE f336_out(x142, x143) -> f331_out(x142) :|: TRUE f337_in(x144, x145) -> f339_in(x144, x145) :|: TRUE f338_out(x146, x147) -> f337_out(x146, x147) :|: TRUE f339_out(x148, x149) -> f337_out(x148, x149) :|: TRUE f337_in(x150, x151) -> f338_in(x150, x151) :|: TRUE f171_in(x152, x153) -> f173_in(x152, x153) :|: TRUE f356_in(x160, x161) -> f336_in(x160, x161) :|: TRUE f336_out(x162, x163) -> f356_out(x162, x163) :|: TRUE f260_out(x164) -> f347_out(x164) :|: TRUE f347_in(x165) -> f260_in(x165) :|: TRUE f335_in(x166) -> f247_in(x166) :|: TRUE f247_out(x167) -> f335_out(x167) :|: TRUE f367_in(x171, x172, x173) -> f369_in(x171, x172, x173) :|: TRUE f317_out(x180) -> f316_out(x180) :|: TRUE f318_out(x181) -> f316_out(x181) :|: TRUE f316_in(x182) -> f318_in(x182) :|: TRUE f316_in(x183) -> f317_in(x183) :|: TRUE ---------------------------------------- (183) Obligation: Rules: f384_in(x, x1, x2) -> f391_in(x, x1) :|: TRUE f391_out(x3, x4) -> f392_in(x3, x5, x6) :|: TRUE f336_out(s(T53), T54) -> f354_out(T53, T54) :|: TRUE f354_in(x7, x8) -> f336_in(s(x7), x8) :|: TRUE f254_out(T24) -> f252_out(T24) :|: TRUE f252_in(x9) -> f254_in(x9) :|: TRUE f344_in(s(x12), s(x13)) -> f351_in(x12, x13) :|: TRUE f351_out(x14, x15) -> f344_out(s(x14), s(x15)) :|: TRUE f111_in(T17, T18) -> f171_in(T17, T18) :|: TRUE f377_in(T74, T75) -> f111_in(T74, T75) :|: TRUE f325_out(T31) -> f318_out(T31) :|: TRUE f318_in(x20) -> f325_in(x20) :|: TRUE f173_in(x23, x24) -> f241_in(x23, x24) :|: TRUE f374_in(s(x25), s(x26), x27) -> f384_in(x25, x26, x27) :|: TRUE f336_in(x37, x38) -> f337_in(x37, x38) :|: TRUE f337_out(x39, x40) -> f336_out(x39, x40) :|: TRUE f351_in(x41, x42) -> f354_in(x41, x42) :|: TRUE f356_out(x43, x44) -> f351_out(x43, x45) :|: TRUE f354_out(x46, x47) -> f356_in(x46, x48) :|: TRUE f317_in(0) -> f322_in :|: TRUE f322_out -> f317_out(0) :|: TRUE f391_in(x51, x52) -> f336_in(s(x51), x52) :|: TRUE f336_out(s(x53), x54) -> f391_out(x53, x54) :|: TRUE f243_in(x57, x58) -> f247_in(x57) :|: TRUE f247_out(x59) -> f249_in(x59, x60, x61) :|: TRUE f241_in(s(x67), x68) -> f243_in(x67, x68) :|: TRUE f325_in(s(x73)) -> f331_in(x73) :|: TRUE f331_out(x75) -> f325_out(s(x75)) :|: TRUE f343_in(s(T48), 0) -> f347_in(T48) :|: TRUE f347_out(x79) -> f343_out(s(x79), 0) :|: TRUE f340_out -> f338_out(0, T43) :|: TRUE f338_in(0, x82) -> f340_in :|: TRUE f260_in(x87) -> f316_in(x87) :|: TRUE f316_out(x88) -> f260_out(x88) :|: TRUE f339_in(x89, x90) -> f343_in(x89, x90) :|: TRUE f343_out(x91, x92) -> f339_out(x91, x92) :|: TRUE f339_in(x93, x94) -> f344_in(x93, x94) :|: TRUE f344_out(x95, x96) -> f339_out(x95, x96) :|: TRUE f255_in(x97) -> f260_in(x97) :|: TRUE f260_out(x98) -> f255_out(x98) :|: TRUE f254_in(x99) -> f255_in(x99) :|: TRUE f255_out(x100) -> f254_out(x100) :|: TRUE f249_in(x103, x104, x105) -> f367_in(x103, x104, x105) :|: TRUE f252_out(x109) -> f247_out(x109) :|: TRUE f247_in(x110) -> f252_in(x110) :|: TRUE f369_in(x114, x115, x116) -> f374_in(x114, x115, x116) :|: TRUE f369_in(x120, x121, x122) -> f373_in(x120, x121, x122) :|: TRUE f373_in(s(x131), 0, x132) -> f377_in(x131, x132) :|: TRUE f340_in -> f340_out :|: TRUE f392_in(x133, x134, x135) -> f249_in(x133, x134, x135) :|: TRUE f322_in -> f322_out :|: TRUE f331_in(x139) -> f335_in(x139) :|: TRUE f335_out(x140) -> f336_in(x140, x141) :|: TRUE f336_out(x142, x143) -> f331_out(x142) :|: TRUE f337_in(x144, x145) -> f339_in(x144, x145) :|: TRUE f338_out(x146, x147) -> f337_out(x146, x147) :|: TRUE f339_out(x148, x149) -> f337_out(x148, x149) :|: TRUE f337_in(x150, x151) -> f338_in(x150, x151) :|: TRUE f171_in(x152, x153) -> f173_in(x152, x153) :|: TRUE f356_in(x160, x161) -> f336_in(x160, x161) :|: TRUE f336_out(x162, x163) -> f356_out(x162, x163) :|: TRUE f260_out(x164) -> f347_out(x164) :|: TRUE f347_in(x165) -> f260_in(x165) :|: TRUE f335_in(x166) -> f247_in(x166) :|: TRUE f247_out(x167) -> f335_out(x167) :|: TRUE f367_in(x171, x172, x173) -> f369_in(x171, x172, x173) :|: TRUE f317_out(x180) -> f316_out(x180) :|: TRUE f318_out(x181) -> f316_out(x181) :|: TRUE f316_in(x182) -> f318_in(x182) :|: TRUE f316_in(x183) -> f317_in(x183) :|: TRUE ---------------------------------------- (184) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (185) Obligation: Rules: f316_out(x88:0) -> f337_out(s(x88:0), 0) :|: TRUE f337_in(cons_0, x151:0) -> f337_out(0, T43:0) :|: TRUE && cons_0 = 0 f337_in(s(x12:0), s(x13:0)) -> f337_in(s(x12:0), x13:0) :|: TRUE f316_out(x) -> f369_in(x, x1, x2) :|: TRUE f337_out(s(T53:0), x40:0) -> f337_in(T53:0, x48:0) :|: TRUE f337_in(s(x3), x4) -> f260_in(x3) :|: TRUE && x4 = 0 f337_out(x5, x6) -> f337_out(s(x5), s(x7)) :|: TRUE f369_in(s(s(x8)), x9, x10) -> f260_in(x8) :|: TRUE && x9 = 0 f337_out(s(x11), x12) -> f369_in(x11, x13, x14) :|: TRUE f316_out(x15) -> f337_in(x15, x16) :|: TRUE f260_in(x17) -> f316_out(0) :|: TRUE && x17 = 0 f369_in(s(x25:0), s(x26:0), x116:0) -> f337_in(s(x25:0), x26:0) :|: TRUE f337_out(x18, x19) -> f316_out(s(x18)) :|: TRUE f260_in(s(x73:0)) -> f260_in(x73:0) :|: TRUE ---------------------------------------- (186) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (187) Obligation: Rules: f316_out(x88:0) -> f337_out(s(x88:0), 0) :|: TRUE f337_in(cons_0, x151:0) -> f337_out(0, T43:0) :|: TRUE && cons_0 = 0 f337_in(s(x12:0), s(x13:0)) -> f337_in(s(x12:0), x13:0) :|: TRUE f316_out(x) -> f369_in(x, x1, x2) :|: TRUE f337_out(s(T53:0), x40:0) -> f337_in(T53:0, x48:0) :|: TRUE f337_in(s(x3), x4) -> f260_in(x3) :|: TRUE && x4 = 0 f337_out(x5, x6) -> f337_out(s(x5), s(x7)) :|: TRUE f369_in(s(s(x8)), x9, x10) -> f260_in(x8) :|: TRUE && x9 = 0 f337_out(s(x11), x12) -> f369_in(x11, x13, x14) :|: TRUE f316_out(x15) -> f337_in(x15, x16) :|: TRUE f260_in(x17) -> f316_out(0) :|: TRUE && x17 = 0 f369_in(s(x25:0), s(x26:0), x116:0) -> f337_in(s(x25:0), x26:0) :|: TRUE f337_out(x18, x19) -> f316_out(s(x18)) :|: TRUE f260_in(s(x73:0)) -> f260_in(x73:0) :|: TRUE ---------------------------------------- (188) Obligation: Rules: f425_in(T94) -> f427_in(T94) :|: TRUE f427_out(x) -> f425_out(x) :|: TRUE f336_out(s(T53), T54) -> f354_out(T53, T54) :|: TRUE f354_in(x1, x2) -> f336_in(s(x1), x2) :|: TRUE f478_in -> f478_out :|: TRUE f466_in(T108) -> f425_in(T108) :|: TRUE f425_out(x3) -> f466_out(x3) :|: TRUE f1_out(x4, x5) -> f426_out(x4, x5) :|: TRUE f426_in(x6, x7) -> f1_in(x6, x7) :|: TRUE f490_in(T123) -> f260_in(T123) :|: TRUE f260_out(x8) -> f490_out(x8) :|: TRUE f336_in(T35, T36) -> f337_in(T35, T36) :|: TRUE f337_out(x9, x10) -> f336_out(x9, x10) :|: TRUE f466_out(x11) -> f467_in(x11) :|: TRUE f464_in(x12) -> f466_in(x12) :|: TRUE f467_out(x13) -> f464_out(x13) :|: TRUE f398_out -> f104_out(T1, T3) :|: TRUE f397_out(x14, x15) -> f104_out(s(x14), x15) :|: TRUE f104_in(x16, x17) -> f398_in :|: TRUE f104_in(s(x18), x19) -> f397_in(x18, x19) :|: TRUE f343_in(s(T48), 0) -> f347_in(T48) :|: TRUE f343_in(x20, x21) -> f348_in :|: TRUE f347_out(x22) -> f343_out(s(x22), 0) :|: TRUE f348_out -> f343_out(x23, x24) :|: TRUE f340_out -> f338_out(0, T43) :|: TRUE f338_in(0, x25) -> f340_in :|: TRUE f341_out -> f338_out(x26, x27) :|: TRUE f338_in(x28, x29) -> f341_in :|: TRUE f431_in(T103) -> f433_in(T103) :|: TRUE f433_out(x30) -> f431_out(x30) :|: TRUE f434_out -> f431_out(x31) :|: TRUE f431_in(x32) -> f434_in :|: TRUE f255_in(T31) -> f260_in(T31) :|: TRUE f260_out(x33) -> f255_out(x33) :|: TRUE f8_in(x34, x35) -> f52_in(x34, x35) :|: TRUE f8_in(x36, x37) -> f53_in(x36, x37) :|: TRUE f53_out(x38, x39) -> f8_out(x38, x39) :|: TRUE f52_out(x40, x41) -> f8_out(x40, x41) :|: TRUE f254_in(T24) -> f255_in(T24) :|: TRUE f255_out(x42) -> f254_out(x42) :|: TRUE f257_out(x43) -> f254_out(x43) :|: TRUE f254_in(x44) -> f257_in(x44) :|: TRUE f252_out(x45) -> f247_out(x45) :|: TRUE f247_in(x46) -> f252_in(x46) :|: TRUE f340_in -> f340_out :|: TRUE f470_in(x47) -> f484_in(x47) :|: TRUE f483_out(x48) -> f470_out(x48) :|: TRUE f484_out(x49) -> f470_out(x49) :|: TRUE f470_in(x50) -> f483_in(x50) :|: TRUE f431_out(x51) -> f429_out(x51) :|: TRUE f429_in(x52) -> f432_in(x52) :|: TRUE f432_out(x53) -> f429_out(x53) :|: TRUE f429_in(x54) -> f431_in(x54) :|: TRUE f337_in(x55, x56) -> f339_in(x55, x56) :|: TRUE f338_out(x57, x58) -> f337_out(x57, x58) :|: TRUE f339_out(x59, x60) -> f337_out(x59, x60) :|: TRUE f337_in(x61, x62) -> f338_in(x61, x62) :|: TRUE f484_in(s(T128)) -> f498_in(T128) :|: TRUE f498_out(x63) -> f484_out(s(x63)) :|: TRUE f499_out -> f484_out(x64) :|: TRUE f484_in(x65) -> f499_in :|: TRUE f468_out(x66) -> f467_out(x66) :|: TRUE f467_in(x67) -> f468_in(x67) :|: TRUE f468_in(x68) -> f470_in(x68) :|: TRUE f469_out(x69) -> f468_out(x69) :|: TRUE f470_out(x70) -> f468_out(x70) :|: TRUE f468_in(x71) -> f469_in(x71) :|: TRUE f317_out(x72) -> f316_out(x72) :|: TRUE f318_out(x73) -> f316_out(x73) :|: TRUE f316_in(x74) -> f318_in(x74) :|: TRUE f316_in(x75) -> f317_in(x75) :|: TRUE f1_in(x76, x77) -> f8_in(x76, x77) :|: TRUE f8_out(x78, x79) -> f1_out(x78, x79) :|: TRUE f483_in(x80) -> f491_in :|: TRUE f483_in(s(x81)) -> f490_in(x81) :|: TRUE f491_out -> f483_out(x82) :|: TRUE f490_out(x83) -> f483_out(s(x83)) :|: TRUE f353_out -> f344_out(x84, x85) :|: TRUE f344_in(x86, x87) -> f353_in :|: TRUE f344_in(s(x88), s(x89)) -> f351_in(x88, x89) :|: TRUE f351_out(x90, x91) -> f344_out(s(x90), s(x91)) :|: TRUE f254_out(x92) -> f252_out(x92) :|: TRUE f252_in(x93) -> f254_in(x93) :|: TRUE f429_out(x94) -> f427_out(x94) :|: TRUE f427_in(x95) -> f429_in(x95) :|: TRUE f433_in(x96) -> f260_in(x96) :|: TRUE f260_out(x97) -> f433_out(x97) :|: TRUE f325_out(x98) -> f318_out(x98) :|: TRUE f318_in(x99) -> f325_in(x99) :|: TRUE f351_in(x100, x101) -> f354_in(x100, x101) :|: TRUE f356_out(x102, x103) -> f351_out(x102, x104) :|: TRUE f354_out(x105, x106) -> f356_in(x105, x107) :|: TRUE f317_in(0) -> f322_in :|: TRUE f317_in(x108) -> f323_in :|: TRUE f323_out -> f317_out(x109) :|: TRUE f322_out -> f317_out(0) :|: TRUE f103_out(x110, x111) -> f53_out(x110, x111) :|: TRUE f53_in(x112, x113) -> f103_in(x112, x113) :|: TRUE f104_out(x114, x115) -> f53_out(x114, x115) :|: TRUE f53_in(x116, x117) -> f104_in(x116, x117) :|: TRUE f364_out -> f257_out(x118) :|: TRUE f257_in(x119) -> f364_in :|: TRUE f464_out(x120) -> f498_out(x120) :|: TRUE f498_in(x121) -> f464_in(x121) :|: TRUE f325_in(s(x122)) -> f331_in(x122) :|: TRUE f325_in(x123) -> f332_in :|: TRUE f331_out(x124) -> f325_out(s(x124)) :|: TRUE f332_out -> f325_out(x125) :|: TRUE f260_in(x126) -> f316_in(x126) :|: TRUE f316_out(x127) -> f260_out(x127) :|: TRUE f339_in(x128, x129) -> f343_in(x128, x129) :|: TRUE f343_out(x130, x131) -> f339_out(x130, x131) :|: TRUE f339_in(x132, x133) -> f344_in(x132, x133) :|: TRUE f344_out(x134, x135) -> f339_out(x134, x135) :|: TRUE f322_in -> f322_out :|: TRUE f397_in(x136, x137) -> f425_in(x136) :|: TRUE f426_out(x138, x139) -> f397_out(x138, x139) :|: TRUE f425_out(x140) -> f426_in(x140, x141) :|: TRUE f465_out -> f432_out(x142) :|: TRUE f432_in(x143) -> f465_in :|: TRUE f464_out(x144) -> f432_out(x144) :|: TRUE f432_in(x145) -> f464_in(x145) :|: TRUE f331_in(x146) -> f335_in(x146) :|: TRUE f335_out(x147) -> f336_in(x147, x148) :|: TRUE f336_out(x149, x150) -> f331_out(x149) :|: TRUE f469_in(x151) -> f479_in :|: TRUE f469_in(0) -> f478_in :|: TRUE f478_out -> f469_out(0) :|: TRUE f479_out -> f469_out(x152) :|: TRUE f356_in(x153, x154) -> f336_in(x153, x154) :|: TRUE f336_out(x155, x156) -> f356_out(x155, x156) :|: TRUE f260_out(x157) -> f347_out(x157) :|: TRUE f347_in(x158) -> f260_in(x158) :|: TRUE f335_in(x159) -> f247_in(x159) :|: TRUE f247_out(x160) -> f335_out(x160) :|: TRUE Start term: f1_in(T1, T3)