129.16/38.10 MAYBE 129.16/38.12 proof of /export/starexec/sandbox/benchmark/theBenchmark.pl 129.16/38.12 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 129.16/38.12 129.16/38.12 129.16/38.12 Left Termination of the query pattern 129.16/38.12 129.16/38.12 div(g,g,a) 129.16/38.12 129.16/38.12 w.r.t. the given Prolog program could not be shown: 129.16/38.12 129.16/38.12 (0) Prolog 129.16/38.12 (1) PrologToPiTRSProof [SOUND, 0 ms] 129.16/38.12 (2) PiTRS 129.16/38.12 (3) DependencyPairsProof [EQUIVALENT, 0 ms] 129.16/38.12 (4) PiDP 129.16/38.12 (5) DependencyGraphProof [EQUIVALENT, 0 ms] 129.16/38.12 (6) AND 129.16/38.12 (7) PiDP 129.16/38.12 (8) UsableRulesProof [EQUIVALENT, 0 ms] 129.16/38.12 (9) PiDP 129.16/38.12 (10) PiDPToQDPProof [SOUND, 0 ms] 129.16/38.12 (11) QDP 129.16/38.12 (12) QDPSizeChangeProof [EQUIVALENT, 0 ms] 129.16/38.12 (13) YES 129.16/38.12 (14) PiDP 129.16/38.12 (15) UsableRulesProof [EQUIVALENT, 0 ms] 129.16/38.12 (16) PiDP 129.16/38.12 (17) PiDPToQDPProof [SOUND, 1 ms] 129.16/38.12 (18) QDP 129.16/38.12 (19) QDPSizeChangeProof [EQUIVALENT, 0 ms] 129.16/38.12 (20) YES 129.16/38.12 (21) PiDP 129.16/38.12 (22) UsableRulesProof [EQUIVALENT, 0 ms] 129.16/38.12 (23) PiDP 129.16/38.12 (24) PiDPToQDPProof [SOUND, 0 ms] 129.16/38.12 (25) QDP 129.16/38.12 (26) QDPQMonotonicMRRProof [EQUIVALENT, 35 ms] 129.16/38.12 (27) QDP 129.16/38.12 (28) UsableRulesProof [EQUIVALENT, 0 ms] 129.16/38.12 (29) QDP 129.16/38.12 (30) QReductionProof [EQUIVALENT, 0 ms] 129.16/38.12 (31) QDP 129.16/38.12 (32) TransformationProof [SOUND, 0 ms] 129.16/38.12 (33) QDP 129.16/38.12 (34) UsableRulesProof [EQUIVALENT, 0 ms] 129.16/38.12 (35) QDP 129.16/38.12 (36) QReductionProof [EQUIVALENT, 0 ms] 129.16/38.12 (37) QDP 129.16/38.12 (38) TransformationProof [EQUIVALENT, 0 ms] 129.16/38.12 (39) QDP 129.16/38.12 (40) TransformationProof [EQUIVALENT, 0 ms] 129.16/38.12 (41) QDP 129.16/38.12 (42) TransformationProof [EQUIVALENT, 0 ms] 129.16/38.12 (43) QDP 129.16/38.12 (44) QDPQMonotonicMRRProof [EQUIVALENT, 9 ms] 129.16/38.12 (45) QDP 129.16/38.12 (46) TransformationProof [SOUND, 0 ms] 129.16/38.12 (47) QDP 129.16/38.12 (48) UsableRulesProof [EQUIVALENT, 0 ms] 129.16/38.12 (49) QDP 129.16/38.12 (50) TransformationProof [EQUIVALENT, 0 ms] 129.16/38.12 (51) QDP 129.16/38.12 (52) UsableRulesProof [EQUIVALENT, 0 ms] 129.16/38.12 (53) QDP 129.16/38.12 (54) QReductionProof [EQUIVALENT, 0 ms] 129.16/38.12 (55) QDP 129.16/38.12 (56) TransformationProof [EQUIVALENT, 0 ms] 129.16/38.12 (57) QDP 129.16/38.12 (58) UsableRulesProof [EQUIVALENT, 0 ms] 129.16/38.12 (59) QDP 129.16/38.12 (60) QReductionProof [EQUIVALENT, 0 ms] 129.16/38.12 (61) QDP 129.16/38.12 (62) TransformationProof [EQUIVALENT, 0 ms] 129.16/38.12 (63) QDP 129.16/38.12 (64) TransformationProof [EQUIVALENT, 0 ms] 129.16/38.12 (65) QDP 129.16/38.12 (66) TransformationProof [EQUIVALENT, 0 ms] 129.16/38.12 (67) QDP 129.16/38.12 (68) NonTerminationLoopProof [COMPLETE, 0 ms] 129.16/38.12 (69) NO 129.16/38.12 (70) PrologToPiTRSProof [SOUND, 0 ms] 129.16/38.12 (71) PiTRS 129.16/38.12 (72) DependencyPairsProof [EQUIVALENT, 0 ms] 129.16/38.12 (73) PiDP 129.16/38.12 (74) DependencyGraphProof [EQUIVALENT, 0 ms] 129.16/38.12 (75) AND 129.16/38.12 (76) PiDP 129.16/38.12 (77) UsableRulesProof [EQUIVALENT, 0 ms] 129.16/38.12 (78) PiDP 129.16/38.12 (79) PiDPToQDPProof [SOUND, 0 ms] 129.16/38.12 (80) QDP 129.16/38.12 (81) QDPSizeChangeProof [EQUIVALENT, 0 ms] 129.16/38.12 (82) YES 129.16/38.12 (83) PiDP 129.16/38.12 (84) UsableRulesProof [EQUIVALENT, 0 ms] 129.16/38.12 (85) PiDP 129.16/38.12 (86) PiDPToQDPProof [SOUND, 1 ms] 129.16/38.12 (87) QDP 129.16/38.12 (88) QDPSizeChangeProof [EQUIVALENT, 0 ms] 129.16/38.12 (89) YES 129.16/38.12 (90) PiDP 129.16/38.12 (91) UsableRulesProof [EQUIVALENT, 0 ms] 129.16/38.12 (92) PiDP 129.16/38.12 (93) PiDPToQDPProof [SOUND, 0 ms] 129.16/38.12 (94) QDP 129.16/38.12 (95) TransformationProof [SOUND, 0 ms] 129.16/38.12 (96) QDP 129.16/38.12 (97) TransformationProof [SOUND, 0 ms] 129.16/38.12 (98) QDP 129.16/38.12 (99) TransformationProof [EQUIVALENT, 0 ms] 129.16/38.12 (100) QDP 129.16/38.12 (101) DependencyGraphProof [EQUIVALENT, 0 ms] 129.16/38.12 (102) QDP 129.16/38.12 (103) TransformationProof [EQUIVALENT, 0 ms] 129.16/38.12 (104) QDP 129.16/38.12 (105) TransformationProof [EQUIVALENT, 0 ms] 129.16/38.12 (106) QDP 129.16/38.12 (107) TransformationProof [EQUIVALENT, 0 ms] 129.16/38.12 (108) QDP 129.16/38.12 (109) TransformationProof [EQUIVALENT, 0 ms] 129.16/38.12 (110) QDP 129.16/38.12 (111) TransformationProof [EQUIVALENT, 0 ms] 129.16/38.12 (112) QDP 129.16/38.12 (113) TransformationProof [EQUIVALENT, 0 ms] 129.16/38.12 (114) QDP 129.16/38.12 (115) DependencyGraphProof [EQUIVALENT, 0 ms] 129.16/38.12 (116) AND 129.16/38.12 (117) QDP 129.16/38.12 (118) UsableRulesProof [EQUIVALENT, 0 ms] 129.16/38.12 (119) QDP 129.16/38.12 (120) QReductionProof [EQUIVALENT, 0 ms] 129.16/38.12 (121) QDP 129.16/38.12 (122) NonTerminationLoopProof [COMPLETE, 0 ms] 129.16/38.12 (123) NO 129.16/38.12 (124) QDP 129.16/38.12 (125) TransformationProof [EQUIVALENT, 0 ms] 129.16/38.12 (126) QDP 129.16/38.12 (127) TransformationProof [EQUIVALENT, 0 ms] 129.16/38.12 (128) QDP 129.16/38.12 (129) QDPOrderProof [EQUIVALENT, 26 ms] 129.16/38.12 (130) QDP 129.16/38.12 (131) DependencyGraphProof [EQUIVALENT, 0 ms] 129.16/38.12 (132) TRUE 129.16/38.12 (133) PrologToTRSTransformerProof [SOUND, 0 ms] 129.16/38.12 (134) QTRS 129.16/38.12 (135) Overlay + Local Confluence [EQUIVALENT, 9 ms] 129.16/38.12 (136) QTRS 129.16/38.12 (137) DependencyPairsProof [EQUIVALENT, 0 ms] 129.16/38.12 (138) QDP 129.16/38.12 (139) DependencyGraphProof [EQUIVALENT, 0 ms] 129.16/38.12 (140) AND 129.16/38.12 (141) QDP 129.16/38.12 (142) UsableRulesProof [EQUIVALENT, 0 ms] 129.16/38.12 (143) QDP 129.16/38.12 (144) QReductionProof [EQUIVALENT, 0 ms] 129.16/38.12 (145) QDP 129.16/38.12 (146) QDPSizeChangeProof [EQUIVALENT, 0 ms] 129.16/38.12 (147) YES 129.16/38.12 (148) QDP 129.16/38.12 (149) UsableRulesProof [EQUIVALENT, 0 ms] 129.16/38.12 (150) QDP 129.16/38.12 (151) QReductionProof [EQUIVALENT, 0 ms] 129.16/38.12 (152) QDP 129.16/38.12 (153) QDPSizeChangeProof [EQUIVALENT, 0 ms] 129.16/38.12 (154) YES 129.16/38.12 (155) QDP 129.16/38.12 (156) UsableRulesProof [EQUIVALENT, 0 ms] 129.16/38.12 (157) QDP 129.16/38.12 (158) QReductionProof [EQUIVALENT, 0 ms] 129.16/38.12 (159) QDP 129.16/38.12 (160) MNOCProof [EQUIVALENT, 0 ms] 129.16/38.12 (161) QDP 129.16/38.12 (162) NonTerminationLoopProof [COMPLETE, 10 ms] 129.16/38.12 (163) NO 129.16/38.12 (164) PrologToDTProblemTransformerProof [SOUND, 0 ms] 129.16/38.12 (165) TRIPLES 129.16/38.12 (166) TriplesToPiDPProof [SOUND, 0 ms] 129.16/38.12 (167) PiDP 129.16/38.12 (168) DependencyGraphProof [EQUIVALENT, 0 ms] 129.16/38.12 (169) AND 129.16/38.12 (170) PiDP 129.16/38.12 (171) UsableRulesProof [EQUIVALENT, 0 ms] 129.16/38.12 (172) PiDP 129.16/38.12 (173) PiDPToQDPProof [SOUND, 0 ms] 129.16/38.12 (174) QDP 129.16/38.12 (175) QDPSizeChangeProof [EQUIVALENT, 0 ms] 129.16/38.12 (176) YES 129.16/38.12 (177) PiDP 129.16/38.12 (178) UsableRulesProof [EQUIVALENT, 0 ms] 129.16/38.12 (179) PiDP 129.16/38.12 (180) PiDPToQDPProof [SOUND, 0 ms] 129.16/38.12 (181) QDP 129.16/38.12 (182) QDPSizeChangeProof [EQUIVALENT, 0 ms] 129.16/38.12 (183) YES 129.16/38.12 (184) PiDP 129.16/38.12 (185) PiDPToQDPProof [SOUND, 0 ms] 129.16/38.12 (186) QDP 129.16/38.12 (187) QDPQMonotonicMRRProof [EQUIVALENT, 31 ms] 129.16/38.12 (188) QDP 129.16/38.12 (189) QDPQMonotonicMRRProof [EQUIVALENT, 20 ms] 129.16/38.12 (190) QDP 129.16/38.12 (191) UsableRulesProof [EQUIVALENT, 0 ms] 129.16/38.12 (192) QDP 129.16/38.12 (193) QReductionProof [EQUIVALENT, 0 ms] 129.16/38.12 (194) QDP 129.16/38.12 (195) TransformationProof [SOUND, 0 ms] 129.16/38.12 (196) QDP 129.16/38.12 (197) UsableRulesProof [EQUIVALENT, 0 ms] 129.16/38.12 (198) QDP 129.16/38.12 (199) QReductionProof [EQUIVALENT, 0 ms] 129.16/38.12 (200) QDP 129.16/38.12 (201) TransformationProof [EQUIVALENT, 0 ms] 129.16/38.12 (202) QDP 129.16/38.12 (203) TransformationProof [EQUIVALENT, 0 ms] 129.16/38.12 (204) QDP 129.16/38.12 (205) UsableRulesProof [EQUIVALENT, 0 ms] 129.16/38.12 (206) QDP 129.16/38.12 (207) QReductionProof [EQUIVALENT, 0 ms] 129.16/38.12 (208) QDP 129.16/38.12 (209) TransformationProof [EQUIVALENT, 0 ms] 129.16/38.12 (210) QDP 129.16/38.12 (211) UsableRulesProof [EQUIVALENT, 0 ms] 129.16/38.12 (212) QDP 129.16/38.12 (213) QReductionProof [EQUIVALENT, 0 ms] 129.16/38.12 (214) QDP 129.16/38.12 (215) NonTerminationLoopProof [COMPLETE, 9 ms] 129.16/38.12 (216) NO 129.16/38.12 (217) PrologToIRSwTTransformerProof [SOUND, 0 ms] 129.16/38.12 (218) AND 129.16/38.12 (219) IRSwT 129.16/38.12 (220) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 129.16/38.12 (221) TRUE 129.16/38.12 (222) IRSwT 129.16/38.12 (223) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 129.16/38.12 (224) IRSwT 129.16/38.12 (225) IntTRSCompressionProof [EQUIVALENT, 21 ms] 129.16/38.12 (226) IRSwT 129.16/38.12 (227) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 129.16/38.12 (228) IRSwT 129.16/38.12 (229) IRSwTTerminationDigraphProof [EQUIVALENT, 1 ms] 129.16/38.12 (230) IRSwT 129.16/38.12 (231) TempFilterProof [SOUND, 4 ms] 129.16/38.12 (232) IRSwT 129.16/38.12 (233) IRSwTToQDPProof [SOUND, 0 ms] 129.16/38.12 (234) QDP 129.16/38.12 (235) QDPSizeChangeProof [EQUIVALENT, 0 ms] 129.16/38.12 (236) YES 129.16/38.12 (237) IRSwT 129.16/38.12 (238) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 129.16/38.12 (239) IRSwT 129.16/38.12 (240) IntTRSCompressionProof [EQUIVALENT, 29 ms] 129.16/38.12 (241) IRSwT 129.16/38.12 (242) IRSFormatTransformerProof [EQUIVALENT, 1 ms] 129.16/38.12 (243) IRSwT 129.16/38.12 (244) IRSwTTerminationDigraphProof [EQUIVALENT, 68 ms] 129.16/38.12 (245) IRSwT 129.16/38.12 (246) IntTRSCompressionProof [EQUIVALENT, 13 ms] 129.16/38.12 (247) IRSwT 129.16/38.12 (248) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] 129.16/38.12 (249) IRSwT 129.16/38.12 (250) IRSwTToIntTRSProof [SOUND, 19 ms] 129.16/38.12 (251) IRSwT 129.16/38.12 (252) IntTRSCompressionProof [EQUIVALENT, 10 ms] 129.16/38.12 (253) IRSwT 129.16/38.12 129.16/38.12 129.16/38.12 ---------------------------------------- 129.16/38.12 129.16/38.12 (0) 129.16/38.12 Obligation: 129.16/38.12 Clauses: 129.16/38.12 129.16/38.12 le(0, Y, true). 129.16/38.12 le(s(X), 0, false). 129.16/38.12 le(s(X), s(Y), B) :- le(X, Y, B). 129.16/38.12 minus(X, 0, X). 129.16/38.12 minus(s(X), s(Y), Z) :- minus(X, Y, Z). 129.16/38.12 div(X, s(Y), Z) :- ','(le(s(Y), X, B), if(B, X, s(Y), Z)). 129.16/38.12 if(false, X, s(Y), 0). 129.16/38.12 if(true, X, s(Y), s(Z)) :- ','(minus(X, Y, U), div(U, s(Y), Z)). 129.16/38.12 129.16/38.12 129.16/38.12 Query: div(g,g,a) 129.16/38.12 ---------------------------------------- 129.16/38.12 129.16/38.12 (1) PrologToPiTRSProof (SOUND) 129.16/38.12 We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: 129.16/38.12 129.16/38.12 div_in_3: (b,b,f) 129.16/38.12 129.16/38.12 le_in_3: (b,b,f) 129.16/38.12 129.16/38.12 if_in_4: (b,b,b,f) 129.16/38.12 129.16/38.12 minus_in_3: (b,b,f) 129.16/38.12 129.16/38.12 Transforming Prolog into the following Term Rewriting System: 129.16/38.12 129.16/38.12 Pi-finite rewrite system: 129.16/38.12 The TRS R consists of the following rules: 129.16/38.12 129.16/38.12 div_in_gga(X, s(Y), Z) -> U3_gga(X, Y, Z, le_in_gga(s(Y), X, B)) 129.16/38.12 le_in_gga(0, Y, true) -> le_out_gga(0, Y, true) 129.16/38.12 le_in_gga(s(X), 0, false) -> le_out_gga(s(X), 0, false) 129.16/38.12 le_in_gga(s(X), s(Y), B) -> U1_gga(X, Y, B, le_in_gga(X, Y, B)) 129.16/38.12 U1_gga(X, Y, B, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.16/38.12 U3_gga(X, Y, Z, le_out_gga(s(Y), X, B)) -> U4_gga(X, Y, Z, if_in_ggga(B, X, s(Y), Z)) 129.16/38.12 if_in_ggga(false, X, s(Y), 0) -> if_out_ggga(false, X, s(Y), 0) 129.16/38.12 if_in_ggga(true, X, s(Y), s(Z)) -> U5_ggga(X, Y, Z, minus_in_gga(X, Y, U)) 129.16/38.12 minus_in_gga(X, 0, X) -> minus_out_gga(X, 0, X) 129.16/38.12 minus_in_gga(s(X), s(Y), Z) -> U2_gga(X, Y, Z, minus_in_gga(X, Y, Z)) 129.16/38.12 U2_gga(X, Y, Z, minus_out_gga(X, Y, Z)) -> minus_out_gga(s(X), s(Y), Z) 129.16/38.12 U5_ggga(X, Y, Z, minus_out_gga(X, Y, U)) -> U6_ggga(X, Y, Z, div_in_gga(U, s(Y), Z)) 129.16/38.12 U6_ggga(X, Y, Z, div_out_gga(U, s(Y), Z)) -> if_out_ggga(true, X, s(Y), s(Z)) 129.16/38.12 U4_gga(X, Y, Z, if_out_ggga(B, X, s(Y), Z)) -> div_out_gga(X, s(Y), Z) 129.16/38.12 129.16/38.12 The argument filtering Pi contains the following mapping: 129.16/38.12 div_in_gga(x1, x2, x3) = div_in_gga(x1, x2) 129.16/38.12 129.16/38.12 s(x1) = s(x1) 129.16/38.12 129.16/38.12 U3_gga(x1, x2, x3, x4) = U3_gga(x1, x2, x4) 129.16/38.12 129.16/38.12 le_in_gga(x1, x2, x3) = le_in_gga(x1, x2) 129.16/38.12 129.16/38.12 0 = 0 129.16/38.12 129.16/38.12 le_out_gga(x1, x2, x3) = le_out_gga(x1, x2, x3) 129.16/38.12 129.16/38.12 U1_gga(x1, x2, x3, x4) = U1_gga(x1, x2, x4) 129.16/38.12 129.16/38.12 U4_gga(x1, x2, x3, x4) = U4_gga(x1, x2, x4) 129.16/38.12 129.16/38.12 if_in_ggga(x1, x2, x3, x4) = if_in_ggga(x1, x2, x3) 129.16/38.12 129.16/38.12 false = false 129.16/38.12 129.16/38.12 if_out_ggga(x1, x2, x3, x4) = if_out_ggga(x1, x2, x3, x4) 129.16/38.12 129.16/38.12 true = true 129.16/38.12 129.16/38.12 U5_ggga(x1, x2, x3, x4) = U5_ggga(x1, x2, x4) 129.16/38.12 129.16/38.12 minus_in_gga(x1, x2, x3) = minus_in_gga(x1, x2) 129.16/38.12 129.16/38.12 minus_out_gga(x1, x2, x3) = minus_out_gga(x1, x2, x3) 129.16/38.12 129.16/38.12 U2_gga(x1, x2, x3, x4) = U2_gga(x1, x2, x4) 129.16/38.12 129.16/38.12 U6_ggga(x1, x2, x3, x4) = U6_ggga(x1, x2, x4) 129.16/38.12 129.16/38.12 div_out_gga(x1, x2, x3) = div_out_gga(x1, x2, x3) 129.16/38.12 129.16/38.12 129.16/38.12 129.16/38.12 129.16/38.12 129.16/38.12 Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog 129.16/38.12 129.16/38.12 129.16/38.12 129.16/38.12 ---------------------------------------- 129.16/38.12 129.16/38.12 (2) 129.16/38.12 Obligation: 129.16/38.12 Pi-finite rewrite system: 129.16/38.12 The TRS R consists of the following rules: 129.16/38.12 129.16/38.12 div_in_gga(X, s(Y), Z) -> U3_gga(X, Y, Z, le_in_gga(s(Y), X, B)) 129.16/38.12 le_in_gga(0, Y, true) -> le_out_gga(0, Y, true) 129.16/38.12 le_in_gga(s(X), 0, false) -> le_out_gga(s(X), 0, false) 129.16/38.12 le_in_gga(s(X), s(Y), B) -> U1_gga(X, Y, B, le_in_gga(X, Y, B)) 129.16/38.12 U1_gga(X, Y, B, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.16/38.12 U3_gga(X, Y, Z, le_out_gga(s(Y), X, B)) -> U4_gga(X, Y, Z, if_in_ggga(B, X, s(Y), Z)) 129.16/38.12 if_in_ggga(false, X, s(Y), 0) -> if_out_ggga(false, X, s(Y), 0) 129.16/38.12 if_in_ggga(true, X, s(Y), s(Z)) -> U5_ggga(X, Y, Z, minus_in_gga(X, Y, U)) 129.16/38.12 minus_in_gga(X, 0, X) -> minus_out_gga(X, 0, X) 129.16/38.12 minus_in_gga(s(X), s(Y), Z) -> U2_gga(X, Y, Z, minus_in_gga(X, Y, Z)) 129.16/38.12 U2_gga(X, Y, Z, minus_out_gga(X, Y, Z)) -> minus_out_gga(s(X), s(Y), Z) 129.16/38.12 U5_ggga(X, Y, Z, minus_out_gga(X, Y, U)) -> U6_ggga(X, Y, Z, div_in_gga(U, s(Y), Z)) 129.16/38.12 U6_ggga(X, Y, Z, div_out_gga(U, s(Y), Z)) -> if_out_ggga(true, X, s(Y), s(Z)) 129.16/38.12 U4_gga(X, Y, Z, if_out_ggga(B, X, s(Y), Z)) -> div_out_gga(X, s(Y), Z) 129.16/38.12 129.16/38.12 The argument filtering Pi contains the following mapping: 129.16/38.12 div_in_gga(x1, x2, x3) = div_in_gga(x1, x2) 129.16/38.12 129.16/38.12 s(x1) = s(x1) 129.16/38.12 129.16/38.12 U3_gga(x1, x2, x3, x4) = U3_gga(x1, x2, x4) 129.16/38.12 129.16/38.12 le_in_gga(x1, x2, x3) = le_in_gga(x1, x2) 129.16/38.12 129.16/38.12 0 = 0 129.16/38.12 129.16/38.12 le_out_gga(x1, x2, x3) = le_out_gga(x1, x2, x3) 129.16/38.12 129.16/38.12 U1_gga(x1, x2, x3, x4) = U1_gga(x1, x2, x4) 129.16/38.12 129.16/38.12 U4_gga(x1, x2, x3, x4) = U4_gga(x1, x2, x4) 129.16/38.12 129.16/38.12 if_in_ggga(x1, x2, x3, x4) = if_in_ggga(x1, x2, x3) 129.16/38.12 129.16/38.12 false = false 129.16/38.12 129.16/38.12 if_out_ggga(x1, x2, x3, x4) = if_out_ggga(x1, x2, x3, x4) 129.16/38.12 129.16/38.12 true = true 129.16/38.12 129.16/38.12 U5_ggga(x1, x2, x3, x4) = U5_ggga(x1, x2, x4) 129.16/38.12 129.16/38.12 minus_in_gga(x1, x2, x3) = minus_in_gga(x1, x2) 129.16/38.12 129.16/38.12 minus_out_gga(x1, x2, x3) = minus_out_gga(x1, x2, x3) 129.16/38.12 129.16/38.12 U2_gga(x1, x2, x3, x4) = U2_gga(x1, x2, x4) 129.16/38.12 129.16/38.12 U6_ggga(x1, x2, x3, x4) = U6_ggga(x1, x2, x4) 129.16/38.12 129.16/38.12 div_out_gga(x1, x2, x3) = div_out_gga(x1, x2, x3) 129.16/38.12 129.16/38.12 129.16/38.12 129.16/38.12 ---------------------------------------- 129.16/38.12 129.16/38.12 (3) DependencyPairsProof (EQUIVALENT) 129.16/38.12 Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: 129.16/38.12 Pi DP problem: 129.16/38.12 The TRS P consists of the following rules: 129.16/38.12 129.16/38.12 DIV_IN_GGA(X, s(Y), Z) -> U3_GGA(X, Y, Z, le_in_gga(s(Y), X, B)) 129.16/38.12 DIV_IN_GGA(X, s(Y), Z) -> LE_IN_GGA(s(Y), X, B) 129.16/38.12 LE_IN_GGA(s(X), s(Y), B) -> U1_GGA(X, Y, B, le_in_gga(X, Y, B)) 129.16/38.12 LE_IN_GGA(s(X), s(Y), B) -> LE_IN_GGA(X, Y, B) 129.16/38.12 U3_GGA(X, Y, Z, le_out_gga(s(Y), X, B)) -> U4_GGA(X, Y, Z, if_in_ggga(B, X, s(Y), Z)) 129.16/38.12 U3_GGA(X, Y, Z, le_out_gga(s(Y), X, B)) -> IF_IN_GGGA(B, X, s(Y), Z) 129.16/38.12 IF_IN_GGGA(true, X, s(Y), s(Z)) -> U5_GGGA(X, Y, Z, minus_in_gga(X, Y, U)) 129.16/38.12 IF_IN_GGGA(true, X, s(Y), s(Z)) -> MINUS_IN_GGA(X, Y, U) 129.16/38.12 MINUS_IN_GGA(s(X), s(Y), Z) -> U2_GGA(X, Y, Z, minus_in_gga(X, Y, Z)) 129.16/38.12 MINUS_IN_GGA(s(X), s(Y), Z) -> MINUS_IN_GGA(X, Y, Z) 129.16/38.12 U5_GGGA(X, Y, Z, minus_out_gga(X, Y, U)) -> U6_GGGA(X, Y, Z, div_in_gga(U, s(Y), Z)) 129.16/38.12 U5_GGGA(X, Y, Z, minus_out_gga(X, Y, U)) -> DIV_IN_GGA(U, s(Y), Z) 129.16/38.12 129.16/38.12 The TRS R consists of the following rules: 129.16/38.12 129.16/38.12 div_in_gga(X, s(Y), Z) -> U3_gga(X, Y, Z, le_in_gga(s(Y), X, B)) 129.16/38.12 le_in_gga(0, Y, true) -> le_out_gga(0, Y, true) 129.16/38.12 le_in_gga(s(X), 0, false) -> le_out_gga(s(X), 0, false) 129.16/38.12 le_in_gga(s(X), s(Y), B) -> U1_gga(X, Y, B, le_in_gga(X, Y, B)) 129.16/38.12 U1_gga(X, Y, B, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.16/38.12 U3_gga(X, Y, Z, le_out_gga(s(Y), X, B)) -> U4_gga(X, Y, Z, if_in_ggga(B, X, s(Y), Z)) 129.16/38.12 if_in_ggga(false, X, s(Y), 0) -> if_out_ggga(false, X, s(Y), 0) 129.16/38.12 if_in_ggga(true, X, s(Y), s(Z)) -> U5_ggga(X, Y, Z, minus_in_gga(X, Y, U)) 129.16/38.12 minus_in_gga(X, 0, X) -> minus_out_gga(X, 0, X) 129.16/38.12 minus_in_gga(s(X), s(Y), Z) -> U2_gga(X, Y, Z, minus_in_gga(X, Y, Z)) 129.16/38.12 U2_gga(X, Y, Z, minus_out_gga(X, Y, Z)) -> minus_out_gga(s(X), s(Y), Z) 129.16/38.12 U5_ggga(X, Y, Z, minus_out_gga(X, Y, U)) -> U6_ggga(X, Y, Z, div_in_gga(U, s(Y), Z)) 129.16/38.12 U6_ggga(X, Y, Z, div_out_gga(U, s(Y), Z)) -> if_out_ggga(true, X, s(Y), s(Z)) 129.16/38.12 U4_gga(X, Y, Z, if_out_ggga(B, X, s(Y), Z)) -> div_out_gga(X, s(Y), Z) 129.16/38.12 129.16/38.12 The argument filtering Pi contains the following mapping: 129.16/38.12 div_in_gga(x1, x2, x3) = div_in_gga(x1, x2) 129.16/38.12 129.16/38.12 s(x1) = s(x1) 129.16/38.12 129.16/38.12 U3_gga(x1, x2, x3, x4) = U3_gga(x1, x2, x4) 129.16/38.12 129.16/38.12 le_in_gga(x1, x2, x3) = le_in_gga(x1, x2) 129.16/38.12 129.16/38.12 0 = 0 129.16/38.12 129.16/38.12 le_out_gga(x1, x2, x3) = le_out_gga(x1, x2, x3) 129.16/38.13 129.16/38.13 U1_gga(x1, x2, x3, x4) = U1_gga(x1, x2, x4) 129.16/38.13 129.16/38.13 U4_gga(x1, x2, x3, x4) = U4_gga(x1, x2, x4) 129.16/38.13 129.16/38.13 if_in_ggga(x1, x2, x3, x4) = if_in_ggga(x1, x2, x3) 129.16/38.13 129.16/38.13 false = false 129.16/38.13 129.16/38.13 if_out_ggga(x1, x2, x3, x4) = if_out_ggga(x1, x2, x3, x4) 129.16/38.13 129.16/38.13 true = true 129.16/38.13 129.16/38.13 U5_ggga(x1, x2, x3, x4) = U5_ggga(x1, x2, x4) 129.16/38.13 129.16/38.13 minus_in_gga(x1, x2, x3) = minus_in_gga(x1, x2) 129.16/38.13 129.16/38.13 minus_out_gga(x1, x2, x3) = minus_out_gga(x1, x2, x3) 129.16/38.13 129.16/38.13 U2_gga(x1, x2, x3, x4) = U2_gga(x1, x2, x4) 129.16/38.13 129.16/38.13 U6_ggga(x1, x2, x3, x4) = U6_ggga(x1, x2, x4) 129.16/38.13 129.16/38.13 div_out_gga(x1, x2, x3) = div_out_gga(x1, x2, x3) 129.16/38.13 129.16/38.13 DIV_IN_GGA(x1, x2, x3) = DIV_IN_GGA(x1, x2) 129.16/38.13 129.16/38.13 U3_GGA(x1, x2, x3, x4) = U3_GGA(x1, x2, x4) 129.16/38.13 129.16/38.13 LE_IN_GGA(x1, x2, x3) = LE_IN_GGA(x1, x2) 129.16/38.13 129.16/38.13 U1_GGA(x1, x2, x3, x4) = U1_GGA(x1, x2, x4) 129.16/38.13 129.16/38.13 U4_GGA(x1, x2, x3, x4) = U4_GGA(x1, x2, x4) 129.16/38.13 129.16/38.13 IF_IN_GGGA(x1, x2, x3, x4) = IF_IN_GGGA(x1, x2, x3) 129.16/38.13 129.16/38.13 U5_GGGA(x1, x2, x3, x4) = U5_GGGA(x1, x2, x4) 129.16/38.13 129.16/38.13 MINUS_IN_GGA(x1, x2, x3) = MINUS_IN_GGA(x1, x2) 129.16/38.13 129.16/38.13 U2_GGA(x1, x2, x3, x4) = U2_GGA(x1, x2, x4) 129.16/38.13 129.16/38.13 U6_GGGA(x1, x2, x3, x4) = U6_GGGA(x1, x2, x4) 129.16/38.13 129.16/38.13 129.16/38.13 We have to consider all (P,R,Pi)-chains 129.16/38.13 ---------------------------------------- 129.16/38.13 129.16/38.13 (4) 129.16/38.13 Obligation: 129.16/38.13 Pi DP problem: 129.16/38.13 The TRS P consists of the following rules: 129.16/38.13 129.16/38.13 DIV_IN_GGA(X, s(Y), Z) -> U3_GGA(X, Y, Z, le_in_gga(s(Y), X, B)) 129.16/38.13 DIV_IN_GGA(X, s(Y), Z) -> LE_IN_GGA(s(Y), X, B) 129.16/38.13 LE_IN_GGA(s(X), s(Y), B) -> U1_GGA(X, Y, B, le_in_gga(X, Y, B)) 129.16/38.13 LE_IN_GGA(s(X), s(Y), B) -> LE_IN_GGA(X, Y, B) 129.16/38.13 U3_GGA(X, Y, Z, le_out_gga(s(Y), X, B)) -> U4_GGA(X, Y, Z, if_in_ggga(B, X, s(Y), Z)) 129.16/38.13 U3_GGA(X, Y, Z, le_out_gga(s(Y), X, B)) -> IF_IN_GGGA(B, X, s(Y), Z) 129.16/38.13 IF_IN_GGGA(true, X, s(Y), s(Z)) -> U5_GGGA(X, Y, Z, minus_in_gga(X, Y, U)) 129.16/38.13 IF_IN_GGGA(true, X, s(Y), s(Z)) -> MINUS_IN_GGA(X, Y, U) 129.16/38.13 MINUS_IN_GGA(s(X), s(Y), Z) -> U2_GGA(X, Y, Z, minus_in_gga(X, Y, Z)) 129.16/38.13 MINUS_IN_GGA(s(X), s(Y), Z) -> MINUS_IN_GGA(X, Y, Z) 129.16/38.13 U5_GGGA(X, Y, Z, minus_out_gga(X, Y, U)) -> U6_GGGA(X, Y, Z, div_in_gga(U, s(Y), Z)) 129.16/38.13 U5_GGGA(X, Y, Z, minus_out_gga(X, Y, U)) -> DIV_IN_GGA(U, s(Y), Z) 129.16/38.13 129.16/38.13 The TRS R consists of the following rules: 129.16/38.13 129.16/38.13 div_in_gga(X, s(Y), Z) -> U3_gga(X, Y, Z, le_in_gga(s(Y), X, B)) 129.16/38.13 le_in_gga(0, Y, true) -> le_out_gga(0, Y, true) 129.16/38.13 le_in_gga(s(X), 0, false) -> le_out_gga(s(X), 0, false) 129.16/38.13 le_in_gga(s(X), s(Y), B) -> U1_gga(X, Y, B, le_in_gga(X, Y, B)) 129.16/38.13 U1_gga(X, Y, B, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.16/38.13 U3_gga(X, Y, Z, le_out_gga(s(Y), X, B)) -> U4_gga(X, Y, Z, if_in_ggga(B, X, s(Y), Z)) 129.16/38.13 if_in_ggga(false, X, s(Y), 0) -> if_out_ggga(false, X, s(Y), 0) 129.16/38.13 if_in_ggga(true, X, s(Y), s(Z)) -> U5_ggga(X, Y, Z, minus_in_gga(X, Y, U)) 129.16/38.13 minus_in_gga(X, 0, X) -> minus_out_gga(X, 0, X) 129.16/38.13 minus_in_gga(s(X), s(Y), Z) -> U2_gga(X, Y, Z, minus_in_gga(X, Y, Z)) 129.16/38.13 U2_gga(X, Y, Z, minus_out_gga(X, Y, Z)) -> minus_out_gga(s(X), s(Y), Z) 129.16/38.13 U5_ggga(X, Y, Z, minus_out_gga(X, Y, U)) -> U6_ggga(X, Y, Z, div_in_gga(U, s(Y), Z)) 129.16/38.13 U6_ggga(X, Y, Z, div_out_gga(U, s(Y), Z)) -> if_out_ggga(true, X, s(Y), s(Z)) 129.16/38.13 U4_gga(X, Y, Z, if_out_ggga(B, X, s(Y), Z)) -> div_out_gga(X, s(Y), Z) 129.16/38.13 129.16/38.13 The argument filtering Pi contains the following mapping: 129.16/38.13 div_in_gga(x1, x2, x3) = div_in_gga(x1, x2) 129.16/38.13 129.16/38.13 s(x1) = s(x1) 129.16/38.13 129.16/38.13 U3_gga(x1, x2, x3, x4) = U3_gga(x1, x2, x4) 129.16/38.13 129.16/38.13 le_in_gga(x1, x2, x3) = le_in_gga(x1, x2) 129.16/38.13 129.16/38.13 0 = 0 129.16/38.13 129.16/38.13 le_out_gga(x1, x2, x3) = le_out_gga(x1, x2, x3) 129.16/38.13 129.16/38.13 U1_gga(x1, x2, x3, x4) = U1_gga(x1, x2, x4) 129.16/38.13 129.16/38.13 U4_gga(x1, x2, x3, x4) = U4_gga(x1, x2, x4) 129.16/38.13 129.16/38.13 if_in_ggga(x1, x2, x3, x4) = if_in_ggga(x1, x2, x3) 129.16/38.13 129.16/38.13 false = false 129.16/38.13 129.16/38.13 if_out_ggga(x1, x2, x3, x4) = if_out_ggga(x1, x2, x3, x4) 129.16/38.13 129.16/38.13 true = true 129.16/38.13 129.16/38.13 U5_ggga(x1, x2, x3, x4) = U5_ggga(x1, x2, x4) 129.16/38.13 129.16/38.13 minus_in_gga(x1, x2, x3) = minus_in_gga(x1, x2) 129.16/38.13 129.16/38.13 minus_out_gga(x1, x2, x3) = minus_out_gga(x1, x2, x3) 129.16/38.13 129.16/38.13 U2_gga(x1, x2, x3, x4) = U2_gga(x1, x2, x4) 129.16/38.13 129.16/38.13 U6_ggga(x1, x2, x3, x4) = U6_ggga(x1, x2, x4) 129.16/38.13 129.16/38.13 div_out_gga(x1, x2, x3) = div_out_gga(x1, x2, x3) 129.16/38.13 129.16/38.13 DIV_IN_GGA(x1, x2, x3) = DIV_IN_GGA(x1, x2) 129.16/38.13 129.16/38.13 U3_GGA(x1, x2, x3, x4) = U3_GGA(x1, x2, x4) 129.16/38.13 129.16/38.13 LE_IN_GGA(x1, x2, x3) = LE_IN_GGA(x1, x2) 129.16/38.13 129.16/38.13 U1_GGA(x1, x2, x3, x4) = U1_GGA(x1, x2, x4) 129.16/38.13 129.16/38.13 U4_GGA(x1, x2, x3, x4) = U4_GGA(x1, x2, x4) 129.16/38.13 129.16/38.13 IF_IN_GGGA(x1, x2, x3, x4) = IF_IN_GGGA(x1, x2, x3) 129.16/38.13 129.16/38.13 U5_GGGA(x1, x2, x3, x4) = U5_GGGA(x1, x2, x4) 129.16/38.13 129.16/38.13 MINUS_IN_GGA(x1, x2, x3) = MINUS_IN_GGA(x1, x2) 129.16/38.13 129.16/38.13 U2_GGA(x1, x2, x3, x4) = U2_GGA(x1, x2, x4) 129.16/38.13 129.16/38.13 U6_GGGA(x1, x2, x3, x4) = U6_GGGA(x1, x2, x4) 129.16/38.13 129.16/38.13 129.16/38.13 We have to consider all (P,R,Pi)-chains 129.16/38.13 ---------------------------------------- 129.16/38.13 129.16/38.13 (5) DependencyGraphProof (EQUIVALENT) 129.16/38.13 The approximation of the Dependency Graph [LOPSTR] contains 3 SCCs with 6 less nodes. 129.16/38.13 ---------------------------------------- 129.16/38.13 129.16/38.13 (6) 129.16/38.13 Complex Obligation (AND) 129.16/38.13 129.16/38.13 ---------------------------------------- 129.16/38.13 129.16/38.13 (7) 129.16/38.13 Obligation: 129.16/38.13 Pi DP problem: 129.16/38.13 The TRS P consists of the following rules: 129.16/38.13 129.16/38.13 MINUS_IN_GGA(s(X), s(Y), Z) -> MINUS_IN_GGA(X, Y, Z) 129.16/38.13 129.16/38.13 The TRS R consists of the following rules: 129.16/38.13 129.16/38.13 div_in_gga(X, s(Y), Z) -> U3_gga(X, Y, Z, le_in_gga(s(Y), X, B)) 129.16/38.13 le_in_gga(0, Y, true) -> le_out_gga(0, Y, true) 129.16/38.13 le_in_gga(s(X), 0, false) -> le_out_gga(s(X), 0, false) 129.16/38.13 le_in_gga(s(X), s(Y), B) -> U1_gga(X, Y, B, le_in_gga(X, Y, B)) 129.16/38.13 U1_gga(X, Y, B, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.16/38.13 U3_gga(X, Y, Z, le_out_gga(s(Y), X, B)) -> U4_gga(X, Y, Z, if_in_ggga(B, X, s(Y), Z)) 129.16/38.13 if_in_ggga(false, X, s(Y), 0) -> if_out_ggga(false, X, s(Y), 0) 129.16/38.13 if_in_ggga(true, X, s(Y), s(Z)) -> U5_ggga(X, Y, Z, minus_in_gga(X, Y, U)) 129.16/38.13 minus_in_gga(X, 0, X) -> minus_out_gga(X, 0, X) 129.16/38.13 minus_in_gga(s(X), s(Y), Z) -> U2_gga(X, Y, Z, minus_in_gga(X, Y, Z)) 129.16/38.13 U2_gga(X, Y, Z, minus_out_gga(X, Y, Z)) -> minus_out_gga(s(X), s(Y), Z) 129.16/38.13 U5_ggga(X, Y, Z, minus_out_gga(X, Y, U)) -> U6_ggga(X, Y, Z, div_in_gga(U, s(Y), Z)) 129.16/38.13 U6_ggga(X, Y, Z, div_out_gga(U, s(Y), Z)) -> if_out_ggga(true, X, s(Y), s(Z)) 129.16/38.13 U4_gga(X, Y, Z, if_out_ggga(B, X, s(Y), Z)) -> div_out_gga(X, s(Y), Z) 129.16/38.13 129.16/38.13 The argument filtering Pi contains the following mapping: 129.16/38.13 div_in_gga(x1, x2, x3) = div_in_gga(x1, x2) 129.16/38.13 129.16/38.13 s(x1) = s(x1) 129.16/38.13 129.16/38.13 U3_gga(x1, x2, x3, x4) = U3_gga(x1, x2, x4) 129.16/38.13 129.16/38.13 le_in_gga(x1, x2, x3) = le_in_gga(x1, x2) 129.16/38.13 129.16/38.13 0 = 0 129.16/38.13 129.16/38.13 le_out_gga(x1, x2, x3) = le_out_gga(x1, x2, x3) 129.16/38.13 129.16/38.13 U1_gga(x1, x2, x3, x4) = U1_gga(x1, x2, x4) 129.16/38.13 129.16/38.13 U4_gga(x1, x2, x3, x4) = U4_gga(x1, x2, x4) 129.16/38.13 129.16/38.13 if_in_ggga(x1, x2, x3, x4) = if_in_ggga(x1, x2, x3) 129.16/38.13 129.16/38.13 false = false 129.16/38.13 129.16/38.13 if_out_ggga(x1, x2, x3, x4) = if_out_ggga(x1, x2, x3, x4) 129.16/38.13 129.16/38.13 true = true 129.16/38.13 129.16/38.13 U5_ggga(x1, x2, x3, x4) = U5_ggga(x1, x2, x4) 129.16/38.13 129.16/38.13 minus_in_gga(x1, x2, x3) = minus_in_gga(x1, x2) 129.16/38.13 129.16/38.13 minus_out_gga(x1, x2, x3) = minus_out_gga(x1, x2, x3) 129.16/38.13 129.16/38.13 U2_gga(x1, x2, x3, x4) = U2_gga(x1, x2, x4) 129.16/38.13 129.16/38.13 U6_ggga(x1, x2, x3, x4) = U6_ggga(x1, x2, x4) 129.16/38.13 129.16/38.13 div_out_gga(x1, x2, x3) = div_out_gga(x1, x2, x3) 129.16/38.13 129.16/38.13 MINUS_IN_GGA(x1, x2, x3) = MINUS_IN_GGA(x1, x2) 129.16/38.13 129.16/38.13 129.16/38.13 We have to consider all (P,R,Pi)-chains 129.16/38.13 ---------------------------------------- 129.16/38.13 129.16/38.13 (8) UsableRulesProof (EQUIVALENT) 129.16/38.13 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 129.16/38.13 ---------------------------------------- 129.16/38.13 129.16/38.13 (9) 129.16/38.13 Obligation: 129.16/38.13 Pi DP problem: 129.16/38.13 The TRS P consists of the following rules: 129.16/38.13 129.16/38.13 MINUS_IN_GGA(s(X), s(Y), Z) -> MINUS_IN_GGA(X, Y, Z) 129.16/38.13 129.16/38.13 R is empty. 129.16/38.13 The argument filtering Pi contains the following mapping: 129.16/38.13 s(x1) = s(x1) 129.16/38.13 129.16/38.13 MINUS_IN_GGA(x1, x2, x3) = MINUS_IN_GGA(x1, x2) 129.16/38.13 129.16/38.13 129.16/38.13 We have to consider all (P,R,Pi)-chains 129.16/38.13 ---------------------------------------- 129.16/38.13 129.16/38.13 (10) PiDPToQDPProof (SOUND) 129.16/38.13 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 129.16/38.13 ---------------------------------------- 129.16/38.13 129.16/38.13 (11) 129.16/38.13 Obligation: 129.16/38.13 Q DP problem: 129.16/38.13 The TRS P consists of the following rules: 129.16/38.13 129.16/38.13 MINUS_IN_GGA(s(X), s(Y)) -> MINUS_IN_GGA(X, Y) 129.16/38.13 129.16/38.13 R is empty. 129.16/38.13 Q is empty. 129.16/38.13 We have to consider all (P,Q,R)-chains. 129.16/38.13 ---------------------------------------- 129.16/38.13 129.16/38.13 (12) QDPSizeChangeProof (EQUIVALENT) 129.16/38.13 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 129.16/38.13 129.16/38.13 From the DPs we obtained the following set of size-change graphs: 129.16/38.13 *MINUS_IN_GGA(s(X), s(Y)) -> MINUS_IN_GGA(X, Y) 129.16/38.13 The graph contains the following edges 1 > 1, 2 > 2 129.16/38.13 129.16/38.13 129.16/38.13 ---------------------------------------- 129.16/38.13 129.16/38.13 (13) 129.16/38.13 YES 129.16/38.13 129.16/38.13 ---------------------------------------- 129.16/38.13 129.16/38.13 (14) 129.16/38.13 Obligation: 129.16/38.13 Pi DP problem: 129.16/38.13 The TRS P consists of the following rules: 129.16/38.13 129.16/38.13 LE_IN_GGA(s(X), s(Y), B) -> LE_IN_GGA(X, Y, B) 129.16/38.13 129.16/38.13 The TRS R consists of the following rules: 129.16/38.13 129.16/38.13 div_in_gga(X, s(Y), Z) -> U3_gga(X, Y, Z, le_in_gga(s(Y), X, B)) 129.16/38.13 le_in_gga(0, Y, true) -> le_out_gga(0, Y, true) 129.16/38.13 le_in_gga(s(X), 0, false) -> le_out_gga(s(X), 0, false) 129.16/38.13 le_in_gga(s(X), s(Y), B) -> U1_gga(X, Y, B, le_in_gga(X, Y, B)) 129.16/38.13 U1_gga(X, Y, B, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.16/38.13 U3_gga(X, Y, Z, le_out_gga(s(Y), X, B)) -> U4_gga(X, Y, Z, if_in_ggga(B, X, s(Y), Z)) 129.16/38.13 if_in_ggga(false, X, s(Y), 0) -> if_out_ggga(false, X, s(Y), 0) 129.16/38.13 if_in_ggga(true, X, s(Y), s(Z)) -> U5_ggga(X, Y, Z, minus_in_gga(X, Y, U)) 129.16/38.13 minus_in_gga(X, 0, X) -> minus_out_gga(X, 0, X) 129.16/38.13 minus_in_gga(s(X), s(Y), Z) -> U2_gga(X, Y, Z, minus_in_gga(X, Y, Z)) 129.16/38.13 U2_gga(X, Y, Z, minus_out_gga(X, Y, Z)) -> minus_out_gga(s(X), s(Y), Z) 129.16/38.13 U5_ggga(X, Y, Z, minus_out_gga(X, Y, U)) -> U6_ggga(X, Y, Z, div_in_gga(U, s(Y), Z)) 129.16/38.13 U6_ggga(X, Y, Z, div_out_gga(U, s(Y), Z)) -> if_out_ggga(true, X, s(Y), s(Z)) 129.16/38.13 U4_gga(X, Y, Z, if_out_ggga(B, X, s(Y), Z)) -> div_out_gga(X, s(Y), Z) 129.16/38.13 129.16/38.13 The argument filtering Pi contains the following mapping: 129.16/38.13 div_in_gga(x1, x2, x3) = div_in_gga(x1, x2) 129.16/38.13 129.16/38.13 s(x1) = s(x1) 129.16/38.13 129.16/38.13 U3_gga(x1, x2, x3, x4) = U3_gga(x1, x2, x4) 129.16/38.13 129.16/38.13 le_in_gga(x1, x2, x3) = le_in_gga(x1, x2) 129.16/38.13 129.16/38.13 0 = 0 129.16/38.13 129.16/38.13 le_out_gga(x1, x2, x3) = le_out_gga(x1, x2, x3) 129.16/38.13 129.16/38.13 U1_gga(x1, x2, x3, x4) = U1_gga(x1, x2, x4) 129.16/38.13 129.16/38.13 U4_gga(x1, x2, x3, x4) = U4_gga(x1, x2, x4) 129.16/38.13 129.16/38.13 if_in_ggga(x1, x2, x3, x4) = if_in_ggga(x1, x2, x3) 129.16/38.13 129.16/38.13 false = false 129.16/38.13 129.16/38.13 if_out_ggga(x1, x2, x3, x4) = if_out_ggga(x1, x2, x3, x4) 129.16/38.13 129.16/38.13 true = true 129.16/38.13 129.16/38.13 U5_ggga(x1, x2, x3, x4) = U5_ggga(x1, x2, x4) 129.16/38.13 129.16/38.13 minus_in_gga(x1, x2, x3) = minus_in_gga(x1, x2) 129.16/38.13 129.16/38.13 minus_out_gga(x1, x2, x3) = minus_out_gga(x1, x2, x3) 129.16/38.13 129.16/38.13 U2_gga(x1, x2, x3, x4) = U2_gga(x1, x2, x4) 129.16/38.13 129.16/38.13 U6_ggga(x1, x2, x3, x4) = U6_ggga(x1, x2, x4) 129.16/38.13 129.16/38.13 div_out_gga(x1, x2, x3) = div_out_gga(x1, x2, x3) 129.16/38.13 129.16/38.13 LE_IN_GGA(x1, x2, x3) = LE_IN_GGA(x1, x2) 129.16/38.13 129.16/38.13 129.16/38.13 We have to consider all (P,R,Pi)-chains 129.16/38.13 ---------------------------------------- 129.16/38.13 129.16/38.13 (15) UsableRulesProof (EQUIVALENT) 129.16/38.13 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 129.16/38.13 ---------------------------------------- 129.16/38.13 129.16/38.13 (16) 129.16/38.13 Obligation: 129.16/38.13 Pi DP problem: 129.16/38.13 The TRS P consists of the following rules: 129.16/38.13 129.16/38.13 LE_IN_GGA(s(X), s(Y), B) -> LE_IN_GGA(X, Y, B) 129.16/38.13 129.16/38.13 R is empty. 129.16/38.13 The argument filtering Pi contains the following mapping: 129.16/38.13 s(x1) = s(x1) 129.16/38.13 129.16/38.13 LE_IN_GGA(x1, x2, x3) = LE_IN_GGA(x1, x2) 129.16/38.13 129.16/38.13 129.16/38.13 We have to consider all (P,R,Pi)-chains 129.16/38.13 ---------------------------------------- 129.16/38.13 129.16/38.13 (17) PiDPToQDPProof (SOUND) 129.16/38.13 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 129.16/38.13 ---------------------------------------- 129.16/38.13 129.16/38.13 (18) 129.16/38.13 Obligation: 129.16/38.13 Q DP problem: 129.16/38.13 The TRS P consists of the following rules: 129.16/38.13 129.16/38.13 LE_IN_GGA(s(X), s(Y)) -> LE_IN_GGA(X, Y) 129.16/38.13 129.16/38.13 R is empty. 129.16/38.13 Q is empty. 129.16/38.13 We have to consider all (P,Q,R)-chains. 129.16/38.13 ---------------------------------------- 129.16/38.13 129.16/38.13 (19) QDPSizeChangeProof (EQUIVALENT) 129.16/38.13 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 129.16/38.13 129.16/38.13 From the DPs we obtained the following set of size-change graphs: 129.16/38.13 *LE_IN_GGA(s(X), s(Y)) -> LE_IN_GGA(X, Y) 129.16/38.13 The graph contains the following edges 1 > 1, 2 > 2 129.16/38.13 129.16/38.13 129.16/38.13 ---------------------------------------- 129.16/38.13 129.16/38.13 (20) 129.16/38.13 YES 129.16/38.13 129.16/38.13 ---------------------------------------- 129.16/38.13 129.16/38.13 (21) 129.16/38.13 Obligation: 129.16/38.13 Pi DP problem: 129.16/38.13 The TRS P consists of the following rules: 129.16/38.13 129.16/38.13 U3_GGA(X, Y, Z, le_out_gga(s(Y), X, B)) -> IF_IN_GGGA(B, X, s(Y), Z) 129.16/38.13 IF_IN_GGGA(true, X, s(Y), s(Z)) -> U5_GGGA(X, Y, Z, minus_in_gga(X, Y, U)) 129.16/38.13 U5_GGGA(X, Y, Z, minus_out_gga(X, Y, U)) -> DIV_IN_GGA(U, s(Y), Z) 129.16/38.13 DIV_IN_GGA(X, s(Y), Z) -> U3_GGA(X, Y, Z, le_in_gga(s(Y), X, B)) 129.16/38.13 129.16/38.13 The TRS R consists of the following rules: 129.16/38.13 129.16/38.13 div_in_gga(X, s(Y), Z) -> U3_gga(X, Y, Z, le_in_gga(s(Y), X, B)) 129.16/38.13 le_in_gga(0, Y, true) -> le_out_gga(0, Y, true) 129.16/38.13 le_in_gga(s(X), 0, false) -> le_out_gga(s(X), 0, false) 129.16/38.13 le_in_gga(s(X), s(Y), B) -> U1_gga(X, Y, B, le_in_gga(X, Y, B)) 129.16/38.13 U1_gga(X, Y, B, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.16/38.13 U3_gga(X, Y, Z, le_out_gga(s(Y), X, B)) -> U4_gga(X, Y, Z, if_in_ggga(B, X, s(Y), Z)) 129.16/38.13 if_in_ggga(false, X, s(Y), 0) -> if_out_ggga(false, X, s(Y), 0) 129.16/38.13 if_in_ggga(true, X, s(Y), s(Z)) -> U5_ggga(X, Y, Z, minus_in_gga(X, Y, U)) 129.16/38.13 minus_in_gga(X, 0, X) -> minus_out_gga(X, 0, X) 129.16/38.13 minus_in_gga(s(X), s(Y), Z) -> U2_gga(X, Y, Z, minus_in_gga(X, Y, Z)) 129.16/38.13 U2_gga(X, Y, Z, minus_out_gga(X, Y, Z)) -> minus_out_gga(s(X), s(Y), Z) 129.16/38.13 U5_ggga(X, Y, Z, minus_out_gga(X, Y, U)) -> U6_ggga(X, Y, Z, div_in_gga(U, s(Y), Z)) 129.16/38.13 U6_ggga(X, Y, Z, div_out_gga(U, s(Y), Z)) -> if_out_ggga(true, X, s(Y), s(Z)) 129.16/38.13 U4_gga(X, Y, Z, if_out_ggga(B, X, s(Y), Z)) -> div_out_gga(X, s(Y), Z) 129.16/38.13 129.16/38.13 The argument filtering Pi contains the following mapping: 129.16/38.13 div_in_gga(x1, x2, x3) = div_in_gga(x1, x2) 129.16/38.13 129.16/38.13 s(x1) = s(x1) 129.16/38.13 129.16/38.13 U3_gga(x1, x2, x3, x4) = U3_gga(x1, x2, x4) 129.16/38.13 129.16/38.13 le_in_gga(x1, x2, x3) = le_in_gga(x1, x2) 129.16/38.13 129.16/38.13 0 = 0 129.16/38.13 129.16/38.13 le_out_gga(x1, x2, x3) = le_out_gga(x1, x2, x3) 129.16/38.13 129.16/38.13 U1_gga(x1, x2, x3, x4) = U1_gga(x1, x2, x4) 129.16/38.13 129.16/38.13 U4_gga(x1, x2, x3, x4) = U4_gga(x1, x2, x4) 129.16/38.13 129.16/38.13 if_in_ggga(x1, x2, x3, x4) = if_in_ggga(x1, x2, x3) 129.16/38.13 129.16/38.13 false = false 129.16/38.13 129.16/38.13 if_out_ggga(x1, x2, x3, x4) = if_out_ggga(x1, x2, x3, x4) 129.16/38.13 129.16/38.13 true = true 129.16/38.13 129.16/38.13 U5_ggga(x1, x2, x3, x4) = U5_ggga(x1, x2, x4) 129.16/38.13 129.16/38.13 minus_in_gga(x1, x2, x3) = minus_in_gga(x1, x2) 129.16/38.13 129.16/38.13 minus_out_gga(x1, x2, x3) = minus_out_gga(x1, x2, x3) 129.16/38.13 129.16/38.13 U2_gga(x1, x2, x3, x4) = U2_gga(x1, x2, x4) 129.16/38.13 129.16/38.13 U6_ggga(x1, x2, x3, x4) = U6_ggga(x1, x2, x4) 129.16/38.13 129.16/38.13 div_out_gga(x1, x2, x3) = div_out_gga(x1, x2, x3) 129.16/38.13 129.16/38.13 DIV_IN_GGA(x1, x2, x3) = DIV_IN_GGA(x1, x2) 129.16/38.13 129.16/38.13 U3_GGA(x1, x2, x3, x4) = U3_GGA(x1, x2, x4) 129.16/38.13 129.16/38.13 IF_IN_GGGA(x1, x2, x3, x4) = IF_IN_GGGA(x1, x2, x3) 129.16/38.13 129.16/38.13 U5_GGGA(x1, x2, x3, x4) = U5_GGGA(x1, x2, x4) 129.16/38.13 129.16/38.13 129.16/38.13 We have to consider all (P,R,Pi)-chains 129.16/38.13 ---------------------------------------- 129.16/38.13 129.16/38.13 (22) UsableRulesProof (EQUIVALENT) 129.16/38.13 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 129.16/38.13 ---------------------------------------- 129.16/38.13 129.16/38.13 (23) 129.16/38.13 Obligation: 129.16/38.13 Pi DP problem: 129.16/38.13 The TRS P consists of the following rules: 129.16/38.13 129.16/38.13 U3_GGA(X, Y, Z, le_out_gga(s(Y), X, B)) -> IF_IN_GGGA(B, X, s(Y), Z) 129.16/38.13 IF_IN_GGGA(true, X, s(Y), s(Z)) -> U5_GGGA(X, Y, Z, minus_in_gga(X, Y, U)) 129.16/38.13 U5_GGGA(X, Y, Z, minus_out_gga(X, Y, U)) -> DIV_IN_GGA(U, s(Y), Z) 129.16/38.13 DIV_IN_GGA(X, s(Y), Z) -> U3_GGA(X, Y, Z, le_in_gga(s(Y), X, B)) 129.16/38.13 129.16/38.13 The TRS R consists of the following rules: 129.16/38.13 129.16/38.13 minus_in_gga(X, 0, X) -> minus_out_gga(X, 0, X) 129.16/38.13 minus_in_gga(s(X), s(Y), Z) -> U2_gga(X, Y, Z, minus_in_gga(X, Y, Z)) 129.16/38.13 le_in_gga(s(X), 0, false) -> le_out_gga(s(X), 0, false) 129.16/38.13 le_in_gga(s(X), s(Y), B) -> U1_gga(X, Y, B, le_in_gga(X, Y, B)) 129.16/38.13 U2_gga(X, Y, Z, minus_out_gga(X, Y, Z)) -> minus_out_gga(s(X), s(Y), Z) 129.16/38.13 U1_gga(X, Y, B, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.16/38.13 le_in_gga(0, Y, true) -> le_out_gga(0, Y, true) 129.16/38.13 129.16/38.13 The argument filtering Pi contains the following mapping: 129.16/38.13 s(x1) = s(x1) 129.16/38.13 129.16/38.13 le_in_gga(x1, x2, x3) = le_in_gga(x1, x2) 129.16/38.13 129.16/38.13 0 = 0 129.16/38.13 129.16/38.13 le_out_gga(x1, x2, x3) = le_out_gga(x1, x2, x3) 129.16/38.13 129.16/38.13 U1_gga(x1, x2, x3, x4) = U1_gga(x1, x2, x4) 129.16/38.13 129.16/38.13 false = false 129.16/38.13 129.16/38.13 true = true 129.16/38.13 129.16/38.13 minus_in_gga(x1, x2, x3) = minus_in_gga(x1, x2) 129.16/38.13 129.16/38.13 minus_out_gga(x1, x2, x3) = minus_out_gga(x1, x2, x3) 129.16/38.13 129.16/38.13 U2_gga(x1, x2, x3, x4) = U2_gga(x1, x2, x4) 129.16/38.13 129.16/38.13 DIV_IN_GGA(x1, x2, x3) = DIV_IN_GGA(x1, x2) 129.16/38.13 129.16/38.13 U3_GGA(x1, x2, x3, x4) = U3_GGA(x1, x2, x4) 129.16/38.13 129.16/38.13 IF_IN_GGGA(x1, x2, x3, x4) = IF_IN_GGGA(x1, x2, x3) 129.16/38.13 129.16/38.13 U5_GGGA(x1, x2, x3, x4) = U5_GGGA(x1, x2, x4) 129.16/38.13 129.16/38.13 129.16/38.13 We have to consider all (P,R,Pi)-chains 129.16/38.13 ---------------------------------------- 129.16/38.13 129.16/38.13 (24) PiDPToQDPProof (SOUND) 129.16/38.13 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 129.16/38.13 ---------------------------------------- 129.16/38.13 129.16/38.13 (25) 129.16/38.13 Obligation: 129.16/38.13 Q DP problem: 129.16/38.13 The TRS P consists of the following rules: 129.16/38.13 129.16/38.13 U3_GGA(X, Y, le_out_gga(s(Y), X, B)) -> IF_IN_GGGA(B, X, s(Y)) 129.16/38.13 IF_IN_GGGA(true, X, s(Y)) -> U5_GGGA(X, Y, minus_in_gga(X, Y)) 129.45/38.13 U5_GGGA(X, Y, minus_out_gga(X, Y, U)) -> DIV_IN_GGA(U, s(Y)) 129.45/38.13 DIV_IN_GGA(X, s(Y)) -> U3_GGA(X, Y, le_in_gga(s(Y), X)) 129.45/38.13 129.45/38.13 The TRS R consists of the following rules: 129.45/38.13 129.45/38.13 minus_in_gga(X, 0) -> minus_out_gga(X, 0, X) 129.45/38.13 minus_in_gga(s(X), s(Y)) -> U2_gga(X, Y, minus_in_gga(X, Y)) 129.45/38.13 le_in_gga(s(X), 0) -> le_out_gga(s(X), 0, false) 129.45/38.13 le_in_gga(s(X), s(Y)) -> U1_gga(X, Y, le_in_gga(X, Y)) 129.45/38.13 U2_gga(X, Y, minus_out_gga(X, Y, Z)) -> minus_out_gga(s(X), s(Y), Z) 129.45/38.13 U1_gga(X, Y, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.45/38.13 le_in_gga(0, Y) -> le_out_gga(0, Y, true) 129.45/38.13 129.45/38.13 The set Q consists of the following terms: 129.45/38.13 129.45/38.13 minus_in_gga(x0, x1) 129.45/38.13 le_in_gga(x0, x1) 129.45/38.13 U2_gga(x0, x1, x2) 129.45/38.13 U1_gga(x0, x1, x2) 129.45/38.13 129.45/38.13 We have to consider all (P,Q,R)-chains. 129.45/38.13 ---------------------------------------- 129.45/38.13 129.45/38.13 (26) QDPQMonotonicMRRProof (EQUIVALENT) 129.45/38.13 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. 129.45/38.14 129.45/38.14 129.45/38.14 Strictly oriented rules of the TRS R: 129.45/38.14 129.45/38.14 minus_in_gga(s(X), s(Y)) -> U2_gga(X, Y, minus_in_gga(X, Y)) 129.45/38.14 129.45/38.14 Used ordering: Polynomial interpretation [POLO]: 129.45/38.14 129.45/38.14 POL(0) = 0 129.45/38.14 POL(DIV_IN_GGA(x_1, x_2)) = 2*x_1 129.45/38.14 POL(IF_IN_GGGA(x_1, x_2, x_3)) = 2*x_2 129.45/38.14 POL(U1_gga(x_1, x_2, x_3)) = 0 129.45/38.14 POL(U2_gga(x_1, x_2, x_3)) = x_3 129.45/38.14 POL(U3_GGA(x_1, x_2, x_3)) = 2*x_1 129.45/38.14 POL(U5_GGGA(x_1, x_2, x_3)) = 2*x_3 129.45/38.14 POL(false) = 2 129.45/38.14 POL(le_in_gga(x_1, x_2)) = 0 129.45/38.14 POL(le_out_gga(x_1, x_2, x_3)) = 0 129.45/38.14 POL(minus_in_gga(x_1, x_2)) = x_1 129.45/38.14 POL(minus_out_gga(x_1, x_2, x_3)) = x_3 129.45/38.14 POL(s(x_1)) = 2 + x_1 129.45/38.14 POL(true) = 0 129.45/38.14 129.45/38.14 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (27) 129.45/38.14 Obligation: 129.45/38.14 Q DP problem: 129.45/38.14 The TRS P consists of the following rules: 129.45/38.14 129.45/38.14 U3_GGA(X, Y, le_out_gga(s(Y), X, B)) -> IF_IN_GGGA(B, X, s(Y)) 129.45/38.14 IF_IN_GGGA(true, X, s(Y)) -> U5_GGGA(X, Y, minus_in_gga(X, Y)) 129.45/38.14 U5_GGGA(X, Y, minus_out_gga(X, Y, U)) -> DIV_IN_GGA(U, s(Y)) 129.45/38.14 DIV_IN_GGA(X, s(Y)) -> U3_GGA(X, Y, le_in_gga(s(Y), X)) 129.45/38.14 129.45/38.14 The TRS R consists of the following rules: 129.45/38.14 129.45/38.14 minus_in_gga(X, 0) -> minus_out_gga(X, 0, X) 129.45/38.14 le_in_gga(s(X), 0) -> le_out_gga(s(X), 0, false) 129.45/38.14 le_in_gga(s(X), s(Y)) -> U1_gga(X, Y, le_in_gga(X, Y)) 129.45/38.14 U2_gga(X, Y, minus_out_gga(X, Y, Z)) -> minus_out_gga(s(X), s(Y), Z) 129.45/38.14 U1_gga(X, Y, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.45/38.14 le_in_gga(0, Y) -> le_out_gga(0, Y, true) 129.45/38.14 129.45/38.14 The set Q consists of the following terms: 129.45/38.14 129.45/38.14 minus_in_gga(x0, x1) 129.45/38.14 le_in_gga(x0, x1) 129.45/38.14 U2_gga(x0, x1, x2) 129.45/38.14 U1_gga(x0, x1, x2) 129.45/38.14 129.45/38.14 We have to consider all (P,Q,R)-chains. 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (28) UsableRulesProof (EQUIVALENT) 129.45/38.14 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (29) 129.45/38.14 Obligation: 129.45/38.14 Q DP problem: 129.45/38.14 The TRS P consists of the following rules: 129.45/38.14 129.45/38.14 U3_GGA(X, Y, le_out_gga(s(Y), X, B)) -> IF_IN_GGGA(B, X, s(Y)) 129.45/38.14 IF_IN_GGGA(true, X, s(Y)) -> U5_GGGA(X, Y, minus_in_gga(X, Y)) 129.45/38.14 U5_GGGA(X, Y, minus_out_gga(X, Y, U)) -> DIV_IN_GGA(U, s(Y)) 129.45/38.14 DIV_IN_GGA(X, s(Y)) -> U3_GGA(X, Y, le_in_gga(s(Y), X)) 129.45/38.14 129.45/38.14 The TRS R consists of the following rules: 129.45/38.14 129.45/38.14 le_in_gga(s(X), 0) -> le_out_gga(s(X), 0, false) 129.45/38.14 le_in_gga(s(X), s(Y)) -> U1_gga(X, Y, le_in_gga(X, Y)) 129.45/38.14 le_in_gga(0, Y) -> le_out_gga(0, Y, true) 129.45/38.14 U1_gga(X, Y, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.45/38.14 minus_in_gga(X, 0) -> minus_out_gga(X, 0, X) 129.45/38.14 129.45/38.14 The set Q consists of the following terms: 129.45/38.14 129.45/38.14 minus_in_gga(x0, x1) 129.45/38.14 le_in_gga(x0, x1) 129.45/38.14 U2_gga(x0, x1, x2) 129.45/38.14 U1_gga(x0, x1, x2) 129.45/38.14 129.45/38.14 We have to consider all (P,Q,R)-chains. 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (30) QReductionProof (EQUIVALENT) 129.45/38.14 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 129.45/38.14 129.45/38.14 U2_gga(x0, x1, x2) 129.45/38.14 129.45/38.14 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (31) 129.45/38.14 Obligation: 129.45/38.14 Q DP problem: 129.45/38.14 The TRS P consists of the following rules: 129.45/38.14 129.45/38.14 U3_GGA(X, Y, le_out_gga(s(Y), X, B)) -> IF_IN_GGGA(B, X, s(Y)) 129.45/38.14 IF_IN_GGGA(true, X, s(Y)) -> U5_GGGA(X, Y, minus_in_gga(X, Y)) 129.45/38.14 U5_GGGA(X, Y, minus_out_gga(X, Y, U)) -> DIV_IN_GGA(U, s(Y)) 129.45/38.14 DIV_IN_GGA(X, s(Y)) -> U3_GGA(X, Y, le_in_gga(s(Y), X)) 129.45/38.14 129.45/38.14 The TRS R consists of the following rules: 129.45/38.14 129.45/38.14 le_in_gga(s(X), 0) -> le_out_gga(s(X), 0, false) 129.45/38.14 le_in_gga(s(X), s(Y)) -> U1_gga(X, Y, le_in_gga(X, Y)) 129.45/38.14 le_in_gga(0, Y) -> le_out_gga(0, Y, true) 129.45/38.14 U1_gga(X, Y, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.45/38.14 minus_in_gga(X, 0) -> minus_out_gga(X, 0, X) 129.45/38.14 129.45/38.14 The set Q consists of the following terms: 129.45/38.14 129.45/38.14 minus_in_gga(x0, x1) 129.45/38.14 le_in_gga(x0, x1) 129.45/38.14 U1_gga(x0, x1, x2) 129.45/38.14 129.45/38.14 We have to consider all (P,Q,R)-chains. 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (32) TransformationProof (SOUND) 129.45/38.14 By narrowing [LPAR04] the rule IF_IN_GGGA(true, X, s(Y)) -> U5_GGGA(X, Y, minus_in_gga(X, Y)) at position [2] we obtained the following new rules [LPAR04]: 129.45/38.14 129.45/38.14 (IF_IN_GGGA(true, x0, s(0)) -> U5_GGGA(x0, 0, minus_out_gga(x0, 0, x0)),IF_IN_GGGA(true, x0, s(0)) -> U5_GGGA(x0, 0, minus_out_gga(x0, 0, x0))) 129.45/38.14 129.45/38.14 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (33) 129.45/38.14 Obligation: 129.45/38.14 Q DP problem: 129.45/38.14 The TRS P consists of the following rules: 129.45/38.14 129.45/38.14 U3_GGA(X, Y, le_out_gga(s(Y), X, B)) -> IF_IN_GGGA(B, X, s(Y)) 129.45/38.14 U5_GGGA(X, Y, minus_out_gga(X, Y, U)) -> DIV_IN_GGA(U, s(Y)) 129.45/38.14 DIV_IN_GGA(X, s(Y)) -> U3_GGA(X, Y, le_in_gga(s(Y), X)) 129.45/38.14 IF_IN_GGGA(true, x0, s(0)) -> U5_GGGA(x0, 0, minus_out_gga(x0, 0, x0)) 129.45/38.14 129.45/38.14 The TRS R consists of the following rules: 129.45/38.14 129.45/38.14 le_in_gga(s(X), 0) -> le_out_gga(s(X), 0, false) 129.45/38.14 le_in_gga(s(X), s(Y)) -> U1_gga(X, Y, le_in_gga(X, Y)) 129.45/38.14 le_in_gga(0, Y) -> le_out_gga(0, Y, true) 129.45/38.14 U1_gga(X, Y, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.45/38.14 minus_in_gga(X, 0) -> minus_out_gga(X, 0, X) 129.45/38.14 129.45/38.14 The set Q consists of the following terms: 129.45/38.14 129.45/38.14 minus_in_gga(x0, x1) 129.45/38.14 le_in_gga(x0, x1) 129.45/38.14 U1_gga(x0, x1, x2) 129.45/38.14 129.45/38.14 We have to consider all (P,Q,R)-chains. 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (34) UsableRulesProof (EQUIVALENT) 129.45/38.14 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (35) 129.45/38.14 Obligation: 129.45/38.14 Q DP problem: 129.45/38.14 The TRS P consists of the following rules: 129.45/38.14 129.45/38.14 U3_GGA(X, Y, le_out_gga(s(Y), X, B)) -> IF_IN_GGGA(B, X, s(Y)) 129.45/38.14 U5_GGGA(X, Y, minus_out_gga(X, Y, U)) -> DIV_IN_GGA(U, s(Y)) 129.45/38.14 DIV_IN_GGA(X, s(Y)) -> U3_GGA(X, Y, le_in_gga(s(Y), X)) 129.45/38.14 IF_IN_GGGA(true, x0, s(0)) -> U5_GGGA(x0, 0, minus_out_gga(x0, 0, x0)) 129.45/38.14 129.45/38.14 The TRS R consists of the following rules: 129.45/38.14 129.45/38.14 le_in_gga(s(X), 0) -> le_out_gga(s(X), 0, false) 129.45/38.14 le_in_gga(s(X), s(Y)) -> U1_gga(X, Y, le_in_gga(X, Y)) 129.45/38.14 le_in_gga(0, Y) -> le_out_gga(0, Y, true) 129.45/38.14 U1_gga(X, Y, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.45/38.14 129.45/38.14 The set Q consists of the following terms: 129.45/38.14 129.45/38.14 minus_in_gga(x0, x1) 129.45/38.14 le_in_gga(x0, x1) 129.45/38.14 U1_gga(x0, x1, x2) 129.45/38.14 129.45/38.14 We have to consider all (P,Q,R)-chains. 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (36) QReductionProof (EQUIVALENT) 129.45/38.14 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 129.45/38.14 129.45/38.14 minus_in_gga(x0, x1) 129.45/38.14 129.45/38.14 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (37) 129.45/38.14 Obligation: 129.45/38.14 Q DP problem: 129.45/38.14 The TRS P consists of the following rules: 129.45/38.14 129.45/38.14 U3_GGA(X, Y, le_out_gga(s(Y), X, B)) -> IF_IN_GGGA(B, X, s(Y)) 129.45/38.14 U5_GGGA(X, Y, minus_out_gga(X, Y, U)) -> DIV_IN_GGA(U, s(Y)) 129.45/38.14 DIV_IN_GGA(X, s(Y)) -> U3_GGA(X, Y, le_in_gga(s(Y), X)) 129.45/38.14 IF_IN_GGGA(true, x0, s(0)) -> U5_GGGA(x0, 0, minus_out_gga(x0, 0, x0)) 129.45/38.14 129.45/38.14 The TRS R consists of the following rules: 129.45/38.14 129.45/38.14 le_in_gga(s(X), 0) -> le_out_gga(s(X), 0, false) 129.45/38.14 le_in_gga(s(X), s(Y)) -> U1_gga(X, Y, le_in_gga(X, Y)) 129.45/38.14 le_in_gga(0, Y) -> le_out_gga(0, Y, true) 129.45/38.14 U1_gga(X, Y, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.45/38.14 129.45/38.14 The set Q consists of the following terms: 129.45/38.14 129.45/38.14 le_in_gga(x0, x1) 129.45/38.14 U1_gga(x0, x1, x2) 129.45/38.14 129.45/38.14 We have to consider all (P,Q,R)-chains. 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (38) TransformationProof (EQUIVALENT) 129.45/38.14 By instantiating [LPAR04] the rule U5_GGGA(X, Y, minus_out_gga(X, Y, U)) -> DIV_IN_GGA(U, s(Y)) we obtained the following new rules [LPAR04]: 129.45/38.14 129.45/38.14 (U5_GGGA(z0, 0, minus_out_gga(z0, 0, z0)) -> DIV_IN_GGA(z0, s(0)),U5_GGGA(z0, 0, minus_out_gga(z0, 0, z0)) -> DIV_IN_GGA(z0, s(0))) 129.45/38.14 129.45/38.14 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (39) 129.45/38.14 Obligation: 129.45/38.14 Q DP problem: 129.45/38.14 The TRS P consists of the following rules: 129.45/38.14 129.45/38.14 U3_GGA(X, Y, le_out_gga(s(Y), X, B)) -> IF_IN_GGGA(B, X, s(Y)) 129.45/38.14 DIV_IN_GGA(X, s(Y)) -> U3_GGA(X, Y, le_in_gga(s(Y), X)) 129.45/38.14 IF_IN_GGGA(true, x0, s(0)) -> U5_GGGA(x0, 0, minus_out_gga(x0, 0, x0)) 129.45/38.14 U5_GGGA(z0, 0, minus_out_gga(z0, 0, z0)) -> DIV_IN_GGA(z0, s(0)) 129.45/38.14 129.45/38.14 The TRS R consists of the following rules: 129.45/38.14 129.45/38.14 le_in_gga(s(X), 0) -> le_out_gga(s(X), 0, false) 129.45/38.14 le_in_gga(s(X), s(Y)) -> U1_gga(X, Y, le_in_gga(X, Y)) 129.45/38.14 le_in_gga(0, Y) -> le_out_gga(0, Y, true) 129.45/38.14 U1_gga(X, Y, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.45/38.14 129.45/38.14 The set Q consists of the following terms: 129.45/38.14 129.45/38.14 le_in_gga(x0, x1) 129.45/38.14 U1_gga(x0, x1, x2) 129.45/38.14 129.45/38.14 We have to consider all (P,Q,R)-chains. 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (40) TransformationProof (EQUIVALENT) 129.45/38.14 By instantiating [LPAR04] the rule DIV_IN_GGA(X, s(Y)) -> U3_GGA(X, Y, le_in_gga(s(Y), X)) we obtained the following new rules [LPAR04]: 129.45/38.14 129.45/38.14 (DIV_IN_GGA(z0, s(0)) -> U3_GGA(z0, 0, le_in_gga(s(0), z0)),DIV_IN_GGA(z0, s(0)) -> U3_GGA(z0, 0, le_in_gga(s(0), z0))) 129.45/38.14 129.45/38.14 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (41) 129.45/38.14 Obligation: 129.45/38.14 Q DP problem: 129.45/38.14 The TRS P consists of the following rules: 129.45/38.14 129.45/38.14 U3_GGA(X, Y, le_out_gga(s(Y), X, B)) -> IF_IN_GGGA(B, X, s(Y)) 129.45/38.14 IF_IN_GGGA(true, x0, s(0)) -> U5_GGGA(x0, 0, minus_out_gga(x0, 0, x0)) 129.45/38.14 U5_GGGA(z0, 0, minus_out_gga(z0, 0, z0)) -> DIV_IN_GGA(z0, s(0)) 129.45/38.14 DIV_IN_GGA(z0, s(0)) -> U3_GGA(z0, 0, le_in_gga(s(0), z0)) 129.45/38.14 129.45/38.14 The TRS R consists of the following rules: 129.45/38.14 129.45/38.14 le_in_gga(s(X), 0) -> le_out_gga(s(X), 0, false) 129.45/38.14 le_in_gga(s(X), s(Y)) -> U1_gga(X, Y, le_in_gga(X, Y)) 129.45/38.14 le_in_gga(0, Y) -> le_out_gga(0, Y, true) 129.45/38.14 U1_gga(X, Y, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.45/38.14 129.45/38.14 The set Q consists of the following terms: 129.45/38.14 129.45/38.14 le_in_gga(x0, x1) 129.45/38.14 U1_gga(x0, x1, x2) 129.45/38.14 129.45/38.14 We have to consider all (P,Q,R)-chains. 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (42) TransformationProof (EQUIVALENT) 129.45/38.14 By instantiating [LPAR04] the rule U3_GGA(X, Y, le_out_gga(s(Y), X, B)) -> IF_IN_GGGA(B, X, s(Y)) we obtained the following new rules [LPAR04]: 129.45/38.14 129.45/38.14 (U3_GGA(z0, 0, le_out_gga(s(0), z0, x2)) -> IF_IN_GGGA(x2, z0, s(0)),U3_GGA(z0, 0, le_out_gga(s(0), z0, x2)) -> IF_IN_GGGA(x2, z0, s(0))) 129.45/38.14 129.45/38.14 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (43) 129.45/38.14 Obligation: 129.45/38.14 Q DP problem: 129.45/38.14 The TRS P consists of the following rules: 129.45/38.14 129.45/38.14 IF_IN_GGGA(true, x0, s(0)) -> U5_GGGA(x0, 0, minus_out_gga(x0, 0, x0)) 129.45/38.14 U5_GGGA(z0, 0, minus_out_gga(z0, 0, z0)) -> DIV_IN_GGA(z0, s(0)) 129.45/38.14 DIV_IN_GGA(z0, s(0)) -> U3_GGA(z0, 0, le_in_gga(s(0), z0)) 129.45/38.14 U3_GGA(z0, 0, le_out_gga(s(0), z0, x2)) -> IF_IN_GGGA(x2, z0, s(0)) 129.45/38.14 129.45/38.14 The TRS R consists of the following rules: 129.45/38.14 129.45/38.14 le_in_gga(s(X), 0) -> le_out_gga(s(X), 0, false) 129.45/38.14 le_in_gga(s(X), s(Y)) -> U1_gga(X, Y, le_in_gga(X, Y)) 129.45/38.14 le_in_gga(0, Y) -> le_out_gga(0, Y, true) 129.45/38.14 U1_gga(X, Y, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.45/38.14 129.45/38.14 The set Q consists of the following terms: 129.45/38.14 129.45/38.14 le_in_gga(x0, x1) 129.45/38.14 U1_gga(x0, x1, x2) 129.45/38.14 129.45/38.14 We have to consider all (P,Q,R)-chains. 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (44) QDPQMonotonicMRRProof (EQUIVALENT) 129.45/38.14 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. 129.45/38.14 129.45/38.14 129.45/38.14 Strictly oriented rules of the TRS R: 129.45/38.14 129.45/38.14 le_in_gga(s(X), 0) -> le_out_gga(s(X), 0, false) 129.45/38.14 129.45/38.14 Used ordering: Polynomial interpretation [POLO]: 129.45/38.14 129.45/38.14 POL(0) = 0 129.45/38.14 POL(DIV_IN_GGA(x_1, x_2)) = 2 129.45/38.14 POL(IF_IN_GGGA(x_1, x_2, x_3)) = 2*x_1 129.45/38.14 POL(U1_gga(x_1, x_2, x_3)) = x_3 129.45/38.14 POL(U3_GGA(x_1, x_2, x_3)) = 2*x_2 + 2*x_3 129.45/38.14 POL(U5_GGGA(x_1, x_2, x_3)) = x_2 + x_3 129.45/38.14 POL(false) = 0 129.45/38.14 POL(le_in_gga(x_1, x_2)) = 1 129.45/38.14 POL(le_out_gga(x_1, x_2, x_3)) = x_3 129.45/38.14 POL(minus_out_gga(x_1, x_2, x_3)) = 2 129.45/38.14 POL(s(x_1)) = 0 129.45/38.14 POL(true) = 1 129.45/38.14 129.45/38.14 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (45) 129.45/38.14 Obligation: 129.45/38.14 Q DP problem: 129.45/38.14 The TRS P consists of the following rules: 129.45/38.14 129.45/38.14 IF_IN_GGGA(true, x0, s(0)) -> U5_GGGA(x0, 0, minus_out_gga(x0, 0, x0)) 129.45/38.14 U5_GGGA(z0, 0, minus_out_gga(z0, 0, z0)) -> DIV_IN_GGA(z0, s(0)) 129.45/38.14 DIV_IN_GGA(z0, s(0)) -> U3_GGA(z0, 0, le_in_gga(s(0), z0)) 129.45/38.14 U3_GGA(z0, 0, le_out_gga(s(0), z0, x2)) -> IF_IN_GGGA(x2, z0, s(0)) 129.45/38.14 129.45/38.14 The TRS R consists of the following rules: 129.45/38.14 129.45/38.14 le_in_gga(s(X), s(Y)) -> U1_gga(X, Y, le_in_gga(X, Y)) 129.45/38.14 le_in_gga(0, Y) -> le_out_gga(0, Y, true) 129.45/38.14 U1_gga(X, Y, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.45/38.14 129.45/38.14 The set Q consists of the following terms: 129.45/38.14 129.45/38.14 le_in_gga(x0, x1) 129.45/38.14 U1_gga(x0, x1, x2) 129.45/38.14 129.45/38.14 We have to consider all (P,Q,R)-chains. 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (46) TransformationProof (SOUND) 129.45/38.14 By narrowing [LPAR04] the rule DIV_IN_GGA(z0, s(0)) -> U3_GGA(z0, 0, le_in_gga(s(0), z0)) at position [2] we obtained the following new rules [LPAR04]: 129.45/38.14 129.45/38.14 (DIV_IN_GGA(s(x1), s(0)) -> U3_GGA(s(x1), 0, U1_gga(0, x1, le_in_gga(0, x1))),DIV_IN_GGA(s(x1), s(0)) -> U3_GGA(s(x1), 0, U1_gga(0, x1, le_in_gga(0, x1)))) 129.45/38.14 129.45/38.14 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (47) 129.45/38.14 Obligation: 129.45/38.14 Q DP problem: 129.45/38.14 The TRS P consists of the following rules: 129.45/38.14 129.45/38.14 IF_IN_GGGA(true, x0, s(0)) -> U5_GGGA(x0, 0, minus_out_gga(x0, 0, x0)) 129.45/38.14 U5_GGGA(z0, 0, minus_out_gga(z0, 0, z0)) -> DIV_IN_GGA(z0, s(0)) 129.45/38.14 U3_GGA(z0, 0, le_out_gga(s(0), z0, x2)) -> IF_IN_GGGA(x2, z0, s(0)) 129.45/38.14 DIV_IN_GGA(s(x1), s(0)) -> U3_GGA(s(x1), 0, U1_gga(0, x1, le_in_gga(0, x1))) 129.45/38.14 129.45/38.14 The TRS R consists of the following rules: 129.45/38.14 129.45/38.14 le_in_gga(s(X), s(Y)) -> U1_gga(X, Y, le_in_gga(X, Y)) 129.45/38.14 le_in_gga(0, Y) -> le_out_gga(0, Y, true) 129.45/38.14 U1_gga(X, Y, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.45/38.14 129.45/38.14 The set Q consists of the following terms: 129.45/38.14 129.45/38.14 le_in_gga(x0, x1) 129.45/38.14 U1_gga(x0, x1, x2) 129.45/38.14 129.45/38.14 We have to consider all (P,Q,R)-chains. 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (48) UsableRulesProof (EQUIVALENT) 129.45/38.14 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (49) 129.45/38.14 Obligation: 129.45/38.14 Q DP problem: 129.45/38.14 The TRS P consists of the following rules: 129.45/38.14 129.45/38.14 IF_IN_GGGA(true, x0, s(0)) -> U5_GGGA(x0, 0, minus_out_gga(x0, 0, x0)) 129.45/38.14 U5_GGGA(z0, 0, minus_out_gga(z0, 0, z0)) -> DIV_IN_GGA(z0, s(0)) 129.45/38.14 U3_GGA(z0, 0, le_out_gga(s(0), z0, x2)) -> IF_IN_GGGA(x2, z0, s(0)) 129.45/38.14 DIV_IN_GGA(s(x1), s(0)) -> U3_GGA(s(x1), 0, U1_gga(0, x1, le_in_gga(0, x1))) 129.45/38.14 129.45/38.14 The TRS R consists of the following rules: 129.45/38.14 129.45/38.14 le_in_gga(0, Y) -> le_out_gga(0, Y, true) 129.45/38.14 U1_gga(X, Y, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.45/38.14 129.45/38.14 The set Q consists of the following terms: 129.45/38.14 129.45/38.14 le_in_gga(x0, x1) 129.45/38.14 U1_gga(x0, x1, x2) 129.45/38.14 129.45/38.14 We have to consider all (P,Q,R)-chains. 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (50) TransformationProof (EQUIVALENT) 129.45/38.14 By rewriting [LPAR04] the rule DIV_IN_GGA(s(x1), s(0)) -> U3_GGA(s(x1), 0, U1_gga(0, x1, le_in_gga(0, x1))) at position [2,2] we obtained the following new rules [LPAR04]: 129.45/38.14 129.45/38.14 (DIV_IN_GGA(s(x1), s(0)) -> U3_GGA(s(x1), 0, U1_gga(0, x1, le_out_gga(0, x1, true))),DIV_IN_GGA(s(x1), s(0)) -> U3_GGA(s(x1), 0, U1_gga(0, x1, le_out_gga(0, x1, true)))) 129.45/38.14 129.45/38.14 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (51) 129.45/38.14 Obligation: 129.45/38.14 Q DP problem: 129.45/38.14 The TRS P consists of the following rules: 129.45/38.14 129.45/38.14 IF_IN_GGGA(true, x0, s(0)) -> U5_GGGA(x0, 0, minus_out_gga(x0, 0, x0)) 129.45/38.14 U5_GGGA(z0, 0, minus_out_gga(z0, 0, z0)) -> DIV_IN_GGA(z0, s(0)) 129.45/38.14 U3_GGA(z0, 0, le_out_gga(s(0), z0, x2)) -> IF_IN_GGGA(x2, z0, s(0)) 129.45/38.14 DIV_IN_GGA(s(x1), s(0)) -> U3_GGA(s(x1), 0, U1_gga(0, x1, le_out_gga(0, x1, true))) 129.45/38.14 129.45/38.14 The TRS R consists of the following rules: 129.45/38.14 129.45/38.14 le_in_gga(0, Y) -> le_out_gga(0, Y, true) 129.45/38.14 U1_gga(X, Y, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.45/38.14 129.45/38.14 The set Q consists of the following terms: 129.45/38.14 129.45/38.14 le_in_gga(x0, x1) 129.45/38.14 U1_gga(x0, x1, x2) 129.45/38.14 129.45/38.14 We have to consider all (P,Q,R)-chains. 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (52) UsableRulesProof (EQUIVALENT) 129.45/38.14 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (53) 129.45/38.14 Obligation: 129.45/38.14 Q DP problem: 129.45/38.14 The TRS P consists of the following rules: 129.45/38.14 129.45/38.14 IF_IN_GGGA(true, x0, s(0)) -> U5_GGGA(x0, 0, minus_out_gga(x0, 0, x0)) 129.45/38.14 U5_GGGA(z0, 0, minus_out_gga(z0, 0, z0)) -> DIV_IN_GGA(z0, s(0)) 129.45/38.14 U3_GGA(z0, 0, le_out_gga(s(0), z0, x2)) -> IF_IN_GGGA(x2, z0, s(0)) 129.45/38.14 DIV_IN_GGA(s(x1), s(0)) -> U3_GGA(s(x1), 0, U1_gga(0, x1, le_out_gga(0, x1, true))) 129.45/38.14 129.45/38.14 The TRS R consists of the following rules: 129.45/38.14 129.45/38.14 U1_gga(X, Y, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.45/38.14 129.45/38.14 The set Q consists of the following terms: 129.45/38.14 129.45/38.14 le_in_gga(x0, x1) 129.45/38.14 U1_gga(x0, x1, x2) 129.45/38.14 129.45/38.14 We have to consider all (P,Q,R)-chains. 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (54) QReductionProof (EQUIVALENT) 129.45/38.14 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 129.45/38.14 129.45/38.14 le_in_gga(x0, x1) 129.45/38.14 129.45/38.14 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (55) 129.45/38.14 Obligation: 129.45/38.14 Q DP problem: 129.45/38.14 The TRS P consists of the following rules: 129.45/38.14 129.45/38.14 IF_IN_GGGA(true, x0, s(0)) -> U5_GGGA(x0, 0, minus_out_gga(x0, 0, x0)) 129.45/38.14 U5_GGGA(z0, 0, minus_out_gga(z0, 0, z0)) -> DIV_IN_GGA(z0, s(0)) 129.45/38.14 U3_GGA(z0, 0, le_out_gga(s(0), z0, x2)) -> IF_IN_GGGA(x2, z0, s(0)) 129.45/38.14 DIV_IN_GGA(s(x1), s(0)) -> U3_GGA(s(x1), 0, U1_gga(0, x1, le_out_gga(0, x1, true))) 129.45/38.14 129.45/38.14 The TRS R consists of the following rules: 129.45/38.14 129.45/38.14 U1_gga(X, Y, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.45/38.14 129.45/38.14 The set Q consists of the following terms: 129.45/38.14 129.45/38.14 U1_gga(x0, x1, x2) 129.45/38.14 129.45/38.14 We have to consider all (P,Q,R)-chains. 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (56) TransformationProof (EQUIVALENT) 129.45/38.14 By rewriting [LPAR04] the rule DIV_IN_GGA(s(x1), s(0)) -> U3_GGA(s(x1), 0, U1_gga(0, x1, le_out_gga(0, x1, true))) at position [2] we obtained the following new rules [LPAR04]: 129.45/38.14 129.45/38.14 (DIV_IN_GGA(s(x1), s(0)) -> U3_GGA(s(x1), 0, le_out_gga(s(0), s(x1), true)),DIV_IN_GGA(s(x1), s(0)) -> U3_GGA(s(x1), 0, le_out_gga(s(0), s(x1), true))) 129.45/38.14 129.45/38.14 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (57) 129.45/38.14 Obligation: 129.45/38.14 Q DP problem: 129.45/38.14 The TRS P consists of the following rules: 129.45/38.14 129.45/38.14 IF_IN_GGGA(true, x0, s(0)) -> U5_GGGA(x0, 0, minus_out_gga(x0, 0, x0)) 129.45/38.14 U5_GGGA(z0, 0, minus_out_gga(z0, 0, z0)) -> DIV_IN_GGA(z0, s(0)) 129.45/38.14 U3_GGA(z0, 0, le_out_gga(s(0), z0, x2)) -> IF_IN_GGGA(x2, z0, s(0)) 129.45/38.14 DIV_IN_GGA(s(x1), s(0)) -> U3_GGA(s(x1), 0, le_out_gga(s(0), s(x1), true)) 129.45/38.14 129.45/38.14 The TRS R consists of the following rules: 129.45/38.14 129.45/38.14 U1_gga(X, Y, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.45/38.14 129.45/38.14 The set Q consists of the following terms: 129.45/38.14 129.45/38.14 U1_gga(x0, x1, x2) 129.45/38.14 129.45/38.14 We have to consider all (P,Q,R)-chains. 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (58) UsableRulesProof (EQUIVALENT) 129.45/38.14 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (59) 129.45/38.14 Obligation: 129.45/38.14 Q DP problem: 129.45/38.14 The TRS P consists of the following rules: 129.45/38.14 129.45/38.14 IF_IN_GGGA(true, x0, s(0)) -> U5_GGGA(x0, 0, minus_out_gga(x0, 0, x0)) 129.45/38.14 U5_GGGA(z0, 0, minus_out_gga(z0, 0, z0)) -> DIV_IN_GGA(z0, s(0)) 129.45/38.14 U3_GGA(z0, 0, le_out_gga(s(0), z0, x2)) -> IF_IN_GGGA(x2, z0, s(0)) 129.45/38.14 DIV_IN_GGA(s(x1), s(0)) -> U3_GGA(s(x1), 0, le_out_gga(s(0), s(x1), true)) 129.45/38.14 129.45/38.14 R is empty. 129.45/38.14 The set Q consists of the following terms: 129.45/38.14 129.45/38.14 U1_gga(x0, x1, x2) 129.45/38.14 129.45/38.14 We have to consider all (P,Q,R)-chains. 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (60) QReductionProof (EQUIVALENT) 129.45/38.14 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 129.45/38.14 129.45/38.14 U1_gga(x0, x1, x2) 129.45/38.14 129.45/38.14 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (61) 129.45/38.14 Obligation: 129.45/38.14 Q DP problem: 129.45/38.14 The TRS P consists of the following rules: 129.45/38.14 129.45/38.14 IF_IN_GGGA(true, x0, s(0)) -> U5_GGGA(x0, 0, minus_out_gga(x0, 0, x0)) 129.45/38.14 U5_GGGA(z0, 0, minus_out_gga(z0, 0, z0)) -> DIV_IN_GGA(z0, s(0)) 129.45/38.14 U3_GGA(z0, 0, le_out_gga(s(0), z0, x2)) -> IF_IN_GGGA(x2, z0, s(0)) 129.45/38.14 DIV_IN_GGA(s(x1), s(0)) -> U3_GGA(s(x1), 0, le_out_gga(s(0), s(x1), true)) 129.45/38.14 129.45/38.14 R is empty. 129.45/38.14 Q is empty. 129.45/38.14 We have to consider all (P,Q,R)-chains. 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (62) TransformationProof (EQUIVALENT) 129.45/38.14 By instantiating [LPAR04] the rule U3_GGA(z0, 0, le_out_gga(s(0), z0, x2)) -> IF_IN_GGGA(x2, z0, s(0)) we obtained the following new rules [LPAR04]: 129.45/38.14 129.45/38.14 (U3_GGA(s(z0), 0, le_out_gga(s(0), s(z0), true)) -> IF_IN_GGGA(true, s(z0), s(0)),U3_GGA(s(z0), 0, le_out_gga(s(0), s(z0), true)) -> IF_IN_GGGA(true, s(z0), s(0))) 129.45/38.14 129.45/38.14 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (63) 129.45/38.14 Obligation: 129.45/38.14 Q DP problem: 129.45/38.14 The TRS P consists of the following rules: 129.45/38.14 129.45/38.14 IF_IN_GGGA(true, x0, s(0)) -> U5_GGGA(x0, 0, minus_out_gga(x0, 0, x0)) 129.45/38.14 U5_GGGA(z0, 0, minus_out_gga(z0, 0, z0)) -> DIV_IN_GGA(z0, s(0)) 129.45/38.14 DIV_IN_GGA(s(x1), s(0)) -> U3_GGA(s(x1), 0, le_out_gga(s(0), s(x1), true)) 129.45/38.14 U3_GGA(s(z0), 0, le_out_gga(s(0), s(z0), true)) -> IF_IN_GGGA(true, s(z0), s(0)) 129.45/38.14 129.45/38.14 R is empty. 129.45/38.14 Q is empty. 129.45/38.14 We have to consider all (P,Q,R)-chains. 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (64) TransformationProof (EQUIVALENT) 129.45/38.14 By instantiating [LPAR04] the rule IF_IN_GGGA(true, x0, s(0)) -> U5_GGGA(x0, 0, minus_out_gga(x0, 0, x0)) we obtained the following new rules [LPAR04]: 129.45/38.14 129.45/38.14 (IF_IN_GGGA(true, s(z0), s(0)) -> U5_GGGA(s(z0), 0, minus_out_gga(s(z0), 0, s(z0))),IF_IN_GGGA(true, s(z0), s(0)) -> U5_GGGA(s(z0), 0, minus_out_gga(s(z0), 0, s(z0)))) 129.45/38.14 129.45/38.14 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (65) 129.45/38.14 Obligation: 129.45/38.14 Q DP problem: 129.45/38.14 The TRS P consists of the following rules: 129.45/38.14 129.45/38.14 U5_GGGA(z0, 0, minus_out_gga(z0, 0, z0)) -> DIV_IN_GGA(z0, s(0)) 129.45/38.14 DIV_IN_GGA(s(x1), s(0)) -> U3_GGA(s(x1), 0, le_out_gga(s(0), s(x1), true)) 129.45/38.14 U3_GGA(s(z0), 0, le_out_gga(s(0), s(z0), true)) -> IF_IN_GGGA(true, s(z0), s(0)) 129.45/38.14 IF_IN_GGGA(true, s(z0), s(0)) -> U5_GGGA(s(z0), 0, minus_out_gga(s(z0), 0, s(z0))) 129.45/38.14 129.45/38.14 R is empty. 129.45/38.14 Q is empty. 129.45/38.14 We have to consider all (P,Q,R)-chains. 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (66) TransformationProof (EQUIVALENT) 129.45/38.14 By instantiating [LPAR04] the rule U5_GGGA(z0, 0, minus_out_gga(z0, 0, z0)) -> DIV_IN_GGA(z0, s(0)) we obtained the following new rules [LPAR04]: 129.45/38.14 129.45/38.14 (U5_GGGA(s(z0), 0, minus_out_gga(s(z0), 0, s(z0))) -> DIV_IN_GGA(s(z0), s(0)),U5_GGGA(s(z0), 0, minus_out_gga(s(z0), 0, s(z0))) -> DIV_IN_GGA(s(z0), s(0))) 129.45/38.14 129.45/38.14 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (67) 129.45/38.14 Obligation: 129.45/38.14 Q DP problem: 129.45/38.14 The TRS P consists of the following rules: 129.45/38.14 129.45/38.14 DIV_IN_GGA(s(x1), s(0)) -> U3_GGA(s(x1), 0, le_out_gga(s(0), s(x1), true)) 129.45/38.14 U3_GGA(s(z0), 0, le_out_gga(s(0), s(z0), true)) -> IF_IN_GGGA(true, s(z0), s(0)) 129.45/38.14 IF_IN_GGGA(true, s(z0), s(0)) -> U5_GGGA(s(z0), 0, minus_out_gga(s(z0), 0, s(z0))) 129.45/38.14 U5_GGGA(s(z0), 0, minus_out_gga(s(z0), 0, s(z0))) -> DIV_IN_GGA(s(z0), s(0)) 129.45/38.14 129.45/38.14 R is empty. 129.45/38.14 Q is empty. 129.45/38.14 We have to consider all (P,Q,R)-chains. 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (68) NonTerminationLoopProof (COMPLETE) 129.45/38.14 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 129.45/38.14 Found a loop by narrowing to the left: 129.45/38.14 129.45/38.14 s = U3_GGA(s(z0), 0, le_out_gga(s(0), s(z0), true)) evaluates to t =U3_GGA(s(z0), 0, le_out_gga(s(0), s(z0), true)) 129.45/38.14 129.45/38.14 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 129.45/38.14 * Matcher: [ ] 129.45/38.14 * Semiunifier: [ ] 129.45/38.14 129.45/38.14 -------------------------------------------------------------------------------- 129.45/38.14 Rewriting sequence 129.45/38.14 129.45/38.14 U3_GGA(s(z0), 0, le_out_gga(s(0), s(z0), true)) -> IF_IN_GGGA(true, s(z0), s(0)) 129.45/38.14 with rule U3_GGA(s(z0'), 0, le_out_gga(s(0), s(z0'), true)) -> IF_IN_GGGA(true, s(z0'), s(0)) at position [] and matcher [z0' / z0] 129.45/38.14 129.45/38.14 IF_IN_GGGA(true, s(z0), s(0)) -> U5_GGGA(s(z0), 0, minus_out_gga(s(z0), 0, s(z0))) 129.45/38.14 with rule IF_IN_GGGA(true, s(z0'), s(0)) -> U5_GGGA(s(z0'), 0, minus_out_gga(s(z0'), 0, s(z0'))) at position [] and matcher [z0' / z0] 129.45/38.14 129.45/38.14 U5_GGGA(s(z0), 0, minus_out_gga(s(z0), 0, s(z0))) -> DIV_IN_GGA(s(z0), s(0)) 129.45/38.14 with rule U5_GGGA(s(z0'), 0, minus_out_gga(s(z0'), 0, s(z0'))) -> DIV_IN_GGA(s(z0'), s(0)) at position [] and matcher [z0' / z0] 129.45/38.14 129.45/38.14 DIV_IN_GGA(s(z0), s(0)) -> U3_GGA(s(z0), 0, le_out_gga(s(0), s(z0), true)) 129.45/38.14 with rule DIV_IN_GGA(s(x1), s(0)) -> U3_GGA(s(x1), 0, le_out_gga(s(0), s(x1), true)) 129.45/38.14 129.45/38.14 Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence 129.45/38.14 129.45/38.14 129.45/38.14 All these steps are and every following step will be a correct step w.r.t to Q. 129.45/38.14 129.45/38.14 129.45/38.14 129.45/38.14 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (69) 129.45/38.14 NO 129.45/38.14 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (70) PrologToPiTRSProof (SOUND) 129.45/38.14 We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: 129.45/38.14 129.45/38.14 div_in_3: (b,b,f) 129.45/38.14 129.45/38.14 le_in_3: (b,b,f) 129.45/38.14 129.45/38.14 if_in_4: (b,b,b,f) 129.45/38.14 129.45/38.14 minus_in_3: (b,b,f) 129.45/38.14 129.45/38.14 Transforming Prolog into the following Term Rewriting System: 129.45/38.14 129.45/38.14 Pi-finite rewrite system: 129.45/38.14 The TRS R consists of the following rules: 129.45/38.14 129.45/38.14 div_in_gga(X, s(Y), Z) -> U3_gga(X, Y, Z, le_in_gga(s(Y), X, B)) 129.45/38.14 le_in_gga(0, Y, true) -> le_out_gga(0, Y, true) 129.45/38.14 le_in_gga(s(X), 0, false) -> le_out_gga(s(X), 0, false) 129.45/38.14 le_in_gga(s(X), s(Y), B) -> U1_gga(X, Y, B, le_in_gga(X, Y, B)) 129.45/38.14 U1_gga(X, Y, B, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.45/38.14 U3_gga(X, Y, Z, le_out_gga(s(Y), X, B)) -> U4_gga(X, Y, Z, if_in_ggga(B, X, s(Y), Z)) 129.45/38.14 if_in_ggga(false, X, s(Y), 0) -> if_out_ggga(false, X, s(Y), 0) 129.45/38.14 if_in_ggga(true, X, s(Y), s(Z)) -> U5_ggga(X, Y, Z, minus_in_gga(X, Y, U)) 129.45/38.14 minus_in_gga(X, 0, X) -> minus_out_gga(X, 0, X) 129.45/38.14 minus_in_gga(s(X), s(Y), Z) -> U2_gga(X, Y, Z, minus_in_gga(X, Y, Z)) 129.45/38.14 U2_gga(X, Y, Z, minus_out_gga(X, Y, Z)) -> minus_out_gga(s(X), s(Y), Z) 129.45/38.14 U5_ggga(X, Y, Z, minus_out_gga(X, Y, U)) -> U6_ggga(X, Y, Z, div_in_gga(U, s(Y), Z)) 129.45/38.14 U6_ggga(X, Y, Z, div_out_gga(U, s(Y), Z)) -> if_out_ggga(true, X, s(Y), s(Z)) 129.45/38.14 U4_gga(X, Y, Z, if_out_ggga(B, X, s(Y), Z)) -> div_out_gga(X, s(Y), Z) 129.45/38.14 129.45/38.14 The argument filtering Pi contains the following mapping: 129.45/38.14 div_in_gga(x1, x2, x3) = div_in_gga(x1, x2) 129.45/38.14 129.45/38.14 s(x1) = s(x1) 129.45/38.14 129.45/38.14 U3_gga(x1, x2, x3, x4) = U3_gga(x1, x2, x4) 129.45/38.14 129.45/38.14 le_in_gga(x1, x2, x3) = le_in_gga(x1, x2) 129.45/38.14 129.45/38.14 0 = 0 129.45/38.14 129.45/38.14 le_out_gga(x1, x2, x3) = le_out_gga(x3) 129.45/38.14 129.45/38.14 U1_gga(x1, x2, x3, x4) = U1_gga(x4) 129.45/38.14 129.45/38.14 U4_gga(x1, x2, x3, x4) = U4_gga(x4) 129.45/38.14 129.45/38.14 if_in_ggga(x1, x2, x3, x4) = if_in_ggga(x1, x2, x3) 129.45/38.14 129.45/38.14 false = false 129.45/38.14 129.45/38.14 if_out_ggga(x1, x2, x3, x4) = if_out_ggga(x4) 129.45/38.14 129.45/38.14 true = true 129.45/38.14 129.45/38.14 U5_ggga(x1, x2, x3, x4) = U5_ggga(x2, x4) 129.45/38.14 129.45/38.14 minus_in_gga(x1, x2, x3) = minus_in_gga(x1, x2) 129.45/38.14 129.45/38.14 minus_out_gga(x1, x2, x3) = minus_out_gga(x3) 129.45/38.14 129.45/38.14 U2_gga(x1, x2, x3, x4) = U2_gga(x4) 129.45/38.14 129.45/38.14 U6_ggga(x1, x2, x3, x4) = U6_ggga(x4) 129.45/38.14 129.45/38.14 div_out_gga(x1, x2, x3) = div_out_gga(x3) 129.45/38.14 129.45/38.14 129.45/38.14 129.45/38.14 129.45/38.14 129.45/38.14 Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog 129.45/38.14 129.45/38.14 129.45/38.14 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (71) 129.45/38.14 Obligation: 129.45/38.14 Pi-finite rewrite system: 129.45/38.14 The TRS R consists of the following rules: 129.45/38.14 129.45/38.14 div_in_gga(X, s(Y), Z) -> U3_gga(X, Y, Z, le_in_gga(s(Y), X, B)) 129.45/38.14 le_in_gga(0, Y, true) -> le_out_gga(0, Y, true) 129.45/38.14 le_in_gga(s(X), 0, false) -> le_out_gga(s(X), 0, false) 129.45/38.14 le_in_gga(s(X), s(Y), B) -> U1_gga(X, Y, B, le_in_gga(X, Y, B)) 129.45/38.14 U1_gga(X, Y, B, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.45/38.14 U3_gga(X, Y, Z, le_out_gga(s(Y), X, B)) -> U4_gga(X, Y, Z, if_in_ggga(B, X, s(Y), Z)) 129.45/38.14 if_in_ggga(false, X, s(Y), 0) -> if_out_ggga(false, X, s(Y), 0) 129.45/38.14 if_in_ggga(true, X, s(Y), s(Z)) -> U5_ggga(X, Y, Z, minus_in_gga(X, Y, U)) 129.45/38.14 minus_in_gga(X, 0, X) -> minus_out_gga(X, 0, X) 129.45/38.14 minus_in_gga(s(X), s(Y), Z) -> U2_gga(X, Y, Z, minus_in_gga(X, Y, Z)) 129.45/38.14 U2_gga(X, Y, Z, minus_out_gga(X, Y, Z)) -> minus_out_gga(s(X), s(Y), Z) 129.45/38.14 U5_ggga(X, Y, Z, minus_out_gga(X, Y, U)) -> U6_ggga(X, Y, Z, div_in_gga(U, s(Y), Z)) 129.45/38.14 U6_ggga(X, Y, Z, div_out_gga(U, s(Y), Z)) -> if_out_ggga(true, X, s(Y), s(Z)) 129.45/38.14 U4_gga(X, Y, Z, if_out_ggga(B, X, s(Y), Z)) -> div_out_gga(X, s(Y), Z) 129.45/38.14 129.45/38.14 The argument filtering Pi contains the following mapping: 129.45/38.14 div_in_gga(x1, x2, x3) = div_in_gga(x1, x2) 129.45/38.14 129.45/38.14 s(x1) = s(x1) 129.45/38.14 129.45/38.14 U3_gga(x1, x2, x3, x4) = U3_gga(x1, x2, x4) 129.45/38.14 129.45/38.14 le_in_gga(x1, x2, x3) = le_in_gga(x1, x2) 129.45/38.14 129.45/38.14 0 = 0 129.45/38.14 129.45/38.14 le_out_gga(x1, x2, x3) = le_out_gga(x3) 129.45/38.14 129.45/38.14 U1_gga(x1, x2, x3, x4) = U1_gga(x4) 129.45/38.14 129.45/38.14 U4_gga(x1, x2, x3, x4) = U4_gga(x4) 129.45/38.14 129.45/38.14 if_in_ggga(x1, x2, x3, x4) = if_in_ggga(x1, x2, x3) 129.45/38.14 129.45/38.14 false = false 129.45/38.14 129.45/38.14 if_out_ggga(x1, x2, x3, x4) = if_out_ggga(x4) 129.45/38.14 129.45/38.14 true = true 129.45/38.14 129.45/38.14 U5_ggga(x1, x2, x3, x4) = U5_ggga(x2, x4) 129.45/38.14 129.45/38.14 minus_in_gga(x1, x2, x3) = minus_in_gga(x1, x2) 129.45/38.14 129.45/38.14 minus_out_gga(x1, x2, x3) = minus_out_gga(x3) 129.45/38.14 129.45/38.14 U2_gga(x1, x2, x3, x4) = U2_gga(x4) 129.45/38.14 129.45/38.14 U6_ggga(x1, x2, x3, x4) = U6_ggga(x4) 129.45/38.14 129.45/38.14 div_out_gga(x1, x2, x3) = div_out_gga(x3) 129.45/38.14 129.45/38.14 129.45/38.14 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (72) DependencyPairsProof (EQUIVALENT) 129.45/38.14 Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: 129.45/38.14 Pi DP problem: 129.45/38.14 The TRS P consists of the following rules: 129.45/38.14 129.45/38.14 DIV_IN_GGA(X, s(Y), Z) -> U3_GGA(X, Y, Z, le_in_gga(s(Y), X, B)) 129.45/38.14 DIV_IN_GGA(X, s(Y), Z) -> LE_IN_GGA(s(Y), X, B) 129.45/38.14 LE_IN_GGA(s(X), s(Y), B) -> U1_GGA(X, Y, B, le_in_gga(X, Y, B)) 129.45/38.14 LE_IN_GGA(s(X), s(Y), B) -> LE_IN_GGA(X, Y, B) 129.45/38.14 U3_GGA(X, Y, Z, le_out_gga(s(Y), X, B)) -> U4_GGA(X, Y, Z, if_in_ggga(B, X, s(Y), Z)) 129.45/38.14 U3_GGA(X, Y, Z, le_out_gga(s(Y), X, B)) -> IF_IN_GGGA(B, X, s(Y), Z) 129.45/38.14 IF_IN_GGGA(true, X, s(Y), s(Z)) -> U5_GGGA(X, Y, Z, minus_in_gga(X, Y, U)) 129.45/38.14 IF_IN_GGGA(true, X, s(Y), s(Z)) -> MINUS_IN_GGA(X, Y, U) 129.45/38.14 MINUS_IN_GGA(s(X), s(Y), Z) -> U2_GGA(X, Y, Z, minus_in_gga(X, Y, Z)) 129.45/38.14 MINUS_IN_GGA(s(X), s(Y), Z) -> MINUS_IN_GGA(X, Y, Z) 129.45/38.14 U5_GGGA(X, Y, Z, minus_out_gga(X, Y, U)) -> U6_GGGA(X, Y, Z, div_in_gga(U, s(Y), Z)) 129.45/38.14 U5_GGGA(X, Y, Z, minus_out_gga(X, Y, U)) -> DIV_IN_GGA(U, s(Y), Z) 129.45/38.14 129.45/38.14 The TRS R consists of the following rules: 129.45/38.14 129.45/38.14 div_in_gga(X, s(Y), Z) -> U3_gga(X, Y, Z, le_in_gga(s(Y), X, B)) 129.45/38.14 le_in_gga(0, Y, true) -> le_out_gga(0, Y, true) 129.45/38.14 le_in_gga(s(X), 0, false) -> le_out_gga(s(X), 0, false) 129.45/38.14 le_in_gga(s(X), s(Y), B) -> U1_gga(X, Y, B, le_in_gga(X, Y, B)) 129.45/38.14 U1_gga(X, Y, B, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.45/38.14 U3_gga(X, Y, Z, le_out_gga(s(Y), X, B)) -> U4_gga(X, Y, Z, if_in_ggga(B, X, s(Y), Z)) 129.45/38.14 if_in_ggga(false, X, s(Y), 0) -> if_out_ggga(false, X, s(Y), 0) 129.45/38.14 if_in_ggga(true, X, s(Y), s(Z)) -> U5_ggga(X, Y, Z, minus_in_gga(X, Y, U)) 129.45/38.14 minus_in_gga(X, 0, X) -> minus_out_gga(X, 0, X) 129.45/38.14 minus_in_gga(s(X), s(Y), Z) -> U2_gga(X, Y, Z, minus_in_gga(X, Y, Z)) 129.45/38.14 U2_gga(X, Y, Z, minus_out_gga(X, Y, Z)) -> minus_out_gga(s(X), s(Y), Z) 129.45/38.14 U5_ggga(X, Y, Z, minus_out_gga(X, Y, U)) -> U6_ggga(X, Y, Z, div_in_gga(U, s(Y), Z)) 129.45/38.14 U6_ggga(X, Y, Z, div_out_gga(U, s(Y), Z)) -> if_out_ggga(true, X, s(Y), s(Z)) 129.45/38.14 U4_gga(X, Y, Z, if_out_ggga(B, X, s(Y), Z)) -> div_out_gga(X, s(Y), Z) 129.45/38.14 129.45/38.14 The argument filtering Pi contains the following mapping: 129.45/38.14 div_in_gga(x1, x2, x3) = div_in_gga(x1, x2) 129.45/38.14 129.45/38.14 s(x1) = s(x1) 129.45/38.14 129.45/38.14 U3_gga(x1, x2, x3, x4) = U3_gga(x1, x2, x4) 129.45/38.14 129.45/38.14 le_in_gga(x1, x2, x3) = le_in_gga(x1, x2) 129.45/38.14 129.45/38.14 0 = 0 129.45/38.14 129.45/38.14 le_out_gga(x1, x2, x3) = le_out_gga(x3) 129.45/38.14 129.45/38.14 U1_gga(x1, x2, x3, x4) = U1_gga(x4) 129.45/38.14 129.45/38.14 U4_gga(x1, x2, x3, x4) = U4_gga(x4) 129.45/38.14 129.45/38.14 if_in_ggga(x1, x2, x3, x4) = if_in_ggga(x1, x2, x3) 129.45/38.14 129.45/38.14 false = false 129.45/38.14 129.45/38.14 if_out_ggga(x1, x2, x3, x4) = if_out_ggga(x4) 129.45/38.14 129.45/38.14 true = true 129.45/38.14 129.45/38.14 U5_ggga(x1, x2, x3, x4) = U5_ggga(x2, x4) 129.45/38.14 129.45/38.14 minus_in_gga(x1, x2, x3) = minus_in_gga(x1, x2) 129.45/38.14 129.45/38.14 minus_out_gga(x1, x2, x3) = minus_out_gga(x3) 129.45/38.14 129.45/38.14 U2_gga(x1, x2, x3, x4) = U2_gga(x4) 129.45/38.14 129.45/38.14 U6_ggga(x1, x2, x3, x4) = U6_ggga(x4) 129.45/38.14 129.45/38.14 div_out_gga(x1, x2, x3) = div_out_gga(x3) 129.45/38.14 129.45/38.14 DIV_IN_GGA(x1, x2, x3) = DIV_IN_GGA(x1, x2) 129.45/38.14 129.45/38.14 U3_GGA(x1, x2, x3, x4) = U3_GGA(x1, x2, x4) 129.45/38.14 129.45/38.14 LE_IN_GGA(x1, x2, x3) = LE_IN_GGA(x1, x2) 129.45/38.14 129.45/38.14 U1_GGA(x1, x2, x3, x4) = U1_GGA(x4) 129.45/38.14 129.45/38.14 U4_GGA(x1, x2, x3, x4) = U4_GGA(x4) 129.45/38.14 129.45/38.14 IF_IN_GGGA(x1, x2, x3, x4) = IF_IN_GGGA(x1, x2, x3) 129.45/38.14 129.45/38.14 U5_GGGA(x1, x2, x3, x4) = U5_GGGA(x2, x4) 129.45/38.14 129.45/38.14 MINUS_IN_GGA(x1, x2, x3) = MINUS_IN_GGA(x1, x2) 129.45/38.14 129.45/38.14 U2_GGA(x1, x2, x3, x4) = U2_GGA(x4) 129.45/38.14 129.45/38.14 U6_GGGA(x1, x2, x3, x4) = U6_GGGA(x4) 129.45/38.14 129.45/38.14 129.45/38.14 We have to consider all (P,R,Pi)-chains 129.45/38.14 ---------------------------------------- 129.45/38.14 129.45/38.14 (73) 129.45/38.14 Obligation: 129.45/38.14 Pi DP problem: 129.45/38.14 The TRS P consists of the following rules: 129.45/38.14 129.45/38.14 DIV_IN_GGA(X, s(Y), Z) -> U3_GGA(X, Y, Z, le_in_gga(s(Y), X, B)) 129.45/38.14 DIV_IN_GGA(X, s(Y), Z) -> LE_IN_GGA(s(Y), X, B) 129.45/38.14 LE_IN_GGA(s(X), s(Y), B) -> U1_GGA(X, Y, B, le_in_gga(X, Y, B)) 129.45/38.14 LE_IN_GGA(s(X), s(Y), B) -> LE_IN_GGA(X, Y, B) 129.45/38.14 U3_GGA(X, Y, Z, le_out_gga(s(Y), X, B)) -> U4_GGA(X, Y, Z, if_in_ggga(B, X, s(Y), Z)) 129.45/38.14 U3_GGA(X, Y, Z, le_out_gga(s(Y), X, B)) -> IF_IN_GGGA(B, X, s(Y), Z) 129.45/38.15 IF_IN_GGGA(true, X, s(Y), s(Z)) -> U5_GGGA(X, Y, Z, minus_in_gga(X, Y, U)) 129.45/38.15 IF_IN_GGGA(true, X, s(Y), s(Z)) -> MINUS_IN_GGA(X, Y, U) 129.45/38.15 MINUS_IN_GGA(s(X), s(Y), Z) -> U2_GGA(X, Y, Z, minus_in_gga(X, Y, Z)) 129.45/38.15 MINUS_IN_GGA(s(X), s(Y), Z) -> MINUS_IN_GGA(X, Y, Z) 129.45/38.15 U5_GGGA(X, Y, Z, minus_out_gga(X, Y, U)) -> U6_GGGA(X, Y, Z, div_in_gga(U, s(Y), Z)) 129.45/38.15 U5_GGGA(X, Y, Z, minus_out_gga(X, Y, U)) -> DIV_IN_GGA(U, s(Y), Z) 129.45/38.15 129.45/38.15 The TRS R consists of the following rules: 129.45/38.15 129.45/38.15 div_in_gga(X, s(Y), Z) -> U3_gga(X, Y, Z, le_in_gga(s(Y), X, B)) 129.45/38.15 le_in_gga(0, Y, true) -> le_out_gga(0, Y, true) 129.45/38.15 le_in_gga(s(X), 0, false) -> le_out_gga(s(X), 0, false) 129.45/38.15 le_in_gga(s(X), s(Y), B) -> U1_gga(X, Y, B, le_in_gga(X, Y, B)) 129.45/38.15 U1_gga(X, Y, B, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.45/38.15 U3_gga(X, Y, Z, le_out_gga(s(Y), X, B)) -> U4_gga(X, Y, Z, if_in_ggga(B, X, s(Y), Z)) 129.45/38.15 if_in_ggga(false, X, s(Y), 0) -> if_out_ggga(false, X, s(Y), 0) 129.45/38.15 if_in_ggga(true, X, s(Y), s(Z)) -> U5_ggga(X, Y, Z, minus_in_gga(X, Y, U)) 129.45/38.15 minus_in_gga(X, 0, X) -> minus_out_gga(X, 0, X) 129.45/38.15 minus_in_gga(s(X), s(Y), Z) -> U2_gga(X, Y, Z, minus_in_gga(X, Y, Z)) 129.45/38.15 U2_gga(X, Y, Z, minus_out_gga(X, Y, Z)) -> minus_out_gga(s(X), s(Y), Z) 129.45/38.15 U5_ggga(X, Y, Z, minus_out_gga(X, Y, U)) -> U6_ggga(X, Y, Z, div_in_gga(U, s(Y), Z)) 129.45/38.15 U6_ggga(X, Y, Z, div_out_gga(U, s(Y), Z)) -> if_out_ggga(true, X, s(Y), s(Z)) 129.45/38.15 U4_gga(X, Y, Z, if_out_ggga(B, X, s(Y), Z)) -> div_out_gga(X, s(Y), Z) 129.45/38.15 129.45/38.15 The argument filtering Pi contains the following mapping: 129.45/38.15 div_in_gga(x1, x2, x3) = div_in_gga(x1, x2) 129.45/38.15 129.45/38.15 s(x1) = s(x1) 129.45/38.15 129.45/38.15 U3_gga(x1, x2, x3, x4) = U3_gga(x1, x2, x4) 129.45/38.15 129.45/38.15 le_in_gga(x1, x2, x3) = le_in_gga(x1, x2) 129.45/38.15 129.45/38.15 0 = 0 129.45/38.15 129.45/38.15 le_out_gga(x1, x2, x3) = le_out_gga(x3) 129.45/38.15 129.45/38.15 U1_gga(x1, x2, x3, x4) = U1_gga(x4) 129.45/38.15 129.45/38.15 U4_gga(x1, x2, x3, x4) = U4_gga(x4) 129.45/38.15 129.45/38.15 if_in_ggga(x1, x2, x3, x4) = if_in_ggga(x1, x2, x3) 129.45/38.15 129.45/38.15 false = false 129.45/38.15 129.45/38.15 if_out_ggga(x1, x2, x3, x4) = if_out_ggga(x4) 129.45/38.15 129.45/38.15 true = true 129.45/38.15 129.45/38.15 U5_ggga(x1, x2, x3, x4) = U5_ggga(x2, x4) 129.45/38.15 129.45/38.15 minus_in_gga(x1, x2, x3) = minus_in_gga(x1, x2) 129.45/38.15 129.45/38.15 minus_out_gga(x1, x2, x3) = minus_out_gga(x3) 129.45/38.15 129.45/38.15 U2_gga(x1, x2, x3, x4) = U2_gga(x4) 129.45/38.15 129.45/38.15 U6_ggga(x1, x2, x3, x4) = U6_ggga(x4) 129.45/38.15 129.45/38.15 div_out_gga(x1, x2, x3) = div_out_gga(x3) 129.45/38.15 129.45/38.15 DIV_IN_GGA(x1, x2, x3) = DIV_IN_GGA(x1, x2) 129.45/38.15 129.45/38.15 U3_GGA(x1, x2, x3, x4) = U3_GGA(x1, x2, x4) 129.45/38.15 129.45/38.15 LE_IN_GGA(x1, x2, x3) = LE_IN_GGA(x1, x2) 129.45/38.15 129.45/38.15 U1_GGA(x1, x2, x3, x4) = U1_GGA(x4) 129.45/38.15 129.45/38.15 U4_GGA(x1, x2, x3, x4) = U4_GGA(x4) 129.45/38.15 129.45/38.15 IF_IN_GGGA(x1, x2, x3, x4) = IF_IN_GGGA(x1, x2, x3) 129.45/38.15 129.45/38.15 U5_GGGA(x1, x2, x3, x4) = U5_GGGA(x2, x4) 129.45/38.15 129.45/38.15 MINUS_IN_GGA(x1, x2, x3) = MINUS_IN_GGA(x1, x2) 129.45/38.15 129.45/38.15 U2_GGA(x1, x2, x3, x4) = U2_GGA(x4) 129.45/38.15 129.45/38.15 U6_GGGA(x1, x2, x3, x4) = U6_GGGA(x4) 129.45/38.15 129.45/38.15 129.45/38.15 We have to consider all (P,R,Pi)-chains 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (74) DependencyGraphProof (EQUIVALENT) 129.45/38.15 The approximation of the Dependency Graph [LOPSTR] contains 3 SCCs with 6 less nodes. 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (75) 129.45/38.15 Complex Obligation (AND) 129.45/38.15 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (76) 129.45/38.15 Obligation: 129.45/38.15 Pi DP problem: 129.45/38.15 The TRS P consists of the following rules: 129.45/38.15 129.45/38.15 MINUS_IN_GGA(s(X), s(Y), Z) -> MINUS_IN_GGA(X, Y, Z) 129.45/38.15 129.45/38.15 The TRS R consists of the following rules: 129.45/38.15 129.45/38.15 div_in_gga(X, s(Y), Z) -> U3_gga(X, Y, Z, le_in_gga(s(Y), X, B)) 129.45/38.15 le_in_gga(0, Y, true) -> le_out_gga(0, Y, true) 129.45/38.15 le_in_gga(s(X), 0, false) -> le_out_gga(s(X), 0, false) 129.45/38.15 le_in_gga(s(X), s(Y), B) -> U1_gga(X, Y, B, le_in_gga(X, Y, B)) 129.45/38.15 U1_gga(X, Y, B, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.45/38.15 U3_gga(X, Y, Z, le_out_gga(s(Y), X, B)) -> U4_gga(X, Y, Z, if_in_ggga(B, X, s(Y), Z)) 129.45/38.15 if_in_ggga(false, X, s(Y), 0) -> if_out_ggga(false, X, s(Y), 0) 129.45/38.15 if_in_ggga(true, X, s(Y), s(Z)) -> U5_ggga(X, Y, Z, minus_in_gga(X, Y, U)) 129.45/38.15 minus_in_gga(X, 0, X) -> minus_out_gga(X, 0, X) 129.45/38.15 minus_in_gga(s(X), s(Y), Z) -> U2_gga(X, Y, Z, minus_in_gga(X, Y, Z)) 129.45/38.15 U2_gga(X, Y, Z, minus_out_gga(X, Y, Z)) -> minus_out_gga(s(X), s(Y), Z) 129.45/38.15 U5_ggga(X, Y, Z, minus_out_gga(X, Y, U)) -> U6_ggga(X, Y, Z, div_in_gga(U, s(Y), Z)) 129.45/38.15 U6_ggga(X, Y, Z, div_out_gga(U, s(Y), Z)) -> if_out_ggga(true, X, s(Y), s(Z)) 129.45/38.15 U4_gga(X, Y, Z, if_out_ggga(B, X, s(Y), Z)) -> div_out_gga(X, s(Y), Z) 129.45/38.15 129.45/38.15 The argument filtering Pi contains the following mapping: 129.45/38.15 div_in_gga(x1, x2, x3) = div_in_gga(x1, x2) 129.45/38.15 129.45/38.15 s(x1) = s(x1) 129.45/38.15 129.45/38.15 U3_gga(x1, x2, x3, x4) = U3_gga(x1, x2, x4) 129.45/38.15 129.45/38.15 le_in_gga(x1, x2, x3) = le_in_gga(x1, x2) 129.45/38.15 129.45/38.15 0 = 0 129.45/38.15 129.45/38.15 le_out_gga(x1, x2, x3) = le_out_gga(x3) 129.45/38.15 129.45/38.15 U1_gga(x1, x2, x3, x4) = U1_gga(x4) 129.45/38.15 129.45/38.15 U4_gga(x1, x2, x3, x4) = U4_gga(x4) 129.45/38.15 129.45/38.15 if_in_ggga(x1, x2, x3, x4) = if_in_ggga(x1, x2, x3) 129.45/38.15 129.45/38.15 false = false 129.45/38.15 129.45/38.15 if_out_ggga(x1, x2, x3, x4) = if_out_ggga(x4) 129.45/38.15 129.45/38.15 true = true 129.45/38.15 129.45/38.15 U5_ggga(x1, x2, x3, x4) = U5_ggga(x2, x4) 129.45/38.15 129.45/38.15 minus_in_gga(x1, x2, x3) = minus_in_gga(x1, x2) 129.45/38.15 129.45/38.15 minus_out_gga(x1, x2, x3) = minus_out_gga(x3) 129.45/38.15 129.45/38.15 U2_gga(x1, x2, x3, x4) = U2_gga(x4) 129.45/38.15 129.45/38.15 U6_ggga(x1, x2, x3, x4) = U6_ggga(x4) 129.45/38.15 129.45/38.15 div_out_gga(x1, x2, x3) = div_out_gga(x3) 129.45/38.15 129.45/38.15 MINUS_IN_GGA(x1, x2, x3) = MINUS_IN_GGA(x1, x2) 129.45/38.15 129.45/38.15 129.45/38.15 We have to consider all (P,R,Pi)-chains 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (77) UsableRulesProof (EQUIVALENT) 129.45/38.15 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (78) 129.45/38.15 Obligation: 129.45/38.15 Pi DP problem: 129.45/38.15 The TRS P consists of the following rules: 129.45/38.15 129.45/38.15 MINUS_IN_GGA(s(X), s(Y), Z) -> MINUS_IN_GGA(X, Y, Z) 129.45/38.15 129.45/38.15 R is empty. 129.45/38.15 The argument filtering Pi contains the following mapping: 129.45/38.15 s(x1) = s(x1) 129.45/38.15 129.45/38.15 MINUS_IN_GGA(x1, x2, x3) = MINUS_IN_GGA(x1, x2) 129.45/38.15 129.45/38.15 129.45/38.15 We have to consider all (P,R,Pi)-chains 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (79) PiDPToQDPProof (SOUND) 129.45/38.15 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (80) 129.45/38.15 Obligation: 129.45/38.15 Q DP problem: 129.45/38.15 The TRS P consists of the following rules: 129.45/38.15 129.45/38.15 MINUS_IN_GGA(s(X), s(Y)) -> MINUS_IN_GGA(X, Y) 129.45/38.15 129.45/38.15 R is empty. 129.45/38.15 Q is empty. 129.45/38.15 We have to consider all (P,Q,R)-chains. 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (81) QDPSizeChangeProof (EQUIVALENT) 129.45/38.15 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. 129.45/38.15 129.45/38.15 From the DPs we obtained the following set of size-change graphs: 129.45/38.15 *MINUS_IN_GGA(s(X), s(Y)) -> MINUS_IN_GGA(X, Y) 129.45/38.15 The graph contains the following edges 1 > 1, 2 > 2 129.45/38.15 129.45/38.15 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (82) 129.45/38.15 YES 129.45/38.15 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (83) 129.45/38.15 Obligation: 129.45/38.15 Pi DP problem: 129.45/38.15 The TRS P consists of the following rules: 129.45/38.15 129.45/38.15 LE_IN_GGA(s(X), s(Y), B) -> LE_IN_GGA(X, Y, B) 129.45/38.15 129.45/38.15 The TRS R consists of the following rules: 129.45/38.15 129.45/38.15 div_in_gga(X, s(Y), Z) -> U3_gga(X, Y, Z, le_in_gga(s(Y), X, B)) 129.45/38.15 le_in_gga(0, Y, true) -> le_out_gga(0, Y, true) 129.45/38.15 le_in_gga(s(X), 0, false) -> le_out_gga(s(X), 0, false) 129.45/38.15 le_in_gga(s(X), s(Y), B) -> U1_gga(X, Y, B, le_in_gga(X, Y, B)) 129.45/38.15 U1_gga(X, Y, B, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.45/38.15 U3_gga(X, Y, Z, le_out_gga(s(Y), X, B)) -> U4_gga(X, Y, Z, if_in_ggga(B, X, s(Y), Z)) 129.45/38.15 if_in_ggga(false, X, s(Y), 0) -> if_out_ggga(false, X, s(Y), 0) 129.45/38.15 if_in_ggga(true, X, s(Y), s(Z)) -> U5_ggga(X, Y, Z, minus_in_gga(X, Y, U)) 129.45/38.15 minus_in_gga(X, 0, X) -> minus_out_gga(X, 0, X) 129.45/38.15 minus_in_gga(s(X), s(Y), Z) -> U2_gga(X, Y, Z, minus_in_gga(X, Y, Z)) 129.45/38.15 U2_gga(X, Y, Z, minus_out_gga(X, Y, Z)) -> minus_out_gga(s(X), s(Y), Z) 129.45/38.15 U5_ggga(X, Y, Z, minus_out_gga(X, Y, U)) -> U6_ggga(X, Y, Z, div_in_gga(U, s(Y), Z)) 129.45/38.15 U6_ggga(X, Y, Z, div_out_gga(U, s(Y), Z)) -> if_out_ggga(true, X, s(Y), s(Z)) 129.45/38.15 U4_gga(X, Y, Z, if_out_ggga(B, X, s(Y), Z)) -> div_out_gga(X, s(Y), Z) 129.45/38.15 129.45/38.15 The argument filtering Pi contains the following mapping: 129.45/38.15 div_in_gga(x1, x2, x3) = div_in_gga(x1, x2) 129.45/38.15 129.45/38.15 s(x1) = s(x1) 129.45/38.15 129.45/38.15 U3_gga(x1, x2, x3, x4) = U3_gga(x1, x2, x4) 129.45/38.15 129.45/38.15 le_in_gga(x1, x2, x3) = le_in_gga(x1, x2) 129.45/38.15 129.45/38.15 0 = 0 129.45/38.15 129.45/38.15 le_out_gga(x1, x2, x3) = le_out_gga(x3) 129.45/38.15 129.45/38.15 U1_gga(x1, x2, x3, x4) = U1_gga(x4) 129.45/38.15 129.45/38.15 U4_gga(x1, x2, x3, x4) = U4_gga(x4) 129.45/38.15 129.45/38.15 if_in_ggga(x1, x2, x3, x4) = if_in_ggga(x1, x2, x3) 129.45/38.15 129.45/38.15 false = false 129.45/38.15 129.45/38.15 if_out_ggga(x1, x2, x3, x4) = if_out_ggga(x4) 129.45/38.15 129.45/38.15 true = true 129.45/38.15 129.45/38.15 U5_ggga(x1, x2, x3, x4) = U5_ggga(x2, x4) 129.45/38.15 129.45/38.15 minus_in_gga(x1, x2, x3) = minus_in_gga(x1, x2) 129.45/38.15 129.45/38.15 minus_out_gga(x1, x2, x3) = minus_out_gga(x3) 129.45/38.15 129.45/38.15 U2_gga(x1, x2, x3, x4) = U2_gga(x4) 129.45/38.15 129.45/38.15 U6_ggga(x1, x2, x3, x4) = U6_ggga(x4) 129.45/38.15 129.45/38.15 div_out_gga(x1, x2, x3) = div_out_gga(x3) 129.45/38.15 129.45/38.15 LE_IN_GGA(x1, x2, x3) = LE_IN_GGA(x1, x2) 129.45/38.15 129.45/38.15 129.45/38.15 We have to consider all (P,R,Pi)-chains 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (84) UsableRulesProof (EQUIVALENT) 129.45/38.15 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (85) 129.45/38.15 Obligation: 129.45/38.15 Pi DP problem: 129.45/38.15 The TRS P consists of the following rules: 129.45/38.15 129.45/38.15 LE_IN_GGA(s(X), s(Y), B) -> LE_IN_GGA(X, Y, B) 129.45/38.15 129.45/38.15 R is empty. 129.45/38.15 The argument filtering Pi contains the following mapping: 129.45/38.15 s(x1) = s(x1) 129.45/38.15 129.45/38.15 LE_IN_GGA(x1, x2, x3) = LE_IN_GGA(x1, x2) 129.45/38.15 129.45/38.15 129.45/38.15 We have to consider all (P,R,Pi)-chains 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (86) PiDPToQDPProof (SOUND) 129.45/38.15 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (87) 129.45/38.15 Obligation: 129.45/38.15 Q DP problem: 129.45/38.15 The TRS P consists of the following rules: 129.45/38.15 129.45/38.15 LE_IN_GGA(s(X), s(Y)) -> LE_IN_GGA(X, Y) 129.45/38.15 129.45/38.15 R is empty. 129.45/38.15 Q is empty. 129.45/38.15 We have to consider all (P,Q,R)-chains. 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (88) QDPSizeChangeProof (EQUIVALENT) 129.45/38.15 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. 129.45/38.15 129.45/38.15 From the DPs we obtained the following set of size-change graphs: 129.45/38.15 *LE_IN_GGA(s(X), s(Y)) -> LE_IN_GGA(X, Y) 129.45/38.15 The graph contains the following edges 1 > 1, 2 > 2 129.45/38.15 129.45/38.15 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (89) 129.45/38.15 YES 129.45/38.15 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (90) 129.45/38.15 Obligation: 129.45/38.15 Pi DP problem: 129.45/38.15 The TRS P consists of the following rules: 129.45/38.15 129.45/38.15 U3_GGA(X, Y, Z, le_out_gga(s(Y), X, B)) -> IF_IN_GGGA(B, X, s(Y), Z) 129.45/38.15 IF_IN_GGGA(true, X, s(Y), s(Z)) -> U5_GGGA(X, Y, Z, minus_in_gga(X, Y, U)) 129.45/38.15 U5_GGGA(X, Y, Z, minus_out_gga(X, Y, U)) -> DIV_IN_GGA(U, s(Y), Z) 129.45/38.15 DIV_IN_GGA(X, s(Y), Z) -> U3_GGA(X, Y, Z, le_in_gga(s(Y), X, B)) 129.45/38.15 129.45/38.15 The TRS R consists of the following rules: 129.45/38.15 129.45/38.15 div_in_gga(X, s(Y), Z) -> U3_gga(X, Y, Z, le_in_gga(s(Y), X, B)) 129.45/38.15 le_in_gga(0, Y, true) -> le_out_gga(0, Y, true) 129.45/38.15 le_in_gga(s(X), 0, false) -> le_out_gga(s(X), 0, false) 129.45/38.15 le_in_gga(s(X), s(Y), B) -> U1_gga(X, Y, B, le_in_gga(X, Y, B)) 129.45/38.15 U1_gga(X, Y, B, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.45/38.15 U3_gga(X, Y, Z, le_out_gga(s(Y), X, B)) -> U4_gga(X, Y, Z, if_in_ggga(B, X, s(Y), Z)) 129.45/38.15 if_in_ggga(false, X, s(Y), 0) -> if_out_ggga(false, X, s(Y), 0) 129.45/38.15 if_in_ggga(true, X, s(Y), s(Z)) -> U5_ggga(X, Y, Z, minus_in_gga(X, Y, U)) 129.45/38.15 minus_in_gga(X, 0, X) -> minus_out_gga(X, 0, X) 129.45/38.15 minus_in_gga(s(X), s(Y), Z) -> U2_gga(X, Y, Z, minus_in_gga(X, Y, Z)) 129.45/38.15 U2_gga(X, Y, Z, minus_out_gga(X, Y, Z)) -> minus_out_gga(s(X), s(Y), Z) 129.45/38.15 U5_ggga(X, Y, Z, minus_out_gga(X, Y, U)) -> U6_ggga(X, Y, Z, div_in_gga(U, s(Y), Z)) 129.45/38.15 U6_ggga(X, Y, Z, div_out_gga(U, s(Y), Z)) -> if_out_ggga(true, X, s(Y), s(Z)) 129.45/38.15 U4_gga(X, Y, Z, if_out_ggga(B, X, s(Y), Z)) -> div_out_gga(X, s(Y), Z) 129.45/38.15 129.45/38.15 The argument filtering Pi contains the following mapping: 129.45/38.15 div_in_gga(x1, x2, x3) = div_in_gga(x1, x2) 129.45/38.15 129.45/38.15 s(x1) = s(x1) 129.45/38.15 129.45/38.15 U3_gga(x1, x2, x3, x4) = U3_gga(x1, x2, x4) 129.45/38.15 129.45/38.15 le_in_gga(x1, x2, x3) = le_in_gga(x1, x2) 129.45/38.15 129.45/38.15 0 = 0 129.45/38.15 129.45/38.15 le_out_gga(x1, x2, x3) = le_out_gga(x3) 129.45/38.15 129.45/38.15 U1_gga(x1, x2, x3, x4) = U1_gga(x4) 129.45/38.15 129.45/38.15 U4_gga(x1, x2, x3, x4) = U4_gga(x4) 129.45/38.15 129.45/38.15 if_in_ggga(x1, x2, x3, x4) = if_in_ggga(x1, x2, x3) 129.45/38.15 129.45/38.15 false = false 129.45/38.15 129.45/38.15 if_out_ggga(x1, x2, x3, x4) = if_out_ggga(x4) 129.45/38.15 129.45/38.15 true = true 129.45/38.15 129.45/38.15 U5_ggga(x1, x2, x3, x4) = U5_ggga(x2, x4) 129.45/38.15 129.45/38.15 minus_in_gga(x1, x2, x3) = minus_in_gga(x1, x2) 129.45/38.15 129.45/38.15 minus_out_gga(x1, x2, x3) = minus_out_gga(x3) 129.45/38.15 129.45/38.15 U2_gga(x1, x2, x3, x4) = U2_gga(x4) 129.45/38.15 129.45/38.15 U6_ggga(x1, x2, x3, x4) = U6_ggga(x4) 129.45/38.15 129.45/38.15 div_out_gga(x1, x2, x3) = div_out_gga(x3) 129.45/38.15 129.45/38.15 DIV_IN_GGA(x1, x2, x3) = DIV_IN_GGA(x1, x2) 129.45/38.15 129.45/38.15 U3_GGA(x1, x2, x3, x4) = U3_GGA(x1, x2, x4) 129.45/38.15 129.45/38.15 IF_IN_GGGA(x1, x2, x3, x4) = IF_IN_GGGA(x1, x2, x3) 129.45/38.15 129.45/38.15 U5_GGGA(x1, x2, x3, x4) = U5_GGGA(x2, x4) 129.45/38.15 129.45/38.15 129.45/38.15 We have to consider all (P,R,Pi)-chains 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (91) UsableRulesProof (EQUIVALENT) 129.45/38.15 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (92) 129.45/38.15 Obligation: 129.45/38.15 Pi DP problem: 129.45/38.15 The TRS P consists of the following rules: 129.45/38.15 129.45/38.15 U3_GGA(X, Y, Z, le_out_gga(s(Y), X, B)) -> IF_IN_GGGA(B, X, s(Y), Z) 129.45/38.15 IF_IN_GGGA(true, X, s(Y), s(Z)) -> U5_GGGA(X, Y, Z, minus_in_gga(X, Y, U)) 129.45/38.15 U5_GGGA(X, Y, Z, minus_out_gga(X, Y, U)) -> DIV_IN_GGA(U, s(Y), Z) 129.45/38.15 DIV_IN_GGA(X, s(Y), Z) -> U3_GGA(X, Y, Z, le_in_gga(s(Y), X, B)) 129.45/38.15 129.45/38.15 The TRS R consists of the following rules: 129.45/38.15 129.45/38.15 minus_in_gga(X, 0, X) -> minus_out_gga(X, 0, X) 129.45/38.15 minus_in_gga(s(X), s(Y), Z) -> U2_gga(X, Y, Z, minus_in_gga(X, Y, Z)) 129.45/38.15 le_in_gga(s(X), 0, false) -> le_out_gga(s(X), 0, false) 129.45/38.15 le_in_gga(s(X), s(Y), B) -> U1_gga(X, Y, B, le_in_gga(X, Y, B)) 129.45/38.15 U2_gga(X, Y, Z, minus_out_gga(X, Y, Z)) -> minus_out_gga(s(X), s(Y), Z) 129.45/38.15 U1_gga(X, Y, B, le_out_gga(X, Y, B)) -> le_out_gga(s(X), s(Y), B) 129.45/38.15 le_in_gga(0, Y, true) -> le_out_gga(0, Y, true) 129.45/38.15 129.45/38.15 The argument filtering Pi contains the following mapping: 129.45/38.15 s(x1) = s(x1) 129.45/38.15 129.45/38.15 le_in_gga(x1, x2, x3) = le_in_gga(x1, x2) 129.45/38.15 129.45/38.15 0 = 0 129.45/38.15 129.45/38.15 le_out_gga(x1, x2, x3) = le_out_gga(x3) 129.45/38.15 129.45/38.15 U1_gga(x1, x2, x3, x4) = U1_gga(x4) 129.45/38.15 129.45/38.15 false = false 129.45/38.15 129.45/38.15 true = true 129.45/38.15 129.45/38.15 minus_in_gga(x1, x2, x3) = minus_in_gga(x1, x2) 129.45/38.15 129.45/38.15 minus_out_gga(x1, x2, x3) = minus_out_gga(x3) 129.45/38.15 129.45/38.15 U2_gga(x1, x2, x3, x4) = U2_gga(x4) 129.45/38.15 129.45/38.15 DIV_IN_GGA(x1, x2, x3) = DIV_IN_GGA(x1, x2) 129.45/38.15 129.45/38.15 U3_GGA(x1, x2, x3, x4) = U3_GGA(x1, x2, x4) 129.45/38.15 129.45/38.15 IF_IN_GGGA(x1, x2, x3, x4) = IF_IN_GGGA(x1, x2, x3) 129.45/38.15 129.45/38.15 U5_GGGA(x1, x2, x3, x4) = U5_GGGA(x2, x4) 129.45/38.15 129.45/38.15 129.45/38.15 We have to consider all (P,R,Pi)-chains 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (93) PiDPToQDPProof (SOUND) 129.45/38.15 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (94) 129.45/38.15 Obligation: 129.45/38.15 Q DP problem: 129.45/38.15 The TRS P consists of the following rules: 129.45/38.15 129.45/38.15 U3_GGA(X, Y, le_out_gga(B)) -> IF_IN_GGGA(B, X, s(Y)) 129.45/38.15 IF_IN_GGGA(true, X, s(Y)) -> U5_GGGA(Y, minus_in_gga(X, Y)) 129.45/38.15 U5_GGGA(Y, minus_out_gga(U)) -> DIV_IN_GGA(U, s(Y)) 129.45/38.15 DIV_IN_GGA(X, s(Y)) -> U3_GGA(X, Y, le_in_gga(s(Y), X)) 129.45/38.15 129.45/38.15 The TRS R consists of the following rules: 129.45/38.15 129.45/38.15 minus_in_gga(X, 0) -> minus_out_gga(X) 129.45/38.15 minus_in_gga(s(X), s(Y)) -> U2_gga(minus_in_gga(X, Y)) 129.45/38.15 le_in_gga(s(X), 0) -> le_out_gga(false) 129.45/38.15 le_in_gga(s(X), s(Y)) -> U1_gga(le_in_gga(X, Y)) 129.45/38.15 U2_gga(minus_out_gga(Z)) -> minus_out_gga(Z) 129.45/38.15 U1_gga(le_out_gga(B)) -> le_out_gga(B) 129.45/38.15 le_in_gga(0, Y) -> le_out_gga(true) 129.45/38.15 129.45/38.15 The set Q consists of the following terms: 129.45/38.15 129.45/38.15 minus_in_gga(x0, x1) 129.45/38.15 le_in_gga(x0, x1) 129.45/38.15 U2_gga(x0) 129.45/38.15 U1_gga(x0) 129.45/38.15 129.45/38.15 We have to consider all (P,Q,R)-chains. 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (95) TransformationProof (SOUND) 129.45/38.15 By narrowing [LPAR04] the rule IF_IN_GGGA(true, X, s(Y)) -> U5_GGGA(Y, minus_in_gga(X, Y)) at position [1] we obtained the following new rules [LPAR04]: 129.45/38.15 129.45/38.15 (IF_IN_GGGA(true, x0, s(0)) -> U5_GGGA(0, minus_out_gga(x0)),IF_IN_GGGA(true, x0, s(0)) -> U5_GGGA(0, minus_out_gga(x0))) 129.45/38.15 (IF_IN_GGGA(true, s(x0), s(s(x1))) -> U5_GGGA(s(x1), U2_gga(minus_in_gga(x0, x1))),IF_IN_GGGA(true, s(x0), s(s(x1))) -> U5_GGGA(s(x1), U2_gga(minus_in_gga(x0, x1)))) 129.45/38.15 129.45/38.15 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (96) 129.45/38.15 Obligation: 129.45/38.15 Q DP problem: 129.45/38.15 The TRS P consists of the following rules: 129.45/38.15 129.45/38.15 U3_GGA(X, Y, le_out_gga(B)) -> IF_IN_GGGA(B, X, s(Y)) 129.45/38.15 U5_GGGA(Y, minus_out_gga(U)) -> DIV_IN_GGA(U, s(Y)) 129.45/38.15 DIV_IN_GGA(X, s(Y)) -> U3_GGA(X, Y, le_in_gga(s(Y), X)) 129.45/38.15 IF_IN_GGGA(true, x0, s(0)) -> U5_GGGA(0, minus_out_gga(x0)) 129.45/38.15 IF_IN_GGGA(true, s(x0), s(s(x1))) -> U5_GGGA(s(x1), U2_gga(minus_in_gga(x0, x1))) 129.45/38.15 129.45/38.15 The TRS R consists of the following rules: 129.45/38.15 129.45/38.15 minus_in_gga(X, 0) -> minus_out_gga(X) 129.45/38.15 minus_in_gga(s(X), s(Y)) -> U2_gga(minus_in_gga(X, Y)) 129.45/38.15 le_in_gga(s(X), 0) -> le_out_gga(false) 129.45/38.15 le_in_gga(s(X), s(Y)) -> U1_gga(le_in_gga(X, Y)) 129.45/38.15 U2_gga(minus_out_gga(Z)) -> minus_out_gga(Z) 129.45/38.15 U1_gga(le_out_gga(B)) -> le_out_gga(B) 129.45/38.15 le_in_gga(0, Y) -> le_out_gga(true) 129.45/38.15 129.45/38.15 The set Q consists of the following terms: 129.45/38.15 129.45/38.15 minus_in_gga(x0, x1) 129.45/38.15 le_in_gga(x0, x1) 129.45/38.15 U2_gga(x0) 129.45/38.15 U1_gga(x0) 129.45/38.15 129.45/38.15 We have to consider all (P,Q,R)-chains. 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (97) TransformationProof (SOUND) 129.45/38.15 By narrowing [LPAR04] the rule DIV_IN_GGA(X, s(Y)) -> U3_GGA(X, Y, le_in_gga(s(Y), X)) at position [2] we obtained the following new rules [LPAR04]: 129.45/38.15 129.45/38.15 (DIV_IN_GGA(0, s(x0)) -> U3_GGA(0, x0, le_out_gga(false)),DIV_IN_GGA(0, s(x0)) -> U3_GGA(0, x0, le_out_gga(false))) 129.45/38.15 (DIV_IN_GGA(s(x1), s(x0)) -> U3_GGA(s(x1), x0, U1_gga(le_in_gga(x0, x1))),DIV_IN_GGA(s(x1), s(x0)) -> U3_GGA(s(x1), x0, U1_gga(le_in_gga(x0, x1)))) 129.45/38.15 129.45/38.15 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (98) 129.45/38.15 Obligation: 129.45/38.15 Q DP problem: 129.45/38.15 The TRS P consists of the following rules: 129.45/38.15 129.45/38.15 U3_GGA(X, Y, le_out_gga(B)) -> IF_IN_GGGA(B, X, s(Y)) 129.45/38.15 U5_GGGA(Y, minus_out_gga(U)) -> DIV_IN_GGA(U, s(Y)) 129.45/38.15 IF_IN_GGGA(true, x0, s(0)) -> U5_GGGA(0, minus_out_gga(x0)) 129.45/38.15 IF_IN_GGGA(true, s(x0), s(s(x1))) -> U5_GGGA(s(x1), U2_gga(minus_in_gga(x0, x1))) 129.45/38.15 DIV_IN_GGA(0, s(x0)) -> U3_GGA(0, x0, le_out_gga(false)) 129.45/38.15 DIV_IN_GGA(s(x1), s(x0)) -> U3_GGA(s(x1), x0, U1_gga(le_in_gga(x0, x1))) 129.45/38.15 129.45/38.15 The TRS R consists of the following rules: 129.45/38.15 129.45/38.15 minus_in_gga(X, 0) -> minus_out_gga(X) 129.45/38.15 minus_in_gga(s(X), s(Y)) -> U2_gga(minus_in_gga(X, Y)) 129.45/38.15 le_in_gga(s(X), 0) -> le_out_gga(false) 129.45/38.15 le_in_gga(s(X), s(Y)) -> U1_gga(le_in_gga(X, Y)) 129.45/38.15 U2_gga(minus_out_gga(Z)) -> minus_out_gga(Z) 129.45/38.15 U1_gga(le_out_gga(B)) -> le_out_gga(B) 129.45/38.15 le_in_gga(0, Y) -> le_out_gga(true) 129.45/38.15 129.45/38.15 The set Q consists of the following terms: 129.45/38.15 129.45/38.15 minus_in_gga(x0, x1) 129.45/38.15 le_in_gga(x0, x1) 129.45/38.15 U2_gga(x0) 129.45/38.15 U1_gga(x0) 129.45/38.15 129.45/38.15 We have to consider all (P,Q,R)-chains. 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (99) TransformationProof (EQUIVALENT) 129.45/38.15 By instantiating [LPAR04] the rule U3_GGA(X, Y, le_out_gga(B)) -> IF_IN_GGGA(B, X, s(Y)) we obtained the following new rules [LPAR04]: 129.45/38.15 129.45/38.15 (U3_GGA(0, z0, le_out_gga(false)) -> IF_IN_GGGA(false, 0, s(z0)),U3_GGA(0, z0, le_out_gga(false)) -> IF_IN_GGGA(false, 0, s(z0))) 129.45/38.15 (U3_GGA(s(z0), z1, le_out_gga(x2)) -> IF_IN_GGGA(x2, s(z0), s(z1)),U3_GGA(s(z0), z1, le_out_gga(x2)) -> IF_IN_GGGA(x2, s(z0), s(z1))) 129.45/38.15 129.45/38.15 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (100) 129.45/38.15 Obligation: 129.45/38.15 Q DP problem: 129.45/38.15 The TRS P consists of the following rules: 129.45/38.15 129.45/38.15 U5_GGGA(Y, minus_out_gga(U)) -> DIV_IN_GGA(U, s(Y)) 129.45/38.15 IF_IN_GGGA(true, x0, s(0)) -> U5_GGGA(0, minus_out_gga(x0)) 129.45/38.15 IF_IN_GGGA(true, s(x0), s(s(x1))) -> U5_GGGA(s(x1), U2_gga(minus_in_gga(x0, x1))) 129.45/38.15 DIV_IN_GGA(0, s(x0)) -> U3_GGA(0, x0, le_out_gga(false)) 129.45/38.15 DIV_IN_GGA(s(x1), s(x0)) -> U3_GGA(s(x1), x0, U1_gga(le_in_gga(x0, x1))) 129.45/38.15 U3_GGA(0, z0, le_out_gga(false)) -> IF_IN_GGGA(false, 0, s(z0)) 129.45/38.15 U3_GGA(s(z0), z1, le_out_gga(x2)) -> IF_IN_GGGA(x2, s(z0), s(z1)) 129.45/38.15 129.45/38.15 The TRS R consists of the following rules: 129.45/38.15 129.45/38.15 minus_in_gga(X, 0) -> minus_out_gga(X) 129.45/38.15 minus_in_gga(s(X), s(Y)) -> U2_gga(minus_in_gga(X, Y)) 129.45/38.15 le_in_gga(s(X), 0) -> le_out_gga(false) 129.45/38.15 le_in_gga(s(X), s(Y)) -> U1_gga(le_in_gga(X, Y)) 129.45/38.15 U2_gga(minus_out_gga(Z)) -> minus_out_gga(Z) 129.45/38.15 U1_gga(le_out_gga(B)) -> le_out_gga(B) 129.45/38.15 le_in_gga(0, Y) -> le_out_gga(true) 129.45/38.15 129.45/38.15 The set Q consists of the following terms: 129.45/38.15 129.45/38.15 minus_in_gga(x0, x1) 129.45/38.15 le_in_gga(x0, x1) 129.45/38.15 U2_gga(x0) 129.45/38.15 U1_gga(x0) 129.45/38.15 129.45/38.15 We have to consider all (P,Q,R)-chains. 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (101) DependencyGraphProof (EQUIVALENT) 129.45/38.15 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (102) 129.45/38.15 Obligation: 129.45/38.15 Q DP problem: 129.45/38.15 The TRS P consists of the following rules: 129.45/38.15 129.45/38.15 DIV_IN_GGA(s(x1), s(x0)) -> U3_GGA(s(x1), x0, U1_gga(le_in_gga(x0, x1))) 129.45/38.15 U3_GGA(s(z0), z1, le_out_gga(x2)) -> IF_IN_GGGA(x2, s(z0), s(z1)) 129.45/38.15 IF_IN_GGGA(true, x0, s(0)) -> U5_GGGA(0, minus_out_gga(x0)) 129.45/38.15 U5_GGGA(Y, minus_out_gga(U)) -> DIV_IN_GGA(U, s(Y)) 129.45/38.15 IF_IN_GGGA(true, s(x0), s(s(x1))) -> U5_GGGA(s(x1), U2_gga(minus_in_gga(x0, x1))) 129.45/38.15 129.45/38.15 The TRS R consists of the following rules: 129.45/38.15 129.45/38.15 minus_in_gga(X, 0) -> minus_out_gga(X) 129.45/38.15 minus_in_gga(s(X), s(Y)) -> U2_gga(minus_in_gga(X, Y)) 129.45/38.15 le_in_gga(s(X), 0) -> le_out_gga(false) 129.45/38.15 le_in_gga(s(X), s(Y)) -> U1_gga(le_in_gga(X, Y)) 129.45/38.15 U2_gga(minus_out_gga(Z)) -> minus_out_gga(Z) 129.45/38.15 U1_gga(le_out_gga(B)) -> le_out_gga(B) 129.45/38.15 le_in_gga(0, Y) -> le_out_gga(true) 129.45/38.15 129.45/38.15 The set Q consists of the following terms: 129.45/38.15 129.45/38.15 minus_in_gga(x0, x1) 129.45/38.15 le_in_gga(x0, x1) 129.45/38.15 U2_gga(x0) 129.45/38.15 U1_gga(x0) 129.45/38.15 129.45/38.15 We have to consider all (P,Q,R)-chains. 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (103) TransformationProof (EQUIVALENT) 129.45/38.15 By instantiating [LPAR04] the rule IF_IN_GGGA(true, x0, s(0)) -> U5_GGGA(0, minus_out_gga(x0)) we obtained the following new rules [LPAR04]: 129.45/38.15 129.45/38.15 (IF_IN_GGGA(true, s(z0), s(0)) -> U5_GGGA(0, minus_out_gga(s(z0))),IF_IN_GGGA(true, s(z0), s(0)) -> U5_GGGA(0, minus_out_gga(s(z0)))) 129.45/38.15 129.45/38.15 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (104) 129.45/38.15 Obligation: 129.45/38.15 Q DP problem: 129.45/38.15 The TRS P consists of the following rules: 129.45/38.15 129.45/38.15 DIV_IN_GGA(s(x1), s(x0)) -> U3_GGA(s(x1), x0, U1_gga(le_in_gga(x0, x1))) 129.45/38.15 U3_GGA(s(z0), z1, le_out_gga(x2)) -> IF_IN_GGGA(x2, s(z0), s(z1)) 129.45/38.15 U5_GGGA(Y, minus_out_gga(U)) -> DIV_IN_GGA(U, s(Y)) 129.45/38.15 IF_IN_GGGA(true, s(x0), s(s(x1))) -> U5_GGGA(s(x1), U2_gga(minus_in_gga(x0, x1))) 129.45/38.15 IF_IN_GGGA(true, s(z0), s(0)) -> U5_GGGA(0, minus_out_gga(s(z0))) 129.45/38.15 129.45/38.15 The TRS R consists of the following rules: 129.45/38.15 129.45/38.15 minus_in_gga(X, 0) -> minus_out_gga(X) 129.45/38.15 minus_in_gga(s(X), s(Y)) -> U2_gga(minus_in_gga(X, Y)) 129.45/38.15 le_in_gga(s(X), 0) -> le_out_gga(false) 129.45/38.15 le_in_gga(s(X), s(Y)) -> U1_gga(le_in_gga(X, Y)) 129.45/38.15 U2_gga(minus_out_gga(Z)) -> minus_out_gga(Z) 129.45/38.15 U1_gga(le_out_gga(B)) -> le_out_gga(B) 129.45/38.15 le_in_gga(0, Y) -> le_out_gga(true) 129.45/38.15 129.45/38.15 The set Q consists of the following terms: 129.45/38.15 129.45/38.15 minus_in_gga(x0, x1) 129.45/38.15 le_in_gga(x0, x1) 129.45/38.15 U2_gga(x0) 129.45/38.15 U1_gga(x0) 129.45/38.15 129.45/38.15 We have to consider all (P,Q,R)-chains. 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (105) TransformationProof (EQUIVALENT) 129.45/38.15 By instantiating [LPAR04] the rule U5_GGGA(Y, minus_out_gga(U)) -> DIV_IN_GGA(U, s(Y)) we obtained the following new rules [LPAR04]: 129.45/38.15 129.45/38.15 (U5_GGGA(s(z1), minus_out_gga(x1)) -> DIV_IN_GGA(x1, s(s(z1))),U5_GGGA(s(z1), minus_out_gga(x1)) -> DIV_IN_GGA(x1, s(s(z1)))) 129.45/38.15 (U5_GGGA(0, minus_out_gga(s(z0))) -> DIV_IN_GGA(s(z0), s(0)),U5_GGGA(0, minus_out_gga(s(z0))) -> DIV_IN_GGA(s(z0), s(0))) 129.45/38.15 129.45/38.15 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (106) 129.45/38.15 Obligation: 129.45/38.15 Q DP problem: 129.45/38.15 The TRS P consists of the following rules: 129.45/38.15 129.45/38.15 DIV_IN_GGA(s(x1), s(x0)) -> U3_GGA(s(x1), x0, U1_gga(le_in_gga(x0, x1))) 129.45/38.15 U3_GGA(s(z0), z1, le_out_gga(x2)) -> IF_IN_GGGA(x2, s(z0), s(z1)) 129.45/38.15 IF_IN_GGGA(true, s(x0), s(s(x1))) -> U5_GGGA(s(x1), U2_gga(minus_in_gga(x0, x1))) 129.45/38.15 IF_IN_GGGA(true, s(z0), s(0)) -> U5_GGGA(0, minus_out_gga(s(z0))) 129.45/38.15 U5_GGGA(s(z1), minus_out_gga(x1)) -> DIV_IN_GGA(x1, s(s(z1))) 129.45/38.15 U5_GGGA(0, minus_out_gga(s(z0))) -> DIV_IN_GGA(s(z0), s(0)) 129.45/38.15 129.45/38.15 The TRS R consists of the following rules: 129.45/38.15 129.45/38.15 minus_in_gga(X, 0) -> minus_out_gga(X) 129.45/38.15 minus_in_gga(s(X), s(Y)) -> U2_gga(minus_in_gga(X, Y)) 129.45/38.15 le_in_gga(s(X), 0) -> le_out_gga(false) 129.45/38.15 le_in_gga(s(X), s(Y)) -> U1_gga(le_in_gga(X, Y)) 129.45/38.15 U2_gga(minus_out_gga(Z)) -> minus_out_gga(Z) 129.45/38.15 U1_gga(le_out_gga(B)) -> le_out_gga(B) 129.45/38.15 le_in_gga(0, Y) -> le_out_gga(true) 129.45/38.15 129.45/38.15 The set Q consists of the following terms: 129.45/38.15 129.45/38.15 minus_in_gga(x0, x1) 129.45/38.15 le_in_gga(x0, x1) 129.45/38.15 U2_gga(x0) 129.45/38.15 U1_gga(x0) 129.45/38.15 129.45/38.15 We have to consider all (P,Q,R)-chains. 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (107) TransformationProof (EQUIVALENT) 129.45/38.15 By instantiating [LPAR04] the rule DIV_IN_GGA(s(x1), s(x0)) -> U3_GGA(s(x1), x0, U1_gga(le_in_gga(x0, x1))) we obtained the following new rules [LPAR04]: 129.45/38.15 129.45/38.15 (DIV_IN_GGA(s(x0), s(s(z0))) -> U3_GGA(s(x0), s(z0), U1_gga(le_in_gga(s(z0), x0))),DIV_IN_GGA(s(x0), s(s(z0))) -> U3_GGA(s(x0), s(z0), U1_gga(le_in_gga(s(z0), x0)))) 129.45/38.15 (DIV_IN_GGA(s(z0), s(0)) -> U3_GGA(s(z0), 0, U1_gga(le_in_gga(0, z0))),DIV_IN_GGA(s(z0), s(0)) -> U3_GGA(s(z0), 0, U1_gga(le_in_gga(0, z0)))) 129.45/38.15 129.45/38.15 129.45/38.15 ---------------------------------------- 129.45/38.15 129.45/38.15 (108) 129.45/38.15 Obligation: 129.45/38.15 Q DP problem: 129.45/38.15 The TRS P consists of the following rules: 129.45/38.15 129.45/38.15 U3_GGA(s(z0), z1, le_out_gga(x2)) -> IF_IN_GGGA(x2, s(z0), s(z1)) 129.45/38.15 IF_IN_GGGA(true, s(x0), s(s(x1))) -> U5_GGGA(s(x1), U2_gga(minus_in_gga(x0, x1))) 129.45/38.16 IF_IN_GGGA(true, s(z0), s(0)) -> U5_GGGA(0, minus_out_gga(s(z0))) 129.45/38.16 U5_GGGA(s(z1), minus_out_gga(x1)) -> DIV_IN_GGA(x1, s(s(z1))) 129.45/38.16 U5_GGGA(0, minus_out_gga(s(z0))) -> DIV_IN_GGA(s(z0), s(0)) 129.45/38.16 DIV_IN_GGA(s(x0), s(s(z0))) -> U3_GGA(s(x0), s(z0), U1_gga(le_in_gga(s(z0), x0))) 129.45/38.16 DIV_IN_GGA(s(z0), s(0)) -> U3_GGA(s(z0), 0, U1_gga(le_in_gga(0, z0))) 129.45/38.16 129.45/38.16 The TRS R consists of the following rules: 129.45/38.16 129.45/38.16 minus_in_gga(X, 0) -> minus_out_gga(X) 129.45/38.16 minus_in_gga(s(X), s(Y)) -> U2_gga(minus_in_gga(X, Y)) 129.45/38.16 le_in_gga(s(X), 0) -> le_out_gga(false) 129.45/38.16 le_in_gga(s(X), s(Y)) -> U1_gga(le_in_gga(X, Y)) 129.45/38.16 U2_gga(minus_out_gga(Z)) -> minus_out_gga(Z) 129.45/38.16 U1_gga(le_out_gga(B)) -> le_out_gga(B) 129.45/38.16 le_in_gga(0, Y) -> le_out_gga(true) 129.45/38.16 129.45/38.16 The set Q consists of the following terms: 129.45/38.16 129.45/38.16 minus_in_gga(x0, x1) 129.45/38.16 le_in_gga(x0, x1) 129.45/38.16 U2_gga(x0) 129.45/38.16 U1_gga(x0) 129.45/38.16 129.45/38.16 We have to consider all (P,Q,R)-chains. 129.45/38.16 ---------------------------------------- 129.45/38.16 129.45/38.16 (109) TransformationProof (EQUIVALENT) 129.45/38.16 By rewriting [LPAR04] the rule DIV_IN_GGA(s(z0), s(0)) -> U3_GGA(s(z0), 0, U1_gga(le_in_gga(0, z0))) at position [2,0] we obtained the following new rules [LPAR04]: 129.45/38.16 129.45/38.16 (DIV_IN_GGA(s(z0), s(0)) -> U3_GGA(s(z0), 0, U1_gga(le_out_gga(true))),DIV_IN_GGA(s(z0), s(0)) -> U3_GGA(s(z0), 0, U1_gga(le_out_gga(true)))) 129.45/38.16 129.45/38.16 129.45/38.16 ---------------------------------------- 129.45/38.16 129.45/38.16 (110) 129.45/38.16 Obligation: 129.45/38.16 Q DP problem: 129.45/38.16 The TRS P consists of the following rules: 129.45/38.16 129.45/38.16 U3_GGA(s(z0), z1, le_out_gga(x2)) -> IF_IN_GGGA(x2, s(z0), s(z1)) 129.45/38.16 IF_IN_GGGA(true, s(x0), s(s(x1))) -> U5_GGGA(s(x1), U2_gga(minus_in_gga(x0, x1))) 129.45/38.16 IF_IN_GGGA(true, s(z0), s(0)) -> U5_GGGA(0, minus_out_gga(s(z0))) 129.45/38.16 U5_GGGA(s(z1), minus_out_gga(x1)) -> DIV_IN_GGA(x1, s(s(z1))) 129.45/38.16 U5_GGGA(0, minus_out_gga(s(z0))) -> DIV_IN_GGA(s(z0), s(0)) 129.45/38.16 DIV_IN_GGA(s(x0), s(s(z0))) -> U3_GGA(s(x0), s(z0), U1_gga(le_in_gga(s(z0), x0))) 129.45/38.16 DIV_IN_GGA(s(z0), s(0)) -> U3_GGA(s(z0), 0, U1_gga(le_out_gga(true))) 129.45/38.16 129.45/38.16 The TRS R consists of the following rules: 129.45/38.16 129.45/38.16 minus_in_gga(X, 0) -> minus_out_gga(X) 129.45/38.16 minus_in_gga(s(X), s(Y)) -> U2_gga(minus_in_gga(X, Y)) 129.45/38.16 le_in_gga(s(X), 0) -> le_out_gga(false) 129.45/38.16 le_in_gga(s(X), s(Y)) -> U1_gga(le_in_gga(X, Y)) 129.45/38.16 U2_gga(minus_out_gga(Z)) -> minus_out_gga(Z) 129.45/38.16 U1_gga(le_out_gga(B)) -> le_out_gga(B) 129.45/38.16 le_in_gga(0, Y) -> le_out_gga(true) 129.45/38.16 129.45/38.16 The set Q consists of the following terms: 129.45/38.16 129.45/38.16 minus_in_gga(x0, x1) 129.45/38.16 le_in_gga(x0, x1) 129.45/38.16 U2_gga(x0) 129.45/38.16 U1_gga(x0) 129.45/38.16 129.45/38.16 We have to consider all (P,Q,R)-chains. 129.45/38.16 ---------------------------------------- 129.45/38.16 129.45/38.16 (111) TransformationProof (EQUIVALENT) 129.45/38.16 By rewriting [LPAR04] the rule DIV_IN_GGA(s(z0), s(0)) -> U3_GGA(s(z0), 0, U1_gga(le_out_gga(true))) at position [2] we obtained the following new rules [LPAR04]: 129.45/38.16 129.45/38.16 (DIV_IN_GGA(s(z0), s(0)) -> U3_GGA(s(z0), 0, le_out_gga(true)),DIV_IN_GGA(s(z0), s(0)) -> U3_GGA(s(z0), 0, le_out_gga(true))) 129.45/38.16 129.45/38.16 129.45/38.16 ---------------------------------------- 129.45/38.16 129.45/38.16 (112) 129.45/38.16 Obligation: 129.45/38.16 Q DP problem: 129.45/38.16 The TRS P consists of the following rules: 129.45/38.16 129.45/38.16 U3_GGA(s(z0), z1, le_out_gga(x2)) -> IF_IN_GGGA(x2, s(z0), s(z1)) 129.45/38.16 IF_IN_GGGA(true, s(x0), s(s(x1))) -> U5_GGGA(s(x1), U2_gga(minus_in_gga(x0, x1))) 129.45/38.16 IF_IN_GGGA(true, s(z0), s(0)) -> U5_GGGA(0, minus_out_gga(s(z0))) 129.45/38.16 U5_GGGA(s(z1), minus_out_gga(x1)) -> DIV_IN_GGA(x1, s(s(z1))) 129.45/38.16 U5_GGGA(0, minus_out_gga(s(z0))) -> DIV_IN_GGA(s(z0), s(0)) 129.45/38.16 DIV_IN_GGA(s(x0), s(s(z0))) -> U3_GGA(s(x0), s(z0), U1_gga(le_in_gga(s(z0), x0))) 129.45/38.16 DIV_IN_GGA(s(z0), s(0)) -> U3_GGA(s(z0), 0, le_out_gga(true)) 129.45/38.16 129.45/38.16 The TRS R consists of the following rules: 129.45/38.16 129.45/38.16 minus_in_gga(X, 0) -> minus_out_gga(X) 129.45/38.16 minus_in_gga(s(X), s(Y)) -> U2_gga(minus_in_gga(X, Y)) 129.45/38.16 le_in_gga(s(X), 0) -> le_out_gga(false) 129.45/38.16 le_in_gga(s(X), s(Y)) -> U1_gga(le_in_gga(X, Y)) 129.45/38.16 U2_gga(minus_out_gga(Z)) -> minus_out_gga(Z) 129.45/38.16 U1_gga(le_out_gga(B)) -> le_out_gga(B) 129.45/38.16 le_in_gga(0, Y) -> le_out_gga(true) 129.45/38.16 129.45/38.16 The set Q consists of the following terms: 129.45/38.16 129.45/38.16 minus_in_gga(x0, x1) 129.45/38.16 le_in_gga(x0, x1) 129.45/38.16 U2_gga(x0) 129.45/38.16 U1_gga(x0) 129.45/38.16 129.45/38.16 We have to consider all (P,Q,R)-chains. 129.45/38.16 ---------------------------------------- 129.45/38.16 129.45/38.16 (113) TransformationProof (EQUIVALENT) 129.45/38.16 By instantiating [LPAR04] the rule U3_GGA(s(z0), z1, le_out_gga(x2)) -> IF_IN_GGGA(x2, s(z0), s(z1)) we obtained the following new rules [LPAR04]: 129.45/38.16 129.45/38.16 (U3_GGA(s(z0), s(z1), le_out_gga(x2)) -> IF_IN_GGGA(x2, s(z0), s(s(z1))),U3_GGA(s(z0), s(z1), le_out_gga(x2)) -> IF_IN_GGGA(x2, s(z0), s(s(z1)))) 129.45/38.16 (U3_GGA(s(z0), 0, le_out_gga(true)) -> IF_IN_GGGA(true, s(z0), s(0)),U3_GGA(s(z0), 0, le_out_gga(true)) -> IF_IN_GGGA(true, s(z0), s(0))) 129.45/38.16 129.45/38.16 129.45/38.16 ---------------------------------------- 129.45/38.16 129.45/38.16 (114) 129.45/38.16 Obligation: 129.45/38.16 Q DP problem: 129.45/38.16 The TRS P consists of the following rules: 129.45/38.16 129.45/38.16 IF_IN_GGGA(true, s(x0), s(s(x1))) -> U5_GGGA(s(x1), U2_gga(minus_in_gga(x0, x1))) 129.45/38.16 IF_IN_GGGA(true, s(z0), s(0)) -> U5_GGGA(0, minus_out_gga(s(z0))) 129.45/38.16 U5_GGGA(s(z1), minus_out_gga(x1)) -> DIV_IN_GGA(x1, s(s(z1))) 129.45/38.16 U5_GGGA(0, minus_out_gga(s(z0))) -> DIV_IN_GGA(s(z0), s(0)) 129.45/38.16 DIV_IN_GGA(s(x0), s(s(z0))) -> U3_GGA(s(x0), s(z0), U1_gga(le_in_gga(s(z0), x0))) 129.45/38.16 DIV_IN_GGA(s(z0), s(0)) -> U3_GGA(s(z0), 0, le_out_gga(true)) 129.45/38.16 U3_GGA(s(z0), s(z1), le_out_gga(x2)) -> IF_IN_GGGA(x2, s(z0), s(s(z1))) 129.45/38.16 U3_GGA(s(z0), 0, le_out_gga(true)) -> IF_IN_GGGA(true, s(z0), s(0)) 129.45/38.16 129.45/38.16 The TRS R consists of the following rules: 129.45/38.16 129.45/38.16 minus_in_gga(X, 0) -> minus_out_gga(X) 129.45/38.16 minus_in_gga(s(X), s(Y)) -> U2_gga(minus_in_gga(X, Y)) 129.45/38.16 le_in_gga(s(X), 0) -> le_out_gga(false) 129.45/38.16 le_in_gga(s(X), s(Y)) -> U1_gga(le_in_gga(X, Y)) 129.45/38.16 U2_gga(minus_out_gga(Z)) -> minus_out_gga(Z) 129.45/38.16 U1_gga(le_out_gga(B)) -> le_out_gga(B) 129.45/38.16 le_in_gga(0, Y) -> le_out_gga(true) 129.45/38.16 129.45/38.16 The set Q consists of the following terms: 129.45/38.16 129.45/38.16 minus_in_gga(x0, x1) 129.45/38.16 le_in_gga(x0, x1) 129.45/38.16 U2_gga(x0) 129.45/38.16 U1_gga(x0) 129.45/38.16 129.45/38.16 We have to consider all (P,Q,R)-chains. 129.45/38.16 ---------------------------------------- 129.45/38.16 129.45/38.16 (115) DependencyGraphProof (EQUIVALENT) 129.45/38.16 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs. 129.45/38.16 ---------------------------------------- 129.45/38.16 129.45/38.16 (116) 129.45/38.16 Complex Obligation (AND) 129.45/38.16 129.45/38.16 ---------------------------------------- 129.45/38.16 129.45/38.16 (117) 129.45/38.16 Obligation: 129.45/38.16 Q DP problem: 129.45/38.16 The TRS P consists of the following rules: 129.45/38.16 129.45/38.16 U5_GGGA(0, minus_out_gga(s(z0))) -> DIV_IN_GGA(s(z0), s(0)) 129.45/38.16 DIV_IN_GGA(s(z0), s(0)) -> U3_GGA(s(z0), 0, le_out_gga(true)) 129.45/38.16 U3_GGA(s(z0), 0, le_out_gga(true)) -> IF_IN_GGGA(true, s(z0), s(0)) 129.45/38.16 IF_IN_GGGA(true, s(z0), s(0)) -> U5_GGGA(0, minus_out_gga(s(z0))) 129.45/38.16 129.45/38.16 The TRS R consists of the following rules: 129.45/38.16 129.45/38.16 minus_in_gga(X, 0) -> minus_out_gga(X) 129.45/38.16 minus_in_gga(s(X), s(Y)) -> U2_gga(minus_in_gga(X, Y)) 129.45/38.16 le_in_gga(s(X), 0) -> le_out_gga(false) 129.45/38.16 le_in_gga(s(X), s(Y)) -> U1_gga(le_in_gga(X, Y)) 129.45/38.16 U2_gga(minus_out_gga(Z)) -> minus_out_gga(Z) 129.45/38.16 U1_gga(le_out_gga(B)) -> le_out_gga(B) 129.45/38.16 le_in_gga(0, Y) -> le_out_gga(true) 129.45/38.16 129.45/38.16 The set Q consists of the following terms: 129.45/38.16 129.45/38.16 minus_in_gga(x0, x1) 129.45/38.16 le_in_gga(x0, x1) 129.45/38.16 U2_gga(x0) 129.45/38.16 U1_gga(x0) 129.45/38.16 129.45/38.16 We have to consider all (P,Q,R)-chains. 129.45/38.16 ---------------------------------------- 129.45/38.16 129.45/38.16 (118) UsableRulesProof (EQUIVALENT) 129.45/38.16 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 129.45/38.16 ---------------------------------------- 129.45/38.16 129.45/38.16 (119) 129.45/38.16 Obligation: 129.45/38.16 Q DP problem: 129.45/38.16 The TRS P consists of the following rules: 129.45/38.16 129.45/38.16 U5_GGGA(0, minus_out_gga(s(z0))) -> DIV_IN_GGA(s(z0), s(0)) 129.45/38.16 DIV_IN_GGA(s(z0), s(0)) -> U3_GGA(s(z0), 0, le_out_gga(true)) 129.45/38.16 U3_GGA(s(z0), 0, le_out_gga(true)) -> IF_IN_GGGA(true, s(z0), s(0)) 129.45/38.16 IF_IN_GGGA(true, s(z0), s(0)) -> U5_GGGA(0, minus_out_gga(s(z0))) 129.45/38.16 129.45/38.16 R is empty. 129.45/38.16 The set Q consists of the following terms: 129.45/38.16 129.45/38.16 minus_in_gga(x0, x1) 129.45/38.16 le_in_gga(x0, x1) 129.45/38.16 U2_gga(x0) 129.45/38.16 U1_gga(x0) 129.45/38.16 129.45/38.16 We have to consider all (P,Q,R)-chains. 129.45/38.16 ---------------------------------------- 129.45/38.16 129.45/38.16 (120) QReductionProof (EQUIVALENT) 129.45/38.16 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 129.45/38.16 129.45/38.16 minus_in_gga(x0, x1) 129.45/38.16 le_in_gga(x0, x1) 129.45/38.16 U2_gga(x0) 129.45/38.16 U1_gga(x0) 129.45/38.16 129.45/38.16 129.45/38.16 ---------------------------------------- 129.45/38.16 129.45/38.16 (121) 129.45/38.16 Obligation: 129.45/38.16 Q DP problem: 129.45/38.16 The TRS P consists of the following rules: 129.45/38.16 129.45/38.16 U5_GGGA(0, minus_out_gga(s(z0))) -> DIV_IN_GGA(s(z0), s(0)) 129.45/38.16 DIV_IN_GGA(s(z0), s(0)) -> U3_GGA(s(z0), 0, le_out_gga(true)) 129.45/38.16 U3_GGA(s(z0), 0, le_out_gga(true)) -> IF_IN_GGGA(true, s(z0), s(0)) 129.45/38.16 IF_IN_GGGA(true, s(z0), s(0)) -> U5_GGGA(0, minus_out_gga(s(z0))) 129.45/38.16 129.45/38.16 R is empty. 129.45/38.16 Q is empty. 129.45/38.16 We have to consider all (P,Q,R)-chains. 129.45/38.16 ---------------------------------------- 129.45/38.16 129.45/38.16 (122) NonTerminationLoopProof (COMPLETE) 129.45/38.16 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 129.45/38.16 Found a loop by narrowing to the left: 129.45/38.16 129.45/38.16 s = DIV_IN_GGA(s(z0'), s(0)) evaluates to t =DIV_IN_GGA(s(z0'), s(0)) 129.45/38.16 129.45/38.16 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 129.45/38.16 * Matcher: [ ] 129.45/38.16 * Semiunifier: [ ] 129.45/38.16 129.45/38.16 -------------------------------------------------------------------------------- 129.45/38.16 Rewriting sequence 129.45/38.16 129.45/38.16 DIV_IN_GGA(s(z0'), s(0)) -> U3_GGA(s(z0'), 0, le_out_gga(true)) 129.45/38.16 with rule DIV_IN_GGA(s(z0''), s(0)) -> U3_GGA(s(z0''), 0, le_out_gga(true)) at position [] and matcher [z0'' / z0'] 129.45/38.16 129.45/38.16 U3_GGA(s(z0'), 0, le_out_gga(true)) -> IF_IN_GGGA(true, s(z0'), s(0)) 129.45/38.16 with rule U3_GGA(s(z0), 0, le_out_gga(true)) -> IF_IN_GGGA(true, s(z0), s(0)) at position [] and matcher [z0 / z0'] 129.45/38.16 129.45/38.16 IF_IN_GGGA(true, s(z0'), s(0)) -> U5_GGGA(0, minus_out_gga(s(z0'))) 129.45/38.16 with rule IF_IN_GGGA(true, s(z0''), s(0)) -> U5_GGGA(0, minus_out_gga(s(z0''))) at position [] and matcher [z0'' / z0'] 129.45/38.16 129.45/38.16 U5_GGGA(0, minus_out_gga(s(z0'))) -> DIV_IN_GGA(s(z0'), s(0)) 129.45/38.16 with rule U5_GGGA(0, minus_out_gga(s(z0))) -> DIV_IN_GGA(s(z0), s(0)) 129.45/38.16 129.45/38.16 Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence 129.45/38.16 129.45/38.16 129.45/38.16 All these steps are and every following step will be a correct step w.r.t to Q. 129.45/38.16 129.45/38.16 129.45/38.16 129.45/38.16 129.45/38.16 ---------------------------------------- 129.45/38.16 129.45/38.16 (123) 129.45/38.16 NO 129.45/38.16 129.45/38.16 ---------------------------------------- 129.45/38.16 129.45/38.16 (124) 129.45/38.16 Obligation: 129.45/38.16 Q DP problem: 129.45/38.16 The TRS P consists of the following rules: 129.45/38.16 129.45/38.16 U5_GGGA(s(z1), minus_out_gga(x1)) -> DIV_IN_GGA(x1, s(s(z1))) 129.45/38.16 DIV_IN_GGA(s(x0), s(s(z0))) -> U3_GGA(s(x0), s(z0), U1_gga(le_in_gga(s(z0), x0))) 129.45/38.16 U3_GGA(s(z0), s(z1), le_out_gga(x2)) -> IF_IN_GGGA(x2, s(z0), s(s(z1))) 129.45/38.16 IF_IN_GGGA(true, s(x0), s(s(x1))) -> U5_GGGA(s(x1), U2_gga(minus_in_gga(x0, x1))) 129.45/38.16 129.45/38.16 The TRS R consists of the following rules: 129.45/38.16 129.45/38.16 minus_in_gga(X, 0) -> minus_out_gga(X) 129.45/38.16 minus_in_gga(s(X), s(Y)) -> U2_gga(minus_in_gga(X, Y)) 129.45/38.16 le_in_gga(s(X), 0) -> le_out_gga(false) 129.45/38.16 le_in_gga(s(X), s(Y)) -> U1_gga(le_in_gga(X, Y)) 129.45/38.16 U2_gga(minus_out_gga(Z)) -> minus_out_gga(Z) 129.45/38.16 U1_gga(le_out_gga(B)) -> le_out_gga(B) 129.45/38.16 le_in_gga(0, Y) -> le_out_gga(true) 129.45/38.16 129.45/38.16 The set Q consists of the following terms: 129.45/38.16 129.45/38.16 minus_in_gga(x0, x1) 129.45/38.16 le_in_gga(x0, x1) 129.45/38.16 U2_gga(x0) 129.45/38.16 U1_gga(x0) 129.45/38.16 129.45/38.16 We have to consider all (P,Q,R)-chains. 129.45/38.16 ---------------------------------------- 129.45/38.16 129.45/38.16 (125) TransformationProof (EQUIVALENT) 129.45/38.16 By forward instantiating [JAR06] the rule U5_GGGA(s(z1), minus_out_gga(x1)) -> DIV_IN_GGA(x1, s(s(z1))) we obtained the following new rules [LPAR04]: 129.45/38.16 129.45/38.16 (U5_GGGA(s(x0), minus_out_gga(s(y_0))) -> DIV_IN_GGA(s(y_0), s(s(x0))),U5_GGGA(s(x0), minus_out_gga(s(y_0))) -> DIV_IN_GGA(s(y_0), s(s(x0)))) 129.45/38.16 129.45/38.16 129.45/38.16 ---------------------------------------- 129.45/38.16 129.45/38.16 (126) 129.45/38.16 Obligation: 129.45/38.16 Q DP problem: 129.45/38.16 The TRS P consists of the following rules: 129.45/38.16 129.45/38.16 DIV_IN_GGA(s(x0), s(s(z0))) -> U3_GGA(s(x0), s(z0), U1_gga(le_in_gga(s(z0), x0))) 129.45/38.16 U3_GGA(s(z0), s(z1), le_out_gga(x2)) -> IF_IN_GGGA(x2, s(z0), s(s(z1))) 129.45/38.16 IF_IN_GGGA(true, s(x0), s(s(x1))) -> U5_GGGA(s(x1), U2_gga(minus_in_gga(x0, x1))) 129.45/38.16 U5_GGGA(s(x0), minus_out_gga(s(y_0))) -> DIV_IN_GGA(s(y_0), s(s(x0))) 129.45/38.16 129.45/38.16 The TRS R consists of the following rules: 129.45/38.16 129.45/38.16 minus_in_gga(X, 0) -> minus_out_gga(X) 129.45/38.16 minus_in_gga(s(X), s(Y)) -> U2_gga(minus_in_gga(X, Y)) 129.45/38.16 le_in_gga(s(X), 0) -> le_out_gga(false) 129.45/38.16 le_in_gga(s(X), s(Y)) -> U1_gga(le_in_gga(X, Y)) 129.45/38.16 U2_gga(minus_out_gga(Z)) -> minus_out_gga(Z) 129.45/38.16 U1_gga(le_out_gga(B)) -> le_out_gga(B) 129.45/38.16 le_in_gga(0, Y) -> le_out_gga(true) 129.45/38.16 129.45/38.16 The set Q consists of the following terms: 129.45/38.16 129.45/38.16 minus_in_gga(x0, x1) 129.45/38.16 le_in_gga(x0, x1) 129.45/38.16 U2_gga(x0) 129.45/38.16 U1_gga(x0) 129.45/38.16 129.45/38.16 We have to consider all (P,Q,R)-chains. 129.45/38.16 ---------------------------------------- 129.45/38.16 129.45/38.16 (127) TransformationProof (EQUIVALENT) 129.45/38.16 By forward instantiating [JAR06] the rule U3_GGA(s(z0), s(z1), le_out_gga(x2)) -> IF_IN_GGGA(x2, s(z0), s(s(z1))) we obtained the following new rules [LPAR04]: 129.45/38.16 129.45/38.16 (U3_GGA(s(x0), s(x1), le_out_gga(true)) -> IF_IN_GGGA(true, s(x0), s(s(x1))),U3_GGA(s(x0), s(x1), le_out_gga(true)) -> IF_IN_GGGA(true, s(x0), s(s(x1)))) 129.45/38.16 129.45/38.16 129.45/38.16 ---------------------------------------- 129.45/38.16 129.45/38.16 (128) 129.45/38.16 Obligation: 129.45/38.16 Q DP problem: 129.45/38.16 The TRS P consists of the following rules: 129.45/38.16 129.45/38.16 DIV_IN_GGA(s(x0), s(s(z0))) -> U3_GGA(s(x0), s(z0), U1_gga(le_in_gga(s(z0), x0))) 129.45/38.16 IF_IN_GGGA(true, s(x0), s(s(x1))) -> U5_GGGA(s(x1), U2_gga(minus_in_gga(x0, x1))) 129.45/38.16 U5_GGGA(s(x0), minus_out_gga(s(y_0))) -> DIV_IN_GGA(s(y_0), s(s(x0))) 129.45/38.16 U3_GGA(s(x0), s(x1), le_out_gga(true)) -> IF_IN_GGGA(true, s(x0), s(s(x1))) 129.45/38.16 129.45/38.16 The TRS R consists of the following rules: 129.45/38.16 129.45/38.16 minus_in_gga(X, 0) -> minus_out_gga(X) 129.45/38.16 minus_in_gga(s(X), s(Y)) -> U2_gga(minus_in_gga(X, Y)) 129.45/38.16 le_in_gga(s(X), 0) -> le_out_gga(false) 129.45/38.16 le_in_gga(s(X), s(Y)) -> U1_gga(le_in_gga(X, Y)) 129.45/38.16 U2_gga(minus_out_gga(Z)) -> minus_out_gga(Z) 129.45/38.16 U1_gga(le_out_gga(B)) -> le_out_gga(B) 129.45/38.16 le_in_gga(0, Y) -> le_out_gga(true) 129.45/38.16 129.45/38.16 The set Q consists of the following terms: 129.45/38.16 129.45/38.16 minus_in_gga(x0, x1) 129.45/38.16 le_in_gga(x0, x1) 129.45/38.16 U2_gga(x0) 129.45/38.16 U1_gga(x0) 129.45/38.16 129.45/38.16 We have to consider all (P,Q,R)-chains. 129.45/38.16 ---------------------------------------- 129.45/38.16 129.45/38.16 (129) QDPOrderProof (EQUIVALENT) 129.45/38.16 We use the reduction pair processor [LPAR04,JAR06]. 129.45/38.16 129.45/38.16 129.45/38.16 The following pairs can be oriented strictly and are deleted. 129.45/38.16 129.45/38.16 U3_GGA(s(x0), s(x1), le_out_gga(true)) -> IF_IN_GGGA(true, s(x0), s(s(x1))) 129.45/38.16 The remaining pairs can at least be oriented weakly. 129.45/38.16 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 129.45/38.16 129.45/38.16 POL( U1_gga_1(x_1) ) = max{0, -2} 129.45/38.16 POL( U3_GGA_3(x_1, ..., x_3) ) = x_1 + 1 129.45/38.16 POL( le_in_gga_2(x_1, x_2) ) = max{0, 2x_2 - 2} 129.45/38.16 POL( s_1(x_1) ) = 2x_1 + 1 129.45/38.16 POL( 0 ) = 1 129.45/38.16 POL( le_out_gga_1(x_1) ) = 2 129.45/38.16 POL( false ) = 2 129.45/38.16 POL( U2_gga_1(x_1) ) = 2x_1 129.45/38.16 POL( U5_GGGA_2(x_1, x_2) ) = x_2 + 1 129.45/38.16 POL( minus_in_gga_2(x_1, x_2) ) = x_1 129.45/38.16 POL( minus_out_gga_1(x_1) ) = x_1 129.45/38.16 POL( true ) = 1 129.45/38.16 POL( DIV_IN_GGA_2(x_1, x_2) ) = x_1 + 1 129.45/38.16 POL( IF_IN_GGGA_3(x_1, ..., x_3) ) = max{0, 2x_1 + x_2 - 2} 129.45/38.16 129.45/38.16 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 129.45/38.16 129.45/38.16 minus_in_gga(X, 0) -> minus_out_gga(X) 129.45/38.16 minus_in_gga(s(X), s(Y)) -> U2_gga(minus_in_gga(X, Y)) 129.45/38.16 U2_gga(minus_out_gga(Z)) -> minus_out_gga(Z) 129.45/38.16 129.45/38.16 129.45/38.16 ---------------------------------------- 129.45/38.16 129.45/38.16 (130) 129.45/38.16 Obligation: 129.45/38.16 Q DP problem: 129.45/38.16 The TRS P consists of the following rules: 129.45/38.16 129.45/38.16 DIV_IN_GGA(s(x0), s(s(z0))) -> U3_GGA(s(x0), s(z0), U1_gga(le_in_gga(s(z0), x0))) 129.45/38.16 IF_IN_GGGA(true, s(x0), s(s(x1))) -> U5_GGGA(s(x1), U2_gga(minus_in_gga(x0, x1))) 129.45/38.16 U5_GGGA(s(x0), minus_out_gga(s(y_0))) -> DIV_IN_GGA(s(y_0), s(s(x0))) 129.45/38.16 129.45/38.16 The TRS R consists of the following rules: 129.45/38.16 129.45/38.16 minus_in_gga(X, 0) -> minus_out_gga(X) 129.45/38.16 minus_in_gga(s(X), s(Y)) -> U2_gga(minus_in_gga(X, Y)) 129.45/38.16 le_in_gga(s(X), 0) -> le_out_gga(false) 129.45/38.16 le_in_gga(s(X), s(Y)) -> U1_gga(le_in_gga(X, Y)) 129.45/38.16 U2_gga(minus_out_gga(Z)) -> minus_out_gga(Z) 129.45/38.16 U1_gga(le_out_gga(B)) -> le_out_gga(B) 129.45/38.16 le_in_gga(0, Y) -> le_out_gga(true) 129.45/38.16 129.45/38.16 The set Q consists of the following terms: 129.45/38.16 129.45/38.16 minus_in_gga(x0, x1) 129.45/38.16 le_in_gga(x0, x1) 129.45/38.16 U2_gga(x0) 129.45/38.16 U1_gga(x0) 129.45/38.16 129.45/38.16 We have to consider all (P,Q,R)-chains. 129.45/38.16 ---------------------------------------- 129.45/38.16 129.45/38.16 (131) DependencyGraphProof (EQUIVALENT) 129.45/38.16 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. 129.45/38.16 ---------------------------------------- 129.45/38.16 129.45/38.16 (132) 129.45/38.16 TRUE 129.45/38.16 129.45/38.16 ---------------------------------------- 129.45/38.16 129.45/38.16 (133) PrologToTRSTransformerProof (SOUND) 129.45/38.16 Transformed Prolog program to TRS. 129.45/38.16 129.45/38.16 { 129.45/38.16 "root": 6, 129.45/38.16 "program": { 129.45/38.16 "directives": [], 129.45/38.16 "clauses": [ 129.45/38.16 [ 129.45/38.16 "(le (0) Y (true))", 129.45/38.16 null 129.45/38.16 ], 129.45/38.16 [ 129.45/38.16 "(le (s X) (0) (false))", 129.45/38.16 null 129.45/38.16 ], 129.45/38.16 [ 129.45/38.16 "(le (s X) (s Y) B)", 129.45/38.16 "(le X Y B)" 129.45/38.16 ], 129.45/38.16 [ 129.45/38.16 "(minus X (0) X)", 129.45/38.16 null 129.45/38.16 ], 129.45/38.16 [ 129.45/38.16 "(minus (s X) (s Y) Z)", 129.45/38.16 "(minus X Y Z)" 129.45/38.16 ], 129.45/38.16 [ 129.45/38.16 "(div X (s Y) Z)", 129.45/38.16 "(',' (le (s Y) X B) (if B X (s Y) Z))" 129.45/38.16 ], 129.45/38.16 [ 129.45/38.16 "(if (false) X (s Y) (0))", 129.45/38.16 null 129.45/38.16 ], 129.45/38.16 [ 129.45/38.16 "(if (true) X (s Y) (s Z))", 129.45/38.16 "(',' (minus X Y U) (div U (s Y) Z))" 129.45/38.16 ] 129.45/38.16 ] 129.45/38.16 }, 129.45/38.16 "graph": { 129.45/38.16 "nodes": { 129.45/38.16 "291": { 129.45/38.16 "goal": [ 129.45/38.16 { 129.45/38.16 "clause": 0, 129.45/38.16 "scope": 3, 129.45/38.16 "term": "(le T24 T25 X33)" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "clause": 1, 129.45/38.16 "scope": 3, 129.45/38.16 "term": "(le T24 T25 X33)" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "clause": 2, 129.45/38.16 "scope": 3, 129.45/38.16 "term": "(le T24 T25 X33)" 129.45/38.16 } 129.45/38.16 ], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [ 129.45/38.16 "T24", 129.45/38.16 "T25" 129.45/38.16 ], 129.45/38.16 "free": ["X33"], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "391": { 129.45/38.16 "goal": [{ 129.45/38.16 "clause": -1, 129.45/38.16 "scope": -1, 129.45/38.16 "term": "(le T42 T43 X57)" 129.45/38.16 }], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [ 129.45/38.16 "T42", 129.45/38.16 "T43" 129.45/38.16 ], 129.45/38.16 "free": ["X57"], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "type": "Nodes", 129.45/38.16 "392": { 129.45/38.16 "goal": [], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [], 129.45/38.16 "free": [], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "251": { 129.45/38.16 "goal": [], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [], 129.45/38.16 "free": [], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "395": { 129.45/38.16 "goal": [ 129.45/38.16 { 129.45/38.16 "clause": 6, 129.45/38.16 "scope": 4, 129.45/38.16 "term": "(if T14 T10 (s T11) T13)" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "clause": 7, 129.45/38.16 "scope": 4, 129.45/38.16 "term": "(if T14 T10 (s T11) T13)" 129.45/38.16 } 129.45/38.16 ], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [ 129.45/38.16 "T10", 129.45/38.16 "T11", 129.45/38.16 "T14" 129.45/38.16 ], 129.45/38.16 "free": [], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "396": { 129.45/38.16 "goal": [{ 129.45/38.16 "clause": 6, 129.45/38.16 "scope": 4, 129.45/38.16 "term": "(if T14 T10 (s T11) T13)" 129.45/38.16 }], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [ 129.45/38.16 "T10", 129.45/38.16 "T11", 129.45/38.16 "T14" 129.45/38.16 ], 129.45/38.16 "free": [], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "397": { 129.45/38.16 "goal": [{ 129.45/38.16 "clause": 7, 129.45/38.16 "scope": 4, 129.45/38.16 "term": "(if T14 T10 (s T11) T13)" 129.45/38.16 }], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [ 129.45/38.16 "T10", 129.45/38.16 "T11", 129.45/38.16 "T14" 129.45/38.16 ], 129.45/38.16 "free": [], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "299": { 129.45/38.16 "goal": [{ 129.45/38.16 "clause": 0, 129.45/38.16 "scope": 3, 129.45/38.16 "term": "(le T24 T25 X33)" 129.45/38.16 }], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [ 129.45/38.16 "T24", 129.45/38.16 "T25" 129.45/38.16 ], 129.45/38.16 "free": ["X33"], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "310": { 129.45/38.16 "goal": [], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [], 129.45/38.16 "free": [], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "398": { 129.45/38.16 "goal": [{ 129.45/38.16 "clause": -1, 129.45/38.16 "scope": -1, 129.45/38.16 "term": "(true)" 129.45/38.16 }], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [], 129.45/38.16 "free": [], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "179": { 129.45/38.16 "goal": [ 129.45/38.16 { 129.45/38.16 "clause": 0, 129.45/38.16 "scope": 2, 129.45/38.16 "term": "(le (s T11) T10 X11)" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "clause": 1, 129.45/38.16 "scope": 2, 129.45/38.16 "term": "(le (s T11) T10 X11)" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "clause": 2, 129.45/38.16 "scope": 2, 129.45/38.16 "term": "(le (s T11) T10 X11)" 129.45/38.16 } 129.45/38.16 ], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [ 129.45/38.16 "T10", 129.45/38.16 "T11" 129.45/38.16 ], 129.45/38.16 "free": ["X11"], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "399": { 129.45/38.16 "goal": [], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [], 129.45/38.16 "free": [], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "410": { 129.45/38.16 "goal": [], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [], 129.45/38.16 "free": [], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "312": { 129.45/38.16 "goal": [], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [], 129.45/38.16 "free": [], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "411": { 129.45/38.16 "goal": [{ 129.45/38.16 "clause": -1, 129.45/38.16 "scope": -1, 129.45/38.16 "term": "(minus T84 T85 X105)" 129.45/38.16 }], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [ 129.45/38.16 "T84", 129.45/38.16 "T85" 129.45/38.16 ], 129.45/38.16 "free": ["X105"], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "412": { 129.45/38.16 "goal": [], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [], 129.45/38.16 "free": [], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "316": { 129.45/38.16 "goal": [{ 129.45/38.16 "clause": 1, 129.45/38.16 "scope": 3, 129.45/38.16 "term": "(le T24 T25 X33)" 129.45/38.16 }], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [ 129.45/38.16 "T24", 129.45/38.16 "T25" 129.45/38.16 ], 129.45/38.16 "free": ["X33"], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "338": { 129.45/38.16 "goal": [{ 129.45/38.16 "clause": -1, 129.45/38.16 "scope": -1, 129.45/38.16 "term": "(true)" 129.45/38.16 }], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [], 129.45/38.16 "free": [], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "317": { 129.45/38.16 "goal": [{ 129.45/38.16 "clause": 2, 129.45/38.16 "scope": 3, 129.45/38.16 "term": "(le T24 T25 X33)" 129.45/38.16 }], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [ 129.45/38.16 "T24", 129.45/38.16 "T25" 129.45/38.16 ], 129.45/38.16 "free": ["X33"], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "37": { 129.45/38.16 "goal": [{ 129.45/38.16 "clause": -1, 129.45/38.16 "scope": -1, 129.45/38.16 "term": "(',' (le (s T11) T10 X11) (if X11 T10 (s T11) T13))" 129.45/38.16 }], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [ 129.45/38.16 "T10", 129.45/38.16 "T11" 129.45/38.16 ], 129.45/38.16 "free": ["X11"], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "39": { 129.45/38.16 "goal": [], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [], 129.45/38.16 "free": [], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "18": { 129.45/38.16 "goal": [{ 129.45/38.16 "clause": 5, 129.45/38.16 "scope": 1, 129.45/38.16 "term": "(div T1 T2 T3)" 129.45/38.16 }], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [ 129.45/38.16 "T1", 129.45/38.16 "T2" 129.45/38.16 ], 129.45/38.16 "free": [], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "180": { 129.45/38.16 "goal": [ 129.45/38.16 { 129.45/38.16 "clause": 1, 129.45/38.16 "scope": 2, 129.45/38.16 "term": "(le (s T11) T10 X11)" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "clause": 2, 129.45/38.16 "scope": 2, 129.45/38.16 "term": "(le (s T11) T10 X11)" 129.45/38.16 } 129.45/38.16 ], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [ 129.45/38.16 "T10", 129.45/38.16 "T11" 129.45/38.16 ], 129.45/38.16 "free": ["X11"], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "185": { 129.45/38.16 "goal": [{ 129.45/38.16 "clause": 1, 129.45/38.16 "scope": 2, 129.45/38.16 "term": "(le (s T11) T10 X11)" 129.45/38.16 }], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [ 129.45/38.16 "T10", 129.45/38.16 "T11" 129.45/38.16 ], 129.45/38.16 "free": ["X11"], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "186": { 129.45/38.16 "goal": [{ 129.45/38.16 "clause": 2, 129.45/38.16 "scope": 2, 129.45/38.16 "term": "(le (s T11) T10 X11)" 129.45/38.16 }], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [ 129.45/38.16 "T10", 129.45/38.16 "T11" 129.45/38.16 ], 129.45/38.16 "free": ["X11"], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "165": { 129.45/38.16 "goal": [{ 129.45/38.16 "clause": -1, 129.45/38.16 "scope": -1, 129.45/38.16 "term": "(le (s T11) T10 X11)" 129.45/38.16 }], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [ 129.45/38.16 "T10", 129.45/38.16 "T11" 129.45/38.16 ], 129.45/38.16 "free": ["X11"], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "187": { 129.45/38.16 "goal": [{ 129.45/38.16 "clause": -1, 129.45/38.16 "scope": -1, 129.45/38.16 "term": "(true)" 129.45/38.16 }], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [], 129.45/38.16 "free": [], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "341": { 129.45/38.16 "goal": [], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [], 129.45/38.16 "free": [], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "188": { 129.45/38.16 "goal": [], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [], 129.45/38.16 "free": [], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "342": { 129.45/38.16 "goal": [], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [], 129.45/38.16 "free": [], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "167": { 129.45/38.16 "goal": [{ 129.45/38.16 "clause": -1, 129.45/38.16 "scope": -1, 129.45/38.16 "term": "(if T14 T10 (s T11) T13)" 129.45/38.16 }], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [ 129.45/38.16 "T10", 129.45/38.16 "T11", 129.45/38.16 "T14" 129.45/38.16 ], 129.45/38.16 "free": [], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "189": { 129.45/38.16 "goal": [], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [], 129.45/38.16 "free": [], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "244": { 129.45/38.16 "goal": [{ 129.45/38.16 "clause": -1, 129.45/38.16 "scope": -1, 129.45/38.16 "term": "(le T24 T25 X33)" 129.45/38.16 }], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [ 129.45/38.16 "T24", 129.45/38.16 "T25" 129.45/38.16 ], 129.45/38.16 "free": ["X33"], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "301": { 129.45/38.16 "goal": [ 129.45/38.16 { 129.45/38.16 "clause": 1, 129.45/38.16 "scope": 3, 129.45/38.16 "term": "(le T24 T25 X33)" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "clause": 2, 129.45/38.16 "scope": 3, 129.45/38.16 "term": "(le T24 T25 X33)" 129.45/38.16 } 129.45/38.16 ], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [ 129.45/38.16 "T24", 129.45/38.16 "T25" 129.45/38.16 ], 129.45/38.16 "free": ["X33"], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "400": { 129.45/38.16 "goal": [], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [], 129.45/38.16 "free": [], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "401": { 129.45/38.16 "goal": [{ 129.45/38.16 "clause": -1, 129.45/38.16 "scope": -1, 129.45/38.16 "term": "(',' (minus T66 T67 X84) (div X84 (s T67) T69))" 129.45/38.16 }], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [ 129.45/38.16 "T66", 129.45/38.16 "T67" 129.45/38.16 ], 129.45/38.16 "free": ["X84"], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "6": { 129.45/38.16 "goal": [{ 129.45/38.16 "clause": -1, 129.45/38.16 "scope": -1, 129.45/38.16 "term": "(div T1 T2 T3)" 129.45/38.16 }], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [ 129.45/38.16 "T1", 129.45/38.16 "T2" 129.45/38.16 ], 129.45/38.16 "free": [], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "402": { 129.45/38.16 "goal": [], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [], 129.45/38.16 "free": [], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "403": { 129.45/38.16 "goal": [{ 129.45/38.16 "clause": -1, 129.45/38.16 "scope": -1, 129.45/38.16 "term": "(minus T66 T67 X84)" 129.45/38.16 }], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [ 129.45/38.16 "T66", 129.45/38.16 "T67" 129.45/38.16 ], 129.45/38.16 "free": ["X84"], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "404": { 129.45/38.16 "goal": [{ 129.45/38.16 "clause": -1, 129.45/38.16 "scope": -1, 129.45/38.16 "term": "(div T72 (s T67) T69)" 129.45/38.16 }], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [ 129.45/38.16 "T67", 129.45/38.16 "T72" 129.45/38.16 ], 129.45/38.16 "free": [], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "405": { 129.45/38.16 "goal": [ 129.45/38.16 { 129.45/38.16 "clause": 3, 129.45/38.16 "scope": 5, 129.45/38.16 "term": "(minus T66 T67 X84)" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "clause": 4, 129.45/38.16 "scope": 5, 129.45/38.16 "term": "(minus T66 T67 X84)" 129.45/38.16 } 129.45/38.16 ], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [ 129.45/38.16 "T66", 129.45/38.16 "T67" 129.45/38.16 ], 129.45/38.16 "free": ["X84"], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "307": { 129.45/38.16 "goal": [{ 129.45/38.16 "clause": -1, 129.45/38.16 "scope": -1, 129.45/38.16 "term": "(true)" 129.45/38.16 }], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [], 129.45/38.16 "free": [], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "406": { 129.45/38.16 "goal": [{ 129.45/38.16 "clause": 3, 129.45/38.16 "scope": 5, 129.45/38.16 "term": "(minus T66 T67 X84)" 129.45/38.16 }], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [ 129.45/38.16 "T66", 129.45/38.16 "T67" 129.45/38.16 ], 129.45/38.16 "free": ["X84"], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "407": { 129.45/38.16 "goal": [{ 129.45/38.16 "clause": 4, 129.45/38.16 "scope": 5, 129.45/38.16 "term": "(minus T66 T67 X84)" 129.45/38.16 }], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [ 129.45/38.16 "T66", 129.45/38.16 "T67" 129.45/38.16 ], 129.45/38.16 "free": ["X84"], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "408": { 129.45/38.16 "goal": [{ 129.45/38.16 "clause": -1, 129.45/38.16 "scope": -1, 129.45/38.16 "term": "(true)" 129.45/38.16 }], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [], 129.45/38.16 "free": [], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "409": { 129.45/38.16 "goal": [], 129.45/38.16 "kb": { 129.45/38.16 "nonunifying": [], 129.45/38.16 "intvars": {}, 129.45/38.16 "arithmetic": { 129.45/38.16 "type": "PlainIntegerRelationState", 129.45/38.16 "relations": [] 129.45/38.16 }, 129.45/38.16 "ground": [], 129.45/38.16 "free": [], 129.45/38.16 "exprvars": [] 129.45/38.16 } 129.45/38.16 } 129.45/38.16 }, 129.45/38.16 "edges": [ 129.45/38.16 { 129.45/38.16 "from": 6, 129.45/38.16 "to": 18, 129.45/38.16 "label": "CASE" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 18, 129.45/38.16 "to": 37, 129.45/38.16 "label": "EVAL with clause\ndiv(X8, s(X9), X10) :- ','(le(s(X9), X8, X11), if(X11, X8, s(X9), X10)).\nand substitutionT1 -> T10,\nX8 -> T10,\nX9 -> T11,\nT2 -> s(T11),\nT3 -> T13,\nX10 -> T13,\nT12 -> T13" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 18, 129.45/38.16 "to": 39, 129.45/38.16 "label": "EVAL-BACKTRACK" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 37, 129.45/38.16 "to": 165, 129.45/38.16 "label": "SPLIT 1" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 37, 129.45/38.16 "to": 167, 129.45/38.16 "label": "SPLIT 2\nnew knowledge:\nT11 is ground\nT10 is ground\nT14 is ground\nreplacements:X11 -> T14" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 165, 129.45/38.16 "to": 179, 129.45/38.16 "label": "CASE" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 167, 129.45/38.16 "to": 395, 129.45/38.16 "label": "CASE" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 179, 129.45/38.16 "to": 180, 129.45/38.16 "label": "BACKTRACK\nfor clause: le(0, Y, true)because of non-unification" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 180, 129.45/38.16 "to": 185, 129.45/38.16 "label": "PARALLEL" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 180, 129.45/38.16 "to": 186, 129.45/38.16 "label": "PARALLEL" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 185, 129.45/38.16 "to": 187, 129.45/38.16 "label": "EVAL with clause\nle(s(X21), 0, false).\nand substitutionT11 -> T19,\nX21 -> T19,\nT10 -> 0,\nX11 -> false" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 185, 129.45/38.16 "to": 188, 129.45/38.16 "label": "EVAL-BACKTRACK" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 186, 129.45/38.16 "to": 244, 129.45/38.16 "label": "EVAL with clause\nle(s(X30), s(X31), X32) :- le(X30, X31, X32).\nand substitutionT11 -> T24,\nX30 -> T24,\nX31 -> T25,\nT10 -> s(T25),\nX11 -> X33,\nX32 -> X33" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 186, 129.45/38.16 "to": 251, 129.45/38.16 "label": "EVAL-BACKTRACK" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 187, 129.45/38.16 "to": 189, 129.45/38.16 "label": "SUCCESS" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 244, 129.45/38.16 "to": 291, 129.45/38.16 "label": "CASE" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 291, 129.45/38.16 "to": 299, 129.45/38.16 "label": "PARALLEL" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 291, 129.45/38.16 "to": 301, 129.45/38.16 "label": "PARALLEL" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 299, 129.45/38.16 "to": 307, 129.45/38.16 "label": "EVAL with clause\nle(0, X40, true).\nand substitutionT24 -> 0,\nT25 -> T32,\nX40 -> T32,\nX33 -> true" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 299, 129.45/38.16 "to": 310, 129.45/38.16 "label": "EVAL-BACKTRACK" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 301, 129.45/38.16 "to": 316, 129.45/38.16 "label": "PARALLEL" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 301, 129.45/38.16 "to": 317, 129.45/38.16 "label": "PARALLEL" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 307, 129.45/38.16 "to": 312, 129.45/38.16 "label": "SUCCESS" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 316, 129.45/38.16 "to": 338, 129.45/38.16 "label": "EVAL with clause\nle(s(X45), 0, false).\nand substitutionX45 -> T37,\nT24 -> s(T37),\nT25 -> 0,\nX33 -> false" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 316, 129.45/38.16 "to": 341, 129.45/38.16 "label": "EVAL-BACKTRACK" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 317, 129.45/38.16 "to": 391, 129.45/38.16 "label": "EVAL with clause\nle(s(X54), s(X55), X56) :- le(X54, X55, X56).\nand substitutionX54 -> T42,\nT24 -> s(T42),\nX55 -> T43,\nT25 -> s(T43),\nX33 -> X57,\nX56 -> X57" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 317, 129.45/38.16 "to": 392, 129.45/38.16 "label": "EVAL-BACKTRACK" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 338, 129.45/38.16 "to": 342, 129.45/38.16 "label": "SUCCESS" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 391, 129.45/38.16 "to": 244, 129.45/38.16 "label": "INSTANCE with matching:\nT24 -> T42\nT25 -> T43\nX33 -> X57" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 395, 129.45/38.16 "to": 396, 129.45/38.16 "label": "PARALLEL" 129.45/38.16 }, 129.45/38.16 { 129.45/38.16 "from": 395, 129.45/38.16 "to": 397, 129.45/38.16 "label": "PARALLEL" 129.45/38.16 }, 129.45/38.17 { 129.45/38.17 "from": 396, 129.45/38.17 "to": 398, 129.45/38.17 "label": "EVAL with clause\nif(false, X72, s(X73), 0).\nand substitutionT14 -> false,\nT10 -> T58,\nX72 -> T58,\nT11 -> T59,\nX73 -> T59,\nT13 -> 0" 129.45/38.17 }, 129.45/38.17 { 129.45/38.17 "from": 396, 129.45/38.17 "to": 399, 129.45/38.17 "label": "EVAL-BACKTRACK" 129.45/38.17 }, 129.45/38.17 { 129.45/38.17 "from": 397, 129.45/38.17 "to": 401, 129.45/38.17 "label": "EVAL with clause\nif(true, X81, s(X82), s(X83)) :- ','(minus(X81, X82, X84), div(X84, s(X82), X83)).\nand substitutionT14 -> true,\nT10 -> T66,\nX81 -> T66,\nT11 -> T67,\nX82 -> T67,\nX83 -> T69,\nT13 -> s(T69),\nT68 -> T69" 129.45/38.17 }, 129.45/38.17 { 129.45/38.17 "from": 397, 129.45/38.17 "to": 402, 129.45/38.17 "label": "EVAL-BACKTRACK" 129.45/38.17 }, 129.45/38.17 { 129.45/38.17 "from": 398, 129.45/38.17 "to": 400, 129.45/38.17 "label": "SUCCESS" 129.45/38.17 }, 129.45/38.17 { 129.45/38.17 "from": 401, 129.45/38.17 "to": 403, 129.45/38.17 "label": "SPLIT 1" 129.45/38.17 }, 129.45/38.17 { 129.45/38.17 "from": 401, 129.45/38.17 "to": 404, 129.45/38.17 "label": "SPLIT 2\nnew knowledge:\nT66 is ground\nT67 is ground\nT72 is ground\nreplacements:X84 -> T72" 129.45/38.17 }, 129.45/38.17 { 129.45/38.17 "from": 403, 129.45/38.17 "to": 405, 129.45/38.17 "label": "CASE" 129.45/38.17 }, 129.45/38.17 { 129.45/38.17 "from": 404, 129.45/38.17 "to": 6, 129.45/38.17 "label": "INSTANCE with matching:\nT1 -> T72\nT2 -> s(T67)\nT3 -> T69" 129.45/38.17 }, 129.45/38.17 { 129.45/38.17 "from": 405, 129.45/38.17 "to": 406, 129.45/38.17 "label": "PARALLEL" 129.45/38.17 }, 129.45/38.17 { 129.45/38.17 "from": 405, 129.45/38.17 "to": 407, 129.45/38.17 "label": "PARALLEL" 129.45/38.17 }, 129.45/38.17 { 129.45/38.17 "from": 406, 129.45/38.17 "to": 408, 129.45/38.17 "label": "EVAL with clause\nminus(X93, 0, X93).\nand substitutionT66 -> T79,\nX93 -> T79,\nT67 -> 0,\nX84 -> T79" 129.45/38.17 }, 129.45/38.17 { 129.45/38.17 "from": 406, 129.45/38.17 "to": 409, 129.45/38.17 "label": "EVAL-BACKTRACK" 129.45/38.17 }, 129.45/38.17 { 129.45/38.17 "from": 407, 129.45/38.17 "to": 411, 129.45/38.17 "label": "EVAL with clause\nminus(s(X102), s(X103), X104) :- minus(X102, X103, X104).\nand substitutionX102 -> T84,\nT66 -> s(T84),\nX103 -> T85,\nT67 -> s(T85),\nX84 -> X105,\nX104 -> X105" 129.45/38.17 }, 129.45/38.17 { 129.45/38.17 "from": 407, 129.45/38.17 "to": 412, 129.45/38.17 "label": "EVAL-BACKTRACK" 129.45/38.17 }, 129.45/38.17 { 129.45/38.17 "from": 408, 129.45/38.17 "to": 410, 129.45/38.17 "label": "SUCCESS" 129.45/38.17 }, 129.45/38.17 { 129.45/38.17 "from": 411, 129.45/38.17 "to": 403, 129.45/38.17 "label": "INSTANCE with matching:\nT66 -> T84\nT67 -> T85\nX84 -> X105" 129.45/38.17 } 129.45/38.17 ], 129.45/38.17 "type": "Graph" 129.45/38.17 } 129.45/38.17 } 129.45/38.17 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (134) 129.45/38.17 Obligation: 129.45/38.17 Q restricted rewrite system: 129.45/38.17 The TRS R consists of the following rules: 129.45/38.17 129.45/38.17 f6_in(T10, s(T11)) -> U1(f37_in(T11, T10), T10, s(T11)) 129.45/38.17 U1(f37_out1(X11, T13), T10, s(T11)) -> f6_out1(T13) 129.45/38.17 f244_in(0, T32) -> f244_out1(true) 129.45/38.17 f244_in(s(T37), 0) -> f244_out1(false) 129.45/38.17 f244_in(s(T42), s(T43)) -> U2(f244_in(T42, T43), s(T42), s(T43)) 129.45/38.17 U2(f244_out1(X57), s(T42), s(T43)) -> f244_out1(X57) 129.45/38.17 f403_in(T79, 0) -> f403_out1(T79) 129.45/38.17 f403_in(s(T84), s(T85)) -> U3(f403_in(T84, T85), s(T84), s(T85)) 129.45/38.17 U3(f403_out1(X105), s(T84), s(T85)) -> f403_out1(X105) 129.45/38.17 f165_in(T19, 0) -> f165_out1(false) 129.45/38.17 f165_in(T24, s(T25)) -> U4(f244_in(T24, T25), T24, s(T25)) 129.45/38.17 U4(f244_out1(X33), T24, s(T25)) -> f165_out1(X33) 129.45/38.17 f167_in(false, T58, T59) -> f167_out1(0) 129.45/38.17 f167_in(true, T66, T67) -> U5(f401_in(T66, T67), true, T66, T67) 129.45/38.17 U5(f401_out1(X84, T69), true, T66, T67) -> f167_out1(s(T69)) 129.45/38.17 f37_in(T11, T10) -> U6(f165_in(T11, T10), T11, T10) 129.45/38.17 U6(f165_out1(T14), T11, T10) -> U7(f167_in(T14, T10, T11), T11, T10, T14) 129.45/38.17 U7(f167_out1(T13), T11, T10, T14) -> f37_out1(T14, T13) 129.45/38.17 f401_in(T66, T67) -> U8(f403_in(T66, T67), T66, T67) 129.45/38.17 U8(f403_out1(T72), T66, T67) -> U9(f6_in(T72, s(T67)), T66, T67, T72) 129.45/38.17 U9(f6_out1(T69), T66, T67, T72) -> f401_out1(T72, T69) 129.45/38.17 129.45/38.17 Q is empty. 129.45/38.17 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (135) Overlay + Local Confluence (EQUIVALENT) 129.45/38.17 The TRS is overlay and locally confluent. By [NOC] we can switch to innermost. 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (136) 129.45/38.17 Obligation: 129.45/38.17 Q restricted rewrite system: 129.45/38.17 The TRS R consists of the following rules: 129.45/38.17 129.45/38.17 f6_in(T10, s(T11)) -> U1(f37_in(T11, T10), T10, s(T11)) 129.45/38.17 U1(f37_out1(X11, T13), T10, s(T11)) -> f6_out1(T13) 129.45/38.17 f244_in(0, T32) -> f244_out1(true) 129.45/38.17 f244_in(s(T37), 0) -> f244_out1(false) 129.45/38.17 f244_in(s(T42), s(T43)) -> U2(f244_in(T42, T43), s(T42), s(T43)) 129.45/38.17 U2(f244_out1(X57), s(T42), s(T43)) -> f244_out1(X57) 129.45/38.17 f403_in(T79, 0) -> f403_out1(T79) 129.45/38.17 f403_in(s(T84), s(T85)) -> U3(f403_in(T84, T85), s(T84), s(T85)) 129.45/38.17 U3(f403_out1(X105), s(T84), s(T85)) -> f403_out1(X105) 129.45/38.17 f165_in(T19, 0) -> f165_out1(false) 129.45/38.17 f165_in(T24, s(T25)) -> U4(f244_in(T24, T25), T24, s(T25)) 129.45/38.17 U4(f244_out1(X33), T24, s(T25)) -> f165_out1(X33) 129.45/38.17 f167_in(false, T58, T59) -> f167_out1(0) 129.45/38.17 f167_in(true, T66, T67) -> U5(f401_in(T66, T67), true, T66, T67) 129.45/38.17 U5(f401_out1(X84, T69), true, T66, T67) -> f167_out1(s(T69)) 129.45/38.17 f37_in(T11, T10) -> U6(f165_in(T11, T10), T11, T10) 129.45/38.17 U6(f165_out1(T14), T11, T10) -> U7(f167_in(T14, T10, T11), T11, T10, T14) 129.45/38.17 U7(f167_out1(T13), T11, T10, T14) -> f37_out1(T14, T13) 129.45/38.17 f401_in(T66, T67) -> U8(f403_in(T66, T67), T66, T67) 129.45/38.17 U8(f403_out1(T72), T66, T67) -> U9(f6_in(T72, s(T67)), T66, T67, T72) 129.45/38.17 U9(f6_out1(T69), T66, T67, T72) -> f401_out1(T72, T69) 129.45/38.17 129.45/38.17 The set Q consists of the following terms: 129.45/38.17 129.45/38.17 f6_in(x0, s(x1)) 129.45/38.17 U1(f37_out1(x0, x1), x2, s(x3)) 129.45/38.17 f244_in(0, x0) 129.45/38.17 f244_in(s(x0), 0) 129.45/38.17 f244_in(s(x0), s(x1)) 129.45/38.17 U2(f244_out1(x0), s(x1), s(x2)) 129.45/38.17 f403_in(x0, 0) 129.45/38.17 f403_in(s(x0), s(x1)) 129.45/38.17 U3(f403_out1(x0), s(x1), s(x2)) 129.45/38.17 f165_in(x0, 0) 129.45/38.17 f165_in(x0, s(x1)) 129.45/38.17 U4(f244_out1(x0), x1, s(x2)) 129.45/38.17 f167_in(false, x0, x1) 129.45/38.17 f167_in(true, x0, x1) 129.45/38.17 U5(f401_out1(x0, x1), true, x2, x3) 129.45/38.17 f37_in(x0, x1) 129.45/38.17 U6(f165_out1(x0), x1, x2) 129.45/38.17 U7(f167_out1(x0), x1, x2, x3) 129.45/38.17 f401_in(x0, x1) 129.45/38.17 U8(f403_out1(x0), x1, x2) 129.45/38.17 U9(f6_out1(x0), x1, x2, x3) 129.45/38.17 129.45/38.17 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (137) DependencyPairsProof (EQUIVALENT) 129.45/38.17 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (138) 129.45/38.17 Obligation: 129.45/38.17 Q DP problem: 129.45/38.17 The TRS P consists of the following rules: 129.45/38.17 129.45/38.17 F6_IN(T10, s(T11)) -> U1^1(f37_in(T11, T10), T10, s(T11)) 129.45/38.17 F6_IN(T10, s(T11)) -> F37_IN(T11, T10) 129.45/38.17 F244_IN(s(T42), s(T43)) -> U2^1(f244_in(T42, T43), s(T42), s(T43)) 129.45/38.17 F244_IN(s(T42), s(T43)) -> F244_IN(T42, T43) 129.45/38.17 F403_IN(s(T84), s(T85)) -> U3^1(f403_in(T84, T85), s(T84), s(T85)) 129.45/38.17 F403_IN(s(T84), s(T85)) -> F403_IN(T84, T85) 129.45/38.17 F165_IN(T24, s(T25)) -> U4^1(f244_in(T24, T25), T24, s(T25)) 129.45/38.17 F165_IN(T24, s(T25)) -> F244_IN(T24, T25) 129.45/38.17 F167_IN(true, T66, T67) -> U5^1(f401_in(T66, T67), true, T66, T67) 129.45/38.17 F167_IN(true, T66, T67) -> F401_IN(T66, T67) 129.45/38.17 F37_IN(T11, T10) -> U6^1(f165_in(T11, T10), T11, T10) 129.45/38.17 F37_IN(T11, T10) -> F165_IN(T11, T10) 129.45/38.17 U6^1(f165_out1(T14), T11, T10) -> U7^1(f167_in(T14, T10, T11), T11, T10, T14) 129.45/38.17 U6^1(f165_out1(T14), T11, T10) -> F167_IN(T14, T10, T11) 129.45/38.17 F401_IN(T66, T67) -> U8^1(f403_in(T66, T67), T66, T67) 129.45/38.17 F401_IN(T66, T67) -> F403_IN(T66, T67) 129.45/38.17 U8^1(f403_out1(T72), T66, T67) -> U9^1(f6_in(T72, s(T67)), T66, T67, T72) 129.45/38.17 U8^1(f403_out1(T72), T66, T67) -> F6_IN(T72, s(T67)) 129.45/38.17 129.45/38.17 The TRS R consists of the following rules: 129.45/38.17 129.45/38.17 f6_in(T10, s(T11)) -> U1(f37_in(T11, T10), T10, s(T11)) 129.45/38.17 U1(f37_out1(X11, T13), T10, s(T11)) -> f6_out1(T13) 129.45/38.17 f244_in(0, T32) -> f244_out1(true) 129.45/38.17 f244_in(s(T37), 0) -> f244_out1(false) 129.45/38.17 f244_in(s(T42), s(T43)) -> U2(f244_in(T42, T43), s(T42), s(T43)) 129.45/38.17 U2(f244_out1(X57), s(T42), s(T43)) -> f244_out1(X57) 129.45/38.17 f403_in(T79, 0) -> f403_out1(T79) 129.45/38.17 f403_in(s(T84), s(T85)) -> U3(f403_in(T84, T85), s(T84), s(T85)) 129.45/38.17 U3(f403_out1(X105), s(T84), s(T85)) -> f403_out1(X105) 129.45/38.17 f165_in(T19, 0) -> f165_out1(false) 129.45/38.17 f165_in(T24, s(T25)) -> U4(f244_in(T24, T25), T24, s(T25)) 129.45/38.17 U4(f244_out1(X33), T24, s(T25)) -> f165_out1(X33) 129.45/38.17 f167_in(false, T58, T59) -> f167_out1(0) 129.45/38.17 f167_in(true, T66, T67) -> U5(f401_in(T66, T67), true, T66, T67) 129.45/38.17 U5(f401_out1(X84, T69), true, T66, T67) -> f167_out1(s(T69)) 129.45/38.17 f37_in(T11, T10) -> U6(f165_in(T11, T10), T11, T10) 129.45/38.17 U6(f165_out1(T14), T11, T10) -> U7(f167_in(T14, T10, T11), T11, T10, T14) 129.45/38.17 U7(f167_out1(T13), T11, T10, T14) -> f37_out1(T14, T13) 129.45/38.17 f401_in(T66, T67) -> U8(f403_in(T66, T67), T66, T67) 129.45/38.17 U8(f403_out1(T72), T66, T67) -> U9(f6_in(T72, s(T67)), T66, T67, T72) 129.45/38.17 U9(f6_out1(T69), T66, T67, T72) -> f401_out1(T72, T69) 129.45/38.17 129.45/38.17 The set Q consists of the following terms: 129.45/38.17 129.45/38.17 f6_in(x0, s(x1)) 129.45/38.17 U1(f37_out1(x0, x1), x2, s(x3)) 129.45/38.17 f244_in(0, x0) 129.45/38.17 f244_in(s(x0), 0) 129.45/38.17 f244_in(s(x0), s(x1)) 129.45/38.17 U2(f244_out1(x0), s(x1), s(x2)) 129.45/38.17 f403_in(x0, 0) 129.45/38.17 f403_in(s(x0), s(x1)) 129.45/38.17 U3(f403_out1(x0), s(x1), s(x2)) 129.45/38.17 f165_in(x0, 0) 129.45/38.17 f165_in(x0, s(x1)) 129.45/38.17 U4(f244_out1(x0), x1, s(x2)) 129.45/38.17 f167_in(false, x0, x1) 129.45/38.17 f167_in(true, x0, x1) 129.45/38.17 U5(f401_out1(x0, x1), true, x2, x3) 129.45/38.17 f37_in(x0, x1) 129.45/38.17 U6(f165_out1(x0), x1, x2) 129.45/38.17 U7(f167_out1(x0), x1, x2, x3) 129.45/38.17 f401_in(x0, x1) 129.45/38.17 U8(f403_out1(x0), x1, x2) 129.45/38.17 U9(f6_out1(x0), x1, x2, x3) 129.45/38.17 129.45/38.17 We have to consider all minimal (P,Q,R)-chains. 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (139) DependencyGraphProof (EQUIVALENT) 129.45/38.17 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 10 less nodes. 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (140) 129.45/38.17 Complex Obligation (AND) 129.45/38.17 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (141) 129.45/38.17 Obligation: 129.45/38.17 Q DP problem: 129.45/38.17 The TRS P consists of the following rules: 129.45/38.17 129.45/38.17 F403_IN(s(T84), s(T85)) -> F403_IN(T84, T85) 129.45/38.17 129.45/38.17 The TRS R consists of the following rules: 129.45/38.17 129.45/38.17 f6_in(T10, s(T11)) -> U1(f37_in(T11, T10), T10, s(T11)) 129.45/38.17 U1(f37_out1(X11, T13), T10, s(T11)) -> f6_out1(T13) 129.45/38.17 f244_in(0, T32) -> f244_out1(true) 129.45/38.17 f244_in(s(T37), 0) -> f244_out1(false) 129.45/38.17 f244_in(s(T42), s(T43)) -> U2(f244_in(T42, T43), s(T42), s(T43)) 129.45/38.17 U2(f244_out1(X57), s(T42), s(T43)) -> f244_out1(X57) 129.45/38.17 f403_in(T79, 0) -> f403_out1(T79) 129.45/38.17 f403_in(s(T84), s(T85)) -> U3(f403_in(T84, T85), s(T84), s(T85)) 129.45/38.17 U3(f403_out1(X105), s(T84), s(T85)) -> f403_out1(X105) 129.45/38.17 f165_in(T19, 0) -> f165_out1(false) 129.45/38.17 f165_in(T24, s(T25)) -> U4(f244_in(T24, T25), T24, s(T25)) 129.45/38.17 U4(f244_out1(X33), T24, s(T25)) -> f165_out1(X33) 129.45/38.17 f167_in(false, T58, T59) -> f167_out1(0) 129.45/38.17 f167_in(true, T66, T67) -> U5(f401_in(T66, T67), true, T66, T67) 129.45/38.17 U5(f401_out1(X84, T69), true, T66, T67) -> f167_out1(s(T69)) 129.45/38.17 f37_in(T11, T10) -> U6(f165_in(T11, T10), T11, T10) 129.45/38.17 U6(f165_out1(T14), T11, T10) -> U7(f167_in(T14, T10, T11), T11, T10, T14) 129.45/38.17 U7(f167_out1(T13), T11, T10, T14) -> f37_out1(T14, T13) 129.45/38.17 f401_in(T66, T67) -> U8(f403_in(T66, T67), T66, T67) 129.45/38.17 U8(f403_out1(T72), T66, T67) -> U9(f6_in(T72, s(T67)), T66, T67, T72) 129.45/38.17 U9(f6_out1(T69), T66, T67, T72) -> f401_out1(T72, T69) 129.45/38.17 129.45/38.17 The set Q consists of the following terms: 129.45/38.17 129.45/38.17 f6_in(x0, s(x1)) 129.45/38.17 U1(f37_out1(x0, x1), x2, s(x3)) 129.45/38.17 f244_in(0, x0) 129.45/38.17 f244_in(s(x0), 0) 129.45/38.17 f244_in(s(x0), s(x1)) 129.45/38.17 U2(f244_out1(x0), s(x1), s(x2)) 129.45/38.17 f403_in(x0, 0) 129.45/38.17 f403_in(s(x0), s(x1)) 129.45/38.17 U3(f403_out1(x0), s(x1), s(x2)) 129.45/38.17 f165_in(x0, 0) 129.45/38.17 f165_in(x0, s(x1)) 129.45/38.17 U4(f244_out1(x0), x1, s(x2)) 129.45/38.17 f167_in(false, x0, x1) 129.45/38.17 f167_in(true, x0, x1) 129.45/38.17 U5(f401_out1(x0, x1), true, x2, x3) 129.45/38.17 f37_in(x0, x1) 129.45/38.17 U6(f165_out1(x0), x1, x2) 129.45/38.17 U7(f167_out1(x0), x1, x2, x3) 129.45/38.17 f401_in(x0, x1) 129.45/38.17 U8(f403_out1(x0), x1, x2) 129.45/38.17 U9(f6_out1(x0), x1, x2, x3) 129.45/38.17 129.45/38.17 We have to consider all minimal (P,Q,R)-chains. 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (142) UsableRulesProof (EQUIVALENT) 129.45/38.17 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (143) 129.45/38.17 Obligation: 129.45/38.17 Q DP problem: 129.45/38.17 The TRS P consists of the following rules: 129.45/38.17 129.45/38.17 F403_IN(s(T84), s(T85)) -> F403_IN(T84, T85) 129.45/38.17 129.45/38.17 R is empty. 129.45/38.17 The set Q consists of the following terms: 129.45/38.17 129.45/38.17 f6_in(x0, s(x1)) 129.45/38.17 U1(f37_out1(x0, x1), x2, s(x3)) 129.45/38.17 f244_in(0, x0) 129.45/38.17 f244_in(s(x0), 0) 129.45/38.17 f244_in(s(x0), s(x1)) 129.45/38.17 U2(f244_out1(x0), s(x1), s(x2)) 129.45/38.17 f403_in(x0, 0) 129.45/38.17 f403_in(s(x0), s(x1)) 129.45/38.17 U3(f403_out1(x0), s(x1), s(x2)) 129.45/38.17 f165_in(x0, 0) 129.45/38.17 f165_in(x0, s(x1)) 129.45/38.17 U4(f244_out1(x0), x1, s(x2)) 129.45/38.17 f167_in(false, x0, x1) 129.45/38.17 f167_in(true, x0, x1) 129.45/38.17 U5(f401_out1(x0, x1), true, x2, x3) 129.45/38.17 f37_in(x0, x1) 129.45/38.17 U6(f165_out1(x0), x1, x2) 129.45/38.17 U7(f167_out1(x0), x1, x2, x3) 129.45/38.17 f401_in(x0, x1) 129.45/38.17 U8(f403_out1(x0), x1, x2) 129.45/38.17 U9(f6_out1(x0), x1, x2, x3) 129.45/38.17 129.45/38.17 We have to consider all minimal (P,Q,R)-chains. 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (144) QReductionProof (EQUIVALENT) 129.45/38.17 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 129.45/38.17 129.45/38.17 f6_in(x0, s(x1)) 129.45/38.17 U1(f37_out1(x0, x1), x2, s(x3)) 129.45/38.17 f244_in(0, x0) 129.45/38.17 f244_in(s(x0), 0) 129.45/38.17 f244_in(s(x0), s(x1)) 129.45/38.17 U2(f244_out1(x0), s(x1), s(x2)) 129.45/38.17 f403_in(x0, 0) 129.45/38.17 f403_in(s(x0), s(x1)) 129.45/38.17 U3(f403_out1(x0), s(x1), s(x2)) 129.45/38.17 f165_in(x0, 0) 129.45/38.17 f165_in(x0, s(x1)) 129.45/38.17 U4(f244_out1(x0), x1, s(x2)) 129.45/38.17 f167_in(false, x0, x1) 129.45/38.17 f167_in(true, x0, x1) 129.45/38.17 U5(f401_out1(x0, x1), true, x2, x3) 129.45/38.17 f37_in(x0, x1) 129.45/38.17 U6(f165_out1(x0), x1, x2) 129.45/38.17 U7(f167_out1(x0), x1, x2, x3) 129.45/38.17 f401_in(x0, x1) 129.45/38.17 U8(f403_out1(x0), x1, x2) 129.45/38.17 U9(f6_out1(x0), x1, x2, x3) 129.45/38.17 129.45/38.17 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (145) 129.45/38.17 Obligation: 129.45/38.17 Q DP problem: 129.45/38.17 The TRS P consists of the following rules: 129.45/38.17 129.45/38.17 F403_IN(s(T84), s(T85)) -> F403_IN(T84, T85) 129.45/38.17 129.45/38.17 R is empty. 129.45/38.17 Q is empty. 129.45/38.17 We have to consider all minimal (P,Q,R)-chains. 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (146) QDPSizeChangeProof (EQUIVALENT) 129.45/38.17 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 129.45/38.17 129.45/38.17 From the DPs we obtained the following set of size-change graphs: 129.45/38.17 *F403_IN(s(T84), s(T85)) -> F403_IN(T84, T85) 129.45/38.17 The graph contains the following edges 1 > 1, 2 > 2 129.45/38.17 129.45/38.17 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (147) 129.45/38.17 YES 129.45/38.17 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (148) 129.45/38.17 Obligation: 129.45/38.17 Q DP problem: 129.45/38.17 The TRS P consists of the following rules: 129.45/38.17 129.45/38.17 F244_IN(s(T42), s(T43)) -> F244_IN(T42, T43) 129.45/38.17 129.45/38.17 The TRS R consists of the following rules: 129.45/38.17 129.45/38.17 f6_in(T10, s(T11)) -> U1(f37_in(T11, T10), T10, s(T11)) 129.45/38.17 U1(f37_out1(X11, T13), T10, s(T11)) -> f6_out1(T13) 129.45/38.17 f244_in(0, T32) -> f244_out1(true) 129.45/38.17 f244_in(s(T37), 0) -> f244_out1(false) 129.45/38.17 f244_in(s(T42), s(T43)) -> U2(f244_in(T42, T43), s(T42), s(T43)) 129.45/38.17 U2(f244_out1(X57), s(T42), s(T43)) -> f244_out1(X57) 129.45/38.17 f403_in(T79, 0) -> f403_out1(T79) 129.45/38.17 f403_in(s(T84), s(T85)) -> U3(f403_in(T84, T85), s(T84), s(T85)) 129.45/38.17 U3(f403_out1(X105), s(T84), s(T85)) -> f403_out1(X105) 129.45/38.17 f165_in(T19, 0) -> f165_out1(false) 129.45/38.17 f165_in(T24, s(T25)) -> U4(f244_in(T24, T25), T24, s(T25)) 129.45/38.17 U4(f244_out1(X33), T24, s(T25)) -> f165_out1(X33) 129.45/38.17 f167_in(false, T58, T59) -> f167_out1(0) 129.45/38.17 f167_in(true, T66, T67) -> U5(f401_in(T66, T67), true, T66, T67) 129.45/38.17 U5(f401_out1(X84, T69), true, T66, T67) -> f167_out1(s(T69)) 129.45/38.17 f37_in(T11, T10) -> U6(f165_in(T11, T10), T11, T10) 129.45/38.17 U6(f165_out1(T14), T11, T10) -> U7(f167_in(T14, T10, T11), T11, T10, T14) 129.45/38.17 U7(f167_out1(T13), T11, T10, T14) -> f37_out1(T14, T13) 129.45/38.17 f401_in(T66, T67) -> U8(f403_in(T66, T67), T66, T67) 129.45/38.17 U8(f403_out1(T72), T66, T67) -> U9(f6_in(T72, s(T67)), T66, T67, T72) 129.45/38.17 U9(f6_out1(T69), T66, T67, T72) -> f401_out1(T72, T69) 129.45/38.17 129.45/38.17 The set Q consists of the following terms: 129.45/38.17 129.45/38.17 f6_in(x0, s(x1)) 129.45/38.17 U1(f37_out1(x0, x1), x2, s(x3)) 129.45/38.17 f244_in(0, x0) 129.45/38.17 f244_in(s(x0), 0) 129.45/38.17 f244_in(s(x0), s(x1)) 129.45/38.17 U2(f244_out1(x0), s(x1), s(x2)) 129.45/38.17 f403_in(x0, 0) 129.45/38.17 f403_in(s(x0), s(x1)) 129.45/38.17 U3(f403_out1(x0), s(x1), s(x2)) 129.45/38.17 f165_in(x0, 0) 129.45/38.17 f165_in(x0, s(x1)) 129.45/38.17 U4(f244_out1(x0), x1, s(x2)) 129.45/38.17 f167_in(false, x0, x1) 129.45/38.17 f167_in(true, x0, x1) 129.45/38.17 U5(f401_out1(x0, x1), true, x2, x3) 129.45/38.17 f37_in(x0, x1) 129.45/38.17 U6(f165_out1(x0), x1, x2) 129.45/38.17 U7(f167_out1(x0), x1, x2, x3) 129.45/38.17 f401_in(x0, x1) 129.45/38.17 U8(f403_out1(x0), x1, x2) 129.45/38.17 U9(f6_out1(x0), x1, x2, x3) 129.45/38.17 129.45/38.17 We have to consider all minimal (P,Q,R)-chains. 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (149) UsableRulesProof (EQUIVALENT) 129.45/38.17 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (150) 129.45/38.17 Obligation: 129.45/38.17 Q DP problem: 129.45/38.17 The TRS P consists of the following rules: 129.45/38.17 129.45/38.17 F244_IN(s(T42), s(T43)) -> F244_IN(T42, T43) 129.45/38.17 129.45/38.17 R is empty. 129.45/38.17 The set Q consists of the following terms: 129.45/38.17 129.45/38.17 f6_in(x0, s(x1)) 129.45/38.17 U1(f37_out1(x0, x1), x2, s(x3)) 129.45/38.17 f244_in(0, x0) 129.45/38.17 f244_in(s(x0), 0) 129.45/38.17 f244_in(s(x0), s(x1)) 129.45/38.17 U2(f244_out1(x0), s(x1), s(x2)) 129.45/38.17 f403_in(x0, 0) 129.45/38.17 f403_in(s(x0), s(x1)) 129.45/38.17 U3(f403_out1(x0), s(x1), s(x2)) 129.45/38.17 f165_in(x0, 0) 129.45/38.17 f165_in(x0, s(x1)) 129.45/38.17 U4(f244_out1(x0), x1, s(x2)) 129.45/38.17 f167_in(false, x0, x1) 129.45/38.17 f167_in(true, x0, x1) 129.45/38.17 U5(f401_out1(x0, x1), true, x2, x3) 129.45/38.17 f37_in(x0, x1) 129.45/38.17 U6(f165_out1(x0), x1, x2) 129.45/38.17 U7(f167_out1(x0), x1, x2, x3) 129.45/38.17 f401_in(x0, x1) 129.45/38.17 U8(f403_out1(x0), x1, x2) 129.45/38.17 U9(f6_out1(x0), x1, x2, x3) 129.45/38.17 129.45/38.17 We have to consider all minimal (P,Q,R)-chains. 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (151) QReductionProof (EQUIVALENT) 129.45/38.17 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 129.45/38.17 129.45/38.17 f6_in(x0, s(x1)) 129.45/38.17 U1(f37_out1(x0, x1), x2, s(x3)) 129.45/38.17 f244_in(0, x0) 129.45/38.17 f244_in(s(x0), 0) 129.45/38.17 f244_in(s(x0), s(x1)) 129.45/38.17 U2(f244_out1(x0), s(x1), s(x2)) 129.45/38.17 f403_in(x0, 0) 129.45/38.17 f403_in(s(x0), s(x1)) 129.45/38.17 U3(f403_out1(x0), s(x1), s(x2)) 129.45/38.17 f165_in(x0, 0) 129.45/38.17 f165_in(x0, s(x1)) 129.45/38.17 U4(f244_out1(x0), x1, s(x2)) 129.45/38.17 f167_in(false, x0, x1) 129.45/38.17 f167_in(true, x0, x1) 129.45/38.17 U5(f401_out1(x0, x1), true, x2, x3) 129.45/38.17 f37_in(x0, x1) 129.45/38.17 U6(f165_out1(x0), x1, x2) 129.45/38.17 U7(f167_out1(x0), x1, x2, x3) 129.45/38.17 f401_in(x0, x1) 129.45/38.17 U8(f403_out1(x0), x1, x2) 129.45/38.17 U9(f6_out1(x0), x1, x2, x3) 129.45/38.17 129.45/38.17 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (152) 129.45/38.17 Obligation: 129.45/38.17 Q DP problem: 129.45/38.17 The TRS P consists of the following rules: 129.45/38.17 129.45/38.17 F244_IN(s(T42), s(T43)) -> F244_IN(T42, T43) 129.45/38.17 129.45/38.17 R is empty. 129.45/38.17 Q is empty. 129.45/38.17 We have to consider all minimal (P,Q,R)-chains. 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (153) QDPSizeChangeProof (EQUIVALENT) 129.45/38.17 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 129.45/38.17 129.45/38.17 From the DPs we obtained the following set of size-change graphs: 129.45/38.17 *F244_IN(s(T42), s(T43)) -> F244_IN(T42, T43) 129.45/38.17 The graph contains the following edges 1 > 1, 2 > 2 129.45/38.17 129.45/38.17 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (154) 129.45/38.17 YES 129.45/38.17 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (155) 129.45/38.17 Obligation: 129.45/38.17 Q DP problem: 129.45/38.17 The TRS P consists of the following rules: 129.45/38.17 129.45/38.17 F6_IN(T10, s(T11)) -> F37_IN(T11, T10) 129.45/38.17 F37_IN(T11, T10) -> U6^1(f165_in(T11, T10), T11, T10) 129.45/38.17 U6^1(f165_out1(T14), T11, T10) -> F167_IN(T14, T10, T11) 129.45/38.17 F167_IN(true, T66, T67) -> F401_IN(T66, T67) 129.45/38.17 F401_IN(T66, T67) -> U8^1(f403_in(T66, T67), T66, T67) 129.45/38.17 U8^1(f403_out1(T72), T66, T67) -> F6_IN(T72, s(T67)) 129.45/38.17 129.45/38.17 The TRS R consists of the following rules: 129.45/38.17 129.45/38.17 f6_in(T10, s(T11)) -> U1(f37_in(T11, T10), T10, s(T11)) 129.45/38.17 U1(f37_out1(X11, T13), T10, s(T11)) -> f6_out1(T13) 129.45/38.17 f244_in(0, T32) -> f244_out1(true) 129.45/38.17 f244_in(s(T37), 0) -> f244_out1(false) 129.45/38.17 f244_in(s(T42), s(T43)) -> U2(f244_in(T42, T43), s(T42), s(T43)) 129.45/38.17 U2(f244_out1(X57), s(T42), s(T43)) -> f244_out1(X57) 129.45/38.17 f403_in(T79, 0) -> f403_out1(T79) 129.45/38.17 f403_in(s(T84), s(T85)) -> U3(f403_in(T84, T85), s(T84), s(T85)) 129.45/38.17 U3(f403_out1(X105), s(T84), s(T85)) -> f403_out1(X105) 129.45/38.17 f165_in(T19, 0) -> f165_out1(false) 129.45/38.17 f165_in(T24, s(T25)) -> U4(f244_in(T24, T25), T24, s(T25)) 129.45/38.17 U4(f244_out1(X33), T24, s(T25)) -> f165_out1(X33) 129.45/38.17 f167_in(false, T58, T59) -> f167_out1(0) 129.45/38.17 f167_in(true, T66, T67) -> U5(f401_in(T66, T67), true, T66, T67) 129.45/38.17 U5(f401_out1(X84, T69), true, T66, T67) -> f167_out1(s(T69)) 129.45/38.17 f37_in(T11, T10) -> U6(f165_in(T11, T10), T11, T10) 129.45/38.17 U6(f165_out1(T14), T11, T10) -> U7(f167_in(T14, T10, T11), T11, T10, T14) 129.45/38.17 U7(f167_out1(T13), T11, T10, T14) -> f37_out1(T14, T13) 129.45/38.17 f401_in(T66, T67) -> U8(f403_in(T66, T67), T66, T67) 129.45/38.17 U8(f403_out1(T72), T66, T67) -> U9(f6_in(T72, s(T67)), T66, T67, T72) 129.45/38.17 U9(f6_out1(T69), T66, T67, T72) -> f401_out1(T72, T69) 129.45/38.17 129.45/38.17 The set Q consists of the following terms: 129.45/38.17 129.45/38.17 f6_in(x0, s(x1)) 129.45/38.17 U1(f37_out1(x0, x1), x2, s(x3)) 129.45/38.17 f244_in(0, x0) 129.45/38.17 f244_in(s(x0), 0) 129.45/38.17 f244_in(s(x0), s(x1)) 129.45/38.17 U2(f244_out1(x0), s(x1), s(x2)) 129.45/38.17 f403_in(x0, 0) 129.45/38.17 f403_in(s(x0), s(x1)) 129.45/38.17 U3(f403_out1(x0), s(x1), s(x2)) 129.45/38.17 f165_in(x0, 0) 129.45/38.17 f165_in(x0, s(x1)) 129.45/38.17 U4(f244_out1(x0), x1, s(x2)) 129.45/38.17 f167_in(false, x0, x1) 129.45/38.17 f167_in(true, x0, x1) 129.45/38.17 U5(f401_out1(x0, x1), true, x2, x3) 129.45/38.17 f37_in(x0, x1) 129.45/38.17 U6(f165_out1(x0), x1, x2) 129.45/38.17 U7(f167_out1(x0), x1, x2, x3) 129.45/38.17 f401_in(x0, x1) 129.45/38.17 U8(f403_out1(x0), x1, x2) 129.45/38.17 U9(f6_out1(x0), x1, x2, x3) 129.45/38.17 129.45/38.17 We have to consider all minimal (P,Q,R)-chains. 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (156) UsableRulesProof (EQUIVALENT) 129.45/38.17 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (157) 129.45/38.17 Obligation: 129.45/38.17 Q DP problem: 129.45/38.17 The TRS P consists of the following rules: 129.45/38.17 129.45/38.17 F6_IN(T10, s(T11)) -> F37_IN(T11, T10) 129.45/38.17 F37_IN(T11, T10) -> U6^1(f165_in(T11, T10), T11, T10) 129.45/38.17 U6^1(f165_out1(T14), T11, T10) -> F167_IN(T14, T10, T11) 129.45/38.17 F167_IN(true, T66, T67) -> F401_IN(T66, T67) 129.45/38.17 F401_IN(T66, T67) -> U8^1(f403_in(T66, T67), T66, T67) 129.45/38.17 U8^1(f403_out1(T72), T66, T67) -> F6_IN(T72, s(T67)) 129.45/38.17 129.45/38.17 The TRS R consists of the following rules: 129.45/38.17 129.45/38.17 f403_in(T79, 0) -> f403_out1(T79) 129.45/38.17 f403_in(s(T84), s(T85)) -> U3(f403_in(T84, T85), s(T84), s(T85)) 129.45/38.17 U3(f403_out1(X105), s(T84), s(T85)) -> f403_out1(X105) 129.45/38.17 f165_in(T19, 0) -> f165_out1(false) 129.45/38.17 f165_in(T24, s(T25)) -> U4(f244_in(T24, T25), T24, s(T25)) 129.45/38.17 f244_in(0, T32) -> f244_out1(true) 129.45/38.17 f244_in(s(T37), 0) -> f244_out1(false) 129.45/38.17 f244_in(s(T42), s(T43)) -> U2(f244_in(T42, T43), s(T42), s(T43)) 129.45/38.17 U4(f244_out1(X33), T24, s(T25)) -> f165_out1(X33) 129.45/38.17 U2(f244_out1(X57), s(T42), s(T43)) -> f244_out1(X57) 129.45/38.17 129.45/38.17 The set Q consists of the following terms: 129.45/38.17 129.45/38.17 f6_in(x0, s(x1)) 129.45/38.17 U1(f37_out1(x0, x1), x2, s(x3)) 129.45/38.17 f244_in(0, x0) 129.45/38.17 f244_in(s(x0), 0) 129.45/38.17 f244_in(s(x0), s(x1)) 129.45/38.17 U2(f244_out1(x0), s(x1), s(x2)) 129.45/38.17 f403_in(x0, 0) 129.45/38.17 f403_in(s(x0), s(x1)) 129.45/38.17 U3(f403_out1(x0), s(x1), s(x2)) 129.45/38.17 f165_in(x0, 0) 129.45/38.17 f165_in(x0, s(x1)) 129.45/38.17 U4(f244_out1(x0), x1, s(x2)) 129.45/38.17 f167_in(false, x0, x1) 129.45/38.17 f167_in(true, x0, x1) 129.45/38.17 U5(f401_out1(x0, x1), true, x2, x3) 129.45/38.17 f37_in(x0, x1) 129.45/38.17 U6(f165_out1(x0), x1, x2) 129.45/38.17 U7(f167_out1(x0), x1, x2, x3) 129.45/38.17 f401_in(x0, x1) 129.45/38.17 U8(f403_out1(x0), x1, x2) 129.45/38.17 U9(f6_out1(x0), x1, x2, x3) 129.45/38.17 129.45/38.17 We have to consider all minimal (P,Q,R)-chains. 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (158) QReductionProof (EQUIVALENT) 129.45/38.17 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 129.45/38.17 129.45/38.17 f6_in(x0, s(x1)) 129.45/38.17 U1(f37_out1(x0, x1), x2, s(x3)) 129.45/38.17 f167_in(false, x0, x1) 129.45/38.17 f167_in(true, x0, x1) 129.45/38.17 U5(f401_out1(x0, x1), true, x2, x3) 129.45/38.17 f37_in(x0, x1) 129.45/38.17 U6(f165_out1(x0), x1, x2) 129.45/38.17 U7(f167_out1(x0), x1, x2, x3) 129.45/38.17 f401_in(x0, x1) 129.45/38.17 U8(f403_out1(x0), x1, x2) 129.45/38.17 U9(f6_out1(x0), x1, x2, x3) 129.45/38.17 129.45/38.17 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (159) 129.45/38.17 Obligation: 129.45/38.17 Q DP problem: 129.45/38.17 The TRS P consists of the following rules: 129.45/38.17 129.45/38.17 F6_IN(T10, s(T11)) -> F37_IN(T11, T10) 129.45/38.17 F37_IN(T11, T10) -> U6^1(f165_in(T11, T10), T11, T10) 129.45/38.17 U6^1(f165_out1(T14), T11, T10) -> F167_IN(T14, T10, T11) 129.45/38.17 F167_IN(true, T66, T67) -> F401_IN(T66, T67) 129.45/38.17 F401_IN(T66, T67) -> U8^1(f403_in(T66, T67), T66, T67) 129.45/38.17 U8^1(f403_out1(T72), T66, T67) -> F6_IN(T72, s(T67)) 129.45/38.17 129.45/38.17 The TRS R consists of the following rules: 129.45/38.17 129.45/38.17 f403_in(T79, 0) -> f403_out1(T79) 129.45/38.17 f403_in(s(T84), s(T85)) -> U3(f403_in(T84, T85), s(T84), s(T85)) 129.45/38.17 U3(f403_out1(X105), s(T84), s(T85)) -> f403_out1(X105) 129.45/38.17 f165_in(T19, 0) -> f165_out1(false) 129.45/38.17 f165_in(T24, s(T25)) -> U4(f244_in(T24, T25), T24, s(T25)) 129.45/38.17 f244_in(0, T32) -> f244_out1(true) 129.45/38.17 f244_in(s(T37), 0) -> f244_out1(false) 129.45/38.17 f244_in(s(T42), s(T43)) -> U2(f244_in(T42, T43), s(T42), s(T43)) 129.45/38.17 U4(f244_out1(X33), T24, s(T25)) -> f165_out1(X33) 129.45/38.17 U2(f244_out1(X57), s(T42), s(T43)) -> f244_out1(X57) 129.45/38.17 129.45/38.17 The set Q consists of the following terms: 129.45/38.17 129.45/38.17 f244_in(0, x0) 129.45/38.17 f244_in(s(x0), 0) 129.45/38.17 f244_in(s(x0), s(x1)) 129.45/38.17 U2(f244_out1(x0), s(x1), s(x2)) 129.45/38.17 f403_in(x0, 0) 129.45/38.17 f403_in(s(x0), s(x1)) 129.45/38.17 U3(f403_out1(x0), s(x1), s(x2)) 129.45/38.17 f165_in(x0, 0) 129.45/38.17 f165_in(x0, s(x1)) 129.45/38.17 U4(f244_out1(x0), x1, s(x2)) 129.45/38.17 129.45/38.17 We have to consider all minimal (P,Q,R)-chains. 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (160) MNOCProof (EQUIVALENT) 129.45/38.17 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (161) 129.45/38.17 Obligation: 129.45/38.17 Q DP problem: 129.45/38.17 The TRS P consists of the following rules: 129.45/38.17 129.45/38.17 F6_IN(T10, s(T11)) -> F37_IN(T11, T10) 129.45/38.17 F37_IN(T11, T10) -> U6^1(f165_in(T11, T10), T11, T10) 129.45/38.17 U6^1(f165_out1(T14), T11, T10) -> F167_IN(T14, T10, T11) 129.45/38.17 F167_IN(true, T66, T67) -> F401_IN(T66, T67) 129.45/38.17 F401_IN(T66, T67) -> U8^1(f403_in(T66, T67), T66, T67) 129.45/38.17 U8^1(f403_out1(T72), T66, T67) -> F6_IN(T72, s(T67)) 129.45/38.17 129.45/38.17 The TRS R consists of the following rules: 129.45/38.17 129.45/38.17 f403_in(T79, 0) -> f403_out1(T79) 129.45/38.17 f403_in(s(T84), s(T85)) -> U3(f403_in(T84, T85), s(T84), s(T85)) 129.45/38.17 U3(f403_out1(X105), s(T84), s(T85)) -> f403_out1(X105) 129.45/38.17 f165_in(T19, 0) -> f165_out1(false) 129.45/38.17 f165_in(T24, s(T25)) -> U4(f244_in(T24, T25), T24, s(T25)) 129.45/38.17 f244_in(0, T32) -> f244_out1(true) 129.45/38.17 f244_in(s(T37), 0) -> f244_out1(false) 129.45/38.17 f244_in(s(T42), s(T43)) -> U2(f244_in(T42, T43), s(T42), s(T43)) 129.45/38.17 U4(f244_out1(X33), T24, s(T25)) -> f165_out1(X33) 129.45/38.17 U2(f244_out1(X57), s(T42), s(T43)) -> f244_out1(X57) 129.45/38.17 129.45/38.17 Q is empty. 129.45/38.17 We have to consider all (P,Q,R)-chains. 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (162) NonTerminationLoopProof (COMPLETE) 129.45/38.17 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 129.45/38.17 Found a loop by narrowing to the left: 129.45/38.17 129.45/38.17 s = F37_IN(0, s(T25')) evaluates to t =F37_IN(0, s(T25')) 129.45/38.17 129.45/38.17 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 129.45/38.17 * Matcher: [ ] 129.45/38.17 * Semiunifier: [ ] 129.45/38.17 129.45/38.17 -------------------------------------------------------------------------------- 129.45/38.17 Rewriting sequence 129.45/38.17 129.45/38.17 F37_IN(0, s(T25')) -> U6^1(f165_in(0, s(T25')), 0, s(T25')) 129.45/38.17 with rule F37_IN(T11, T10') -> U6^1(f165_in(T11, T10'), T11, T10') at position [] and matcher [T11 / 0, T10' / s(T25')] 129.45/38.17 129.45/38.17 U6^1(f165_in(0, s(T25')), 0, s(T25')) -> U6^1(U4(f244_in(0, T25'), 0, s(T25')), 0, s(T25')) 129.45/38.17 with rule f165_in(T24', s(T25'')) -> U4(f244_in(T24', T25''), T24', s(T25'')) at position [0] and matcher [T24' / 0, T25'' / T25'] 129.45/38.17 129.45/38.17 U6^1(U4(f244_in(0, T25'), 0, s(T25')), 0, s(T25')) -> U6^1(U4(f244_out1(true), 0, s(T25')), 0, s(T25')) 129.45/38.17 with rule f244_in(0, T32) -> f244_out1(true) at position [0,0] and matcher [T32 / T25'] 129.45/38.17 129.45/38.17 U6^1(U4(f244_out1(true), 0, s(T25')), 0, s(T25')) -> U6^1(f165_out1(true), 0, s(T25')) 129.45/38.17 with rule U4(f244_out1(X33), T24, s(T25)) -> f165_out1(X33) at position [0] and matcher [X33 / true, T24 / 0, T25 / T25'] 129.45/38.17 129.45/38.17 U6^1(f165_out1(true), 0, s(T25')) -> F167_IN(true, s(T25'), 0) 129.45/38.17 with rule U6^1(f165_out1(T14), T11, T10) -> F167_IN(T14, T10, T11) at position [] and matcher [T14 / true, T11 / 0, T10 / s(T25')] 129.45/38.17 129.45/38.17 F167_IN(true, s(T25'), 0) -> F401_IN(s(T25'), 0) 129.45/38.17 with rule F167_IN(true, T66, T67) -> F401_IN(T66, T67) at position [] and matcher [T66 / s(T25'), T67 / 0] 129.45/38.17 129.45/38.17 F401_IN(s(T25'), 0) -> U8^1(f403_in(s(T25'), 0), s(T25'), 0) 129.45/38.17 with rule F401_IN(T66', T67') -> U8^1(f403_in(T66', T67'), T66', T67') at position [] and matcher [T66' / s(T25'), T67' / 0] 129.45/38.17 129.45/38.17 U8^1(f403_in(s(T25'), 0), s(T25'), 0) -> U8^1(f403_out1(s(T25')), s(T25'), 0) 129.45/38.17 with rule f403_in(T79, 0) -> f403_out1(T79) at position [0] and matcher [T79 / s(T25')] 129.45/38.17 129.45/38.17 U8^1(f403_out1(s(T25')), s(T25'), 0) -> F6_IN(s(T25'), s(0)) 129.45/38.17 with rule U8^1(f403_out1(T72), T66, T67) -> F6_IN(T72, s(T67)) at position [] and matcher [T72 / s(T25'), T66 / s(T25'), T67 / 0] 129.45/38.17 129.45/38.17 F6_IN(s(T25'), s(0)) -> F37_IN(0, s(T25')) 129.45/38.17 with rule F6_IN(T10, s(T11)) -> F37_IN(T11, T10) 129.45/38.17 129.45/38.17 Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence 129.45/38.17 129.45/38.17 129.45/38.17 All these steps are and every following step will be a correct step w.r.t to Q. 129.45/38.17 129.45/38.17 129.45/38.17 129.45/38.17 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (163) 129.45/38.17 NO 129.45/38.17 129.45/38.17 ---------------------------------------- 129.45/38.17 129.45/38.17 (164) PrologToDTProblemTransformerProof (SOUND) 129.45/38.17 Built DT problem from termination graph DT10. 129.45/38.17 129.45/38.17 { 129.45/38.17 "root": 1, 129.45/38.17 "program": { 129.45/38.17 "directives": [], 129.45/38.17 "clauses": [ 129.45/38.17 [ 129.45/38.17 "(le (0) Y (true))", 129.45/38.17 null 129.45/38.17 ], 129.45/38.17 [ 129.45/38.17 "(le (s X) (0) (false))", 129.45/38.17 null 129.45/38.17 ], 129.45/38.17 [ 129.45/38.17 "(le (s X) (s Y) B)", 129.45/38.17 "(le X Y B)" 129.45/38.17 ], 129.45/38.17 [ 129.45/38.17 "(minus X (0) X)", 129.45/38.17 null 129.45/38.17 ], 129.45/38.17 [ 129.45/38.17 "(minus (s X) (s Y) Z)", 129.45/38.17 "(minus X Y Z)" 129.45/38.17 ], 129.45/38.17 [ 129.45/38.17 "(div X (s Y) Z)", 129.45/38.17 "(',' (le (s Y) X B) (if B X (s Y) Z))" 129.45/38.17 ], 129.45/38.17 [ 129.45/38.17 "(if (false) X (s Y) (0))", 129.45/38.17 null 129.45/38.17 ], 129.45/38.17 [ 129.45/38.17 "(if (true) X (s Y) (s Z))", 129.45/38.17 "(',' (minus X Y U) (div U (s Y) Z))" 129.45/38.17 ] 129.45/38.17 ] 129.45/38.17 }, 129.45/38.17 "graph": { 129.45/38.17 "nodes": { 129.45/38.17 "45": { 129.45/38.17 "goal": [ 129.45/38.17 { 129.45/38.17 "clause": 0, 129.45/38.17 "scope": 2, 129.45/38.17 "term": "(',' (le (s T8) T7 X7) (if X7 T7 (s T8) T10))" 129.45/38.17 }, 129.45/38.17 { 129.45/38.17 "clause": 1, 129.45/38.17 "scope": 2, 129.45/38.17 "term": "(',' (le (s T8) T7 X7) (if X7 T7 (s T8) T10))" 129.45/38.17 }, 129.45/38.17 { 129.45/38.17 "clause": 2, 129.45/38.17 "scope": 2, 129.45/38.17 "term": "(',' (le (s T8) T7 X7) (if X7 T7 (s T8) T10))" 129.45/38.17 } 129.45/38.17 ], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [ 129.45/38.17 "T7", 129.45/38.17 "T8" 129.45/38.17 ], 129.45/38.17 "free": ["X7"], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "89": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": 1, 129.45/38.17 "scope": 2, 129.45/38.17 "term": "(',' (le (s T8) T7 X7) (if X7 T7 (s T8) T10))" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [ 129.45/38.17 "T7", 129.45/38.17 "T8" 129.45/38.17 ], 129.45/38.17 "free": ["X7"], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "46": { 129.45/38.17 "goal": [ 129.45/38.17 { 129.45/38.17 "clause": 1, 129.45/38.17 "scope": 2, 129.45/38.17 "term": "(',' (le (s T8) T7 X7) (if X7 T7 (s T8) T10))" 129.45/38.17 }, 129.45/38.17 { 129.45/38.17 "clause": 2, 129.45/38.17 "scope": 2, 129.45/38.17 "term": "(',' (le (s T8) T7 X7) (if X7 T7 (s T8) T10))" 129.45/38.17 } 129.45/38.17 ], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [ 129.45/38.17 "T7", 129.45/38.17 "T8" 129.45/38.17 ], 129.45/38.17 "free": ["X7"], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "type": "Nodes", 129.45/38.17 "151": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": -1, 129.45/38.17 "scope": -1, 129.45/38.17 "term": "(if (false) (0) (s T15) T10)" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": ["T15"], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "152": { 129.45/38.17 "goal": [], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "352": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": -1, 129.45/38.17 "scope": -1, 129.45/38.17 "term": "(',' (le T27 T28 X42) (if X42 (s T28) (s T27) T10))" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [ 129.45/38.17 "T27", 129.45/38.17 "T28" 129.45/38.17 ], 129.45/38.17 "free": ["X42"], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "353": { 129.45/38.17 "goal": [], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "354": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": -1, 129.45/38.17 "scope": -1, 129.45/38.17 "term": "(le T27 T28 X42)" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [ 129.45/38.17 "T27", 129.45/38.17 "T28" 129.45/38.17 ], 129.45/38.17 "free": ["X42"], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "355": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": -1, 129.45/38.17 "scope": -1, 129.45/38.17 "term": "(if T31 (s T28) (s T27) T10)" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [ 129.45/38.17 "T27", 129.45/38.17 "T28", 129.45/38.17 "T31" 129.45/38.17 ], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "356": { 129.45/38.17 "goal": [ 129.45/38.17 { 129.45/38.17 "clause": 0, 129.45/38.17 "scope": 4, 129.45/38.17 "term": "(le T27 T28 X42)" 129.45/38.17 }, 129.45/38.17 { 129.45/38.17 "clause": 1, 129.45/38.17 "scope": 4, 129.45/38.17 "term": "(le T27 T28 X42)" 129.45/38.17 }, 129.45/38.17 { 129.45/38.17 "clause": 2, 129.45/38.17 "scope": 4, 129.45/38.17 "term": "(le T27 T28 X42)" 129.45/38.17 } 129.45/38.17 ], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [ 129.45/38.17 "T27", 129.45/38.17 "T28" 129.45/38.17 ], 129.45/38.17 "free": ["X42"], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "357": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": 0, 129.45/38.17 "scope": 4, 129.45/38.17 "term": "(le T27 T28 X42)" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [ 129.45/38.17 "T27", 129.45/38.17 "T28" 129.45/38.17 ], 129.45/38.17 "free": ["X42"], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "358": { 129.45/38.17 "goal": [ 129.45/38.17 { 129.45/38.17 "clause": 1, 129.45/38.17 "scope": 4, 129.45/38.17 "term": "(le T27 T28 X42)" 129.45/38.17 }, 129.45/38.17 { 129.45/38.17 "clause": 2, 129.45/38.17 "scope": 4, 129.45/38.17 "term": "(le T27 T28 X42)" 129.45/38.17 } 129.45/38.17 ], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [ 129.45/38.17 "T27", 129.45/38.17 "T28" 129.45/38.17 ], 129.45/38.17 "free": ["X42"], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "90": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": 2, 129.45/38.17 "scope": 2, 129.45/38.17 "term": "(',' (le (s T8) T7 X7) (if X7 T7 (s T8) T10))" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [ 129.45/38.17 "T7", 129.45/38.17 "T8" 129.45/38.17 ], 129.45/38.17 "free": ["X7"], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "359": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": -1, 129.45/38.17 "scope": -1, 129.45/38.17 "term": "(true)" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "437": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": -1, 129.45/38.17 "scope": -1, 129.45/38.17 "term": "(',' (minus (s T72) T73 X95) (div X95 (s T73) T75))" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [ 129.45/38.17 "T72", 129.45/38.17 "T73" 129.45/38.17 ], 129.45/38.17 "free": ["X95"], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "438": { 129.45/38.17 "goal": [], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "439": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": -1, 129.45/38.17 "scope": -1, 129.45/38.17 "term": "(minus (s T72) T73 X95)" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [ 129.45/38.17 "T72", 129.45/38.17 "T73" 129.45/38.17 ], 129.45/38.17 "free": ["X95"], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "360": { 129.45/38.17 "goal": [], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "361": { 129.45/38.17 "goal": [], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "362": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": 1, 129.45/38.17 "scope": 4, 129.45/38.17 "term": "(le T27 T28 X42)" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [ 129.45/38.17 "T27", 129.45/38.17 "T28" 129.45/38.17 ], 129.45/38.17 "free": ["X42"], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "363": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": 2, 129.45/38.17 "scope": 4, 129.45/38.17 "term": "(le T27 T28 X42)" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [ 129.45/38.17 "T27", 129.45/38.17 "T28" 129.45/38.17 ], 129.45/38.17 "free": ["X42"], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "440": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": -1, 129.45/38.17 "scope": -1, 129.45/38.17 "term": "(div T78 (s T73) T75)" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [ 129.45/38.17 "T73", 129.45/38.17 "T78" 129.45/38.17 ], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "1": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": -1, 129.45/38.17 "scope": -1, 129.45/38.17 "term": "(div T1 T2 T3)" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [ 129.45/38.17 "T1", 129.45/38.17 "T2" 129.45/38.17 ], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "364": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": -1, 129.45/38.17 "scope": -1, 129.45/38.17 "term": "(true)" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "441": { 129.45/38.17 "goal": [ 129.45/38.17 { 129.45/38.17 "clause": 3, 129.45/38.17 "scope": 6, 129.45/38.17 "term": "(minus (s T72) T73 X95)" 129.45/38.17 }, 129.45/38.17 { 129.45/38.17 "clause": 4, 129.45/38.17 "scope": 6, 129.45/38.17 "term": "(minus (s T72) T73 X95)" 129.45/38.17 } 129.45/38.17 ], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [ 129.45/38.17 "T72", 129.45/38.17 "T73" 129.45/38.17 ], 129.45/38.17 "free": ["X95"], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "365": { 129.45/38.17 "goal": [], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "442": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": 3, 129.45/38.17 "scope": 6, 129.45/38.17 "term": "(minus (s T72) T73 X95)" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [ 129.45/38.17 "T72", 129.45/38.17 "T73" 129.45/38.17 ], 129.45/38.17 "free": ["X95"], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "366": { 129.45/38.17 "goal": [], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "443": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": 4, 129.45/38.17 "scope": 6, 129.45/38.17 "term": "(minus (s T72) T73 X95)" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [ 129.45/38.17 "T72", 129.45/38.17 "T73" 129.45/38.17 ], 129.45/38.17 "free": ["X95"], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "444": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": -1, 129.45/38.17 "scope": -1, 129.45/38.17 "term": "(true)" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "445": { 129.45/38.17 "goal": [], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "446": { 129.45/38.17 "goal": [], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "7": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": 5, 129.45/38.17 "scope": 1, 129.45/38.17 "term": "(div T1 T2 T3)" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [ 129.45/38.17 "T1", 129.45/38.17 "T2" 129.45/38.17 ], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "447": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": -1, 129.45/38.17 "scope": -1, 129.45/38.17 "term": "(minus T90 T91 X116)" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [ 129.45/38.17 "T90", 129.45/38.17 "T91" 129.45/38.17 ], 129.45/38.17 "free": ["X116"], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "448": { 129.45/38.17 "goal": [], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "449": { 129.45/38.17 "goal": [ 129.45/38.17 { 129.45/38.17 "clause": 3, 129.45/38.17 "scope": 7, 129.45/38.17 "term": "(minus T90 T91 X116)" 129.45/38.17 }, 129.45/38.17 { 129.45/38.17 "clause": 4, 129.45/38.17 "scope": 7, 129.45/38.17 "term": "(minus T90 T91 X116)" 129.45/38.17 } 129.45/38.17 ], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [ 129.45/38.17 "T90", 129.45/38.17 "T91" 129.45/38.17 ], 129.45/38.17 "free": ["X116"], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "370": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": -1, 129.45/38.17 "scope": -1, 129.45/38.17 "term": "(le T48 T49 X68)" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [ 129.45/38.17 "T48", 129.45/38.17 "T49" 129.45/38.17 ], 129.45/38.17 "free": ["X68"], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "371": { 129.45/38.17 "goal": [], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "450": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": 3, 129.45/38.17 "scope": 7, 129.45/38.17 "term": "(minus T90 T91 X116)" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [ 129.45/38.17 "T90", 129.45/38.17 "T91" 129.45/38.17 ], 129.45/38.17 "free": ["X116"], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "451": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": 4, 129.45/38.17 "scope": 7, 129.45/38.17 "term": "(minus T90 T91 X116)" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [ 129.45/38.17 "T90", 129.45/38.17 "T91" 129.45/38.17 ], 129.45/38.17 "free": ["X116"], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "375": { 129.45/38.17 "goal": [ 129.45/38.17 { 129.45/38.17 "clause": 6, 129.45/38.17 "scope": 5, 129.45/38.17 "term": "(if T31 (s T28) (s T27) T10)" 129.45/38.17 }, 129.45/38.17 { 129.45/38.17 "clause": 7, 129.45/38.17 "scope": 5, 129.45/38.17 "term": "(if T31 (s T28) (s T27) T10)" 129.45/38.17 } 129.45/38.17 ], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [ 129.45/38.17 "T27", 129.45/38.17 "T28", 129.45/38.17 "T31" 129.45/38.17 ], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "452": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": -1, 129.45/38.17 "scope": -1, 129.45/38.17 "term": "(true)" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "453": { 129.45/38.17 "goal": [], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "377": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": 6, 129.45/38.17 "scope": 5, 129.45/38.17 "term": "(if T31 (s T28) (s T27) T10)" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [ 129.45/38.17 "T27", 129.45/38.17 "T28", 129.45/38.17 "T31" 129.45/38.17 ], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "454": { 129.45/38.17 "goal": [], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "378": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": 7, 129.45/38.17 "scope": 5, 129.45/38.17 "term": "(if T31 (s T28) (s T27) T10)" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [ 129.45/38.17 "T27", 129.45/38.17 "T28", 129.45/38.17 "T31" 129.45/38.17 ], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "455": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": -1, 129.45/38.17 "scope": -1, 129.45/38.17 "term": "(minus T103 T104 X135)" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [ 129.45/38.17 "T103", 129.45/38.17 "T104" 129.45/38.17 ], 129.45/38.17 "free": ["X135"], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "456": { 129.45/38.17 "goal": [], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "337": { 129.45/38.17 "goal": [ 129.45/38.17 { 129.45/38.17 "clause": 6, 129.45/38.17 "scope": 3, 129.45/38.17 "term": "(if (false) (0) (s T15) T10)" 129.45/38.17 }, 129.45/38.17 { 129.45/38.17 "clause": 7, 129.45/38.17 "scope": 3, 129.45/38.17 "term": "(if (false) (0) (s T15) T10)" 129.45/38.17 } 129.45/38.17 ], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": ["T15"], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "339": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": 6, 129.45/38.17 "scope": 3, 129.45/38.17 "term": "(if (false) (0) (s T15) T10)" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": ["T15"], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "383": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": -1, 129.45/38.17 "scope": -1, 129.45/38.17 "term": "(true)" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "340": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": 7, 129.45/38.17 "scope": 3, 129.45/38.17 "term": "(if (false) (0) (s T15) T10)" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": ["T15"], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "384": { 129.45/38.17 "goal": [], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "387": { 129.45/38.17 "goal": [], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "346": { 129.45/38.17 "goal": [{ 129.45/38.17 "clause": -1, 129.45/38.17 "scope": -1, 129.45/38.17 "term": "(true)" 129.45/38.17 }], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "347": { 129.45/38.17 "goal": [], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "348": { 129.45/38.17 "goal": [], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.17 "relations": [] 129.45/38.17 }, 129.45/38.17 "ground": [], 129.45/38.17 "free": [], 129.45/38.17 "exprvars": [] 129.45/38.17 } 129.45/38.17 }, 129.45/38.17 "349": { 129.45/38.17 "goal": [], 129.45/38.17 "kb": { 129.45/38.17 "nonunifying": [], 129.45/38.17 "intvars": {}, 129.45/38.17 "arithmetic": { 129.45/38.17 "type": "PlainIntegerRelationState", 129.45/38.18 "relations": [] 129.45/38.18 }, 129.45/38.18 "ground": [], 129.45/38.18 "free": [], 129.45/38.18 "exprvars": [] 129.45/38.18 } 129.45/38.18 }, 129.45/38.18 "41": { 129.45/38.18 "goal": [{ 129.45/38.18 "clause": -1, 129.45/38.18 "scope": -1, 129.45/38.18 "term": "(',' (le (s T8) T7 X7) (if X7 T7 (s T8) T10))" 129.45/38.18 }], 129.45/38.18 "kb": { 129.45/38.18 "nonunifying": [], 129.45/38.18 "intvars": {}, 129.45/38.18 "arithmetic": { 129.45/38.18 "type": "PlainIntegerRelationState", 129.45/38.18 "relations": [] 129.45/38.18 }, 129.45/38.18 "ground": [ 129.45/38.18 "T7", 129.45/38.18 "T8" 129.45/38.18 ], 129.45/38.18 "free": ["X7"], 129.45/38.18 "exprvars": [] 129.45/38.18 } 129.45/38.18 }, 129.45/38.18 "42": { 129.45/38.18 "goal": [], 129.45/38.18 "kb": { 129.45/38.18 "nonunifying": [], 129.45/38.18 "intvars": {}, 129.45/38.18 "arithmetic": { 129.45/38.18 "type": "PlainIntegerRelationState", 129.45/38.18 "relations": [] 129.45/38.18 }, 129.45/38.18 "ground": [], 129.45/38.18 "free": [], 129.45/38.18 "exprvars": [] 129.45/38.18 } 129.45/38.18 } 129.45/38.18 }, 129.45/38.18 "edges": [ 129.45/38.18 { 129.45/38.18 "from": 1, 129.45/38.18 "to": 7, 129.45/38.18 "label": "CASE" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 7, 129.45/38.18 "to": 41, 129.45/38.18 "label": "EVAL with clause\ndiv(X4, s(X5), X6) :- ','(le(s(X5), X4, X7), if(X7, X4, s(X5), X6)).\nand substitutionT1 -> T7,\nX4 -> T7,\nX5 -> T8,\nT2 -> s(T8),\nT3 -> T10,\nX6 -> T10,\nT9 -> T10" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 7, 129.45/38.18 "to": 42, 129.45/38.18 "label": "EVAL-BACKTRACK" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 41, 129.45/38.18 "to": 45, 129.45/38.18 "label": "CASE" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 45, 129.45/38.18 "to": 46, 129.45/38.18 "label": "BACKTRACK\nfor clause: le(0, Y, true)because of non-unification" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 46, 129.45/38.18 "to": 89, 129.45/38.18 "label": "PARALLEL" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 46, 129.45/38.18 "to": 90, 129.45/38.18 "label": "PARALLEL" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 89, 129.45/38.18 "to": 151, 129.45/38.18 "label": "EVAL with clause\nle(s(X13), 0, false).\nand substitutionT8 -> T15,\nX13 -> T15,\nT7 -> 0,\nX7 -> false" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 89, 129.45/38.18 "to": 152, 129.45/38.18 "label": "EVAL-BACKTRACK" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 90, 129.45/38.18 "to": 352, 129.45/38.18 "label": "EVAL with clause\nle(s(X39), s(X40), X41) :- le(X39, X40, X41).\nand substitutionT8 -> T27,\nX39 -> T27,\nX40 -> T28,\nT7 -> s(T28),\nX7 -> X42,\nX41 -> X42" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 90, 129.45/38.18 "to": 353, 129.45/38.18 "label": "EVAL-BACKTRACK" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 151, 129.45/38.18 "to": 337, 129.45/38.18 "label": "CASE" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 337, 129.45/38.18 "to": 339, 129.45/38.18 "label": "PARALLEL" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 337, 129.45/38.18 "to": 340, 129.45/38.18 "label": "PARALLEL" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 339, 129.45/38.18 "to": 346, 129.45/38.18 "label": "EVAL with clause\nif(false, X26, s(X27), 0).\nand substitutionX26 -> 0,\nT15 -> T22,\nX27 -> T22,\nT10 -> 0" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 339, 129.45/38.18 "to": 347, 129.45/38.18 "label": "EVAL-BACKTRACK" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 340, 129.45/38.18 "to": 349, 129.45/38.18 "label": "BACKTRACK\nfor clause: if(true, X, s(Y), s(Z)) :- ','(minus(X, Y, U), div(U, s(Y), Z))because of non-unification" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 346, 129.45/38.18 "to": 348, 129.45/38.18 "label": "SUCCESS" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 352, 129.45/38.18 "to": 354, 129.45/38.18 "label": "SPLIT 1" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 352, 129.45/38.18 "to": 355, 129.45/38.18 "label": "SPLIT 2\nnew knowledge:\nT27 is ground\nT28 is ground\nT31 is ground\nreplacements:X42 -> T31" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 354, 129.45/38.18 "to": 356, 129.45/38.18 "label": "CASE" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 355, 129.45/38.18 "to": 375, 129.45/38.18 "label": "CASE" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 356, 129.45/38.18 "to": 357, 129.45/38.18 "label": "PARALLEL" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 356, 129.45/38.18 "to": 358, 129.45/38.18 "label": "PARALLEL" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 357, 129.45/38.18 "to": 359, 129.45/38.18 "label": "EVAL with clause\nle(0, X51, true).\nand substitutionT27 -> 0,\nT28 -> T38,\nX51 -> T38,\nX42 -> true" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 357, 129.45/38.18 "to": 360, 129.45/38.18 "label": "EVAL-BACKTRACK" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 358, 129.45/38.18 "to": 362, 129.45/38.18 "label": "PARALLEL" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 358, 129.45/38.18 "to": 363, 129.45/38.18 "label": "PARALLEL" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 359, 129.45/38.18 "to": 361, 129.45/38.18 "label": "SUCCESS" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 362, 129.45/38.18 "to": 364, 129.45/38.18 "label": "EVAL with clause\nle(s(X56), 0, false).\nand substitutionX56 -> T43,\nT27 -> s(T43),\nT28 -> 0,\nX42 -> false" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 362, 129.45/38.18 "to": 365, 129.45/38.18 "label": "EVAL-BACKTRACK" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 363, 129.45/38.18 "to": 370, 129.45/38.18 "label": "EVAL with clause\nle(s(X65), s(X66), X67) :- le(X65, X66, X67).\nand substitutionX65 -> T48,\nT27 -> s(T48),\nX66 -> T49,\nT28 -> s(T49),\nX42 -> X68,\nX67 -> X68" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 363, 129.45/38.18 "to": 371, 129.45/38.18 "label": "EVAL-BACKTRACK" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 364, 129.45/38.18 "to": 366, 129.45/38.18 "label": "SUCCESS" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 370, 129.45/38.18 "to": 354, 129.45/38.18 "label": "INSTANCE with matching:\nT27 -> T48\nT28 -> T49\nX42 -> X68" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 375, 129.45/38.18 "to": 377, 129.45/38.18 "label": "PARALLEL" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 375, 129.45/38.18 "to": 378, 129.45/38.18 "label": "PARALLEL" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 377, 129.45/38.18 "to": 383, 129.45/38.18 "label": "EVAL with clause\nif(false, X83, s(X84), 0).\nand substitutionT31 -> false,\nT28 -> T64,\nX83 -> s(T64),\nT27 -> T65,\nX84 -> T65,\nT10 -> 0" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 377, 129.45/38.18 "to": 384, 129.45/38.18 "label": "EVAL-BACKTRACK" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 378, 129.45/38.18 "to": 437, 129.45/38.18 "label": "EVAL with clause\nif(true, X92, s(X93), s(X94)) :- ','(minus(X92, X93, X95), div(X95, s(X93), X94)).\nand substitutionT31 -> true,\nT28 -> T72,\nX92 -> s(T72),\nT27 -> T73,\nX93 -> T73,\nX94 -> T75,\nT10 -> s(T75),\nT74 -> T75" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 378, 129.45/38.18 "to": 438, 129.45/38.18 "label": "EVAL-BACKTRACK" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 383, 129.45/38.18 "to": 387, 129.45/38.18 "label": "SUCCESS" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 437, 129.45/38.18 "to": 439, 129.45/38.18 "label": "SPLIT 1" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 437, 129.45/38.18 "to": 440, 129.45/38.18 "label": "SPLIT 2\nnew knowledge:\nT72 is ground\nT73 is ground\nT78 is ground\nreplacements:X95 -> T78" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 439, 129.45/38.18 "to": 441, 129.45/38.18 "label": "CASE" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 440, 129.45/38.18 "to": 1, 129.45/38.18 "label": "INSTANCE with matching:\nT1 -> T78\nT2 -> s(T73)\nT3 -> T75" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 441, 129.45/38.18 "to": 442, 129.45/38.18 "label": "PARALLEL" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 441, 129.45/38.18 "to": 443, 129.45/38.18 "label": "PARALLEL" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 442, 129.45/38.18 "to": 444, 129.45/38.18 "label": "EVAL with clause\nminus(X104, 0, X104).\nand substitutionT72 -> T85,\nX104 -> s(T85),\nT73 -> 0,\nX95 -> s(T85)" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 442, 129.45/38.18 "to": 445, 129.45/38.18 "label": "EVAL-BACKTRACK" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 443, 129.45/38.18 "to": 447, 129.45/38.18 "label": "EVAL with clause\nminus(s(X113), s(X114), X115) :- minus(X113, X114, X115).\nand substitutionT72 -> T90,\nX113 -> T90,\nX114 -> T91,\nT73 -> s(T91),\nX95 -> X116,\nX115 -> X116" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 443, 129.45/38.18 "to": 448, 129.45/38.18 "label": "EVAL-BACKTRACK" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 444, 129.45/38.18 "to": 446, 129.45/38.18 "label": "SUCCESS" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 447, 129.45/38.18 "to": 449, 129.45/38.18 "label": "CASE" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 449, 129.45/38.18 "to": 450, 129.45/38.18 "label": "PARALLEL" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 449, 129.45/38.18 "to": 451, 129.45/38.18 "label": "PARALLEL" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 450, 129.45/38.18 "to": 452, 129.45/38.18 "label": "EVAL with clause\nminus(X123, 0, X123).\nand substitutionT90 -> T98,\nX123 -> T98,\nT91 -> 0,\nX116 -> T98" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 450, 129.45/38.18 "to": 453, 129.45/38.18 "label": "EVAL-BACKTRACK" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 451, 129.45/38.18 "to": 455, 129.45/38.18 "label": "EVAL with clause\nminus(s(X132), s(X133), X134) :- minus(X132, X133, X134).\nand substitutionX132 -> T103,\nT90 -> s(T103),\nX133 -> T104,\nT91 -> s(T104),\nX116 -> X135,\nX134 -> X135" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 451, 129.45/38.18 "to": 456, 129.45/38.18 "label": "EVAL-BACKTRACK" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 452, 129.45/38.18 "to": 454, 129.45/38.18 "label": "SUCCESS" 129.45/38.18 }, 129.45/38.18 { 129.45/38.18 "from": 455, 129.45/38.18 "to": 447, 129.45/38.18 "label": "INSTANCE with matching:\nT90 -> T103\nT91 -> T104\nX116 -> X135" 129.45/38.18 } 129.45/38.18 ], 129.45/38.18 "type": "Graph" 129.45/38.18 } 129.45/38.18 } 129.45/38.18 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (165) 129.45/38.18 Obligation: 129.45/38.18 Triples: 129.45/38.18 129.45/38.18 leA(s(X1), s(X2), X3) :- leA(X1, X2, X3). 129.45/38.18 minusD(s(X1), s(X2), X3) :- minusD(X1, X2, X3). 129.45/38.18 divB(s(X1), s(X2), X3) :- leA(X2, X1, X4). 129.45/38.18 divB(s(X1), s(s(X2)), s(X3)) :- ','(lecA(s(X2), X1, true), minusD(X1, X2, X4)). 129.45/38.18 divB(s(X1), s(X2), s(X3)) :- ','(lecA(X2, X1, true), ','(minuscC(X1, X2, X4), divB(X4, s(X2), X3))). 129.45/38.18 129.45/38.18 Clauses: 129.45/38.18 129.45/38.18 lecA(0, X1, true). 129.45/38.18 lecA(s(X1), 0, false). 129.45/38.18 lecA(s(X1), s(X2), X3) :- lecA(X1, X2, X3). 129.45/38.18 divcB(0, s(X1), 0). 129.45/38.18 divcB(s(X1), s(X2), 0) :- lecA(X2, X1, false). 129.45/38.18 divcB(s(X1), s(X2), s(X3)) :- ','(lecA(X2, X1, true), ','(minuscC(X1, X2, X4), divcB(X4, s(X2), X3))). 129.45/38.18 minuscD(X1, 0, X1). 129.45/38.18 minuscD(s(X1), s(X2), X3) :- minuscD(X1, X2, X3). 129.45/38.18 minuscC(X1, 0, s(X1)). 129.45/38.18 minuscC(X1, s(X2), X3) :- minuscD(X1, X2, X3). 129.45/38.18 129.45/38.18 Afs: 129.45/38.18 129.45/38.18 divB(x1, x2, x3) = divB(x1, x2) 129.45/38.18 129.45/38.18 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (166) TriplesToPiDPProof (SOUND) 129.45/38.18 We use the technique of [DT09]. With regard to the inferred argument filtering the predicates were used in the following modes: 129.45/38.18 129.45/38.18 divB_in_3: (b,b,f) 129.45/38.18 129.45/38.18 leA_in_3: (b,b,f) 129.45/38.18 129.45/38.18 lecA_in_3: (b,b,b) 129.45/38.18 129.45/38.18 minusD_in_3: (b,b,f) 129.45/38.18 129.45/38.18 minuscC_in_3: (b,b,f) 129.45/38.18 129.45/38.18 minuscD_in_3: (b,b,f) 129.45/38.18 129.45/38.18 Transforming TRIPLES into the following Term Rewriting System: 129.45/38.18 129.45/38.18 Pi DP problem: 129.45/38.18 The TRS P consists of the following rules: 129.45/38.18 129.45/38.18 DIVB_IN_GGA(s(X1), s(X2), X3) -> U3_GGA(X1, X2, X3, leA_in_gga(X2, X1, X4)) 129.45/38.18 DIVB_IN_GGA(s(X1), s(X2), X3) -> LEA_IN_GGA(X2, X1, X4) 129.45/38.18 LEA_IN_GGA(s(X1), s(X2), X3) -> U1_GGA(X1, X2, X3, leA_in_gga(X1, X2, X3)) 129.45/38.18 LEA_IN_GGA(s(X1), s(X2), X3) -> LEA_IN_GGA(X1, X2, X3) 129.45/38.18 DIVB_IN_GGA(s(X1), s(s(X2)), s(X3)) -> U4_GGA(X1, X2, X3, lecA_in_ggg(s(X2), X1, true)) 129.45/38.18 U4_GGA(X1, X2, X3, lecA_out_ggg(s(X2), X1, true)) -> U5_GGA(X1, X2, X3, minusD_in_gga(X1, X2, X4)) 129.45/38.18 U4_GGA(X1, X2, X3, lecA_out_ggg(s(X2), X1, true)) -> MINUSD_IN_GGA(X1, X2, X4) 129.45/38.18 MINUSD_IN_GGA(s(X1), s(X2), X3) -> U2_GGA(X1, X2, X3, minusD_in_gga(X1, X2, X3)) 129.45/38.18 MINUSD_IN_GGA(s(X1), s(X2), X3) -> MINUSD_IN_GGA(X1, X2, X3) 129.45/38.18 DIVB_IN_GGA(s(X1), s(X2), s(X3)) -> U6_GGA(X1, X2, X3, lecA_in_ggg(X2, X1, true)) 129.45/38.18 U6_GGA(X1, X2, X3, lecA_out_ggg(X2, X1, true)) -> U7_GGA(X1, X2, X3, minuscC_in_gga(X1, X2, X4)) 129.45/38.18 U7_GGA(X1, X2, X3, minuscC_out_gga(X1, X2, X4)) -> U8_GGA(X1, X2, X3, divB_in_gga(X4, s(X2), X3)) 129.45/38.18 U7_GGA(X1, X2, X3, minuscC_out_gga(X1, X2, X4)) -> DIVB_IN_GGA(X4, s(X2), X3) 129.45/38.18 129.45/38.18 The TRS R consists of the following rules: 129.45/38.18 129.45/38.18 lecA_in_ggg(0, X1, true) -> lecA_out_ggg(0, X1, true) 129.45/38.18 lecA_in_ggg(s(X1), 0, false) -> lecA_out_ggg(s(X1), 0, false) 129.45/38.18 lecA_in_ggg(s(X1), s(X2), X3) -> U10_ggg(X1, X2, X3, lecA_in_ggg(X1, X2, X3)) 129.45/38.18 U10_ggg(X1, X2, X3, lecA_out_ggg(X1, X2, X3)) -> lecA_out_ggg(s(X1), s(X2), X3) 129.45/38.18 minuscC_in_gga(X1, 0, s(X1)) -> minuscC_out_gga(X1, 0, s(X1)) 129.45/38.18 minuscC_in_gga(X1, s(X2), X3) -> U16_gga(X1, X2, X3, minuscD_in_gga(X1, X2, X3)) 129.45/38.18 minuscD_in_gga(X1, 0, X1) -> minuscD_out_gga(X1, 0, X1) 129.45/38.18 minuscD_in_gga(s(X1), s(X2), X3) -> U15_gga(X1, X2, X3, minuscD_in_gga(X1, X2, X3)) 129.45/38.18 U15_gga(X1, X2, X3, minuscD_out_gga(X1, X2, X3)) -> minuscD_out_gga(s(X1), s(X2), X3) 129.45/38.18 U16_gga(X1, X2, X3, minuscD_out_gga(X1, X2, X3)) -> minuscC_out_gga(X1, s(X2), X3) 129.45/38.18 129.45/38.18 The argument filtering Pi contains the following mapping: 129.45/38.18 divB_in_gga(x1, x2, x3) = divB_in_gga(x1, x2) 129.45/38.18 129.45/38.18 s(x1) = s(x1) 129.45/38.18 129.45/38.18 leA_in_gga(x1, x2, x3) = leA_in_gga(x1, x2) 129.45/38.18 129.45/38.18 lecA_in_ggg(x1, x2, x3) = lecA_in_ggg(x1, x2, x3) 129.45/38.18 129.45/38.18 0 = 0 129.45/38.18 129.45/38.18 true = true 129.45/38.18 129.45/38.18 lecA_out_ggg(x1, x2, x3) = lecA_out_ggg(x1, x2, x3) 129.45/38.18 129.45/38.18 false = false 129.45/38.18 129.45/38.18 U10_ggg(x1, x2, x3, x4) = U10_ggg(x1, x2, x3, x4) 129.45/38.18 129.45/38.18 minusD_in_gga(x1, x2, x3) = minusD_in_gga(x1, x2) 129.45/38.18 129.45/38.18 minuscC_in_gga(x1, x2, x3) = minuscC_in_gga(x1, x2) 129.45/38.18 129.45/38.18 minuscC_out_gga(x1, x2, x3) = minuscC_out_gga(x1, x2, x3) 129.45/38.18 129.45/38.18 U16_gga(x1, x2, x3, x4) = U16_gga(x1, x2, x4) 129.45/38.18 129.45/38.18 minuscD_in_gga(x1, x2, x3) = minuscD_in_gga(x1, x2) 129.45/38.18 129.45/38.18 minuscD_out_gga(x1, x2, x3) = minuscD_out_gga(x1, x2, x3) 129.45/38.18 129.45/38.18 U15_gga(x1, x2, x3, x4) = U15_gga(x1, x2, x4) 129.45/38.18 129.45/38.18 DIVB_IN_GGA(x1, x2, x3) = DIVB_IN_GGA(x1, x2) 129.45/38.18 129.45/38.18 U3_GGA(x1, x2, x3, x4) = U3_GGA(x1, x2, x4) 129.45/38.18 129.45/38.18 LEA_IN_GGA(x1, x2, x3) = LEA_IN_GGA(x1, x2) 129.45/38.18 129.45/38.18 U1_GGA(x1, x2, x3, x4) = U1_GGA(x1, x2, x4) 129.45/38.18 129.45/38.18 U4_GGA(x1, x2, x3, x4) = U4_GGA(x1, x2, x4) 129.45/38.18 129.45/38.18 U5_GGA(x1, x2, x3, x4) = U5_GGA(x1, x2, x4) 129.45/38.18 129.45/38.18 MINUSD_IN_GGA(x1, x2, x3) = MINUSD_IN_GGA(x1, x2) 129.45/38.18 129.45/38.18 U2_GGA(x1, x2, x3, x4) = U2_GGA(x1, x2, x4) 129.45/38.18 129.45/38.18 U6_GGA(x1, x2, x3, x4) = U6_GGA(x1, x2, x4) 129.45/38.18 129.45/38.18 U7_GGA(x1, x2, x3, x4) = U7_GGA(x1, x2, x4) 129.45/38.18 129.45/38.18 U8_GGA(x1, x2, x3, x4) = U8_GGA(x1, x2, x4) 129.45/38.18 129.45/38.18 129.45/38.18 We have to consider all (P,R,Pi)-chains 129.45/38.18 129.45/38.18 129.45/38.18 Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES 129.45/38.18 129.45/38.18 129.45/38.18 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (167) 129.45/38.18 Obligation: 129.45/38.18 Pi DP problem: 129.45/38.18 The TRS P consists of the following rules: 129.45/38.18 129.45/38.18 DIVB_IN_GGA(s(X1), s(X2), X3) -> U3_GGA(X1, X2, X3, leA_in_gga(X2, X1, X4)) 129.45/38.18 DIVB_IN_GGA(s(X1), s(X2), X3) -> LEA_IN_GGA(X2, X1, X4) 129.45/38.18 LEA_IN_GGA(s(X1), s(X2), X3) -> U1_GGA(X1, X2, X3, leA_in_gga(X1, X2, X3)) 129.45/38.18 LEA_IN_GGA(s(X1), s(X2), X3) -> LEA_IN_GGA(X1, X2, X3) 129.45/38.18 DIVB_IN_GGA(s(X1), s(s(X2)), s(X3)) -> U4_GGA(X1, X2, X3, lecA_in_ggg(s(X2), X1, true)) 129.45/38.18 U4_GGA(X1, X2, X3, lecA_out_ggg(s(X2), X1, true)) -> U5_GGA(X1, X2, X3, minusD_in_gga(X1, X2, X4)) 129.45/38.18 U4_GGA(X1, X2, X3, lecA_out_ggg(s(X2), X1, true)) -> MINUSD_IN_GGA(X1, X2, X4) 129.45/38.18 MINUSD_IN_GGA(s(X1), s(X2), X3) -> U2_GGA(X1, X2, X3, minusD_in_gga(X1, X2, X3)) 129.45/38.18 MINUSD_IN_GGA(s(X1), s(X2), X3) -> MINUSD_IN_GGA(X1, X2, X3) 129.45/38.18 DIVB_IN_GGA(s(X1), s(X2), s(X3)) -> U6_GGA(X1, X2, X3, lecA_in_ggg(X2, X1, true)) 129.45/38.18 U6_GGA(X1, X2, X3, lecA_out_ggg(X2, X1, true)) -> U7_GGA(X1, X2, X3, minuscC_in_gga(X1, X2, X4)) 129.45/38.18 U7_GGA(X1, X2, X3, minuscC_out_gga(X1, X2, X4)) -> U8_GGA(X1, X2, X3, divB_in_gga(X4, s(X2), X3)) 129.45/38.18 U7_GGA(X1, X2, X3, minuscC_out_gga(X1, X2, X4)) -> DIVB_IN_GGA(X4, s(X2), X3) 129.45/38.18 129.45/38.18 The TRS R consists of the following rules: 129.45/38.18 129.45/38.18 lecA_in_ggg(0, X1, true) -> lecA_out_ggg(0, X1, true) 129.45/38.18 lecA_in_ggg(s(X1), 0, false) -> lecA_out_ggg(s(X1), 0, false) 129.45/38.18 lecA_in_ggg(s(X1), s(X2), X3) -> U10_ggg(X1, X2, X3, lecA_in_ggg(X1, X2, X3)) 129.45/38.18 U10_ggg(X1, X2, X3, lecA_out_ggg(X1, X2, X3)) -> lecA_out_ggg(s(X1), s(X2), X3) 129.45/38.18 minuscC_in_gga(X1, 0, s(X1)) -> minuscC_out_gga(X1, 0, s(X1)) 129.45/38.18 minuscC_in_gga(X1, s(X2), X3) -> U16_gga(X1, X2, X3, minuscD_in_gga(X1, X2, X3)) 129.45/38.18 minuscD_in_gga(X1, 0, X1) -> minuscD_out_gga(X1, 0, X1) 129.45/38.18 minuscD_in_gga(s(X1), s(X2), X3) -> U15_gga(X1, X2, X3, minuscD_in_gga(X1, X2, X3)) 129.45/38.18 U15_gga(X1, X2, X3, minuscD_out_gga(X1, X2, X3)) -> minuscD_out_gga(s(X1), s(X2), X3) 129.45/38.18 U16_gga(X1, X2, X3, minuscD_out_gga(X1, X2, X3)) -> minuscC_out_gga(X1, s(X2), X3) 129.45/38.18 129.45/38.18 The argument filtering Pi contains the following mapping: 129.45/38.18 divB_in_gga(x1, x2, x3) = divB_in_gga(x1, x2) 129.45/38.18 129.45/38.18 s(x1) = s(x1) 129.45/38.18 129.45/38.18 leA_in_gga(x1, x2, x3) = leA_in_gga(x1, x2) 129.45/38.18 129.45/38.18 lecA_in_ggg(x1, x2, x3) = lecA_in_ggg(x1, x2, x3) 129.45/38.18 129.45/38.18 0 = 0 129.45/38.18 129.45/38.18 true = true 129.45/38.18 129.45/38.18 lecA_out_ggg(x1, x2, x3) = lecA_out_ggg(x1, x2, x3) 129.45/38.18 129.45/38.18 false = false 129.45/38.18 129.45/38.18 U10_ggg(x1, x2, x3, x4) = U10_ggg(x1, x2, x3, x4) 129.45/38.18 129.45/38.18 minusD_in_gga(x1, x2, x3) = minusD_in_gga(x1, x2) 129.45/38.18 129.45/38.18 minuscC_in_gga(x1, x2, x3) = minuscC_in_gga(x1, x2) 129.45/38.18 129.45/38.18 minuscC_out_gga(x1, x2, x3) = minuscC_out_gga(x1, x2, x3) 129.45/38.18 129.45/38.18 U16_gga(x1, x2, x3, x4) = U16_gga(x1, x2, x4) 129.45/38.18 129.45/38.18 minuscD_in_gga(x1, x2, x3) = minuscD_in_gga(x1, x2) 129.45/38.18 129.45/38.18 minuscD_out_gga(x1, x2, x3) = minuscD_out_gga(x1, x2, x3) 129.45/38.18 129.45/38.18 U15_gga(x1, x2, x3, x4) = U15_gga(x1, x2, x4) 129.45/38.18 129.45/38.18 DIVB_IN_GGA(x1, x2, x3) = DIVB_IN_GGA(x1, x2) 129.45/38.18 129.45/38.18 U3_GGA(x1, x2, x3, x4) = U3_GGA(x1, x2, x4) 129.45/38.18 129.45/38.18 LEA_IN_GGA(x1, x2, x3) = LEA_IN_GGA(x1, x2) 129.45/38.18 129.45/38.18 U1_GGA(x1, x2, x3, x4) = U1_GGA(x1, x2, x4) 129.45/38.18 129.45/38.18 U4_GGA(x1, x2, x3, x4) = U4_GGA(x1, x2, x4) 129.45/38.18 129.45/38.18 U5_GGA(x1, x2, x3, x4) = U5_GGA(x1, x2, x4) 129.45/38.18 129.45/38.18 MINUSD_IN_GGA(x1, x2, x3) = MINUSD_IN_GGA(x1, x2) 129.45/38.18 129.45/38.18 U2_GGA(x1, x2, x3, x4) = U2_GGA(x1, x2, x4) 129.45/38.18 129.45/38.18 U6_GGA(x1, x2, x3, x4) = U6_GGA(x1, x2, x4) 129.45/38.18 129.45/38.18 U7_GGA(x1, x2, x3, x4) = U7_GGA(x1, x2, x4) 129.45/38.18 129.45/38.18 U8_GGA(x1, x2, x3, x4) = U8_GGA(x1, x2, x4) 129.45/38.18 129.45/38.18 129.45/38.18 We have to consider all (P,R,Pi)-chains 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (168) DependencyGraphProof (EQUIVALENT) 129.45/38.18 The approximation of the Dependency Graph [LOPSTR] contains 3 SCCs with 8 less nodes. 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (169) 129.45/38.18 Complex Obligation (AND) 129.45/38.18 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (170) 129.45/38.18 Obligation: 129.45/38.18 Pi DP problem: 129.45/38.18 The TRS P consists of the following rules: 129.45/38.18 129.45/38.18 MINUSD_IN_GGA(s(X1), s(X2), X3) -> MINUSD_IN_GGA(X1, X2, X3) 129.45/38.18 129.45/38.18 The TRS R consists of the following rules: 129.45/38.18 129.45/38.18 lecA_in_ggg(0, X1, true) -> lecA_out_ggg(0, X1, true) 129.45/38.18 lecA_in_ggg(s(X1), 0, false) -> lecA_out_ggg(s(X1), 0, false) 129.45/38.18 lecA_in_ggg(s(X1), s(X2), X3) -> U10_ggg(X1, X2, X3, lecA_in_ggg(X1, X2, X3)) 129.45/38.18 U10_ggg(X1, X2, X3, lecA_out_ggg(X1, X2, X3)) -> lecA_out_ggg(s(X1), s(X2), X3) 129.45/38.18 minuscC_in_gga(X1, 0, s(X1)) -> minuscC_out_gga(X1, 0, s(X1)) 129.45/38.18 minuscC_in_gga(X1, s(X2), X3) -> U16_gga(X1, X2, X3, minuscD_in_gga(X1, X2, X3)) 129.45/38.18 minuscD_in_gga(X1, 0, X1) -> minuscD_out_gga(X1, 0, X1) 129.45/38.18 minuscD_in_gga(s(X1), s(X2), X3) -> U15_gga(X1, X2, X3, minuscD_in_gga(X1, X2, X3)) 129.45/38.18 U15_gga(X1, X2, X3, minuscD_out_gga(X1, X2, X3)) -> minuscD_out_gga(s(X1), s(X2), X3) 129.45/38.18 U16_gga(X1, X2, X3, minuscD_out_gga(X1, X2, X3)) -> minuscC_out_gga(X1, s(X2), X3) 129.45/38.18 129.45/38.18 The argument filtering Pi contains the following mapping: 129.45/38.18 s(x1) = s(x1) 129.45/38.18 129.45/38.18 lecA_in_ggg(x1, x2, x3) = lecA_in_ggg(x1, x2, x3) 129.45/38.18 129.45/38.18 0 = 0 129.45/38.18 129.45/38.18 true = true 129.45/38.18 129.45/38.18 lecA_out_ggg(x1, x2, x3) = lecA_out_ggg(x1, x2, x3) 129.45/38.18 129.45/38.18 false = false 129.45/38.18 129.45/38.18 U10_ggg(x1, x2, x3, x4) = U10_ggg(x1, x2, x3, x4) 129.45/38.18 129.45/38.18 minuscC_in_gga(x1, x2, x3) = minuscC_in_gga(x1, x2) 129.45/38.18 129.45/38.18 minuscC_out_gga(x1, x2, x3) = minuscC_out_gga(x1, x2, x3) 129.45/38.18 129.45/38.18 U16_gga(x1, x2, x3, x4) = U16_gga(x1, x2, x4) 129.45/38.18 129.45/38.18 minuscD_in_gga(x1, x2, x3) = minuscD_in_gga(x1, x2) 129.45/38.18 129.45/38.18 minuscD_out_gga(x1, x2, x3) = minuscD_out_gga(x1, x2, x3) 129.45/38.18 129.45/38.18 U15_gga(x1, x2, x3, x4) = U15_gga(x1, x2, x4) 129.45/38.18 129.45/38.18 MINUSD_IN_GGA(x1, x2, x3) = MINUSD_IN_GGA(x1, x2) 129.45/38.18 129.45/38.18 129.45/38.18 We have to consider all (P,R,Pi)-chains 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (171) UsableRulesProof (EQUIVALENT) 129.45/38.18 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (172) 129.45/38.18 Obligation: 129.45/38.18 Pi DP problem: 129.45/38.18 The TRS P consists of the following rules: 129.45/38.18 129.45/38.18 MINUSD_IN_GGA(s(X1), s(X2), X3) -> MINUSD_IN_GGA(X1, X2, X3) 129.45/38.18 129.45/38.18 R is empty. 129.45/38.18 The argument filtering Pi contains the following mapping: 129.45/38.18 s(x1) = s(x1) 129.45/38.18 129.45/38.18 MINUSD_IN_GGA(x1, x2, x3) = MINUSD_IN_GGA(x1, x2) 129.45/38.18 129.45/38.18 129.45/38.18 We have to consider all (P,R,Pi)-chains 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (173) PiDPToQDPProof (SOUND) 129.45/38.18 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (174) 129.45/38.18 Obligation: 129.45/38.18 Q DP problem: 129.45/38.18 The TRS P consists of the following rules: 129.45/38.18 129.45/38.18 MINUSD_IN_GGA(s(X1), s(X2)) -> MINUSD_IN_GGA(X1, X2) 129.45/38.18 129.45/38.18 R is empty. 129.45/38.18 Q is empty. 129.45/38.18 We have to consider all (P,Q,R)-chains. 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (175) QDPSizeChangeProof (EQUIVALENT) 129.45/38.18 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. 129.45/38.18 129.45/38.18 From the DPs we obtained the following set of size-change graphs: 129.45/38.18 *MINUSD_IN_GGA(s(X1), s(X2)) -> MINUSD_IN_GGA(X1, X2) 129.45/38.18 The graph contains the following edges 1 > 1, 2 > 2 129.45/38.18 129.45/38.18 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (176) 129.45/38.18 YES 129.45/38.18 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (177) 129.45/38.18 Obligation: 129.45/38.18 Pi DP problem: 129.45/38.18 The TRS P consists of the following rules: 129.45/38.18 129.45/38.18 LEA_IN_GGA(s(X1), s(X2), X3) -> LEA_IN_GGA(X1, X2, X3) 129.45/38.18 129.45/38.18 The TRS R consists of the following rules: 129.45/38.18 129.45/38.18 lecA_in_ggg(0, X1, true) -> lecA_out_ggg(0, X1, true) 129.45/38.18 lecA_in_ggg(s(X1), 0, false) -> lecA_out_ggg(s(X1), 0, false) 129.45/38.18 lecA_in_ggg(s(X1), s(X2), X3) -> U10_ggg(X1, X2, X3, lecA_in_ggg(X1, X2, X3)) 129.45/38.18 U10_ggg(X1, X2, X3, lecA_out_ggg(X1, X2, X3)) -> lecA_out_ggg(s(X1), s(X2), X3) 129.45/38.18 minuscC_in_gga(X1, 0, s(X1)) -> minuscC_out_gga(X1, 0, s(X1)) 129.45/38.18 minuscC_in_gga(X1, s(X2), X3) -> U16_gga(X1, X2, X3, minuscD_in_gga(X1, X2, X3)) 129.45/38.18 minuscD_in_gga(X1, 0, X1) -> minuscD_out_gga(X1, 0, X1) 129.45/38.18 minuscD_in_gga(s(X1), s(X2), X3) -> U15_gga(X1, X2, X3, minuscD_in_gga(X1, X2, X3)) 129.45/38.18 U15_gga(X1, X2, X3, minuscD_out_gga(X1, X2, X3)) -> minuscD_out_gga(s(X1), s(X2), X3) 129.45/38.18 U16_gga(X1, X2, X3, minuscD_out_gga(X1, X2, X3)) -> minuscC_out_gga(X1, s(X2), X3) 129.45/38.18 129.45/38.18 The argument filtering Pi contains the following mapping: 129.45/38.18 s(x1) = s(x1) 129.45/38.18 129.45/38.18 lecA_in_ggg(x1, x2, x3) = lecA_in_ggg(x1, x2, x3) 129.45/38.18 129.45/38.18 0 = 0 129.45/38.18 129.45/38.18 true = true 129.45/38.18 129.45/38.18 lecA_out_ggg(x1, x2, x3) = lecA_out_ggg(x1, x2, x3) 129.45/38.18 129.45/38.18 false = false 129.45/38.18 129.45/38.18 U10_ggg(x1, x2, x3, x4) = U10_ggg(x1, x2, x3, x4) 129.45/38.18 129.45/38.18 minuscC_in_gga(x1, x2, x3) = minuscC_in_gga(x1, x2) 129.45/38.18 129.45/38.18 minuscC_out_gga(x1, x2, x3) = minuscC_out_gga(x1, x2, x3) 129.45/38.18 129.45/38.18 U16_gga(x1, x2, x3, x4) = U16_gga(x1, x2, x4) 129.45/38.18 129.45/38.18 minuscD_in_gga(x1, x2, x3) = minuscD_in_gga(x1, x2) 129.45/38.18 129.45/38.18 minuscD_out_gga(x1, x2, x3) = minuscD_out_gga(x1, x2, x3) 129.45/38.18 129.45/38.18 U15_gga(x1, x2, x3, x4) = U15_gga(x1, x2, x4) 129.45/38.18 129.45/38.18 LEA_IN_GGA(x1, x2, x3) = LEA_IN_GGA(x1, x2) 129.45/38.18 129.45/38.18 129.45/38.18 We have to consider all (P,R,Pi)-chains 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (178) UsableRulesProof (EQUIVALENT) 129.45/38.18 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (179) 129.45/38.18 Obligation: 129.45/38.18 Pi DP problem: 129.45/38.18 The TRS P consists of the following rules: 129.45/38.18 129.45/38.18 LEA_IN_GGA(s(X1), s(X2), X3) -> LEA_IN_GGA(X1, X2, X3) 129.45/38.18 129.45/38.18 R is empty. 129.45/38.18 The argument filtering Pi contains the following mapping: 129.45/38.18 s(x1) = s(x1) 129.45/38.18 129.45/38.18 LEA_IN_GGA(x1, x2, x3) = LEA_IN_GGA(x1, x2) 129.45/38.18 129.45/38.18 129.45/38.18 We have to consider all (P,R,Pi)-chains 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (180) PiDPToQDPProof (SOUND) 129.45/38.18 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (181) 129.45/38.18 Obligation: 129.45/38.18 Q DP problem: 129.45/38.18 The TRS P consists of the following rules: 129.45/38.18 129.45/38.18 LEA_IN_GGA(s(X1), s(X2)) -> LEA_IN_GGA(X1, X2) 129.45/38.18 129.45/38.18 R is empty. 129.45/38.18 Q is empty. 129.45/38.18 We have to consider all (P,Q,R)-chains. 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (182) QDPSizeChangeProof (EQUIVALENT) 129.45/38.18 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. 129.45/38.18 129.45/38.18 From the DPs we obtained the following set of size-change graphs: 129.45/38.18 *LEA_IN_GGA(s(X1), s(X2)) -> LEA_IN_GGA(X1, X2) 129.45/38.18 The graph contains the following edges 1 > 1, 2 > 2 129.45/38.18 129.45/38.18 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (183) 129.45/38.18 YES 129.45/38.18 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (184) 129.45/38.18 Obligation: 129.45/38.18 Pi DP problem: 129.45/38.18 The TRS P consists of the following rules: 129.45/38.18 129.45/38.18 DIVB_IN_GGA(s(X1), s(X2), s(X3)) -> U6_GGA(X1, X2, X3, lecA_in_ggg(X2, X1, true)) 129.45/38.18 U6_GGA(X1, X2, X3, lecA_out_ggg(X2, X1, true)) -> U7_GGA(X1, X2, X3, minuscC_in_gga(X1, X2, X4)) 129.45/38.18 U7_GGA(X1, X2, X3, minuscC_out_gga(X1, X2, X4)) -> DIVB_IN_GGA(X4, s(X2), X3) 129.45/38.18 129.45/38.18 The TRS R consists of the following rules: 129.45/38.18 129.45/38.18 lecA_in_ggg(0, X1, true) -> lecA_out_ggg(0, X1, true) 129.45/38.18 lecA_in_ggg(s(X1), 0, false) -> lecA_out_ggg(s(X1), 0, false) 129.45/38.18 lecA_in_ggg(s(X1), s(X2), X3) -> U10_ggg(X1, X2, X3, lecA_in_ggg(X1, X2, X3)) 129.45/38.18 U10_ggg(X1, X2, X3, lecA_out_ggg(X1, X2, X3)) -> lecA_out_ggg(s(X1), s(X2), X3) 129.45/38.18 minuscC_in_gga(X1, 0, s(X1)) -> minuscC_out_gga(X1, 0, s(X1)) 129.45/38.18 minuscC_in_gga(X1, s(X2), X3) -> U16_gga(X1, X2, X3, minuscD_in_gga(X1, X2, X3)) 129.45/38.18 minuscD_in_gga(X1, 0, X1) -> minuscD_out_gga(X1, 0, X1) 129.45/38.18 minuscD_in_gga(s(X1), s(X2), X3) -> U15_gga(X1, X2, X3, minuscD_in_gga(X1, X2, X3)) 129.45/38.18 U15_gga(X1, X2, X3, minuscD_out_gga(X1, X2, X3)) -> minuscD_out_gga(s(X1), s(X2), X3) 129.45/38.18 U16_gga(X1, X2, X3, minuscD_out_gga(X1, X2, X3)) -> minuscC_out_gga(X1, s(X2), X3) 129.45/38.18 129.45/38.18 The argument filtering Pi contains the following mapping: 129.45/38.18 s(x1) = s(x1) 129.45/38.18 129.45/38.18 lecA_in_ggg(x1, x2, x3) = lecA_in_ggg(x1, x2, x3) 129.45/38.18 129.45/38.18 0 = 0 129.45/38.18 129.45/38.18 true = true 129.45/38.18 129.45/38.18 lecA_out_ggg(x1, x2, x3) = lecA_out_ggg(x1, x2, x3) 129.45/38.18 129.45/38.18 false = false 129.45/38.18 129.45/38.18 U10_ggg(x1, x2, x3, x4) = U10_ggg(x1, x2, x3, x4) 129.45/38.18 129.45/38.18 minuscC_in_gga(x1, x2, x3) = minuscC_in_gga(x1, x2) 129.45/38.18 129.45/38.18 minuscC_out_gga(x1, x2, x3) = minuscC_out_gga(x1, x2, x3) 129.45/38.18 129.45/38.18 U16_gga(x1, x2, x3, x4) = U16_gga(x1, x2, x4) 129.45/38.18 129.45/38.18 minuscD_in_gga(x1, x2, x3) = minuscD_in_gga(x1, x2) 129.45/38.18 129.45/38.18 minuscD_out_gga(x1, x2, x3) = minuscD_out_gga(x1, x2, x3) 129.45/38.18 129.45/38.18 U15_gga(x1, x2, x3, x4) = U15_gga(x1, x2, x4) 129.45/38.18 129.45/38.18 DIVB_IN_GGA(x1, x2, x3) = DIVB_IN_GGA(x1, x2) 129.45/38.18 129.45/38.18 U6_GGA(x1, x2, x3, x4) = U6_GGA(x1, x2, x4) 129.45/38.18 129.45/38.18 U7_GGA(x1, x2, x3, x4) = U7_GGA(x1, x2, x4) 129.45/38.18 129.45/38.18 129.45/38.18 We have to consider all (P,R,Pi)-chains 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (185) PiDPToQDPProof (SOUND) 129.45/38.18 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (186) 129.45/38.18 Obligation: 129.45/38.18 Q DP problem: 129.45/38.18 The TRS P consists of the following rules: 129.45/38.18 129.45/38.18 DIVB_IN_GGA(s(X1), s(X2)) -> U6_GGA(X1, X2, lecA_in_ggg(X2, X1, true)) 129.45/38.18 U6_GGA(X1, X2, lecA_out_ggg(X2, X1, true)) -> U7_GGA(X1, X2, minuscC_in_gga(X1, X2)) 129.45/38.18 U7_GGA(X1, X2, minuscC_out_gga(X1, X2, X4)) -> DIVB_IN_GGA(X4, s(X2)) 129.45/38.18 129.45/38.18 The TRS R consists of the following rules: 129.45/38.18 129.45/38.18 lecA_in_ggg(0, X1, true) -> lecA_out_ggg(0, X1, true) 129.45/38.18 lecA_in_ggg(s(X1), 0, false) -> lecA_out_ggg(s(X1), 0, false) 129.45/38.18 lecA_in_ggg(s(X1), s(X2), X3) -> U10_ggg(X1, X2, X3, lecA_in_ggg(X1, X2, X3)) 129.45/38.18 U10_ggg(X1, X2, X3, lecA_out_ggg(X1, X2, X3)) -> lecA_out_ggg(s(X1), s(X2), X3) 129.45/38.18 minuscC_in_gga(X1, 0) -> minuscC_out_gga(X1, 0, s(X1)) 129.45/38.18 minuscC_in_gga(X1, s(X2)) -> U16_gga(X1, X2, minuscD_in_gga(X1, X2)) 129.45/38.18 minuscD_in_gga(X1, 0) -> minuscD_out_gga(X1, 0, X1) 129.45/38.18 minuscD_in_gga(s(X1), s(X2)) -> U15_gga(X1, X2, minuscD_in_gga(X1, X2)) 129.45/38.18 U15_gga(X1, X2, minuscD_out_gga(X1, X2, X3)) -> minuscD_out_gga(s(X1), s(X2), X3) 129.45/38.18 U16_gga(X1, X2, minuscD_out_gga(X1, X2, X3)) -> minuscC_out_gga(X1, s(X2), X3) 129.45/38.18 129.45/38.18 The set Q consists of the following terms: 129.45/38.18 129.45/38.18 lecA_in_ggg(x0, x1, x2) 129.45/38.18 U10_ggg(x0, x1, x2, x3) 129.45/38.18 minuscC_in_gga(x0, x1) 129.45/38.18 minuscD_in_gga(x0, x1) 129.45/38.18 U15_gga(x0, x1, x2) 129.45/38.18 U16_gga(x0, x1, x2) 129.45/38.18 129.45/38.18 We have to consider all (P,Q,R)-chains. 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (187) QDPQMonotonicMRRProof (EQUIVALENT) 129.45/38.18 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. 129.45/38.18 129.45/38.18 129.45/38.18 Strictly oriented rules of the TRS R: 129.45/38.18 129.45/38.18 lecA_in_ggg(s(X1), 0, false) -> lecA_out_ggg(s(X1), 0, false) 129.45/38.18 129.45/38.18 Used ordering: Polynomial interpretation [POLO]: 129.45/38.18 129.45/38.18 POL(0) = 0 129.45/38.18 POL(DIVB_IN_GGA(x_1, x_2)) = 0 129.45/38.18 POL(U10_ggg(x_1, x_2, x_3, x_4)) = x_4 129.45/38.18 POL(U15_gga(x_1, x_2, x_3)) = 0 129.45/38.18 POL(U16_gga(x_1, x_2, x_3)) = 1 129.45/38.18 POL(U6_GGA(x_1, x_2, x_3)) = 2*x_3 129.45/38.18 POL(U7_GGA(x_1, x_2, x_3)) = 0 129.45/38.18 POL(false) = 1 129.45/38.18 POL(lecA_in_ggg(x_1, x_2, x_3)) = 2*x_3 129.45/38.18 POL(lecA_out_ggg(x_1, x_2, x_3)) = 0 129.45/38.18 POL(minuscC_in_gga(x_1, x_2)) = 2 129.45/38.18 POL(minuscC_out_gga(x_1, x_2, x_3)) = 0 129.45/38.18 POL(minuscD_in_gga(x_1, x_2)) = 0 129.45/38.18 POL(minuscD_out_gga(x_1, x_2, x_3)) = 0 129.45/38.18 POL(s(x_1)) = 0 129.45/38.18 POL(true) = 0 129.45/38.18 129.45/38.18 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (188) 129.45/38.18 Obligation: 129.45/38.18 Q DP problem: 129.45/38.18 The TRS P consists of the following rules: 129.45/38.18 129.45/38.18 DIVB_IN_GGA(s(X1), s(X2)) -> U6_GGA(X1, X2, lecA_in_ggg(X2, X1, true)) 129.45/38.18 U6_GGA(X1, X2, lecA_out_ggg(X2, X1, true)) -> U7_GGA(X1, X2, minuscC_in_gga(X1, X2)) 129.45/38.18 U7_GGA(X1, X2, minuscC_out_gga(X1, X2, X4)) -> DIVB_IN_GGA(X4, s(X2)) 129.45/38.18 129.45/38.18 The TRS R consists of the following rules: 129.45/38.18 129.45/38.18 lecA_in_ggg(0, X1, true) -> lecA_out_ggg(0, X1, true) 129.45/38.18 lecA_in_ggg(s(X1), s(X2), X3) -> U10_ggg(X1, X2, X3, lecA_in_ggg(X1, X2, X3)) 129.45/38.18 U10_ggg(X1, X2, X3, lecA_out_ggg(X1, X2, X3)) -> lecA_out_ggg(s(X1), s(X2), X3) 129.45/38.18 minuscC_in_gga(X1, 0) -> minuscC_out_gga(X1, 0, s(X1)) 129.45/38.18 minuscC_in_gga(X1, s(X2)) -> U16_gga(X1, X2, minuscD_in_gga(X1, X2)) 129.45/38.18 minuscD_in_gga(X1, 0) -> minuscD_out_gga(X1, 0, X1) 129.45/38.18 minuscD_in_gga(s(X1), s(X2)) -> U15_gga(X1, X2, minuscD_in_gga(X1, X2)) 129.45/38.18 U15_gga(X1, X2, minuscD_out_gga(X1, X2, X3)) -> minuscD_out_gga(s(X1), s(X2), X3) 129.45/38.18 U16_gga(X1, X2, minuscD_out_gga(X1, X2, X3)) -> minuscC_out_gga(X1, s(X2), X3) 129.45/38.18 129.45/38.18 The set Q consists of the following terms: 129.45/38.18 129.45/38.18 lecA_in_ggg(x0, x1, x2) 129.45/38.18 U10_ggg(x0, x1, x2, x3) 129.45/38.18 minuscC_in_gga(x0, x1) 129.45/38.18 minuscD_in_gga(x0, x1) 129.45/38.18 U15_gga(x0, x1, x2) 129.45/38.18 U16_gga(x0, x1, x2) 129.45/38.18 129.45/38.18 We have to consider all (P,Q,R)-chains. 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (189) QDPQMonotonicMRRProof (EQUIVALENT) 129.45/38.18 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. 129.45/38.18 129.45/38.18 129.45/38.18 Strictly oriented rules of the TRS R: 129.45/38.18 129.45/38.18 minuscC_in_gga(X1, s(X2)) -> U16_gga(X1, X2, minuscD_in_gga(X1, X2)) 129.45/38.18 minuscD_in_gga(s(X1), s(X2)) -> U15_gga(X1, X2, minuscD_in_gga(X1, X2)) 129.45/38.18 129.45/38.18 Used ordering: Polynomial interpretation [POLO]: 129.45/38.18 129.45/38.18 POL(0) = 0 129.45/38.18 POL(DIVB_IN_GGA(x_1, x_2)) = 2*x_1 129.45/38.18 POL(U10_ggg(x_1, x_2, x_3, x_4)) = 0 129.45/38.18 POL(U15_gga(x_1, x_2, x_3)) = x_3 129.45/38.18 POL(U16_gga(x_1, x_2, x_3)) = x_3 129.45/38.18 POL(U6_GGA(x_1, x_2, x_3)) = 2 + 2*x_1 129.45/38.18 POL(U7_GGA(x_1, x_2, x_3)) = 2*x_3 129.45/38.18 POL(lecA_in_ggg(x_1, x_2, x_3)) = 0 129.45/38.18 POL(lecA_out_ggg(x_1, x_2, x_3)) = 0 129.45/38.18 POL(minuscC_in_gga(x_1, x_2)) = 1 + x_1 129.45/38.18 POL(minuscC_out_gga(x_1, x_2, x_3)) = x_3 129.45/38.18 POL(minuscD_in_gga(x_1, x_2)) = x_1 129.45/38.18 POL(minuscD_out_gga(x_1, x_2, x_3)) = x_3 129.45/38.18 POL(s(x_1)) = 1 + x_1 129.45/38.18 POL(true) = 0 129.45/38.18 129.45/38.18 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (190) 129.45/38.18 Obligation: 129.45/38.18 Q DP problem: 129.45/38.18 The TRS P consists of the following rules: 129.45/38.18 129.45/38.18 DIVB_IN_GGA(s(X1), s(X2)) -> U6_GGA(X1, X2, lecA_in_ggg(X2, X1, true)) 129.45/38.18 U6_GGA(X1, X2, lecA_out_ggg(X2, X1, true)) -> U7_GGA(X1, X2, minuscC_in_gga(X1, X2)) 129.45/38.18 U7_GGA(X1, X2, minuscC_out_gga(X1, X2, X4)) -> DIVB_IN_GGA(X4, s(X2)) 129.45/38.18 129.45/38.18 The TRS R consists of the following rules: 129.45/38.18 129.45/38.18 lecA_in_ggg(0, X1, true) -> lecA_out_ggg(0, X1, true) 129.45/38.18 lecA_in_ggg(s(X1), s(X2), X3) -> U10_ggg(X1, X2, X3, lecA_in_ggg(X1, X2, X3)) 129.45/38.18 U10_ggg(X1, X2, X3, lecA_out_ggg(X1, X2, X3)) -> lecA_out_ggg(s(X1), s(X2), X3) 129.45/38.18 minuscC_in_gga(X1, 0) -> minuscC_out_gga(X1, 0, s(X1)) 129.45/38.18 minuscD_in_gga(X1, 0) -> minuscD_out_gga(X1, 0, X1) 129.45/38.18 U15_gga(X1, X2, minuscD_out_gga(X1, X2, X3)) -> minuscD_out_gga(s(X1), s(X2), X3) 129.45/38.18 U16_gga(X1, X2, minuscD_out_gga(X1, X2, X3)) -> minuscC_out_gga(X1, s(X2), X3) 129.45/38.18 129.45/38.18 The set Q consists of the following terms: 129.45/38.18 129.45/38.18 lecA_in_ggg(x0, x1, x2) 129.45/38.18 U10_ggg(x0, x1, x2, x3) 129.45/38.18 minuscC_in_gga(x0, x1) 129.45/38.18 minuscD_in_gga(x0, x1) 129.45/38.18 U15_gga(x0, x1, x2) 129.45/38.18 U16_gga(x0, x1, x2) 129.45/38.18 129.45/38.18 We have to consider all (P,Q,R)-chains. 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (191) UsableRulesProof (EQUIVALENT) 129.45/38.18 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. 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (192) 129.45/38.18 Obligation: 129.45/38.18 Q DP problem: 129.45/38.18 The TRS P consists of the following rules: 129.45/38.18 129.45/38.18 DIVB_IN_GGA(s(X1), s(X2)) -> U6_GGA(X1, X2, lecA_in_ggg(X2, X1, true)) 129.45/38.18 U6_GGA(X1, X2, lecA_out_ggg(X2, X1, true)) -> U7_GGA(X1, X2, minuscC_in_gga(X1, X2)) 129.45/38.18 U7_GGA(X1, X2, minuscC_out_gga(X1, X2, X4)) -> DIVB_IN_GGA(X4, s(X2)) 129.45/38.18 129.45/38.18 The TRS R consists of the following rules: 129.45/38.18 129.45/38.18 minuscC_in_gga(X1, 0) -> minuscC_out_gga(X1, 0, s(X1)) 129.45/38.18 lecA_in_ggg(0, X1, true) -> lecA_out_ggg(0, X1, true) 129.45/38.18 lecA_in_ggg(s(X1), s(X2), X3) -> U10_ggg(X1, X2, X3, lecA_in_ggg(X1, X2, X3)) 129.45/38.18 U10_ggg(X1, X2, X3, lecA_out_ggg(X1, X2, X3)) -> lecA_out_ggg(s(X1), s(X2), X3) 129.45/38.18 129.45/38.18 The set Q consists of the following terms: 129.45/38.18 129.45/38.18 lecA_in_ggg(x0, x1, x2) 129.45/38.18 U10_ggg(x0, x1, x2, x3) 129.45/38.18 minuscC_in_gga(x0, x1) 129.45/38.18 minuscD_in_gga(x0, x1) 129.45/38.18 U15_gga(x0, x1, x2) 129.45/38.18 U16_gga(x0, x1, x2) 129.45/38.18 129.45/38.18 We have to consider all (P,Q,R)-chains. 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (193) QReductionProof (EQUIVALENT) 129.45/38.18 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 129.45/38.18 129.45/38.18 minuscD_in_gga(x0, x1) 129.45/38.18 U15_gga(x0, x1, x2) 129.45/38.18 U16_gga(x0, x1, x2) 129.45/38.18 129.45/38.18 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (194) 129.45/38.18 Obligation: 129.45/38.18 Q DP problem: 129.45/38.18 The TRS P consists of the following rules: 129.45/38.18 129.45/38.18 DIVB_IN_GGA(s(X1), s(X2)) -> U6_GGA(X1, X2, lecA_in_ggg(X2, X1, true)) 129.45/38.18 U6_GGA(X1, X2, lecA_out_ggg(X2, X1, true)) -> U7_GGA(X1, X2, minuscC_in_gga(X1, X2)) 129.45/38.18 U7_GGA(X1, X2, minuscC_out_gga(X1, X2, X4)) -> DIVB_IN_GGA(X4, s(X2)) 129.45/38.18 129.45/38.18 The TRS R consists of the following rules: 129.45/38.18 129.45/38.18 minuscC_in_gga(X1, 0) -> minuscC_out_gga(X1, 0, s(X1)) 129.45/38.18 lecA_in_ggg(0, X1, true) -> lecA_out_ggg(0, X1, true) 129.45/38.18 lecA_in_ggg(s(X1), s(X2), X3) -> U10_ggg(X1, X2, X3, lecA_in_ggg(X1, X2, X3)) 129.45/38.18 U10_ggg(X1, X2, X3, lecA_out_ggg(X1, X2, X3)) -> lecA_out_ggg(s(X1), s(X2), X3) 129.45/38.18 129.45/38.18 The set Q consists of the following terms: 129.45/38.18 129.45/38.18 lecA_in_ggg(x0, x1, x2) 129.45/38.18 U10_ggg(x0, x1, x2, x3) 129.45/38.18 minuscC_in_gga(x0, x1) 129.45/38.18 129.45/38.18 We have to consider all (P,Q,R)-chains. 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (195) TransformationProof (SOUND) 129.45/38.18 By narrowing [LPAR04] the rule U6_GGA(X1, X2, lecA_out_ggg(X2, X1, true)) -> U7_GGA(X1, X2, minuscC_in_gga(X1, X2)) at position [2] we obtained the following new rules [LPAR04]: 129.45/38.18 129.45/38.18 (U6_GGA(x0, 0, lecA_out_ggg(0, x0, true)) -> U7_GGA(x0, 0, minuscC_out_gga(x0, 0, s(x0))),U6_GGA(x0, 0, lecA_out_ggg(0, x0, true)) -> U7_GGA(x0, 0, minuscC_out_gga(x0, 0, s(x0)))) 129.45/38.18 129.45/38.18 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (196) 129.45/38.18 Obligation: 129.45/38.18 Q DP problem: 129.45/38.18 The TRS P consists of the following rules: 129.45/38.18 129.45/38.18 DIVB_IN_GGA(s(X1), s(X2)) -> U6_GGA(X1, X2, lecA_in_ggg(X2, X1, true)) 129.45/38.18 U7_GGA(X1, X2, minuscC_out_gga(X1, X2, X4)) -> DIVB_IN_GGA(X4, s(X2)) 129.45/38.18 U6_GGA(x0, 0, lecA_out_ggg(0, x0, true)) -> U7_GGA(x0, 0, minuscC_out_gga(x0, 0, s(x0))) 129.45/38.18 129.45/38.18 The TRS R consists of the following rules: 129.45/38.18 129.45/38.18 minuscC_in_gga(X1, 0) -> minuscC_out_gga(X1, 0, s(X1)) 129.45/38.18 lecA_in_ggg(0, X1, true) -> lecA_out_ggg(0, X1, true) 129.45/38.18 lecA_in_ggg(s(X1), s(X2), X3) -> U10_ggg(X1, X2, X3, lecA_in_ggg(X1, X2, X3)) 129.45/38.18 U10_ggg(X1, X2, X3, lecA_out_ggg(X1, X2, X3)) -> lecA_out_ggg(s(X1), s(X2), X3) 129.45/38.18 129.45/38.18 The set Q consists of the following terms: 129.45/38.18 129.45/38.18 lecA_in_ggg(x0, x1, x2) 129.45/38.18 U10_ggg(x0, x1, x2, x3) 129.45/38.18 minuscC_in_gga(x0, x1) 129.45/38.18 129.45/38.18 We have to consider all (P,Q,R)-chains. 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (197) UsableRulesProof (EQUIVALENT) 129.45/38.18 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. 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (198) 129.45/38.18 Obligation: 129.45/38.18 Q DP problem: 129.45/38.18 The TRS P consists of the following rules: 129.45/38.18 129.45/38.18 DIVB_IN_GGA(s(X1), s(X2)) -> U6_GGA(X1, X2, lecA_in_ggg(X2, X1, true)) 129.45/38.18 U7_GGA(X1, X2, minuscC_out_gga(X1, X2, X4)) -> DIVB_IN_GGA(X4, s(X2)) 129.45/38.18 U6_GGA(x0, 0, lecA_out_ggg(0, x0, true)) -> U7_GGA(x0, 0, minuscC_out_gga(x0, 0, s(x0))) 129.45/38.18 129.45/38.18 The TRS R consists of the following rules: 129.45/38.18 129.45/38.18 lecA_in_ggg(0, X1, true) -> lecA_out_ggg(0, X1, true) 129.45/38.18 lecA_in_ggg(s(X1), s(X2), X3) -> U10_ggg(X1, X2, X3, lecA_in_ggg(X1, X2, X3)) 129.45/38.18 U10_ggg(X1, X2, X3, lecA_out_ggg(X1, X2, X3)) -> lecA_out_ggg(s(X1), s(X2), X3) 129.45/38.18 129.45/38.18 The set Q consists of the following terms: 129.45/38.18 129.45/38.18 lecA_in_ggg(x0, x1, x2) 129.45/38.18 U10_ggg(x0, x1, x2, x3) 129.45/38.18 minuscC_in_gga(x0, x1) 129.45/38.18 129.45/38.18 We have to consider all (P,Q,R)-chains. 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (199) QReductionProof (EQUIVALENT) 129.45/38.18 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 129.45/38.18 129.45/38.18 minuscC_in_gga(x0, x1) 129.45/38.18 129.45/38.18 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (200) 129.45/38.18 Obligation: 129.45/38.18 Q DP problem: 129.45/38.18 The TRS P consists of the following rules: 129.45/38.18 129.45/38.18 DIVB_IN_GGA(s(X1), s(X2)) -> U6_GGA(X1, X2, lecA_in_ggg(X2, X1, true)) 129.45/38.18 U7_GGA(X1, X2, minuscC_out_gga(X1, X2, X4)) -> DIVB_IN_GGA(X4, s(X2)) 129.45/38.18 U6_GGA(x0, 0, lecA_out_ggg(0, x0, true)) -> U7_GGA(x0, 0, minuscC_out_gga(x0, 0, s(x0))) 129.45/38.18 129.45/38.18 The TRS R consists of the following rules: 129.45/38.18 129.45/38.18 lecA_in_ggg(0, X1, true) -> lecA_out_ggg(0, X1, true) 129.45/38.18 lecA_in_ggg(s(X1), s(X2), X3) -> U10_ggg(X1, X2, X3, lecA_in_ggg(X1, X2, X3)) 129.45/38.18 U10_ggg(X1, X2, X3, lecA_out_ggg(X1, X2, X3)) -> lecA_out_ggg(s(X1), s(X2), X3) 129.45/38.18 129.45/38.18 The set Q consists of the following terms: 129.45/38.18 129.45/38.18 lecA_in_ggg(x0, x1, x2) 129.45/38.18 U10_ggg(x0, x1, x2, x3) 129.45/38.18 129.45/38.18 We have to consider all (P,Q,R)-chains. 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (201) TransformationProof (EQUIVALENT) 129.45/38.18 By instantiating [LPAR04] the rule U7_GGA(X1, X2, minuscC_out_gga(X1, X2, X4)) -> DIVB_IN_GGA(X4, s(X2)) we obtained the following new rules [LPAR04]: 129.45/38.18 129.45/38.18 (U7_GGA(z0, 0, minuscC_out_gga(z0, 0, s(z0))) -> DIVB_IN_GGA(s(z0), s(0)),U7_GGA(z0, 0, minuscC_out_gga(z0, 0, s(z0))) -> DIVB_IN_GGA(s(z0), s(0))) 129.45/38.18 129.45/38.18 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (202) 129.45/38.18 Obligation: 129.45/38.18 Q DP problem: 129.45/38.18 The TRS P consists of the following rules: 129.45/38.18 129.45/38.18 DIVB_IN_GGA(s(X1), s(X2)) -> U6_GGA(X1, X2, lecA_in_ggg(X2, X1, true)) 129.45/38.18 U6_GGA(x0, 0, lecA_out_ggg(0, x0, true)) -> U7_GGA(x0, 0, minuscC_out_gga(x0, 0, s(x0))) 129.45/38.18 U7_GGA(z0, 0, minuscC_out_gga(z0, 0, s(z0))) -> DIVB_IN_GGA(s(z0), s(0)) 129.45/38.18 129.45/38.18 The TRS R consists of the following rules: 129.45/38.18 129.45/38.18 lecA_in_ggg(0, X1, true) -> lecA_out_ggg(0, X1, true) 129.45/38.18 lecA_in_ggg(s(X1), s(X2), X3) -> U10_ggg(X1, X2, X3, lecA_in_ggg(X1, X2, X3)) 129.45/38.18 U10_ggg(X1, X2, X3, lecA_out_ggg(X1, X2, X3)) -> lecA_out_ggg(s(X1), s(X2), X3) 129.45/38.18 129.45/38.18 The set Q consists of the following terms: 129.45/38.18 129.45/38.18 lecA_in_ggg(x0, x1, x2) 129.45/38.18 U10_ggg(x0, x1, x2, x3) 129.45/38.18 129.45/38.18 We have to consider all (P,Q,R)-chains. 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (203) TransformationProof (EQUIVALENT) 129.45/38.18 By instantiating [LPAR04] the rule DIVB_IN_GGA(s(X1), s(X2)) -> U6_GGA(X1, X2, lecA_in_ggg(X2, X1, true)) we obtained the following new rules [LPAR04]: 129.45/38.18 129.45/38.18 (DIVB_IN_GGA(s(z0), s(0)) -> U6_GGA(z0, 0, lecA_in_ggg(0, z0, true)),DIVB_IN_GGA(s(z0), s(0)) -> U6_GGA(z0, 0, lecA_in_ggg(0, z0, true))) 129.45/38.18 129.45/38.18 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (204) 129.45/38.18 Obligation: 129.45/38.18 Q DP problem: 129.45/38.18 The TRS P consists of the following rules: 129.45/38.18 129.45/38.18 U6_GGA(x0, 0, lecA_out_ggg(0, x0, true)) -> U7_GGA(x0, 0, minuscC_out_gga(x0, 0, s(x0))) 129.45/38.18 U7_GGA(z0, 0, minuscC_out_gga(z0, 0, s(z0))) -> DIVB_IN_GGA(s(z0), s(0)) 129.45/38.18 DIVB_IN_GGA(s(z0), s(0)) -> U6_GGA(z0, 0, lecA_in_ggg(0, z0, true)) 129.45/38.18 129.45/38.18 The TRS R consists of the following rules: 129.45/38.18 129.45/38.18 lecA_in_ggg(0, X1, true) -> lecA_out_ggg(0, X1, true) 129.45/38.18 lecA_in_ggg(s(X1), s(X2), X3) -> U10_ggg(X1, X2, X3, lecA_in_ggg(X1, X2, X3)) 129.45/38.18 U10_ggg(X1, X2, X3, lecA_out_ggg(X1, X2, X3)) -> lecA_out_ggg(s(X1), s(X2), X3) 129.45/38.18 129.45/38.18 The set Q consists of the following terms: 129.45/38.18 129.45/38.18 lecA_in_ggg(x0, x1, x2) 129.45/38.18 U10_ggg(x0, x1, x2, x3) 129.45/38.18 129.45/38.18 We have to consider all (P,Q,R)-chains. 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (205) UsableRulesProof (EQUIVALENT) 129.45/38.18 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. 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (206) 129.45/38.18 Obligation: 129.45/38.18 Q DP problem: 129.45/38.18 The TRS P consists of the following rules: 129.45/38.18 129.45/38.18 U6_GGA(x0, 0, lecA_out_ggg(0, x0, true)) -> U7_GGA(x0, 0, minuscC_out_gga(x0, 0, s(x0))) 129.45/38.18 U7_GGA(z0, 0, minuscC_out_gga(z0, 0, s(z0))) -> DIVB_IN_GGA(s(z0), s(0)) 129.45/38.18 DIVB_IN_GGA(s(z0), s(0)) -> U6_GGA(z0, 0, lecA_in_ggg(0, z0, true)) 129.45/38.18 129.45/38.18 The TRS R consists of the following rules: 129.45/38.18 129.45/38.18 lecA_in_ggg(0, X1, true) -> lecA_out_ggg(0, X1, true) 129.45/38.18 129.45/38.18 The set Q consists of the following terms: 129.45/38.18 129.45/38.18 lecA_in_ggg(x0, x1, x2) 129.45/38.18 U10_ggg(x0, x1, x2, x3) 129.45/38.18 129.45/38.18 We have to consider all (P,Q,R)-chains. 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (207) QReductionProof (EQUIVALENT) 129.45/38.18 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 129.45/38.18 129.45/38.18 U10_ggg(x0, x1, x2, x3) 129.45/38.18 129.45/38.18 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (208) 129.45/38.18 Obligation: 129.45/38.18 Q DP problem: 129.45/38.18 The TRS P consists of the following rules: 129.45/38.18 129.45/38.18 U6_GGA(x0, 0, lecA_out_ggg(0, x0, true)) -> U7_GGA(x0, 0, minuscC_out_gga(x0, 0, s(x0))) 129.45/38.18 U7_GGA(z0, 0, minuscC_out_gga(z0, 0, s(z0))) -> DIVB_IN_GGA(s(z0), s(0)) 129.45/38.18 DIVB_IN_GGA(s(z0), s(0)) -> U6_GGA(z0, 0, lecA_in_ggg(0, z0, true)) 129.45/38.18 129.45/38.18 The TRS R consists of the following rules: 129.45/38.18 129.45/38.18 lecA_in_ggg(0, X1, true) -> lecA_out_ggg(0, X1, true) 129.45/38.18 129.45/38.18 The set Q consists of the following terms: 129.45/38.18 129.45/38.18 lecA_in_ggg(x0, x1, x2) 129.45/38.18 129.45/38.18 We have to consider all (P,Q,R)-chains. 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (209) TransformationProof (EQUIVALENT) 129.45/38.18 By rewriting [LPAR04] the rule DIVB_IN_GGA(s(z0), s(0)) -> U6_GGA(z0, 0, lecA_in_ggg(0, z0, true)) at position [2] we obtained the following new rules [LPAR04]: 129.45/38.18 129.45/38.18 (DIVB_IN_GGA(s(z0), s(0)) -> U6_GGA(z0, 0, lecA_out_ggg(0, z0, true)),DIVB_IN_GGA(s(z0), s(0)) -> U6_GGA(z0, 0, lecA_out_ggg(0, z0, true))) 129.45/38.18 129.45/38.18 129.45/38.18 ---------------------------------------- 129.45/38.18 129.45/38.18 (210) 129.45/38.18 Obligation: 129.45/38.18 Q DP problem: 129.45/38.18 The TRS P consists of the following rules: 129.45/38.18 129.45/38.18 U6_GGA(x0, 0, lecA_out_ggg(0, x0, true)) -> U7_GGA(x0, 0, minuscC_out_gga(x0, 0, s(x0))) 129.45/38.18 U7_GGA(z0, 0, minuscC_out_gga(z0, 0, s(z0))) -> DIVB_IN_GGA(s(z0), s(0)) 129.45/38.18 DIVB_IN_GGA(s(z0), s(0)) -> U6_GGA(z0, 0, lecA_out_ggg(0, z0, true)) 129.45/38.18 129.45/38.18 The TRS R consists of the following rules: 129.45/38.18 129.45/38.18 lecA_in_ggg(0, X1, true) -> lecA_out_ggg(0, X1, true) 129.45/38.18 129.45/38.18 The set Q consists of the following terms: 129.58/38.18 129.58/38.18 lecA_in_ggg(x0, x1, x2) 129.58/38.18 129.58/38.18 We have to consider all (P,Q,R)-chains. 129.58/38.18 ---------------------------------------- 129.58/38.18 129.58/38.18 (211) UsableRulesProof (EQUIVALENT) 129.58/38.18 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. 129.58/38.18 ---------------------------------------- 129.58/38.18 129.58/38.18 (212) 129.58/38.18 Obligation: 129.58/38.18 Q DP problem: 129.58/38.18 The TRS P consists of the following rules: 129.58/38.18 129.58/38.18 U6_GGA(x0, 0, lecA_out_ggg(0, x0, true)) -> U7_GGA(x0, 0, minuscC_out_gga(x0, 0, s(x0))) 129.58/38.18 U7_GGA(z0, 0, minuscC_out_gga(z0, 0, s(z0))) -> DIVB_IN_GGA(s(z0), s(0)) 129.58/38.18 DIVB_IN_GGA(s(z0), s(0)) -> U6_GGA(z0, 0, lecA_out_ggg(0, z0, true)) 129.58/38.18 129.58/38.18 R is empty. 129.58/38.18 The set Q consists of the following terms: 129.58/38.18 129.58/38.18 lecA_in_ggg(x0, x1, x2) 129.58/38.18 129.58/38.18 We have to consider all (P,Q,R)-chains. 129.58/38.18 ---------------------------------------- 129.58/38.18 129.58/38.18 (213) QReductionProof (EQUIVALENT) 129.58/38.18 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 129.58/38.18 129.58/38.18 lecA_in_ggg(x0, x1, x2) 129.58/38.18 129.58/38.18 129.58/38.18 ---------------------------------------- 129.58/38.18 129.58/38.18 (214) 129.58/38.18 Obligation: 129.58/38.18 Q DP problem: 129.58/38.18 The TRS P consists of the following rules: 129.58/38.18 129.58/38.18 U6_GGA(x0, 0, lecA_out_ggg(0, x0, true)) -> U7_GGA(x0, 0, minuscC_out_gga(x0, 0, s(x0))) 129.58/38.18 U7_GGA(z0, 0, minuscC_out_gga(z0, 0, s(z0))) -> DIVB_IN_GGA(s(z0), s(0)) 129.58/38.18 DIVB_IN_GGA(s(z0), s(0)) -> U6_GGA(z0, 0, lecA_out_ggg(0, z0, true)) 129.58/38.18 129.58/38.18 R is empty. 129.58/38.18 Q is empty. 129.58/38.18 We have to consider all (P,Q,R)-chains. 129.58/38.18 ---------------------------------------- 129.58/38.18 129.58/38.18 (215) NonTerminationLoopProof (COMPLETE) 129.58/38.18 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 129.58/38.18 Found a loop by narrowing to the left: 129.58/38.18 129.58/38.18 s = U7_GGA(z0', 0, minuscC_out_gga(z0', 0, s(z0'))) evaluates to t =U7_GGA(z0', 0, minuscC_out_gga(z0', 0, s(z0'))) 129.58/38.18 129.58/38.18 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 129.58/38.18 * Matcher: [ ] 129.58/38.18 * Semiunifier: [ ] 129.58/38.18 129.58/38.18 -------------------------------------------------------------------------------- 129.58/38.18 Rewriting sequence 129.58/38.18 129.58/38.18 U7_GGA(z0', 0, minuscC_out_gga(z0', 0, s(z0'))) -> DIVB_IN_GGA(s(z0'), s(0)) 129.58/38.18 with rule U7_GGA(z0'', 0, minuscC_out_gga(z0'', 0, s(z0''))) -> DIVB_IN_GGA(s(z0''), s(0)) at position [] and matcher [z0'' / z0'] 129.58/38.18 129.58/38.18 DIVB_IN_GGA(s(z0'), s(0)) -> U6_GGA(z0', 0, lecA_out_ggg(0, z0', true)) 129.58/38.18 with rule DIVB_IN_GGA(s(z0), s(0)) -> U6_GGA(z0, 0, lecA_out_ggg(0, z0, true)) at position [] and matcher [z0 / z0'] 129.58/38.18 129.58/38.18 U6_GGA(z0', 0, lecA_out_ggg(0, z0', true)) -> U7_GGA(z0', 0, minuscC_out_gga(z0', 0, s(z0'))) 129.58/38.18 with rule U6_GGA(x0, 0, lecA_out_ggg(0, x0, true)) -> U7_GGA(x0, 0, minuscC_out_gga(x0, 0, s(x0))) 129.58/38.18 129.58/38.18 Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence 129.58/38.18 129.58/38.18 129.58/38.18 All these steps are and every following step will be a correct step w.r.t to Q. 129.58/38.18 129.58/38.18 129.58/38.18 129.58/38.18 129.58/38.18 ---------------------------------------- 129.58/38.18 129.58/38.18 (216) 129.58/38.18 NO 129.58/38.18 129.58/38.18 ---------------------------------------- 129.58/38.18 129.58/38.18 (217) PrologToIRSwTTransformerProof (SOUND) 129.58/38.18 Transformed Prolog program to IRSwT according to method in Master Thesis of A. Weinert 129.58/38.18 129.58/38.18 { 129.58/38.18 "root": 5, 129.58/38.18 "program": { 129.58/38.18 "directives": [], 129.58/38.18 "clauses": [ 129.58/38.18 [ 129.58/38.18 "(le (0) Y (true))", 129.58/38.18 null 129.58/38.18 ], 129.58/38.18 [ 129.58/38.18 "(le (s X) (0) (false))", 129.58/38.18 null 129.58/38.18 ], 129.58/38.18 [ 129.58/38.18 "(le (s X) (s Y) B)", 129.58/38.18 "(le X Y B)" 129.58/38.18 ], 129.58/38.18 [ 129.58/38.18 "(minus X (0) X)", 129.58/38.18 null 129.58/38.18 ], 129.58/38.18 [ 129.58/38.18 "(minus (s X) (s Y) Z)", 129.58/38.18 "(minus X Y Z)" 129.58/38.18 ], 129.58/38.18 [ 129.58/38.18 "(div X (s Y) Z)", 129.58/38.18 "(',' (le (s Y) X B) (if B X (s Y) Z))" 129.58/38.18 ], 129.58/38.18 [ 129.58/38.18 "(if (false) X (s Y) (0))", 129.58/38.18 null 129.58/38.18 ], 129.58/38.18 [ 129.58/38.18 "(if (true) X (s Y) (s Z))", 129.58/38.18 "(',' (minus X Y U) (div U (s Y) Z))" 129.58/38.18 ] 129.58/38.18 ] 129.58/38.18 }, 129.58/38.18 "graph": { 129.58/38.18 "nodes": { 129.58/38.18 "390": { 129.58/38.18 "goal": [], 129.58/38.18 "kb": { 129.58/38.18 "nonunifying": [], 129.58/38.18 "intvars": {}, 129.58/38.18 "arithmetic": { 129.58/38.18 "type": "PlainIntegerRelationState", 129.58/38.18 "relations": [] 129.58/38.18 }, 129.58/38.18 "ground": [], 129.58/38.18 "free": [], 129.58/38.18 "exprvars": [] 129.58/38.18 } 129.58/38.18 }, 129.58/38.18 "type": "Nodes", 129.58/38.18 "393": { 129.58/38.18 "goal": [{ 129.58/38.18 "clause": -1, 129.58/38.18 "scope": -1, 129.58/38.18 "term": "(minus T84 T85 X105)" 129.58/38.18 }], 129.58/38.18 "kb": { 129.58/38.18 "nonunifying": [], 129.58/38.18 "intvars": {}, 129.58/38.18 "arithmetic": { 129.58/38.18 "type": "PlainIntegerRelationState", 129.58/38.18 "relations": [] 129.58/38.18 }, 129.58/38.18 "ground": [ 129.58/38.18 "T84", 129.58/38.18 "T85" 129.58/38.18 ], 129.58/38.18 "free": ["X105"], 129.58/38.18 "exprvars": [] 129.58/38.18 } 129.58/38.18 }, 129.58/38.18 "350": { 129.58/38.18 "goal": [{ 129.58/38.18 "clause": -1, 129.58/38.18 "scope": -1, 129.58/38.18 "term": "(le T42 T43 X57)" 129.58/38.18 }], 129.58/38.18 "kb": { 129.58/38.18 "nonunifying": [], 129.58/38.18 "intvars": {}, 129.58/38.18 "arithmetic": { 129.58/38.18 "type": "PlainIntegerRelationState", 129.58/38.18 "relations": [] 129.58/38.18 }, 129.58/38.18 "ground": [ 129.58/38.18 "T42", 129.58/38.18 "T43" 129.58/38.18 ], 129.58/38.18 "free": ["X57"], 129.58/38.18 "exprvars": [] 129.58/38.18 } 129.58/38.18 }, 129.58/38.18 "372": { 129.58/38.18 "goal": [{ 129.58/38.18 "clause": -1, 129.58/38.18 "scope": -1, 129.58/38.18 "term": "(true)" 129.58/38.18 }], 129.58/38.18 "kb": { 129.58/38.18 "nonunifying": [], 129.58/38.18 "intvars": {}, 129.58/38.18 "arithmetic": { 129.58/38.18 "type": "PlainIntegerRelationState", 129.58/38.18 "relations": [] 129.58/38.18 }, 129.58/38.18 "ground": [], 129.58/38.18 "free": [], 129.58/38.18 "exprvars": [] 129.58/38.18 } 129.58/38.18 }, 129.58/38.18 "394": { 129.58/38.18 "goal": [], 129.58/38.18 "kb": { 129.58/38.18 "nonunifying": [], 129.58/38.18 "intvars": {}, 129.58/38.18 "arithmetic": { 129.58/38.18 "type": "PlainIntegerRelationState", 129.58/38.18 "relations": [] 129.58/38.18 }, 129.58/38.18 "ground": [], 129.58/38.18 "free": [], 129.58/38.18 "exprvars": [] 129.58/38.18 } 129.58/38.18 }, 129.58/38.18 "351": { 129.58/38.18 "goal": [], 129.58/38.18 "kb": { 129.58/38.18 "nonunifying": [], 129.58/38.18 "intvars": {}, 129.58/38.18 "arithmetic": { 129.58/38.18 "type": "PlainIntegerRelationState", 129.58/38.18 "relations": [] 129.58/38.18 }, 129.58/38.18 "ground": [], 129.58/38.18 "free": [], 129.58/38.18 "exprvars": [] 129.58/38.18 } 129.58/38.18 }, 129.58/38.18 "373": { 129.58/38.18 "goal": [], 129.58/38.18 "kb": { 129.58/38.18 "nonunifying": [], 129.58/38.18 "intvars": {}, 129.58/38.18 "arithmetic": { 129.58/38.18 "type": "PlainIntegerRelationState", 129.58/38.18 "relations": [] 129.58/38.18 }, 129.58/38.18 "ground": [], 129.58/38.18 "free": [], 129.58/38.18 "exprvars": [] 129.58/38.18 } 129.58/38.18 }, 129.58/38.18 "330": { 129.58/38.18 "goal": [{ 129.58/38.18 "clause": 0, 129.58/38.18 "scope": 3, 129.58/38.18 "term": "(le T24 T25 X33)" 129.58/38.18 }], 129.58/38.18 "kb": { 129.58/38.18 "nonunifying": [], 129.58/38.18 "intvars": {}, 129.58/38.18 "arithmetic": { 129.58/38.18 "type": "PlainIntegerRelationState", 129.58/38.18 "relations": [] 129.58/38.18 }, 129.58/38.18 "ground": [ 129.58/38.18 "T24", 129.58/38.18 "T25" 129.58/38.18 ], 129.58/38.18 "free": ["X33"], 129.58/38.18 "exprvars": [] 129.58/38.18 } 129.58/38.18 }, 129.58/38.18 "374": { 129.58/38.18 "goal": [], 129.58/38.18 "kb": { 129.58/38.18 "nonunifying": [], 129.58/38.18 "intvars": {}, 129.58/38.18 "arithmetic": { 129.58/38.18 "type": "PlainIntegerRelationState", 129.58/38.18 "relations": [] 129.58/38.18 }, 129.58/38.18 "ground": [], 129.58/38.18 "free": [], 129.58/38.18 "exprvars": [] 129.58/38.18 } 129.58/38.18 }, 129.58/38.18 "331": { 129.58/38.18 "goal": [ 129.58/38.18 { 129.58/38.18 "clause": 1, 129.58/38.18 "scope": 3, 129.58/38.18 "term": "(le T24 T25 X33)" 129.58/38.18 }, 129.58/38.18 { 129.58/38.18 "clause": 2, 129.58/38.18 "scope": 3, 129.58/38.18 "term": "(le T24 T25 X33)" 129.58/38.18 } 129.58/38.18 ], 129.58/38.18 "kb": { 129.58/38.18 "nonunifying": [], 129.58/38.18 "intvars": {}, 129.58/38.18 "arithmetic": { 129.58/38.18 "type": "PlainIntegerRelationState", 129.58/38.18 "relations": [] 129.58/38.18 }, 129.58/38.18 "ground": [ 129.58/38.18 "T24", 129.58/38.18 "T25" 129.58/38.18 ], 129.58/38.18 "free": ["X33"], 129.58/38.18 "exprvars": [] 129.58/38.18 } 129.58/38.18 }, 129.58/38.18 "332": { 129.58/38.18 "goal": [{ 129.58/38.18 "clause": -1, 129.58/38.18 "scope": -1, 129.58/38.18 "term": "(true)" 129.58/38.18 }], 129.58/38.18 "kb": { 129.58/38.18 "nonunifying": [], 129.58/38.18 "intvars": {}, 129.58/38.18 "arithmetic": { 129.58/38.18 "type": "PlainIntegerRelationState", 129.58/38.18 "relations": [] 129.58/38.18 }, 129.58/38.18 "ground": [], 129.58/38.18 "free": [], 129.58/38.18 "exprvars": [] 129.58/38.18 } 129.58/38.18 }, 129.58/38.18 "376": { 129.58/38.18 "goal": [{ 129.58/38.18 "clause": -1, 129.58/38.18 "scope": -1, 129.58/38.18 "term": "(',' (minus T66 T67 X84) (div X84 (s T67) T69))" 129.58/38.18 }], 129.58/38.18 "kb": { 129.58/38.18 "nonunifying": [], 129.58/38.18 "intvars": {}, 129.58/38.18 "arithmetic": { 129.58/38.18 "type": "PlainIntegerRelationState", 129.58/38.18 "relations": [] 129.58/38.18 }, 129.58/38.18 "ground": [ 129.58/38.18 "T66", 129.58/38.18 "T67" 129.58/38.18 ], 129.58/38.18 "free": ["X84"], 129.58/38.18 "exprvars": [] 129.58/38.18 } 129.58/38.18 }, 129.58/38.18 "333": { 129.58/38.18 "goal": [], 129.58/38.18 "kb": { 129.58/38.18 "nonunifying": [], 129.58/38.18 "intvars": {}, 129.58/38.18 "arithmetic": { 129.58/38.18 "type": "PlainIntegerRelationState", 129.58/38.18 "relations": [] 129.58/38.18 }, 129.58/38.18 "ground": [], 129.58/38.18 "free": [], 129.58/38.18 "exprvars": [] 129.58/38.18 } 129.58/38.18 }, 129.58/38.18 "334": { 129.58/38.18 "goal": [], 129.58/38.18 "kb": { 129.58/38.18 "nonunifying": [], 129.58/38.18 "intvars": {}, 129.58/38.18 "arithmetic": { 129.58/38.18 "type": "PlainIntegerRelationState", 129.58/38.18 "relations": [] 129.58/38.18 }, 129.58/38.18 "ground": [], 129.58/38.18 "free": [], 129.58/38.18 "exprvars": [] 129.58/38.18 } 129.58/38.18 }, 129.58/38.18 "335": { 129.58/38.18 "goal": [{ 129.58/38.18 "clause": 1, 129.58/38.18 "scope": 3, 129.58/38.18 "term": "(le T24 T25 X33)" 129.58/38.18 }], 129.58/38.18 "kb": { 129.58/38.18 "nonunifying": [], 129.58/38.18 "intvars": {}, 129.58/38.18 "arithmetic": { 129.58/38.18 "type": "PlainIntegerRelationState", 129.58/38.18 "relations": [] 129.58/38.18 }, 129.58/38.18 "ground": [ 129.58/38.18 "T24", 129.58/38.18 "T25" 129.58/38.18 ], 129.58/38.18 "free": ["X33"], 129.58/38.18 "exprvars": [] 129.58/38.18 } 129.58/38.18 }, 129.58/38.18 "379": { 129.58/38.18 "goal": [], 129.58/38.18 "kb": { 129.58/38.18 "nonunifying": [], 129.58/38.18 "intvars": {}, 129.58/38.18 "arithmetic": { 129.58/38.18 "type": "PlainIntegerRelationState", 129.58/38.18 "relations": [] 129.58/38.18 }, 129.58/38.18 "ground": [], 129.58/38.18 "free": [], 129.58/38.18 "exprvars": [] 129.58/38.18 } 129.58/38.18 }, 129.58/38.18 "336": { 129.58/38.18 "goal": [{ 129.58/38.18 "clause": 2, 129.58/38.18 "scope": 3, 129.58/38.18 "term": "(le T24 T25 X33)" 129.58/38.18 }], 129.58/38.18 "kb": { 129.58/38.18 "nonunifying": [], 129.58/38.18 "intvars": {}, 129.58/38.18 "arithmetic": { 129.58/38.18 "type": "PlainIntegerRelationState", 129.58/38.18 "relations": [] 129.58/38.18 }, 129.58/38.18 "ground": [ 129.58/38.18 "T24", 129.58/38.18 "T25" 129.58/38.18 ], 129.58/38.18 "free": ["X33"], 129.58/38.18 "exprvars": [] 129.58/38.18 } 129.58/38.18 }, 129.58/38.18 "318": { 129.58/38.18 "goal": [{ 129.58/38.18 "clause": -1, 129.58/38.18 "scope": -1, 129.58/38.18 "term": "(le (s T11) T10 X11)" 129.58/38.18 }], 129.58/38.18 "kb": { 129.58/38.18 "nonunifying": [], 129.58/38.18 "intvars": {}, 129.58/38.18 "arithmetic": { 129.58/38.18 "type": "PlainIntegerRelationState", 129.58/38.18 "relations": [] 129.58/38.18 }, 129.58/38.18 "ground": [ 129.58/38.18 "T10", 129.58/38.18 "T11" 129.58/38.18 ], 129.58/38.18 "free": ["X11"], 129.58/38.18 "exprvars": [] 129.58/38.18 } 129.58/38.18 }, 129.58/38.18 "319": { 129.58/38.18 "goal": [{ 129.58/38.18 "clause": -1, 129.58/38.18 "scope": -1, 129.58/38.18 "term": "(if T14 T10 (s T11) T13)" 129.58/38.18 }], 129.58/38.18 "kb": { 129.58/38.18 "nonunifying": [], 129.58/38.18 "intvars": {}, 129.58/38.18 "arithmetic": { 129.58/38.18 "type": "PlainIntegerRelationState", 129.58/38.18 "relations": [] 129.58/38.18 }, 129.58/38.18 "ground": [ 129.58/38.18 "T10", 129.58/38.18 "T11", 129.58/38.18 "T14" 129.58/38.18 ], 129.58/38.18 "free": [], 129.58/38.18 "exprvars": [] 129.58/38.18 } 129.58/38.18 }, 129.58/38.18 "38": { 129.58/38.18 "goal": [{ 129.58/38.18 "clause": -1, 129.58/38.18 "scope": -1, 129.58/38.18 "term": "(',' (le (s T11) T10 X11) (if X11 T10 (s T11) T13))" 129.58/38.18 }], 129.58/38.18 "kb": { 129.58/38.18 "nonunifying": [], 129.58/38.18 "intvars": {}, 129.58/38.18 "arithmetic": { 129.58/38.18 "type": "PlainIntegerRelationState", 129.58/38.18 "relations": [] 129.58/38.18 }, 129.58/38.18 "ground": [ 129.58/38.18 "T10", 129.58/38.18 "T11" 129.58/38.18 ], 129.58/38.18 "free": ["X11"], 129.58/38.18 "exprvars": [] 129.58/38.18 } 129.58/38.18 }, 129.58/38.18 "380": { 129.58/38.18 "goal": [{ 129.58/38.18 "clause": -1, 129.58/38.18 "scope": -1, 129.58/38.18 "term": "(minus T66 T67 X84)" 129.58/38.18 }], 129.58/38.18 "kb": { 129.58/38.18 "nonunifying": [], 129.58/38.18 "intvars": {}, 129.58/38.18 "arithmetic": { 129.58/38.18 "type": "PlainIntegerRelationState", 129.58/38.18 "relations": [] 129.58/38.18 }, 129.58/38.18 "ground": [ 129.58/38.18 "T66", 129.58/38.18 "T67" 129.58/38.18 ], 129.58/38.18 "free": ["X84"], 129.58/38.18 "exprvars": [] 129.58/38.18 } 129.58/38.18 }, 129.58/38.18 "381": { 129.58/38.18 "goal": [{ 129.58/38.18 "clause": -1, 129.58/38.18 "scope": -1, 129.58/38.18 "term": "(div T72 (s T67) T69)" 129.58/38.18 }], 129.58/38.18 "kb": { 129.58/38.18 "nonunifying": [], 129.58/38.18 "intvars": {}, 129.58/38.18 "arithmetic": { 129.58/38.18 "type": "PlainIntegerRelationState", 129.58/38.18 "relations": [] 129.58/38.18 }, 129.58/38.18 "ground": [ 129.58/38.18 "T67", 129.58/38.18 "T72" 129.58/38.18 ], 129.58/38.18 "free": [], 129.58/38.18 "exprvars": [] 129.58/38.18 } 129.58/38.18 }, 129.58/38.18 "382": { 129.58/38.18 "goal": [ 129.58/38.18 { 129.58/38.18 "clause": 3, 129.58/38.18 "scope": 5, 129.58/38.18 "term": "(minus T66 T67 X84)" 129.58/38.18 }, 129.58/38.18 { 129.58/38.18 "clause": 4, 129.58/38.18 "scope": 5, 129.58/38.18 "term": "(minus T66 T67 X84)" 129.58/38.18 } 129.58/38.18 ], 129.58/38.18 "kb": { 129.58/38.18 "nonunifying": [], 129.58/38.18 "intvars": {}, 129.58/38.18 "arithmetic": { 129.58/38.18 "type": "PlainIntegerRelationState", 129.58/38.18 "relations": [] 129.58/38.18 }, 129.58/38.18 "ground": [ 129.58/38.18 "T66", 129.58/38.18 "T67" 129.58/38.18 ], 129.58/38.18 "free": ["X84"], 129.58/38.18 "exprvars": [] 129.58/38.18 } 129.58/38.18 }, 129.58/38.18 "385": { 129.58/38.18 "goal": [{ 129.58/38.18 "clause": 3, 129.58/38.18 "scope": 5, 129.58/38.18 "term": "(minus T66 T67 X84)" 129.58/38.18 }], 129.58/38.18 "kb": { 129.58/38.18 "nonunifying": [], 129.58/38.18 "intvars": {}, 129.58/38.18 "arithmetic": { 129.58/38.18 "type": "PlainIntegerRelationState", 129.58/38.18 "relations": [] 129.58/38.18 }, 129.58/38.18 "ground": [ 129.58/38.18 "T66", 129.58/38.18 "T67" 129.58/38.18 ], 129.58/38.18 "free": ["X84"], 129.58/38.18 "exprvars": [] 129.58/38.18 } 129.58/38.18 }, 129.58/38.18 "320": { 129.58/38.18 "goal": [ 129.58/38.18 { 129.58/38.18 "clause": 0, 129.58/38.18 "scope": 2, 129.58/38.18 "term": "(le (s T11) T10 X11)" 129.58/38.18 }, 129.58/38.18 { 129.58/38.18 "clause": 1, 129.58/38.18 "scope": 2, 129.58/38.18 "term": "(le (s T11) T10 X11)" 129.58/38.18 }, 129.58/38.18 { 129.58/38.18 "clause": 2, 129.58/38.18 "scope": 2, 129.58/38.18 "term": "(le (s T11) T10 X11)" 129.58/38.18 } 129.58/38.18 ], 129.58/38.18 "kb": { 129.58/38.18 "nonunifying": [], 129.58/38.18 "intvars": {}, 129.58/38.18 "arithmetic": { 129.58/38.18 "type": "PlainIntegerRelationState", 129.58/38.18 "relations": [] 129.58/38.18 }, 129.58/38.18 "ground": [ 129.58/38.18 "T10", 129.58/38.18 "T11" 129.58/38.18 ], 129.58/38.18 "free": ["X11"], 129.58/38.19 "exprvars": [] 129.58/38.19 } 129.58/38.19 }, 129.58/38.19 "386": { 129.58/38.19 "goal": [{ 129.58/38.19 "clause": 4, 129.58/38.19 "scope": 5, 129.58/38.19 "term": "(minus T66 T67 X84)" 129.58/38.19 }], 129.58/38.19 "kb": { 129.58/38.19 "nonunifying": [], 129.58/38.19 "intvars": {}, 129.58/38.19 "arithmetic": { 129.58/38.19 "type": "PlainIntegerRelationState", 129.58/38.19 "relations": [] 129.58/38.19 }, 129.58/38.19 "ground": [ 129.58/38.19 "T66", 129.58/38.19 "T67" 129.58/38.19 ], 129.58/38.19 "free": ["X84"], 129.58/38.19 "exprvars": [] 129.58/38.19 } 129.58/38.19 }, 129.58/38.19 "321": { 129.58/38.19 "goal": [ 129.58/38.19 { 129.58/38.19 "clause": 1, 129.58/38.19 "scope": 2, 129.58/38.19 "term": "(le (s T11) T10 X11)" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "clause": 2, 129.58/38.19 "scope": 2, 129.58/38.19 "term": "(le (s T11) T10 X11)" 129.58/38.19 } 129.58/38.19 ], 129.58/38.19 "kb": { 129.58/38.19 "nonunifying": [], 129.58/38.19 "intvars": {}, 129.58/38.19 "arithmetic": { 129.58/38.19 "type": "PlainIntegerRelationState", 129.58/38.19 "relations": [] 129.58/38.19 }, 129.58/38.19 "ground": [ 129.58/38.19 "T10", 129.58/38.19 "T11" 129.58/38.19 ], 129.58/38.19 "free": ["X11"], 129.58/38.19 "exprvars": [] 129.58/38.19 } 129.58/38.19 }, 129.58/38.19 "343": { 129.58/38.19 "goal": [{ 129.58/38.19 "clause": -1, 129.58/38.19 "scope": -1, 129.58/38.19 "term": "(true)" 129.58/38.19 }], 129.58/38.19 "kb": { 129.58/38.19 "nonunifying": [], 129.58/38.19 "intvars": {}, 129.58/38.19 "arithmetic": { 129.58/38.19 "type": "PlainIntegerRelationState", 129.58/38.19 "relations": [] 129.58/38.19 }, 129.58/38.19 "ground": [], 129.58/38.19 "free": [], 129.58/38.19 "exprvars": [] 129.58/38.19 } 129.58/38.19 }, 129.58/38.19 "322": { 129.58/38.19 "goal": [{ 129.58/38.19 "clause": 1, 129.58/38.19 "scope": 2, 129.58/38.19 "term": "(le (s T11) T10 X11)" 129.58/38.19 }], 129.58/38.19 "kb": { 129.58/38.19 "nonunifying": [], 129.58/38.19 "intvars": {}, 129.58/38.19 "arithmetic": { 129.58/38.19 "type": "PlainIntegerRelationState", 129.58/38.19 "relations": [] 129.58/38.19 }, 129.58/38.19 "ground": [ 129.58/38.19 "T10", 129.58/38.19 "T11" 129.58/38.19 ], 129.58/38.19 "free": ["X11"], 129.58/38.19 "exprvars": [] 129.58/38.19 } 129.58/38.19 }, 129.58/38.19 "344": { 129.58/38.19 "goal": [], 129.58/38.19 "kb": { 129.58/38.19 "nonunifying": [], 129.58/38.19 "intvars": {}, 129.58/38.19 "arithmetic": { 129.58/38.19 "type": "PlainIntegerRelationState", 129.58/38.19 "relations": [] 129.58/38.19 }, 129.58/38.19 "ground": [], 129.58/38.19 "free": [], 129.58/38.19 "exprvars": [] 129.58/38.19 } 129.58/38.19 }, 129.58/38.19 "388": { 129.58/38.19 "goal": [{ 129.58/38.19 "clause": -1, 129.58/38.19 "scope": -1, 129.58/38.19 "term": "(true)" 129.58/38.19 }], 129.58/38.19 "kb": { 129.58/38.19 "nonunifying": [], 129.58/38.19 "intvars": {}, 129.58/38.19 "arithmetic": { 129.58/38.19 "type": "PlainIntegerRelationState", 129.58/38.19 "relations": [] 129.58/38.19 }, 129.58/38.19 "ground": [], 129.58/38.19 "free": [], 129.58/38.19 "exprvars": [] 129.58/38.19 } 129.58/38.19 }, 129.58/38.19 "323": { 129.58/38.19 "goal": [{ 129.58/38.19 "clause": 2, 129.58/38.19 "scope": 2, 129.58/38.19 "term": "(le (s T11) T10 X11)" 129.58/38.19 }], 129.58/38.19 "kb": { 129.58/38.19 "nonunifying": [], 129.58/38.19 "intvars": {}, 129.58/38.19 "arithmetic": { 129.58/38.19 "type": "PlainIntegerRelationState", 129.58/38.19 "relations": [] 129.58/38.19 }, 129.58/38.19 "ground": [ 129.58/38.19 "T10", 129.58/38.19 "T11" 129.58/38.19 ], 129.58/38.19 "free": ["X11"], 129.58/38.19 "exprvars": [] 129.58/38.19 } 129.58/38.19 }, 129.58/38.19 "345": { 129.58/38.19 "goal": [], 129.58/38.19 "kb": { 129.58/38.19 "nonunifying": [], 129.58/38.19 "intvars": {}, 129.58/38.19 "arithmetic": { 129.58/38.19 "type": "PlainIntegerRelationState", 129.58/38.19 "relations": [] 129.58/38.19 }, 129.58/38.19 "ground": [], 129.58/38.19 "free": [], 129.58/38.19 "exprvars": [] 129.58/38.19 } 129.58/38.19 }, 129.58/38.19 "367": { 129.58/38.19 "goal": [ 129.58/38.19 { 129.58/38.19 "clause": 6, 129.58/38.19 "scope": 4, 129.58/38.19 "term": "(if T14 T10 (s T11) T13)" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "clause": 7, 129.58/38.19 "scope": 4, 129.58/38.19 "term": "(if T14 T10 (s T11) T13)" 129.58/38.19 } 129.58/38.19 ], 129.58/38.19 "kb": { 129.58/38.19 "nonunifying": [], 129.58/38.19 "intvars": {}, 129.58/38.19 "arithmetic": { 129.58/38.19 "type": "PlainIntegerRelationState", 129.58/38.19 "relations": [] 129.58/38.19 }, 129.58/38.19 "ground": [ 129.58/38.19 "T10", 129.58/38.19 "T11", 129.58/38.19 "T14" 129.58/38.19 ], 129.58/38.19 "free": [], 129.58/38.19 "exprvars": [] 129.58/38.19 } 129.58/38.19 }, 129.58/38.19 "389": { 129.58/38.19 "goal": [], 129.58/38.19 "kb": { 129.58/38.19 "nonunifying": [], 129.58/38.19 "intvars": {}, 129.58/38.19 "arithmetic": { 129.58/38.19 "type": "PlainIntegerRelationState", 129.58/38.19 "relations": [] 129.58/38.19 }, 129.58/38.19 "ground": [], 129.58/38.19 "free": [], 129.58/38.19 "exprvars": [] 129.58/38.19 } 129.58/38.19 }, 129.58/38.19 "5": { 129.58/38.19 "goal": [{ 129.58/38.19 "clause": -1, 129.58/38.19 "scope": -1, 129.58/38.19 "term": "(div T1 T2 T3)" 129.58/38.19 }], 129.58/38.19 "kb": { 129.58/38.19 "nonunifying": [], 129.58/38.19 "intvars": {}, 129.58/38.19 "arithmetic": { 129.58/38.19 "type": "PlainIntegerRelationState", 129.58/38.19 "relations": [] 129.58/38.19 }, 129.58/38.19 "ground": [ 129.58/38.19 "T1", 129.58/38.19 "T2" 129.58/38.19 ], 129.58/38.19 "free": [], 129.58/38.19 "exprvars": [] 129.58/38.19 } 129.58/38.19 }, 129.58/38.19 "324": { 129.58/38.19 "goal": [{ 129.58/38.19 "clause": -1, 129.58/38.19 "scope": -1, 129.58/38.19 "term": "(true)" 129.58/38.19 }], 129.58/38.19 "kb": { 129.58/38.19 "nonunifying": [], 129.58/38.19 "intvars": {}, 129.58/38.19 "arithmetic": { 129.58/38.19 "type": "PlainIntegerRelationState", 129.58/38.19 "relations": [] 129.58/38.19 }, 129.58/38.19 "ground": [], 129.58/38.19 "free": [], 129.58/38.19 "exprvars": [] 129.58/38.19 } 129.58/38.19 }, 129.58/38.19 "368": { 129.58/38.19 "goal": [{ 129.58/38.19 "clause": 6, 129.58/38.19 "scope": 4, 129.58/38.19 "term": "(if T14 T10 (s T11) T13)" 129.58/38.19 }], 129.58/38.19 "kb": { 129.58/38.19 "nonunifying": [], 129.58/38.19 "intvars": {}, 129.58/38.19 "arithmetic": { 129.58/38.19 "type": "PlainIntegerRelationState", 129.58/38.19 "relations": [] 129.58/38.19 }, 129.58/38.19 "ground": [ 129.58/38.19 "T10", 129.58/38.19 "T11", 129.58/38.19 "T14" 129.58/38.19 ], 129.58/38.19 "free": [], 129.58/38.19 "exprvars": [] 129.58/38.19 } 129.58/38.19 }, 129.58/38.19 "325": { 129.58/38.19 "goal": [], 129.58/38.19 "kb": { 129.58/38.19 "nonunifying": [], 129.58/38.19 "intvars": {}, 129.58/38.19 "arithmetic": { 129.58/38.19 "type": "PlainIntegerRelationState", 129.58/38.19 "relations": [] 129.58/38.19 }, 129.58/38.19 "ground": [], 129.58/38.19 "free": [], 129.58/38.19 "exprvars": [] 129.58/38.19 } 129.58/38.19 }, 129.58/38.19 "369": { 129.58/38.19 "goal": [{ 129.58/38.19 "clause": 7, 129.58/38.19 "scope": 4, 129.58/38.19 "term": "(if T14 T10 (s T11) T13)" 129.58/38.19 }], 129.58/38.19 "kb": { 129.58/38.19 "nonunifying": [], 129.58/38.19 "intvars": {}, 129.58/38.19 "arithmetic": { 129.58/38.19 "type": "PlainIntegerRelationState", 129.58/38.19 "relations": [] 129.58/38.19 }, 129.58/38.19 "ground": [ 129.58/38.19 "T10", 129.58/38.19 "T11", 129.58/38.19 "T14" 129.58/38.19 ], 129.58/38.19 "free": [], 129.58/38.19 "exprvars": [] 129.58/38.19 } 129.58/38.19 }, 129.58/38.19 "326": { 129.58/38.19 "goal": [], 129.58/38.19 "kb": { 129.58/38.19 "nonunifying": [], 129.58/38.19 "intvars": {}, 129.58/38.19 "arithmetic": { 129.58/38.19 "type": "PlainIntegerRelationState", 129.58/38.19 "relations": [] 129.58/38.19 }, 129.58/38.19 "ground": [], 129.58/38.19 "free": [], 129.58/38.19 "exprvars": [] 129.58/38.19 } 129.58/38.19 }, 129.58/38.19 "327": { 129.58/38.19 "goal": [{ 129.58/38.19 "clause": -1, 129.58/38.19 "scope": -1, 129.58/38.19 "term": "(le T24 T25 X33)" 129.58/38.19 }], 129.58/38.19 "kb": { 129.58/38.19 "nonunifying": [], 129.58/38.19 "intvars": {}, 129.58/38.19 "arithmetic": { 129.58/38.19 "type": "PlainIntegerRelationState", 129.58/38.19 "relations": [] 129.58/38.19 }, 129.58/38.19 "ground": [ 129.58/38.19 "T24", 129.58/38.19 "T25" 129.58/38.19 ], 129.58/38.19 "free": ["X33"], 129.58/38.19 "exprvars": [] 129.58/38.19 } 129.58/38.19 }, 129.58/38.19 "328": { 129.58/38.19 "goal": [], 129.58/38.19 "kb": { 129.58/38.19 "nonunifying": [], 129.58/38.19 "intvars": {}, 129.58/38.19 "arithmetic": { 129.58/38.19 "type": "PlainIntegerRelationState", 129.58/38.19 "relations": [] 129.58/38.19 }, 129.58/38.19 "ground": [], 129.58/38.19 "free": [], 129.58/38.19 "exprvars": [] 129.58/38.19 } 129.58/38.19 }, 129.58/38.19 "329": { 129.58/38.19 "goal": [ 129.58/38.19 { 129.58/38.19 "clause": 0, 129.58/38.19 "scope": 3, 129.58/38.19 "term": "(le T24 T25 X33)" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "clause": 1, 129.58/38.19 "scope": 3, 129.58/38.19 "term": "(le T24 T25 X33)" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "clause": 2, 129.58/38.19 "scope": 3, 129.58/38.19 "term": "(le T24 T25 X33)" 129.58/38.19 } 129.58/38.19 ], 129.58/38.19 "kb": { 129.58/38.19 "nonunifying": [], 129.58/38.19 "intvars": {}, 129.58/38.19 "arithmetic": { 129.58/38.19 "type": "PlainIntegerRelationState", 129.58/38.19 "relations": [] 129.58/38.19 }, 129.58/38.19 "ground": [ 129.58/38.19 "T24", 129.58/38.19 "T25" 129.58/38.19 ], 129.58/38.19 "free": ["X33"], 129.58/38.19 "exprvars": [] 129.58/38.19 } 129.58/38.19 }, 129.58/38.19 "40": { 129.58/38.19 "goal": [], 129.58/38.19 "kb": { 129.58/38.19 "nonunifying": [], 129.58/38.19 "intvars": {}, 129.58/38.19 "arithmetic": { 129.58/38.19 "type": "PlainIntegerRelationState", 129.58/38.19 "relations": [] 129.58/38.19 }, 129.58/38.19 "ground": [], 129.58/38.19 "free": [], 129.58/38.19 "exprvars": [] 129.58/38.19 } 129.58/38.19 }, 129.58/38.19 "21": { 129.58/38.19 "goal": [{ 129.58/38.19 "clause": 5, 129.58/38.19 "scope": 1, 129.58/38.19 "term": "(div T1 T2 T3)" 129.58/38.19 }], 129.58/38.19 "kb": { 129.58/38.19 "nonunifying": [], 129.58/38.19 "intvars": {}, 129.58/38.19 "arithmetic": { 129.58/38.19 "type": "PlainIntegerRelationState", 129.58/38.19 "relations": [] 129.58/38.19 }, 129.58/38.19 "ground": [ 129.58/38.19 "T1", 129.58/38.19 "T2" 129.58/38.19 ], 129.58/38.19 "free": [], 129.58/38.19 "exprvars": [] 129.58/38.19 } 129.58/38.19 } 129.58/38.19 }, 129.58/38.19 "edges": [ 129.58/38.19 { 129.58/38.19 "from": 5, 129.58/38.19 "to": 21, 129.58/38.19 "label": "CASE" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 21, 129.58/38.19 "to": 38, 129.58/38.19 "label": "EVAL with clause\ndiv(X8, s(X9), X10) :- ','(le(s(X9), X8, X11), if(X11, X8, s(X9), X10)).\nand substitutionT1 -> T10,\nX8 -> T10,\nX9 -> T11,\nT2 -> s(T11),\nT3 -> T13,\nX10 -> T13,\nT12 -> T13" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 21, 129.58/38.19 "to": 40, 129.58/38.19 "label": "EVAL-BACKTRACK" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 38, 129.58/38.19 "to": 318, 129.58/38.19 "label": "SPLIT 1" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 38, 129.58/38.19 "to": 319, 129.58/38.19 "label": "SPLIT 2\nnew knowledge:\nT11 is ground\nT10 is ground\nT14 is ground\nreplacements:X11 -> T14" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 318, 129.58/38.19 "to": 320, 129.58/38.19 "label": "CASE" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 319, 129.58/38.19 "to": 367, 129.58/38.19 "label": "CASE" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 320, 129.58/38.19 "to": 321, 129.58/38.19 "label": "BACKTRACK\nfor clause: le(0, Y, true)because of non-unification" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 321, 129.58/38.19 "to": 322, 129.58/38.19 "label": "PARALLEL" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 321, 129.58/38.19 "to": 323, 129.58/38.19 "label": "PARALLEL" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 322, 129.58/38.19 "to": 324, 129.58/38.19 "label": "EVAL with clause\nle(s(X21), 0, false).\nand substitutionT11 -> T19,\nX21 -> T19,\nT10 -> 0,\nX11 -> false" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 322, 129.58/38.19 "to": 325, 129.58/38.19 "label": "EVAL-BACKTRACK" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 323, 129.58/38.19 "to": 327, 129.58/38.19 "label": "EVAL with clause\nle(s(X30), s(X31), X32) :- le(X30, X31, X32).\nand substitutionT11 -> T24,\nX30 -> T24,\nX31 -> T25,\nT10 -> s(T25),\nX11 -> X33,\nX32 -> X33" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 323, 129.58/38.19 "to": 328, 129.58/38.19 "label": "EVAL-BACKTRACK" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 324, 129.58/38.19 "to": 326, 129.58/38.19 "label": "SUCCESS" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 327, 129.58/38.19 "to": 329, 129.58/38.19 "label": "CASE" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 329, 129.58/38.19 "to": 330, 129.58/38.19 "label": "PARALLEL" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 329, 129.58/38.19 "to": 331, 129.58/38.19 "label": "PARALLEL" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 330, 129.58/38.19 "to": 332, 129.58/38.19 "label": "EVAL with clause\nle(0, X40, true).\nand substitutionT24 -> 0,\nT25 -> T32,\nX40 -> T32,\nX33 -> true" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 330, 129.58/38.19 "to": 333, 129.58/38.19 "label": "EVAL-BACKTRACK" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 331, 129.58/38.19 "to": 335, 129.58/38.19 "label": "PARALLEL" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 331, 129.58/38.19 "to": 336, 129.58/38.19 "label": "PARALLEL" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 332, 129.58/38.19 "to": 334, 129.58/38.19 "label": "SUCCESS" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 335, 129.58/38.19 "to": 343, 129.58/38.19 "label": "EVAL with clause\nle(s(X45), 0, false).\nand substitutionX45 -> T37,\nT24 -> s(T37),\nT25 -> 0,\nX33 -> false" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 335, 129.58/38.19 "to": 344, 129.58/38.19 "label": "EVAL-BACKTRACK" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 336, 129.58/38.19 "to": 350, 129.58/38.19 "label": "EVAL with clause\nle(s(X54), s(X55), X56) :- le(X54, X55, X56).\nand substitutionX54 -> T42,\nT24 -> s(T42),\nX55 -> T43,\nT25 -> s(T43),\nX33 -> X57,\nX56 -> X57" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 336, 129.58/38.19 "to": 351, 129.58/38.19 "label": "EVAL-BACKTRACK" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 343, 129.58/38.19 "to": 345, 129.58/38.19 "label": "SUCCESS" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 350, 129.58/38.19 "to": 327, 129.58/38.19 "label": "INSTANCE with matching:\nT24 -> T42\nT25 -> T43\nX33 -> X57" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 367, 129.58/38.19 "to": 368, 129.58/38.19 "label": "PARALLEL" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 367, 129.58/38.19 "to": 369, 129.58/38.19 "label": "PARALLEL" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 368, 129.58/38.19 "to": 372, 129.58/38.19 "label": "EVAL with clause\nif(false, X72, s(X73), 0).\nand substitutionT14 -> false,\nT10 -> T58,\nX72 -> T58,\nT11 -> T59,\nX73 -> T59,\nT13 -> 0" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 368, 129.58/38.19 "to": 373, 129.58/38.19 "label": "EVAL-BACKTRACK" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 369, 129.58/38.19 "to": 376, 129.58/38.19 "label": "EVAL with clause\nif(true, X81, s(X82), s(X83)) :- ','(minus(X81, X82, X84), div(X84, s(X82), X83)).\nand substitutionT14 -> true,\nT10 -> T66,\nX81 -> T66,\nT11 -> T67,\nX82 -> T67,\nX83 -> T69,\nT13 -> s(T69),\nT68 -> T69" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 369, 129.58/38.19 "to": 379, 129.58/38.19 "label": "EVAL-BACKTRACK" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 372, 129.58/38.19 "to": 374, 129.58/38.19 "label": "SUCCESS" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 376, 129.58/38.19 "to": 380, 129.58/38.19 "label": "SPLIT 1" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 376, 129.58/38.19 "to": 381, 129.58/38.19 "label": "SPLIT 2\nnew knowledge:\nT66 is ground\nT67 is ground\nT72 is ground\nreplacements:X84 -> T72" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 380, 129.58/38.19 "to": 382, 129.58/38.19 "label": "CASE" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 381, 129.58/38.19 "to": 5, 129.58/38.19 "label": "INSTANCE with matching:\nT1 -> T72\nT2 -> s(T67)\nT3 -> T69" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 382, 129.58/38.19 "to": 385, 129.58/38.19 "label": "PARALLEL" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 382, 129.58/38.19 "to": 386, 129.58/38.19 "label": "PARALLEL" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 385, 129.58/38.19 "to": 388, 129.58/38.19 "label": "EVAL with clause\nminus(X93, 0, X93).\nand substitutionT66 -> T79,\nX93 -> T79,\nT67 -> 0,\nX84 -> T79" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 385, 129.58/38.19 "to": 389, 129.58/38.19 "label": "EVAL-BACKTRACK" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 386, 129.58/38.19 "to": 393, 129.58/38.19 "label": "EVAL with clause\nminus(s(X102), s(X103), X104) :- minus(X102, X103, X104).\nand substitutionX102 -> T84,\nT66 -> s(T84),\nX103 -> T85,\nT67 -> s(T85),\nX84 -> X105,\nX104 -> X105" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 386, 129.58/38.19 "to": 394, 129.58/38.19 "label": "EVAL-BACKTRACK" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 388, 129.58/38.19 "to": 390, 129.58/38.19 "label": "SUCCESS" 129.58/38.19 }, 129.58/38.19 { 129.58/38.19 "from": 393, 129.58/38.19 "to": 380, 129.58/38.19 "label": "INSTANCE with matching:\nT66 -> T84\nT67 -> T85\nX84 -> X105" 129.58/38.19 } 129.58/38.19 ], 129.58/38.19 "type": "Graph" 129.58/38.19 } 129.58/38.19 } 129.58/38.19 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (218) 129.58/38.19 Complex Obligation (AND) 129.58/38.19 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (219) 129.58/38.19 Obligation: 129.58/38.19 Rules: 129.58/38.19 f382_out(T66, T67) -> f380_out(T66, T67) :|: TRUE 129.58/38.19 f380_in(x, x1) -> f382_in(x, x1) :|: TRUE 129.58/38.19 f385_out(x2, x3) -> f382_out(x2, x3) :|: TRUE 129.58/38.19 f386_out(x4, x5) -> f382_out(x4, x5) :|: TRUE 129.58/38.19 f382_in(x6, x7) -> f385_in(x6, x7) :|: TRUE 129.58/38.19 f382_in(x8, x9) -> f386_in(x8, x9) :|: TRUE 129.58/38.19 f380_out(T84, T85) -> f393_out(T84, T85) :|: TRUE 129.58/38.19 f393_in(x10, x11) -> f380_in(x10, x11) :|: TRUE 129.58/38.19 f394_out -> f386_out(x12, x13) :|: TRUE 129.58/38.19 f386_in(x14, x15) -> f394_in :|: TRUE 129.58/38.19 f386_in(s(x16), s(x17)) -> f393_in(x16, x17) :|: TRUE 129.58/38.19 f393_out(x18, x19) -> f386_out(s(x18), s(x19)) :|: TRUE 129.58/38.19 f5_in(T1, T2) -> f21_in(T1, T2) :|: TRUE 129.58/38.19 f21_out(x20, x21) -> f5_out(x20, x21) :|: TRUE 129.58/38.19 f40_out -> f21_out(x22, x23) :|: TRUE 129.58/38.19 f38_out(T11, T10) -> f21_out(T10, s(T11)) :|: TRUE 129.58/38.19 f21_in(x24, s(x25)) -> f38_in(x25, x24) :|: TRUE 129.58/38.19 f21_in(x26, x27) -> f40_in :|: TRUE 129.58/38.19 f319_out(x28, x29, x30) -> f38_out(x30, x29) :|: TRUE 129.58/38.19 f38_in(x31, x32) -> f318_in(x31, x32) :|: TRUE 129.58/38.19 f318_out(x33, x34) -> f319_in(x35, x34, x33) :|: TRUE 129.58/38.19 f319_in(x36, x37, x38) -> f367_in(x36, x37, x38) :|: TRUE 129.58/38.19 f367_out(x39, x40, x41) -> f319_out(x39, x40, x41) :|: TRUE 129.58/38.19 f368_out(x42, x43, x44) -> f367_out(x42, x43, x44) :|: TRUE 129.58/38.19 f367_in(x45, x46, x47) -> f369_in(x45, x46, x47) :|: TRUE 129.58/38.19 f369_out(x48, x49, x50) -> f367_out(x48, x49, x50) :|: TRUE 129.58/38.19 f367_in(x51, x52, x53) -> f368_in(x51, x52, x53) :|: TRUE 129.58/38.19 f379_out -> f369_out(x54, x55, x56) :|: TRUE 129.58/38.19 f376_out(x57, x58) -> f369_out(true, x57, x58) :|: TRUE 129.58/38.19 f369_in(x59, x60, x61) -> f379_in :|: TRUE 129.58/38.19 f369_in(true, x62, x63) -> f376_in(x62, x63) :|: TRUE 129.58/38.19 f376_in(x64, x65) -> f380_in(x64, x65) :|: TRUE 129.58/38.19 f381_out(x66, x67) -> f376_out(x68, x67) :|: TRUE 129.58/38.19 f380_out(x69, x70) -> f381_in(x71, x70) :|: TRUE 129.58/38.19 Start term: f5_in(T1, T2) 129.58/38.19 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (220) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 129.58/38.19 Constructed simple dependency graph. 129.58/38.19 129.58/38.19 Simplified to the following IRSwTs: 129.58/38.19 129.58/38.19 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (221) 129.58/38.19 TRUE 129.58/38.19 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (222) 129.58/38.19 Obligation: 129.58/38.19 Rules: 129.58/38.19 f329_in(T24, T25) -> f330_in(T24, T25) :|: TRUE 129.58/38.19 f331_out(x, x1) -> f329_out(x, x1) :|: TRUE 129.58/38.19 f329_in(x2, x3) -> f331_in(x2, x3) :|: TRUE 129.58/38.19 f330_out(x4, x5) -> f329_out(x4, x5) :|: TRUE 129.58/38.19 f327_out(T42, T43) -> f350_out(T42, T43) :|: TRUE 129.58/38.19 f350_in(x6, x7) -> f327_in(x6, x7) :|: TRUE 129.58/38.19 f327_in(x8, x9) -> f329_in(x8, x9) :|: TRUE 129.58/38.19 f329_out(x10, x11) -> f327_out(x10, x11) :|: TRUE 129.58/38.19 f331_in(x12, x13) -> f336_in(x12, x13) :|: TRUE 129.58/38.19 f335_out(x14, x15) -> f331_out(x14, x15) :|: TRUE 129.58/38.19 f331_in(x16, x17) -> f335_in(x16, x17) :|: TRUE 129.58/38.19 f336_out(x18, x19) -> f331_out(x18, x19) :|: TRUE 129.58/38.19 f336_in(x20, x21) -> f351_in :|: TRUE 129.58/38.19 f350_out(x22, x23) -> f336_out(s(x22), s(x23)) :|: TRUE 129.58/38.19 f336_in(s(x24), s(x25)) -> f350_in(x24, x25) :|: TRUE 129.58/38.19 f351_out -> f336_out(x26, x27) :|: TRUE 129.58/38.19 f5_in(T1, T2) -> f21_in(T1, T2) :|: TRUE 129.58/38.19 f21_out(x28, x29) -> f5_out(x28, x29) :|: TRUE 129.58/38.19 f40_out -> f21_out(x30, x31) :|: TRUE 129.58/38.19 f38_out(T11, T10) -> f21_out(T10, s(T11)) :|: TRUE 129.58/38.19 f21_in(x32, s(x33)) -> f38_in(x33, x32) :|: TRUE 129.58/38.19 f21_in(x34, x35) -> f40_in :|: TRUE 129.58/38.19 f319_out(x36, x37, x38) -> f38_out(x38, x37) :|: TRUE 129.58/38.19 f38_in(x39, x40) -> f318_in(x39, x40) :|: TRUE 129.58/38.19 f318_out(x41, x42) -> f319_in(x43, x42, x41) :|: TRUE 129.58/38.19 f318_in(x44, x45) -> f320_in(x44, x45) :|: TRUE 129.58/38.19 f320_out(x46, x47) -> f318_out(x46, x47) :|: TRUE 129.58/38.19 f320_in(x48, x49) -> f321_in(x48, x49) :|: TRUE 129.58/38.19 f321_out(x50, x51) -> f320_out(x50, x51) :|: TRUE 129.58/38.19 f323_out(x52, x53) -> f321_out(x52, x53) :|: TRUE 129.58/38.19 f321_in(x54, x55) -> f323_in(x54, x55) :|: TRUE 129.58/38.19 f321_in(x56, x57) -> f322_in(x56, x57) :|: TRUE 129.58/38.19 f322_out(x58, x59) -> f321_out(x58, x59) :|: TRUE 129.58/38.19 f323_in(x60, s(x61)) -> f327_in(x60, x61) :|: TRUE 129.58/38.19 f328_out -> f323_out(x62, x63) :|: TRUE 129.58/38.19 f323_in(x64, x65) -> f328_in :|: TRUE 129.58/38.19 f327_out(x66, x67) -> f323_out(x66, s(x67)) :|: TRUE 129.58/38.19 Start term: f5_in(T1, T2) 129.58/38.19 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (223) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 129.58/38.19 Constructed simple dependency graph. 129.58/38.19 129.58/38.19 Simplified to the following IRSwTs: 129.58/38.19 129.58/38.19 intTRSProblem: 129.58/38.19 f329_in(x2, x3) -> f331_in(x2, x3) :|: TRUE 129.58/38.19 f350_in(x6, x7) -> f327_in(x6, x7) :|: TRUE 129.58/38.19 f327_in(x8, x9) -> f329_in(x8, x9) :|: TRUE 129.58/38.19 f331_in(x12, x13) -> f336_in(x12, x13) :|: TRUE 129.58/38.19 f336_in(s(x24), s(x25)) -> f350_in(x24, x25) :|: TRUE 129.58/38.19 129.58/38.19 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (224) 129.58/38.19 Obligation: 129.58/38.19 Rules: 129.58/38.19 f329_in(x2, x3) -> f331_in(x2, x3) :|: TRUE 129.58/38.19 f350_in(x6, x7) -> f327_in(x6, x7) :|: TRUE 129.58/38.19 f327_in(x8, x9) -> f329_in(x8, x9) :|: TRUE 129.58/38.19 f331_in(x12, x13) -> f336_in(x12, x13) :|: TRUE 129.58/38.19 f336_in(s(x24), s(x25)) -> f350_in(x24, x25) :|: TRUE 129.58/38.19 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (225) IntTRSCompressionProof (EQUIVALENT) 129.58/38.19 Compressed rules. 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (226) 129.58/38.19 Obligation: 129.58/38.19 Rules: 129.58/38.19 f350_in(s(x24:0), s(x25:0)) -> f350_in(x24:0, x25:0) :|: TRUE 129.58/38.19 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (227) IRSFormatTransformerProof (EQUIVALENT) 129.58/38.19 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (228) 129.58/38.19 Obligation: 129.58/38.19 Rules: 129.58/38.19 f350_in(s(x24:0), s(x25:0)) -> f350_in(x24:0, x25:0) :|: TRUE 129.58/38.19 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (229) IRSwTTerminationDigraphProof (EQUIVALENT) 129.58/38.19 Constructed termination digraph! 129.58/38.19 Nodes: 129.58/38.19 (1) f350_in(s(x24:0), s(x25:0)) -> f350_in(x24:0, x25:0) :|: TRUE 129.58/38.19 129.58/38.19 Arcs: 129.58/38.19 (1) -> (1) 129.58/38.19 129.58/38.19 This digraph is fully evaluated! 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (230) 129.58/38.19 Obligation: 129.58/38.19 129.58/38.19 Termination digraph: 129.58/38.19 Nodes: 129.58/38.19 (1) f350_in(s(x24:0), s(x25:0)) -> f350_in(x24:0, x25:0) :|: TRUE 129.58/38.19 129.58/38.19 Arcs: 129.58/38.19 (1) -> (1) 129.58/38.19 129.58/38.19 This digraph is fully evaluated! 129.58/38.19 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (231) TempFilterProof (SOUND) 129.58/38.19 Used the following sort dictionary for filtering: 129.58/38.19 f350_in(VARIABLE, VARIABLE) 129.58/38.19 s(VARIABLE) 129.58/38.19 Removed predefined arithmetic. 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (232) 129.58/38.19 Obligation: 129.58/38.19 Rules: 129.58/38.19 f350_in(s(x24:0), s(x25:0)) -> f350_in(x24:0, x25:0) 129.58/38.19 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (233) IRSwTToQDPProof (SOUND) 129.58/38.19 Removed the integers and created a QDP-Problem. 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (234) 129.58/38.19 Obligation: 129.58/38.19 Q DP problem: 129.58/38.19 The TRS P consists of the following rules: 129.58/38.19 129.58/38.19 f350_in(s(x24:0), s(x25:0)) -> f350_in(x24:0, x25:0) 129.58/38.19 129.58/38.19 R is empty. 129.58/38.19 Q is empty. 129.58/38.19 We have to consider all (P,Q,R)-chains. 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (235) QDPSizeChangeProof (EQUIVALENT) 129.58/38.19 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. 129.58/38.19 129.58/38.19 From the DPs we obtained the following set of size-change graphs: 129.58/38.19 *f350_in(s(x24:0), s(x25:0)) -> f350_in(x24:0, x25:0) 129.58/38.19 The graph contains the following edges 1 > 1, 2 > 2 129.58/38.19 129.58/38.19 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (236) 129.58/38.19 YES 129.58/38.19 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (237) 129.58/38.19 Obligation: 129.58/38.19 Rules: 129.58/38.19 f327_out(T42, T43) -> f350_out(T42, T43) :|: TRUE 129.58/38.19 f350_in(x, x1) -> f327_in(x, x1) :|: TRUE 129.58/38.19 f319_in(T14, T10, T11) -> f367_in(T14, T10, T11) :|: TRUE 129.58/38.19 f367_out(x2, x3, x4) -> f319_out(x2, x3, x4) :|: TRUE 129.58/38.19 f336_in(T24, T25) -> f351_in :|: TRUE 129.58/38.19 f350_out(x5, x6) -> f336_out(s(x5), s(x6)) :|: TRUE 129.58/38.19 f336_in(s(x7), s(x8)) -> f350_in(x7, x8) :|: TRUE 129.58/38.19 f351_out -> f336_out(x9, x10) :|: TRUE 129.58/38.19 f324_in -> f324_out :|: TRUE 129.58/38.19 f332_in -> f332_out :|: TRUE 129.58/38.19 f329_in(x11, x12) -> f330_in(x11, x12) :|: TRUE 129.58/38.19 f331_out(x13, x14) -> f329_out(x13, x14) :|: TRUE 129.58/38.19 f329_in(x15, x16) -> f331_in(x15, x16) :|: TRUE 129.58/38.19 f330_out(x17, x18) -> f329_out(x17, x18) :|: TRUE 129.58/38.19 f381_in(T72, T67) -> f5_in(T72, s(T67)) :|: TRUE 129.58/38.19 f5_out(x19, s(x20)) -> f381_out(x19, x20) :|: TRUE 129.58/38.19 f40_out -> f21_out(T1, T2) :|: TRUE 129.58/38.19 f38_out(x21, x22) -> f21_out(x22, s(x21)) :|: TRUE 129.58/38.19 f21_in(x23, s(x24)) -> f38_in(x24, x23) :|: TRUE 129.58/38.19 f21_in(x25, x26) -> f40_in :|: TRUE 129.58/38.19 f379_out -> f369_out(x27, x28, x29) :|: TRUE 129.58/38.19 f376_out(x30, x31) -> f369_out(true, x30, x31) :|: TRUE 129.58/38.19 f369_in(x32, x33, x34) -> f379_in :|: TRUE 129.58/38.19 f369_in(true, x35, x36) -> f376_in(x35, x36) :|: TRUE 129.58/38.19 f343_in -> f343_out :|: TRUE 129.58/38.19 f323_in(x37, s(x38)) -> f327_in(x37, x38) :|: TRUE 129.58/38.19 f328_out -> f323_out(x39, x40) :|: TRUE 129.58/38.19 f323_in(x41, x42) -> f328_in :|: TRUE 129.58/38.19 f327_out(x43, x44) -> f323_out(x43, s(x44)) :|: TRUE 129.58/38.19 f368_out(x45, x46, x47) -> f367_out(x45, x46, x47) :|: TRUE 129.58/38.19 f367_in(x48, x49, x50) -> f369_in(x48, x49, x50) :|: TRUE 129.58/38.19 f369_out(x51, x52, x53) -> f367_out(x51, x52, x53) :|: TRUE 129.58/38.19 f367_in(x54, x55, x56) -> f368_in(x54, x55, x56) :|: TRUE 129.58/38.19 f335_in(s(T37), 0) -> f343_in :|: TRUE 129.58/38.19 f335_in(x57, x58) -> f344_in :|: TRUE 129.58/38.19 f343_out -> f335_out(s(x59), 0) :|: TRUE 129.58/38.19 f344_out -> f335_out(x60, x61) :|: TRUE 129.58/38.19 f318_in(x62, x63) -> f320_in(x62, x63) :|: TRUE 129.58/38.19 f320_out(x64, x65) -> f318_out(x64, x65) :|: TRUE 129.58/38.19 f382_out(x66, x67) -> f380_out(x66, x67) :|: TRUE 129.58/38.19 f380_in(x68, x69) -> f382_in(x68, x69) :|: TRUE 129.58/38.19 f319_out(x70, x71, x72) -> f38_out(x72, x71) :|: TRUE 129.58/38.19 f38_in(x73, x74) -> f318_in(x73, x74) :|: TRUE 129.58/38.19 f318_out(x75, x76) -> f319_in(x77, x76, x75) :|: TRUE 129.58/38.19 f376_in(x78, x79) -> f380_in(x78, x79) :|: TRUE 129.58/38.19 f381_out(x80, x81) -> f376_out(x82, x81) :|: TRUE 129.58/38.19 f380_out(x83, x84) -> f381_in(x85, x84) :|: TRUE 129.58/38.19 f388_in -> f388_out :|: TRUE 129.58/38.19 f5_in(x86, x87) -> f21_in(x86, x87) :|: TRUE 129.58/38.19 f21_out(x88, x89) -> f5_out(x88, x89) :|: TRUE 129.58/38.19 f323_out(x90, x91) -> f321_out(x90, x91) :|: TRUE 129.58/38.19 f321_in(x92, x93) -> f323_in(x92, x93) :|: TRUE 129.58/38.19 f321_in(x94, x95) -> f322_in(x94, x95) :|: TRUE 129.58/38.19 f322_out(x96, x97) -> f321_out(x96, x97) :|: TRUE 129.58/38.19 f389_out -> f385_out(x98, x99) :|: TRUE 129.58/38.19 f388_out -> f385_out(T79, 0) :|: TRUE 129.58/38.19 f385_in(x100, 0) -> f388_in :|: TRUE 129.58/38.19 f385_in(x101, x102) -> f389_in :|: TRUE 129.58/38.19 f332_out -> f330_out(0, T32) :|: TRUE 129.58/38.19 f330_in(x103, x104) -> f333_in :|: TRUE 129.58/38.19 f333_out -> f330_out(x105, x106) :|: TRUE 129.58/38.19 f330_in(0, x107) -> f332_in :|: TRUE 129.58/38.19 f327_in(x108, x109) -> f329_in(x108, x109) :|: TRUE 129.58/38.19 f329_out(x110, x111) -> f327_out(x110, x111) :|: TRUE 129.58/38.19 f385_out(x112, x113) -> f382_out(x112, x113) :|: TRUE 129.58/38.19 f386_out(x114, x115) -> f382_out(x114, x115) :|: TRUE 129.58/38.19 f382_in(x116, x117) -> f385_in(x116, x117) :|: TRUE 129.58/38.19 f382_in(x118, x119) -> f386_in(x118, x119) :|: TRUE 129.58/38.19 f322_in(x120, x121) -> f325_in :|: TRUE 129.58/38.19 f322_in(T19, 0) -> f324_in :|: TRUE 129.58/38.19 f324_out -> f322_out(x122, 0) :|: TRUE 129.58/38.19 f325_out -> f322_out(x123, x124) :|: TRUE 129.58/38.19 f331_in(x125, x126) -> f336_in(x125, x126) :|: TRUE 129.58/38.19 f335_out(x127, x128) -> f331_out(x127, x128) :|: TRUE 129.58/38.19 f331_in(x129, x130) -> f335_in(x129, x130) :|: TRUE 129.58/38.19 f336_out(x131, x132) -> f331_out(x131, x132) :|: TRUE 129.58/38.19 f380_out(T84, T85) -> f393_out(T84, T85) :|: TRUE 129.58/38.19 f393_in(x133, x134) -> f380_in(x133, x134) :|: TRUE 129.58/38.19 f394_out -> f386_out(x135, x136) :|: TRUE 129.58/38.19 f386_in(x137, x138) -> f394_in :|: TRUE 129.58/38.19 f386_in(s(x139), s(x140)) -> f393_in(x139, x140) :|: TRUE 129.58/38.19 f393_out(x141, x142) -> f386_out(s(x141), s(x142)) :|: TRUE 129.58/38.19 f320_in(x143, x144) -> f321_in(x143, x144) :|: TRUE 129.58/38.19 f321_out(x145, x146) -> f320_out(x145, x146) :|: TRUE 129.58/38.19 Start term: f5_in(T1, T2) 129.58/38.19 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (238) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 129.58/38.19 Constructed simple dependency graph. 129.58/38.19 129.58/38.19 Simplified to the following IRSwTs: 129.58/38.19 129.58/38.19 intTRSProblem: 129.58/38.19 f327_out(T42, T43) -> f350_out(T42, T43) :|: TRUE 129.58/38.19 f350_in(x, x1) -> f327_in(x, x1) :|: TRUE 129.58/38.19 f319_in(T14, T10, T11) -> f367_in(T14, T10, T11) :|: TRUE 129.58/38.19 f350_out(x5, x6) -> f336_out(s(x5), s(x6)) :|: TRUE 129.58/38.19 f336_in(s(x7), s(x8)) -> f350_in(x7, x8) :|: TRUE 129.58/38.19 f324_in -> f324_out :|: TRUE 129.58/38.19 f332_in -> f332_out :|: TRUE 129.58/38.19 f329_in(x11, x12) -> f330_in(x11, x12) :|: TRUE 129.58/38.19 f331_out(x13, x14) -> f329_out(x13, x14) :|: TRUE 129.58/38.19 f329_in(x15, x16) -> f331_in(x15, x16) :|: TRUE 129.58/38.19 f330_out(x17, x18) -> f329_out(x17, x18) :|: TRUE 129.58/38.19 f381_in(T72, T67) -> f5_in(T72, s(T67)) :|: TRUE 129.58/38.19 f21_in(x23, s(x24)) -> f38_in(x24, x23) :|: TRUE 129.58/38.19 f369_in(true, x35, x36) -> f376_in(x35, x36) :|: TRUE 129.58/38.19 f343_in -> f343_out :|: TRUE 129.58/38.19 f323_in(x37, s(x38)) -> f327_in(x37, x38) :|: TRUE 129.58/38.19 f327_out(x43, x44) -> f323_out(x43, s(x44)) :|: TRUE 129.58/38.19 f367_in(x48, x49, x50) -> f369_in(x48, x49, x50) :|: TRUE 129.58/38.19 f335_in(s(T37), 0) -> f343_in :|: TRUE 129.58/38.19 f343_out -> f335_out(s(x59), 0) :|: TRUE 129.58/38.19 f318_in(x62, x63) -> f320_in(x62, x63) :|: TRUE 129.58/38.19 f320_out(x64, x65) -> f318_out(x64, x65) :|: TRUE 129.58/38.19 f382_out(x66, x67) -> f380_out(x66, x67) :|: TRUE 129.58/38.19 f380_in(x68, x69) -> f382_in(x68, x69) :|: TRUE 129.58/38.19 f38_in(x73, x74) -> f318_in(x73, x74) :|: TRUE 129.58/38.19 f318_out(x75, x76) -> f319_in(x77, x76, x75) :|: TRUE 129.58/38.19 f376_in(x78, x79) -> f380_in(x78, x79) :|: TRUE 129.58/38.19 f380_out(x83, x84) -> f381_in(x85, x84) :|: TRUE 129.58/38.19 f388_in -> f388_out :|: TRUE 129.58/38.19 f5_in(x86, x87) -> f21_in(x86, x87) :|: TRUE 129.58/38.19 f323_out(x90, x91) -> f321_out(x90, x91) :|: TRUE 129.58/38.19 f321_in(x92, x93) -> f323_in(x92, x93) :|: TRUE 129.58/38.19 f321_in(x94, x95) -> f322_in(x94, x95) :|: TRUE 129.58/38.19 f322_out(x96, x97) -> f321_out(x96, x97) :|: TRUE 129.58/38.19 f388_out -> f385_out(T79, 0) :|: TRUE 129.58/38.19 f385_in(x100, 0) -> f388_in :|: TRUE 129.58/38.19 f332_out -> f330_out(0, T32) :|: TRUE 129.58/38.19 f330_in(0, x107) -> f332_in :|: TRUE 129.58/38.19 f327_in(x108, x109) -> f329_in(x108, x109) :|: TRUE 129.58/38.19 f329_out(x110, x111) -> f327_out(x110, x111) :|: TRUE 129.58/38.19 f385_out(x112, x113) -> f382_out(x112, x113) :|: TRUE 129.58/38.19 f386_out(x114, x115) -> f382_out(x114, x115) :|: TRUE 129.58/38.19 f382_in(x116, x117) -> f385_in(x116, x117) :|: TRUE 129.58/38.19 f382_in(x118, x119) -> f386_in(x118, x119) :|: TRUE 129.58/38.19 f322_in(T19, 0) -> f324_in :|: TRUE 129.58/38.19 f324_out -> f322_out(x122, 0) :|: TRUE 129.58/38.19 f331_in(x125, x126) -> f336_in(x125, x126) :|: TRUE 129.58/38.19 f335_out(x127, x128) -> f331_out(x127, x128) :|: TRUE 129.58/38.19 f331_in(x129, x130) -> f335_in(x129, x130) :|: TRUE 129.58/38.19 f336_out(x131, x132) -> f331_out(x131, x132) :|: TRUE 129.58/38.19 f380_out(T84, T85) -> f393_out(T84, T85) :|: TRUE 129.58/38.19 f393_in(x133, x134) -> f380_in(x133, x134) :|: TRUE 129.58/38.19 f386_in(s(x139), s(x140)) -> f393_in(x139, x140) :|: TRUE 129.58/38.19 f393_out(x141, x142) -> f386_out(s(x141), s(x142)) :|: TRUE 129.58/38.19 f320_in(x143, x144) -> f321_in(x143, x144) :|: TRUE 129.58/38.19 f321_out(x145, x146) -> f320_out(x145, x146) :|: TRUE 129.58/38.19 129.58/38.19 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (239) 129.58/38.19 Obligation: 129.58/38.19 Rules: 129.58/38.19 f327_out(T42, T43) -> f350_out(T42, T43) :|: TRUE 129.58/38.19 f350_in(x, x1) -> f327_in(x, x1) :|: TRUE 129.58/38.19 f319_in(T14, T10, T11) -> f367_in(T14, T10, T11) :|: TRUE 129.58/38.19 f350_out(x5, x6) -> f336_out(s(x5), s(x6)) :|: TRUE 129.58/38.19 f336_in(s(x7), s(x8)) -> f350_in(x7, x8) :|: TRUE 129.58/38.19 f324_in -> f324_out :|: TRUE 129.58/38.19 f332_in -> f332_out :|: TRUE 129.58/38.19 f329_in(x11, x12) -> f330_in(x11, x12) :|: TRUE 129.58/38.19 f331_out(x13, x14) -> f329_out(x13, x14) :|: TRUE 129.58/38.19 f329_in(x15, x16) -> f331_in(x15, x16) :|: TRUE 129.58/38.19 f330_out(x17, x18) -> f329_out(x17, x18) :|: TRUE 129.58/38.19 f381_in(T72, T67) -> f5_in(T72, s(T67)) :|: TRUE 129.58/38.19 f21_in(x23, s(x24)) -> f38_in(x24, x23) :|: TRUE 129.58/38.19 f369_in(true, x35, x36) -> f376_in(x35, x36) :|: TRUE 129.58/38.19 f343_in -> f343_out :|: TRUE 129.58/38.19 f323_in(x37, s(x38)) -> f327_in(x37, x38) :|: TRUE 129.58/38.19 f327_out(x43, x44) -> f323_out(x43, s(x44)) :|: TRUE 129.58/38.19 f367_in(x48, x49, x50) -> f369_in(x48, x49, x50) :|: TRUE 129.58/38.19 f335_in(s(T37), 0) -> f343_in :|: TRUE 129.58/38.19 f343_out -> f335_out(s(x59), 0) :|: TRUE 129.58/38.19 f318_in(x62, x63) -> f320_in(x62, x63) :|: TRUE 129.58/38.19 f320_out(x64, x65) -> f318_out(x64, x65) :|: TRUE 129.58/38.19 f382_out(x66, x67) -> f380_out(x66, x67) :|: TRUE 129.58/38.19 f380_in(x68, x69) -> f382_in(x68, x69) :|: TRUE 129.58/38.19 f38_in(x73, x74) -> f318_in(x73, x74) :|: TRUE 129.58/38.19 f318_out(x75, x76) -> f319_in(x77, x76, x75) :|: TRUE 129.58/38.19 f376_in(x78, x79) -> f380_in(x78, x79) :|: TRUE 129.58/38.19 f380_out(x83, x84) -> f381_in(x85, x84) :|: TRUE 129.58/38.19 f388_in -> f388_out :|: TRUE 129.58/38.19 f5_in(x86, x87) -> f21_in(x86, x87) :|: TRUE 129.58/38.19 f323_out(x90, x91) -> f321_out(x90, x91) :|: TRUE 129.58/38.19 f321_in(x92, x93) -> f323_in(x92, x93) :|: TRUE 129.58/38.19 f321_in(x94, x95) -> f322_in(x94, x95) :|: TRUE 129.58/38.19 f322_out(x96, x97) -> f321_out(x96, x97) :|: TRUE 129.58/38.19 f388_out -> f385_out(T79, 0) :|: TRUE 129.58/38.19 f385_in(x100, 0) -> f388_in :|: TRUE 129.58/38.19 f332_out -> f330_out(0, T32) :|: TRUE 129.58/38.19 f330_in(0, x107) -> f332_in :|: TRUE 129.58/38.19 f327_in(x108, x109) -> f329_in(x108, x109) :|: TRUE 129.58/38.19 f329_out(x110, x111) -> f327_out(x110, x111) :|: TRUE 129.58/38.19 f385_out(x112, x113) -> f382_out(x112, x113) :|: TRUE 129.58/38.19 f386_out(x114, x115) -> f382_out(x114, x115) :|: TRUE 129.58/38.19 f382_in(x116, x117) -> f385_in(x116, x117) :|: TRUE 129.58/38.19 f382_in(x118, x119) -> f386_in(x118, x119) :|: TRUE 129.58/38.19 f322_in(T19, 0) -> f324_in :|: TRUE 129.58/38.19 f324_out -> f322_out(x122, 0) :|: TRUE 129.58/38.19 f331_in(x125, x126) -> f336_in(x125, x126) :|: TRUE 129.58/38.19 f335_out(x127, x128) -> f331_out(x127, x128) :|: TRUE 129.58/38.19 f331_in(x129, x130) -> f335_in(x129, x130) :|: TRUE 129.58/38.19 f336_out(x131, x132) -> f331_out(x131, x132) :|: TRUE 129.58/38.19 f380_out(T84, T85) -> f393_out(T84, T85) :|: TRUE 129.58/38.19 f393_in(x133, x134) -> f380_in(x133, x134) :|: TRUE 129.58/38.19 f386_in(s(x139), s(x140)) -> f393_in(x139, x140) :|: TRUE 129.58/38.19 f393_out(x141, x142) -> f386_out(s(x141), s(x142)) :|: TRUE 129.58/38.19 f320_in(x143, x144) -> f321_in(x143, x144) :|: TRUE 129.58/38.19 f321_out(x145, x146) -> f320_out(x145, x146) :|: TRUE 129.58/38.19 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (240) IntTRSCompressionProof (EQUIVALENT) 129.58/38.19 Compressed rules. 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (241) 129.58/38.19 Obligation: 129.58/38.19 Rules: 129.58/38.19 f329_in(s(x7:0), s(x8:0)) -> f329_in(x7:0, x8:0) :|: TRUE 129.58/38.19 f327_out(x43:0, x44:0) -> f380_in(s(x44:0), x43:0) :|: TRUE 129.58/38.19 f382_out(x66:0, x67:0) -> f329_in(x67:0, x38:0) :|: TRUE 129.58/38.19 f382_out(x, x1) -> f380_in(0, x2) :|: TRUE 129.58/38.19 f329_in(s(T37:0), cons_0) -> f327_out(s(x59:0), 0) :|: TRUE && cons_0 = 0 129.58/38.19 f382_out(x3, x4) -> f382_out(s(x3), s(x4)) :|: TRUE 129.58/38.19 f380_in(x5, x6) -> f382_out(x7, 0) :|: TRUE && x6 = 0 129.58/38.19 f329_in(x8, x9) -> f327_out(0, x10) :|: TRUE && x8 = 0 129.58/38.19 f327_out(T42:0, T43:0) -> f327_out(s(T42:0), s(T43:0)) :|: TRUE 129.58/38.19 f380_in(s(x139:0), s(x140:0)) -> f380_in(x139:0, x140:0) :|: TRUE 129.58/38.19 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (242) IRSFormatTransformerProof (EQUIVALENT) 129.58/38.19 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (243) 129.58/38.19 Obligation: 129.58/38.19 Rules: 129.58/38.19 f329_in(s(x7:0), s(x8:0)) -> f329_in(x7:0, x8:0) :|: TRUE 129.58/38.19 f327_out(x43:0, x44:0) -> f380_in(s(x44:0), x43:0) :|: TRUE 129.58/38.19 f382_out(x66:0, x67:0) -> f329_in(x67:0, x38:0) :|: TRUE 129.58/38.19 f382_out(x, x1) -> f380_in(0, x2) :|: TRUE 129.58/38.19 f329_in(s(T37:0), cons_0) -> f327_out(s(x59:0), 0) :|: TRUE && cons_0 = 0 129.58/38.19 f382_out(x3, x4) -> f382_out(s(x3), s(x4)) :|: TRUE 129.58/38.19 f380_in(x5, x6) -> f382_out(x7, 0) :|: TRUE && x6 = 0 129.58/38.19 f329_in(x8, x9) -> f327_out(0, x10) :|: TRUE && x8 = 0 129.58/38.19 f327_out(T42:0, T43:0) -> f327_out(s(T42:0), s(T43:0)) :|: TRUE 129.58/38.19 f380_in(s(x139:0), s(x140:0)) -> f380_in(x139:0, x140:0) :|: TRUE 129.58/38.19 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (244) IRSwTTerminationDigraphProof (EQUIVALENT) 129.58/38.19 Constructed termination digraph! 129.58/38.19 Nodes: 129.58/38.19 (1) f329_in(s(x7:0), s(x8:0)) -> f329_in(x7:0, x8:0) :|: TRUE 129.58/38.19 (2) f327_out(x43:0, x44:0) -> f380_in(s(x44:0), x43:0) :|: TRUE 129.58/38.19 (3) f382_out(x66:0, x67:0) -> f329_in(x67:0, x38:0) :|: TRUE 129.58/38.19 (4) f382_out(x, x1) -> f380_in(0, x2) :|: TRUE 129.58/38.19 (5) f329_in(s(T37:0), cons_0) -> f327_out(s(x59:0), 0) :|: TRUE && cons_0 = 0 129.58/38.19 (6) f382_out(x3, x4) -> f382_out(s(x3), s(x4)) :|: TRUE 129.58/38.19 (7) f380_in(x5, x6) -> f382_out(x7, 0) :|: TRUE && x6 = 0 129.58/38.19 (8) f329_in(x8, x9) -> f327_out(0, x10) :|: TRUE && x8 = 0 129.58/38.19 (9) f327_out(T42:0, T43:0) -> f327_out(s(T42:0), s(T43:0)) :|: TRUE 129.58/38.19 (10) f380_in(s(x139:0), s(x140:0)) -> f380_in(x139:0, x140:0) :|: TRUE 129.58/38.19 129.58/38.19 Arcs: 129.58/38.19 (1) -> (1), (5), (8) 129.58/38.19 (2) -> (7), (10) 129.58/38.19 (3) -> (1), (5), (8) 129.58/38.19 (4) -> (7) 129.58/38.19 (5) -> (2), (9) 129.58/38.19 (6) -> (3), (4), (6) 129.58/38.19 (7) -> (3), (4), (6) 129.58/38.19 (8) -> (2), (9) 129.58/38.19 (9) -> (2), (9) 129.58/38.19 (10) -> (7), (10) 129.58/38.19 129.58/38.19 This digraph is fully evaluated! 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (245) 129.58/38.19 Obligation: 129.58/38.19 129.58/38.19 Termination digraph: 129.58/38.19 Nodes: 129.58/38.19 (1) f329_in(s(x7:0), s(x8:0)) -> f329_in(x7:0, x8:0) :|: TRUE 129.58/38.19 (2) f382_out(x66:0, x67:0) -> f329_in(x67:0, x38:0) :|: TRUE 129.58/38.19 (3) f382_out(x3, x4) -> f382_out(s(x3), s(x4)) :|: TRUE 129.58/38.19 (4) f380_in(x5, x6) -> f382_out(x7, 0) :|: TRUE && x6 = 0 129.58/38.19 (5) f380_in(s(x139:0), s(x140:0)) -> f380_in(x139:0, x140:0) :|: TRUE 129.58/38.19 (6) f382_out(x, x1) -> f380_in(0, x2) :|: TRUE 129.58/38.19 (7) f327_out(x43:0, x44:0) -> f380_in(s(x44:0), x43:0) :|: TRUE 129.58/38.19 (8) f327_out(T42:0, T43:0) -> f327_out(s(T42:0), s(T43:0)) :|: TRUE 129.58/38.19 (9) f329_in(x8, x9) -> f327_out(0, x10) :|: TRUE && x8 = 0 129.58/38.19 (10) f329_in(s(T37:0), cons_0) -> f327_out(s(x59:0), 0) :|: TRUE && cons_0 = 0 129.58/38.19 129.58/38.19 Arcs: 129.58/38.19 (1) -> (1), (9), (10) 129.58/38.19 (2) -> (1), (9), (10) 129.58/38.19 (3) -> (2), (3), (6) 129.58/38.19 (4) -> (2), (3), (6) 129.58/38.19 (5) -> (4), (5) 129.58/38.19 (6) -> (4) 129.58/38.19 (7) -> (4), (5) 129.58/38.19 (8) -> (7), (8) 129.58/38.19 (9) -> (7), (8) 129.58/38.19 (10) -> (7), (8) 129.58/38.19 129.58/38.19 This digraph is fully evaluated! 129.58/38.19 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (246) IntTRSCompressionProof (EQUIVALENT) 129.58/38.19 Compressed rules. 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (247) 129.58/38.19 Obligation: 129.58/38.19 Rules: 129.58/38.19 f380_in(s(x139:0:0), s(x140:0:0)) -> f380_in(x139:0:0, x140:0:0) :|: TRUE 129.58/38.19 f329_in(s(x7:0:0), s(x8:0:0)) -> f329_in(x7:0:0, x8:0:0) :|: TRUE 129.58/38.19 f327_out(x43:0:0, x44:0:0) -> f380_in(s(x44:0:0), x43:0:0) :|: TRUE 129.58/38.19 f329_in(s(T37:0:0), cons_0) -> f327_out(s(x59:0:0), 0) :|: TRUE && cons_0 = 0 129.58/38.19 f382_out(x3:0, x4:0) -> f382_out(s(x3:0), s(x4:0)) :|: TRUE 129.58/38.19 f380_in(x, x1) -> f382_out(x2, 0) :|: TRUE && x1 = 0 129.58/38.19 f327_out(T42:0:0, T43:0:0) -> f327_out(s(T42:0:0), s(T43:0:0)) :|: TRUE 129.58/38.19 f329_in(x3, x4) -> f327_out(0, x5) :|: TRUE && x3 = 0 129.58/38.19 f382_out(x66:0:0, x67:0:0) -> f329_in(x67:0:0, x38:0:0) :|: TRUE 129.58/38.19 f382_out(x:0, x1:0) -> f380_in(0, x2:0) :|: TRUE 129.58/38.19 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (248) IntTRSUnneededArgumentFilterProof (EQUIVALENT) 129.58/38.19 Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: 129.58/38.19 129.58/38.19 f382_out(x1, x2) -> f382_out(x2) 129.58/38.19 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (249) 129.58/38.19 Obligation: 129.58/38.19 Rules: 129.58/38.19 f380_in(s(x139:0:0), s(x140:0:0)) -> f380_in(x139:0:0, x140:0:0) :|: TRUE 129.58/38.19 f329_in(s(x7:0:0), s(x8:0:0)) -> f329_in(x7:0:0, x8:0:0) :|: TRUE 129.58/38.19 f327_out(x43:0:0, x44:0:0) -> f380_in(s(x44:0:0), x43:0:0) :|: TRUE 129.58/38.19 f329_in(s(T37:0:0), cons_0) -> f327_out(s(x59:0:0), 0) :|: TRUE && cons_0 = 0 129.58/38.19 f382_out(x4:0) -> f382_out(s(x4:0)) :|: TRUE 129.58/38.19 f380_in(x, x1) -> f382_out(0) :|: TRUE && x1 = 0 129.58/38.19 f327_out(T42:0:0, T43:0:0) -> f327_out(s(T42:0:0), s(T43:0:0)) :|: TRUE 129.58/38.19 f329_in(x3, x4) -> f327_out(0, x5) :|: TRUE && x3 = 0 129.58/38.19 f382_out(x67:0:0) -> f329_in(x67:0:0, x38:0:0) :|: TRUE 129.58/38.19 f382_out(x1:0) -> f380_in(0, x2:0) :|: TRUE 129.58/38.19 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (250) IRSwTToIntTRSProof (SOUND) 129.58/38.19 Applied path-length measure to transform intTRS with terms to intTRS. 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (251) 129.58/38.19 Obligation: 129.58/38.19 Rules: 129.58/38.19 f380_in(s(x), s(x1)) -> f380_in(x, x1) :|: TRUE 129.58/38.19 f329_in(s(x2), s(x3)) -> f329_in(x2, x3) :|: TRUE 129.58/38.19 f327_out(x4, x5) -> f380_in(s(x5), x4) :|: TRUE 129.58/38.19 f329_in(s(x6), cons_0) -> f327_out(s(x8), 0) :|: TRUE && cons_0 = 0 129.58/38.19 f382_out(x9) -> f382_out(s(x9)) :|: TRUE 129.58/38.19 f380_in(x7, x11) -> f382_out(0) :|: TRUE && x11 = 0 129.58/38.19 f327_out(x12, x13) -> f327_out(s(x12), s(x13)) :|: TRUE 129.58/38.19 f329_in(x14, x21) -> f327_out(0, x22) :|: TRUE && x14 = 0 129.58/38.19 f382_out(x17) -> f329_in(x17, x18) :|: TRUE 129.58/38.19 f382_out(x19) -> f380_in(0, x20) :|: TRUE 129.58/38.19 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (252) IntTRSCompressionProof (EQUIVALENT) 129.58/38.19 Compressed rules. 129.58/38.19 ---------------------------------------- 129.58/38.19 129.58/38.19 (253) 129.58/38.19 Obligation: 129.58/38.19 Rules: 129.58/38.19 f380_in(s(x:0), s(x1:0)) -> f380_in(x:0, x1:0) :|: TRUE 129.58/38.19 f329_in(s(x2:0), s(x3:0)) -> f329_in(x2:0, x3:0) :|: TRUE 129.58/38.19 f382_out(x17:0) -> f329_in(x17:0, x18:0) :|: TRUE 129.58/38.19 f327_out(x4:0, x5:0) -> f380_in(s(x5:0), x4:0) :|: TRUE 129.58/38.19 f380_in(x7:0, cons_0) -> f382_out(0) :|: TRUE && cons_0 = 0 129.58/38.19 f329_in(s(x), x1) -> f327_out(s(x2), 0) :|: TRUE && x1 = 0 129.58/38.19 f382_out(x19:0) -> f380_in(0, x20:0) :|: TRUE 129.58/38.19 f382_out(x9:0) -> f382_out(s(x9:0)) :|: TRUE 129.58/38.19 f327_out(x12:0, x13:0) -> f327_out(s(x12:0), s(x13:0)) :|: TRUE 129.58/38.19 f329_in(x3, x4) -> f327_out(0, x5) :|: TRUE && x3 = 0 129.58/38.22 EOF