/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.pl /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- MAYBE proof of /export/starexec/sandbox/benchmark/theBenchmark.pl # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 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, 6 ms] (4) PiDP (5) DependencyGraphProof [EQUIVALENT, 0 ms] (6) AND (7) PiDP (8) UsableRulesProof [EQUIVALENT, 0 ms] (9) PiDP (10) PiDPToQDPProof [SOUND, 15 ms] (11) QDP (12) QDPSizeChangeProof [EQUIVALENT, 0 ms] (13) YES (14) PiDP (15) UsableRulesProof [EQUIVALENT, 0 ms] (16) PiDP (17) PiDPToQDPProof [SOUND, 1 ms] (18) QDP (19) QDPOrderProof [EQUIVALENT, 41 ms] (20) QDP (21) UsableRulesProof [EQUIVALENT, 0 ms] (22) QDP (23) QReductionProof [EQUIVALENT, 0 ms] (24) QDP (25) NonTerminationLoopProof [COMPLETE, 0 ms] (26) NO (27) PiDP (28) UsableRulesProof [EQUIVALENT, 0 ms] (29) PiDP (30) PiDPToQDPProof [SOUND, 0 ms] (31) QDP (32) QDPSizeChangeProof [EQUIVALENT, 0 ms] (33) YES (34) PiDP (35) UsableRulesProof [EQUIVALENT, 0 ms] (36) PiDP (37) PiDPToQDPProof [SOUND, 0 ms] (38) QDP (39) QDPSizeChangeProof [EQUIVALENT, 0 ms] (40) YES (41) PrologToPiTRSProof [SOUND, 0 ms] (42) PiTRS (43) DependencyPairsProof [EQUIVALENT, 27 ms] (44) PiDP (45) DependencyGraphProof [EQUIVALENT, 0 ms] (46) AND (47) PiDP (48) UsableRulesProof [EQUIVALENT, 0 ms] (49) PiDP (50) PiDPToQDPProof [SOUND, 4 ms] (51) QDP (52) QDPSizeChangeProof [EQUIVALENT, 0 ms] (53) YES (54) PiDP (55) UsableRulesProof [EQUIVALENT, 0 ms] (56) PiDP (57) PiDPToQDPProof [SOUND, 2 ms] (58) QDP (59) QDPQMonotonicMRRProof [EQUIVALENT, 51 ms] (60) QDP (61) UsableRulesProof [EQUIVALENT, 0 ms] (62) QDP (63) QReductionProof [EQUIVALENT, 0 ms] (64) QDP (65) NonTerminationLoopProof [COMPLETE, 0 ms] (66) NO (67) PiDP (68) UsableRulesProof [EQUIVALENT, 0 ms] (69) PiDP (70) PiDPToQDPProof [SOUND, 0 ms] (71) QDP (72) QDPSizeChangeProof [EQUIVALENT, 0 ms] (73) YES (74) PiDP (75) UsableRulesProof [EQUIVALENT, 0 ms] (76) PiDP (77) PiDPToQDPProof [SOUND, 0 ms] (78) QDP (79) QDPSizeChangeProof [EQUIVALENT, 0 ms] (80) YES (81) PrologToTRSTransformerProof [SOUND, 36 ms] (82) QTRS (83) DependencyPairsProof [EQUIVALENT, 8 ms] (84) QDP (85) DependencyGraphProof [EQUIVALENT, 0 ms] (86) AND (87) QDP (88) QDPOrderProof [EQUIVALENT, 86 ms] (89) QDP (90) DependencyGraphProof [EQUIVALENT, 0 ms] (91) QDP (92) QDPOrderProof [EQUIVALENT, 36 ms] (93) QDP (94) DependencyGraphProof [EQUIVALENT, 0 ms] (95) QDP (96) UsableRulesProof [EQUIVALENT, 0 ms] (97) QDP (98) QDPSizeChangeProof [EQUIVALENT, 0 ms] (99) YES (100) QDP (101) QDPOrderProof [EQUIVALENT, 89 ms] (102) QDP (103) DependencyGraphProof [EQUIVALENT, 0 ms] (104) QDP (105) UsableRulesProof [EQUIVALENT, 0 ms] (106) QDP (107) NonTerminationLoopProof [COMPLETE, 0 ms] (108) NO (109) QDP (110) QDPSizeChangeProof [EQUIVALENT, 0 ms] (111) YES (112) QDP (113) QDPSizeChangeProof [EQUIVALENT, 0 ms] (114) YES (115) PrologToDTProblemTransformerProof [SOUND, 51 ms] (116) TRIPLES (117) TriplesToPiDPProof [SOUND, 32 ms] (118) PiDP (119) DependencyGraphProof [EQUIVALENT, 0 ms] (120) AND (121) PiDP (122) UsableRulesProof [EQUIVALENT, 0 ms] (123) PiDP (124) PiDPToQDPProof [SOUND, 0 ms] (125) QDP (126) QDPSizeChangeProof [EQUIVALENT, 0 ms] (127) YES (128) PiDP (129) UsableRulesProof [EQUIVALENT, 0 ms] (130) PiDP (131) PiDPToQDPProof [SOUND, 0 ms] (132) QDP (133) QDPSizeChangeProof [EQUIVALENT, 0 ms] (134) YES (135) PiDP (136) UsableRulesProof [EQUIVALENT, 0 ms] (137) PiDP (138) PiDPToQDPProof [SOUND, 0 ms] (139) QDP (140) NonTerminationLoopProof [COMPLETE, 0 ms] (141) NO (142) PiDP (143) UsableRulesProof [EQUIVALENT, 0 ms] (144) PiDP (145) PiDPToQDPProof [SOUND, 0 ms] (146) QDP (147) QDPSizeChangeProof [EQUIVALENT, 0 ms] (148) YES (149) PrologToIRSwTTransformerProof [SOUND, 99 ms] (150) AND (151) IRSwT (152) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] (153) IRSwT (154) IntTRSCompressionProof [EQUIVALENT, 31 ms] (155) IRSwT (156) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (157) IRSwT (158) IRSwTTerminationDigraphProof [EQUIVALENT, 7 ms] (159) IRSwT (160) TempFilterProof [SOUND, 3 ms] (161) IRSwT (162) IRSwTToQDPProof [SOUND, 2 ms] (163) QDP (164) QDPSizeChangeProof [EQUIVALENT, 0 ms] (165) YES (166) IRSwT (167) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] (168) IRSwT (169) IntTRSCompressionProof [EQUIVALENT, 3 ms] (170) IRSwT (171) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (172) IRSwT (173) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] (174) IRSwT (175) FilterProof [EQUIVALENT, 0 ms] (176) IntTRS (177) IntTRSPeriodicNontermProof [COMPLETE, 0 ms] (178) NO (179) IRSwT (180) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] (181) IRSwT (182) 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. ACKERMANN_IN_GAA(s(M)) -> U2_GAA(M, ackermann_in_gaa(s(M))) U2_GAA(M, ackermann_out_gaa) -> ACKERMANN_IN_GAA(M) The remaining pairs can at least be oriented weakly. Used ordering: Combined order from the following AFS and order. ACKERMANN_IN_GAA(x1) = ACKERMANN_IN_GAA(x1) s(x1) = s(x1) U2_GAA(x1, x2) = U2_GAA(x1, x2) ackermann_in_gaa(x1) = ackermann_in_gaa(x1) ackermann_out_gaa = ackermann_out_gaa U1_gaa(x1) = U1_gaa(x1) ackermann_in_gga(x1, x2) = x2 0 = 0 U2_gaa(x1, x2) = U2_gaa(x1) U3_gaa(x1) = x1 ackermann_out_gga(x1) = ackermann_out_gga U2_gga(x1, x2) = U2_gga(x2) U1_gga(x1) = U1_gga U3_gga(x1) = U3_gga Recursive path order with status [RPO]. Quasi-Precedence: s_1 > [ACKERMANN_IN_GAA_1, U2_GAA_2] > [ackermann_in_gaa_1, ackermann_out_gaa, U1_gaa_1, U2_gaa_1] > [0, ackermann_out_gga, U1_gga, U3_gga] s_1 > U2_gga_1 > [0, ackermann_out_gga, U1_gga, U3_gga] Status: ACKERMANN_IN_GAA_1: [1] s_1: [1] U2_GAA_2: [1,2] ackermann_in_gaa_1: multiset status ackermann_out_gaa: multiset status U1_gaa_1: multiset status 0: multiset status U2_gaa_1: multiset status ackermann_out_gga: multiset status U2_gga_1: multiset status U1_gga: multiset status U3_gga: multiset status 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 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)) U1_gaa(ackermann_out_gga(Val)) -> ackermann_out_gaa ackermann_in_gga(s(M), 0) -> U1_gga(ackermann_in_gga(M, s(0))) U1_gga(ackermann_out_gga(Val)) -> ackermann_out_gga(Val) U2_gga(M, ackermann_out_gga(Val1)) -> U3_gga(ackermann_in_gga(M, Val1)) U3_gga(ackermann_out_gga(Val)) -> ackermann_out_gga(Val) ---------------------------------------- (20) 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. ---------------------------------------- (21) 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. ---------------------------------------- (22) 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. ---------------------------------------- (23) 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) ---------------------------------------- (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. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (25) 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)). ---------------------------------------- (26) NO ---------------------------------------- (27) 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 ---------------------------------------- (28) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (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_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 ---------------------------------------- (30) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (31) 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. ---------------------------------------- (32) 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 ---------------------------------------- (33) YES ---------------------------------------- (34) 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 ---------------------------------------- (35) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (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_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 ---------------------------------------- (37) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (38) 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. ---------------------------------------- (39) 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 ---------------------------------------- (40) YES ---------------------------------------- (41) 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 ---------------------------------------- (42) 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) ---------------------------------------- (43) 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 ---------------------------------------- (44) 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 ---------------------------------------- (45) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LOPSTR] contains 4 SCCs with 12 less nodes. ---------------------------------------- (46) Complex Obligation (AND) ---------------------------------------- (47) 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 ---------------------------------------- (48) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (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_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 ---------------------------------------- (50) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (51) 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. ---------------------------------------- (52) 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 ---------------------------------------- (53) YES ---------------------------------------- (54) 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 ---------------------------------------- (55) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (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_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 ---------------------------------------- (57) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (58) 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. ---------------------------------------- (59) 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 ---------------------------------------- (60) 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. ---------------------------------------- (61) 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. ---------------------------------------- (62) 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. ---------------------------------------- (63) 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) ---------------------------------------- (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. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (65) 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)). ---------------------------------------- (66) NO ---------------------------------------- (67) 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 ---------------------------------------- (68) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (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_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 ---------------------------------------- (70) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (71) 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. ---------------------------------------- (72) 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 ---------------------------------------- (73) YES ---------------------------------------- (74) 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 ---------------------------------------- (75) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (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_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 ---------------------------------------- (77) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (78) 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. ---------------------------------------- (79) 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 ---------------------------------------- (80) YES ---------------------------------------- (81) PrologToTRSTransformerProof (SOUND) Transformed Prolog program to TRS. { "root": 52, "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": { "type": "Nodes", "470": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "471": { "goal": [{ "clause": 1, "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)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T53", "T54" ], "free": ["X123"], "exprvars": [] } }, "472": { "goal": [{ "clause": 2, "scope": 8, "term": "(ackermann T108 T111 X216)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T108"], "free": ["X216"], "exprvars": [] } }, "231": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "352": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T53 T55 X124)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T53", "T55" ], "free": ["X124"], "exprvars": [] } }, "232": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "276": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T31 (s (0)) X59)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T31"], "free": ["X59"], "exprvars": [] } }, "430": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T82 T85 T84)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T82", "T84", "T85" ], "free": [], "exprvars": [] } }, "233": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "431": { "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": [] } }, "475": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T123 (s (0)) X242)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T123"], "free": ["X242"], "exprvars": [] } }, "234": { "goal": [{ "clause": 2, "scope": 2, "term": "(ackermann T17 (s (0)) T18)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T17", "T18" ], "free": [], "exprvars": [] } }, "311": { "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": [] } }, "432": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "312": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "433": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T94) T97 X180)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T94"], "free": ["X180"], "exprvars": [] } }, "477": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "434": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T94 T98 T96)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T94", "T96" ], "free": [], "exprvars": [] } }, "237": { "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": [] } }, "435": { "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": [] } }, "315": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T35) (0) X81)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T35"], "free": ["X81"], "exprvars": [] } }, "436": { "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": [] } }, "91": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "239": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "316": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T35 T36 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T35", "T36" ], "free": ["X82"], "exprvars": [] } }, "437": { "goal": [{ "clause": 1, "scope": 7, "term": "(ackermann (s T94) T97 X180)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T94"], "free": ["X180"], "exprvars": [] } }, "52": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T1 T2 T3)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T3" ], "free": [], "exprvars": [] } }, "53": { "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": [] } }, "55": { "goal": [{ "clause": 0, "scope": 1, "term": "(ackermann T1 T2 T3)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T3" ], "free": [], "exprvars": [] } }, "56": { "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": [] } }, "483": { "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": [] } }, "242": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T24) (0) X35)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T24"], "free": ["X35"], "exprvars": [] } }, "484": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "244": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T24 T26 T25)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T24", "T25", "T26" ], "free": [], "exprvars": [] } }, "443": { "goal": [{ "clause": 2, "scope": 7, "term": "(ackermann (s T94) T97 X180)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T94"], "free": ["X180"], "exprvars": [] } }, "448": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T103 (s (0)) X200)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T103"], "free": ["X200"], "exprvars": [] } }, "449": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "208": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "292": { "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": [] } }, "250": { "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": [] } }, "251": { "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": [] } }, "297": { "goal": [{ "clause": 0, "scope": 4, "term": "(ackermann T31 (s (0)) X59)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T31"], "free": ["X59"], "exprvars": [] } }, "210": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "298": { "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": [] } }, "331": { "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": [] } }, "332": { "goal": [{ "clause": 0, "scope": 5, "term": "(ackermann T35 T36 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T35", "T36" ], "free": ["X82"], "exprvars": [] } }, "333": { "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": [] } }, "258": { "goal": [{ "clause": 1, "scope": 3, "term": "(ackermann (s T24) (0) X35)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T24"], "free": ["X35"], "exprvars": [] } }, "215": { "goal": [{ "clause": 1, "scope": 1, "term": "(ackermann T1 T2 T3)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T3" ], "free": [], "exprvars": [] } }, "259": { "goal": [{ "clause": 2, "scope": 3, "term": "(ackermann (s T24) (0) X35)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T24"], "free": ["X35"], "exprvars": [] } }, "336": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "216": { "goal": [{ "clause": 2, "scope": 1, "term": "(ackermann T1 T2 T3)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T3" ], "free": [], "exprvars": [] } }, "337": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "338": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "218": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T17 (s (0)) T18)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T17", "T18" ], "free": [], "exprvars": [] } }, "339": { "goal": [{ "clause": 1, "scope": 5, "term": "(ackermann T35 T36 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T35", "T36" ], "free": ["X82"], "exprvars": [] } }, "417": { "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": [] } }, "418": { "goal": [{ "clause": 0, "scope": 6, "term": "(ackermann T24 T26 T25)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T24", "T25", "T26" ], "free": [], "exprvars": [] } }, "419": { "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": [] } }, "340": { "goal": [{ "clause": 2, "scope": 5, "term": "(ackermann T35 T36 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T35", "T36" ], "free": ["X82"], "exprvars": [] } }, "461": { "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": [] } }, "220": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "462": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "463": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T108) T110 X215)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T108"], "free": ["X215"], "exprvars": [] } }, "343": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T48 (s (0)) X108)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T48"], "free": ["X108"], "exprvars": [] } }, "420": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "464": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T108 T111 X216)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T108"], "free": ["X216"], "exprvars": [] } }, "300": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "344": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "421": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "465": { "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": [] } }, "224": { "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": [] } }, "301": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "389": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "422": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "466": { "goal": [{ "clause": 0, "scope": 8, "term": "(ackermann T108 T111 X216)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T108"], "free": ["X216"], "exprvars": [] } }, "225": { "goal": [{ "clause": 0, "scope": 2, "term": "(ackermann T17 (s (0)) T18)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T17", "T18" ], "free": [], "exprvars": [] } }, "423": { "goal": [{ "clause": 1, "scope": 6, "term": "(ackermann T24 T26 T25)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T24", "T25", "T26" ], "free": [], "exprvars": [] } }, "467": { "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": [] } }, "226": { "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": [] } }, "303": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "347": { "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": [] } }, "424": { "goal": [{ "clause": 2, "scope": 6, "term": "(ackermann T24 T26 T25)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T24", "T25", "T26" ], "free": [], "exprvars": [] } }, "468": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "304": { "goal": [{ "clause": 2, "scope": 4, "term": "(ackermann T31 (s (0)) X59)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T31"], "free": ["X59"], "exprvars": [] } }, "348": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "425": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T74 (s (0)) T75)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T74", "T75" ], "free": [], "exprvars": [] } }, "469": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "426": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "427": { "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": [] } }, "428": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "429": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T82) T83 X163)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T82", "T83" ], "free": ["X163"], "exprvars": [] } } }, "edges": [ { "from": 52, "to": 53, "label": "CASE" }, { "from": 53, "to": 55, "label": "PARALLEL" }, { "from": 53, "to": 56, "label": "PARALLEL" }, { "from": 55, "to": 91, "label": "EVAL with clause\nackermann(0, X5, s(X5)).\nand substitutionT1 -> 0,\nT2 -> T8,\nX5 -> T8,\nT3 -> s(T8)" }, { "from": 55, "to": 208, "label": "EVAL-BACKTRACK" }, { "from": 56, "to": 215, "label": "PARALLEL" }, { "from": 56, "to": 216, "label": "PARALLEL" }, { "from": 91, "to": 210, "label": "SUCCESS" }, { "from": 215, "to": 218, "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": 215, "to": 220, "label": "EVAL-BACKTRACK" }, { "from": 216, "to": 431, "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": 216, "to": 432, "label": "EVAL-BACKTRACK" }, { "from": 218, "to": 224, "label": "CASE" }, { "from": 224, "to": 225, "label": "PARALLEL" }, { "from": 224, "to": 226, "label": "PARALLEL" }, { "from": 225, "to": 231, "label": "EVAL with clause\nackermann(0, X22, s(X22)).\nand substitutionT17 -> 0,\nX22 -> s(0),\nT18 -> s(s(0))" }, { "from": 225, "to": 232, "label": "EVAL-BACKTRACK" }, { "from": 226, "to": 234, "label": "BACKTRACK\nfor clause: ackermann(s(M), 0, Val) :- ackermann(M, s(0), Val)because of non-unification" }, { "from": 231, "to": 233, "label": "SUCCESS" }, { "from": 234, "to": 237, "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": 234, "to": 239, "label": "EVAL-BACKTRACK" }, { "from": 237, "to": 242, "label": "SPLIT 1" }, { "from": 237, "to": 244, "label": "SPLIT 2\nnew knowledge:\nT24 is ground\nT26 is ground\nreplacements:X35 -> T26" }, { "from": 242, "to": 250, "label": "CASE" }, { "from": 244, "to": 417, "label": "CASE" }, { "from": 250, "to": 251, "label": "BACKTRACK\nfor clause: ackermann(0, N, s(N))because of non-unification" }, { "from": 251, "to": 258, "label": "PARALLEL" }, { "from": 251, "to": 259, "label": "PARALLEL" }, { "from": 258, "to": 276, "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": 259, "to": 389, "label": "BACKTRACK\nfor clause: ackermann(s(M), s(N), Val) :- ','(ackermann(s(M), N, Val1), ackermann(M, Val1, Val))because of non-unification" }, { "from": 276, "to": 292, "label": "CASE" }, { "from": 292, "to": 297, "label": "PARALLEL" }, { "from": 292, "to": 298, "label": "PARALLEL" }, { "from": 297, "to": 300, "label": "EVAL with clause\nackermann(0, X66, s(X66)).\nand substitutionT31 -> 0,\nX66 -> s(0),\nX59 -> s(s(0))" }, { "from": 297, "to": 301, "label": "EVAL-BACKTRACK" }, { "from": 298, "to": 304, "label": "BACKTRACK\nfor clause: ackermann(s(M), 0, Val) :- ackermann(M, s(0), Val)because of non-unification" }, { "from": 300, "to": 303, "label": "SUCCESS" }, { "from": 304, "to": 311, "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": 304, "to": 312, "label": "EVAL-BACKTRACK" }, { "from": 311, "to": 315, "label": "SPLIT 1" }, { "from": 311, "to": 316, "label": "SPLIT 2\nnew knowledge:\nT35 is ground\nT36 is ground\nreplacements:X81 -> T36" }, { "from": 315, "to": 242, "label": "INSTANCE with matching:\nT24 -> T35\nX35 -> X81" }, { "from": 316, "to": 331, "label": "CASE" }, { "from": 331, "to": 332, "label": "PARALLEL" }, { "from": 331, "to": 333, "label": "PARALLEL" }, { "from": 332, "to": 336, "label": "EVAL with clause\nackermann(0, X93, s(X93)).\nand substitutionT35 -> 0,\nT36 -> T43,\nX93 -> T43,\nX82 -> s(T43)" }, { "from": 332, "to": 337, "label": "EVAL-BACKTRACK" }, { "from": 333, "to": 339, "label": "PARALLEL" }, { "from": 333, "to": 340, "label": "PARALLEL" }, { "from": 336, "to": 338, "label": "SUCCESS" }, { "from": 339, "to": 343, "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": 339, "to": 344, "label": "EVAL-BACKTRACK" }, { "from": 340, "to": 347, "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": 340, "to": 348, "label": "EVAL-BACKTRACK" }, { "from": 343, "to": 276, "label": "INSTANCE with matching:\nT31 -> T48\nX59 -> X108" }, { "from": 347, "to": 351, "label": "SPLIT 1" }, { "from": 347, "to": 352, "label": "SPLIT 2\nnew knowledge:\nT53 is ground\nT54 is ground\nT55 is ground\nreplacements:X123 -> T55" }, { "from": 351, "to": 316, "label": "INSTANCE with matching:\nT35 -> s(T53)\nT36 -> T54\nX82 -> X123" }, { "from": 352, "to": 316, "label": "INSTANCE with matching:\nT35 -> T53\nT36 -> T55\nX82 -> X124" }, { "from": 417, "to": 418, "label": "PARALLEL" }, { "from": 417, "to": 419, "label": "PARALLEL" }, { "from": 418, "to": 420, "label": "EVAL with clause\nackermann(0, X140, s(X140)).\nand substitutionT24 -> 0,\nT26 -> T65,\nX140 -> T65,\nT25 -> s(T65)" }, { "from": 418, "to": 421, "label": "EVAL-BACKTRACK" }, { "from": 419, "to": 423, "label": "PARALLEL" }, { "from": 419, "to": 424, "label": "PARALLEL" }, { "from": 420, "to": 422, "label": "SUCCESS" }, { "from": 423, "to": 425, "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": 423, "to": 426, "label": "EVAL-BACKTRACK" }, { "from": 424, "to": 427, "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": 424, "to": 428, "label": "EVAL-BACKTRACK" }, { "from": 425, "to": 218, "label": "INSTANCE with matching:\nT17 -> T74\nT18 -> T75" }, { "from": 427, "to": 429, "label": "SPLIT 1" }, { "from": 427, "to": 430, "label": "SPLIT 2\nnew knowledge:\nT82 is ground\nT83 is ground\nT85 is ground\nreplacements:X163 -> T85" }, { "from": 429, "to": 316, "label": "INSTANCE with matching:\nT35 -> s(T82)\nT36 -> T83\nX82 -> X163" }, { "from": 430, "to": 244, "label": "INSTANCE with matching:\nT24 -> T82\nT26 -> T85\nT25 -> T84" }, { "from": 431, "to": 433, "label": "SPLIT 1" }, { "from": 431, "to": 434, "label": "SPLIT 2\nnew knowledge:\nT94 is ground\nreplacements:X180 -> T98" }, { "from": 433, "to": 435, "label": "CASE" }, { "from": 434, "to": 52, "label": "INSTANCE with matching:\nT1 -> T94\nT2 -> T98\nT3 -> T96" }, { "from": 435, "to": 436, "label": "BACKTRACK\nfor clause: ackermann(0, N, s(N))because of non-unification" }, { "from": 436, "to": 437, "label": "PARALLEL" }, { "from": 436, "to": 443, "label": "PARALLEL" }, { "from": 437, "to": 448, "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": 437, "to": 449, "label": "EVAL-BACKTRACK" }, { "from": 443, "to": 461, "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": 443, "to": 462, "label": "EVAL-BACKTRACK" }, { "from": 448, "to": 276, "label": "INSTANCE with matching:\nT31 -> T103\nX59 -> X200" }, { "from": 461, "to": 463, "label": "SPLIT 1" }, { "from": 461, "to": 464, "label": "SPLIT 2\nnew knowledge:\nT108 is ground\nreplacements:X215 -> T111" }, { "from": 463, "to": 433, "label": "INSTANCE with matching:\nT94 -> T108\nT97 -> T110\nX180 -> X215" }, { "from": 464, "to": 465, "label": "CASE" }, { "from": 465, "to": 466, "label": "PARALLEL" }, { "from": 465, "to": 467, "label": "PARALLEL" }, { "from": 466, "to": 468, "label": "EVAL with clause\nackermann(0, X227, s(X227)).\nand substitutionT108 -> 0,\nT111 -> T118,\nX227 -> T118,\nX216 -> s(T118)" }, { "from": 466, "to": 469, "label": "EVAL-BACKTRACK" }, { "from": 467, "to": 471, "label": "PARALLEL" }, { "from": 467, "to": 472, "label": "PARALLEL" }, { "from": 468, "to": 470, "label": "SUCCESS" }, { "from": 471, "to": 475, "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": 471, "to": 477, "label": "EVAL-BACKTRACK" }, { "from": 472, "to": 483, "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": 472, "to": 484, "label": "EVAL-BACKTRACK" }, { "from": 475, "to": 276, "label": "INSTANCE with matching:\nT31 -> T123\nX59 -> X242" }, { "from": 483, "to": 461, "label": "INSTANCE with matching:\nT108 -> T128\nT110 -> T130\nX215 -> X257\nX216 -> X258" } ], "type": "Graph" } } ---------------------------------------- (82) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: f52_in(0, s(T8)) -> f52_out1 f52_in(s(T17), T18) -> U1(f218_in(T17, T18), s(T17), T18) U1(f218_out1, s(T17), T18) -> f52_out1 f52_in(s(T94), T96) -> U2(f431_in(T94, T96), s(T94), T96) U2(f431_out1, s(T94), T96) -> f52_out1 f242_in(T31) -> U3(f276_in(T31), T31) U3(f276_out1(X59), T31) -> f242_out1(X59) f276_in(0) -> f276_out1(s(s(0))) f276_in(s(T35)) -> U4(f311_in(T35), s(T35)) U4(f311_out1(X81, X82), s(T35)) -> f276_out1(X82) f316_in(0, T43) -> f316_out1(s(T43)) f316_in(s(T48), 0) -> U5(f276_in(T48), s(T48), 0) U5(f276_out1(X108), s(T48), 0) -> f316_out1(X108) f316_in(s(T53), s(T54)) -> U6(f347_in(T53, T54), s(T53), s(T54)) U6(f347_out1(X123, X124), s(T53), s(T54)) -> f316_out1(X124) f218_in(0, s(s(0))) -> f218_out1 f218_in(s(T24), T25) -> U7(f237_in(T24, T25), s(T24), T25) U7(f237_out1(X35), s(T24), T25) -> f218_out1 f244_in(0, T65, s(T65)) -> f244_out1 f244_in(s(T74), 0, T75) -> U8(f218_in(T74, T75), s(T74), 0, T75) U8(f218_out1, s(T74), 0, T75) -> f244_out1 f244_in(s(T82), s(T83), T84) -> U9(f427_in(T82, T83, T84), s(T82), s(T83), T84) U9(f427_out1(X163), s(T82), s(T83), T84) -> f244_out1 f433_in(T103) -> U10(f276_in(T103), T103) U10(f276_out1(X200), T103) -> f433_out1 f433_in(T108) -> U11(f461_in(T108), T108) U11(f461_out1, T108) -> f433_out1 f464_in(0) -> f464_out1 f464_in(s(T123)) -> U12(f276_in(T123), s(T123)) U12(f276_out1(X242), s(T123)) -> f464_out1 f464_in(s(T128)) -> U13(f461_in(T128), s(T128)) U13(f461_out1, s(T128)) -> f464_out1 f237_in(T24, T25) -> U14(f242_in(T24), T24, T25) U14(f242_out1(T26), T24, T25) -> U15(f244_in(T24, T26, T25), T24, T25, T26) U15(f244_out1, T24, T25, T26) -> f237_out1(T26) f311_in(T35) -> U16(f242_in(T35), T35) U16(f242_out1(T36), T35) -> U17(f316_in(T35, T36), T35, T36) U17(f316_out1(X82), T35, T36) -> f311_out1(T36, X82) f347_in(T53, T54) -> U18(f316_in(s(T53), T54), T53, T54) U18(f316_out1(T55), T53, T54) -> U19(f316_in(T53, T55), T53, T54, T55) U19(f316_out1(X124), T53, T54, T55) -> f347_out1(T55, X124) f427_in(T82, T83, T84) -> U20(f316_in(s(T82), T83), T82, T83, T84) U20(f316_out1(T85), T82, T83, T84) -> U21(f244_in(T82, T85, T84), T82, T83, T84, T85) U21(f244_out1, T82, T83, T84, T85) -> f427_out1(T85) f431_in(T94, T96) -> U22(f433_in(T94), T94, T96) U22(f433_out1, T94, T96) -> U23(f52_in(T94, T96), T94, T96) U23(f52_out1, T94, T96) -> f431_out1 f461_in(T108) -> U24(f433_in(T108), T108) U24(f433_out1, T108) -> U25(f464_in(T108), T108) U25(f464_out1, T108) -> f461_out1 Q is empty. ---------------------------------------- (83) DependencyPairsProof (EQUIVALENT) Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. ---------------------------------------- (84) Obligation: Q DP problem: The TRS P consists of the following rules: F52_IN(s(T17), T18) -> U1^1(f218_in(T17, T18), s(T17), T18) F52_IN(s(T17), T18) -> F218_IN(T17, T18) F52_IN(s(T94), T96) -> U2^1(f431_in(T94, T96), s(T94), T96) F52_IN(s(T94), T96) -> F431_IN(T94, T96) F242_IN(T31) -> U3^1(f276_in(T31), T31) F242_IN(T31) -> F276_IN(T31) F276_IN(s(T35)) -> U4^1(f311_in(T35), s(T35)) F276_IN(s(T35)) -> F311_IN(T35) F316_IN(s(T48), 0) -> U5^1(f276_in(T48), s(T48), 0) F316_IN(s(T48), 0) -> F276_IN(T48) F316_IN(s(T53), s(T54)) -> U6^1(f347_in(T53, T54), s(T53), s(T54)) F316_IN(s(T53), s(T54)) -> F347_IN(T53, T54) F218_IN(s(T24), T25) -> U7^1(f237_in(T24, T25), s(T24), T25) F218_IN(s(T24), T25) -> F237_IN(T24, T25) F244_IN(s(T74), 0, T75) -> U8^1(f218_in(T74, T75), s(T74), 0, T75) F244_IN(s(T74), 0, T75) -> F218_IN(T74, T75) F244_IN(s(T82), s(T83), T84) -> U9^1(f427_in(T82, T83, T84), s(T82), s(T83), T84) F244_IN(s(T82), s(T83), T84) -> F427_IN(T82, T83, T84) F433_IN(T103) -> U10^1(f276_in(T103), T103) F433_IN(T103) -> F276_IN(T103) F433_IN(T108) -> U11^1(f461_in(T108), T108) F433_IN(T108) -> F461_IN(T108) F464_IN(s(T123)) -> U12^1(f276_in(T123), s(T123)) F464_IN(s(T123)) -> F276_IN(T123) F464_IN(s(T128)) -> U13^1(f461_in(T128), s(T128)) F464_IN(s(T128)) -> F461_IN(T128) F237_IN(T24, T25) -> U14^1(f242_in(T24), T24, T25) F237_IN(T24, T25) -> F242_IN(T24) U14^1(f242_out1(T26), T24, T25) -> U15^1(f244_in(T24, T26, T25), T24, T25, T26) U14^1(f242_out1(T26), T24, T25) -> F244_IN(T24, T26, T25) F311_IN(T35) -> U16^1(f242_in(T35), T35) F311_IN(T35) -> F242_IN(T35) U16^1(f242_out1(T36), T35) -> U17^1(f316_in(T35, T36), T35, T36) U16^1(f242_out1(T36), T35) -> F316_IN(T35, T36) F347_IN(T53, T54) -> U18^1(f316_in(s(T53), T54), T53, T54) F347_IN(T53, T54) -> F316_IN(s(T53), T54) U18^1(f316_out1(T55), T53, T54) -> U19^1(f316_in(T53, T55), T53, T54, T55) U18^1(f316_out1(T55), T53, T54) -> F316_IN(T53, T55) F427_IN(T82, T83, T84) -> U20^1(f316_in(s(T82), T83), T82, T83, T84) F427_IN(T82, T83, T84) -> F316_IN(s(T82), T83) U20^1(f316_out1(T85), T82, T83, T84) -> U21^1(f244_in(T82, T85, T84), T82, T83, T84, T85) U20^1(f316_out1(T85), T82, T83, T84) -> F244_IN(T82, T85, T84) F431_IN(T94, T96) -> U22^1(f433_in(T94), T94, T96) F431_IN(T94, T96) -> F433_IN(T94) U22^1(f433_out1, T94, T96) -> U23^1(f52_in(T94, T96), T94, T96) U22^1(f433_out1, T94, T96) -> F52_IN(T94, T96) F461_IN(T108) -> U24^1(f433_in(T108), T108) F461_IN(T108) -> F433_IN(T108) U24^1(f433_out1, T108) -> U25^1(f464_in(T108), T108) U24^1(f433_out1, T108) -> F464_IN(T108) The TRS R consists of the following rules: f52_in(0, s(T8)) -> f52_out1 f52_in(s(T17), T18) -> U1(f218_in(T17, T18), s(T17), T18) U1(f218_out1, s(T17), T18) -> f52_out1 f52_in(s(T94), T96) -> U2(f431_in(T94, T96), s(T94), T96) U2(f431_out1, s(T94), T96) -> f52_out1 f242_in(T31) -> U3(f276_in(T31), T31) U3(f276_out1(X59), T31) -> f242_out1(X59) f276_in(0) -> f276_out1(s(s(0))) f276_in(s(T35)) -> U4(f311_in(T35), s(T35)) U4(f311_out1(X81, X82), s(T35)) -> f276_out1(X82) f316_in(0, T43) -> f316_out1(s(T43)) f316_in(s(T48), 0) -> U5(f276_in(T48), s(T48), 0) U5(f276_out1(X108), s(T48), 0) -> f316_out1(X108) f316_in(s(T53), s(T54)) -> U6(f347_in(T53, T54), s(T53), s(T54)) U6(f347_out1(X123, X124), s(T53), s(T54)) -> f316_out1(X124) f218_in(0, s(s(0))) -> f218_out1 f218_in(s(T24), T25) -> U7(f237_in(T24, T25), s(T24), T25) U7(f237_out1(X35), s(T24), T25) -> f218_out1 f244_in(0, T65, s(T65)) -> f244_out1 f244_in(s(T74), 0, T75) -> U8(f218_in(T74, T75), s(T74), 0, T75) U8(f218_out1, s(T74), 0, T75) -> f244_out1 f244_in(s(T82), s(T83), T84) -> U9(f427_in(T82, T83, T84), s(T82), s(T83), T84) U9(f427_out1(X163), s(T82), s(T83), T84) -> f244_out1 f433_in(T103) -> U10(f276_in(T103), T103) U10(f276_out1(X200), T103) -> f433_out1 f433_in(T108) -> U11(f461_in(T108), T108) U11(f461_out1, T108) -> f433_out1 f464_in(0) -> f464_out1 f464_in(s(T123)) -> U12(f276_in(T123), s(T123)) U12(f276_out1(X242), s(T123)) -> f464_out1 f464_in(s(T128)) -> U13(f461_in(T128), s(T128)) U13(f461_out1, s(T128)) -> f464_out1 f237_in(T24, T25) -> U14(f242_in(T24), T24, T25) U14(f242_out1(T26), T24, T25) -> U15(f244_in(T24, T26, T25), T24, T25, T26) U15(f244_out1, T24, T25, T26) -> f237_out1(T26) f311_in(T35) -> U16(f242_in(T35), T35) U16(f242_out1(T36), T35) -> U17(f316_in(T35, T36), T35, T36) U17(f316_out1(X82), T35, T36) -> f311_out1(T36, X82) f347_in(T53, T54) -> U18(f316_in(s(T53), T54), T53, T54) U18(f316_out1(T55), T53, T54) -> U19(f316_in(T53, T55), T53, T54, T55) U19(f316_out1(X124), T53, T54, T55) -> f347_out1(T55, X124) f427_in(T82, T83, T84) -> U20(f316_in(s(T82), T83), T82, T83, T84) U20(f316_out1(T85), T82, T83, T84) -> U21(f244_in(T82, T85, T84), T82, T83, T84, T85) U21(f244_out1, T82, T83, T84, T85) -> f427_out1(T85) f431_in(T94, T96) -> U22(f433_in(T94), T94, T96) U22(f433_out1, T94, T96) -> U23(f52_in(T94, T96), T94, T96) U23(f52_out1, T94, T96) -> f431_out1 f461_in(T108) -> U24(f433_in(T108), T108) U24(f433_out1, T108) -> U25(f464_in(T108), T108) U25(f464_out1, T108) -> f461_out1 Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (85) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 4 SCCs with 25 less nodes. ---------------------------------------- (86) Complex Obligation (AND) ---------------------------------------- (87) Obligation: Q DP problem: The TRS P consists of the following rules: F242_IN(T31) -> F276_IN(T31) F276_IN(s(T35)) -> F311_IN(T35) F311_IN(T35) -> U16^1(f242_in(T35), T35) U16^1(f242_out1(T36), T35) -> F316_IN(T35, T36) F316_IN(s(T48), 0) -> F276_IN(T48) F316_IN(s(T53), s(T54)) -> F347_IN(T53, T54) F347_IN(T53, T54) -> U18^1(f316_in(s(T53), T54), T53, T54) U18^1(f316_out1(T55), T53, T54) -> F316_IN(T53, T55) F347_IN(T53, T54) -> F316_IN(s(T53), T54) F311_IN(T35) -> F242_IN(T35) The TRS R consists of the following rules: f52_in(0, s(T8)) -> f52_out1 f52_in(s(T17), T18) -> U1(f218_in(T17, T18), s(T17), T18) U1(f218_out1, s(T17), T18) -> f52_out1 f52_in(s(T94), T96) -> U2(f431_in(T94, T96), s(T94), T96) U2(f431_out1, s(T94), T96) -> f52_out1 f242_in(T31) -> U3(f276_in(T31), T31) U3(f276_out1(X59), T31) -> f242_out1(X59) f276_in(0) -> f276_out1(s(s(0))) f276_in(s(T35)) -> U4(f311_in(T35), s(T35)) U4(f311_out1(X81, X82), s(T35)) -> f276_out1(X82) f316_in(0, T43) -> f316_out1(s(T43)) f316_in(s(T48), 0) -> U5(f276_in(T48), s(T48), 0) U5(f276_out1(X108), s(T48), 0) -> f316_out1(X108) f316_in(s(T53), s(T54)) -> U6(f347_in(T53, T54), s(T53), s(T54)) U6(f347_out1(X123, X124), s(T53), s(T54)) -> f316_out1(X124) f218_in(0, s(s(0))) -> f218_out1 f218_in(s(T24), T25) -> U7(f237_in(T24, T25), s(T24), T25) U7(f237_out1(X35), s(T24), T25) -> f218_out1 f244_in(0, T65, s(T65)) -> f244_out1 f244_in(s(T74), 0, T75) -> U8(f218_in(T74, T75), s(T74), 0, T75) U8(f218_out1, s(T74), 0, T75) -> f244_out1 f244_in(s(T82), s(T83), T84) -> U9(f427_in(T82, T83, T84), s(T82), s(T83), T84) U9(f427_out1(X163), s(T82), s(T83), T84) -> f244_out1 f433_in(T103) -> U10(f276_in(T103), T103) U10(f276_out1(X200), T103) -> f433_out1 f433_in(T108) -> U11(f461_in(T108), T108) U11(f461_out1, T108) -> f433_out1 f464_in(0) -> f464_out1 f464_in(s(T123)) -> U12(f276_in(T123), s(T123)) U12(f276_out1(X242), s(T123)) -> f464_out1 f464_in(s(T128)) -> U13(f461_in(T128), s(T128)) U13(f461_out1, s(T128)) -> f464_out1 f237_in(T24, T25) -> U14(f242_in(T24), T24, T25) U14(f242_out1(T26), T24, T25) -> U15(f244_in(T24, T26, T25), T24, T25, T26) U15(f244_out1, T24, T25, T26) -> f237_out1(T26) f311_in(T35) -> U16(f242_in(T35), T35) U16(f242_out1(T36), T35) -> U17(f316_in(T35, T36), T35, T36) U17(f316_out1(X82), T35, T36) -> f311_out1(T36, X82) f347_in(T53, T54) -> U18(f316_in(s(T53), T54), T53, T54) U18(f316_out1(T55), T53, T54) -> U19(f316_in(T53, T55), T53, T54, T55) U19(f316_out1(X124), T53, T54, T55) -> f347_out1(T55, X124) f427_in(T82, T83, T84) -> U20(f316_in(s(T82), T83), T82, T83, T84) U20(f316_out1(T85), T82, T83, T84) -> U21(f244_in(T82, T85, T84), T82, T83, T84, T85) U21(f244_out1, T82, T83, T84, T85) -> f427_out1(T85) f431_in(T94, T96) -> U22(f433_in(T94), T94, T96) U22(f433_out1, T94, T96) -> U23(f52_in(T94, T96), T94, T96) U23(f52_out1, T94, T96) -> f431_out1 f461_in(T108) -> U24(f433_in(T108), T108) U24(f433_out1, T108) -> U25(f464_in(T108), T108) U25(f464_out1, T108) -> f461_out1 Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (88) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. F242_IN(T31) -> F276_IN(T31) F276_IN(s(T35)) -> F311_IN(T35) U16^1(f242_out1(T36), T35) -> F316_IN(T35, T36) F311_IN(T35) -> F242_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( f242_in_1(x_1) ) = 0 POL( U3_2(x_1, x_2) ) = 0 POL( f276_in_1(x_1) ) = x_1 POL( f316_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( f347_in_2(x_1, x_2) ) = 2x_1 + 2 POL( U4_2(x_1, x_2) ) = 2 POL( f311_in_1(x_1) ) = x_1 + 2 POL( f311_out1_2(x_1, x_2) ) = 0 POL( f276_out1_1(x_1) ) = 1 POL( U16_2(x_1, x_2) ) = 2 POL( f242_out1_1(x_1) ) = 0 POL( U17_3(x_1, ..., x_3) ) = 0 POL( U19_4(x_1, ..., x_4) ) = 0 POL( f316_out1_1(x_1) ) = 2 POL( f347_out1_2(x_1, x_2) ) = 0 POL( U18_3(x_1, ..., x_3) ) = 2x_2 POL( F242_IN_1(x_1) ) = 2x_1 + 1 POL( F276_IN_1(x_1) ) = 2x_1 POL( F311_IN_1(x_1) ) = 2x_1 + 2 POL( F316_IN_2(x_1, x_2) ) = max{0, x_1 - 2} POL( F347_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: f242_in(T31) -> U3(f276_in(T31), T31) f316_in(s(T48), 0) -> U5(f276_in(T48), s(T48), 0) f316_in(s(T53), s(T54)) -> U6(f347_in(T53, T54), s(T53), s(T54)) f276_in(s(T35)) -> U4(f311_in(T35), s(T35)) U4(f311_out1(X81, X82), s(T35)) -> f276_out1(X82) f311_in(T35) -> U16(f242_in(T35), T35) f276_in(0) -> f276_out1(s(s(0))) U3(f276_out1(X59), T31) -> f242_out1(X59) U16(f242_out1(T36), T35) -> U17(f316_in(T35, T36), T35, T36) U17(f316_out1(X82), T35, T36) -> f311_out1(T36, X82) U5(f276_out1(X108), s(T48), 0) -> f316_out1(X108) U6(f347_out1(X123, X124), s(T53), s(T54)) -> f316_out1(X124) f347_in(T53, T54) -> U18(f316_in(s(T53), T54), T53, T54) U18(f316_out1(T55), T53, T54) -> U19(f316_in(T53, T55), T53, T54, T55) U19(f316_out1(X124), T53, T54, T55) -> f347_out1(T55, X124) ---------------------------------------- (89) Obligation: Q DP problem: The TRS P consists of the following rules: F311_IN(T35) -> U16^1(f242_in(T35), T35) F316_IN(s(T48), 0) -> F276_IN(T48) F316_IN(s(T53), s(T54)) -> F347_IN(T53, T54) F347_IN(T53, T54) -> U18^1(f316_in(s(T53), T54), T53, T54) U18^1(f316_out1(T55), T53, T54) -> F316_IN(T53, T55) F347_IN(T53, T54) -> F316_IN(s(T53), T54) The TRS R consists of the following rules: f52_in(0, s(T8)) -> f52_out1 f52_in(s(T17), T18) -> U1(f218_in(T17, T18), s(T17), T18) U1(f218_out1, s(T17), T18) -> f52_out1 f52_in(s(T94), T96) -> U2(f431_in(T94, T96), s(T94), T96) U2(f431_out1, s(T94), T96) -> f52_out1 f242_in(T31) -> U3(f276_in(T31), T31) U3(f276_out1(X59), T31) -> f242_out1(X59) f276_in(0) -> f276_out1(s(s(0))) f276_in(s(T35)) -> U4(f311_in(T35), s(T35)) U4(f311_out1(X81, X82), s(T35)) -> f276_out1(X82) f316_in(0, T43) -> f316_out1(s(T43)) f316_in(s(T48), 0) -> U5(f276_in(T48), s(T48), 0) U5(f276_out1(X108), s(T48), 0) -> f316_out1(X108) f316_in(s(T53), s(T54)) -> U6(f347_in(T53, T54), s(T53), s(T54)) U6(f347_out1(X123, X124), s(T53), s(T54)) -> f316_out1(X124) f218_in(0, s(s(0))) -> f218_out1 f218_in(s(T24), T25) -> U7(f237_in(T24, T25), s(T24), T25) U7(f237_out1(X35), s(T24), T25) -> f218_out1 f244_in(0, T65, s(T65)) -> f244_out1 f244_in(s(T74), 0, T75) -> U8(f218_in(T74, T75), s(T74), 0, T75) U8(f218_out1, s(T74), 0, T75) -> f244_out1 f244_in(s(T82), s(T83), T84) -> U9(f427_in(T82, T83, T84), s(T82), s(T83), T84) U9(f427_out1(X163), s(T82), s(T83), T84) -> f244_out1 f433_in(T103) -> U10(f276_in(T103), T103) U10(f276_out1(X200), T103) -> f433_out1 f433_in(T108) -> U11(f461_in(T108), T108) U11(f461_out1, T108) -> f433_out1 f464_in(0) -> f464_out1 f464_in(s(T123)) -> U12(f276_in(T123), s(T123)) U12(f276_out1(X242), s(T123)) -> f464_out1 f464_in(s(T128)) -> U13(f461_in(T128), s(T128)) U13(f461_out1, s(T128)) -> f464_out1 f237_in(T24, T25) -> U14(f242_in(T24), T24, T25) U14(f242_out1(T26), T24, T25) -> U15(f244_in(T24, T26, T25), T24, T25, T26) U15(f244_out1, T24, T25, T26) -> f237_out1(T26) f311_in(T35) -> U16(f242_in(T35), T35) U16(f242_out1(T36), T35) -> U17(f316_in(T35, T36), T35, T36) U17(f316_out1(X82), T35, T36) -> f311_out1(T36, X82) f347_in(T53, T54) -> U18(f316_in(s(T53), T54), T53, T54) U18(f316_out1(T55), T53, T54) -> U19(f316_in(T53, T55), T53, T54, T55) U19(f316_out1(X124), T53, T54, T55) -> f347_out1(T55, X124) f427_in(T82, T83, T84) -> U20(f316_in(s(T82), T83), T82, T83, T84) U20(f316_out1(T85), T82, T83, T84) -> U21(f244_in(T82, T85, T84), T82, T83, T84, T85) U21(f244_out1, T82, T83, T84, T85) -> f427_out1(T85) f431_in(T94, T96) -> U22(f433_in(T94), T94, T96) U22(f433_out1, T94, T96) -> U23(f52_in(T94, T96), T94, T96) U23(f52_out1, T94, T96) -> f431_out1 f461_in(T108) -> U24(f433_in(T108), T108) U24(f433_out1, T108) -> U25(f464_in(T108), T108) U25(f464_out1, T108) -> f461_out1 Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (90) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (91) Obligation: Q DP problem: The TRS P consists of the following rules: F316_IN(s(T53), s(T54)) -> F347_IN(T53, T54) F347_IN(T53, T54) -> U18^1(f316_in(s(T53), T54), T53, T54) U18^1(f316_out1(T55), T53, T54) -> F316_IN(T53, T55) F347_IN(T53, T54) -> F316_IN(s(T53), T54) The TRS R consists of the following rules: f52_in(0, s(T8)) -> f52_out1 f52_in(s(T17), T18) -> U1(f218_in(T17, T18), s(T17), T18) U1(f218_out1, s(T17), T18) -> f52_out1 f52_in(s(T94), T96) -> U2(f431_in(T94, T96), s(T94), T96) U2(f431_out1, s(T94), T96) -> f52_out1 f242_in(T31) -> U3(f276_in(T31), T31) U3(f276_out1(X59), T31) -> f242_out1(X59) f276_in(0) -> f276_out1(s(s(0))) f276_in(s(T35)) -> U4(f311_in(T35), s(T35)) U4(f311_out1(X81, X82), s(T35)) -> f276_out1(X82) f316_in(0, T43) -> f316_out1(s(T43)) f316_in(s(T48), 0) -> U5(f276_in(T48), s(T48), 0) U5(f276_out1(X108), s(T48), 0) -> f316_out1(X108) f316_in(s(T53), s(T54)) -> U6(f347_in(T53, T54), s(T53), s(T54)) U6(f347_out1(X123, X124), s(T53), s(T54)) -> f316_out1(X124) f218_in(0, s(s(0))) -> f218_out1 f218_in(s(T24), T25) -> U7(f237_in(T24, T25), s(T24), T25) U7(f237_out1(X35), s(T24), T25) -> f218_out1 f244_in(0, T65, s(T65)) -> f244_out1 f244_in(s(T74), 0, T75) -> U8(f218_in(T74, T75), s(T74), 0, T75) U8(f218_out1, s(T74), 0, T75) -> f244_out1 f244_in(s(T82), s(T83), T84) -> U9(f427_in(T82, T83, T84), s(T82), s(T83), T84) U9(f427_out1(X163), s(T82), s(T83), T84) -> f244_out1 f433_in(T103) -> U10(f276_in(T103), T103) U10(f276_out1(X200), T103) -> f433_out1 f433_in(T108) -> U11(f461_in(T108), T108) U11(f461_out1, T108) -> f433_out1 f464_in(0) -> f464_out1 f464_in(s(T123)) -> U12(f276_in(T123), s(T123)) U12(f276_out1(X242), s(T123)) -> f464_out1 f464_in(s(T128)) -> U13(f461_in(T128), s(T128)) U13(f461_out1, s(T128)) -> f464_out1 f237_in(T24, T25) -> U14(f242_in(T24), T24, T25) U14(f242_out1(T26), T24, T25) -> U15(f244_in(T24, T26, T25), T24, T25, T26) U15(f244_out1, T24, T25, T26) -> f237_out1(T26) f311_in(T35) -> U16(f242_in(T35), T35) U16(f242_out1(T36), T35) -> U17(f316_in(T35, T36), T35, T36) U17(f316_out1(X82), T35, T36) -> f311_out1(T36, X82) f347_in(T53, T54) -> U18(f316_in(s(T53), T54), T53, T54) U18(f316_out1(T55), T53, T54) -> U19(f316_in(T53, T55), T53, T54, T55) U19(f316_out1(X124), T53, T54, T55) -> f347_out1(T55, X124) f427_in(T82, T83, T84) -> U20(f316_in(s(T82), T83), T82, T83, T84) U20(f316_out1(T85), T82, T83, T84) -> U21(f244_in(T82, T85, T84), T82, T83, T84, T85) U21(f244_out1, T82, T83, T84, T85) -> f427_out1(T85) f431_in(T94, T96) -> U22(f433_in(T94), T94, T96) U22(f433_out1, T94, T96) -> U23(f52_in(T94, T96), T94, T96) U23(f52_out1, T94, T96) -> f431_out1 f461_in(T108) -> U24(f433_in(T108), T108) U24(f433_out1, T108) -> U25(f464_in(T108), T108) U25(f464_out1, T108) -> f461_out1 Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (92) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. U18^1(f316_out1(T55), T53, T54) -> F316_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( f316_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( f276_in_1(x_1) ) = 0 POL( U6_3(x_1, ..., x_3) ) = max{0, x_1 - 2} POL( f347_in_2(x_1, x_2) ) = 0 POL( U4_2(x_1, x_2) ) = max{0, 2x_1 - 2} POL( f311_in_1(x_1) ) = 0 POL( f311_out1_2(x_1, x_2) ) = 2x_1 POL( f276_out1_1(x_1) ) = max{0, x_1 - 1} POL( U16_2(x_1, x_2) ) = max{0, 2x_2 - 2} POL( f242_in_1(x_1) ) = 0 POL( U3_2(x_1, x_2) ) = max{0, 2x_1 - 2} POL( f242_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( f316_out1_1(x_1) ) = max{0, x_1 - 2} POL( f347_out1_2(x_1, x_2) ) = x_1 POL( U18_3(x_1, ..., x_3) ) = 2x_2 + 2 POL( F316_IN_2(x_1, x_2) ) = x_1 POL( F347_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 ---------------------------------------- (93) Obligation: Q DP problem: The TRS P consists of the following rules: F316_IN(s(T53), s(T54)) -> F347_IN(T53, T54) F347_IN(T53, T54) -> U18^1(f316_in(s(T53), T54), T53, T54) F347_IN(T53, T54) -> F316_IN(s(T53), T54) The TRS R consists of the following rules: f52_in(0, s(T8)) -> f52_out1 f52_in(s(T17), T18) -> U1(f218_in(T17, T18), s(T17), T18) U1(f218_out1, s(T17), T18) -> f52_out1 f52_in(s(T94), T96) -> U2(f431_in(T94, T96), s(T94), T96) U2(f431_out1, s(T94), T96) -> f52_out1 f242_in(T31) -> U3(f276_in(T31), T31) U3(f276_out1(X59), T31) -> f242_out1(X59) f276_in(0) -> f276_out1(s(s(0))) f276_in(s(T35)) -> U4(f311_in(T35), s(T35)) U4(f311_out1(X81, X82), s(T35)) -> f276_out1(X82) f316_in(0, T43) -> f316_out1(s(T43)) f316_in(s(T48), 0) -> U5(f276_in(T48), s(T48), 0) U5(f276_out1(X108), s(T48), 0) -> f316_out1(X108) f316_in(s(T53), s(T54)) -> U6(f347_in(T53, T54), s(T53), s(T54)) U6(f347_out1(X123, X124), s(T53), s(T54)) -> f316_out1(X124) f218_in(0, s(s(0))) -> f218_out1 f218_in(s(T24), T25) -> U7(f237_in(T24, T25), s(T24), T25) U7(f237_out1(X35), s(T24), T25) -> f218_out1 f244_in(0, T65, s(T65)) -> f244_out1 f244_in(s(T74), 0, T75) -> U8(f218_in(T74, T75), s(T74), 0, T75) U8(f218_out1, s(T74), 0, T75) -> f244_out1 f244_in(s(T82), s(T83), T84) -> U9(f427_in(T82, T83, T84), s(T82), s(T83), T84) U9(f427_out1(X163), s(T82), s(T83), T84) -> f244_out1 f433_in(T103) -> U10(f276_in(T103), T103) U10(f276_out1(X200), T103) -> f433_out1 f433_in(T108) -> U11(f461_in(T108), T108) U11(f461_out1, T108) -> f433_out1 f464_in(0) -> f464_out1 f464_in(s(T123)) -> U12(f276_in(T123), s(T123)) U12(f276_out1(X242), s(T123)) -> f464_out1 f464_in(s(T128)) -> U13(f461_in(T128), s(T128)) U13(f461_out1, s(T128)) -> f464_out1 f237_in(T24, T25) -> U14(f242_in(T24), T24, T25) U14(f242_out1(T26), T24, T25) -> U15(f244_in(T24, T26, T25), T24, T25, T26) U15(f244_out1, T24, T25, T26) -> f237_out1(T26) f311_in(T35) -> U16(f242_in(T35), T35) U16(f242_out1(T36), T35) -> U17(f316_in(T35, T36), T35, T36) U17(f316_out1(X82), T35, T36) -> f311_out1(T36, X82) f347_in(T53, T54) -> U18(f316_in(s(T53), T54), T53, T54) U18(f316_out1(T55), T53, T54) -> U19(f316_in(T53, T55), T53, T54, T55) U19(f316_out1(X124), T53, T54, T55) -> f347_out1(T55, X124) f427_in(T82, T83, T84) -> U20(f316_in(s(T82), T83), T82, T83, T84) U20(f316_out1(T85), T82, T83, T84) -> U21(f244_in(T82, T85, T84), T82, T83, T84, T85) U21(f244_out1, T82, T83, T84, T85) -> f427_out1(T85) f431_in(T94, T96) -> U22(f433_in(T94), T94, T96) U22(f433_out1, T94, T96) -> U23(f52_in(T94, T96), T94, T96) U23(f52_out1, T94, T96) -> f431_out1 f461_in(T108) -> U24(f433_in(T108), T108) U24(f433_out1, T108) -> U25(f464_in(T108), T108) U25(f464_out1, T108) -> f461_out1 Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (94) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (95) Obligation: Q DP problem: The TRS P consists of the following rules: F347_IN(T53, T54) -> F316_IN(s(T53), T54) F316_IN(s(T53), s(T54)) -> F347_IN(T53, T54) The TRS R consists of the following rules: f52_in(0, s(T8)) -> f52_out1 f52_in(s(T17), T18) -> U1(f218_in(T17, T18), s(T17), T18) U1(f218_out1, s(T17), T18) -> f52_out1 f52_in(s(T94), T96) -> U2(f431_in(T94, T96), s(T94), T96) U2(f431_out1, s(T94), T96) -> f52_out1 f242_in(T31) -> U3(f276_in(T31), T31) U3(f276_out1(X59), T31) -> f242_out1(X59) f276_in(0) -> f276_out1(s(s(0))) f276_in(s(T35)) -> U4(f311_in(T35), s(T35)) U4(f311_out1(X81, X82), s(T35)) -> f276_out1(X82) f316_in(0, T43) -> f316_out1(s(T43)) f316_in(s(T48), 0) -> U5(f276_in(T48), s(T48), 0) U5(f276_out1(X108), s(T48), 0) -> f316_out1(X108) f316_in(s(T53), s(T54)) -> U6(f347_in(T53, T54), s(T53), s(T54)) U6(f347_out1(X123, X124), s(T53), s(T54)) -> f316_out1(X124) f218_in(0, s(s(0))) -> f218_out1 f218_in(s(T24), T25) -> U7(f237_in(T24, T25), s(T24), T25) U7(f237_out1(X35), s(T24), T25) -> f218_out1 f244_in(0, T65, s(T65)) -> f244_out1 f244_in(s(T74), 0, T75) -> U8(f218_in(T74, T75), s(T74), 0, T75) U8(f218_out1, s(T74), 0, T75) -> f244_out1 f244_in(s(T82), s(T83), T84) -> U9(f427_in(T82, T83, T84), s(T82), s(T83), T84) U9(f427_out1(X163), s(T82), s(T83), T84) -> f244_out1 f433_in(T103) -> U10(f276_in(T103), T103) U10(f276_out1(X200), T103) -> f433_out1 f433_in(T108) -> U11(f461_in(T108), T108) U11(f461_out1, T108) -> f433_out1 f464_in(0) -> f464_out1 f464_in(s(T123)) -> U12(f276_in(T123), s(T123)) U12(f276_out1(X242), s(T123)) -> f464_out1 f464_in(s(T128)) -> U13(f461_in(T128), s(T128)) U13(f461_out1, s(T128)) -> f464_out1 f237_in(T24, T25) -> U14(f242_in(T24), T24, T25) U14(f242_out1(T26), T24, T25) -> U15(f244_in(T24, T26, T25), T24, T25, T26) U15(f244_out1, T24, T25, T26) -> f237_out1(T26) f311_in(T35) -> U16(f242_in(T35), T35) U16(f242_out1(T36), T35) -> U17(f316_in(T35, T36), T35, T36) U17(f316_out1(X82), T35, T36) -> f311_out1(T36, X82) f347_in(T53, T54) -> U18(f316_in(s(T53), T54), T53, T54) U18(f316_out1(T55), T53, T54) -> U19(f316_in(T53, T55), T53, T54, T55) U19(f316_out1(X124), T53, T54, T55) -> f347_out1(T55, X124) f427_in(T82, T83, T84) -> U20(f316_in(s(T82), T83), T82, T83, T84) U20(f316_out1(T85), T82, T83, T84) -> U21(f244_in(T82, T85, T84), T82, T83, T84, T85) U21(f244_out1, T82, T83, T84, T85) -> f427_out1(T85) f431_in(T94, T96) -> U22(f433_in(T94), T94, T96) U22(f433_out1, T94, T96) -> U23(f52_in(T94, T96), T94, T96) U23(f52_out1, T94, T96) -> f431_out1 f461_in(T108) -> U24(f433_in(T108), T108) U24(f433_out1, T108) -> U25(f464_in(T108), T108) U25(f464_out1, T108) -> f461_out1 Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (96) 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. ---------------------------------------- (97) Obligation: Q DP problem: The TRS P consists of the following rules: F347_IN(T53, T54) -> F316_IN(s(T53), T54) F316_IN(s(T53), s(T54)) -> F347_IN(T53, T54) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (98) 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: *F316_IN(s(T53), s(T54)) -> F347_IN(T53, T54) The graph contains the following edges 1 > 1, 2 > 2 *F347_IN(T53, T54) -> F316_IN(s(T53), T54) The graph contains the following edges 2 >= 2 ---------------------------------------- (99) YES ---------------------------------------- (100) Obligation: Q DP problem: The TRS P consists of the following rules: F433_IN(T108) -> F461_IN(T108) F461_IN(T108) -> U24^1(f433_in(T108), T108) U24^1(f433_out1, T108) -> F464_IN(T108) F464_IN(s(T128)) -> F461_IN(T128) F461_IN(T108) -> F433_IN(T108) The TRS R consists of the following rules: f52_in(0, s(T8)) -> f52_out1 f52_in(s(T17), T18) -> U1(f218_in(T17, T18), s(T17), T18) U1(f218_out1, s(T17), T18) -> f52_out1 f52_in(s(T94), T96) -> U2(f431_in(T94, T96), s(T94), T96) U2(f431_out1, s(T94), T96) -> f52_out1 f242_in(T31) -> U3(f276_in(T31), T31) U3(f276_out1(X59), T31) -> f242_out1(X59) f276_in(0) -> f276_out1(s(s(0))) f276_in(s(T35)) -> U4(f311_in(T35), s(T35)) U4(f311_out1(X81, X82), s(T35)) -> f276_out1(X82) f316_in(0, T43) -> f316_out1(s(T43)) f316_in(s(T48), 0) -> U5(f276_in(T48), s(T48), 0) U5(f276_out1(X108), s(T48), 0) -> f316_out1(X108) f316_in(s(T53), s(T54)) -> U6(f347_in(T53, T54), s(T53), s(T54)) U6(f347_out1(X123, X124), s(T53), s(T54)) -> f316_out1(X124) f218_in(0, s(s(0))) -> f218_out1 f218_in(s(T24), T25) -> U7(f237_in(T24, T25), s(T24), T25) U7(f237_out1(X35), s(T24), T25) -> f218_out1 f244_in(0, T65, s(T65)) -> f244_out1 f244_in(s(T74), 0, T75) -> U8(f218_in(T74, T75), s(T74), 0, T75) U8(f218_out1, s(T74), 0, T75) -> f244_out1 f244_in(s(T82), s(T83), T84) -> U9(f427_in(T82, T83, T84), s(T82), s(T83), T84) U9(f427_out1(X163), s(T82), s(T83), T84) -> f244_out1 f433_in(T103) -> U10(f276_in(T103), T103) U10(f276_out1(X200), T103) -> f433_out1 f433_in(T108) -> U11(f461_in(T108), T108) U11(f461_out1, T108) -> f433_out1 f464_in(0) -> f464_out1 f464_in(s(T123)) -> U12(f276_in(T123), s(T123)) U12(f276_out1(X242), s(T123)) -> f464_out1 f464_in(s(T128)) -> U13(f461_in(T128), s(T128)) U13(f461_out1, s(T128)) -> f464_out1 f237_in(T24, T25) -> U14(f242_in(T24), T24, T25) U14(f242_out1(T26), T24, T25) -> U15(f244_in(T24, T26, T25), T24, T25, T26) U15(f244_out1, T24, T25, T26) -> f237_out1(T26) f311_in(T35) -> U16(f242_in(T35), T35) U16(f242_out1(T36), T35) -> U17(f316_in(T35, T36), T35, T36) U17(f316_out1(X82), T35, T36) -> f311_out1(T36, X82) f347_in(T53, T54) -> U18(f316_in(s(T53), T54), T53, T54) U18(f316_out1(T55), T53, T54) -> U19(f316_in(T53, T55), T53, T54, T55) U19(f316_out1(X124), T53, T54, T55) -> f347_out1(T55, X124) f427_in(T82, T83, T84) -> U20(f316_in(s(T82), T83), T82, T83, T84) U20(f316_out1(T85), T82, T83, T84) -> U21(f244_in(T82, T85, T84), T82, T83, T84, T85) U21(f244_out1, T82, T83, T84, T85) -> f427_out1(T85) f431_in(T94, T96) -> U22(f433_in(T94), T94, T96) U22(f433_out1, T94, T96) -> U23(f52_in(T94, T96), T94, T96) U23(f52_out1, T94, T96) -> f431_out1 f461_in(T108) -> U24(f433_in(T108), T108) U24(f433_out1, T108) -> U25(f464_in(T108), T108) U25(f464_out1, T108) -> f461_out1 Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (101) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. U24^1(f433_out1, T108) -> F464_IN(T108) F464_IN(s(T128)) -> F461_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( f433_in_1(x_1) ) = 2 POL( U10_2(x_1, x_2) ) = max{0, 2x_2 - 2} POL( f276_in_1(x_1) ) = 2x_1 POL( U11_2(x_1, x_2) ) = max{0, 2x_2 - 2} POL( f461_in_1(x_1) ) = 0 POL( f461_out1 ) = 2 POL( f433_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( f464_in_1(x_1) ) = 2 POL( 0 ) = 0 POL( f464_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( f276_out1_1(x_1) ) = max{0, x_1 - 2} POL( U4_2(x_1, x_2) ) = 2x_1 + 2 POL( f311_in_1(x_1) ) = 0 POL( f311_out1_2(x_1, x_2) ) = x_2 POL( U16_2(x_1, x_2) ) = 2x_2 + 2 POL( f242_in_1(x_1) ) = 2x_1 + 1 POL( U3_2(x_1, x_2) ) = max{0, 2x_1 - 2} POL( f242_out1_1(x_1) ) = 2x_1 + 2 POL( U17_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_3 - 2} POL( f316_in_2(x_1, x_2) ) = max{0, 2x_2 - 2} POL( U19_4(x_1, ..., x_4) ) = max{0, 2x_1 - 2} POL( f316_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( f347_in_2(x_1, x_2) ) = x_1 + 2 POL( f347_out1_2(x_1, x_2) ) = 2x_1 + 1 POL( U18_3(x_1, ..., x_3) ) = 2 POL( F433_IN_1(x_1) ) = 2x_1 + 2 POL( F461_IN_1(x_1) ) = 2x_1 + 2 POL( F464_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 ---------------------------------------- (102) Obligation: Q DP problem: The TRS P consists of the following rules: F433_IN(T108) -> F461_IN(T108) F461_IN(T108) -> U24^1(f433_in(T108), T108) F461_IN(T108) -> F433_IN(T108) The TRS R consists of the following rules: f52_in(0, s(T8)) -> f52_out1 f52_in(s(T17), T18) -> U1(f218_in(T17, T18), s(T17), T18) U1(f218_out1, s(T17), T18) -> f52_out1 f52_in(s(T94), T96) -> U2(f431_in(T94, T96), s(T94), T96) U2(f431_out1, s(T94), T96) -> f52_out1 f242_in(T31) -> U3(f276_in(T31), T31) U3(f276_out1(X59), T31) -> f242_out1(X59) f276_in(0) -> f276_out1(s(s(0))) f276_in(s(T35)) -> U4(f311_in(T35), s(T35)) U4(f311_out1(X81, X82), s(T35)) -> f276_out1(X82) f316_in(0, T43) -> f316_out1(s(T43)) f316_in(s(T48), 0) -> U5(f276_in(T48), s(T48), 0) U5(f276_out1(X108), s(T48), 0) -> f316_out1(X108) f316_in(s(T53), s(T54)) -> U6(f347_in(T53, T54), s(T53), s(T54)) U6(f347_out1(X123, X124), s(T53), s(T54)) -> f316_out1(X124) f218_in(0, s(s(0))) -> f218_out1 f218_in(s(T24), T25) -> U7(f237_in(T24, T25), s(T24), T25) U7(f237_out1(X35), s(T24), T25) -> f218_out1 f244_in(0, T65, s(T65)) -> f244_out1 f244_in(s(T74), 0, T75) -> U8(f218_in(T74, T75), s(T74), 0, T75) U8(f218_out1, s(T74), 0, T75) -> f244_out1 f244_in(s(T82), s(T83), T84) -> U9(f427_in(T82, T83, T84), s(T82), s(T83), T84) U9(f427_out1(X163), s(T82), s(T83), T84) -> f244_out1 f433_in(T103) -> U10(f276_in(T103), T103) U10(f276_out1(X200), T103) -> f433_out1 f433_in(T108) -> U11(f461_in(T108), T108) U11(f461_out1, T108) -> f433_out1 f464_in(0) -> f464_out1 f464_in(s(T123)) -> U12(f276_in(T123), s(T123)) U12(f276_out1(X242), s(T123)) -> f464_out1 f464_in(s(T128)) -> U13(f461_in(T128), s(T128)) U13(f461_out1, s(T128)) -> f464_out1 f237_in(T24, T25) -> U14(f242_in(T24), T24, T25) U14(f242_out1(T26), T24, T25) -> U15(f244_in(T24, T26, T25), T24, T25, T26) U15(f244_out1, T24, T25, T26) -> f237_out1(T26) f311_in(T35) -> U16(f242_in(T35), T35) U16(f242_out1(T36), T35) -> U17(f316_in(T35, T36), T35, T36) U17(f316_out1(X82), T35, T36) -> f311_out1(T36, X82) f347_in(T53, T54) -> U18(f316_in(s(T53), T54), T53, T54) U18(f316_out1(T55), T53, T54) -> U19(f316_in(T53, T55), T53, T54, T55) U19(f316_out1(X124), T53, T54, T55) -> f347_out1(T55, X124) f427_in(T82, T83, T84) -> U20(f316_in(s(T82), T83), T82, T83, T84) U20(f316_out1(T85), T82, T83, T84) -> U21(f244_in(T82, T85, T84), T82, T83, T84, T85) U21(f244_out1, T82, T83, T84, T85) -> f427_out1(T85) f431_in(T94, T96) -> U22(f433_in(T94), T94, T96) U22(f433_out1, T94, T96) -> U23(f52_in(T94, T96), T94, T96) U23(f52_out1, T94, T96) -> f431_out1 f461_in(T108) -> U24(f433_in(T108), T108) U24(f433_out1, T108) -> U25(f464_in(T108), T108) U25(f464_out1, T108) -> f461_out1 Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (103) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (104) Obligation: Q DP problem: The TRS P consists of the following rules: F461_IN(T108) -> F433_IN(T108) F433_IN(T108) -> F461_IN(T108) The TRS R consists of the following rules: f52_in(0, s(T8)) -> f52_out1 f52_in(s(T17), T18) -> U1(f218_in(T17, T18), s(T17), T18) U1(f218_out1, s(T17), T18) -> f52_out1 f52_in(s(T94), T96) -> U2(f431_in(T94, T96), s(T94), T96) U2(f431_out1, s(T94), T96) -> f52_out1 f242_in(T31) -> U3(f276_in(T31), T31) U3(f276_out1(X59), T31) -> f242_out1(X59) f276_in(0) -> f276_out1(s(s(0))) f276_in(s(T35)) -> U4(f311_in(T35), s(T35)) U4(f311_out1(X81, X82), s(T35)) -> f276_out1(X82) f316_in(0, T43) -> f316_out1(s(T43)) f316_in(s(T48), 0) -> U5(f276_in(T48), s(T48), 0) U5(f276_out1(X108), s(T48), 0) -> f316_out1(X108) f316_in(s(T53), s(T54)) -> U6(f347_in(T53, T54), s(T53), s(T54)) U6(f347_out1(X123, X124), s(T53), s(T54)) -> f316_out1(X124) f218_in(0, s(s(0))) -> f218_out1 f218_in(s(T24), T25) -> U7(f237_in(T24, T25), s(T24), T25) U7(f237_out1(X35), s(T24), T25) -> f218_out1 f244_in(0, T65, s(T65)) -> f244_out1 f244_in(s(T74), 0, T75) -> U8(f218_in(T74, T75), s(T74), 0, T75) U8(f218_out1, s(T74), 0, T75) -> f244_out1 f244_in(s(T82), s(T83), T84) -> U9(f427_in(T82, T83, T84), s(T82), s(T83), T84) U9(f427_out1(X163), s(T82), s(T83), T84) -> f244_out1 f433_in(T103) -> U10(f276_in(T103), T103) U10(f276_out1(X200), T103) -> f433_out1 f433_in(T108) -> U11(f461_in(T108), T108) U11(f461_out1, T108) -> f433_out1 f464_in(0) -> f464_out1 f464_in(s(T123)) -> U12(f276_in(T123), s(T123)) U12(f276_out1(X242), s(T123)) -> f464_out1 f464_in(s(T128)) -> U13(f461_in(T128), s(T128)) U13(f461_out1, s(T128)) -> f464_out1 f237_in(T24, T25) -> U14(f242_in(T24), T24, T25) U14(f242_out1(T26), T24, T25) -> U15(f244_in(T24, T26, T25), T24, T25, T26) U15(f244_out1, T24, T25, T26) -> f237_out1(T26) f311_in(T35) -> U16(f242_in(T35), T35) U16(f242_out1(T36), T35) -> U17(f316_in(T35, T36), T35, T36) U17(f316_out1(X82), T35, T36) -> f311_out1(T36, X82) f347_in(T53, T54) -> U18(f316_in(s(T53), T54), T53, T54) U18(f316_out1(T55), T53, T54) -> U19(f316_in(T53, T55), T53, T54, T55) U19(f316_out1(X124), T53, T54, T55) -> f347_out1(T55, X124) f427_in(T82, T83, T84) -> U20(f316_in(s(T82), T83), T82, T83, T84) U20(f316_out1(T85), T82, T83, T84) -> U21(f244_in(T82, T85, T84), T82, T83, T84, T85) U21(f244_out1, T82, T83, T84, T85) -> f427_out1(T85) f431_in(T94, T96) -> U22(f433_in(T94), T94, T96) U22(f433_out1, T94, T96) -> U23(f52_in(T94, T96), T94, T96) U23(f52_out1, T94, T96) -> f431_out1 f461_in(T108) -> U24(f433_in(T108), T108) U24(f433_out1, T108) -> U25(f464_in(T108), T108) U25(f464_out1, T108) -> f461_out1 Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (105) 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. ---------------------------------------- (106) Obligation: Q DP problem: The TRS P consists of the following rules: F461_IN(T108) -> F433_IN(T108) F433_IN(T108) -> F461_IN(T108) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (107) 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 = F433_IN(T108') evaluates to t =F433_IN(T108') Thus s starts an infinite chain as s semiunifies with t with the following substitutions: * Matcher: [ ] * Semiunifier: [ ] -------------------------------------------------------------------------------- Rewriting sequence F433_IN(T108') -> F461_IN(T108') with rule F433_IN(T108'') -> F461_IN(T108'') at position [] and matcher [T108'' / T108'] F461_IN(T108') -> F433_IN(T108') with rule F461_IN(T108) -> F433_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. ---------------------------------------- (108) NO ---------------------------------------- (109) Obligation: Q DP problem: The TRS P consists of the following rules: F237_IN(T24, T25) -> U14^1(f242_in(T24), T24, T25) U14^1(f242_out1(T26), T24, T25) -> F244_IN(T24, T26, T25) F244_IN(s(T74), 0, T75) -> F218_IN(T74, T75) F218_IN(s(T24), T25) -> F237_IN(T24, T25) F244_IN(s(T82), s(T83), T84) -> F427_IN(T82, T83, T84) F427_IN(T82, T83, T84) -> U20^1(f316_in(s(T82), T83), T82, T83, T84) U20^1(f316_out1(T85), T82, T83, T84) -> F244_IN(T82, T85, T84) The TRS R consists of the following rules: f52_in(0, s(T8)) -> f52_out1 f52_in(s(T17), T18) -> U1(f218_in(T17, T18), s(T17), T18) U1(f218_out1, s(T17), T18) -> f52_out1 f52_in(s(T94), T96) -> U2(f431_in(T94, T96), s(T94), T96) U2(f431_out1, s(T94), T96) -> f52_out1 f242_in(T31) -> U3(f276_in(T31), T31) U3(f276_out1(X59), T31) -> f242_out1(X59) f276_in(0) -> f276_out1(s(s(0))) f276_in(s(T35)) -> U4(f311_in(T35), s(T35)) U4(f311_out1(X81, X82), s(T35)) -> f276_out1(X82) f316_in(0, T43) -> f316_out1(s(T43)) f316_in(s(T48), 0) -> U5(f276_in(T48), s(T48), 0) U5(f276_out1(X108), s(T48), 0) -> f316_out1(X108) f316_in(s(T53), s(T54)) -> U6(f347_in(T53, T54), s(T53), s(T54)) U6(f347_out1(X123, X124), s(T53), s(T54)) -> f316_out1(X124) f218_in(0, s(s(0))) -> f218_out1 f218_in(s(T24), T25) -> U7(f237_in(T24, T25), s(T24), T25) U7(f237_out1(X35), s(T24), T25) -> f218_out1 f244_in(0, T65, s(T65)) -> f244_out1 f244_in(s(T74), 0, T75) -> U8(f218_in(T74, T75), s(T74), 0, T75) U8(f218_out1, s(T74), 0, T75) -> f244_out1 f244_in(s(T82), s(T83), T84) -> U9(f427_in(T82, T83, T84), s(T82), s(T83), T84) U9(f427_out1(X163), s(T82), s(T83), T84) -> f244_out1 f433_in(T103) -> U10(f276_in(T103), T103) U10(f276_out1(X200), T103) -> f433_out1 f433_in(T108) -> U11(f461_in(T108), T108) U11(f461_out1, T108) -> f433_out1 f464_in(0) -> f464_out1 f464_in(s(T123)) -> U12(f276_in(T123), s(T123)) U12(f276_out1(X242), s(T123)) -> f464_out1 f464_in(s(T128)) -> U13(f461_in(T128), s(T128)) U13(f461_out1, s(T128)) -> f464_out1 f237_in(T24, T25) -> U14(f242_in(T24), T24, T25) U14(f242_out1(T26), T24, T25) -> U15(f244_in(T24, T26, T25), T24, T25, T26) U15(f244_out1, T24, T25, T26) -> f237_out1(T26) f311_in(T35) -> U16(f242_in(T35), T35) U16(f242_out1(T36), T35) -> U17(f316_in(T35, T36), T35, T36) U17(f316_out1(X82), T35, T36) -> f311_out1(T36, X82) f347_in(T53, T54) -> U18(f316_in(s(T53), T54), T53, T54) U18(f316_out1(T55), T53, T54) -> U19(f316_in(T53, T55), T53, T54, T55) U19(f316_out1(X124), T53, T54, T55) -> f347_out1(T55, X124) f427_in(T82, T83, T84) -> U20(f316_in(s(T82), T83), T82, T83, T84) U20(f316_out1(T85), T82, T83, T84) -> U21(f244_in(T82, T85, T84), T82, T83, T84, T85) U21(f244_out1, T82, T83, T84, T85) -> f427_out1(T85) f431_in(T94, T96) -> U22(f433_in(T94), T94, T96) U22(f433_out1, T94, T96) -> U23(f52_in(T94, T96), T94, T96) U23(f52_out1, T94, T96) -> f431_out1 f461_in(T108) -> U24(f433_in(T108), T108) U24(f433_out1, T108) -> U25(f464_in(T108), T108) U25(f464_out1, T108) -> f461_out1 Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (110) 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(f242_out1(T26), T24, T25) -> F244_IN(T24, T26, T25) The graph contains the following edges 2 >= 1, 1 > 2, 3 >= 3 *F218_IN(s(T24), T25) -> F237_IN(T24, T25) The graph contains the following edges 1 > 1, 2 >= 2 *F237_IN(T24, T25) -> U14^1(f242_in(T24), T24, T25) The graph contains the following edges 1 >= 2, 2 >= 3 *U20^1(f316_out1(T85), T82, T83, T84) -> F244_IN(T82, T85, T84) The graph contains the following edges 2 >= 1, 1 > 2, 4 >= 3 *F427_IN(T82, T83, T84) -> U20^1(f316_in(s(T82), T83), T82, T83, T84) The graph contains the following edges 1 >= 2, 2 >= 3, 3 >= 4 *F244_IN(s(T74), 0, T75) -> F218_IN(T74, T75) The graph contains the following edges 1 > 1, 3 >= 2 *F244_IN(s(T82), s(T83), T84) -> F427_IN(T82, T83, T84) The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 ---------------------------------------- (111) YES ---------------------------------------- (112) Obligation: Q DP problem: The TRS P consists of the following rules: F52_IN(s(T94), T96) -> F431_IN(T94, T96) F431_IN(T94, T96) -> U22^1(f433_in(T94), T94, T96) U22^1(f433_out1, T94, T96) -> F52_IN(T94, T96) The TRS R consists of the following rules: f52_in(0, s(T8)) -> f52_out1 f52_in(s(T17), T18) -> U1(f218_in(T17, T18), s(T17), T18) U1(f218_out1, s(T17), T18) -> f52_out1 f52_in(s(T94), T96) -> U2(f431_in(T94, T96), s(T94), T96) U2(f431_out1, s(T94), T96) -> f52_out1 f242_in(T31) -> U3(f276_in(T31), T31) U3(f276_out1(X59), T31) -> f242_out1(X59) f276_in(0) -> f276_out1(s(s(0))) f276_in(s(T35)) -> U4(f311_in(T35), s(T35)) U4(f311_out1(X81, X82), s(T35)) -> f276_out1(X82) f316_in(0, T43) -> f316_out1(s(T43)) f316_in(s(T48), 0) -> U5(f276_in(T48), s(T48), 0) U5(f276_out1(X108), s(T48), 0) -> f316_out1(X108) f316_in(s(T53), s(T54)) -> U6(f347_in(T53, T54), s(T53), s(T54)) U6(f347_out1(X123, X124), s(T53), s(T54)) -> f316_out1(X124) f218_in(0, s(s(0))) -> f218_out1 f218_in(s(T24), T25) -> U7(f237_in(T24, T25), s(T24), T25) U7(f237_out1(X35), s(T24), T25) -> f218_out1 f244_in(0, T65, s(T65)) -> f244_out1 f244_in(s(T74), 0, T75) -> U8(f218_in(T74, T75), s(T74), 0, T75) U8(f218_out1, s(T74), 0, T75) -> f244_out1 f244_in(s(T82), s(T83), T84) -> U9(f427_in(T82, T83, T84), s(T82), s(T83), T84) U9(f427_out1(X163), s(T82), s(T83), T84) -> f244_out1 f433_in(T103) -> U10(f276_in(T103), T103) U10(f276_out1(X200), T103) -> f433_out1 f433_in(T108) -> U11(f461_in(T108), T108) U11(f461_out1, T108) -> f433_out1 f464_in(0) -> f464_out1 f464_in(s(T123)) -> U12(f276_in(T123), s(T123)) U12(f276_out1(X242), s(T123)) -> f464_out1 f464_in(s(T128)) -> U13(f461_in(T128), s(T128)) U13(f461_out1, s(T128)) -> f464_out1 f237_in(T24, T25) -> U14(f242_in(T24), T24, T25) U14(f242_out1(T26), T24, T25) -> U15(f244_in(T24, T26, T25), T24, T25, T26) U15(f244_out1, T24, T25, T26) -> f237_out1(T26) f311_in(T35) -> U16(f242_in(T35), T35) U16(f242_out1(T36), T35) -> U17(f316_in(T35, T36), T35, T36) U17(f316_out1(X82), T35, T36) -> f311_out1(T36, X82) f347_in(T53, T54) -> U18(f316_in(s(T53), T54), T53, T54) U18(f316_out1(T55), T53, T54) -> U19(f316_in(T53, T55), T53, T54, T55) U19(f316_out1(X124), T53, T54, T55) -> f347_out1(T55, X124) f427_in(T82, T83, T84) -> U20(f316_in(s(T82), T83), T82, T83, T84) U20(f316_out1(T85), T82, T83, T84) -> U21(f244_in(T82, T85, T84), T82, T83, T84, T85) U21(f244_out1, T82, T83, T84, T85) -> f427_out1(T85) f431_in(T94, T96) -> U22(f433_in(T94), T94, T96) U22(f433_out1, T94, T96) -> U23(f52_in(T94, T96), T94, T96) U23(f52_out1, T94, T96) -> f431_out1 f461_in(T108) -> U24(f433_in(T108), T108) U24(f433_out1, T108) -> U25(f464_in(T108), T108) U25(f464_out1, T108) -> f461_out1 Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (113) 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: *F431_IN(T94, T96) -> U22^1(f433_in(T94), T94, T96) The graph contains the following edges 1 >= 2, 2 >= 3 *U22^1(f433_out1, T94, T96) -> F52_IN(T94, T96) The graph contains the following edges 2 >= 1, 3 >= 2 *F52_IN(s(T94), T96) -> F431_IN(T94, T96) The graph contains the following edges 1 > 1, 2 >= 2 ---------------------------------------- (114) YES ---------------------------------------- (115) PrologToDTProblemTransformerProof (SOUND) Built DT problem from termination graph DT10. { "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": { "type": "Nodes", "350": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T48 T50 X125)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T48", "T50" ], "free": ["X125"], "exprvars": [] } }, "230": { "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": [] } }, "473": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T62) T65 X147)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T62"], "free": ["X147"], "exprvars": [] } }, "474": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T62 T66 T64)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T62", "T64" ], "free": [], "exprvars": [] } }, "476": { "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": [] } }, "235": { "goal": [{ "clause": 2, "scope": 2, "term": "(ackermann T8 (s (0)) T9)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T8", "T9" ], "free": [], "exprvars": [] } }, "236": { "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": [] } }, "478": { "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": [] } }, "479": { "goal": [{ "clause": 1, "scope": 6, "term": "(ackermann (s T62) T65 X147)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T62"], "free": ["X147"], "exprvars": [] } }, "238": { "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": [] } }, "480": { "goal": [{ "clause": 2, "scope": 6, "term": "(ackermann (s T62) T65 X147)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T62"], "free": ["X147"], "exprvars": [] } }, "481": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T71 (s (0)) X167)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T71"], "free": ["X167"], "exprvars": [] } }, "240": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "482": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "241": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T19) (0) X36)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T19"], "free": ["X36"], "exprvars": [] } }, "243": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T19 T21 T20)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T19", "T20", "T21" ], "free": [], "exprvars": [] } }, "485": { "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": [] } }, "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": [] } }, "487": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T76) T78 X182)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T76"], "free": ["X182"], "exprvars": [] } }, "488": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T76 T79 X183)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T76"], "free": ["X183"], "exprvars": [] } }, "489": { "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": [] } }, "525": { "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": [] } }, "9": { "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": [] } }, "526": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "527": { "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": [] } }, "528": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "529": { "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": [] } }, "490": { "goal": [{ "clause": 0, "scope": 7, "term": "(ackermann T76 T79 X183)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T76"], "free": ["X183"], "exprvars": [] } }, "491": { "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": [] } }, "492": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "493": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "494": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "495": { "goal": [{ "clause": 1, "scope": 7, "term": "(ackermann T76 T79 X183)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T76"], "free": ["X183"], "exprvars": [] } }, "496": { "goal": [{ "clause": 2, "scope": 7, "term": "(ackermann T76 T79 X183)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T76"], "free": ["X183"], "exprvars": [] } }, "497": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T91 (s (0)) X209)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T91"], "free": ["X209"], "exprvars": [] } }, "530": { "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": [] } }, "498": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "531": { "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": [] } }, "532": { "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": [] } }, "533": { "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": [] } }, "534": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "535": { "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": [] } }, "536": { "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": [] } }, "537": { "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": [] } }, "538": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "539": { "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": [] } }, "261": { "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": [] } }, "263": { "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": [] } }, "540": { "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": [] } }, "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": [] } }, "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": [] } }, "302": { "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": [] } }, "305": { "goal": [{ "clause": 0, "scope": 4, "term": "(ackermann T26 (s (0)) X60)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T26"], "free": ["X60"], "exprvars": [] } }, "306": { "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": [] } }, "307": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "308": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "309": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "390": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "310": { "goal": [{ "clause": 2, "scope": 4, "term": "(ackermann T26 (s (0)) X60)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T26"], "free": ["X60"], "exprvars": [] } }, "278": { "goal": [{ "clause": 1, "scope": 3, "term": "(ackermann (s T19) (0) X36)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T19"], "free": ["X36"], "exprvars": [] } }, "279": { "goal": [{ "clause": 2, "scope": 3, "term": "(ackermann (s T19) (0) X36)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T19"], "free": ["X36"], "exprvars": [] } }, "313": { "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": [] } }, "314": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "317": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T30) (0) X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T30"], "free": ["X82"], "exprvars": [] } }, "318": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T30 T31 X83)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T30", "T31" ], "free": ["X83"], "exprvars": [] } }, "57": { "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": [] } }, "325": { "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": [] } }, "326": { "goal": [{ "clause": 0, "scope": 5, "term": "(ackermann T30 T31 X83)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T30", "T31" ], "free": ["X83"], "exprvars": [] } }, "327": { "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": [] } }, "328": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "329": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "65": { "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": [] } }, "66": { "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": [] } }, "330": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "211": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "299": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T26 (s (0)) X60)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T26"], "free": ["X60"], "exprvars": [] } }, "454": { "goal": [{ "clause": 2, "scope": 1, "term": "(ackermann (s T8) T2 T9)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T8", "T9" ], "free": [], "exprvars": [] } }, "334": { "goal": [{ "clause": 1, "scope": 5, "term": "(ackermann T30 T31 X83)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T30", "T31" ], "free": ["X83"], "exprvars": [] } }, "335": { "goal": [{ "clause": 2, "scope": 5, "term": "(ackermann T30 T31 X83)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T30", "T31" ], "free": ["X83"], "exprvars": [] } }, "457": { "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": [] } }, "458": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "217": { "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": [] } }, "219": { "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": [] } }, "341": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T43 (s (0)) X109)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T43"], "free": ["X109"], "exprvars": [] } }, "221": { "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": [] } }, "342": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "222": { "goal": [{ "clause": 0, "scope": 2, "term": "(ackermann T8 (s (0)) T9)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T8", "T9" ], "free": [], "exprvars": [] } }, "223": { "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": [] } }, "345": { "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": [] } }, "346": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "227": { "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": [] } }, "349": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T48) T49 X124)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T48", "T49" ], "free": ["X124"], "exprvars": [] } }, "229": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "86": { "goal": [{ "clause": 2, "scope": 1, "term": "(ackermann (0) T2 (s T5))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T5"], "free": [], "exprvars": [] } } }, "edges": [ { "from": 3, "to": 9, "label": "CASE" }, { "from": 9, "to": 57, "label": "EVAL with clause\nackermann(0, X2, s(X2)).\nand substitutionT1 -> 0,\nT2 -> T5,\nX2 -> T5,\nT3 -> s(T5)" }, { "from": 9, "to": 65, "label": "EVAL-BACKTRACK" }, { "from": 57, "to": 66, "label": "SUCCESS" }, { "from": 65, "to": 217, "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": 65, "to": 219, "label": "EVAL-BACKTRACK" }, { "from": 66, "to": 86, "label": "BACKTRACK\nfor clause: ackermann(s(M), 0, Val) :- ackermann(M, s(0), Val)because of non-unification" }, { "from": 86, "to": 211, "label": "BACKTRACK\nfor clause: ackermann(s(M), s(N), Val) :- ','(ackermann(s(M), N, Val1), ackermann(M, Val1, Val))because of non-unification" }, { "from": 217, "to": 221, "label": "CASE" }, { "from": 219, "to": 527, "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": 219, "to": 528, "label": "EVAL-BACKTRACK" }, { "from": 221, "to": 222, "label": "PARALLEL" }, { "from": 221, "to": 223, "label": "PARALLEL" }, { "from": 222, "to": 227, "label": "EVAL with clause\nackermann(0, X16, s(X16)).\nand substitutionT8 -> 0,\nX16 -> s(0),\nT9 -> s(s(0))" }, { "from": 222, "to": 228, "label": "EVAL-BACKTRACK" }, { "from": 223, "to": 230, "label": "BACKTRACK\nfor clause: ackermann(s(M), 0, Val) :- ackermann(M, s(0), Val)because of non-unification" }, { "from": 227, "to": 229, "label": "SUCCESS" }, { "from": 230, "to": 235, "label": "PARALLEL" }, { "from": 230, "to": 236, "label": "PARALLEL" }, { "from": 235, "to": 238, "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": 235, "to": 240, "label": "EVAL-BACKTRACK" }, { "from": 236, "to": 454, "label": "FAILURE" }, { "from": 238, "to": 241, "label": "SPLIT 1" }, { "from": 238, "to": 243, "label": "SPLIT 2\nnew knowledge:\nT19 is ground\nT21 is ground\nreplacements:X36 -> T21" }, { "from": 241, "to": 261, "label": "CASE" }, { "from": 243, "to": 3, "label": "INSTANCE with matching:\nT1 -> T19\nT2 -> T21\nT3 -> T20" }, { "from": 261, "to": 263, "label": "BACKTRACK\nfor clause: ackermann(0, N, s(N))because of non-unification" }, { "from": 263, "to": 278, "label": "PARALLEL" }, { "from": 263, "to": 279, "label": "PARALLEL" }, { "from": 278, "to": 299, "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": 279, "to": 390, "label": "BACKTRACK\nfor clause: ackermann(s(M), s(N), Val) :- ','(ackermann(s(M), N, Val1), ackermann(M, Val1, Val))because of non-unification" }, { "from": 299, "to": 302, "label": "CASE" }, { "from": 302, "to": 305, "label": "PARALLEL" }, { "from": 302, "to": 306, "label": "PARALLEL" }, { "from": 305, "to": 307, "label": "EVAL with clause\nackermann(0, X67, s(X67)).\nand substitutionT26 -> 0,\nX67 -> s(0),\nX60 -> s(s(0))" }, { "from": 305, "to": 308, "label": "EVAL-BACKTRACK" }, { "from": 306, "to": 310, "label": "BACKTRACK\nfor clause: ackermann(s(M), 0, Val) :- ackermann(M, s(0), Val)because of non-unification" }, { "from": 307, "to": 309, "label": "SUCCESS" }, { "from": 310, "to": 313, "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": 310, "to": 314, "label": "EVAL-BACKTRACK" }, { "from": 313, "to": 317, "label": "SPLIT 1" }, { "from": 313, "to": 318, "label": "SPLIT 2\nnew knowledge:\nT30 is ground\nT31 is ground\nreplacements:X82 -> T31" }, { "from": 317, "to": 241, "label": "INSTANCE with matching:\nT19 -> T30\nX36 -> X82" }, { "from": 318, "to": 325, "label": "CASE" }, { "from": 325, "to": 326, "label": "PARALLEL" }, { "from": 325, "to": 327, "label": "PARALLEL" }, { "from": 326, "to": 328, "label": "EVAL with clause\nackermann(0, X94, s(X94)).\nand substitutionT30 -> 0,\nT31 -> T38,\nX94 -> T38,\nX83 -> s(T38)" }, { "from": 326, "to": 329, "label": "EVAL-BACKTRACK" }, { "from": 327, "to": 334, "label": "PARALLEL" }, { "from": 327, "to": 335, "label": "PARALLEL" }, { "from": 328, "to": 330, "label": "SUCCESS" }, { "from": 334, "to": 341, "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": 334, "to": 342, "label": "EVAL-BACKTRACK" }, { "from": 335, "to": 345, "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": 335, "to": 346, "label": "EVAL-BACKTRACK" }, { "from": 341, "to": 299, "label": "INSTANCE with matching:\nT26 -> T43\nX60 -> X109" }, { "from": 345, "to": 349, "label": "SPLIT 1" }, { "from": 345, "to": 350, "label": "SPLIT 2\nnew knowledge:\nT48 is ground\nT49 is ground\nT50 is ground\nreplacements:X124 -> T50" }, { "from": 349, "to": 318, "label": "INSTANCE with matching:\nT30 -> s(T48)\nT31 -> T49\nX83 -> X124" }, { "from": 350, "to": 318, "label": "INSTANCE with matching:\nT30 -> T48\nT31 -> T50\nX83 -> X125" }, { "from": 454, "to": 457, "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": 454, "to": 458, "label": "EVAL-BACKTRACK" }, { "from": 457, "to": 473, "label": "SPLIT 1" }, { "from": 457, "to": 474, "label": "SPLIT 2\nnew knowledge:\nT62 is ground\nreplacements:X147 -> T66" }, { "from": 473, "to": 476, "label": "CASE" }, { "from": 474, "to": 3, "label": "INSTANCE with matching:\nT1 -> T62\nT2 -> T66\nT3 -> T64" }, { "from": 476, "to": 478, "label": "BACKTRACK\nfor clause: ackermann(0, N, s(N))because of non-unification" }, { "from": 478, "to": 479, "label": "PARALLEL" }, { "from": 478, "to": 480, "label": "PARALLEL" }, { "from": 479, "to": 481, "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": 479, "to": 482, "label": "EVAL-BACKTRACK" }, { "from": 480, "to": 485, "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": 480, "to": 486, "label": "EVAL-BACKTRACK" }, { "from": 481, "to": 299, "label": "INSTANCE with matching:\nT26 -> T71\nX60 -> X167" }, { "from": 485, "to": 487, "label": "SPLIT 1" }, { "from": 485, "to": 488, "label": "SPLIT 2\nnew knowledge:\nT76 is ground\nreplacements:X182 -> T79" }, { "from": 487, "to": 473, "label": "INSTANCE with matching:\nT62 -> T76\nT65 -> T78\nX147 -> X182" }, { "from": 488, "to": 489, "label": "CASE" }, { "from": 489, "to": 490, "label": "PARALLEL" }, { "from": 489, "to": 491, "label": "PARALLEL" }, { "from": 490, "to": 492, "label": "EVAL with clause\nackermann(0, X194, s(X194)).\nand substitutionT76 -> 0,\nT79 -> T86,\nX194 -> T86,\nX183 -> s(T86)" }, { "from": 490, "to": 493, "label": "EVAL-BACKTRACK" }, { "from": 491, "to": 495, "label": "PARALLEL" }, { "from": 491, "to": 496, "label": "PARALLEL" }, { "from": 492, "to": 494, "label": "SUCCESS" }, { "from": 495, "to": 497, "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": 495, "to": 498, "label": "EVAL-BACKTRACK" }, { "from": 496, "to": 525, "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": 496, "to": 526, "label": "EVAL-BACKTRACK" }, { "from": 497, "to": 299, "label": "INSTANCE with matching:\nT26 -> T91\nX60 -> X209" }, { "from": 525, "to": 485, "label": "INSTANCE with matching:\nT76 -> T96\nT78 -> T98\nX182 -> X224\nX183 -> X225" }, { "from": 527, "to": 529, "label": "CASE" }, { "from": 529, "to": 530, "label": "BACKTRACK\nfor clause: ackermann(0, N, s(N))because of non-unification" }, { "from": 530, "to": 531, "label": "PARALLEL" }, { "from": 530, "to": 532, "label": "PARALLEL" }, { "from": 531, "to": 533, "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": 531, "to": 534, "label": "EVAL-BACKTRACK" }, { "from": 532, "to": 537, "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": 532, "to": 538, "label": "EVAL-BACKTRACK" }, { "from": 533, "to": 535, "label": "SPLIT 1" }, { "from": 533, "to": 536, "label": "SPLIT 2\nnew knowledge:\nT112 is ground\nT113 is ground\nreplacements:X252 -> T113" }, { "from": 535, "to": 299, "label": "INSTANCE with matching:\nT26 -> T112\nX60 -> X252" }, { "from": 536, "to": 3, "label": "INSTANCE with matching:\nT1 -> T112\nT2 -> T113\nT3 -> T106" }, { "from": 537, "to": 539, "label": "SPLIT 1" }, { "from": 537, "to": 540, "label": "SPLIT 2\nnew knowledge:\nT120 is ground\nreplacements:X271 -> T123,\nT2 -> T124" }, { "from": 539, "to": 473, "label": "INSTANCE with matching:\nT62 -> T120\nT65 -> T122\nX147 -> X271" }, { "from": 540, "to": 541, "label": "SPLIT 1" }, { "from": 540, "to": 542, "label": "SPLIT 2\nnew knowledge:\nT120 is ground\nreplacements:X272 -> T127,\nT124 -> T128" }, { "from": 541, "to": 488, "label": "INSTANCE with matching:\nT76 -> T120\nT79 -> T123\nX183 -> X272" }, { "from": 542, "to": 3, "label": "INSTANCE with matching:\nT1 -> T120\nT2 -> T127\nT3 -> T106" } ], "type": "Graph" } } ---------------------------------------- (116) 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) ---------------------------------------- (117) 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 ---------------------------------------- (118) 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 ---------------------------------------- (119) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LOPSTR] contains 4 SCCs with 58 less nodes. ---------------------------------------- (120) Complex Obligation (AND) ---------------------------------------- (121) 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 ---------------------------------------- (122) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (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)) 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 ---------------------------------------- (124) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (125) 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. ---------------------------------------- (126) 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 ---------------------------------------- (127) YES ---------------------------------------- (128) 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 ---------------------------------------- (129) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (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: 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 ---------------------------------------- (131) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (132) 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. ---------------------------------------- (133) 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 ---------------------------------------- (134) YES ---------------------------------------- (135) 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 ---------------------------------------- (136) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (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) 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 ---------------------------------------- (138) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (139) 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. ---------------------------------------- (140) 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. ---------------------------------------- (141) NO ---------------------------------------- (142) 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 ---------------------------------------- (143) UsableRulesProof (EQUIVALENT) For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. ---------------------------------------- (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)) 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 ---------------------------------------- (145) PiDPToQDPProof (SOUND) Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. ---------------------------------------- (146) 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. ---------------------------------------- (147) 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 ---------------------------------------- (148) YES ---------------------------------------- (149) PrologToIRSwTTransformerProof (SOUND) Transformed Prolog program to IRSwT according to method in Master Thesis of A. Weinert { "root": 10, "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": { "type": "Nodes", "150": { "goal": [{ "clause": 2, "scope": 2, "term": "(ackermann T17 (s (0)) T18)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T17", "T18" ], "free": [], "exprvars": [] } }, "111": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "353": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T35) (0) X81)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T35"], "free": ["X81"], "exprvars": [] } }, "354": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T35 T36 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T35", "T36" ], "free": ["X82"], "exprvars": [] } }, "510": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "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": [] } }, "512": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T108 T111 X216)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T108"], "free": ["X216"], "exprvars": [] } }, "513": { "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": [] } }, "514": { "goal": [{ "clause": 0, "scope": 8, "term": "(ackermann T108 T111 X216)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T108"], "free": ["X216"], "exprvars": [] } }, "438": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T53) T54 X123)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T53", "T54" ], "free": ["X123"], "exprvars": [] } }, "515": { "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": [] } }, "439": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T53 T55 X124)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T53", "T55" ], "free": ["X124"], "exprvars": [] } }, "516": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "319": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "517": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "518": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "519": { "goal": [{ "clause": 1, "scope": 8, "term": "(ackermann T108 T111 X216)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T108"], "free": ["X216"], "exprvars": [] } }, "97": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "10": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T1 T2 T3)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T3" ], "free": [], "exprvars": [] } }, "98": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "11": { "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": [] } }, "99": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "440": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "320": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "441": { "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": [] } }, "167": { "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": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "442": { "goal": [{ "clause": 0, "scope": 6, "term": "(ackermann T24 T26 T25)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T24", "T25", "T26" ], "free": [], "exprvars": [] } }, "245": { "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": [] } }, "322": { "goal": [{ "clause": 2, "scope": 4, "term": "(ackermann T31 (s (0)) X59)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T31"], "free": ["X59"], "exprvars": [] } }, "520": { "goal": [{ "clause": 2, "scope": 8, "term": "(ackermann T108 T111 X216)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T108"], "free": ["X216"], "exprvars": [] } }, "246": { "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": [] } }, "323": { "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": [] } }, "444": { "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": [] } }, "521": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T123 (s (0)) X242)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T123"], "free": ["X242"], "exprvars": [] } }, "247": { "goal": [{ "clause": 1, "scope": 3, "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": [] } }, "445": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "522": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "248": { "goal": [{ "clause": 2, "scope": 3, "term": "(ackermann (s T24) (0) X35)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T24"], "free": ["X35"], "exprvars": [] } }, "446": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "523": { "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": [] } }, "249": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T31 (s (0)) X59)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T31"], "free": ["X59"], "exprvars": [] } }, "447": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "524": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "20": { "goal": [{ "clause": 0, "scope": 1, "term": "(ackermann T1 T2 T3)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T3" ], "free": [], "exprvars": [] } }, "23": { "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": [] } }, "171": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "130": { "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": [] } }, "252": { "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": [] } }, "450": { "goal": [{ "clause": 1, "scope": 6, "term": "(ackermann T24 T26 T25)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T24", "T25", "T26" ], "free": [], "exprvars": [] } }, "451": { "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": 0, "scope": 4, "term": "(ackermann T31 (s (0)) X59)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T31"], "free": ["X59"], "exprvars": [] } }, "452": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T74 (s (0)) T75)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T74", "T75" ], "free": [], "exprvars": [] } }, "453": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "135": { "goal": [{ "clause": 0, "scope": 2, "term": "(ackermann T17 (s (0)) T18)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T17", "T18" ], "free": [], "exprvars": [] } }, "256": { "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": [] } }, "136": { "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": [] } }, "455": { "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": [] } }, "499": { "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": [] } }, "379": { "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": [] } }, "456": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "415": { "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": [] } }, "459": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T82) T83 X163)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T82", "T83" ], "free": ["X163"], "exprvars": [] } }, "416": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "380": { "goal": [{ "clause": 0, "scope": 5, "term": "(ackermann T35 T36 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T35", "T36" ], "free": ["X82"], "exprvars": [] } }, "183": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T24) (0) X35)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T24"], "free": ["X35"], "exprvars": [] } }, "381": { "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": [] } }, "382": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "185": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T24 T26 T25)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T24", "T25", "T26" ], "free": [], "exprvars": [] } }, "383": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "460": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T82 T85 T84)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T82", "T84", "T85" ], "free": [], "exprvars": [] } }, "142": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "384": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "385": { "goal": [{ "clause": 1, "scope": 5, "term": "(ackermann T35 T36 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T35", "T36" ], "free": ["X82"], "exprvars": [] } }, "144": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "386": { "goal": [{ "clause": 2, "scope": 5, "term": "(ackermann T35 T36 X82)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T35", "T36" ], "free": ["X82"], "exprvars": [] } }, "101": { "goal": [{ "clause": 1, "scope": 1, "term": "(ackermann T1 T2 T3)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T3" ], "free": [], "exprvars": [] } }, "387": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T48 (s (0)) X108)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T48"], "free": ["X108"], "exprvars": [] } }, "102": { "goal": [{ "clause": 2, "scope": 1, "term": "(ackermann T1 T2 T3)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T1", "T3" ], "free": [], "exprvars": [] } }, "146": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "388": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "500": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "501": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann (s T94) T97 X180)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T94"], "free": ["X180"], "exprvars": [] } }, "502": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T94 T98 T96)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T94", "T96" ], "free": [], "exprvars": [] } }, "503": { "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": [] } }, "504": { "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": [] } }, "109": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T17 (s (0)) T18)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T17", "T18" ], "free": [], "exprvars": [] } }, "505": { "goal": [{ "clause": 1, "scope": 7, "term": "(ackermann (s T94) T97 X180)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T94"], "free": ["X180"], "exprvars": [] } }, "506": { "goal": [{ "clause": 2, "scope": 7, "term": "(ackermann (s T94) T97 X180)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T94"], "free": ["X180"], "exprvars": [] } }, "507": { "goal": [{ "clause": -1, "scope": -1, "term": "(ackermann T103 (s (0)) X200)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T103"], "free": ["X200"], "exprvars": [] } }, "508": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "509": { "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": [] } } }, "edges": [ { "from": 10, "to": 11, "label": "CASE" }, { "from": 11, "to": 20, "label": "PARALLEL" }, { "from": 11, "to": 23, "label": "PARALLEL" }, { "from": 20, "to": 97, "label": "EVAL with clause\nackermann(0, X5, s(X5)).\nand substitutionT1 -> 0,\nT2 -> T8,\nX5 -> T8,\nT3 -> s(T8)" }, { "from": 20, "to": 98, "label": "EVAL-BACKTRACK" }, { "from": 23, "to": 101, "label": "PARALLEL" }, { "from": 23, "to": 102, "label": "PARALLEL" }, { "from": 97, "to": 99, "label": "SUCCESS" }, { "from": 101, "to": 109, "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": 101, "to": 111, "label": "EVAL-BACKTRACK" }, { "from": 102, "to": 499, "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": 102, "to": 500, "label": "EVAL-BACKTRACK" }, { "from": 109, "to": 130, "label": "CASE" }, { "from": 130, "to": 135, "label": "PARALLEL" }, { "from": 130, "to": 136, "label": "PARALLEL" }, { "from": 135, "to": 142, "label": "EVAL with clause\nackermann(0, X22, s(X22)).\nand substitutionT17 -> 0,\nX22 -> s(0),\nT18 -> s(s(0))" }, { "from": 135, "to": 144, "label": "EVAL-BACKTRACK" }, { "from": 136, "to": 150, "label": "BACKTRACK\nfor clause: ackermann(s(M), 0, Val) :- ackermann(M, s(0), Val)because of non-unification" }, { "from": 142, "to": 146, "label": "SUCCESS" }, { "from": 150, "to": 167, "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": 150, "to": 171, "label": "EVAL-BACKTRACK" }, { "from": 167, "to": 183, "label": "SPLIT 1" }, { "from": 167, "to": 185, "label": "SPLIT 2\nnew knowledge:\nT24 is ground\nT26 is ground\nreplacements:X35 -> T26" }, { "from": 183, "to": 245, "label": "CASE" }, { "from": 185, "to": 441, "label": "CASE" }, { "from": 245, "to": 246, "label": "BACKTRACK\nfor clause: ackermann(0, N, s(N))because of non-unification" }, { "from": 246, "to": 247, "label": "PARALLEL" }, { "from": 246, "to": 248, "label": "PARALLEL" }, { "from": 247, "to": 249, "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": 248, "to": 440, "label": "BACKTRACK\nfor clause: ackermann(s(M), s(N), Val) :- ','(ackermann(s(M), N, Val1), ackermann(M, Val1, Val))because of non-unification" }, { "from": 249, "to": 252, "label": "CASE" }, { "from": 252, "to": 254, "label": "PARALLEL" }, { "from": 252, "to": 256, "label": "PARALLEL" }, { "from": 254, "to": 319, "label": "EVAL with clause\nackermann(0, X66, s(X66)).\nand substitutionT31 -> 0,\nX66 -> s(0),\nX59 -> s(s(0))" }, { "from": 254, "to": 320, "label": "EVAL-BACKTRACK" }, { "from": 256, "to": 322, "label": "BACKTRACK\nfor clause: ackermann(s(M), 0, Val) :- ackermann(M, s(0), Val)because of non-unification" }, { "from": 319, "to": 321, "label": "SUCCESS" }, { "from": 322, "to": 323, "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": 322, "to": 324, "label": "EVAL-BACKTRACK" }, { "from": 323, "to": 353, "label": "SPLIT 1" }, { "from": 323, "to": 354, "label": "SPLIT 2\nnew knowledge:\nT35 is ground\nT36 is ground\nreplacements:X81 -> T36" }, { "from": 353, "to": 183, "label": "INSTANCE with matching:\nT24 -> T35\nX35 -> X81" }, { "from": 354, "to": 379, "label": "CASE" }, { "from": 379, "to": 380, "label": "PARALLEL" }, { "from": 379, "to": 381, "label": "PARALLEL" }, { "from": 380, "to": 382, "label": "EVAL with clause\nackermann(0, X93, s(X93)).\nand substitutionT35 -> 0,\nT36 -> T43,\nX93 -> T43,\nX82 -> s(T43)" }, { "from": 380, "to": 383, "label": "EVAL-BACKTRACK" }, { "from": 381, "to": 385, "label": "PARALLEL" }, { "from": 381, "to": 386, "label": "PARALLEL" }, { "from": 382, "to": 384, "label": "SUCCESS" }, { "from": 385, "to": 387, "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": 385, "to": 388, "label": "EVAL-BACKTRACK" }, { "from": 386, "to": 415, "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": 386, "to": 416, "label": "EVAL-BACKTRACK" }, { "from": 387, "to": 249, "label": "INSTANCE with matching:\nT31 -> T48\nX59 -> X108" }, { "from": 415, "to": 438, "label": "SPLIT 1" }, { "from": 415, "to": 439, "label": "SPLIT 2\nnew knowledge:\nT53 is ground\nT54 is ground\nT55 is ground\nreplacements:X123 -> T55" }, { "from": 438, "to": 354, "label": "INSTANCE with matching:\nT35 -> s(T53)\nT36 -> T54\nX82 -> X123" }, { "from": 439, "to": 354, "label": "INSTANCE with matching:\nT35 -> T53\nT36 -> T55\nX82 -> X124" }, { "from": 441, "to": 442, "label": "PARALLEL" }, { "from": 441, "to": 444, "label": "PARALLEL" }, { "from": 442, "to": 445, "label": "EVAL with clause\nackermann(0, X140, s(X140)).\nand substitutionT24 -> 0,\nT26 -> T65,\nX140 -> T65,\nT25 -> s(T65)" }, { "from": 442, "to": 446, "label": "EVAL-BACKTRACK" }, { "from": 444, "to": 450, "label": "PARALLEL" }, { "from": 444, "to": 451, "label": "PARALLEL" }, { "from": 445, "to": 447, "label": "SUCCESS" }, { "from": 450, "to": 452, "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": 450, "to": 453, "label": "EVAL-BACKTRACK" }, { "from": 451, "to": 455, "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": 451, "to": 456, "label": "EVAL-BACKTRACK" }, { "from": 452, "to": 109, "label": "INSTANCE with matching:\nT17 -> T74\nT18 -> T75" }, { "from": 455, "to": 459, "label": "SPLIT 1" }, { "from": 455, "to": 460, "label": "SPLIT 2\nnew knowledge:\nT82 is ground\nT83 is ground\nT85 is ground\nreplacements:X163 -> T85" }, { "from": 459, "to": 354, "label": "INSTANCE with matching:\nT35 -> s(T82)\nT36 -> T83\nX82 -> X163" }, { "from": 460, "to": 185, "label": "INSTANCE with matching:\nT24 -> T82\nT26 -> T85\nT25 -> T84" }, { "from": 499, "to": 501, "label": "SPLIT 1" }, { "from": 499, "to": 502, "label": "SPLIT 2\nnew knowledge:\nT94 is ground\nreplacements:X180 -> T98" }, { "from": 501, "to": 503, "label": "CASE" }, { "from": 502, "to": 10, "label": "INSTANCE with matching:\nT1 -> T94\nT2 -> T98\nT3 -> T96" }, { "from": 503, "to": 504, "label": "BACKTRACK\nfor clause: ackermann(0, N, s(N))because of non-unification" }, { "from": 504, "to": 505, "label": "PARALLEL" }, { "from": 504, "to": 506, "label": "PARALLEL" }, { "from": 505, "to": 507, "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": 505, "to": 508, "label": "EVAL-BACKTRACK" }, { "from": 506, "to": 509, "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": 506, "to": 510, "label": "EVAL-BACKTRACK" }, { "from": 507, "to": 249, "label": "INSTANCE with matching:\nT31 -> T103\nX59 -> X200" }, { "from": 509, "to": 511, "label": "SPLIT 1" }, { "from": 509, "to": 512, "label": "SPLIT 2\nnew knowledge:\nT108 is ground\nreplacements:X215 -> T111" }, { "from": 511, "to": 501, "label": "INSTANCE with matching:\nT94 -> T108\nT97 -> T110\nX180 -> X215" }, { "from": 512, "to": 513, "label": "CASE" }, { "from": 513, "to": 514, "label": "PARALLEL" }, { "from": 513, "to": 515, "label": "PARALLEL" }, { "from": 514, "to": 516, "label": "EVAL with clause\nackermann(0, X227, s(X227)).\nand substitutionT108 -> 0,\nT111 -> T118,\nX227 -> T118,\nX216 -> s(T118)" }, { "from": 514, "to": 517, "label": "EVAL-BACKTRACK" }, { "from": 515, "to": 519, "label": "PARALLEL" }, { "from": 515, "to": 520, "label": "PARALLEL" }, { "from": 516, "to": 518, "label": "SUCCESS" }, { "from": 519, "to": 521, "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": 519, "to": 522, "label": "EVAL-BACKTRACK" }, { "from": 520, "to": 523, "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": 520, "to": 524, "label": "EVAL-BACKTRACK" }, { "from": 521, "to": 249, "label": "INSTANCE with matching:\nT31 -> T123\nX59 -> X242" }, { "from": 523, "to": 509, "label": "INSTANCE with matching:\nT108 -> T128\nT110 -> T130\nX215 -> X257\nX216 -> X258" } ], "type": "Graph" } } ---------------------------------------- (150) Complex Obligation (AND) ---------------------------------------- (151) Obligation: Rules: f438_out(T53, T54) -> f439_in(T53, T55) :|: TRUE f415_in(x, x1) -> f438_in(x, x1) :|: TRUE f439_out(x2, x3) -> f415_out(x2, x4) :|: TRUE f247_in(T31) -> f249_in(T31) :|: TRUE f249_out(x5) -> f247_out(x5) :|: TRUE f249_out(T48) -> f387_out(T48) :|: TRUE f387_in(x6) -> f249_in(x6) :|: TRUE f354_out(x7, x8) -> f439_out(x7, x8) :|: TRUE f439_in(x9, x10) -> f354_in(x9, x10) :|: TRUE f379_in(T35, T36) -> f380_in(T35, T36) :|: TRUE f380_out(x11, x12) -> f379_out(x11, x12) :|: TRUE f381_out(x13, x14) -> f379_out(x13, x14) :|: TRUE f379_in(x15, x16) -> f381_in(x15, x16) :|: TRUE f322_out(x17) -> f256_out(x17) :|: TRUE f256_in(x18) -> f322_in(x18) :|: TRUE f354_in(x19, x20) -> f379_in(x19, x20) :|: TRUE f379_out(x21, x22) -> f354_out(x21, x22) :|: TRUE f354_out(s(x23), x24) -> f438_out(x23, x24) :|: TRUE f438_in(x25, x26) -> f354_in(s(x25), x26) :|: TRUE f246_in(T24) -> f247_in(T24) :|: TRUE f246_in(x27) -> f248_in(x27) :|: TRUE f247_out(x28) -> f246_out(x28) :|: TRUE f248_out(x29) -> f246_out(x29) :|: TRUE f388_out -> f385_out(x30, x31) :|: TRUE f387_out(x32) -> f385_out(s(x32), 0) :|: TRUE f385_in(x33, x34) -> f388_in :|: TRUE f385_in(s(x35), 0) -> f387_in(x35) :|: TRUE f324_out -> f322_out(x36) :|: TRUE f322_in(s(x37)) -> f323_in(x37) :|: TRUE f323_out(x38) -> f322_out(s(x38)) :|: TRUE f322_in(x39) -> f324_in :|: TRUE f353_out(x40) -> f354_in(x40, x41) :|: TRUE f323_in(x42) -> f353_in(x42) :|: TRUE f354_out(x43, x44) -> f323_out(x43) :|: TRUE f386_in(x45, x46) -> f416_in :|: TRUE f386_in(s(x47), s(x48)) -> f415_in(x47, x48) :|: TRUE f416_out -> f386_out(x49, x50) :|: TRUE f415_out(x51, x52) -> f386_out(s(x51), s(x52)) :|: TRUE f245_in(x53) -> f246_in(x53) :|: TRUE f246_out(x54) -> f245_out(x54) :|: TRUE f353_in(x55) -> f183_in(x55) :|: TRUE f183_out(x56) -> f353_out(x56) :|: TRUE f245_out(x57) -> f183_out(x57) :|: TRUE f183_in(x58) -> f245_in(x58) :|: TRUE f381_in(x59, x60) -> f385_in(x59, x60) :|: TRUE f385_out(x61, x62) -> f381_out(x61, x62) :|: TRUE f381_in(x63, x64) -> f386_in(x63, x64) :|: TRUE f386_out(x65, x66) -> f381_out(x65, x66) :|: TRUE f249_in(x67) -> f252_in(x67) :|: TRUE f252_out(x68) -> f249_out(x68) :|: TRUE f254_out(x69) -> f252_out(x69) :|: TRUE f256_out(x70) -> f252_out(x70) :|: TRUE f252_in(x71) -> f256_in(x71) :|: TRUE f252_in(x72) -> f254_in(x72) :|: TRUE f10_in(T1, T3) -> f11_in(T1, T3) :|: TRUE f11_out(x73, x74) -> f10_out(x73, x74) :|: TRUE f20_out(x75, x76) -> f11_out(x75, x76) :|: TRUE f11_in(x77, x78) -> f20_in(x77, x78) :|: TRUE f23_out(x79, x80) -> f11_out(x79, x80) :|: TRUE f11_in(x81, x82) -> f23_in(x81, x82) :|: TRUE f23_in(x83, x84) -> f102_in(x83, x84) :|: TRUE f23_in(x85, x86) -> f101_in(x85, x86) :|: TRUE f101_out(x87, x88) -> f23_out(x87, x88) :|: TRUE f102_out(x89, x90) -> f23_out(x89, x90) :|: TRUE f102_in(x91, x92) -> f500_in :|: TRUE f499_out(T94, T96) -> f102_out(s(T94), T96) :|: TRUE f500_out -> f102_out(x93, x94) :|: TRUE f102_in(s(x95), x96) -> f499_in(x95, x96) :|: TRUE f499_in(x97, x98) -> f501_in(x97) :|: TRUE f501_out(x99) -> f502_in(x99, x100) :|: TRUE f502_out(x101, x102) -> f499_out(x101, x102) :|: TRUE f501_in(x103) -> f503_in(x103) :|: TRUE f503_out(x104) -> f501_out(x104) :|: TRUE f504_out(x105) -> f503_out(x105) :|: TRUE f503_in(x106) -> f504_in(x106) :|: TRUE f504_in(x107) -> f506_in(x107) :|: TRUE f506_out(x108) -> f504_out(x108) :|: TRUE f505_out(x109) -> f504_out(x109) :|: TRUE f504_in(x110) -> f505_in(x110) :|: TRUE f505_in(x111) -> f508_in :|: TRUE f508_out -> f505_out(x112) :|: TRUE f507_out(T103) -> f505_out(T103) :|: TRUE f505_in(x113) -> f507_in(x113) :|: TRUE f507_in(x114) -> f249_in(x114) :|: TRUE f249_out(x115) -> f507_out(x115) :|: TRUE f101_in(s(T17), T18) -> f109_in(T17, T18) :|: TRUE f109_out(x116, x117) -> f101_out(s(x116), x117) :|: TRUE f101_in(x118, x119) -> f111_in :|: TRUE f111_out -> f101_out(x120, x121) :|: TRUE f130_out(x122, x123) -> f109_out(x122, x123) :|: TRUE f109_in(x124, x125) -> f130_in(x124, x125) :|: TRUE f130_in(x126, x127) -> f135_in(x126, x127) :|: TRUE f135_out(x128, x129) -> f130_out(x128, x129) :|: TRUE f130_in(x130, x131) -> f136_in(x130, x131) :|: TRUE f136_out(x132, x133) -> f130_out(x132, x133) :|: TRUE f150_out(x134, x135) -> f136_out(x134, x135) :|: TRUE f136_in(x136, x137) -> f150_in(x136, x137) :|: TRUE f150_in(x138, x139) -> f171_in :|: TRUE f167_out(x140, x141) -> f150_out(s(x140), x141) :|: TRUE f171_out -> f150_out(x142, x143) :|: TRUE f150_in(s(x144), x145) -> f167_in(x144, x145) :|: TRUE f183_out(x146) -> f185_in(x146, x147, x148) :|: TRUE f185_out(x149, x150, x151) -> f167_out(x149, x151) :|: TRUE f167_in(x152, x153) -> f183_in(x152) :|: TRUE f185_in(x154, x155, x156) -> f441_in(x154, x155, x156) :|: TRUE f441_out(x157, x158, x159) -> f185_out(x157, x158, x159) :|: TRUE f441_in(x160, x161, x162) -> f442_in(x160, x161, x162) :|: TRUE f442_out(x163, x164, x165) -> f441_out(x163, x164, x165) :|: TRUE f441_in(x166, x167, x168) -> f444_in(x166, x167, x168) :|: TRUE f444_out(x169, x170, x171) -> f441_out(x169, x170, x171) :|: TRUE f451_out(x172, x173, x174) -> f444_out(x172, x173, x174) :|: TRUE f444_in(x175, x176, x177) -> f450_in(x175, x176, x177) :|: TRUE f444_in(x178, x179, x180) -> f451_in(x178, x179, x180) :|: TRUE f450_out(x181, x182, x183) -> f444_out(x181, x182, x183) :|: TRUE f451_in(s(T82), s(T83), T84) -> f455_in(T82, T83, T84) :|: TRUE f456_out -> f451_out(x184, x185, x186) :|: TRUE f451_in(x187, x188, x189) -> f456_in :|: TRUE f455_out(x190, x191, x192) -> f451_out(s(x190), s(x191), x192) :|: TRUE f455_in(x193, x194, x195) -> f459_in(x193, x194) :|: TRUE f460_out(x196, x197, x198) -> f455_out(x196, x199, x198) :|: TRUE f459_out(x200, x201) -> f460_in(x200, x202, x203) :|: TRUE f354_out(s(x204), x205) -> f459_out(x204, x205) :|: TRUE f459_in(x206, x207) -> f354_in(s(x206), x207) :|: TRUE f510_out -> f506_out(x208) :|: TRUE f506_in(x209) -> f510_in :|: TRUE f509_out(T108) -> f506_out(T108) :|: TRUE f506_in(x210) -> f509_in(x210) :|: TRUE f509_in(x211) -> f511_in(x211) :|: TRUE f511_out(x212) -> f512_in(x212) :|: TRUE f512_out(x213) -> f509_out(x213) :|: TRUE f513_out(x214) -> f512_out(x214) :|: TRUE f512_in(x215) -> f513_in(x215) :|: TRUE f513_in(x216) -> f515_in(x216) :|: TRUE f514_out(x217) -> f513_out(x217) :|: TRUE f513_in(x218) -> f514_in(x218) :|: TRUE f515_out(x219) -> f513_out(x219) :|: TRUE f515_in(x220) -> f519_in(x220) :|: TRUE f519_out(x221) -> f515_out(x221) :|: TRUE f520_out(x222) -> f515_out(x222) :|: TRUE f515_in(x223) -> f520_in(x223) :|: TRUE f519_in(s(T123)) -> f521_in(T123) :|: TRUE f519_in(x224) -> f522_in :|: TRUE f521_out(x225) -> f519_out(s(x225)) :|: TRUE f522_out -> f519_out(x226) :|: TRUE f249_out(x227) -> f521_out(x227) :|: TRUE f521_in(x228) -> f249_in(x228) :|: TRUE Start term: f10_in(T1, T3) ---------------------------------------- (152) IRSwTSimpleDependencyGraphProof (EQUIVALENT) Constructed simple dependency graph. Simplified to the following IRSwTs: intTRSProblem: f247_in(T31) -> f249_in(T31) :|: TRUE f256_in(x18) -> f322_in(x18) :|: TRUE f246_in(T24) -> f247_in(T24) :|: TRUE f322_in(s(x37)) -> f323_in(x37) :|: TRUE f323_in(x42) -> f353_in(x42) :|: TRUE f245_in(x53) -> f246_in(x53) :|: TRUE f353_in(x55) -> f183_in(x55) :|: TRUE f183_in(x58) -> f245_in(x58) :|: TRUE f249_in(x67) -> f252_in(x67) :|: TRUE f252_in(x71) -> f256_in(x71) :|: TRUE ---------------------------------------- (153) Obligation: Rules: f247_in(T31) -> f249_in(T31) :|: TRUE f256_in(x18) -> f322_in(x18) :|: TRUE f246_in(T24) -> f247_in(T24) :|: TRUE f322_in(s(x37)) -> f323_in(x37) :|: TRUE f323_in(x42) -> f353_in(x42) :|: TRUE f245_in(x53) -> f246_in(x53) :|: TRUE f353_in(x55) -> f183_in(x55) :|: TRUE f183_in(x58) -> f245_in(x58) :|: TRUE f249_in(x67) -> f252_in(x67) :|: TRUE f252_in(x71) -> f256_in(x71) :|: TRUE ---------------------------------------- (154) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (155) Obligation: Rules: f256_in(s(x37:0)) -> f256_in(x37:0) :|: TRUE ---------------------------------------- (156) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (157) Obligation: Rules: f256_in(s(x37:0)) -> f256_in(x37:0) :|: TRUE ---------------------------------------- (158) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f256_in(s(x37:0)) -> f256_in(x37:0) :|: TRUE Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (159) Obligation: Termination digraph: Nodes: (1) f256_in(s(x37:0)) -> f256_in(x37:0) :|: TRUE Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (160) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f256_in(VARIABLE) s(VARIABLE) Removed predefined arithmetic. ---------------------------------------- (161) Obligation: Rules: f256_in(s(x37:0)) -> f256_in(x37:0) ---------------------------------------- (162) IRSwTToQDPProof (SOUND) Removed the integers and created a QDP-Problem. ---------------------------------------- (163) Obligation: Q DP problem: The TRS P consists of the following rules: f256_in(s(x37:0)) -> f256_in(x37:0) R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (164) 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: *f256_in(s(x37:0)) -> f256_in(x37:0) The graph contains the following edges 1 > 1 ---------------------------------------- (165) YES ---------------------------------------- (166) Obligation: Rules: f513_out(T108) -> f512_out(T108) :|: TRUE f512_in(x) -> f513_in(x) :|: TRUE f509_in(x1) -> f511_in(x1) :|: TRUE f511_out(x2) -> f512_in(x2) :|: TRUE f512_out(x3) -> f509_out(x3) :|: TRUE f501_in(T94) -> f503_in(T94) :|: TRUE f503_out(x4) -> f501_out(x4) :|: TRUE f510_out -> f506_out(x5) :|: TRUE f506_in(x6) -> f510_in :|: TRUE f509_out(x7) -> f506_out(x7) :|: TRUE f506_in(x8) -> f509_in(x8) :|: TRUE f504_in(x9) -> f506_in(x9) :|: TRUE f506_out(x10) -> f504_out(x10) :|: TRUE f505_out(x11) -> f504_out(x11) :|: TRUE f504_in(x12) -> f505_in(x12) :|: TRUE f504_out(x13) -> f503_out(x13) :|: TRUE f503_in(x14) -> f504_in(x14) :|: TRUE f515_in(x15) -> f519_in(x15) :|: TRUE f519_out(x16) -> f515_out(x16) :|: TRUE f520_out(x17) -> f515_out(x17) :|: TRUE f515_in(x18) -> f520_in(x18) :|: TRUE f501_out(x19) -> f511_out(x19) :|: TRUE f511_in(x20) -> f501_in(x20) :|: TRUE f513_in(x21) -> f515_in(x21) :|: TRUE f514_out(x22) -> f513_out(x22) :|: TRUE f513_in(x23) -> f514_in(x23) :|: TRUE f515_out(x24) -> f513_out(x24) :|: TRUE f523_out(T128) -> f520_out(s(T128)) :|: TRUE f524_out -> f520_out(x25) :|: TRUE f520_in(s(x26)) -> f523_in(x26) :|: TRUE f520_in(x27) -> f524_in :|: TRUE f523_in(x28) -> f509_in(x28) :|: TRUE f509_out(x29) -> f523_out(x29) :|: TRUE f10_in(T1, T3) -> f11_in(T1, T3) :|: TRUE f11_out(x30, x31) -> f10_out(x30, x31) :|: TRUE f20_out(x32, x33) -> f11_out(x32, x33) :|: TRUE f11_in(x34, x35) -> f20_in(x34, x35) :|: TRUE f23_out(x36, x37) -> f11_out(x36, x37) :|: TRUE f11_in(x38, x39) -> f23_in(x38, x39) :|: TRUE f23_in(x40, x41) -> f102_in(x40, x41) :|: TRUE f23_in(x42, x43) -> f101_in(x42, x43) :|: TRUE f101_out(x44, x45) -> f23_out(x44, x45) :|: TRUE f102_out(x46, x47) -> f23_out(x46, x47) :|: TRUE f102_in(x48, x49) -> f500_in :|: TRUE f499_out(x50, x51) -> f102_out(s(x50), x51) :|: TRUE f500_out -> f102_out(x52, x53) :|: TRUE f102_in(s(x54), x55) -> f499_in(x54, x55) :|: TRUE f499_in(x56, x57) -> f501_in(x56) :|: TRUE f501_out(x58) -> f502_in(x58, x59) :|: TRUE f502_out(x60, x61) -> f499_out(x60, x61) :|: TRUE Start term: f10_in(T1, T3) ---------------------------------------- (167) IRSwTSimpleDependencyGraphProof (EQUIVALENT) Constructed simple dependency graph. Simplified to the following IRSwTs: intTRSProblem: f509_in(x1) -> f511_in(x1) :|: TRUE f501_in(T94) -> f503_in(T94) :|: TRUE f506_in(x8) -> f509_in(x8) :|: TRUE f504_in(x9) -> f506_in(x9) :|: TRUE f503_in(x14) -> f504_in(x14) :|: TRUE f511_in(x20) -> f501_in(x20) :|: TRUE ---------------------------------------- (168) Obligation: Rules: f509_in(x1) -> f511_in(x1) :|: TRUE f501_in(T94) -> f503_in(T94) :|: TRUE f506_in(x8) -> f509_in(x8) :|: TRUE f504_in(x9) -> f506_in(x9) :|: TRUE f503_in(x14) -> f504_in(x14) :|: TRUE f511_in(x20) -> f501_in(x20) :|: TRUE ---------------------------------------- (169) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (170) Obligation: Rules: f501_in(T94:0) -> f501_in(T94:0) :|: TRUE ---------------------------------------- (171) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (172) Obligation: Rules: f501_in(T94:0) -> f501_in(T94:0) :|: TRUE ---------------------------------------- (173) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f501_in(T94:0) -> f501_in(T94:0) :|: TRUE Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (174) Obligation: Termination digraph: Nodes: (1) f501_in(T94:0) -> f501_in(T94:0) :|: TRUE Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (175) FilterProof (EQUIVALENT) Used the following sort dictionary for filtering: f501_in(VARIABLE) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (176) Obligation: Rules: f501_in(T94:0) -> f501_in(T94:0) :|: TRUE ---------------------------------------- (177) IntTRSPeriodicNontermProof (COMPLETE) Normalized system to the following form: f(pc, T94:0) -> f(1, T94:0) :|: pc = 1 && TRUE Witness term starting non-terminating reduction: f(1, -8) ---------------------------------------- (178) NO ---------------------------------------- (179) Obligation: Rules: f452_in(T74, T75) -> f109_in(T74, T75) :|: TRUE f109_out(x, x1) -> f452_out(x, x1) :|: TRUE f130_out(T17, T18) -> f109_out(T17, T18) :|: TRUE f109_in(x2, x3) -> f130_in(x2, x3) :|: TRUE f185_out(T82, T85, T84) -> f460_out(T82, T85, T84) :|: TRUE f460_in(x4, x5, x6) -> f185_in(x4, x5, x6) :|: TRUE f354_out(s(x7), x8) -> f459_out(x7, x8) :|: TRUE f459_in(x9, x10) -> f354_in(s(x9), x10) :|: TRUE f130_in(x11, x12) -> f135_in(x11, x12) :|: TRUE f135_out(x13, x14) -> f130_out(x13, x14) :|: TRUE f130_in(x15, x16) -> f136_in(x15, x16) :|: TRUE f136_out(x17, x18) -> f130_out(x17, x18) :|: TRUE f441_in(T24, T26, T25) -> f442_in(T24, T26, T25) :|: TRUE f442_out(x19, x20, x21) -> f441_out(x19, x20, x21) :|: TRUE f441_in(x22, x23, x24) -> f444_in(x22, x23, x24) :|: TRUE f444_out(x25, x26, x27) -> f441_out(x25, x26, x27) :|: TRUE f150_out(x28, x29) -> f136_out(x28, x29) :|: TRUE f136_in(x30, x31) -> f150_in(x30, x31) :|: TRUE f451_in(s(x32), s(x33), x34) -> f455_in(x32, x33, x34) :|: TRUE f456_out -> f451_out(x35, x36, x37) :|: TRUE f451_in(x38, x39, x40) -> f456_in :|: TRUE f455_out(x41, x42, x43) -> f451_out(s(x41), s(x42), x43) :|: TRUE f383_out -> f380_out(T35, T36) :|: TRUE f380_in(x44, x45) -> f383_in :|: TRUE f380_in(0, T43) -> f382_in :|: TRUE f382_out -> f380_out(0, x46) :|: TRUE f440_out -> f248_out(x47) :|: TRUE f248_in(x48) -> f440_in :|: TRUE f354_out(s(T53), T54) -> f438_out(T53, T54) :|: TRUE f438_in(x49, x50) -> f354_in(s(x49), x50) :|: TRUE f451_out(x51, x52, x53) -> f444_out(x51, x52, x53) :|: TRUE f444_in(x54, x55, x56) -> f450_in(x54, x55, x56) :|: TRUE f444_in(x57, x58, x59) -> f451_in(x57, x58, x59) :|: TRUE f450_out(x60, x61, x62) -> f444_out(x60, x61, x62) :|: TRUE f386_in(x63, x64) -> f416_in :|: TRUE f386_in(s(x65), s(x66)) -> f415_in(x65, x66) :|: TRUE f416_out -> f386_out(x67, x68) :|: TRUE f415_out(x69, x70) -> f386_out(s(x69), s(x70)) :|: TRUE f245_out(x71) -> f183_out(x71) :|: TRUE f183_in(x72) -> f245_in(x72) :|: TRUE f245_in(x73) -> f246_in(x73) :|: TRUE f246_out(x74) -> f245_out(x74) :|: TRUE f353_in(x75) -> f183_in(x75) :|: TRUE f183_out(x76) -> f353_out(x76) :|: TRUE f150_in(x77, x78) -> f171_in :|: TRUE f167_out(x79, x80) -> f150_out(s(x79), x80) :|: TRUE f171_out -> f150_out(x81, x82) :|: TRUE f150_in(s(x83), x84) -> f167_in(x83, x84) :|: TRUE f183_out(x85) -> f185_in(x85, x86, x87) :|: TRUE f185_out(x88, x89, x90) -> f167_out(x88, x90) :|: TRUE f167_in(x91, x92) -> f183_in(x91) :|: TRUE f438_out(x93, x94) -> f439_in(x93, x95) :|: TRUE f415_in(x96, x97) -> f438_in(x96, x97) :|: TRUE f439_out(x98, x99) -> f415_out(x98, x100) :|: TRUE f254_in(0) -> f319_in :|: TRUE f254_in(T31) -> f320_in :|: TRUE f319_out -> f254_out(0) :|: TRUE f320_out -> f254_out(x101) :|: TRUE f185_in(x102, x103, x104) -> f441_in(x102, x103, x104) :|: TRUE f441_out(x105, x106, x107) -> f185_out(x105, x106, x107) :|: TRUE f247_in(x108) -> f249_in(x108) :|: TRUE f249_out(x109) -> f247_out(x109) :|: TRUE f354_out(x110, x111) -> f439_out(x110, x111) :|: TRUE f439_in(x112, x113) -> f354_in(x112, x113) :|: TRUE f249_out(T48) -> f387_out(T48) :|: TRUE f387_in(x114) -> f249_in(x114) :|: TRUE f379_in(x115, x116) -> f380_in(x115, x116) :|: TRUE f380_out(x117, x118) -> f379_out(x117, x118) :|: TRUE f381_out(x119, x120) -> f379_out(x119, x120) :|: TRUE f379_in(x121, x122) -> f381_in(x121, x122) :|: TRUE f322_out(x123) -> f256_out(x123) :|: TRUE f256_in(x124) -> f322_in(x124) :|: TRUE f354_in(x125, x126) -> f379_in(x125, x126) :|: TRUE f379_out(x127, x128) -> f354_out(x127, x128) :|: TRUE f455_in(x129, x130, x131) -> f459_in(x129, x130) :|: TRUE f460_out(x132, x133, x134) -> f455_out(x132, x135, x134) :|: TRUE f459_out(x136, x137) -> f460_in(x136, x138, x139) :|: TRUE f319_in -> f319_out :|: TRUE f450_in(x140, x141, x142) -> f453_in :|: TRUE f450_in(s(x143), 0, x144) -> f452_in(x143, x144) :|: TRUE f452_out(x145, x146) -> f450_out(s(x145), 0, x146) :|: TRUE f453_out -> f450_out(x147, x148, x149) :|: TRUE f246_in(x150) -> f247_in(x150) :|: TRUE f246_in(x151) -> f248_in(x151) :|: TRUE f247_out(x152) -> f246_out(x152) :|: TRUE f248_out(x153) -> f246_out(x153) :|: TRUE f388_out -> f385_out(x154, x155) :|: TRUE f387_out(x156) -> f385_out(s(x156), 0) :|: TRUE f385_in(x157, x158) -> f388_in :|: TRUE f385_in(s(x159), 0) -> f387_in(x159) :|: TRUE f324_out -> f322_out(x160) :|: TRUE f322_in(s(x161)) -> f323_in(x161) :|: TRUE f323_out(x162) -> f322_out(s(x162)) :|: TRUE f322_in(x163) -> f324_in :|: TRUE f353_out(x164) -> f354_in(x164, x165) :|: TRUE f323_in(x166) -> f353_in(x166) :|: TRUE f354_out(x167, x168) -> f323_out(x167) :|: TRUE f382_in -> f382_out :|: TRUE f381_in(x169, x170) -> f385_in(x169, x170) :|: TRUE f385_out(x171, x172) -> f381_out(x171, x172) :|: TRUE f381_in(x173, x174) -> f386_in(x173, x174) :|: TRUE f386_out(x175, x176) -> f381_out(x175, x176) :|: TRUE f249_in(x177) -> f252_in(x177) :|: TRUE f252_out(x178) -> f249_out(x178) :|: TRUE f254_out(x179) -> f252_out(x179) :|: TRUE f256_out(x180) -> f252_out(x180) :|: TRUE f252_in(x181) -> f256_in(x181) :|: TRUE f252_in(x182) -> f254_in(x182) :|: TRUE f10_in(T1, T3) -> f11_in(T1, T3) :|: TRUE f11_out(x183, x184) -> f10_out(x183, x184) :|: TRUE f20_out(x185, x186) -> f11_out(x185, x186) :|: TRUE f11_in(x187, x188) -> f20_in(x187, x188) :|: TRUE f23_out(x189, x190) -> f11_out(x189, x190) :|: TRUE f11_in(x191, x192) -> f23_in(x191, x192) :|: TRUE f23_in(x193, x194) -> f102_in(x193, x194) :|: TRUE f23_in(x195, x196) -> f101_in(x195, x196) :|: TRUE f101_out(x197, x198) -> f23_out(x197, x198) :|: TRUE f102_out(x199, x200) -> f23_out(x199, x200) :|: TRUE f101_in(s(x201), x202) -> f109_in(x201, x202) :|: TRUE f109_out(x203, x204) -> f101_out(s(x203), x204) :|: TRUE f101_in(x205, x206) -> f111_in :|: TRUE f111_out -> f101_out(x207, x208) :|: TRUE Start term: f10_in(T1, T3) ---------------------------------------- (180) IRSwTSimpleDependencyGraphProof (EQUIVALENT) Constructed simple dependency graph. Simplified to the following IRSwTs: intTRSProblem: f452_in(T74, T75) -> f109_in(T74, T75) :|: TRUE f109_in(x2, x3) -> f130_in(x2, x3) :|: TRUE f460_in(x4, x5, x6) -> f185_in(x4, x5, x6) :|: TRUE f354_out(s(x7), x8) -> f459_out(x7, x8) :|: TRUE f459_in(x9, x10) -> f354_in(s(x9), x10) :|: TRUE f130_in(x15, x16) -> f136_in(x15, x16) :|: TRUE f441_in(x22, x23, x24) -> f444_in(x22, x23, x24) :|: TRUE f136_in(x30, x31) -> f150_in(x30, x31) :|: TRUE f451_in(s(x32), s(x33), x34) -> f455_in(x32, x33, x34) :|: TRUE f380_in(0, T43) -> f382_in :|: TRUE f382_out -> f380_out(0, x46) :|: TRUE f354_out(s(T53), T54) -> f438_out(T53, T54) :|: TRUE f438_in(x49, x50) -> f354_in(s(x49), x50) :|: TRUE f444_in(x54, x55, x56) -> f450_in(x54, x55, x56) :|: TRUE f444_in(x57, x58, x59) -> f451_in(x57, x58, x59) :|: TRUE f386_in(s(x65), s(x66)) -> f415_in(x65, x66) :|: TRUE f415_out(x69, x70) -> f386_out(s(x69), s(x70)) :|: TRUE f245_out(x71) -> f183_out(x71) :|: TRUE f183_in(x72) -> f245_in(x72) :|: TRUE f245_in(x73) -> f246_in(x73) :|: TRUE f246_out(x74) -> f245_out(x74) :|: TRUE f353_in(x75) -> f183_in(x75) :|: TRUE f183_out(x76) -> f353_out(x76) :|: TRUE f150_in(s(x83), x84) -> f167_in(x83, x84) :|: TRUE f183_out(x85) -> f185_in(x85, x86, x87) :|: TRUE f167_in(x91, x92) -> f183_in(x91) :|: TRUE f438_out(x93, x94) -> f439_in(x93, x95) :|: TRUE f415_in(x96, x97) -> f438_in(x96, x97) :|: TRUE f439_out(x98, x99) -> f415_out(x98, x100) :|: TRUE f254_in(0) -> f319_in :|: TRUE f319_out -> f254_out(0) :|: TRUE f185_in(x102, x103, x104) -> f441_in(x102, x103, x104) :|: TRUE f247_in(x108) -> f249_in(x108) :|: TRUE f249_out(x109) -> f247_out(x109) :|: TRUE f354_out(x110, x111) -> f439_out(x110, x111) :|: TRUE f439_in(x112, x113) -> f354_in(x112, x113) :|: TRUE f249_out(T48) -> f387_out(T48) :|: TRUE f387_in(x114) -> f249_in(x114) :|: TRUE f379_in(x115, x116) -> f380_in(x115, x116) :|: TRUE f380_out(x117, x118) -> f379_out(x117, x118) :|: TRUE f381_out(x119, x120) -> f379_out(x119, x120) :|: TRUE f379_in(x121, x122) -> f381_in(x121, x122) :|: TRUE f322_out(x123) -> f256_out(x123) :|: TRUE f256_in(x124) -> f322_in(x124) :|: TRUE f354_in(x125, x126) -> f379_in(x125, x126) :|: TRUE f379_out(x127, x128) -> f354_out(x127, x128) :|: TRUE f455_in(x129, x130, x131) -> f459_in(x129, x130) :|: TRUE f459_out(x136, x137) -> f460_in(x136, x138, x139) :|: TRUE f319_in -> f319_out :|: TRUE f450_in(s(x143), 0, x144) -> f452_in(x143, x144) :|: TRUE f246_in(x150) -> f247_in(x150) :|: TRUE f247_out(x152) -> f246_out(x152) :|: TRUE f387_out(x156) -> f385_out(s(x156), 0) :|: TRUE f385_in(s(x159), 0) -> f387_in(x159) :|: TRUE f322_in(s(x161)) -> f323_in(x161) :|: TRUE f323_out(x162) -> f322_out(s(x162)) :|: TRUE f353_out(x164) -> f354_in(x164, x165) :|: TRUE f323_in(x166) -> f353_in(x166) :|: TRUE f354_out(x167, x168) -> f323_out(x167) :|: TRUE f382_in -> f382_out :|: TRUE f381_in(x169, x170) -> f385_in(x169, x170) :|: TRUE f385_out(x171, x172) -> f381_out(x171, x172) :|: TRUE f381_in(x173, x174) -> f386_in(x173, x174) :|: TRUE f386_out(x175, x176) -> f381_out(x175, x176) :|: TRUE f249_in(x177) -> f252_in(x177) :|: TRUE f252_out(x178) -> f249_out(x178) :|: TRUE f254_out(x179) -> f252_out(x179) :|: TRUE f256_out(x180) -> f252_out(x180) :|: TRUE f252_in(x181) -> f256_in(x181) :|: TRUE f252_in(x182) -> f254_in(x182) :|: TRUE ---------------------------------------- (181) Obligation: Rules: f452_in(T74, T75) -> f109_in(T74, T75) :|: TRUE f109_in(x2, x3) -> f130_in(x2, x3) :|: TRUE f460_in(x4, x5, x6) -> f185_in(x4, x5, x6) :|: TRUE f354_out(s(x7), x8) -> f459_out(x7, x8) :|: TRUE f459_in(x9, x10) -> f354_in(s(x9), x10) :|: TRUE f130_in(x15, x16) -> f136_in(x15, x16) :|: TRUE f441_in(x22, x23, x24) -> f444_in(x22, x23, x24) :|: TRUE f136_in(x30, x31) -> f150_in(x30, x31) :|: TRUE f451_in(s(x32), s(x33), x34) -> f455_in(x32, x33, x34) :|: TRUE f380_in(0, T43) -> f382_in :|: TRUE f382_out -> f380_out(0, x46) :|: TRUE f354_out(s(T53), T54) -> f438_out(T53, T54) :|: TRUE f438_in(x49, x50) -> f354_in(s(x49), x50) :|: TRUE f444_in(x54, x55, x56) -> f450_in(x54, x55, x56) :|: TRUE f444_in(x57, x58, x59) -> f451_in(x57, x58, x59) :|: TRUE f386_in(s(x65), s(x66)) -> f415_in(x65, x66) :|: TRUE f415_out(x69, x70) -> f386_out(s(x69), s(x70)) :|: TRUE f245_out(x71) -> f183_out(x71) :|: TRUE f183_in(x72) -> f245_in(x72) :|: TRUE f245_in(x73) -> f246_in(x73) :|: TRUE f246_out(x74) -> f245_out(x74) :|: TRUE f353_in(x75) -> f183_in(x75) :|: TRUE f183_out(x76) -> f353_out(x76) :|: TRUE f150_in(s(x83), x84) -> f167_in(x83, x84) :|: TRUE f183_out(x85) -> f185_in(x85, x86, x87) :|: TRUE f167_in(x91, x92) -> f183_in(x91) :|: TRUE f438_out(x93, x94) -> f439_in(x93, x95) :|: TRUE f415_in(x96, x97) -> f438_in(x96, x97) :|: TRUE f439_out(x98, x99) -> f415_out(x98, x100) :|: TRUE f254_in(0) -> f319_in :|: TRUE f319_out -> f254_out(0) :|: TRUE f185_in(x102, x103, x104) -> f441_in(x102, x103, x104) :|: TRUE f247_in(x108) -> f249_in(x108) :|: TRUE f249_out(x109) -> f247_out(x109) :|: TRUE f354_out(x110, x111) -> f439_out(x110, x111) :|: TRUE f439_in(x112, x113) -> f354_in(x112, x113) :|: TRUE f249_out(T48) -> f387_out(T48) :|: TRUE f387_in(x114) -> f249_in(x114) :|: TRUE f379_in(x115, x116) -> f380_in(x115, x116) :|: TRUE f380_out(x117, x118) -> f379_out(x117, x118) :|: TRUE f381_out(x119, x120) -> f379_out(x119, x120) :|: TRUE f379_in(x121, x122) -> f381_in(x121, x122) :|: TRUE f322_out(x123) -> f256_out(x123) :|: TRUE f256_in(x124) -> f322_in(x124) :|: TRUE f354_in(x125, x126) -> f379_in(x125, x126) :|: TRUE f379_out(x127, x128) -> f354_out(x127, x128) :|: TRUE f455_in(x129, x130, x131) -> f459_in(x129, x130) :|: TRUE f459_out(x136, x137) -> f460_in(x136, x138, x139) :|: TRUE f319_in -> f319_out :|: TRUE f450_in(s(x143), 0, x144) -> f452_in(x143, x144) :|: TRUE f246_in(x150) -> f247_in(x150) :|: TRUE f247_out(x152) -> f246_out(x152) :|: TRUE f387_out(x156) -> f385_out(s(x156), 0) :|: TRUE f385_in(s(x159), 0) -> f387_in(x159) :|: TRUE f322_in(s(x161)) -> f323_in(x161) :|: TRUE f323_out(x162) -> f322_out(s(x162)) :|: TRUE f353_out(x164) -> f354_in(x164, x165) :|: TRUE f323_in(x166) -> f353_in(x166) :|: TRUE f354_out(x167, x168) -> f323_out(x167) :|: TRUE f382_in -> f382_out :|: TRUE f381_in(x169, x170) -> f385_in(x169, x170) :|: TRUE f385_out(x171, x172) -> f381_out(x171, x172) :|: TRUE f381_in(x173, x174) -> f386_in(x173, x174) :|: TRUE f386_out(x175, x176) -> f381_out(x175, x176) :|: TRUE f249_in(x177) -> f252_in(x177) :|: TRUE f252_out(x178) -> f249_out(x178) :|: TRUE f254_out(x179) -> f252_out(x179) :|: TRUE f256_out(x180) -> f252_out(x180) :|: TRUE f252_in(x181) -> f256_in(x181) :|: TRUE f252_in(x182) -> f254_in(x182) :|: TRUE ---------------------------------------- (182) Obligation: Rules: f505_in(T94) -> f508_in :|: TRUE f508_out -> f505_out(x) :|: TRUE f507_out(T103) -> f505_out(T103) :|: TRUE f505_in(x1) -> f507_in(x1) :|: TRUE f513_out(T108) -> f512_out(T108) :|: TRUE f512_in(x2) -> f513_in(x2) :|: TRUE f516_out -> f514_out(0) :|: TRUE f514_in(0) -> f516_in :|: TRUE f514_in(x3) -> f517_in :|: TRUE f517_out -> f514_out(x4) :|: TRUE f519_in(s(T123)) -> f521_in(T123) :|: TRUE f519_in(x5) -> f522_in :|: TRUE f521_out(x6) -> f519_out(s(x6)) :|: TRUE f522_out -> f519_out(x7) :|: TRUE f504_out(x8) -> f503_out(x8) :|: TRUE f503_in(x9) -> f504_in(x9) :|: TRUE f507_in(x10) -> f249_in(x10) :|: TRUE f249_out(x11) -> f507_out(x11) :|: TRUE f523_in(T128) -> f509_in(T128) :|: TRUE f509_out(x12) -> f523_out(x12) :|: TRUE f502_in(x13, x14) -> f10_in(x13, x14) :|: TRUE f10_out(x15, x16) -> f502_out(x15, x16) :|: TRUE f383_out -> f380_out(T35, T36) :|: TRUE f380_in(x17, x18) -> f383_in :|: TRUE f380_in(0, T43) -> f382_in :|: TRUE f382_out -> f380_out(0, x19) :|: TRUE f354_out(s(T53), T54) -> f438_out(T53, T54) :|: TRUE f438_in(x20, x21) -> f354_in(s(x20), x21) :|: TRUE f23_in(T1, T3) -> f102_in(T1, T3) :|: TRUE f23_in(x22, x23) -> f101_in(x22, x23) :|: TRUE f101_out(x24, x25) -> f23_out(x24, x25) :|: TRUE f102_out(x26, x27) -> f23_out(x26, x27) :|: TRUE f353_in(x28) -> f183_in(x28) :|: TRUE f183_out(x29) -> f353_out(x29) :|: TRUE f501_out(x30) -> f511_out(x30) :|: TRUE f511_in(x31) -> f501_in(x31) :|: TRUE f254_in(0) -> f319_in :|: TRUE f254_in(T31) -> f320_in :|: TRUE f319_out -> f254_out(0) :|: TRUE f320_out -> f254_out(x32) :|: TRUE f249_out(T48) -> f387_out(T48) :|: TRUE f387_in(x33) -> f249_in(x33) :|: TRUE f504_in(x34) -> f506_in(x34) :|: TRUE f506_out(x35) -> f504_out(x35) :|: TRUE f505_out(x36) -> f504_out(x36) :|: TRUE f504_in(x37) -> f505_in(x37) :|: TRUE f322_out(x38) -> f256_out(x38) :|: TRUE f256_in(x39) -> f322_in(x39) :|: TRUE f516_in -> f516_out :|: TRUE f319_in -> f319_out :|: TRUE f10_in(x40, x41) -> f11_in(x40, x41) :|: TRUE f11_out(x42, x43) -> f10_out(x42, x43) :|: TRUE f102_in(x44, x45) -> f500_in :|: TRUE f499_out(x46, x47) -> f102_out(s(x46), x47) :|: TRUE f500_out -> f102_out(x48, x49) :|: TRUE f102_in(s(x50), x51) -> f499_in(x50, x51) :|: TRUE f388_out -> f385_out(x52, x53) :|: TRUE f387_out(x54) -> f385_out(s(x54), 0) :|: TRUE f385_in(x55, x56) -> f388_in :|: TRUE f385_in(s(x57), 0) -> f387_in(x57) :|: TRUE f246_in(T24) -> f247_in(T24) :|: TRUE f246_in(x58) -> f248_in(x58) :|: TRUE f247_out(x59) -> f246_out(x59) :|: TRUE f248_out(x60) -> f246_out(x60) :|: TRUE f510_out -> f506_out(x61) :|: TRUE f506_in(x62) -> f510_in :|: TRUE f509_out(x63) -> f506_out(x63) :|: TRUE f506_in(x64) -> f509_in(x64) :|: TRUE f515_in(x65) -> f519_in(x65) :|: TRUE f519_out(x66) -> f515_out(x66) :|: TRUE f520_out(x67) -> f515_out(x67) :|: TRUE f515_in(x68) -> f520_in(x68) :|: TRUE f382_in -> f382_out :|: TRUE f249_in(x69) -> f252_in(x69) :|: TRUE f252_out(x70) -> f249_out(x70) :|: TRUE f499_in(x71, x72) -> f501_in(x71) :|: TRUE f501_out(x73) -> f502_in(x73, x74) :|: TRUE f502_out(x75, x76) -> f499_out(x75, x76) :|: TRUE f440_out -> f248_out(x77) :|: TRUE f248_in(x78) -> f440_in :|: TRUE f509_in(x79) -> f511_in(x79) :|: TRUE f511_out(x80) -> f512_in(x80) :|: TRUE f512_out(x81) -> f509_out(x81) :|: TRUE f386_in(x82, x83) -> f416_in :|: TRUE f386_in(s(x84), s(x85)) -> f415_in(x84, x85) :|: TRUE f416_out -> f386_out(x86, x87) :|: TRUE f415_out(x88, x89) -> f386_out(s(x88), s(x89)) :|: TRUE f245_out(x90) -> f183_out(x90) :|: TRUE f183_in(x91) -> f245_in(x91) :|: TRUE f245_in(x92) -> f246_in(x92) :|: TRUE f246_out(x93) -> f245_out(x93) :|: TRUE f523_out(x94) -> f520_out(s(x94)) :|: TRUE f524_out -> f520_out(x95) :|: TRUE f520_in(s(x96)) -> f523_in(x96) :|: TRUE f520_in(x97) -> f524_in :|: TRUE f438_out(x98, x99) -> f439_in(x98, x100) :|: TRUE f415_in(x101, x102) -> f438_in(x101, x102) :|: TRUE f439_out(x103, x104) -> f415_out(x103, x105) :|: TRUE f501_in(x106) -> f503_in(x106) :|: TRUE f503_out(x107) -> f501_out(x107) :|: TRUE f354_out(x108, x109) -> f439_out(x108, x109) :|: TRUE f439_in(x110, x111) -> f354_in(x110, x111) :|: TRUE f247_in(x112) -> f249_in(x112) :|: TRUE f249_out(x113) -> f247_out(x113) :|: TRUE f379_in(x114, x115) -> f380_in(x114, x115) :|: TRUE f380_out(x116, x117) -> f379_out(x116, x117) :|: TRUE f381_out(x118, x119) -> f379_out(x118, x119) :|: TRUE f379_in(x120, x121) -> f381_in(x120, x121) :|: TRUE f354_in(x122, x123) -> f379_in(x122, x123) :|: TRUE f379_out(x124, x125) -> f354_out(x124, x125) :|: TRUE f20_out(x126, x127) -> f11_out(x126, x127) :|: TRUE f11_in(x128, x129) -> f20_in(x128, x129) :|: TRUE f23_out(x130, x131) -> f11_out(x130, x131) :|: TRUE f11_in(x132, x133) -> f23_in(x132, x133) :|: TRUE f513_in(x134) -> f515_in(x134) :|: TRUE f514_out(x135) -> f513_out(x135) :|: TRUE f513_in(x136) -> f514_in(x136) :|: TRUE f515_out(x137) -> f513_out(x137) :|: TRUE f249_out(x138) -> f521_out(x138) :|: TRUE f521_in(x139) -> f249_in(x139) :|: TRUE f324_out -> f322_out(x140) :|: TRUE f322_in(s(x141)) -> f323_in(x141) :|: TRUE f323_out(x142) -> f322_out(s(x142)) :|: TRUE f322_in(x143) -> f324_in :|: TRUE f353_out(x144) -> f354_in(x144, x145) :|: TRUE f323_in(x146) -> f353_in(x146) :|: TRUE f354_out(x147, x148) -> f323_out(x147) :|: TRUE f381_in(x149, x150) -> f385_in(x149, x150) :|: TRUE f385_out(x151, x152) -> f381_out(x151, x152) :|: TRUE f381_in(x153, x154) -> f386_in(x153, x154) :|: TRUE f386_out(x155, x156) -> f381_out(x155, x156) :|: TRUE f254_out(x157) -> f252_out(x157) :|: TRUE f256_out(x158) -> f252_out(x158) :|: TRUE f252_in(x159) -> f256_in(x159) :|: TRUE f252_in(x160) -> f254_in(x160) :|: TRUE Start term: f10_in(T1, T3)