36.36/10.17 MAYBE 36.36/10.25 proof of /export/starexec/sandbox/benchmark/theBenchmark.pl 36.36/10.25 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 36.36/10.25 36.36/10.25 36.36/10.25 Left Termination of the query pattern 36.36/10.25 36.36/10.25 s2(g,a) 36.36/10.25 36.36/10.25 w.r.t. the given Prolog program could not be shown: 36.36/10.25 36.36/10.25 (0) Prolog 36.36/10.25 (1) PrologToPiTRSProof [SOUND, 0 ms] 36.36/10.25 (2) PiTRS 36.36/10.25 (3) DependencyPairsProof [EQUIVALENT, 0 ms] 36.36/10.25 (4) PiDP 36.36/10.25 (5) DependencyGraphProof [EQUIVALENT, 0 ms] 36.36/10.25 (6) AND 36.36/10.25 (7) PiDP 36.36/10.25 (8) UsableRulesProof [EQUIVALENT, 0 ms] 36.36/10.25 (9) PiDP 36.36/10.25 (10) PiDPToQDPProof [SOUND, 0 ms] 36.36/10.25 (11) QDP 36.36/10.25 (12) QDPSizeChangeProof [EQUIVALENT, 0 ms] 36.36/10.25 (13) YES 36.36/10.25 (14) PiDP 36.36/10.25 (15) UsableRulesProof [EQUIVALENT, 0 ms] 36.36/10.25 (16) PiDP 36.36/10.25 (17) PiDPToQDPProof [EQUIVALENT, 0 ms] 36.36/10.25 (18) QDP 36.36/10.25 (19) QDPSizeChangeProof [EQUIVALENT, 0 ms] 36.36/10.25 (20) YES 36.36/10.25 (21) PiDP 36.36/10.25 (22) PiDPToQDPProof [SOUND, 0 ms] 36.36/10.25 (23) QDP 36.36/10.25 (24) QDPQMonotonicMRRProof [EQUIVALENT, 127 ms] 36.36/10.25 (25) QDP 36.36/10.25 (26) UsableRulesProof [EQUIVALENT, 0 ms] 36.36/10.25 (27) QDP 36.36/10.25 (28) QReductionProof [EQUIVALENT, 0 ms] 36.36/10.25 (29) QDP 36.36/10.25 (30) QDPOrderProof [EQUIVALENT, 38 ms] 36.36/10.25 (31) QDP 36.36/10.25 (32) QDPQMonotonicMRRProof [EQUIVALENT, 30 ms] 36.36/10.25 (33) QDP 36.36/10.25 (34) DependencyGraphProof [EQUIVALENT, 0 ms] 36.36/10.25 (35) QDP 36.36/10.25 (36) UsableRulesProof [EQUIVALENT, 0 ms] 36.36/10.25 (37) QDP 36.36/10.25 (38) QReductionProof [EQUIVALENT, 0 ms] 36.36/10.25 (39) QDP 36.36/10.25 (40) PrologToPiTRSProof [SOUND, 0 ms] 36.36/10.25 (41) PiTRS 36.36/10.25 (42) DependencyPairsProof [EQUIVALENT, 0 ms] 36.36/10.25 (43) PiDP 36.36/10.25 (44) DependencyGraphProof [EQUIVALENT, 0 ms] 36.36/10.25 (45) AND 36.36/10.25 (46) PiDP 36.36/10.25 (47) UsableRulesProof [EQUIVALENT, 0 ms] 36.36/10.25 (48) PiDP 36.36/10.25 (49) PiDPToQDPProof [SOUND, 0 ms] 36.36/10.25 (50) QDP 36.36/10.25 (51) QDPSizeChangeProof [EQUIVALENT, 1 ms] 36.36/10.25 (52) YES 36.36/10.25 (53) PiDP 36.36/10.25 (54) UsableRulesProof [EQUIVALENT, 0 ms] 36.36/10.25 (55) PiDP 36.36/10.25 (56) PiDPToQDPProof [EQUIVALENT, 0 ms] 36.36/10.25 (57) QDP 36.36/10.25 (58) QDPSizeChangeProof [EQUIVALENT, 0 ms] 36.36/10.25 (59) YES 36.36/10.25 (60) PiDP 36.36/10.25 (61) PiDPToQDPProof [SOUND, 0 ms] 36.36/10.25 (62) QDP 36.36/10.25 (63) QDPOrderProof [EQUIVALENT, 55 ms] 36.36/10.25 (64) QDP 36.36/10.25 (65) QDPOrderProof [EQUIVALENT, 33 ms] 36.36/10.25 (66) QDP 36.36/10.25 (67) DependencyGraphProof [EQUIVALENT, 0 ms] 36.36/10.25 (68) QDP 36.36/10.25 (69) UsableRulesProof [EQUIVALENT, 0 ms] 36.36/10.25 (70) QDP 36.36/10.25 (71) QReductionProof [EQUIVALENT, 0 ms] 36.36/10.25 (72) QDP 36.36/10.25 (73) NonTerminationLoopProof [COMPLETE, 0 ms] 36.36/10.25 (74) NO 36.36/10.25 (75) PrologToTRSTransformerProof [SOUND, 39 ms] 36.36/10.25 (76) QTRS 36.36/10.25 (77) DependencyPairsProof [EQUIVALENT, 0 ms] 36.36/10.25 (78) QDP 36.36/10.25 (79) DependencyGraphProof [EQUIVALENT, 1 ms] 36.36/10.25 (80) AND 36.36/10.25 (81) QDP 36.36/10.25 (82) UsableRulesProof [EQUIVALENT, 0 ms] 36.36/10.25 (83) QDP 36.36/10.25 (84) QDPSizeChangeProof [EQUIVALENT, 0 ms] 36.36/10.25 (85) YES 36.36/10.25 (86) QDP 36.36/10.25 (87) UsableRulesProof [EQUIVALENT, 0 ms] 36.36/10.25 (88) QDP 36.36/10.25 (89) QDPSizeChangeProof [EQUIVALENT, 0 ms] 36.36/10.25 (90) YES 36.36/10.25 (91) QDP 36.36/10.25 (92) QDPOrderProof [EQUIVALENT, 50 ms] 36.36/10.25 (93) QDP 36.36/10.25 (94) DependencyGraphProof [EQUIVALENT, 0 ms] 36.36/10.25 (95) QDP 36.36/10.25 (96) UsableRulesProof [EQUIVALENT, 0 ms] 36.36/10.25 (97) QDP 36.36/10.25 (98) NonTerminationLoopProof [COMPLETE, 0 ms] 36.36/10.25 (99) NO 36.36/10.25 (100) PrologToIRSwTTransformerProof [SOUND, 65 ms] 36.36/10.25 (101) AND 36.36/10.25 (102) IRSwT 36.36/10.25 (103) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 36.36/10.25 (104) TRUE 36.36/10.25 (105) IRSwT 36.36/10.25 (106) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 36.36/10.25 (107) IRSwT 36.36/10.25 (108) IntTRSCompressionProof [EQUIVALENT, 20 ms] 36.36/10.25 (109) IRSwT 36.36/10.25 (110) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 36.36/10.25 (111) IRSwT 36.36/10.25 (112) IRSwTTerminationDigraphProof [EQUIVALENT, 6 ms] 36.36/10.25 (113) IRSwT 36.36/10.25 (114) TempFilterProof [SOUND, 3 ms] 36.36/10.25 (115) IRSwT 36.36/10.25 (116) IRSwTToQDPProof [SOUND, 0 ms] 36.36/10.25 (117) QDP 36.36/10.25 (118) QDPSizeChangeProof [EQUIVALENT, 0 ms] 36.36/10.25 (119) YES 36.36/10.25 (120) IRSwT 36.36/10.25 (121) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms] 36.36/10.25 (122) IRSwT 36.36/10.25 (123) IntTRSCompressionProof [EQUIVALENT, 8 ms] 36.36/10.25 (124) IRSwT 36.36/10.25 (125) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 36.36/10.25 (126) IRSwT 36.36/10.25 (127) IRSwTTerminationDigraphProof [EQUIVALENT, 17 ms] 36.36/10.25 (128) IRSwT 36.36/10.25 (129) PrologToDTProblemTransformerProof [SOUND, 115 ms] 36.36/10.25 (130) TRIPLES 36.36/10.25 (131) UndefinedPredicateInTriplesTransformerProof [SOUND, 0 ms] 36.36/10.25 (132) TRIPLES 36.36/10.25 (133) TriplesToPiDPProof [SOUND, 97 ms] 36.36/10.25 (134) PiDP 36.36/10.25 (135) DependencyGraphProof [EQUIVALENT, 0 ms] 36.36/10.25 (136) AND 36.36/10.25 (137) PiDP 36.36/10.25 (138) UsableRulesProof [EQUIVALENT, 0 ms] 36.36/10.25 (139) PiDP 36.36/10.25 (140) PiDPToQDPProof [SOUND, 0 ms] 36.36/10.25 (141) QDP 36.36/10.25 (142) QDPSizeChangeProof [EQUIVALENT, 0 ms] 36.36/10.25 (143) YES 36.36/10.25 (144) PiDP 36.36/10.25 (145) UsableRulesProof [EQUIVALENT, 0 ms] 36.36/10.25 (146) PiDP 36.36/10.25 (147) PiDPToQDPProof [EQUIVALENT, 0 ms] 36.36/10.25 (148) QDP 36.36/10.25 (149) QDPSizeChangeProof [EQUIVALENT, 0 ms] 36.36/10.25 (150) YES 36.36/10.25 (151) PiDP 36.36/10.25 (152) PiDPToQDPProof [SOUND, 0 ms] 36.36/10.25 (153) QDP 36.36/10.25 (154) QDPOrderProof [EQUIVALENT, 987 ms] 36.36/10.25 (155) QDP 36.36/10.25 (156) DependencyGraphProof [EQUIVALENT, 0 ms] 36.36/10.25 (157) QDP 36.36/10.25 (158) UsableRulesProof [EQUIVALENT, 0 ms] 36.36/10.25 (159) QDP 36.36/10.25 (160) QReductionProof [EQUIVALENT, 2 ms] 36.36/10.25 (161) QDP 36.36/10.25 36.36/10.25 36.36/10.25 ---------------------------------------- 36.36/10.25 36.36/10.25 (0) 36.36/10.25 Obligation: 36.36/10.25 Clauses: 36.36/10.25 36.36/10.25 s2(plus(A, plus(B, C)), D) :- s2(plus(plus(A, B), C), D). 36.36/10.25 s2(plus(A, B), C) :- s2(plus(B, A), C). 36.36/10.25 s2(plus(X, 0), X). 36.36/10.25 s2(plus(X, Y), Z) :- ','(s2(X, A), ','(s2(Y, B), s2(plus(A, B), Z))). 36.36/10.25 s2(plus(A, B), C) :- ','(isNat(A), ','(isNat(B), add(A, B, C))). 36.36/10.25 isNat(s(X)) :- isNat(X). 36.36/10.25 isNat(0). 36.36/10.25 add(s(X), Y, s(Z)) :- add(X, Y, Z). 36.36/10.25 add(0, X, X). 36.36/10.25 36.36/10.25 36.36/10.25 Query: s2(g,a) 36.36/10.25 ---------------------------------------- 36.36/10.25 36.36/10.25 (1) PrologToPiTRSProof (SOUND) 36.36/10.25 We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: 36.36/10.25 36.36/10.25 s2_in_2: (b,f) 36.36/10.25 36.36/10.25 isNat_in_1: (b) 36.36/10.25 36.36/10.25 add_in_3: (b,b,f) 36.36/10.25 36.36/10.25 Transforming Prolog into the following Term Rewriting System: 36.36/10.25 36.36/10.25 Pi-finite rewrite system: 36.36/10.25 The TRS R consists of the following rules: 36.36/10.25 36.36/10.25 s2_in_ga(plus(A, plus(B, C)), D) -> U1_ga(A, B, C, D, s2_in_ga(plus(plus(A, B), C), D)) 36.36/10.25 s2_in_ga(plus(A, B), C) -> U2_ga(A, B, C, s2_in_ga(plus(B, A), C)) 36.36/10.25 s2_in_ga(plus(X, 0), X) -> s2_out_ga(plus(X, 0), X) 36.36/10.25 s2_in_ga(plus(X, Y), Z) -> U3_ga(X, Y, Z, s2_in_ga(X, A)) 36.36/10.25 s2_in_ga(plus(A, B), C) -> U6_ga(A, B, C, isNat_in_g(A)) 36.36/10.25 isNat_in_g(s(X)) -> U9_g(X, isNat_in_g(X)) 36.36/10.25 isNat_in_g(0) -> isNat_out_g(0) 36.36/10.25 U9_g(X, isNat_out_g(X)) -> isNat_out_g(s(X)) 36.36/10.25 U6_ga(A, B, C, isNat_out_g(A)) -> U7_ga(A, B, C, isNat_in_g(B)) 36.36/10.25 U7_ga(A, B, C, isNat_out_g(B)) -> U8_ga(A, B, C, add_in_gga(A, B, C)) 36.36/10.25 add_in_gga(s(X), Y, s(Z)) -> U10_gga(X, Y, Z, add_in_gga(X, Y, Z)) 36.36/10.25 add_in_gga(0, X, X) -> add_out_gga(0, X, X) 36.36/10.25 U10_gga(X, Y, Z, add_out_gga(X, Y, Z)) -> add_out_gga(s(X), Y, s(Z)) 36.36/10.25 U8_ga(A, B, C, add_out_gga(A, B, C)) -> s2_out_ga(plus(A, B), C) 36.36/10.25 U3_ga(X, Y, Z, s2_out_ga(X, A)) -> U4_ga(X, Y, Z, A, s2_in_ga(Y, B)) 36.36/10.25 U4_ga(X, Y, Z, A, s2_out_ga(Y, B)) -> U5_ga(X, Y, Z, s2_in_ga(plus(A, B), Z)) 36.36/10.25 U5_ga(X, Y, Z, s2_out_ga(plus(A, B), Z)) -> s2_out_ga(plus(X, Y), Z) 36.36/10.25 U2_ga(A, B, C, s2_out_ga(plus(B, A), C)) -> s2_out_ga(plus(A, B), C) 36.36/10.25 U1_ga(A, B, C, D, s2_out_ga(plus(plus(A, B), C), D)) -> s2_out_ga(plus(A, plus(B, C)), D) 36.36/10.25 36.36/10.25 The argument filtering Pi contains the following mapping: 36.36/10.25 s2_in_ga(x1, x2) = s2_in_ga(x1) 36.36/10.25 36.36/10.25 plus(x1, x2) = plus(x1, x2) 36.36/10.25 36.36/10.25 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x1, x2, x3, x5) 36.36/10.25 36.36/10.25 U2_ga(x1, x2, x3, x4) = U2_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 0 = 0 36.36/10.25 36.36/10.25 s2_out_ga(x1, x2) = s2_out_ga(x1, x2) 36.36/10.25 36.36/10.25 U3_ga(x1, x2, x3, x4) = U3_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 U6_ga(x1, x2, x3, x4) = U6_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 isNat_in_g(x1) = isNat_in_g(x1) 36.36/10.25 36.36/10.25 s(x1) = s(x1) 36.36/10.25 36.36/10.25 U9_g(x1, x2) = U9_g(x1, x2) 36.36/10.25 36.36/10.25 isNat_out_g(x1) = isNat_out_g(x1) 36.36/10.25 36.36/10.25 U7_ga(x1, x2, x3, x4) = U7_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 U8_ga(x1, x2, x3, x4) = U8_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 36.36/10.25 36.36/10.25 U10_gga(x1, x2, x3, x4) = U10_gga(x1, x2, x4) 36.36/10.25 36.36/10.25 add_out_gga(x1, x2, x3) = add_out_gga(x1, x2, x3) 36.36/10.25 36.36/10.25 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x1, x2, x4, x5) 36.36/10.25 36.36/10.25 U5_ga(x1, x2, x3, x4) = U5_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 36.36/10.25 36.36/10.25 36.36/10.25 36.36/10.25 Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog 36.36/10.25 36.36/10.25 36.36/10.25 36.36/10.25 ---------------------------------------- 36.36/10.25 36.36/10.25 (2) 36.36/10.25 Obligation: 36.36/10.25 Pi-finite rewrite system: 36.36/10.25 The TRS R consists of the following rules: 36.36/10.25 36.36/10.25 s2_in_ga(plus(A, plus(B, C)), D) -> U1_ga(A, B, C, D, s2_in_ga(plus(plus(A, B), C), D)) 36.36/10.25 s2_in_ga(plus(A, B), C) -> U2_ga(A, B, C, s2_in_ga(plus(B, A), C)) 36.36/10.25 s2_in_ga(plus(X, 0), X) -> s2_out_ga(plus(X, 0), X) 36.36/10.25 s2_in_ga(plus(X, Y), Z) -> U3_ga(X, Y, Z, s2_in_ga(X, A)) 36.36/10.25 s2_in_ga(plus(A, B), C) -> U6_ga(A, B, C, isNat_in_g(A)) 36.36/10.25 isNat_in_g(s(X)) -> U9_g(X, isNat_in_g(X)) 36.36/10.25 isNat_in_g(0) -> isNat_out_g(0) 36.36/10.25 U9_g(X, isNat_out_g(X)) -> isNat_out_g(s(X)) 36.36/10.25 U6_ga(A, B, C, isNat_out_g(A)) -> U7_ga(A, B, C, isNat_in_g(B)) 36.36/10.25 U7_ga(A, B, C, isNat_out_g(B)) -> U8_ga(A, B, C, add_in_gga(A, B, C)) 36.36/10.25 add_in_gga(s(X), Y, s(Z)) -> U10_gga(X, Y, Z, add_in_gga(X, Y, Z)) 36.36/10.25 add_in_gga(0, X, X) -> add_out_gga(0, X, X) 36.36/10.25 U10_gga(X, Y, Z, add_out_gga(X, Y, Z)) -> add_out_gga(s(X), Y, s(Z)) 36.36/10.25 U8_ga(A, B, C, add_out_gga(A, B, C)) -> s2_out_ga(plus(A, B), C) 36.36/10.25 U3_ga(X, Y, Z, s2_out_ga(X, A)) -> U4_ga(X, Y, Z, A, s2_in_ga(Y, B)) 36.36/10.25 U4_ga(X, Y, Z, A, s2_out_ga(Y, B)) -> U5_ga(X, Y, Z, s2_in_ga(plus(A, B), Z)) 36.36/10.25 U5_ga(X, Y, Z, s2_out_ga(plus(A, B), Z)) -> s2_out_ga(plus(X, Y), Z) 36.36/10.25 U2_ga(A, B, C, s2_out_ga(plus(B, A), C)) -> s2_out_ga(plus(A, B), C) 36.36/10.25 U1_ga(A, B, C, D, s2_out_ga(plus(plus(A, B), C), D)) -> s2_out_ga(plus(A, plus(B, C)), D) 36.36/10.25 36.36/10.25 The argument filtering Pi contains the following mapping: 36.36/10.25 s2_in_ga(x1, x2) = s2_in_ga(x1) 36.36/10.25 36.36/10.25 plus(x1, x2) = plus(x1, x2) 36.36/10.25 36.36/10.25 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x1, x2, x3, x5) 36.36/10.25 36.36/10.25 U2_ga(x1, x2, x3, x4) = U2_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 0 = 0 36.36/10.25 36.36/10.25 s2_out_ga(x1, x2) = s2_out_ga(x1, x2) 36.36/10.25 36.36/10.25 U3_ga(x1, x2, x3, x4) = U3_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 U6_ga(x1, x2, x3, x4) = U6_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 isNat_in_g(x1) = isNat_in_g(x1) 36.36/10.25 36.36/10.25 s(x1) = s(x1) 36.36/10.25 36.36/10.25 U9_g(x1, x2) = U9_g(x1, x2) 36.36/10.25 36.36/10.25 isNat_out_g(x1) = isNat_out_g(x1) 36.36/10.25 36.36/10.25 U7_ga(x1, x2, x3, x4) = U7_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 U8_ga(x1, x2, x3, x4) = U8_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 36.36/10.25 36.36/10.25 U10_gga(x1, x2, x3, x4) = U10_gga(x1, x2, x4) 36.36/10.25 36.36/10.25 add_out_gga(x1, x2, x3) = add_out_gga(x1, x2, x3) 36.36/10.25 36.36/10.25 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x1, x2, x4, x5) 36.36/10.25 36.36/10.25 U5_ga(x1, x2, x3, x4) = U5_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 36.36/10.25 36.36/10.25 ---------------------------------------- 36.36/10.25 36.36/10.25 (3) DependencyPairsProof (EQUIVALENT) 36.36/10.25 Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: 36.36/10.25 Pi DP problem: 36.36/10.25 The TRS P consists of the following rules: 36.36/10.25 36.36/10.25 S2_IN_GA(plus(A, plus(B, C)), D) -> U1_GA(A, B, C, D, s2_in_ga(plus(plus(A, B), C), D)) 36.36/10.25 S2_IN_GA(plus(A, plus(B, C)), D) -> S2_IN_GA(plus(plus(A, B), C), D) 36.36/10.25 S2_IN_GA(plus(A, B), C) -> U2_GA(A, B, C, s2_in_ga(plus(B, A), C)) 36.36/10.25 S2_IN_GA(plus(A, B), C) -> S2_IN_GA(plus(B, A), C) 36.36/10.25 S2_IN_GA(plus(X, Y), Z) -> U3_GA(X, Y, Z, s2_in_ga(X, A)) 36.36/10.25 S2_IN_GA(plus(X, Y), Z) -> S2_IN_GA(X, A) 36.36/10.25 S2_IN_GA(plus(A, B), C) -> U6_GA(A, B, C, isNat_in_g(A)) 36.36/10.25 S2_IN_GA(plus(A, B), C) -> ISNAT_IN_G(A) 36.36/10.25 ISNAT_IN_G(s(X)) -> U9_G(X, isNat_in_g(X)) 36.36/10.25 ISNAT_IN_G(s(X)) -> ISNAT_IN_G(X) 36.36/10.25 U6_GA(A, B, C, isNat_out_g(A)) -> U7_GA(A, B, C, isNat_in_g(B)) 36.36/10.25 U6_GA(A, B, C, isNat_out_g(A)) -> ISNAT_IN_G(B) 36.36/10.25 U7_GA(A, B, C, isNat_out_g(B)) -> U8_GA(A, B, C, add_in_gga(A, B, C)) 36.36/10.25 U7_GA(A, B, C, isNat_out_g(B)) -> ADD_IN_GGA(A, B, C) 36.36/10.25 ADD_IN_GGA(s(X), Y, s(Z)) -> U10_GGA(X, Y, Z, add_in_gga(X, Y, Z)) 36.36/10.25 ADD_IN_GGA(s(X), Y, s(Z)) -> ADD_IN_GGA(X, Y, Z) 36.36/10.25 U3_GA(X, Y, Z, s2_out_ga(X, A)) -> U4_GA(X, Y, Z, A, s2_in_ga(Y, B)) 36.36/10.25 U3_GA(X, Y, Z, s2_out_ga(X, A)) -> S2_IN_GA(Y, B) 36.36/10.25 U4_GA(X, Y, Z, A, s2_out_ga(Y, B)) -> U5_GA(X, Y, Z, s2_in_ga(plus(A, B), Z)) 36.36/10.25 U4_GA(X, Y, Z, A, s2_out_ga(Y, B)) -> S2_IN_GA(plus(A, B), Z) 36.36/10.25 36.36/10.25 The TRS R consists of the following rules: 36.36/10.25 36.36/10.25 s2_in_ga(plus(A, plus(B, C)), D) -> U1_ga(A, B, C, D, s2_in_ga(plus(plus(A, B), C), D)) 36.36/10.25 s2_in_ga(plus(A, B), C) -> U2_ga(A, B, C, s2_in_ga(plus(B, A), C)) 36.36/10.25 s2_in_ga(plus(X, 0), X) -> s2_out_ga(plus(X, 0), X) 36.36/10.25 s2_in_ga(plus(X, Y), Z) -> U3_ga(X, Y, Z, s2_in_ga(X, A)) 36.36/10.25 s2_in_ga(plus(A, B), C) -> U6_ga(A, B, C, isNat_in_g(A)) 36.36/10.25 isNat_in_g(s(X)) -> U9_g(X, isNat_in_g(X)) 36.36/10.25 isNat_in_g(0) -> isNat_out_g(0) 36.36/10.25 U9_g(X, isNat_out_g(X)) -> isNat_out_g(s(X)) 36.36/10.25 U6_ga(A, B, C, isNat_out_g(A)) -> U7_ga(A, B, C, isNat_in_g(B)) 36.36/10.25 U7_ga(A, B, C, isNat_out_g(B)) -> U8_ga(A, B, C, add_in_gga(A, B, C)) 36.36/10.25 add_in_gga(s(X), Y, s(Z)) -> U10_gga(X, Y, Z, add_in_gga(X, Y, Z)) 36.36/10.25 add_in_gga(0, X, X) -> add_out_gga(0, X, X) 36.36/10.25 U10_gga(X, Y, Z, add_out_gga(X, Y, Z)) -> add_out_gga(s(X), Y, s(Z)) 36.36/10.25 U8_ga(A, B, C, add_out_gga(A, B, C)) -> s2_out_ga(plus(A, B), C) 36.36/10.25 U3_ga(X, Y, Z, s2_out_ga(X, A)) -> U4_ga(X, Y, Z, A, s2_in_ga(Y, B)) 36.36/10.25 U4_ga(X, Y, Z, A, s2_out_ga(Y, B)) -> U5_ga(X, Y, Z, s2_in_ga(plus(A, B), Z)) 36.36/10.25 U5_ga(X, Y, Z, s2_out_ga(plus(A, B), Z)) -> s2_out_ga(plus(X, Y), Z) 36.36/10.25 U2_ga(A, B, C, s2_out_ga(plus(B, A), C)) -> s2_out_ga(plus(A, B), C) 36.36/10.25 U1_ga(A, B, C, D, s2_out_ga(plus(plus(A, B), C), D)) -> s2_out_ga(plus(A, plus(B, C)), D) 36.36/10.25 36.36/10.25 The argument filtering Pi contains the following mapping: 36.36/10.25 s2_in_ga(x1, x2) = s2_in_ga(x1) 36.36/10.25 36.36/10.25 plus(x1, x2) = plus(x1, x2) 36.36/10.25 36.36/10.25 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x1, x2, x3, x5) 36.36/10.25 36.36/10.25 U2_ga(x1, x2, x3, x4) = U2_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 0 = 0 36.36/10.25 36.36/10.25 s2_out_ga(x1, x2) = s2_out_ga(x1, x2) 36.36/10.25 36.36/10.25 U3_ga(x1, x2, x3, x4) = U3_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 U6_ga(x1, x2, x3, x4) = U6_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 isNat_in_g(x1) = isNat_in_g(x1) 36.36/10.25 36.36/10.25 s(x1) = s(x1) 36.36/10.25 36.36/10.25 U9_g(x1, x2) = U9_g(x1, x2) 36.36/10.25 36.36/10.25 isNat_out_g(x1) = isNat_out_g(x1) 36.36/10.25 36.36/10.25 U7_ga(x1, x2, x3, x4) = U7_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 U8_ga(x1, x2, x3, x4) = U8_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 36.36/10.25 36.36/10.25 U10_gga(x1, x2, x3, x4) = U10_gga(x1, x2, x4) 36.36/10.25 36.36/10.25 add_out_gga(x1, x2, x3) = add_out_gga(x1, x2, x3) 36.36/10.25 36.36/10.25 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x1, x2, x4, x5) 36.36/10.25 36.36/10.25 U5_ga(x1, x2, x3, x4) = U5_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 S2_IN_GA(x1, x2) = S2_IN_GA(x1) 36.36/10.25 36.36/10.25 U1_GA(x1, x2, x3, x4, x5) = U1_GA(x1, x2, x3, x5) 36.36/10.25 36.36/10.25 U2_GA(x1, x2, x3, x4) = U2_GA(x1, x2, x4) 36.36/10.25 36.36/10.25 U3_GA(x1, x2, x3, x4) = U3_GA(x1, x2, x4) 36.36/10.25 36.36/10.25 U6_GA(x1, x2, x3, x4) = U6_GA(x1, x2, x4) 36.36/10.25 36.36/10.25 ISNAT_IN_G(x1) = ISNAT_IN_G(x1) 36.36/10.25 36.36/10.25 U9_G(x1, x2) = U9_G(x1, x2) 36.36/10.25 36.36/10.25 U7_GA(x1, x2, x3, x4) = U7_GA(x1, x2, x4) 36.36/10.25 36.36/10.25 U8_GA(x1, x2, x3, x4) = U8_GA(x1, x2, x4) 36.36/10.25 36.36/10.25 ADD_IN_GGA(x1, x2, x3) = ADD_IN_GGA(x1, x2) 36.36/10.25 36.36/10.25 U10_GGA(x1, x2, x3, x4) = U10_GGA(x1, x2, x4) 36.36/10.25 36.36/10.25 U4_GA(x1, x2, x3, x4, x5) = U4_GA(x1, x2, x4, x5) 36.36/10.25 36.36/10.25 U5_GA(x1, x2, x3, x4) = U5_GA(x1, x2, x4) 36.36/10.25 36.36/10.25 36.36/10.25 We have to consider all (P,R,Pi)-chains 36.36/10.25 ---------------------------------------- 36.36/10.25 36.36/10.25 (4) 36.36/10.25 Obligation: 36.36/10.25 Pi DP problem: 36.36/10.25 The TRS P consists of the following rules: 36.36/10.25 36.36/10.25 S2_IN_GA(plus(A, plus(B, C)), D) -> U1_GA(A, B, C, D, s2_in_ga(plus(plus(A, B), C), D)) 36.36/10.25 S2_IN_GA(plus(A, plus(B, C)), D) -> S2_IN_GA(plus(plus(A, B), C), D) 36.36/10.25 S2_IN_GA(plus(A, B), C) -> U2_GA(A, B, C, s2_in_ga(plus(B, A), C)) 36.36/10.25 S2_IN_GA(plus(A, B), C) -> S2_IN_GA(plus(B, A), C) 36.36/10.25 S2_IN_GA(plus(X, Y), Z) -> U3_GA(X, Y, Z, s2_in_ga(X, A)) 36.36/10.25 S2_IN_GA(plus(X, Y), Z) -> S2_IN_GA(X, A) 36.36/10.25 S2_IN_GA(plus(A, B), C) -> U6_GA(A, B, C, isNat_in_g(A)) 36.36/10.25 S2_IN_GA(plus(A, B), C) -> ISNAT_IN_G(A) 36.36/10.25 ISNAT_IN_G(s(X)) -> U9_G(X, isNat_in_g(X)) 36.36/10.25 ISNAT_IN_G(s(X)) -> ISNAT_IN_G(X) 36.36/10.25 U6_GA(A, B, C, isNat_out_g(A)) -> U7_GA(A, B, C, isNat_in_g(B)) 36.36/10.25 U6_GA(A, B, C, isNat_out_g(A)) -> ISNAT_IN_G(B) 36.36/10.25 U7_GA(A, B, C, isNat_out_g(B)) -> U8_GA(A, B, C, add_in_gga(A, B, C)) 36.36/10.25 U7_GA(A, B, C, isNat_out_g(B)) -> ADD_IN_GGA(A, B, C) 36.36/10.25 ADD_IN_GGA(s(X), Y, s(Z)) -> U10_GGA(X, Y, Z, add_in_gga(X, Y, Z)) 36.36/10.25 ADD_IN_GGA(s(X), Y, s(Z)) -> ADD_IN_GGA(X, Y, Z) 36.36/10.25 U3_GA(X, Y, Z, s2_out_ga(X, A)) -> U4_GA(X, Y, Z, A, s2_in_ga(Y, B)) 36.36/10.25 U3_GA(X, Y, Z, s2_out_ga(X, A)) -> S2_IN_GA(Y, B) 36.36/10.25 U4_GA(X, Y, Z, A, s2_out_ga(Y, B)) -> U5_GA(X, Y, Z, s2_in_ga(plus(A, B), Z)) 36.36/10.25 U4_GA(X, Y, Z, A, s2_out_ga(Y, B)) -> S2_IN_GA(plus(A, B), Z) 36.36/10.25 36.36/10.25 The TRS R consists of the following rules: 36.36/10.25 36.36/10.25 s2_in_ga(plus(A, plus(B, C)), D) -> U1_ga(A, B, C, D, s2_in_ga(plus(plus(A, B), C), D)) 36.36/10.25 s2_in_ga(plus(A, B), C) -> U2_ga(A, B, C, s2_in_ga(plus(B, A), C)) 36.36/10.25 s2_in_ga(plus(X, 0), X) -> s2_out_ga(plus(X, 0), X) 36.36/10.25 s2_in_ga(plus(X, Y), Z) -> U3_ga(X, Y, Z, s2_in_ga(X, A)) 36.36/10.25 s2_in_ga(plus(A, B), C) -> U6_ga(A, B, C, isNat_in_g(A)) 36.36/10.25 isNat_in_g(s(X)) -> U9_g(X, isNat_in_g(X)) 36.36/10.25 isNat_in_g(0) -> isNat_out_g(0) 36.36/10.25 U9_g(X, isNat_out_g(X)) -> isNat_out_g(s(X)) 36.36/10.25 U6_ga(A, B, C, isNat_out_g(A)) -> U7_ga(A, B, C, isNat_in_g(B)) 36.36/10.25 U7_ga(A, B, C, isNat_out_g(B)) -> U8_ga(A, B, C, add_in_gga(A, B, C)) 36.36/10.25 add_in_gga(s(X), Y, s(Z)) -> U10_gga(X, Y, Z, add_in_gga(X, Y, Z)) 36.36/10.25 add_in_gga(0, X, X) -> add_out_gga(0, X, X) 36.36/10.25 U10_gga(X, Y, Z, add_out_gga(X, Y, Z)) -> add_out_gga(s(X), Y, s(Z)) 36.36/10.25 U8_ga(A, B, C, add_out_gga(A, B, C)) -> s2_out_ga(plus(A, B), C) 36.36/10.25 U3_ga(X, Y, Z, s2_out_ga(X, A)) -> U4_ga(X, Y, Z, A, s2_in_ga(Y, B)) 36.36/10.25 U4_ga(X, Y, Z, A, s2_out_ga(Y, B)) -> U5_ga(X, Y, Z, s2_in_ga(plus(A, B), Z)) 36.36/10.25 U5_ga(X, Y, Z, s2_out_ga(plus(A, B), Z)) -> s2_out_ga(plus(X, Y), Z) 36.36/10.25 U2_ga(A, B, C, s2_out_ga(plus(B, A), C)) -> s2_out_ga(plus(A, B), C) 36.36/10.25 U1_ga(A, B, C, D, s2_out_ga(plus(plus(A, B), C), D)) -> s2_out_ga(plus(A, plus(B, C)), D) 36.36/10.25 36.36/10.25 The argument filtering Pi contains the following mapping: 36.36/10.25 s2_in_ga(x1, x2) = s2_in_ga(x1) 36.36/10.25 36.36/10.25 plus(x1, x2) = plus(x1, x2) 36.36/10.25 36.36/10.25 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x1, x2, x3, x5) 36.36/10.25 36.36/10.25 U2_ga(x1, x2, x3, x4) = U2_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 0 = 0 36.36/10.25 36.36/10.25 s2_out_ga(x1, x2) = s2_out_ga(x1, x2) 36.36/10.25 36.36/10.25 U3_ga(x1, x2, x3, x4) = U3_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 U6_ga(x1, x2, x3, x4) = U6_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 isNat_in_g(x1) = isNat_in_g(x1) 36.36/10.25 36.36/10.25 s(x1) = s(x1) 36.36/10.25 36.36/10.25 U9_g(x1, x2) = U9_g(x1, x2) 36.36/10.25 36.36/10.25 isNat_out_g(x1) = isNat_out_g(x1) 36.36/10.25 36.36/10.25 U7_ga(x1, x2, x3, x4) = U7_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 U8_ga(x1, x2, x3, x4) = U8_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 36.36/10.25 36.36/10.25 U10_gga(x1, x2, x3, x4) = U10_gga(x1, x2, x4) 36.36/10.25 36.36/10.25 add_out_gga(x1, x2, x3) = add_out_gga(x1, x2, x3) 36.36/10.25 36.36/10.25 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x1, x2, x4, x5) 36.36/10.25 36.36/10.25 U5_ga(x1, x2, x3, x4) = U5_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 S2_IN_GA(x1, x2) = S2_IN_GA(x1) 36.36/10.25 36.36/10.25 U1_GA(x1, x2, x3, x4, x5) = U1_GA(x1, x2, x3, x5) 36.36/10.25 36.36/10.25 U2_GA(x1, x2, x3, x4) = U2_GA(x1, x2, x4) 36.36/10.25 36.36/10.25 U3_GA(x1, x2, x3, x4) = U3_GA(x1, x2, x4) 36.36/10.25 36.36/10.25 U6_GA(x1, x2, x3, x4) = U6_GA(x1, x2, x4) 36.36/10.25 36.36/10.25 ISNAT_IN_G(x1) = ISNAT_IN_G(x1) 36.36/10.25 36.36/10.25 U9_G(x1, x2) = U9_G(x1, x2) 36.36/10.25 36.36/10.25 U7_GA(x1, x2, x3, x4) = U7_GA(x1, x2, x4) 36.36/10.25 36.36/10.25 U8_GA(x1, x2, x3, x4) = U8_GA(x1, x2, x4) 36.36/10.25 36.36/10.25 ADD_IN_GGA(x1, x2, x3) = ADD_IN_GGA(x1, x2) 36.36/10.25 36.36/10.25 U10_GGA(x1, x2, x3, x4) = U10_GGA(x1, x2, x4) 36.36/10.25 36.36/10.25 U4_GA(x1, x2, x3, x4, x5) = U4_GA(x1, x2, x4, x5) 36.36/10.25 36.36/10.25 U5_GA(x1, x2, x3, x4) = U5_GA(x1, x2, x4) 36.36/10.25 36.36/10.25 36.36/10.25 We have to consider all (P,R,Pi)-chains 36.36/10.25 ---------------------------------------- 36.36/10.25 36.36/10.25 (5) DependencyGraphProof (EQUIVALENT) 36.36/10.25 The approximation of the Dependency Graph [LOPSTR] contains 3 SCCs with 11 less nodes. 36.36/10.25 ---------------------------------------- 36.36/10.25 36.36/10.25 (6) 36.36/10.25 Complex Obligation (AND) 36.36/10.25 36.36/10.25 ---------------------------------------- 36.36/10.25 36.36/10.25 (7) 36.36/10.25 Obligation: 36.36/10.25 Pi DP problem: 36.36/10.25 The TRS P consists of the following rules: 36.36/10.25 36.36/10.25 ADD_IN_GGA(s(X), Y, s(Z)) -> ADD_IN_GGA(X, Y, Z) 36.36/10.25 36.36/10.25 The TRS R consists of the following rules: 36.36/10.25 36.36/10.25 s2_in_ga(plus(A, plus(B, C)), D) -> U1_ga(A, B, C, D, s2_in_ga(plus(plus(A, B), C), D)) 36.36/10.25 s2_in_ga(plus(A, B), C) -> U2_ga(A, B, C, s2_in_ga(plus(B, A), C)) 36.36/10.25 s2_in_ga(plus(X, 0), X) -> s2_out_ga(plus(X, 0), X) 36.36/10.25 s2_in_ga(plus(X, Y), Z) -> U3_ga(X, Y, Z, s2_in_ga(X, A)) 36.36/10.25 s2_in_ga(plus(A, B), C) -> U6_ga(A, B, C, isNat_in_g(A)) 36.36/10.25 isNat_in_g(s(X)) -> U9_g(X, isNat_in_g(X)) 36.36/10.25 isNat_in_g(0) -> isNat_out_g(0) 36.36/10.25 U9_g(X, isNat_out_g(X)) -> isNat_out_g(s(X)) 36.36/10.25 U6_ga(A, B, C, isNat_out_g(A)) -> U7_ga(A, B, C, isNat_in_g(B)) 36.36/10.25 U7_ga(A, B, C, isNat_out_g(B)) -> U8_ga(A, B, C, add_in_gga(A, B, C)) 36.36/10.25 add_in_gga(s(X), Y, s(Z)) -> U10_gga(X, Y, Z, add_in_gga(X, Y, Z)) 36.36/10.25 add_in_gga(0, X, X) -> add_out_gga(0, X, X) 36.36/10.25 U10_gga(X, Y, Z, add_out_gga(X, Y, Z)) -> add_out_gga(s(X), Y, s(Z)) 36.36/10.25 U8_ga(A, B, C, add_out_gga(A, B, C)) -> s2_out_ga(plus(A, B), C) 36.36/10.25 U3_ga(X, Y, Z, s2_out_ga(X, A)) -> U4_ga(X, Y, Z, A, s2_in_ga(Y, B)) 36.36/10.25 U4_ga(X, Y, Z, A, s2_out_ga(Y, B)) -> U5_ga(X, Y, Z, s2_in_ga(plus(A, B), Z)) 36.36/10.25 U5_ga(X, Y, Z, s2_out_ga(plus(A, B), Z)) -> s2_out_ga(plus(X, Y), Z) 36.36/10.25 U2_ga(A, B, C, s2_out_ga(plus(B, A), C)) -> s2_out_ga(plus(A, B), C) 36.36/10.25 U1_ga(A, B, C, D, s2_out_ga(plus(plus(A, B), C), D)) -> s2_out_ga(plus(A, plus(B, C)), D) 36.36/10.25 36.36/10.25 The argument filtering Pi contains the following mapping: 36.36/10.25 s2_in_ga(x1, x2) = s2_in_ga(x1) 36.36/10.25 36.36/10.25 plus(x1, x2) = plus(x1, x2) 36.36/10.25 36.36/10.25 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x1, x2, x3, x5) 36.36/10.25 36.36/10.25 U2_ga(x1, x2, x3, x4) = U2_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 0 = 0 36.36/10.25 36.36/10.25 s2_out_ga(x1, x2) = s2_out_ga(x1, x2) 36.36/10.25 36.36/10.25 U3_ga(x1, x2, x3, x4) = U3_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 U6_ga(x1, x2, x3, x4) = U6_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 isNat_in_g(x1) = isNat_in_g(x1) 36.36/10.25 36.36/10.25 s(x1) = s(x1) 36.36/10.25 36.36/10.25 U9_g(x1, x2) = U9_g(x1, x2) 36.36/10.25 36.36/10.25 isNat_out_g(x1) = isNat_out_g(x1) 36.36/10.25 36.36/10.25 U7_ga(x1, x2, x3, x4) = U7_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 U8_ga(x1, x2, x3, x4) = U8_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 36.36/10.25 36.36/10.25 U10_gga(x1, x2, x3, x4) = U10_gga(x1, x2, x4) 36.36/10.25 36.36/10.25 add_out_gga(x1, x2, x3) = add_out_gga(x1, x2, x3) 36.36/10.25 36.36/10.25 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x1, x2, x4, x5) 36.36/10.25 36.36/10.25 U5_ga(x1, x2, x3, x4) = U5_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 ADD_IN_GGA(x1, x2, x3) = ADD_IN_GGA(x1, x2) 36.36/10.25 36.36/10.25 36.36/10.25 We have to consider all (P,R,Pi)-chains 36.36/10.25 ---------------------------------------- 36.36/10.25 36.36/10.25 (8) UsableRulesProof (EQUIVALENT) 36.36/10.25 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 36.36/10.25 ---------------------------------------- 36.36/10.25 36.36/10.25 (9) 36.36/10.25 Obligation: 36.36/10.25 Pi DP problem: 36.36/10.25 The TRS P consists of the following rules: 36.36/10.25 36.36/10.25 ADD_IN_GGA(s(X), Y, s(Z)) -> ADD_IN_GGA(X, Y, Z) 36.36/10.25 36.36/10.25 R is empty. 36.36/10.25 The argument filtering Pi contains the following mapping: 36.36/10.25 s(x1) = s(x1) 36.36/10.25 36.36/10.25 ADD_IN_GGA(x1, x2, x3) = ADD_IN_GGA(x1, x2) 36.36/10.25 36.36/10.25 36.36/10.25 We have to consider all (P,R,Pi)-chains 36.36/10.25 ---------------------------------------- 36.36/10.25 36.36/10.25 (10) PiDPToQDPProof (SOUND) 36.36/10.25 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 36.36/10.25 ---------------------------------------- 36.36/10.25 36.36/10.25 (11) 36.36/10.25 Obligation: 36.36/10.25 Q DP problem: 36.36/10.25 The TRS P consists of the following rules: 36.36/10.25 36.36/10.25 ADD_IN_GGA(s(X), Y) -> ADD_IN_GGA(X, Y) 36.36/10.25 36.36/10.25 R is empty. 36.36/10.25 Q is empty. 36.36/10.25 We have to consider all (P,Q,R)-chains. 36.36/10.25 ---------------------------------------- 36.36/10.25 36.36/10.25 (12) QDPSizeChangeProof (EQUIVALENT) 36.36/10.25 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 36.36/10.25 36.36/10.25 From the DPs we obtained the following set of size-change graphs: 36.36/10.25 *ADD_IN_GGA(s(X), Y) -> ADD_IN_GGA(X, Y) 36.36/10.25 The graph contains the following edges 1 > 1, 2 >= 2 36.36/10.25 36.36/10.25 36.36/10.25 ---------------------------------------- 36.36/10.25 36.36/10.25 (13) 36.36/10.25 YES 36.36/10.25 36.36/10.25 ---------------------------------------- 36.36/10.25 36.36/10.25 (14) 36.36/10.25 Obligation: 36.36/10.25 Pi DP problem: 36.36/10.25 The TRS P consists of the following rules: 36.36/10.25 36.36/10.25 ISNAT_IN_G(s(X)) -> ISNAT_IN_G(X) 36.36/10.25 36.36/10.25 The TRS R consists of the following rules: 36.36/10.25 36.36/10.25 s2_in_ga(plus(A, plus(B, C)), D) -> U1_ga(A, B, C, D, s2_in_ga(plus(plus(A, B), C), D)) 36.36/10.25 s2_in_ga(plus(A, B), C) -> U2_ga(A, B, C, s2_in_ga(plus(B, A), C)) 36.36/10.25 s2_in_ga(plus(X, 0), X) -> s2_out_ga(plus(X, 0), X) 36.36/10.25 s2_in_ga(plus(X, Y), Z) -> U3_ga(X, Y, Z, s2_in_ga(X, A)) 36.36/10.25 s2_in_ga(plus(A, B), C) -> U6_ga(A, B, C, isNat_in_g(A)) 36.36/10.25 isNat_in_g(s(X)) -> U9_g(X, isNat_in_g(X)) 36.36/10.25 isNat_in_g(0) -> isNat_out_g(0) 36.36/10.25 U9_g(X, isNat_out_g(X)) -> isNat_out_g(s(X)) 36.36/10.25 U6_ga(A, B, C, isNat_out_g(A)) -> U7_ga(A, B, C, isNat_in_g(B)) 36.36/10.25 U7_ga(A, B, C, isNat_out_g(B)) -> U8_ga(A, B, C, add_in_gga(A, B, C)) 36.36/10.25 add_in_gga(s(X), Y, s(Z)) -> U10_gga(X, Y, Z, add_in_gga(X, Y, Z)) 36.36/10.25 add_in_gga(0, X, X) -> add_out_gga(0, X, X) 36.36/10.25 U10_gga(X, Y, Z, add_out_gga(X, Y, Z)) -> add_out_gga(s(X), Y, s(Z)) 36.36/10.25 U8_ga(A, B, C, add_out_gga(A, B, C)) -> s2_out_ga(plus(A, B), C) 36.36/10.25 U3_ga(X, Y, Z, s2_out_ga(X, A)) -> U4_ga(X, Y, Z, A, s2_in_ga(Y, B)) 36.36/10.25 U4_ga(X, Y, Z, A, s2_out_ga(Y, B)) -> U5_ga(X, Y, Z, s2_in_ga(plus(A, B), Z)) 36.36/10.25 U5_ga(X, Y, Z, s2_out_ga(plus(A, B), Z)) -> s2_out_ga(plus(X, Y), Z) 36.36/10.25 U2_ga(A, B, C, s2_out_ga(plus(B, A), C)) -> s2_out_ga(plus(A, B), C) 36.36/10.25 U1_ga(A, B, C, D, s2_out_ga(plus(plus(A, B), C), D)) -> s2_out_ga(plus(A, plus(B, C)), D) 36.36/10.25 36.36/10.25 The argument filtering Pi contains the following mapping: 36.36/10.25 s2_in_ga(x1, x2) = s2_in_ga(x1) 36.36/10.25 36.36/10.25 plus(x1, x2) = plus(x1, x2) 36.36/10.25 36.36/10.25 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x1, x2, x3, x5) 36.36/10.25 36.36/10.25 U2_ga(x1, x2, x3, x4) = U2_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 0 = 0 36.36/10.25 36.36/10.25 s2_out_ga(x1, x2) = s2_out_ga(x1, x2) 36.36/10.25 36.36/10.25 U3_ga(x1, x2, x3, x4) = U3_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 U6_ga(x1, x2, x3, x4) = U6_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 isNat_in_g(x1) = isNat_in_g(x1) 36.36/10.25 36.36/10.25 s(x1) = s(x1) 36.36/10.25 36.36/10.25 U9_g(x1, x2) = U9_g(x1, x2) 36.36/10.25 36.36/10.25 isNat_out_g(x1) = isNat_out_g(x1) 36.36/10.25 36.36/10.25 U7_ga(x1, x2, x3, x4) = U7_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 U8_ga(x1, x2, x3, x4) = U8_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 36.36/10.25 36.36/10.25 U10_gga(x1, x2, x3, x4) = U10_gga(x1, x2, x4) 36.36/10.25 36.36/10.25 add_out_gga(x1, x2, x3) = add_out_gga(x1, x2, x3) 36.36/10.25 36.36/10.25 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x1, x2, x4, x5) 36.36/10.25 36.36/10.25 U5_ga(x1, x2, x3, x4) = U5_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 ISNAT_IN_G(x1) = ISNAT_IN_G(x1) 36.36/10.25 36.36/10.25 36.36/10.25 We have to consider all (P,R,Pi)-chains 36.36/10.25 ---------------------------------------- 36.36/10.25 36.36/10.25 (15) UsableRulesProof (EQUIVALENT) 36.36/10.25 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 36.36/10.25 ---------------------------------------- 36.36/10.25 36.36/10.25 (16) 36.36/10.25 Obligation: 36.36/10.25 Pi DP problem: 36.36/10.25 The TRS P consists of the following rules: 36.36/10.25 36.36/10.25 ISNAT_IN_G(s(X)) -> ISNAT_IN_G(X) 36.36/10.25 36.36/10.25 R is empty. 36.36/10.25 Pi is empty. 36.36/10.25 We have to consider all (P,R,Pi)-chains 36.36/10.25 ---------------------------------------- 36.36/10.25 36.36/10.25 (17) PiDPToQDPProof (EQUIVALENT) 36.36/10.25 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 36.36/10.25 ---------------------------------------- 36.36/10.25 36.36/10.25 (18) 36.36/10.25 Obligation: 36.36/10.25 Q DP problem: 36.36/10.25 The TRS P consists of the following rules: 36.36/10.25 36.36/10.25 ISNAT_IN_G(s(X)) -> ISNAT_IN_G(X) 36.36/10.25 36.36/10.25 R is empty. 36.36/10.25 Q is empty. 36.36/10.25 We have to consider all (P,Q,R)-chains. 36.36/10.25 ---------------------------------------- 36.36/10.25 36.36/10.25 (19) QDPSizeChangeProof (EQUIVALENT) 36.36/10.25 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 36.36/10.25 36.36/10.25 From the DPs we obtained the following set of size-change graphs: 36.36/10.25 *ISNAT_IN_G(s(X)) -> ISNAT_IN_G(X) 36.36/10.25 The graph contains the following edges 1 > 1 36.36/10.25 36.36/10.25 36.36/10.25 ---------------------------------------- 36.36/10.25 36.36/10.25 (20) 36.36/10.25 YES 36.36/10.25 36.36/10.25 ---------------------------------------- 36.36/10.25 36.36/10.25 (21) 36.36/10.25 Obligation: 36.36/10.25 Pi DP problem: 36.36/10.25 The TRS P consists of the following rules: 36.36/10.25 36.36/10.25 S2_IN_GA(plus(A, B), C) -> S2_IN_GA(plus(B, A), C) 36.36/10.25 S2_IN_GA(plus(A, plus(B, C)), D) -> S2_IN_GA(plus(plus(A, B), C), D) 36.36/10.25 S2_IN_GA(plus(X, Y), Z) -> U3_GA(X, Y, Z, s2_in_ga(X, A)) 36.36/10.25 U3_GA(X, Y, Z, s2_out_ga(X, A)) -> U4_GA(X, Y, Z, A, s2_in_ga(Y, B)) 36.36/10.25 U4_GA(X, Y, Z, A, s2_out_ga(Y, B)) -> S2_IN_GA(plus(A, B), Z) 36.36/10.25 S2_IN_GA(plus(X, Y), Z) -> S2_IN_GA(X, A) 36.36/10.25 U3_GA(X, Y, Z, s2_out_ga(X, A)) -> S2_IN_GA(Y, B) 36.36/10.25 36.36/10.25 The TRS R consists of the following rules: 36.36/10.25 36.36/10.25 s2_in_ga(plus(A, plus(B, C)), D) -> U1_ga(A, B, C, D, s2_in_ga(plus(plus(A, B), C), D)) 36.36/10.25 s2_in_ga(plus(A, B), C) -> U2_ga(A, B, C, s2_in_ga(plus(B, A), C)) 36.36/10.25 s2_in_ga(plus(X, 0), X) -> s2_out_ga(plus(X, 0), X) 36.36/10.25 s2_in_ga(plus(X, Y), Z) -> U3_ga(X, Y, Z, s2_in_ga(X, A)) 36.36/10.25 s2_in_ga(plus(A, B), C) -> U6_ga(A, B, C, isNat_in_g(A)) 36.36/10.25 isNat_in_g(s(X)) -> U9_g(X, isNat_in_g(X)) 36.36/10.25 isNat_in_g(0) -> isNat_out_g(0) 36.36/10.25 U9_g(X, isNat_out_g(X)) -> isNat_out_g(s(X)) 36.36/10.25 U6_ga(A, B, C, isNat_out_g(A)) -> U7_ga(A, B, C, isNat_in_g(B)) 36.36/10.25 U7_ga(A, B, C, isNat_out_g(B)) -> U8_ga(A, B, C, add_in_gga(A, B, C)) 36.36/10.25 add_in_gga(s(X), Y, s(Z)) -> U10_gga(X, Y, Z, add_in_gga(X, Y, Z)) 36.36/10.25 add_in_gga(0, X, X) -> add_out_gga(0, X, X) 36.36/10.25 U10_gga(X, Y, Z, add_out_gga(X, Y, Z)) -> add_out_gga(s(X), Y, s(Z)) 36.36/10.25 U8_ga(A, B, C, add_out_gga(A, B, C)) -> s2_out_ga(plus(A, B), C) 36.36/10.25 U3_ga(X, Y, Z, s2_out_ga(X, A)) -> U4_ga(X, Y, Z, A, s2_in_ga(Y, B)) 36.36/10.25 U4_ga(X, Y, Z, A, s2_out_ga(Y, B)) -> U5_ga(X, Y, Z, s2_in_ga(plus(A, B), Z)) 36.36/10.25 U5_ga(X, Y, Z, s2_out_ga(plus(A, B), Z)) -> s2_out_ga(plus(X, Y), Z) 36.36/10.25 U2_ga(A, B, C, s2_out_ga(plus(B, A), C)) -> s2_out_ga(plus(A, B), C) 36.36/10.25 U1_ga(A, B, C, D, s2_out_ga(plus(plus(A, B), C), D)) -> s2_out_ga(plus(A, plus(B, C)), D) 36.36/10.25 36.36/10.25 The argument filtering Pi contains the following mapping: 36.36/10.25 s2_in_ga(x1, x2) = s2_in_ga(x1) 36.36/10.25 36.36/10.25 plus(x1, x2) = plus(x1, x2) 36.36/10.25 36.36/10.25 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x1, x2, x3, x5) 36.36/10.25 36.36/10.25 U2_ga(x1, x2, x3, x4) = U2_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 0 = 0 36.36/10.25 36.36/10.25 s2_out_ga(x1, x2) = s2_out_ga(x1, x2) 36.36/10.25 36.36/10.25 U3_ga(x1, x2, x3, x4) = U3_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 U6_ga(x1, x2, x3, x4) = U6_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 isNat_in_g(x1) = isNat_in_g(x1) 36.36/10.25 36.36/10.25 s(x1) = s(x1) 36.36/10.25 36.36/10.25 U9_g(x1, x2) = U9_g(x1, x2) 36.36/10.25 36.36/10.25 isNat_out_g(x1) = isNat_out_g(x1) 36.36/10.25 36.36/10.25 U7_ga(x1, x2, x3, x4) = U7_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 U8_ga(x1, x2, x3, x4) = U8_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 36.36/10.25 36.36/10.25 U10_gga(x1, x2, x3, x4) = U10_gga(x1, x2, x4) 36.36/10.25 36.36/10.25 add_out_gga(x1, x2, x3) = add_out_gga(x1, x2, x3) 36.36/10.25 36.36/10.25 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x1, x2, x4, x5) 36.36/10.25 36.36/10.25 U5_ga(x1, x2, x3, x4) = U5_ga(x1, x2, x4) 36.36/10.25 36.36/10.25 S2_IN_GA(x1, x2) = S2_IN_GA(x1) 36.36/10.25 36.36/10.25 U3_GA(x1, x2, x3, x4) = U3_GA(x1, x2, x4) 36.36/10.25 36.36/10.25 U4_GA(x1, x2, x3, x4, x5) = U4_GA(x1, x2, x4, x5) 36.36/10.25 36.36/10.25 36.36/10.25 We have to consider all (P,R,Pi)-chains 36.36/10.25 ---------------------------------------- 36.36/10.25 36.36/10.25 (22) PiDPToQDPProof (SOUND) 36.36/10.25 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 36.36/10.25 ---------------------------------------- 36.36/10.25 36.36/10.25 (23) 36.36/10.25 Obligation: 36.36/10.25 Q DP problem: 36.36/10.25 The TRS P consists of the following rules: 36.36/10.25 36.36/10.25 S2_IN_GA(plus(A, B)) -> S2_IN_GA(plus(B, A)) 36.36/10.25 S2_IN_GA(plus(A, plus(B, C))) -> S2_IN_GA(plus(plus(A, B), C)) 36.36/10.25 S2_IN_GA(plus(X, Y)) -> U3_GA(X, Y, s2_in_ga(X)) 36.36/10.25 U3_GA(X, Y, s2_out_ga(X, A)) -> U4_GA(X, Y, A, s2_in_ga(Y)) 36.36/10.25 U4_GA(X, Y, A, s2_out_ga(Y, B)) -> S2_IN_GA(plus(A, B)) 36.36/10.25 S2_IN_GA(plus(X, Y)) -> S2_IN_GA(X) 36.36/10.25 U3_GA(X, Y, s2_out_ga(X, A)) -> S2_IN_GA(Y) 36.36/10.25 36.36/10.25 The TRS R consists of the following rules: 36.36/10.25 36.36/10.25 s2_in_ga(plus(A, plus(B, C))) -> U1_ga(A, B, C, s2_in_ga(plus(plus(A, B), C))) 36.36/10.25 s2_in_ga(plus(A, B)) -> U2_ga(A, B, s2_in_ga(plus(B, A))) 36.36/10.25 s2_in_ga(plus(X, 0)) -> s2_out_ga(plus(X, 0), X) 36.36/10.25 s2_in_ga(plus(X, Y)) -> U3_ga(X, Y, s2_in_ga(X)) 36.36/10.25 s2_in_ga(plus(A, B)) -> U6_ga(A, B, isNat_in_g(A)) 36.36/10.25 isNat_in_g(s(X)) -> U9_g(X, isNat_in_g(X)) 36.36/10.25 isNat_in_g(0) -> isNat_out_g(0) 36.36/10.25 U9_g(X, isNat_out_g(X)) -> isNat_out_g(s(X)) 36.36/10.25 U6_ga(A, B, isNat_out_g(A)) -> U7_ga(A, B, isNat_in_g(B)) 36.36/10.25 U7_ga(A, B, isNat_out_g(B)) -> U8_ga(A, B, add_in_gga(A, B)) 36.36/10.25 add_in_gga(s(X), Y) -> U10_gga(X, Y, add_in_gga(X, Y)) 36.36/10.25 add_in_gga(0, X) -> add_out_gga(0, X, X) 36.36/10.25 U10_gga(X, Y, add_out_gga(X, Y, Z)) -> add_out_gga(s(X), Y, s(Z)) 36.36/10.25 U8_ga(A, B, add_out_gga(A, B, C)) -> s2_out_ga(plus(A, B), C) 36.36/10.25 U3_ga(X, Y, s2_out_ga(X, A)) -> U4_ga(X, Y, A, s2_in_ga(Y)) 36.36/10.25 U4_ga(X, Y, A, s2_out_ga(Y, B)) -> U5_ga(X, Y, s2_in_ga(plus(A, B))) 36.36/10.25 U5_ga(X, Y, s2_out_ga(plus(A, B), Z)) -> s2_out_ga(plus(X, Y), Z) 36.36/10.25 U2_ga(A, B, s2_out_ga(plus(B, A), C)) -> s2_out_ga(plus(A, B), C) 36.36/10.25 U1_ga(A, B, C, s2_out_ga(plus(plus(A, B), C), D)) -> s2_out_ga(plus(A, plus(B, C)), D) 36.36/10.25 36.36/10.25 The set Q consists of the following terms: 36.36/10.25 36.36/10.25 s2_in_ga(x0) 36.36/10.25 isNat_in_g(x0) 36.36/10.25 U9_g(x0, x1) 36.36/10.25 U6_ga(x0, x1, x2) 36.36/10.25 U7_ga(x0, x1, x2) 36.36/10.25 add_in_gga(x0, x1) 36.36/10.25 U10_gga(x0, x1, x2) 36.36/10.25 U8_ga(x0, x1, x2) 36.36/10.25 U3_ga(x0, x1, x2) 36.36/10.25 U4_ga(x0, x1, x2, x3) 36.36/10.25 U5_ga(x0, x1, x2) 36.36/10.25 U2_ga(x0, x1, x2) 36.36/10.25 U1_ga(x0, x1, x2, x3) 36.36/10.25 36.36/10.25 We have to consider all (P,Q,R)-chains. 36.36/10.25 ---------------------------------------- 36.36/10.25 36.36/10.25 (24) QDPQMonotonicMRRProof (EQUIVALENT) 36.36/10.25 By using the Q-monotonic rule removal processor with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented such that it always occurs at a strongly monotonic position in a (P,Q,R)-chain. 36.36/10.25 36.36/10.25 Strictly oriented dependency pairs: 36.36/10.25 36.36/10.25 S2_IN_GA(plus(X, Y)) -> S2_IN_GA(X) 36.36/10.25 U3_GA(X, Y, s2_out_ga(X, A)) -> S2_IN_GA(Y) 36.36/10.25 36.36/10.25 Strictly oriented rules of the TRS R: 36.36/10.25 36.36/10.25 s2_in_ga(plus(X, 0)) -> s2_out_ga(plus(X, 0), X) 36.36/10.25 U7_ga(A, B, isNat_out_g(B)) -> U8_ga(A, B, add_in_gga(A, B)) 36.36/10.25 36.36/10.25 Used ordering: Polynomial interpretation [POLO]: 36.36/10.25 36.36/10.25 POL(0) = 0 36.36/10.25 POL(S2_IN_GA(x_1)) = 2*x_1 36.36/10.25 POL(U10_gga(x_1, x_2, x_3)) = 0 36.36/10.25 POL(U1_ga(x_1, x_2, x_3, x_4)) = x_4 36.36/10.25 POL(U2_ga(x_1, x_2, x_3)) = x_3 36.75/10.30 POL(U3_GA(x_1, x_2, x_3)) = 2 + 2*x_2 + 2*x_3 36.75/10.30 POL(U3_ga(x_1, x_2, x_3)) = 1 + x_2 + x_3 36.75/10.30 POL(U4_GA(x_1, x_2, x_3, x_4)) = 2 + 2*x_3 + 2*x_4 36.75/10.30 POL(U4_ga(x_1, x_2, x_3, x_4)) = 1 + x_3 + x_4 36.75/10.30 POL(U5_ga(x_1, x_2, x_3)) = x_3 36.75/10.30 POL(U6_ga(x_1, x_2, x_3)) = 1 + x_1 36.75/10.30 POL(U7_ga(x_1, x_2, x_3)) = 1 + 2*x_3 36.75/10.30 POL(U8_ga(x_1, x_2, x_3)) = 2*x_3 36.75/10.30 POL(U9_g(x_1, x_2)) = 0 36.75/10.30 POL(add_in_gga(x_1, x_2)) = x_2 36.75/10.30 POL(add_out_gga(x_1, x_2, x_3)) = x_3 36.75/10.30 POL(isNat_in_g(x_1)) = 0 36.75/10.30 POL(isNat_out_g(x_1)) = x_1 36.75/10.30 POL(plus(x_1, x_2)) = 1 + x_1 + x_2 36.75/10.30 POL(s(x_1)) = 0 36.75/10.30 POL(s2_in_ga(x_1)) = x_1 36.75/10.30 POL(s2_out_ga(x_1, x_2)) = x_2 36.75/10.30 36.75/10.30 36.75/10.30 ---------------------------------------- 36.75/10.30 36.75/10.30 (25) 36.75/10.30 Obligation: 36.75/10.30 Q DP problem: 36.75/10.30 The TRS P consists of the following rules: 36.75/10.30 36.75/10.30 S2_IN_GA(plus(A, B)) -> S2_IN_GA(plus(B, A)) 36.75/10.30 S2_IN_GA(plus(A, plus(B, C))) -> S2_IN_GA(plus(plus(A, B), C)) 36.75/10.30 S2_IN_GA(plus(X, Y)) -> U3_GA(X, Y, s2_in_ga(X)) 36.75/10.30 U3_GA(X, Y, s2_out_ga(X, A)) -> U4_GA(X, Y, A, s2_in_ga(Y)) 36.75/10.30 U4_GA(X, Y, A, s2_out_ga(Y, B)) -> S2_IN_GA(plus(A, B)) 36.75/10.30 36.75/10.30 The TRS R consists of the following rules: 36.75/10.30 36.75/10.30 s2_in_ga(plus(A, plus(B, C))) -> U1_ga(A, B, C, s2_in_ga(plus(plus(A, B), C))) 36.75/10.30 s2_in_ga(plus(A, B)) -> U2_ga(A, B, s2_in_ga(plus(B, A))) 36.75/10.30 s2_in_ga(plus(X, Y)) -> U3_ga(X, Y, s2_in_ga(X)) 36.75/10.30 s2_in_ga(plus(A, B)) -> U6_ga(A, B, isNat_in_g(A)) 36.75/10.30 isNat_in_g(s(X)) -> U9_g(X, isNat_in_g(X)) 36.75/10.30 isNat_in_g(0) -> isNat_out_g(0) 36.75/10.30 U9_g(X, isNat_out_g(X)) -> isNat_out_g(s(X)) 36.75/10.30 U6_ga(A, B, isNat_out_g(A)) -> U7_ga(A, B, isNat_in_g(B)) 36.75/10.30 add_in_gga(s(X), Y) -> U10_gga(X, Y, add_in_gga(X, Y)) 36.75/10.30 add_in_gga(0, X) -> add_out_gga(0, X, X) 36.75/10.30 U10_gga(X, Y, add_out_gga(X, Y, Z)) -> add_out_gga(s(X), Y, s(Z)) 36.75/10.30 U8_ga(A, B, add_out_gga(A, B, C)) -> s2_out_ga(plus(A, B), C) 36.75/10.30 U3_ga(X, Y, s2_out_ga(X, A)) -> U4_ga(X, Y, A, s2_in_ga(Y)) 36.75/10.30 U4_ga(X, Y, A, s2_out_ga(Y, B)) -> U5_ga(X, Y, s2_in_ga(plus(A, B))) 36.75/10.30 U5_ga(X, Y, s2_out_ga(plus(A, B), Z)) -> s2_out_ga(plus(X, Y), Z) 36.75/10.30 U2_ga(A, B, s2_out_ga(plus(B, A), C)) -> s2_out_ga(plus(A, B), C) 36.75/10.30 U1_ga(A, B, C, s2_out_ga(plus(plus(A, B), C), D)) -> s2_out_ga(plus(A, plus(B, C)), D) 36.75/10.30 36.75/10.30 The set Q consists of the following terms: 36.75/10.30 36.75/10.30 s2_in_ga(x0) 36.75/10.30 isNat_in_g(x0) 36.75/10.30 U9_g(x0, x1) 36.75/10.30 U6_ga(x0, x1, x2) 36.75/10.30 U7_ga(x0, x1, x2) 36.75/10.30 add_in_gga(x0, x1) 36.75/10.30 U10_gga(x0, x1, x2) 36.75/10.30 U8_ga(x0, x1, x2) 36.75/10.30 U3_ga(x0, x1, x2) 36.75/10.30 U4_ga(x0, x1, x2, x3) 36.75/10.30 U5_ga(x0, x1, x2) 36.75/10.30 U2_ga(x0, x1, x2) 36.75/10.30 U1_ga(x0, x1, x2, x3) 36.75/10.30 36.75/10.30 We have to consider all (P,Q,R)-chains. 36.75/10.30 ---------------------------------------- 36.75/10.30 36.75/10.30 (26) UsableRulesProof (EQUIVALENT) 36.75/10.30 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. 36.75/10.30 ---------------------------------------- 36.75/10.30 36.75/10.30 (27) 36.75/10.30 Obligation: 36.75/10.30 Q DP problem: 36.75/10.30 The TRS P consists of the following rules: 36.75/10.30 36.75/10.30 S2_IN_GA(plus(A, B)) -> S2_IN_GA(plus(B, A)) 36.75/10.30 S2_IN_GA(plus(A, plus(B, C))) -> S2_IN_GA(plus(plus(A, B), C)) 36.75/10.30 S2_IN_GA(plus(X, Y)) -> U3_GA(X, Y, s2_in_ga(X)) 36.75/10.30 U3_GA(X, Y, s2_out_ga(X, A)) -> U4_GA(X, Y, A, s2_in_ga(Y)) 36.75/10.30 U4_GA(X, Y, A, s2_out_ga(Y, B)) -> S2_IN_GA(plus(A, B)) 36.75/10.30 36.75/10.30 The TRS R consists of the following rules: 36.75/10.30 36.75/10.30 s2_in_ga(plus(A, plus(B, C))) -> U1_ga(A, B, C, s2_in_ga(plus(plus(A, B), C))) 36.75/10.30 s2_in_ga(plus(A, B)) -> U2_ga(A, B, s2_in_ga(plus(B, A))) 36.75/10.30 s2_in_ga(plus(X, Y)) -> U3_ga(X, Y, s2_in_ga(X)) 36.75/10.30 s2_in_ga(plus(A, B)) -> U6_ga(A, B, isNat_in_g(A)) 36.75/10.30 isNat_in_g(s(X)) -> U9_g(X, isNat_in_g(X)) 36.75/10.30 isNat_in_g(0) -> isNat_out_g(0) 36.75/10.30 U6_ga(A, B, isNat_out_g(A)) -> U7_ga(A, B, isNat_in_g(B)) 36.75/10.30 U9_g(X, isNat_out_g(X)) -> isNat_out_g(s(X)) 36.75/10.30 U3_ga(X, Y, s2_out_ga(X, A)) -> U4_ga(X, Y, A, s2_in_ga(Y)) 36.75/10.30 U4_ga(X, Y, A, s2_out_ga(Y, B)) -> U5_ga(X, Y, s2_in_ga(plus(A, B))) 36.75/10.30 U5_ga(X, Y, s2_out_ga(plus(A, B), Z)) -> s2_out_ga(plus(X, Y), Z) 36.75/10.30 U2_ga(A, B, s2_out_ga(plus(B, A), C)) -> s2_out_ga(plus(A, B), C) 36.75/10.30 U1_ga(A, B, C, s2_out_ga(plus(plus(A, B), C), D)) -> s2_out_ga(plus(A, plus(B, C)), D) 36.75/10.30 36.75/10.30 The set Q consists of the following terms: 36.75/10.30 36.75/10.30 s2_in_ga(x0) 36.75/10.30 isNat_in_g(x0) 36.75/10.30 U9_g(x0, x1) 36.75/10.30 U6_ga(x0, x1, x2) 36.75/10.30 U7_ga(x0, x1, x2) 36.75/10.30 add_in_gga(x0, x1) 36.75/10.30 U10_gga(x0, x1, x2) 36.75/10.30 U8_ga(x0, x1, x2) 36.75/10.30 U3_ga(x0, x1, x2) 36.75/10.30 U4_ga(x0, x1, x2, x3) 36.75/10.30 U5_ga(x0, x1, x2) 36.75/10.30 U2_ga(x0, x1, x2) 36.75/10.30 U1_ga(x0, x1, x2, x3) 36.75/10.30 36.75/10.30 We have to consider all (P,Q,R)-chains. 36.75/10.30 ---------------------------------------- 36.75/10.30 36.75/10.30 (28) QReductionProof (EQUIVALENT) 36.75/10.30 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 36.75/10.30 36.75/10.30 add_in_gga(x0, x1) 36.75/10.30 U10_gga(x0, x1, x2) 36.75/10.30 U8_ga(x0, x1, x2) 36.75/10.30 36.75/10.30 36.75/10.30 ---------------------------------------- 36.75/10.30 36.75/10.30 (29) 36.75/10.30 Obligation: 36.75/10.30 Q DP problem: 36.75/10.30 The TRS P consists of the following rules: 36.75/10.30 36.75/10.30 S2_IN_GA(plus(A, B)) -> S2_IN_GA(plus(B, A)) 36.75/10.30 S2_IN_GA(plus(A, plus(B, C))) -> S2_IN_GA(plus(plus(A, B), C)) 36.75/10.30 S2_IN_GA(plus(X, Y)) -> U3_GA(X, Y, s2_in_ga(X)) 36.75/10.30 U3_GA(X, Y, s2_out_ga(X, A)) -> U4_GA(X, Y, A, s2_in_ga(Y)) 36.75/10.30 U4_GA(X, Y, A, s2_out_ga(Y, B)) -> S2_IN_GA(plus(A, B)) 36.75/10.30 36.75/10.30 The TRS R consists of the following rules: 36.75/10.30 36.75/10.30 s2_in_ga(plus(A, plus(B, C))) -> U1_ga(A, B, C, s2_in_ga(plus(plus(A, B), C))) 36.75/10.30 s2_in_ga(plus(A, B)) -> U2_ga(A, B, s2_in_ga(plus(B, A))) 36.75/10.30 s2_in_ga(plus(X, Y)) -> U3_ga(X, Y, s2_in_ga(X)) 36.75/10.30 s2_in_ga(plus(A, B)) -> U6_ga(A, B, isNat_in_g(A)) 36.75/10.30 isNat_in_g(s(X)) -> U9_g(X, isNat_in_g(X)) 36.75/10.30 isNat_in_g(0) -> isNat_out_g(0) 36.75/10.30 U6_ga(A, B, isNat_out_g(A)) -> U7_ga(A, B, isNat_in_g(B)) 36.75/10.30 U9_g(X, isNat_out_g(X)) -> isNat_out_g(s(X)) 36.75/10.30 U3_ga(X, Y, s2_out_ga(X, A)) -> U4_ga(X, Y, A, s2_in_ga(Y)) 36.75/10.30 U4_ga(X, Y, A, s2_out_ga(Y, B)) -> U5_ga(X, Y, s2_in_ga(plus(A, B))) 36.75/10.30 U5_ga(X, Y, s2_out_ga(plus(A, B), Z)) -> s2_out_ga(plus(X, Y), Z) 36.75/10.30 U2_ga(A, B, s2_out_ga(plus(B, A), C)) -> s2_out_ga(plus(A, B), C) 36.75/10.30 U1_ga(A, B, C, s2_out_ga(plus(plus(A, B), C), D)) -> s2_out_ga(plus(A, plus(B, C)), D) 36.75/10.30 36.75/10.30 The set Q consists of the following terms: 36.75/10.30 36.75/10.30 s2_in_ga(x0) 36.75/10.30 isNat_in_g(x0) 36.75/10.30 U9_g(x0, x1) 36.75/10.30 U6_ga(x0, x1, x2) 36.75/10.30 U7_ga(x0, x1, x2) 36.75/10.30 U3_ga(x0, x1, x2) 36.75/10.30 U4_ga(x0, x1, x2, x3) 36.75/10.30 U5_ga(x0, x1, x2) 36.75/10.30 U2_ga(x0, x1, x2) 36.75/10.30 U1_ga(x0, x1, x2, x3) 36.75/10.30 36.75/10.30 We have to consider all (P,Q,R)-chains. 36.75/10.30 ---------------------------------------- 36.75/10.30 36.75/10.30 (30) QDPOrderProof (EQUIVALENT) 36.75/10.30 We use the reduction pair processor [LPAR04,JAR06]. 36.75/10.30 36.75/10.30 36.75/10.30 The following pairs can be oriented strictly and are deleted. 36.75/10.30 36.75/10.30 S2_IN_GA(plus(X, Y)) -> U3_GA(X, Y, s2_in_ga(X)) 36.75/10.30 U4_GA(X, Y, A, s2_out_ga(Y, B)) -> S2_IN_GA(plus(A, B)) 36.75/10.30 The remaining pairs can at least be oriented weakly. 36.75/10.30 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 36.75/10.30 36.75/10.30 POL( U3_GA_3(x_1, ..., x_3) ) = max{0, 2x_3 - 2} 36.75/10.30 POL( U4_GA_4(x_1, ..., x_4) ) = 2x_3 + 2 36.75/10.30 POL( s2_in_ga_1(x_1) ) = max{0, -2} 36.75/10.30 POL( plus_2(x_1, x_2) ) = 2 36.75/10.30 POL( U1_ga_4(x_1, ..., x_4) ) = max{0, 2x_4 - 2} 36.75/10.30 POL( U2_ga_3(x_1, ..., x_3) ) = x_3 36.75/10.30 POL( U3_ga_3(x_1, ..., x_3) ) = max{0, x_3 - 1} 36.75/10.30 POL( U6_ga_3(x_1, ..., x_3) ) = 0 36.75/10.30 POL( isNat_in_g_1(x_1) ) = 0 36.75/10.30 POL( s2_out_ga_2(x_1, x_2) ) = 2x_1 + 2x_2 + 2 36.75/10.30 POL( U4_ga_4(x_1, ..., x_4) ) = x_1 + 2x_3 + 1 36.75/10.30 POL( U5_ga_3(x_1, ..., x_3) ) = x_1 + x_3 + 1 36.75/10.30 POL( U7_ga_3(x_1, ..., x_3) ) = max{0, 2x_3 - 2} 36.75/10.30 POL( s_1(x_1) ) = 0 36.75/10.30 POL( U9_g_2(x_1, x_2) ) = max{0, -2} 36.75/10.30 POL( 0 ) = 0 36.75/10.30 POL( isNat_out_g_1(x_1) ) = max{0, x_1 - 2} 36.75/10.30 POL( S2_IN_GA_1(x_1) ) = 1 36.75/10.30 36.75/10.30 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 36.75/10.30 36.75/10.30 s2_in_ga(plus(A, plus(B, C))) -> U1_ga(A, B, C, s2_in_ga(plus(plus(A, B), C))) 36.75/10.30 s2_in_ga(plus(A, B)) -> U2_ga(A, B, s2_in_ga(plus(B, A))) 36.75/10.30 s2_in_ga(plus(X, Y)) -> U3_ga(X, Y, s2_in_ga(X)) 36.75/10.30 s2_in_ga(plus(A, B)) -> U6_ga(A, B, isNat_in_g(A)) 36.75/10.30 U2_ga(A, B, s2_out_ga(plus(B, A), C)) -> s2_out_ga(plus(A, B), C) 36.75/10.30 U1_ga(A, B, C, s2_out_ga(plus(plus(A, B), C), D)) -> s2_out_ga(plus(A, plus(B, C)), D) 36.75/10.30 U3_ga(X, Y, s2_out_ga(X, A)) -> U4_ga(X, Y, A, s2_in_ga(Y)) 36.75/10.30 U4_ga(X, Y, A, s2_out_ga(Y, B)) -> U5_ga(X, Y, s2_in_ga(plus(A, B))) 36.75/10.30 U5_ga(X, Y, s2_out_ga(plus(A, B), Z)) -> s2_out_ga(plus(X, Y), Z) 36.75/10.30 isNat_in_g(s(X)) -> U9_g(X, isNat_in_g(X)) 36.75/10.30 isNat_in_g(0) -> isNat_out_g(0) 36.75/10.30 U6_ga(A, B, isNat_out_g(A)) -> U7_ga(A, B, isNat_in_g(B)) 36.75/10.30 U9_g(X, isNat_out_g(X)) -> isNat_out_g(s(X)) 36.75/10.30 36.75/10.30 36.75/10.30 ---------------------------------------- 36.75/10.30 36.75/10.30 (31) 36.75/10.30 Obligation: 36.75/10.30 Q DP problem: 36.75/10.30 The TRS P consists of the following rules: 36.75/10.30 36.75/10.30 S2_IN_GA(plus(A, B)) -> S2_IN_GA(plus(B, A)) 36.75/10.30 S2_IN_GA(plus(A, plus(B, C))) -> S2_IN_GA(plus(plus(A, B), C)) 36.75/10.30 U3_GA(X, Y, s2_out_ga(X, A)) -> U4_GA(X, Y, A, s2_in_ga(Y)) 36.75/10.30 36.75/10.30 The TRS R consists of the following rules: 36.75/10.30 36.75/10.30 s2_in_ga(plus(A, plus(B, C))) -> U1_ga(A, B, C, s2_in_ga(plus(plus(A, B), C))) 36.75/10.30 s2_in_ga(plus(A, B)) -> U2_ga(A, B, s2_in_ga(plus(B, A))) 36.75/10.30 s2_in_ga(plus(X, Y)) -> U3_ga(X, Y, s2_in_ga(X)) 36.75/10.30 s2_in_ga(plus(A, B)) -> U6_ga(A, B, isNat_in_g(A)) 36.75/10.30 isNat_in_g(s(X)) -> U9_g(X, isNat_in_g(X)) 36.75/10.30 isNat_in_g(0) -> isNat_out_g(0) 36.75/10.30 U6_ga(A, B, isNat_out_g(A)) -> U7_ga(A, B, isNat_in_g(B)) 36.75/10.30 U9_g(X, isNat_out_g(X)) -> isNat_out_g(s(X)) 36.75/10.30 U3_ga(X, Y, s2_out_ga(X, A)) -> U4_ga(X, Y, A, s2_in_ga(Y)) 36.75/10.30 U4_ga(X, Y, A, s2_out_ga(Y, B)) -> U5_ga(X, Y, s2_in_ga(plus(A, B))) 36.75/10.30 U5_ga(X, Y, s2_out_ga(plus(A, B), Z)) -> s2_out_ga(plus(X, Y), Z) 36.75/10.30 U2_ga(A, B, s2_out_ga(plus(B, A), C)) -> s2_out_ga(plus(A, B), C) 36.75/10.30 U1_ga(A, B, C, s2_out_ga(plus(plus(A, B), C), D)) -> s2_out_ga(plus(A, plus(B, C)), D) 36.75/10.30 36.75/10.30 The set Q consists of the following terms: 36.75/10.30 36.75/10.30 s2_in_ga(x0) 36.75/10.30 isNat_in_g(x0) 36.75/10.30 U9_g(x0, x1) 36.75/10.30 U6_ga(x0, x1, x2) 36.75/10.30 U7_ga(x0, x1, x2) 36.75/10.30 U3_ga(x0, x1, x2) 36.75/10.30 U4_ga(x0, x1, x2, x3) 36.75/10.30 U5_ga(x0, x1, x2) 36.75/10.30 U2_ga(x0, x1, x2) 36.75/10.30 U1_ga(x0, x1, x2, x3) 36.75/10.30 36.75/10.30 We have to consider all (P,Q,R)-chains. 36.75/10.30 ---------------------------------------- 36.75/10.30 36.75/10.30 (32) QDPQMonotonicMRRProof (EQUIVALENT) 36.75/10.30 By using the Q-monotonic rule removal processor with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented such that it always occurs at a strongly monotonic position in a (P,Q,R)-chain. 36.75/10.30 36.75/10.30 Strictly oriented dependency pairs: 36.75/10.30 36.75/10.30 U3_GA(X, Y, s2_out_ga(X, A)) -> U4_GA(X, Y, A, s2_in_ga(Y)) 36.75/10.30 36.75/10.30 36.75/10.30 Used ordering: Polynomial interpretation [POLO]: 36.75/10.30 36.75/10.30 POL(0) = 2 36.75/10.30 POL(S2_IN_GA(x_1)) = 1 36.75/10.30 POL(U1_ga(x_1, x_2, x_3, x_4)) = 2*x_4 36.75/10.30 POL(U2_ga(x_1, x_2, x_3)) = x_3 36.75/10.30 POL(U3_GA(x_1, x_2, x_3)) = 1 36.75/10.30 POL(U3_ga(x_1, x_2, x_3)) = 2*x_3 36.75/10.30 POL(U4_GA(x_1, x_2, x_3, x_4)) = x_4 36.75/10.30 POL(U4_ga(x_1, x_2, x_3, x_4)) = 2 36.75/10.30 POL(U5_ga(x_1, x_2, x_3)) = 1 + x_3 36.75/10.30 POL(U6_ga(x_1, x_2, x_3)) = 0 36.75/10.30 POL(U7_ga(x_1, x_2, x_3)) = 0 36.75/10.30 POL(U9_g(x_1, x_2)) = 2 + 2*x_1 36.75/10.30 POL(isNat_in_g(x_1)) = 2*x_1 36.75/10.30 POL(isNat_out_g(x_1)) = 0 36.75/10.30 POL(plus(x_1, x_2)) = 0 36.75/10.30 POL(s(x_1)) = 1 + 2*x_1 36.75/10.30 POL(s2_in_ga(x_1)) = 0 36.75/10.30 POL(s2_out_ga(x_1, x_2)) = 1 36.75/10.30 36.75/10.30 36.75/10.30 ---------------------------------------- 36.75/10.30 36.75/10.30 (33) 36.75/10.30 Obligation: 36.75/10.30 Q DP problem: 36.75/10.30 The TRS P consists of the following rules: 36.75/10.30 36.75/10.30 S2_IN_GA(plus(A, B)) -> S2_IN_GA(plus(B, A)) 36.75/10.30 S2_IN_GA(plus(A, plus(B, C))) -> S2_IN_GA(plus(plus(A, B), C)) 36.75/10.30 S2_IN_GA(plus(X, Y)) -> U3_GA(X, Y, s2_in_ga(X)) 36.75/10.30 U4_GA(X, Y, A, s2_out_ga(Y, B)) -> S2_IN_GA(plus(A, B)) 36.75/10.30 36.75/10.30 The TRS R consists of the following rules: 36.75/10.30 36.75/10.30 s2_in_ga(plus(A, plus(B, C))) -> U1_ga(A, B, C, s2_in_ga(plus(plus(A, B), C))) 36.75/10.30 s2_in_ga(plus(A, B)) -> U2_ga(A, B, s2_in_ga(plus(B, A))) 36.75/10.30 s2_in_ga(plus(X, Y)) -> U3_ga(X, Y, s2_in_ga(X)) 36.75/10.30 s2_in_ga(plus(A, B)) -> U6_ga(A, B, isNat_in_g(A)) 36.75/10.30 isNat_in_g(s(X)) -> U9_g(X, isNat_in_g(X)) 36.75/10.30 isNat_in_g(0) -> isNat_out_g(0) 36.75/10.30 U6_ga(A, B, isNat_out_g(A)) -> U7_ga(A, B, isNat_in_g(B)) 36.75/10.30 U9_g(X, isNat_out_g(X)) -> isNat_out_g(s(X)) 36.75/10.30 U3_ga(X, Y, s2_out_ga(X, A)) -> U4_ga(X, Y, A, s2_in_ga(Y)) 36.75/10.30 U4_ga(X, Y, A, s2_out_ga(Y, B)) -> U5_ga(X, Y, s2_in_ga(plus(A, B))) 36.75/10.30 U5_ga(X, Y, s2_out_ga(plus(A, B), Z)) -> s2_out_ga(plus(X, Y), Z) 36.75/10.30 U2_ga(A, B, s2_out_ga(plus(B, A), C)) -> s2_out_ga(plus(A, B), C) 36.75/10.30 U1_ga(A, B, C, s2_out_ga(plus(plus(A, B), C), D)) -> s2_out_ga(plus(A, plus(B, C)), D) 36.75/10.30 36.75/10.30 The set Q consists of the following terms: 36.75/10.30 36.75/10.30 s2_in_ga(x0) 36.75/10.30 isNat_in_g(x0) 36.75/10.30 U9_g(x0, x1) 36.75/10.30 U6_ga(x0, x1, x2) 36.75/10.30 U7_ga(x0, x1, x2) 36.75/10.30 U3_ga(x0, x1, x2) 36.75/10.30 U4_ga(x0, x1, x2, x3) 36.75/10.30 U5_ga(x0, x1, x2) 36.75/10.30 U2_ga(x0, x1, x2) 36.75/10.30 U1_ga(x0, x1, x2, x3) 36.75/10.30 36.75/10.30 We have to consider all (P,Q,R)-chains. 36.75/10.30 ---------------------------------------- 36.75/10.30 36.75/10.30 (34) DependencyGraphProof (EQUIVALENT) 36.75/10.30 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 36.75/10.30 ---------------------------------------- 36.75/10.30 36.75/10.30 (35) 36.75/10.30 Obligation: 36.75/10.30 Q DP problem: 36.75/10.30 The TRS P consists of the following rules: 36.75/10.30 36.75/10.30 S2_IN_GA(plus(A, plus(B, C))) -> S2_IN_GA(plus(plus(A, B), C)) 36.75/10.30 S2_IN_GA(plus(A, B)) -> S2_IN_GA(plus(B, A)) 36.75/10.30 36.75/10.30 The TRS R consists of the following rules: 36.75/10.30 36.75/10.30 s2_in_ga(plus(A, plus(B, C))) -> U1_ga(A, B, C, s2_in_ga(plus(plus(A, B), C))) 36.75/10.30 s2_in_ga(plus(A, B)) -> U2_ga(A, B, s2_in_ga(plus(B, A))) 36.75/10.30 s2_in_ga(plus(X, Y)) -> U3_ga(X, Y, s2_in_ga(X)) 36.75/10.30 s2_in_ga(plus(A, B)) -> U6_ga(A, B, isNat_in_g(A)) 36.75/10.30 isNat_in_g(s(X)) -> U9_g(X, isNat_in_g(X)) 36.75/10.30 isNat_in_g(0) -> isNat_out_g(0) 36.75/10.30 U6_ga(A, B, isNat_out_g(A)) -> U7_ga(A, B, isNat_in_g(B)) 36.75/10.30 U9_g(X, isNat_out_g(X)) -> isNat_out_g(s(X)) 36.75/10.30 U3_ga(X, Y, s2_out_ga(X, A)) -> U4_ga(X, Y, A, s2_in_ga(Y)) 36.75/10.30 U4_ga(X, Y, A, s2_out_ga(Y, B)) -> U5_ga(X, Y, s2_in_ga(plus(A, B))) 36.75/10.30 U5_ga(X, Y, s2_out_ga(plus(A, B), Z)) -> s2_out_ga(plus(X, Y), Z) 36.75/10.30 U2_ga(A, B, s2_out_ga(plus(B, A), C)) -> s2_out_ga(plus(A, B), C) 36.75/10.30 U1_ga(A, B, C, s2_out_ga(plus(plus(A, B), C), D)) -> s2_out_ga(plus(A, plus(B, C)), D) 36.75/10.30 36.75/10.30 The set Q consists of the following terms: 36.75/10.30 36.75/10.30 s2_in_ga(x0) 36.75/10.30 isNat_in_g(x0) 36.75/10.30 U9_g(x0, x1) 36.75/10.30 U6_ga(x0, x1, x2) 36.75/10.30 U7_ga(x0, x1, x2) 36.75/10.30 U3_ga(x0, x1, x2) 36.75/10.30 U4_ga(x0, x1, x2, x3) 36.75/10.30 U5_ga(x0, x1, x2) 36.75/10.30 U2_ga(x0, x1, x2) 36.75/10.30 U1_ga(x0, x1, x2, x3) 36.75/10.30 36.75/10.30 We have to consider all (P,Q,R)-chains. 36.75/10.30 ---------------------------------------- 36.75/10.30 36.75/10.30 (36) UsableRulesProof (EQUIVALENT) 36.75/10.30 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. 36.75/10.30 ---------------------------------------- 36.75/10.30 36.75/10.30 (37) 36.75/10.30 Obligation: 36.75/10.30 Q DP problem: 36.75/10.30 The TRS P consists of the following rules: 36.75/10.30 36.75/10.30 S2_IN_GA(plus(A, plus(B, C))) -> S2_IN_GA(plus(plus(A, B), C)) 36.75/10.30 S2_IN_GA(plus(A, B)) -> S2_IN_GA(plus(B, A)) 36.75/10.30 36.75/10.30 R is empty. 36.75/10.30 The set Q consists of the following terms: 36.75/10.30 36.75/10.30 s2_in_ga(x0) 36.75/10.30 isNat_in_g(x0) 36.75/10.30 U9_g(x0, x1) 36.75/10.30 U6_ga(x0, x1, x2) 36.93/10.30 U7_ga(x0, x1, x2) 36.93/10.30 U3_ga(x0, x1, x2) 36.93/10.30 U4_ga(x0, x1, x2, x3) 36.93/10.30 U5_ga(x0, x1, x2) 36.93/10.30 U2_ga(x0, x1, x2) 36.93/10.30 U1_ga(x0, x1, x2, x3) 36.93/10.30 36.93/10.30 We have to consider all (P,Q,R)-chains. 36.93/10.30 ---------------------------------------- 36.93/10.30 36.93/10.30 (38) QReductionProof (EQUIVALENT) 36.93/10.30 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 36.93/10.30 36.93/10.30 s2_in_ga(x0) 36.93/10.30 isNat_in_g(x0) 36.93/10.30 U9_g(x0, x1) 36.93/10.30 U6_ga(x0, x1, x2) 36.93/10.30 U7_ga(x0, x1, x2) 36.93/10.30 U3_ga(x0, x1, x2) 36.93/10.30 U4_ga(x0, x1, x2, x3) 36.93/10.30 U5_ga(x0, x1, x2) 36.93/10.30 U2_ga(x0, x1, x2) 36.93/10.30 U1_ga(x0, x1, x2, x3) 36.93/10.30 36.93/10.30 36.93/10.30 ---------------------------------------- 36.93/10.30 36.93/10.30 (39) 36.93/10.30 Obligation: 36.93/10.30 Q DP problem: 36.93/10.30 The TRS P consists of the following rules: 36.93/10.30 36.93/10.30 S2_IN_GA(plus(A, plus(B, C))) -> S2_IN_GA(plus(plus(A, B), C)) 36.93/10.30 S2_IN_GA(plus(A, B)) -> S2_IN_GA(plus(B, A)) 36.93/10.30 36.93/10.30 R is empty. 36.93/10.30 Q is empty. 36.93/10.30 We have to consider all (P,Q,R)-chains. 36.93/10.30 ---------------------------------------- 36.93/10.30 36.93/10.30 (40) PrologToPiTRSProof (SOUND) 36.93/10.30 We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: 36.93/10.30 36.93/10.30 s2_in_2: (b,f) 36.93/10.30 36.93/10.30 isNat_in_1: (b) 36.93/10.30 36.93/10.30 add_in_3: (b,b,f) 36.93/10.30 36.93/10.30 Transforming Prolog into the following Term Rewriting System: 36.93/10.30 36.93/10.30 Pi-finite rewrite system: 36.93/10.30 The TRS R consists of the following rules: 36.93/10.30 36.93/10.30 s2_in_ga(plus(A, plus(B, C)), D) -> U1_ga(A, B, C, D, s2_in_ga(plus(plus(A, B), C), D)) 36.93/10.30 s2_in_ga(plus(A, B), C) -> U2_ga(A, B, C, s2_in_ga(plus(B, A), C)) 36.93/10.30 s2_in_ga(plus(X, 0), X) -> s2_out_ga(plus(X, 0), X) 36.93/10.30 s2_in_ga(plus(X, Y), Z) -> U3_ga(X, Y, Z, s2_in_ga(X, A)) 36.93/10.30 s2_in_ga(plus(A, B), C) -> U6_ga(A, B, C, isNat_in_g(A)) 36.93/10.30 isNat_in_g(s(X)) -> U9_g(X, isNat_in_g(X)) 36.93/10.30 isNat_in_g(0) -> isNat_out_g(0) 36.93/10.30 U9_g(X, isNat_out_g(X)) -> isNat_out_g(s(X)) 36.93/10.30 U6_ga(A, B, C, isNat_out_g(A)) -> U7_ga(A, B, C, isNat_in_g(B)) 36.93/10.30 U7_ga(A, B, C, isNat_out_g(B)) -> U8_ga(A, B, C, add_in_gga(A, B, C)) 36.93/10.30 add_in_gga(s(X), Y, s(Z)) -> U10_gga(X, Y, Z, add_in_gga(X, Y, Z)) 36.93/10.30 add_in_gga(0, X, X) -> add_out_gga(0, X, X) 36.93/10.30 U10_gga(X, Y, Z, add_out_gga(X, Y, Z)) -> add_out_gga(s(X), Y, s(Z)) 36.93/10.30 U8_ga(A, B, C, add_out_gga(A, B, C)) -> s2_out_ga(plus(A, B), C) 36.93/10.30 U3_ga(X, Y, Z, s2_out_ga(X, A)) -> U4_ga(X, Y, Z, A, s2_in_ga(Y, B)) 36.93/10.30 U4_ga(X, Y, Z, A, s2_out_ga(Y, B)) -> U5_ga(X, Y, Z, s2_in_ga(plus(A, B), Z)) 36.93/10.30 U5_ga(X, Y, Z, s2_out_ga(plus(A, B), Z)) -> s2_out_ga(plus(X, Y), Z) 36.93/10.30 U2_ga(A, B, C, s2_out_ga(plus(B, A), C)) -> s2_out_ga(plus(A, B), C) 36.93/10.30 U1_ga(A, B, C, D, s2_out_ga(plus(plus(A, B), C), D)) -> s2_out_ga(plus(A, plus(B, C)), D) 36.93/10.30 36.93/10.30 The argument filtering Pi contains the following mapping: 36.93/10.30 s2_in_ga(x1, x2) = s2_in_ga(x1) 36.93/10.30 36.93/10.30 plus(x1, x2) = plus(x1, x2) 36.93/10.30 36.93/10.30 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x5) 36.93/10.30 36.93/10.30 U2_ga(x1, x2, x3, x4) = U2_ga(x4) 36.93/10.30 36.93/10.30 0 = 0 36.93/10.30 36.93/10.30 s2_out_ga(x1, x2) = s2_out_ga(x2) 36.93/10.30 36.93/10.30 U3_ga(x1, x2, x3, x4) = U3_ga(x2, x4) 36.93/10.30 36.93/10.30 U6_ga(x1, x2, x3, x4) = U6_ga(x1, x2, x4) 36.93/10.30 36.93/10.30 isNat_in_g(x1) = isNat_in_g(x1) 36.93/10.30 36.93/10.30 s(x1) = s(x1) 36.93/10.30 36.93/10.30 U9_g(x1, x2) = U9_g(x2) 36.93/10.30 36.93/10.30 isNat_out_g(x1) = isNat_out_g 36.93/10.30 36.93/10.30 U7_ga(x1, x2, x3, x4) = U7_ga(x1, x2, x4) 36.93/10.30 36.93/10.30 U8_ga(x1, x2, x3, x4) = U8_ga(x4) 36.93/10.30 36.93/10.30 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 36.93/10.30 36.93/10.30 U10_gga(x1, x2, x3, x4) = U10_gga(x4) 36.93/10.30 36.93/10.30 add_out_gga(x1, x2, x3) = add_out_gga(x3) 36.93/10.30 36.93/10.30 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x4, x5) 36.93/10.30 36.93/10.30 U5_ga(x1, x2, x3, x4) = U5_ga(x4) 36.93/10.30 36.93/10.30 36.93/10.30 36.93/10.30 36.93/10.30 36.93/10.30 Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog 36.93/10.30 36.93/10.30 36.93/10.30 36.93/10.30 ---------------------------------------- 36.93/10.30 36.93/10.30 (41) 36.93/10.30 Obligation: 36.93/10.30 Pi-finite rewrite system: 36.93/10.30 The TRS R consists of the following rules: 36.93/10.30 36.93/10.30 s2_in_ga(plus(A, plus(B, C)), D) -> U1_ga(A, B, C, D, s2_in_ga(plus(plus(A, B), C), D)) 36.93/10.30 s2_in_ga(plus(A, B), C) -> U2_ga(A, B, C, s2_in_ga(plus(B, A), C)) 36.93/10.30 s2_in_ga(plus(X, 0), X) -> s2_out_ga(plus(X, 0), X) 36.93/10.30 s2_in_ga(plus(X, Y), Z) -> U3_ga(X, Y, Z, s2_in_ga(X, A)) 36.93/10.30 s2_in_ga(plus(A, B), C) -> U6_ga(A, B, C, isNat_in_g(A)) 36.93/10.30 isNat_in_g(s(X)) -> U9_g(X, isNat_in_g(X)) 36.93/10.30 isNat_in_g(0) -> isNat_out_g(0) 36.93/10.30 U9_g(X, isNat_out_g(X)) -> isNat_out_g(s(X)) 36.93/10.30 U6_ga(A, B, C, isNat_out_g(A)) -> U7_ga(A, B, C, isNat_in_g(B)) 36.93/10.30 U7_ga(A, B, C, isNat_out_g(B)) -> U8_ga(A, B, C, add_in_gga(A, B, C)) 36.93/10.30 add_in_gga(s(X), Y, s(Z)) -> U10_gga(X, Y, Z, add_in_gga(X, Y, Z)) 36.93/10.31 add_in_gga(0, X, X) -> add_out_gga(0, X, X) 36.93/10.31 U10_gga(X, Y, Z, add_out_gga(X, Y, Z)) -> add_out_gga(s(X), Y, s(Z)) 36.93/10.31 U8_ga(A, B, C, add_out_gga(A, B, C)) -> s2_out_ga(plus(A, B), C) 36.93/10.31 U3_ga(X, Y, Z, s2_out_ga(X, A)) -> U4_ga(X, Y, Z, A, s2_in_ga(Y, B)) 36.93/10.31 U4_ga(X, Y, Z, A, s2_out_ga(Y, B)) -> U5_ga(X, Y, Z, s2_in_ga(plus(A, B), Z)) 36.93/10.31 U5_ga(X, Y, Z, s2_out_ga(plus(A, B), Z)) -> s2_out_ga(plus(X, Y), Z) 36.93/10.31 U2_ga(A, B, C, s2_out_ga(plus(B, A), C)) -> s2_out_ga(plus(A, B), C) 36.93/10.31 U1_ga(A, B, C, D, s2_out_ga(plus(plus(A, B), C), D)) -> s2_out_ga(plus(A, plus(B, C)), D) 36.93/10.31 36.93/10.31 The argument filtering Pi contains the following mapping: 36.93/10.31 s2_in_ga(x1, x2) = s2_in_ga(x1) 36.93/10.31 36.93/10.31 plus(x1, x2) = plus(x1, x2) 36.93/10.31 36.93/10.31 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x5) 36.93/10.31 36.93/10.31 U2_ga(x1, x2, x3, x4) = U2_ga(x4) 36.93/10.31 36.93/10.31 0 = 0 36.93/10.31 36.93/10.31 s2_out_ga(x1, x2) = s2_out_ga(x2) 36.93/10.31 36.93/10.31 U3_ga(x1, x2, x3, x4) = U3_ga(x2, x4) 36.93/10.31 36.93/10.31 U6_ga(x1, x2, x3, x4) = U6_ga(x1, x2, x4) 36.93/10.31 36.93/10.31 isNat_in_g(x1) = isNat_in_g(x1) 36.93/10.31 36.93/10.31 s(x1) = s(x1) 36.93/10.31 36.93/10.31 U9_g(x1, x2) = U9_g(x2) 36.93/10.31 36.93/10.31 isNat_out_g(x1) = isNat_out_g 36.93/10.31 36.93/10.31 U7_ga(x1, x2, x3, x4) = U7_ga(x1, x2, x4) 36.93/10.31 36.93/10.31 U8_ga(x1, x2, x3, x4) = U8_ga(x4) 36.93/10.31 36.93/10.31 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 36.93/10.31 36.93/10.31 U10_gga(x1, x2, x3, x4) = U10_gga(x4) 36.93/10.31 36.93/10.31 add_out_gga(x1, x2, x3) = add_out_gga(x3) 36.93/10.31 36.93/10.31 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x4, x5) 36.93/10.31 36.93/10.31 U5_ga(x1, x2, x3, x4) = U5_ga(x4) 36.93/10.31 36.93/10.31 36.93/10.31 36.93/10.31 ---------------------------------------- 36.93/10.31 36.93/10.31 (42) DependencyPairsProof (EQUIVALENT) 36.93/10.31 Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: 36.93/10.31 Pi DP problem: 36.93/10.31 The TRS P consists of the following rules: 36.93/10.31 36.93/10.31 S2_IN_GA(plus(A, plus(B, C)), D) -> U1_GA(A, B, C, D, s2_in_ga(plus(plus(A, B), C), D)) 36.93/10.31 S2_IN_GA(plus(A, plus(B, C)), D) -> S2_IN_GA(plus(plus(A, B), C), D) 36.93/10.31 S2_IN_GA(plus(A, B), C) -> U2_GA(A, B, C, s2_in_ga(plus(B, A), C)) 36.93/10.31 S2_IN_GA(plus(A, B), C) -> S2_IN_GA(plus(B, A), C) 36.93/10.31 S2_IN_GA(plus(X, Y), Z) -> U3_GA(X, Y, Z, s2_in_ga(X, A)) 36.93/10.31 S2_IN_GA(plus(X, Y), Z) -> S2_IN_GA(X, A) 36.93/10.31 S2_IN_GA(plus(A, B), C) -> U6_GA(A, B, C, isNat_in_g(A)) 36.93/10.31 S2_IN_GA(plus(A, B), C) -> ISNAT_IN_G(A) 36.93/10.31 ISNAT_IN_G(s(X)) -> U9_G(X, isNat_in_g(X)) 36.93/10.31 ISNAT_IN_G(s(X)) -> ISNAT_IN_G(X) 36.93/10.31 U6_GA(A, B, C, isNat_out_g(A)) -> U7_GA(A, B, C, isNat_in_g(B)) 36.93/10.31 U6_GA(A, B, C, isNat_out_g(A)) -> ISNAT_IN_G(B) 36.93/10.31 U7_GA(A, B, C, isNat_out_g(B)) -> U8_GA(A, B, C, add_in_gga(A, B, C)) 36.93/10.31 U7_GA(A, B, C, isNat_out_g(B)) -> ADD_IN_GGA(A, B, C) 36.93/10.31 ADD_IN_GGA(s(X), Y, s(Z)) -> U10_GGA(X, Y, Z, add_in_gga(X, Y, Z)) 36.93/10.31 ADD_IN_GGA(s(X), Y, s(Z)) -> ADD_IN_GGA(X, Y, Z) 36.93/10.31 U3_GA(X, Y, Z, s2_out_ga(X, A)) -> U4_GA(X, Y, Z, A, s2_in_ga(Y, B)) 36.93/10.31 U3_GA(X, Y, Z, s2_out_ga(X, A)) -> S2_IN_GA(Y, B) 36.93/10.31 U4_GA(X, Y, Z, A, s2_out_ga(Y, B)) -> U5_GA(X, Y, Z, s2_in_ga(plus(A, B), Z)) 36.93/10.31 U4_GA(X, Y, Z, A, s2_out_ga(Y, B)) -> S2_IN_GA(plus(A, B), Z) 36.93/10.31 36.93/10.31 The TRS R consists of the following rules: 36.93/10.31 36.93/10.31 s2_in_ga(plus(A, plus(B, C)), D) -> U1_ga(A, B, C, D, s2_in_ga(plus(plus(A, B), C), D)) 36.93/10.31 s2_in_ga(plus(A, B), C) -> U2_ga(A, B, C, s2_in_ga(plus(B, A), C)) 36.93/10.31 s2_in_ga(plus(X, 0), X) -> s2_out_ga(plus(X, 0), X) 36.93/10.31 s2_in_ga(plus(X, Y), Z) -> U3_ga(X, Y, Z, s2_in_ga(X, A)) 36.93/10.31 s2_in_ga(plus(A, B), C) -> U6_ga(A, B, C, isNat_in_g(A)) 36.93/10.31 isNat_in_g(s(X)) -> U9_g(X, isNat_in_g(X)) 36.93/10.31 isNat_in_g(0) -> isNat_out_g(0) 36.93/10.31 U9_g(X, isNat_out_g(X)) -> isNat_out_g(s(X)) 36.93/10.31 U6_ga(A, B, C, isNat_out_g(A)) -> U7_ga(A, B, C, isNat_in_g(B)) 36.93/10.31 U7_ga(A, B, C, isNat_out_g(B)) -> U8_ga(A, B, C, add_in_gga(A, B, C)) 36.93/10.31 add_in_gga(s(X), Y, s(Z)) -> U10_gga(X, Y, Z, add_in_gga(X, Y, Z)) 36.93/10.31 add_in_gga(0, X, X) -> add_out_gga(0, X, X) 36.93/10.31 U10_gga(X, Y, Z, add_out_gga(X, Y, Z)) -> add_out_gga(s(X), Y, s(Z)) 36.93/10.31 U8_ga(A, B, C, add_out_gga(A, B, C)) -> s2_out_ga(plus(A, B), C) 36.93/10.31 U3_ga(X, Y, Z, s2_out_ga(X, A)) -> U4_ga(X, Y, Z, A, s2_in_ga(Y, B)) 36.93/10.31 U4_ga(X, Y, Z, A, s2_out_ga(Y, B)) -> U5_ga(X, Y, Z, s2_in_ga(plus(A, B), Z)) 36.93/10.31 U5_ga(X, Y, Z, s2_out_ga(plus(A, B), Z)) -> s2_out_ga(plus(X, Y), Z) 36.93/10.31 U2_ga(A, B, C, s2_out_ga(plus(B, A), C)) -> s2_out_ga(plus(A, B), C) 36.93/10.31 U1_ga(A, B, C, D, s2_out_ga(plus(plus(A, B), C), D)) -> s2_out_ga(plus(A, plus(B, C)), D) 36.93/10.31 36.93/10.31 The argument filtering Pi contains the following mapping: 36.93/10.31 s2_in_ga(x1, x2) = s2_in_ga(x1) 36.93/10.31 36.93/10.31 plus(x1, x2) = plus(x1, x2) 36.93/10.31 36.93/10.31 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x5) 36.93/10.31 36.93/10.31 U2_ga(x1, x2, x3, x4) = U2_ga(x4) 36.93/10.31 36.93/10.31 0 = 0 36.93/10.31 36.93/10.31 s2_out_ga(x1, x2) = s2_out_ga(x2) 36.93/10.31 36.93/10.31 U3_ga(x1, x2, x3, x4) = U3_ga(x2, x4) 36.93/10.31 36.93/10.31 U6_ga(x1, x2, x3, x4) = U6_ga(x1, x2, x4) 36.93/10.31 36.93/10.31 isNat_in_g(x1) = isNat_in_g(x1) 36.93/10.31 36.93/10.31 s(x1) = s(x1) 36.93/10.31 36.93/10.31 U9_g(x1, x2) = U9_g(x2) 36.93/10.31 36.93/10.31 isNat_out_g(x1) = isNat_out_g 36.93/10.31 36.93/10.31 U7_ga(x1, x2, x3, x4) = U7_ga(x1, x2, x4) 36.93/10.31 36.93/10.31 U8_ga(x1, x2, x3, x4) = U8_ga(x4) 36.93/10.31 36.93/10.31 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 36.93/10.31 36.93/10.31 U10_gga(x1, x2, x3, x4) = U10_gga(x4) 36.93/10.31 36.93/10.31 add_out_gga(x1, x2, x3) = add_out_gga(x3) 36.93/10.31 36.93/10.31 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x4, x5) 36.93/10.31 36.93/10.31 U5_ga(x1, x2, x3, x4) = U5_ga(x4) 36.93/10.31 36.93/10.31 S2_IN_GA(x1, x2) = S2_IN_GA(x1) 36.93/10.31 36.93/10.31 U1_GA(x1, x2, x3, x4, x5) = U1_GA(x5) 36.93/10.31 36.93/10.31 U2_GA(x1, x2, x3, x4) = U2_GA(x4) 36.93/10.31 36.93/10.31 U3_GA(x1, x2, x3, x4) = U3_GA(x2, x4) 36.93/10.31 36.93/10.31 U6_GA(x1, x2, x3, x4) = U6_GA(x1, x2, x4) 36.93/10.31 36.93/10.31 ISNAT_IN_G(x1) = ISNAT_IN_G(x1) 36.93/10.31 36.93/10.31 U9_G(x1, x2) = U9_G(x2) 36.93/10.31 36.93/10.31 U7_GA(x1, x2, x3, x4) = U7_GA(x1, x2, x4) 36.93/10.31 36.93/10.31 U8_GA(x1, x2, x3, x4) = U8_GA(x4) 36.93/10.31 36.93/10.31 ADD_IN_GGA(x1, x2, x3) = ADD_IN_GGA(x1, x2) 36.93/10.31 36.93/10.31 U10_GGA(x1, x2, x3, x4) = U10_GGA(x4) 36.93/10.31 36.93/10.31 U4_GA(x1, x2, x3, x4, x5) = U4_GA(x4, x5) 36.93/10.31 36.93/10.31 U5_GA(x1, x2, x3, x4) = U5_GA(x4) 36.93/10.31 36.93/10.31 36.93/10.31 We have to consider all (P,R,Pi)-chains 36.93/10.31 ---------------------------------------- 36.93/10.31 36.93/10.31 (43) 36.93/10.31 Obligation: 36.93/10.31 Pi DP problem: 36.93/10.31 The TRS P consists of the following rules: 36.93/10.31 36.93/10.31 S2_IN_GA(plus(A, plus(B, C)), D) -> U1_GA(A, B, C, D, s2_in_ga(plus(plus(A, B), C), D)) 36.93/10.31 S2_IN_GA(plus(A, plus(B, C)), D) -> S2_IN_GA(plus(plus(A, B), C), D) 36.93/10.31 S2_IN_GA(plus(A, B), C) -> U2_GA(A, B, C, s2_in_ga(plus(B, A), C)) 36.93/10.31 S2_IN_GA(plus(A, B), C) -> S2_IN_GA(plus(B, A), C) 36.93/10.31 S2_IN_GA(plus(X, Y), Z) -> U3_GA(X, Y, Z, s2_in_ga(X, A)) 36.93/10.31 S2_IN_GA(plus(X, Y), Z) -> S2_IN_GA(X, A) 36.93/10.31 S2_IN_GA(plus(A, B), C) -> U6_GA(A, B, C, isNat_in_g(A)) 36.93/10.31 S2_IN_GA(plus(A, B), C) -> ISNAT_IN_G(A) 36.93/10.31 ISNAT_IN_G(s(X)) -> U9_G(X, isNat_in_g(X)) 36.93/10.31 ISNAT_IN_G(s(X)) -> ISNAT_IN_G(X) 36.93/10.31 U6_GA(A, B, C, isNat_out_g(A)) -> U7_GA(A, B, C, isNat_in_g(B)) 36.93/10.31 U6_GA(A, B, C, isNat_out_g(A)) -> ISNAT_IN_G(B) 36.93/10.31 U7_GA(A, B, C, isNat_out_g(B)) -> U8_GA(A, B, C, add_in_gga(A, B, C)) 36.93/10.31 U7_GA(A, B, C, isNat_out_g(B)) -> ADD_IN_GGA(A, B, C) 36.93/10.31 ADD_IN_GGA(s(X), Y, s(Z)) -> U10_GGA(X, Y, Z, add_in_gga(X, Y, Z)) 36.93/10.31 ADD_IN_GGA(s(X), Y, s(Z)) -> ADD_IN_GGA(X, Y, Z) 36.93/10.31 U3_GA(X, Y, Z, s2_out_ga(X, A)) -> U4_GA(X, Y, Z, A, s2_in_ga(Y, B)) 36.93/10.31 U3_GA(X, Y, Z, s2_out_ga(X, A)) -> S2_IN_GA(Y, B) 36.93/10.31 U4_GA(X, Y, Z, A, s2_out_ga(Y, B)) -> U5_GA(X, Y, Z, s2_in_ga(plus(A, B), Z)) 36.93/10.31 U4_GA(X, Y, Z, A, s2_out_ga(Y, B)) -> S2_IN_GA(plus(A, B), Z) 36.93/10.31 36.93/10.31 The TRS R consists of the following rules: 36.93/10.31 36.93/10.31 s2_in_ga(plus(A, plus(B, C)), D) -> U1_ga(A, B, C, D, s2_in_ga(plus(plus(A, B), C), D)) 36.93/10.31 s2_in_ga(plus(A, B), C) -> U2_ga(A, B, C, s2_in_ga(plus(B, A), C)) 36.93/10.31 s2_in_ga(plus(X, 0), X) -> s2_out_ga(plus(X, 0), X) 36.93/10.31 s2_in_ga(plus(X, Y), Z) -> U3_ga(X, Y, Z, s2_in_ga(X, A)) 36.93/10.31 s2_in_ga(plus(A, B), C) -> U6_ga(A, B, C, isNat_in_g(A)) 36.93/10.31 isNat_in_g(s(X)) -> U9_g(X, isNat_in_g(X)) 36.93/10.31 isNat_in_g(0) -> isNat_out_g(0) 36.93/10.31 U9_g(X, isNat_out_g(X)) -> isNat_out_g(s(X)) 36.93/10.31 U6_ga(A, B, C, isNat_out_g(A)) -> U7_ga(A, B, C, isNat_in_g(B)) 36.93/10.31 U7_ga(A, B, C, isNat_out_g(B)) -> U8_ga(A, B, C, add_in_gga(A, B, C)) 36.93/10.31 add_in_gga(s(X), Y, s(Z)) -> U10_gga(X, Y, Z, add_in_gga(X, Y, Z)) 36.93/10.31 add_in_gga(0, X, X) -> add_out_gga(0, X, X) 36.93/10.31 U10_gga(X, Y, Z, add_out_gga(X, Y, Z)) -> add_out_gga(s(X), Y, s(Z)) 36.93/10.31 U8_ga(A, B, C, add_out_gga(A, B, C)) -> s2_out_ga(plus(A, B), C) 36.93/10.31 U3_ga(X, Y, Z, s2_out_ga(X, A)) -> U4_ga(X, Y, Z, A, s2_in_ga(Y, B)) 36.93/10.31 U4_ga(X, Y, Z, A, s2_out_ga(Y, B)) -> U5_ga(X, Y, Z, s2_in_ga(plus(A, B), Z)) 36.93/10.31 U5_ga(X, Y, Z, s2_out_ga(plus(A, B), Z)) -> s2_out_ga(plus(X, Y), Z) 36.93/10.31 U2_ga(A, B, C, s2_out_ga(plus(B, A), C)) -> s2_out_ga(plus(A, B), C) 36.93/10.31 U1_ga(A, B, C, D, s2_out_ga(plus(plus(A, B), C), D)) -> s2_out_ga(plus(A, plus(B, C)), D) 36.93/10.31 36.93/10.31 The argument filtering Pi contains the following mapping: 36.93/10.31 s2_in_ga(x1, x2) = s2_in_ga(x1) 36.93/10.31 36.93/10.31 plus(x1, x2) = plus(x1, x2) 36.93/10.31 36.93/10.31 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x5) 36.93/10.31 36.93/10.31 U2_ga(x1, x2, x3, x4) = U2_ga(x4) 36.93/10.31 36.93/10.31 0 = 0 36.93/10.31 36.93/10.31 s2_out_ga(x1, x2) = s2_out_ga(x2) 36.93/10.31 36.93/10.31 U3_ga(x1, x2, x3, x4) = U3_ga(x2, x4) 36.93/10.31 36.93/10.31 U6_ga(x1, x2, x3, x4) = U6_ga(x1, x2, x4) 36.93/10.31 36.93/10.31 isNat_in_g(x1) = isNat_in_g(x1) 36.93/10.31 36.93/10.31 s(x1) = s(x1) 36.93/10.31 36.93/10.31 U9_g(x1, x2) = U9_g(x2) 36.93/10.31 36.93/10.31 isNat_out_g(x1) = isNat_out_g 36.93/10.31 36.93/10.31 U7_ga(x1, x2, x3, x4) = U7_ga(x1, x2, x4) 36.93/10.31 36.93/10.31 U8_ga(x1, x2, x3, x4) = U8_ga(x4) 36.93/10.31 36.93/10.31 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 36.93/10.31 36.93/10.31 U10_gga(x1, x2, x3, x4) = U10_gga(x4) 36.93/10.31 36.93/10.31 add_out_gga(x1, x2, x3) = add_out_gga(x3) 36.93/10.31 36.93/10.31 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x4, x5) 36.93/10.31 36.93/10.31 U5_ga(x1, x2, x3, x4) = U5_ga(x4) 36.93/10.31 36.93/10.31 S2_IN_GA(x1, x2) = S2_IN_GA(x1) 36.93/10.31 36.93/10.31 U1_GA(x1, x2, x3, x4, x5) = U1_GA(x5) 36.93/10.31 36.93/10.31 U2_GA(x1, x2, x3, x4) = U2_GA(x4) 36.93/10.31 36.93/10.31 U3_GA(x1, x2, x3, x4) = U3_GA(x2, x4) 36.93/10.31 36.93/10.31 U6_GA(x1, x2, x3, x4) = U6_GA(x1, x2, x4) 36.93/10.31 36.93/10.31 ISNAT_IN_G(x1) = ISNAT_IN_G(x1) 36.93/10.31 36.93/10.31 U9_G(x1, x2) = U9_G(x2) 36.93/10.31 36.93/10.31 U7_GA(x1, x2, x3, x4) = U7_GA(x1, x2, x4) 36.93/10.31 36.93/10.31 U8_GA(x1, x2, x3, x4) = U8_GA(x4) 36.93/10.31 36.93/10.31 ADD_IN_GGA(x1, x2, x3) = ADD_IN_GGA(x1, x2) 36.93/10.31 36.93/10.31 U10_GGA(x1, x2, x3, x4) = U10_GGA(x4) 36.93/10.31 36.93/10.31 U4_GA(x1, x2, x3, x4, x5) = U4_GA(x4, x5) 36.93/10.31 36.93/10.31 U5_GA(x1, x2, x3, x4) = U5_GA(x4) 36.93/10.31 36.93/10.31 36.93/10.31 We have to consider all (P,R,Pi)-chains 36.93/10.31 ---------------------------------------- 36.93/10.31 36.93/10.31 (44) DependencyGraphProof (EQUIVALENT) 36.93/10.31 The approximation of the Dependency Graph [LOPSTR] contains 3 SCCs with 11 less nodes. 36.93/10.31 ---------------------------------------- 36.93/10.31 36.93/10.31 (45) 36.93/10.31 Complex Obligation (AND) 36.93/10.31 36.93/10.31 ---------------------------------------- 36.93/10.31 36.93/10.31 (46) 36.93/10.31 Obligation: 36.93/10.31 Pi DP problem: 36.93/10.31 The TRS P consists of the following rules: 36.93/10.31 36.93/10.31 ADD_IN_GGA(s(X), Y, s(Z)) -> ADD_IN_GGA(X, Y, Z) 36.93/10.31 36.93/10.31 The TRS R consists of the following rules: 36.93/10.31 36.93/10.31 s2_in_ga(plus(A, plus(B, C)), D) -> U1_ga(A, B, C, D, s2_in_ga(plus(plus(A, B), C), D)) 36.93/10.31 s2_in_ga(plus(A, B), C) -> U2_ga(A, B, C, s2_in_ga(plus(B, A), C)) 36.93/10.31 s2_in_ga(plus(X, 0), X) -> s2_out_ga(plus(X, 0), X) 36.93/10.31 s2_in_ga(plus(X, Y), Z) -> U3_ga(X, Y, Z, s2_in_ga(X, A)) 36.93/10.31 s2_in_ga(plus(A, B), C) -> U6_ga(A, B, C, isNat_in_g(A)) 36.93/10.31 isNat_in_g(s(X)) -> U9_g(X, isNat_in_g(X)) 36.93/10.31 isNat_in_g(0) -> isNat_out_g(0) 36.93/10.31 U9_g(X, isNat_out_g(X)) -> isNat_out_g(s(X)) 36.93/10.31 U6_ga(A, B, C, isNat_out_g(A)) -> U7_ga(A, B, C, isNat_in_g(B)) 36.93/10.31 U7_ga(A, B, C, isNat_out_g(B)) -> U8_ga(A, B, C, add_in_gga(A, B, C)) 36.93/10.31 add_in_gga(s(X), Y, s(Z)) -> U10_gga(X, Y, Z, add_in_gga(X, Y, Z)) 36.93/10.31 add_in_gga(0, X, X) -> add_out_gga(0, X, X) 36.93/10.31 U10_gga(X, Y, Z, add_out_gga(X, Y, Z)) -> add_out_gga(s(X), Y, s(Z)) 36.93/10.31 U8_ga(A, B, C, add_out_gga(A, B, C)) -> s2_out_ga(plus(A, B), C) 36.93/10.31 U3_ga(X, Y, Z, s2_out_ga(X, A)) -> U4_ga(X, Y, Z, A, s2_in_ga(Y, B)) 36.93/10.31 U4_ga(X, Y, Z, A, s2_out_ga(Y, B)) -> U5_ga(X, Y, Z, s2_in_ga(plus(A, B), Z)) 36.93/10.31 U5_ga(X, Y, Z, s2_out_ga(plus(A, B), Z)) -> s2_out_ga(plus(X, Y), Z) 36.93/10.31 U2_ga(A, B, C, s2_out_ga(plus(B, A), C)) -> s2_out_ga(plus(A, B), C) 36.93/10.31 U1_ga(A, B, C, D, s2_out_ga(plus(plus(A, B), C), D)) -> s2_out_ga(plus(A, plus(B, C)), D) 36.93/10.31 36.93/10.31 The argument filtering Pi contains the following mapping: 36.93/10.31 s2_in_ga(x1, x2) = s2_in_ga(x1) 36.93/10.31 36.93/10.31 plus(x1, x2) = plus(x1, x2) 36.93/10.31 36.93/10.31 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x5) 36.93/10.31 36.93/10.31 U2_ga(x1, x2, x3, x4) = U2_ga(x4) 36.93/10.31 36.93/10.31 0 = 0 36.93/10.31 36.93/10.31 s2_out_ga(x1, x2) = s2_out_ga(x2) 36.93/10.31 36.93/10.31 U3_ga(x1, x2, x3, x4) = U3_ga(x2, x4) 36.93/10.31 36.93/10.31 U6_ga(x1, x2, x3, x4) = U6_ga(x1, x2, x4) 36.93/10.31 36.93/10.31 isNat_in_g(x1) = isNat_in_g(x1) 36.93/10.31 36.93/10.31 s(x1) = s(x1) 36.93/10.31 36.93/10.31 U9_g(x1, x2) = U9_g(x2) 36.93/10.31 36.93/10.31 isNat_out_g(x1) = isNat_out_g 36.93/10.31 36.93/10.31 U7_ga(x1, x2, x3, x4) = U7_ga(x1, x2, x4) 36.93/10.31 36.93/10.31 U8_ga(x1, x2, x3, x4) = U8_ga(x4) 36.93/10.31 36.93/10.31 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 36.93/10.31 36.93/10.31 U10_gga(x1, x2, x3, x4) = U10_gga(x4) 36.93/10.31 36.93/10.31 add_out_gga(x1, x2, x3) = add_out_gga(x3) 36.93/10.31 36.93/10.31 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x4, x5) 36.93/10.31 36.93/10.31 U5_ga(x1, x2, x3, x4) = U5_ga(x4) 36.93/10.31 36.93/10.31 ADD_IN_GGA(x1, x2, x3) = ADD_IN_GGA(x1, x2) 36.93/10.31 36.93/10.31 36.93/10.31 We have to consider all (P,R,Pi)-chains 36.93/10.31 ---------------------------------------- 36.93/10.31 36.93/10.31 (47) UsableRulesProof (EQUIVALENT) 36.93/10.31 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 36.93/10.31 ---------------------------------------- 36.93/10.31 36.93/10.31 (48) 36.93/10.31 Obligation: 36.93/10.31 Pi DP problem: 36.93/10.31 The TRS P consists of the following rules: 36.93/10.31 36.93/10.31 ADD_IN_GGA(s(X), Y, s(Z)) -> ADD_IN_GGA(X, Y, Z) 36.93/10.31 36.93/10.31 R is empty. 36.93/10.31 The argument filtering Pi contains the following mapping: 36.93/10.31 s(x1) = s(x1) 36.93/10.31 36.93/10.31 ADD_IN_GGA(x1, x2, x3) = ADD_IN_GGA(x1, x2) 36.93/10.31 36.93/10.31 36.93/10.31 We have to consider all (P,R,Pi)-chains 36.93/10.31 ---------------------------------------- 36.93/10.31 36.93/10.31 (49) PiDPToQDPProof (SOUND) 36.93/10.31 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 36.93/10.31 ---------------------------------------- 36.93/10.31 36.93/10.31 (50) 36.93/10.31 Obligation: 36.93/10.31 Q DP problem: 36.93/10.31 The TRS P consists of the following rules: 36.93/10.31 36.93/10.31 ADD_IN_GGA(s(X), Y) -> ADD_IN_GGA(X, Y) 36.93/10.31 36.93/10.31 R is empty. 36.93/10.31 Q is empty. 36.93/10.31 We have to consider all (P,Q,R)-chains. 36.93/10.31 ---------------------------------------- 36.93/10.31 36.93/10.31 (51) QDPSizeChangeProof (EQUIVALENT) 36.93/10.31 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. 36.93/10.31 36.93/10.31 From the DPs we obtained the following set of size-change graphs: 36.93/10.31 *ADD_IN_GGA(s(X), Y) -> ADD_IN_GGA(X, Y) 36.93/10.31 The graph contains the following edges 1 > 1, 2 >= 2 36.93/10.31 36.93/10.31 36.93/10.31 ---------------------------------------- 36.93/10.31 36.93/10.31 (52) 36.93/10.31 YES 36.93/10.31 36.93/10.31 ---------------------------------------- 36.93/10.31 36.93/10.31 (53) 36.93/10.31 Obligation: 36.93/10.31 Pi DP problem: 36.93/10.31 The TRS P consists of the following rules: 36.93/10.31 36.93/10.31 ISNAT_IN_G(s(X)) -> ISNAT_IN_G(X) 36.93/10.31 36.93/10.31 The TRS R consists of the following rules: 36.93/10.31 36.93/10.31 s2_in_ga(plus(A, plus(B, C)), D) -> U1_ga(A, B, C, D, s2_in_ga(plus(plus(A, B), C), D)) 36.93/10.31 s2_in_ga(plus(A, B), C) -> U2_ga(A, B, C, s2_in_ga(plus(B, A), C)) 36.93/10.31 s2_in_ga(plus(X, 0), X) -> s2_out_ga(plus(X, 0), X) 36.93/10.31 s2_in_ga(plus(X, Y), Z) -> U3_ga(X, Y, Z, s2_in_ga(X, A)) 36.93/10.31 s2_in_ga(plus(A, B), C) -> U6_ga(A, B, C, isNat_in_g(A)) 36.93/10.31 isNat_in_g(s(X)) -> U9_g(X, isNat_in_g(X)) 36.93/10.31 isNat_in_g(0) -> isNat_out_g(0) 36.93/10.31 U9_g(X, isNat_out_g(X)) -> isNat_out_g(s(X)) 36.93/10.31 U6_ga(A, B, C, isNat_out_g(A)) -> U7_ga(A, B, C, isNat_in_g(B)) 36.93/10.31 U7_ga(A, B, C, isNat_out_g(B)) -> U8_ga(A, B, C, add_in_gga(A, B, C)) 36.93/10.31 add_in_gga(s(X), Y, s(Z)) -> U10_gga(X, Y, Z, add_in_gga(X, Y, Z)) 36.93/10.31 add_in_gga(0, X, X) -> add_out_gga(0, X, X) 36.93/10.31 U10_gga(X, Y, Z, add_out_gga(X, Y, Z)) -> add_out_gga(s(X), Y, s(Z)) 36.93/10.31 U8_ga(A, B, C, add_out_gga(A, B, C)) -> s2_out_ga(plus(A, B), C) 36.93/10.32 U3_ga(X, Y, Z, s2_out_ga(X, A)) -> U4_ga(X, Y, Z, A, s2_in_ga(Y, B)) 36.93/10.32 U4_ga(X, Y, Z, A, s2_out_ga(Y, B)) -> U5_ga(X, Y, Z, s2_in_ga(plus(A, B), Z)) 36.93/10.32 U5_ga(X, Y, Z, s2_out_ga(plus(A, B), Z)) -> s2_out_ga(plus(X, Y), Z) 36.93/10.32 U2_ga(A, B, C, s2_out_ga(plus(B, A), C)) -> s2_out_ga(plus(A, B), C) 36.93/10.32 U1_ga(A, B, C, D, s2_out_ga(plus(plus(A, B), C), D)) -> s2_out_ga(plus(A, plus(B, C)), D) 36.93/10.32 36.93/10.32 The argument filtering Pi contains the following mapping: 36.93/10.32 s2_in_ga(x1, x2) = s2_in_ga(x1) 36.93/10.32 36.93/10.32 plus(x1, x2) = plus(x1, x2) 36.93/10.32 36.93/10.32 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x5) 36.93/10.32 36.93/10.32 U2_ga(x1, x2, x3, x4) = U2_ga(x4) 36.93/10.32 36.93/10.32 0 = 0 36.93/10.32 36.93/10.32 s2_out_ga(x1, x2) = s2_out_ga(x2) 36.93/10.32 36.93/10.32 U3_ga(x1, x2, x3, x4) = U3_ga(x2, x4) 36.93/10.32 36.93/10.32 U6_ga(x1, x2, x3, x4) = U6_ga(x1, x2, x4) 36.93/10.32 36.93/10.32 isNat_in_g(x1) = isNat_in_g(x1) 36.93/10.32 36.93/10.32 s(x1) = s(x1) 36.93/10.32 36.93/10.32 U9_g(x1, x2) = U9_g(x2) 36.93/10.32 36.93/10.32 isNat_out_g(x1) = isNat_out_g 36.93/10.32 36.93/10.32 U7_ga(x1, x2, x3, x4) = U7_ga(x1, x2, x4) 36.93/10.32 36.93/10.32 U8_ga(x1, x2, x3, x4) = U8_ga(x4) 36.93/10.32 36.93/10.32 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 36.93/10.32 36.93/10.32 U10_gga(x1, x2, x3, x4) = U10_gga(x4) 36.93/10.32 36.93/10.32 add_out_gga(x1, x2, x3) = add_out_gga(x3) 36.93/10.32 36.93/10.32 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x4, x5) 36.93/10.32 36.93/10.32 U5_ga(x1, x2, x3, x4) = U5_ga(x4) 36.93/10.32 36.93/10.32 ISNAT_IN_G(x1) = ISNAT_IN_G(x1) 36.93/10.32 36.93/10.32 36.93/10.32 We have to consider all (P,R,Pi)-chains 36.93/10.32 ---------------------------------------- 36.93/10.32 36.93/10.32 (54) UsableRulesProof (EQUIVALENT) 36.93/10.32 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 36.93/10.32 ---------------------------------------- 36.93/10.32 36.93/10.32 (55) 36.93/10.32 Obligation: 36.93/10.32 Pi DP problem: 36.93/10.32 The TRS P consists of the following rules: 36.93/10.32 36.93/10.32 ISNAT_IN_G(s(X)) -> ISNAT_IN_G(X) 36.93/10.32 36.93/10.32 R is empty. 36.93/10.32 Pi is empty. 36.93/10.32 We have to consider all (P,R,Pi)-chains 36.93/10.32 ---------------------------------------- 36.93/10.32 36.93/10.32 (56) PiDPToQDPProof (EQUIVALENT) 36.93/10.32 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 36.93/10.32 ---------------------------------------- 36.93/10.32 36.93/10.32 (57) 36.93/10.32 Obligation: 36.93/10.32 Q DP problem: 36.93/10.32 The TRS P consists of the following rules: 36.93/10.32 36.93/10.32 ISNAT_IN_G(s(X)) -> ISNAT_IN_G(X) 36.93/10.32 36.93/10.32 R is empty. 36.93/10.32 Q is empty. 36.93/10.32 We have to consider all (P,Q,R)-chains. 36.93/10.32 ---------------------------------------- 36.93/10.32 36.93/10.32 (58) QDPSizeChangeProof (EQUIVALENT) 36.93/10.32 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. 36.93/10.32 36.93/10.32 From the DPs we obtained the following set of size-change graphs: 36.93/10.32 *ISNAT_IN_G(s(X)) -> ISNAT_IN_G(X) 36.93/10.32 The graph contains the following edges 1 > 1 36.93/10.32 36.93/10.32 36.93/10.32 ---------------------------------------- 36.93/10.32 36.93/10.32 (59) 36.93/10.32 YES 36.93/10.32 36.93/10.32 ---------------------------------------- 36.93/10.32 36.93/10.32 (60) 36.93/10.32 Obligation: 36.93/10.32 Pi DP problem: 36.93/10.32 The TRS P consists of the following rules: 36.93/10.32 36.93/10.32 S2_IN_GA(plus(A, B), C) -> S2_IN_GA(plus(B, A), C) 36.93/10.32 S2_IN_GA(plus(A, plus(B, C)), D) -> S2_IN_GA(plus(plus(A, B), C), D) 36.93/10.32 S2_IN_GA(plus(X, Y), Z) -> U3_GA(X, Y, Z, s2_in_ga(X, A)) 36.93/10.32 U3_GA(X, Y, Z, s2_out_ga(X, A)) -> U4_GA(X, Y, Z, A, s2_in_ga(Y, B)) 36.93/10.32 U4_GA(X, Y, Z, A, s2_out_ga(Y, B)) -> S2_IN_GA(plus(A, B), Z) 36.93/10.32 S2_IN_GA(plus(X, Y), Z) -> S2_IN_GA(X, A) 36.93/10.32 U3_GA(X, Y, Z, s2_out_ga(X, A)) -> S2_IN_GA(Y, B) 36.93/10.32 36.93/10.32 The TRS R consists of the following rules: 36.93/10.32 36.93/10.32 s2_in_ga(plus(A, plus(B, C)), D) -> U1_ga(A, B, C, D, s2_in_ga(plus(plus(A, B), C), D)) 36.93/10.32 s2_in_ga(plus(A, B), C) -> U2_ga(A, B, C, s2_in_ga(plus(B, A), C)) 36.93/10.32 s2_in_ga(plus(X, 0), X) -> s2_out_ga(plus(X, 0), X) 36.93/10.32 s2_in_ga(plus(X, Y), Z) -> U3_ga(X, Y, Z, s2_in_ga(X, A)) 36.93/10.32 s2_in_ga(plus(A, B), C) -> U6_ga(A, B, C, isNat_in_g(A)) 36.93/10.32 isNat_in_g(s(X)) -> U9_g(X, isNat_in_g(X)) 36.93/10.32 isNat_in_g(0) -> isNat_out_g(0) 36.93/10.32 U9_g(X, isNat_out_g(X)) -> isNat_out_g(s(X)) 36.93/10.32 U6_ga(A, B, C, isNat_out_g(A)) -> U7_ga(A, B, C, isNat_in_g(B)) 36.93/10.32 U7_ga(A, B, C, isNat_out_g(B)) -> U8_ga(A, B, C, add_in_gga(A, B, C)) 36.93/10.32 add_in_gga(s(X), Y, s(Z)) -> U10_gga(X, Y, Z, add_in_gga(X, Y, Z)) 36.93/10.32 add_in_gga(0, X, X) -> add_out_gga(0, X, X) 36.93/10.32 U10_gga(X, Y, Z, add_out_gga(X, Y, Z)) -> add_out_gga(s(X), Y, s(Z)) 36.93/10.32 U8_ga(A, B, C, add_out_gga(A, B, C)) -> s2_out_ga(plus(A, B), C) 36.93/10.32 U3_ga(X, Y, Z, s2_out_ga(X, A)) -> U4_ga(X, Y, Z, A, s2_in_ga(Y, B)) 36.93/10.32 U4_ga(X, Y, Z, A, s2_out_ga(Y, B)) -> U5_ga(X, Y, Z, s2_in_ga(plus(A, B), Z)) 36.93/10.32 U5_ga(X, Y, Z, s2_out_ga(plus(A, B), Z)) -> s2_out_ga(plus(X, Y), Z) 36.93/10.32 U2_ga(A, B, C, s2_out_ga(plus(B, A), C)) -> s2_out_ga(plus(A, B), C) 36.93/10.32 U1_ga(A, B, C, D, s2_out_ga(plus(plus(A, B), C), D)) -> s2_out_ga(plus(A, plus(B, C)), D) 36.93/10.32 36.93/10.32 The argument filtering Pi contains the following mapping: 36.93/10.32 s2_in_ga(x1, x2) = s2_in_ga(x1) 36.93/10.32 36.93/10.32 plus(x1, x2) = plus(x1, x2) 36.93/10.32 36.93/10.32 U1_ga(x1, x2, x3, x4, x5) = U1_ga(x5) 36.93/10.32 36.93/10.32 U2_ga(x1, x2, x3, x4) = U2_ga(x4) 36.93/10.32 36.93/10.32 0 = 0 36.93/10.32 36.93/10.32 s2_out_ga(x1, x2) = s2_out_ga(x2) 36.93/10.32 36.93/10.32 U3_ga(x1, x2, x3, x4) = U3_ga(x2, x4) 36.93/10.32 36.93/10.32 U6_ga(x1, x2, x3, x4) = U6_ga(x1, x2, x4) 36.93/10.32 36.93/10.32 isNat_in_g(x1) = isNat_in_g(x1) 36.93/10.32 36.93/10.32 s(x1) = s(x1) 36.93/10.32 36.93/10.32 U9_g(x1, x2) = U9_g(x2) 36.93/10.32 36.93/10.32 isNat_out_g(x1) = isNat_out_g 36.93/10.32 36.93/10.32 U7_ga(x1, x2, x3, x4) = U7_ga(x1, x2, x4) 36.93/10.32 36.93/10.32 U8_ga(x1, x2, x3, x4) = U8_ga(x4) 36.93/10.32 36.93/10.32 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 36.93/10.32 36.93/10.32 U10_gga(x1, x2, x3, x4) = U10_gga(x4) 36.93/10.32 36.93/10.32 add_out_gga(x1, x2, x3) = add_out_gga(x3) 36.93/10.32 36.93/10.32 U4_ga(x1, x2, x3, x4, x5) = U4_ga(x4, x5) 36.93/10.32 36.93/10.32 U5_ga(x1, x2, x3, x4) = U5_ga(x4) 36.93/10.32 36.93/10.32 S2_IN_GA(x1, x2) = S2_IN_GA(x1) 36.93/10.32 36.93/10.32 U3_GA(x1, x2, x3, x4) = U3_GA(x2, x4) 36.93/10.32 36.93/10.32 U4_GA(x1, x2, x3, x4, x5) = U4_GA(x4, x5) 36.93/10.32 36.93/10.32 36.93/10.32 We have to consider all (P,R,Pi)-chains 36.93/10.32 ---------------------------------------- 36.93/10.32 36.93/10.32 (61) PiDPToQDPProof (SOUND) 36.93/10.32 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 36.93/10.32 ---------------------------------------- 36.93/10.32 36.93/10.32 (62) 36.93/10.32 Obligation: 36.93/10.32 Q DP problem: 36.93/10.32 The TRS P consists of the following rules: 36.93/10.32 36.93/10.32 S2_IN_GA(plus(A, B)) -> S2_IN_GA(plus(B, A)) 36.93/10.32 S2_IN_GA(plus(A, plus(B, C))) -> S2_IN_GA(plus(plus(A, B), C)) 36.93/10.32 S2_IN_GA(plus(X, Y)) -> U3_GA(Y, s2_in_ga(X)) 36.93/10.32 U3_GA(Y, s2_out_ga(A)) -> U4_GA(A, s2_in_ga(Y)) 36.93/10.32 U4_GA(A, s2_out_ga(B)) -> S2_IN_GA(plus(A, B)) 36.93/10.32 S2_IN_GA(plus(X, Y)) -> S2_IN_GA(X) 36.93/10.32 U3_GA(Y, s2_out_ga(A)) -> S2_IN_GA(Y) 36.93/10.32 36.93/10.32 The TRS R consists of the following rules: 36.93/10.32 36.93/10.32 s2_in_ga(plus(A, plus(B, C))) -> U1_ga(s2_in_ga(plus(plus(A, B), C))) 36.93/10.32 s2_in_ga(plus(A, B)) -> U2_ga(s2_in_ga(plus(B, A))) 36.93/10.32 s2_in_ga(plus(X, 0)) -> s2_out_ga(X) 36.93/10.32 s2_in_ga(plus(X, Y)) -> U3_ga(Y, s2_in_ga(X)) 36.93/10.32 s2_in_ga(plus(A, B)) -> U6_ga(A, B, isNat_in_g(A)) 36.93/10.32 isNat_in_g(s(X)) -> U9_g(isNat_in_g(X)) 36.93/10.32 isNat_in_g(0) -> isNat_out_g 36.93/10.32 U9_g(isNat_out_g) -> isNat_out_g 36.93/10.32 U6_ga(A, B, isNat_out_g) -> U7_ga(A, B, isNat_in_g(B)) 36.93/10.32 U7_ga(A, B, isNat_out_g) -> U8_ga(add_in_gga(A, B)) 36.93/10.32 add_in_gga(s(X), Y) -> U10_gga(add_in_gga(X, Y)) 36.93/10.32 add_in_gga(0, X) -> add_out_gga(X) 36.93/10.32 U10_gga(add_out_gga(Z)) -> add_out_gga(s(Z)) 36.93/10.32 U8_ga(add_out_gga(C)) -> s2_out_ga(C) 36.93/10.32 U3_ga(Y, s2_out_ga(A)) -> U4_ga(A, s2_in_ga(Y)) 36.93/10.32 U4_ga(A, s2_out_ga(B)) -> U5_ga(s2_in_ga(plus(A, B))) 36.93/10.32 U5_ga(s2_out_ga(Z)) -> s2_out_ga(Z) 36.93/10.32 U2_ga(s2_out_ga(C)) -> s2_out_ga(C) 36.93/10.32 U1_ga(s2_out_ga(D)) -> s2_out_ga(D) 36.93/10.32 36.93/10.32 The set Q consists of the following terms: 36.93/10.32 36.93/10.32 s2_in_ga(x0) 36.93/10.32 isNat_in_g(x0) 36.93/10.32 U9_g(x0) 36.93/10.32 U6_ga(x0, x1, x2) 36.93/10.32 U7_ga(x0, x1, x2) 36.93/10.32 add_in_gga(x0, x1) 36.93/10.32 U10_gga(x0) 36.93/10.32 U8_ga(x0) 36.93/10.32 U3_ga(x0, x1) 36.93/10.32 U4_ga(x0, x1) 36.93/10.32 U5_ga(x0) 36.93/10.32 U2_ga(x0) 36.93/10.32 U1_ga(x0) 36.93/10.32 36.93/10.32 We have to consider all (P,Q,R)-chains. 36.93/10.32 ---------------------------------------- 36.93/10.32 36.93/10.32 (63) QDPOrderProof (EQUIVALENT) 36.93/10.32 We use the reduction pair processor [LPAR04,JAR06]. 36.93/10.32 36.93/10.32 36.93/10.32 The following pairs can be oriented strictly and are deleted. 36.93/10.32 36.93/10.32 S2_IN_GA(plus(X, Y)) -> S2_IN_GA(X) 36.93/10.32 U3_GA(Y, s2_out_ga(A)) -> S2_IN_GA(Y) 36.93/10.32 The remaining pairs can at least be oriented weakly. 36.93/10.32 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 36.93/10.32 36.93/10.32 POL( U3_GA_2(x_1, x_2) ) = 2x_1 + 2x_2 + 1 36.93/10.32 POL( U4_GA_2(x_1, x_2) ) = 2x_1 + 2x_2 + 1 36.93/10.32 POL( s2_in_ga_1(x_1) ) = max{0, x_1 - 1} 36.93/10.32 POL( plus_2(x_1, x_2) ) = x_1 + x_2 + 1 36.93/10.32 POL( U1_ga_1(x_1) ) = x_1 36.93/10.32 POL( U2_ga_1(x_1) ) = x_1 36.93/10.32 POL( 0 ) = 0 36.93/10.32 POL( s2_out_ga_1(x_1) ) = x_1 36.93/10.32 POL( U3_ga_2(x_1, x_2) ) = x_1 + x_2 36.93/10.32 POL( U6_ga_3(x_1, ..., x_3) ) = x_2 36.93/10.32 POL( isNat_in_g_1(x_1) ) = 0 36.93/10.32 POL( U4_ga_2(x_1, x_2) ) = x_1 + x_2 36.93/10.32 POL( U5_ga_1(x_1) ) = x_1 36.93/10.32 POL( U7_ga_3(x_1, ..., x_3) ) = x_2 36.93/10.32 POL( s_1(x_1) ) = 0 36.93/10.32 POL( U9_g_1(x_1) ) = max{0, -2} 36.93/10.32 POL( isNat_out_g ) = 0 36.93/10.32 POL( U8_ga_1(x_1) ) = x_1 36.93/10.32 POL( add_in_gga_2(x_1, x_2) ) = x_2 36.93/10.32 POL( U10_gga_1(x_1) ) = max{0, -2} 36.93/10.32 POL( add_out_gga_1(x_1) ) = x_1 37.09/10.36 POL( S2_IN_GA_1(x_1) ) = max{0, 2x_1 - 1} 37.09/10.36 37.09/10.36 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 37.09/10.36 37.09/10.36 s2_in_ga(plus(A, plus(B, C))) -> U1_ga(s2_in_ga(plus(plus(A, B), C))) 37.09/10.36 s2_in_ga(plus(A, B)) -> U2_ga(s2_in_ga(plus(B, A))) 37.09/10.36 s2_in_ga(plus(X, 0)) -> s2_out_ga(X) 37.09/10.36 s2_in_ga(plus(X, Y)) -> U3_ga(Y, s2_in_ga(X)) 37.09/10.36 s2_in_ga(plus(A, B)) -> U6_ga(A, B, isNat_in_g(A)) 37.09/10.36 U2_ga(s2_out_ga(C)) -> s2_out_ga(C) 37.09/10.36 U1_ga(s2_out_ga(D)) -> s2_out_ga(D) 37.09/10.36 U3_ga(Y, s2_out_ga(A)) -> U4_ga(A, s2_in_ga(Y)) 37.09/10.36 U4_ga(A, s2_out_ga(B)) -> U5_ga(s2_in_ga(plus(A, B))) 37.09/10.36 U5_ga(s2_out_ga(Z)) -> s2_out_ga(Z) 37.09/10.36 U6_ga(A, B, isNat_out_g) -> U7_ga(A, B, isNat_in_g(B)) 37.09/10.36 U7_ga(A, B, isNat_out_g) -> U8_ga(add_in_gga(A, B)) 37.09/10.36 add_in_gga(s(X), Y) -> U10_gga(add_in_gga(X, Y)) 37.09/10.36 add_in_gga(0, X) -> add_out_gga(X) 37.09/10.36 U8_ga(add_out_gga(C)) -> s2_out_ga(C) 37.09/10.36 U10_gga(add_out_gga(Z)) -> add_out_gga(s(Z)) 37.09/10.36 37.09/10.36 37.09/10.36 ---------------------------------------- 37.09/10.36 37.09/10.36 (64) 37.09/10.36 Obligation: 37.09/10.36 Q DP problem: 37.09/10.36 The TRS P consists of the following rules: 37.09/10.36 37.09/10.36 S2_IN_GA(plus(A, B)) -> S2_IN_GA(plus(B, A)) 37.09/10.36 S2_IN_GA(plus(A, plus(B, C))) -> S2_IN_GA(plus(plus(A, B), C)) 37.09/10.36 S2_IN_GA(plus(X, Y)) -> U3_GA(Y, s2_in_ga(X)) 37.09/10.36 U3_GA(Y, s2_out_ga(A)) -> U4_GA(A, s2_in_ga(Y)) 37.09/10.36 U4_GA(A, s2_out_ga(B)) -> S2_IN_GA(plus(A, B)) 37.09/10.36 37.09/10.36 The TRS R consists of the following rules: 37.09/10.36 37.09/10.36 s2_in_ga(plus(A, plus(B, C))) -> U1_ga(s2_in_ga(plus(plus(A, B), C))) 37.09/10.36 s2_in_ga(plus(A, B)) -> U2_ga(s2_in_ga(plus(B, A))) 37.09/10.36 s2_in_ga(plus(X, 0)) -> s2_out_ga(X) 37.09/10.36 s2_in_ga(plus(X, Y)) -> U3_ga(Y, s2_in_ga(X)) 37.09/10.36 s2_in_ga(plus(A, B)) -> U6_ga(A, B, isNat_in_g(A)) 37.09/10.36 isNat_in_g(s(X)) -> U9_g(isNat_in_g(X)) 37.09/10.36 isNat_in_g(0) -> isNat_out_g 37.09/10.36 U9_g(isNat_out_g) -> isNat_out_g 37.09/10.36 U6_ga(A, B, isNat_out_g) -> U7_ga(A, B, isNat_in_g(B)) 37.09/10.36 U7_ga(A, B, isNat_out_g) -> U8_ga(add_in_gga(A, B)) 37.09/10.36 add_in_gga(s(X), Y) -> U10_gga(add_in_gga(X, Y)) 37.09/10.36 add_in_gga(0, X) -> add_out_gga(X) 37.09/10.36 U10_gga(add_out_gga(Z)) -> add_out_gga(s(Z)) 37.09/10.36 U8_ga(add_out_gga(C)) -> s2_out_ga(C) 37.09/10.36 U3_ga(Y, s2_out_ga(A)) -> U4_ga(A, s2_in_ga(Y)) 37.09/10.36 U4_ga(A, s2_out_ga(B)) -> U5_ga(s2_in_ga(plus(A, B))) 37.09/10.36 U5_ga(s2_out_ga(Z)) -> s2_out_ga(Z) 37.09/10.36 U2_ga(s2_out_ga(C)) -> s2_out_ga(C) 37.09/10.36 U1_ga(s2_out_ga(D)) -> s2_out_ga(D) 37.09/10.36 37.09/10.36 The set Q consists of the following terms: 37.09/10.36 37.09/10.36 s2_in_ga(x0) 37.09/10.36 isNat_in_g(x0) 37.09/10.36 U9_g(x0) 37.09/10.36 U6_ga(x0, x1, x2) 37.09/10.36 U7_ga(x0, x1, x2) 37.09/10.36 add_in_gga(x0, x1) 37.09/10.36 U10_gga(x0) 37.09/10.36 U8_ga(x0) 37.09/10.36 U3_ga(x0, x1) 37.09/10.36 U4_ga(x0, x1) 37.09/10.36 U5_ga(x0) 37.09/10.36 U2_ga(x0) 37.09/10.36 U1_ga(x0) 37.09/10.36 37.09/10.36 We have to consider all (P,Q,R)-chains. 37.09/10.36 ---------------------------------------- 37.09/10.36 37.09/10.36 (65) QDPOrderProof (EQUIVALENT) 37.09/10.36 We use the reduction pair processor [LPAR04,JAR06]. 37.09/10.36 37.09/10.36 37.09/10.36 The following pairs can be oriented strictly and are deleted. 37.09/10.36 37.09/10.36 U3_GA(Y, s2_out_ga(A)) -> U4_GA(A, s2_in_ga(Y)) 37.09/10.36 The remaining pairs can at least be oriented weakly. 37.09/10.36 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 37.09/10.36 37.09/10.36 POL( U3_GA_2(x_1, x_2) ) = 2x_1 + 2x_2 37.09/10.36 POL( U4_GA_2(x_1, x_2) ) = max{0, 2x_1 + 2x_2 - 2} 37.09/10.36 POL( s2_in_ga_1(x_1) ) = x_1 37.09/10.36 POL( plus_2(x_1, x_2) ) = x_1 + x_2 37.09/10.36 POL( U1_ga_1(x_1) ) = x_1 37.09/10.36 POL( U2_ga_1(x_1) ) = x_1 37.09/10.36 POL( 0 ) = 2 37.09/10.36 POL( s2_out_ga_1(x_1) ) = x_1 + 1 37.09/10.36 POL( U3_ga_2(x_1, x_2) ) = x_1 + x_2 37.09/10.36 POL( U6_ga_3(x_1, ..., x_3) ) = x_1 + x_2 37.09/10.36 POL( isNat_in_g_1(x_1) ) = 0 37.09/10.36 POL( U4_ga_2(x_1, x_2) ) = x_1 + x_2 37.09/10.36 POL( U5_ga_1(x_1) ) = x_1 37.09/10.36 POL( U7_ga_3(x_1, ..., x_3) ) = x_1 + x_2 37.09/10.36 POL( s_1(x_1) ) = x_1 + 2 37.09/10.36 POL( U9_g_1(x_1) ) = max{0, -2} 37.09/10.36 POL( isNat_out_g ) = 0 37.09/10.36 POL( U8_ga_1(x_1) ) = x_1 37.09/10.36 POL( add_in_gga_2(x_1, x_2) ) = x_1 + x_2 37.09/10.36 POL( U10_gga_1(x_1) ) = x_1 + 2 37.09/10.36 POL( add_out_gga_1(x_1) ) = x_1 + 2 37.09/10.36 POL( S2_IN_GA_1(x_1) ) = 2x_1 37.09/10.36 37.09/10.36 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 37.09/10.36 37.09/10.36 s2_in_ga(plus(A, plus(B, C))) -> U1_ga(s2_in_ga(plus(plus(A, B), C))) 37.09/10.36 s2_in_ga(plus(A, B)) -> U2_ga(s2_in_ga(plus(B, A))) 37.09/10.36 s2_in_ga(plus(X, 0)) -> s2_out_ga(X) 37.09/10.36 s2_in_ga(plus(X, Y)) -> U3_ga(Y, s2_in_ga(X)) 37.09/10.36 s2_in_ga(plus(A, B)) -> U6_ga(A, B, isNat_in_g(A)) 37.09/10.36 U2_ga(s2_out_ga(C)) -> s2_out_ga(C) 37.09/10.36 U1_ga(s2_out_ga(D)) -> s2_out_ga(D) 37.09/10.36 U3_ga(Y, s2_out_ga(A)) -> U4_ga(A, s2_in_ga(Y)) 37.09/10.36 U4_ga(A, s2_out_ga(B)) -> U5_ga(s2_in_ga(plus(A, B))) 37.09/10.36 U5_ga(s2_out_ga(Z)) -> s2_out_ga(Z) 37.09/10.36 U6_ga(A, B, isNat_out_g) -> U7_ga(A, B, isNat_in_g(B)) 37.09/10.36 U7_ga(A, B, isNat_out_g) -> U8_ga(add_in_gga(A, B)) 37.09/10.36 add_in_gga(s(X), Y) -> U10_gga(add_in_gga(X, Y)) 37.09/10.36 add_in_gga(0, X) -> add_out_gga(X) 37.09/10.36 U8_ga(add_out_gga(C)) -> s2_out_ga(C) 37.09/10.36 U10_gga(add_out_gga(Z)) -> add_out_gga(s(Z)) 37.09/10.36 37.09/10.36 37.09/10.36 ---------------------------------------- 37.09/10.36 37.09/10.36 (66) 37.09/10.36 Obligation: 37.09/10.36 Q DP problem: 37.09/10.36 The TRS P consists of the following rules: 37.09/10.36 37.09/10.36 S2_IN_GA(plus(A, B)) -> S2_IN_GA(plus(B, A)) 37.09/10.36 S2_IN_GA(plus(A, plus(B, C))) -> S2_IN_GA(plus(plus(A, B), C)) 37.09/10.36 S2_IN_GA(plus(X, Y)) -> U3_GA(Y, s2_in_ga(X)) 37.09/10.36 U4_GA(A, s2_out_ga(B)) -> S2_IN_GA(plus(A, B)) 37.09/10.36 37.09/10.36 The TRS R consists of the following rules: 37.09/10.36 37.09/10.36 s2_in_ga(plus(A, plus(B, C))) -> U1_ga(s2_in_ga(plus(plus(A, B), C))) 37.09/10.36 s2_in_ga(plus(A, B)) -> U2_ga(s2_in_ga(plus(B, A))) 37.09/10.36 s2_in_ga(plus(X, 0)) -> s2_out_ga(X) 37.09/10.36 s2_in_ga(plus(X, Y)) -> U3_ga(Y, s2_in_ga(X)) 37.09/10.36 s2_in_ga(plus(A, B)) -> U6_ga(A, B, isNat_in_g(A)) 37.09/10.36 isNat_in_g(s(X)) -> U9_g(isNat_in_g(X)) 37.09/10.36 isNat_in_g(0) -> isNat_out_g 37.09/10.36 U9_g(isNat_out_g) -> isNat_out_g 37.09/10.36 U6_ga(A, B, isNat_out_g) -> U7_ga(A, B, isNat_in_g(B)) 37.09/10.36 U7_ga(A, B, isNat_out_g) -> U8_ga(add_in_gga(A, B)) 37.09/10.36 add_in_gga(s(X), Y) -> U10_gga(add_in_gga(X, Y)) 37.09/10.36 add_in_gga(0, X) -> add_out_gga(X) 37.09/10.36 U10_gga(add_out_gga(Z)) -> add_out_gga(s(Z)) 37.09/10.36 U8_ga(add_out_gga(C)) -> s2_out_ga(C) 37.09/10.36 U3_ga(Y, s2_out_ga(A)) -> U4_ga(A, s2_in_ga(Y)) 37.09/10.36 U4_ga(A, s2_out_ga(B)) -> U5_ga(s2_in_ga(plus(A, B))) 37.09/10.36 U5_ga(s2_out_ga(Z)) -> s2_out_ga(Z) 37.09/10.36 U2_ga(s2_out_ga(C)) -> s2_out_ga(C) 37.09/10.36 U1_ga(s2_out_ga(D)) -> s2_out_ga(D) 37.09/10.36 37.09/10.36 The set Q consists of the following terms: 37.09/10.36 37.09/10.36 s2_in_ga(x0) 37.09/10.36 isNat_in_g(x0) 37.09/10.36 U9_g(x0) 37.09/10.36 U6_ga(x0, x1, x2) 37.09/10.36 U7_ga(x0, x1, x2) 37.09/10.36 add_in_gga(x0, x1) 37.09/10.36 U10_gga(x0) 37.09/10.36 U8_ga(x0) 37.09/10.36 U3_ga(x0, x1) 37.09/10.36 U4_ga(x0, x1) 37.09/10.36 U5_ga(x0) 37.09/10.36 U2_ga(x0) 37.09/10.36 U1_ga(x0) 37.09/10.36 37.09/10.36 We have to consider all (P,Q,R)-chains. 37.09/10.36 ---------------------------------------- 37.09/10.36 37.09/10.36 (67) DependencyGraphProof (EQUIVALENT) 37.09/10.36 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 37.09/10.36 ---------------------------------------- 37.09/10.36 37.09/10.36 (68) 37.09/10.36 Obligation: 37.09/10.36 Q DP problem: 37.09/10.36 The TRS P consists of the following rules: 37.09/10.36 37.09/10.36 S2_IN_GA(plus(A, plus(B, C))) -> S2_IN_GA(plus(plus(A, B), C)) 37.09/10.36 S2_IN_GA(plus(A, B)) -> S2_IN_GA(plus(B, A)) 37.09/10.36 37.09/10.36 The TRS R consists of the following rules: 37.09/10.36 37.09/10.36 s2_in_ga(plus(A, plus(B, C))) -> U1_ga(s2_in_ga(plus(plus(A, B), C))) 37.09/10.36 s2_in_ga(plus(A, B)) -> U2_ga(s2_in_ga(plus(B, A))) 37.09/10.36 s2_in_ga(plus(X, 0)) -> s2_out_ga(X) 37.09/10.36 s2_in_ga(plus(X, Y)) -> U3_ga(Y, s2_in_ga(X)) 37.09/10.36 s2_in_ga(plus(A, B)) -> U6_ga(A, B, isNat_in_g(A)) 37.09/10.36 isNat_in_g(s(X)) -> U9_g(isNat_in_g(X)) 37.09/10.36 isNat_in_g(0) -> isNat_out_g 37.09/10.36 U9_g(isNat_out_g) -> isNat_out_g 37.09/10.36 U6_ga(A, B, isNat_out_g) -> U7_ga(A, B, isNat_in_g(B)) 37.09/10.36 U7_ga(A, B, isNat_out_g) -> U8_ga(add_in_gga(A, B)) 37.09/10.36 add_in_gga(s(X), Y) -> U10_gga(add_in_gga(X, Y)) 37.09/10.36 add_in_gga(0, X) -> add_out_gga(X) 37.09/10.36 U10_gga(add_out_gga(Z)) -> add_out_gga(s(Z)) 37.09/10.36 U8_ga(add_out_gga(C)) -> s2_out_ga(C) 37.09/10.36 U3_ga(Y, s2_out_ga(A)) -> U4_ga(A, s2_in_ga(Y)) 37.09/10.36 U4_ga(A, s2_out_ga(B)) -> U5_ga(s2_in_ga(plus(A, B))) 37.09/10.36 U5_ga(s2_out_ga(Z)) -> s2_out_ga(Z) 37.09/10.36 U2_ga(s2_out_ga(C)) -> s2_out_ga(C) 37.09/10.36 U1_ga(s2_out_ga(D)) -> s2_out_ga(D) 37.09/10.36 37.09/10.36 The set Q consists of the following terms: 37.09/10.36 37.09/10.36 s2_in_ga(x0) 37.09/10.36 isNat_in_g(x0) 37.09/10.36 U9_g(x0) 37.09/10.36 U6_ga(x0, x1, x2) 37.09/10.36 U7_ga(x0, x1, x2) 37.09/10.36 add_in_gga(x0, x1) 37.09/10.36 U10_gga(x0) 37.09/10.36 U8_ga(x0) 37.09/10.36 U3_ga(x0, x1) 37.09/10.36 U4_ga(x0, x1) 37.09/10.36 U5_ga(x0) 37.09/10.36 U2_ga(x0) 37.09/10.36 U1_ga(x0) 37.09/10.36 37.09/10.36 We have to consider all (P,Q,R)-chains. 37.09/10.36 ---------------------------------------- 37.09/10.36 37.09/10.36 (69) UsableRulesProof (EQUIVALENT) 37.09/10.36 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. 37.09/10.36 ---------------------------------------- 37.09/10.36 37.09/10.36 (70) 37.09/10.36 Obligation: 37.09/10.36 Q DP problem: 37.09/10.36 The TRS P consists of the following rules: 37.09/10.36 37.09/10.36 S2_IN_GA(plus(A, plus(B, C))) -> S2_IN_GA(plus(plus(A, B), C)) 37.09/10.36 S2_IN_GA(plus(A, B)) -> S2_IN_GA(plus(B, A)) 37.09/10.36 37.09/10.36 R is empty. 37.09/10.36 The set Q consists of the following terms: 37.09/10.36 37.09/10.36 s2_in_ga(x0) 37.09/10.36 isNat_in_g(x0) 37.09/10.36 U9_g(x0) 37.09/10.36 U6_ga(x0, x1, x2) 37.09/10.36 U7_ga(x0, x1, x2) 37.09/10.36 add_in_gga(x0, x1) 37.09/10.36 U10_gga(x0) 37.09/10.36 U8_ga(x0) 37.09/10.36 U3_ga(x0, x1) 37.09/10.36 U4_ga(x0, x1) 37.09/10.36 U5_ga(x0) 37.09/10.36 U2_ga(x0) 37.09/10.36 U1_ga(x0) 37.09/10.36 37.09/10.36 We have to consider all (P,Q,R)-chains. 37.09/10.36 ---------------------------------------- 37.09/10.36 37.09/10.36 (71) QReductionProof (EQUIVALENT) 37.09/10.36 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 37.09/10.36 37.09/10.36 s2_in_ga(x0) 37.09/10.36 isNat_in_g(x0) 37.09/10.36 U9_g(x0) 37.09/10.36 U6_ga(x0, x1, x2) 37.09/10.36 U7_ga(x0, x1, x2) 37.09/10.36 add_in_gga(x0, x1) 37.09/10.36 U10_gga(x0) 37.09/10.36 U8_ga(x0) 37.09/10.36 U3_ga(x0, x1) 37.09/10.36 U4_ga(x0, x1) 37.09/10.36 U5_ga(x0) 37.09/10.36 U2_ga(x0) 37.09/10.36 U1_ga(x0) 37.09/10.36 37.09/10.36 37.09/10.36 ---------------------------------------- 37.09/10.36 37.09/10.36 (72) 37.09/10.36 Obligation: 37.09/10.36 Q DP problem: 37.09/10.36 The TRS P consists of the following rules: 37.09/10.36 37.09/10.36 S2_IN_GA(plus(A, plus(B, C))) -> S2_IN_GA(plus(plus(A, B), C)) 37.09/10.36 S2_IN_GA(plus(A, B)) -> S2_IN_GA(plus(B, A)) 37.09/10.36 37.09/10.36 R is empty. 37.09/10.36 Q is empty. 37.09/10.36 We have to consider all (P,Q,R)-chains. 37.09/10.36 ---------------------------------------- 37.09/10.36 37.09/10.36 (73) NonTerminationLoopProof (COMPLETE) 37.09/10.36 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 37.09/10.36 Found a loop by semiunifying a rule from P directly. 37.09/10.36 37.09/10.36 s = S2_IN_GA(plus(A, B)) evaluates to t =S2_IN_GA(plus(B, A)) 37.09/10.36 37.09/10.36 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 37.09/10.36 * Matcher: [A / B, B / A] 37.09/10.36 * Semiunifier: [ ] 37.09/10.36 37.09/10.36 -------------------------------------------------------------------------------- 37.09/10.36 Rewriting sequence 37.09/10.36 37.09/10.36 The DP semiunifies directly so there is only one rewrite step from S2_IN_GA(plus(A, B)) to S2_IN_GA(plus(B, A)). 37.09/10.36 37.09/10.36 37.09/10.36 37.09/10.36 37.09/10.36 ---------------------------------------- 37.09/10.36 37.09/10.36 (74) 37.09/10.36 NO 37.09/10.36 37.09/10.36 ---------------------------------------- 37.09/10.36 37.09/10.36 (75) PrologToTRSTransformerProof (SOUND) 37.09/10.36 Transformed Prolog program to TRS. 37.09/10.36 37.09/10.36 { 37.09/10.36 "root": 47, 37.09/10.36 "program": { 37.09/10.36 "directives": [], 37.09/10.36 "clauses": [ 37.09/10.36 [ 37.09/10.36 "(s2 (plus A (plus B C)) D)", 37.09/10.36 "(s2 (plus (plus A B) C) D)" 37.09/10.36 ], 37.09/10.36 [ 37.09/10.36 "(s2 (plus A B) C)", 37.09/10.36 "(s2 (plus B A) C)" 37.09/10.36 ], 37.09/10.36 [ 37.09/10.36 "(s2 (plus X (0)) X)", 37.09/10.36 null 37.09/10.36 ], 37.09/10.36 [ 37.09/10.36 "(s2 (plus X Y) Z)", 37.09/10.36 "(',' (s2 X A) (',' (s2 Y B) (s2 (plus A B) Z)))" 37.09/10.36 ], 37.09/10.36 [ 37.09/10.36 "(s2 (plus A B) C)", 37.09/10.36 "(',' (isNat A) (',' (isNat B) (add A B C)))" 37.09/10.36 ], 37.09/10.36 [ 37.09/10.36 "(isNat (s X))", 37.09/10.36 "(isNat X)" 37.09/10.36 ], 37.09/10.36 [ 37.09/10.36 "(isNat (0))", 37.09/10.36 null 37.09/10.36 ], 37.09/10.36 [ 37.09/10.36 "(add (s X) Y (s Z))", 37.09/10.36 "(add X Y Z)" 37.09/10.36 ], 37.09/10.36 [ 37.09/10.36 "(add (0) X X)", 37.09/10.36 null 37.09/10.36 ] 37.09/10.36 ] 37.09/10.36 }, 37.09/10.36 "graph": { 37.09/10.36 "nodes": { 37.09/10.36 "47": { 37.09/10.36 "goal": [{ 37.09/10.36 "clause": -1, 37.09/10.36 "scope": -1, 37.09/10.36 "term": "(s2 T1 T2)" 37.09/10.36 }], 37.09/10.36 "kb": { 37.09/10.36 "nonunifying": [], 37.09/10.36 "intvars": {}, 37.09/10.36 "arithmetic": { 37.09/10.36 "type": "PlainIntegerRelationState", 37.09/10.36 "relations": [] 37.09/10.36 }, 37.09/10.36 "ground": ["T1"], 37.09/10.36 "free": [], 37.09/10.36 "exprvars": [] 37.09/10.36 } 37.09/10.36 }, 37.09/10.36 "390": { 37.09/10.36 "goal": [{ 37.09/10.36 "clause": -1, 37.09/10.36 "scope": -1, 37.09/10.36 "term": "(',' (isNat T94) (',' (isNat T95) (add T94 T95 T97)))" 37.09/10.36 }], 37.09/10.36 "kb": { 37.09/10.36 "nonunifying": [], 37.09/10.36 "intvars": {}, 37.09/10.36 "arithmetic": { 37.09/10.36 "type": "PlainIntegerRelationState", 37.09/10.36 "relations": [] 37.09/10.36 }, 37.09/10.36 "ground": [ 37.09/10.36 "T94", 37.09/10.36 "T95" 37.09/10.36 ], 37.09/10.36 "free": [], 37.09/10.36 "exprvars": [] 37.09/10.36 } 37.09/10.36 }, 37.09/10.36 "391": { 37.09/10.36 "goal": [], 37.09/10.36 "kb": { 37.09/10.36 "nonunifying": [], 37.09/10.36 "intvars": {}, 37.09/10.36 "arithmetic": { 37.09/10.36 "type": "PlainIntegerRelationState", 37.09/10.36 "relations": [] 37.09/10.36 }, 37.09/10.36 "ground": [], 37.09/10.36 "free": [], 37.09/10.36 "exprvars": [] 37.09/10.36 } 37.09/10.36 }, 37.09/10.36 "type": "Nodes", 37.09/10.36 "392": { 37.09/10.36 "goal": [{ 37.09/10.36 "clause": -1, 37.09/10.36 "scope": -1, 37.09/10.36 "term": "(isNat T94)" 37.09/10.36 }], 37.09/10.36 "kb": { 37.09/10.36 "nonunifying": [], 37.09/10.36 "intvars": {}, 37.09/10.36 "arithmetic": { 37.09/10.36 "type": "PlainIntegerRelationState", 37.09/10.36 "relations": [] 37.09/10.36 }, 37.09/10.36 "ground": ["T94"], 37.09/10.36 "free": [], 37.09/10.36 "exprvars": [] 37.09/10.36 } 37.09/10.36 }, 37.09/10.36 "195": { 37.09/10.36 "goal": [ 37.09/10.36 { 37.09/10.36 "clause": 0, 37.09/10.36 "scope": 1, 37.09/10.36 "term": "(s2 T1 T2)" 37.09/10.36 }, 37.09/10.36 { 37.09/10.36 "clause": 1, 37.09/10.36 "scope": 1, 37.09/10.36 "term": "(s2 T1 T2)" 37.09/10.36 }, 37.09/10.36 { 37.09/10.36 "clause": 2, 37.09/10.36 "scope": 1, 37.09/10.36 "term": "(s2 T1 T2)" 37.09/10.36 }, 37.09/10.36 { 37.09/10.36 "clause": 3, 37.09/10.36 "scope": 1, 37.09/10.36 "term": "(s2 T1 T2)" 37.09/10.36 }, 37.09/10.36 { 37.09/10.36 "clause": 4, 37.09/10.36 "scope": 1, 37.09/10.36 "term": "(s2 T1 T2)" 37.09/10.36 } 37.09/10.36 ], 37.09/10.36 "kb": { 37.09/10.36 "nonunifying": [], 37.09/10.36 "intvars": {}, 37.09/10.36 "arithmetic": { 37.09/10.36 "type": "PlainIntegerRelationState", 37.09/10.36 "relations": [] 37.09/10.36 }, 37.09/10.36 "ground": ["T1"], 37.09/10.36 "free": [], 37.09/10.36 "exprvars": [] 37.09/10.36 } 37.09/10.36 }, 37.09/10.36 "393": { 37.09/10.36 "goal": [{ 37.09/10.36 "clause": -1, 37.09/10.36 "scope": -1, 37.09/10.36 "term": "(',' (isNat T95) (add T94 T95 T97))" 37.09/10.36 }], 37.09/10.36 "kb": { 37.09/10.36 "nonunifying": [], 37.09/10.36 "intvars": {}, 37.09/10.36 "arithmetic": { 37.09/10.36 "type": "PlainIntegerRelationState", 37.09/10.36 "relations": [] 37.09/10.36 }, 37.09/10.36 "ground": [ 37.09/10.36 "T94", 37.09/10.36 "T95" 37.09/10.36 ], 37.09/10.36 "free": [], 37.09/10.36 "exprvars": [] 37.09/10.36 } 37.09/10.36 }, 37.09/10.36 "394": { 37.09/10.36 "goal": [ 37.09/10.36 { 37.09/10.36 "clause": 5, 37.09/10.36 "scope": 2, 37.09/10.36 "term": "(isNat T94)" 37.09/10.36 }, 37.09/10.36 { 37.09/10.36 "clause": 6, 37.09/10.36 "scope": 2, 37.09/10.36 "term": "(isNat T94)" 37.09/10.36 } 37.09/10.36 ], 37.09/10.36 "kb": { 37.09/10.36 "nonunifying": [], 37.09/10.36 "intvars": {}, 37.09/10.36 "arithmetic": { 37.09/10.36 "type": "PlainIntegerRelationState", 37.09/10.36 "relations": [] 37.09/10.36 }, 37.09/10.36 "ground": ["T94"], 37.09/10.36 "free": [], 37.09/10.36 "exprvars": [] 37.09/10.36 } 37.09/10.36 }, 37.09/10.36 "230": { 37.09/10.36 "goal": [ 37.09/10.36 { 37.09/10.36 "clause": 3, 37.09/10.36 "scope": 1, 37.09/10.36 "term": "(s2 T1 T2)" 37.09/10.36 }, 37.09/10.36 { 37.09/10.36 "clause": 4, 37.09/10.36 "scope": 1, 37.09/10.36 "term": "(s2 T1 T2)" 37.09/10.36 } 37.09/10.36 ], 37.09/10.36 "kb": { 37.09/10.36 "nonunifying": [], 37.09/10.36 "intvars": {}, 37.09/10.36 "arithmetic": { 37.09/10.36 "type": "PlainIntegerRelationState", 37.09/10.36 "relations": [] 37.09/10.36 }, 37.09/10.36 "ground": ["T1"], 37.09/10.36 "free": [], 37.09/10.36 "exprvars": [] 37.09/10.36 } 37.09/10.36 }, 37.09/10.36 "395": { 37.09/10.36 "goal": [{ 37.09/10.36 "clause": 5, 37.09/10.36 "scope": 2, 37.09/10.36 "term": "(isNat T94)" 37.09/10.36 }], 37.09/10.36 "kb": { 37.09/10.36 "nonunifying": [], 37.09/10.36 "intvars": {}, 37.09/10.36 "arithmetic": { 37.09/10.36 "type": "PlainIntegerRelationState", 37.09/10.36 "relations": [] 37.09/10.36 }, 37.09/10.36 "ground": ["T94"], 37.09/10.36 "free": [], 37.09/10.36 "exprvars": [] 37.09/10.36 } 37.09/10.36 }, 37.09/10.36 "198": { 37.09/10.36 "goal": [{ 37.09/10.36 "clause": 0, 37.09/10.36 "scope": 1, 37.09/10.36 "term": "(s2 T1 T2)" 37.09/10.36 }], 37.09/10.36 "kb": { 37.09/10.36 "nonunifying": [], 37.09/10.36 "intvars": {}, 37.09/10.36 "arithmetic": { 37.09/10.36 "type": "PlainIntegerRelationState", 37.09/10.36 "relations": [] 37.09/10.36 }, 37.09/10.36 "ground": ["T1"], 37.09/10.36 "free": [], 37.09/10.36 "exprvars": [] 37.09/10.36 } 37.09/10.36 }, 37.09/10.36 "231": { 37.09/10.36 "goal": [{ 37.09/10.36 "clause": -1, 37.09/10.36 "scope": -1, 37.09/10.36 "term": "(true)" 37.09/10.36 }], 37.09/10.36 "kb": { 37.09/10.36 "nonunifying": [], 37.09/10.36 "intvars": {}, 37.09/10.36 "arithmetic": { 37.09/10.36 "type": "PlainIntegerRelationState", 37.09/10.36 "relations": [] 37.09/10.36 }, 37.09/10.36 "ground": [], 37.09/10.36 "free": [], 37.09/10.36 "exprvars": [] 37.09/10.36 } 37.09/10.36 }, 37.09/10.36 "396": { 37.09/10.36 "goal": [{ 37.09/10.36 "clause": 6, 37.09/10.36 "scope": 2, 37.09/10.36 "term": "(isNat T94)" 37.09/10.36 }], 37.09/10.36 "kb": { 37.09/10.36 "nonunifying": [], 37.09/10.36 "intvars": {}, 37.09/10.36 "arithmetic": { 37.09/10.36 "type": "PlainIntegerRelationState", 37.09/10.36 "relations": [] 37.09/10.36 }, 37.09/10.36 "ground": ["T94"], 37.09/10.36 "free": [], 37.09/10.36 "exprvars": [] 37.09/10.36 } 37.09/10.36 }, 37.09/10.36 "199": { 37.09/10.36 "goal": [ 37.09/10.36 { 37.09/10.36 "clause": 1, 37.09/10.36 "scope": 1, 37.09/10.36 "term": "(s2 T1 T2)" 37.09/10.36 }, 37.09/10.36 { 37.09/10.36 "clause": 2, 37.09/10.36 "scope": 1, 37.09/10.36 "term": "(s2 T1 T2)" 37.09/10.36 }, 37.09/10.36 { 37.09/10.36 "clause": 3, 37.09/10.36 "scope": 1, 37.09/10.36 "term": "(s2 T1 T2)" 37.09/10.36 }, 37.09/10.36 { 37.09/10.36 "clause": 4, 37.09/10.36 "scope": 1, 37.09/10.36 "term": "(s2 T1 T2)" 37.09/10.36 } 37.09/10.36 ], 37.09/10.36 "kb": { 37.09/10.36 "nonunifying": [], 37.09/10.36 "intvars": {}, 37.09/10.36 "arithmetic": { 37.09/10.36 "type": "PlainIntegerRelationState", 37.09/10.36 "relations": [] 37.09/10.36 }, 37.09/10.36 "ground": ["T1"], 37.09/10.36 "free": [], 37.09/10.36 "exprvars": [] 37.09/10.36 } 37.09/10.36 }, 37.09/10.36 "232": { 37.09/10.36 "goal": [], 37.09/10.36 "kb": { 37.09/10.36 "nonunifying": [], 37.09/10.36 "intvars": {}, 37.09/10.36 "arithmetic": { 37.09/10.36 "type": "PlainIntegerRelationState", 37.09/10.36 "relations": [] 37.09/10.36 }, 37.09/10.36 "ground": [], 37.09/10.36 "free": [], 37.09/10.36 "exprvars": [] 37.09/10.36 } 37.09/10.36 }, 37.09/10.36 "397": { 37.09/10.36 "goal": [{ 37.09/10.36 "clause": -1, 37.09/10.36 "scope": -1, 37.09/10.36 "term": "(isNat T104)" 37.09/10.36 }], 37.09/10.36 "kb": { 37.09/10.36 "nonunifying": [], 37.09/10.36 "intvars": {}, 37.09/10.36 "arithmetic": { 37.09/10.36 "type": "PlainIntegerRelationState", 37.09/10.36 "relations": [] 37.09/10.36 }, 37.09/10.36 "ground": ["T104"], 37.09/10.36 "free": [], 37.09/10.36 "exprvars": [] 37.09/10.36 } 37.09/10.36 }, 37.09/10.36 "430": { 37.09/10.36 "goal": [ 37.09/10.36 { 37.09/10.36 "clause": 7, 37.09/10.37 "scope": 3, 37.09/10.37 "term": "(add T94 T95 T97)" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "clause": 8, 37.09/10.37 "scope": 3, 37.09/10.37 "term": "(add T94 T95 T97)" 37.09/10.37 } 37.09/10.37 ], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": [ 37.09/10.37 "T94", 37.09/10.37 "T95" 37.09/10.37 ], 37.09/10.37 "free": [], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "233": { 37.09/10.37 "goal": [], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": [], 37.09/10.37 "free": [], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "376": { 37.09/10.37 "goal": [{ 37.09/10.37 "clause": -1, 37.09/10.37 "scope": -1, 37.09/10.37 "term": "(s2 T66 X68)" 37.09/10.37 }], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": ["T66"], 37.09/10.37 "free": ["X68"], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "398": { 37.09/10.37 "goal": [], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": [], 37.09/10.37 "free": [], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "311": { 37.09/10.37 "goal": [{ 37.09/10.37 "clause": -1, 37.09/10.37 "scope": -1, 37.09/10.37 "term": "(',' (s2 T66 X68) (',' (s2 T67 X69) (s2 (plus X68 X69) T69)))" 37.09/10.37 }], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": [ 37.09/10.37 "T66", 37.09/10.37 "T67" 37.09/10.37 ], 37.09/10.37 "free": [ 37.09/10.37 "X68", 37.09/10.37 "X69" 37.09/10.37 ], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "377": { 37.09/10.37 "goal": [{ 37.09/10.37 "clause": -1, 37.09/10.37 "scope": -1, 37.09/10.37 "term": "(',' (s2 T67 X69) (s2 (plus T73 X69) T69))" 37.09/10.37 }], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": [ 37.09/10.37 "T67", 37.09/10.37 "T73" 37.09/10.37 ], 37.09/10.37 "free": ["X69"], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "435": { 37.09/10.37 "goal": [{ 37.09/10.37 "clause": 7, 37.09/10.37 "scope": 3, 37.09/10.37 "term": "(add T94 T95 T97)" 37.09/10.37 }], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": [ 37.09/10.37 "T94", 37.09/10.37 "T95" 37.09/10.37 ], 37.09/10.37 "free": [], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "436": { 37.09/10.37 "goal": [{ 37.09/10.37 "clause": 8, 37.09/10.37 "scope": 3, 37.09/10.37 "term": "(add T94 T95 T97)" 37.09/10.37 }], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": [ 37.09/10.37 "T94", 37.09/10.37 "T95" 37.09/10.37 ], 37.09/10.37 "free": [], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "440": { 37.09/10.37 "goal": [{ 37.09/10.37 "clause": -1, 37.09/10.37 "scope": -1, 37.09/10.37 "term": "(add T123 T124 T126)" 37.09/10.37 }], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": [ 37.09/10.37 "T123", 37.09/10.37 "T124" 37.09/10.37 ], 37.09/10.37 "free": [], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "386": { 37.09/10.37 "goal": [{ 37.09/10.37 "clause": -1, 37.09/10.37 "scope": -1, 37.09/10.37 "term": "(s2 T67 X69)" 37.09/10.37 }], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": ["T67"], 37.09/10.37 "free": ["X69"], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "222": { 37.09/10.37 "goal": [{ 37.09/10.37 "clause": 1, 37.09/10.37 "scope": 1, 37.09/10.37 "term": "(s2 T1 T2)" 37.09/10.37 }], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": ["T1"], 37.09/10.37 "free": [], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "321": { 37.09/10.37 "goal": [], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": [], 37.09/10.37 "free": [], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "387": { 37.09/10.37 "goal": [{ 37.09/10.37 "clause": -1, 37.09/10.37 "scope": -1, 37.09/10.37 "term": "(s2 (plus T73 T80) T69)" 37.09/10.37 }], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": [ 37.09/10.37 "T73", 37.09/10.37 "T80" 37.09/10.37 ], 37.09/10.37 "free": [], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "201": { 37.09/10.37 "goal": [{ 37.09/10.37 "clause": -1, 37.09/10.37 "scope": -1, 37.09/10.37 "term": "(s2 (plus (plus T19 T20) T21) T23)" 37.09/10.37 }], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": [ 37.09/10.37 "T19", 37.09/10.37 "T20", 37.09/10.37 "T21" 37.09/10.37 ], 37.09/10.37 "free": [], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "223": { 37.09/10.37 "goal": [ 37.09/10.37 { 37.09/10.37 "clause": 2, 37.09/10.37 "scope": 1, 37.09/10.37 "term": "(s2 T1 T2)" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "clause": 3, 37.09/10.37 "scope": 1, 37.09/10.37 "term": "(s2 T1 T2)" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "clause": 4, 37.09/10.37 "scope": 1, 37.09/10.37 "term": "(s2 T1 T2)" 37.09/10.37 } 37.09/10.37 ], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": ["T1"], 37.09/10.37 "free": [], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "245": { 37.09/10.37 "goal": [{ 37.09/10.37 "clause": 3, 37.09/10.37 "scope": 1, 37.09/10.37 "term": "(s2 T1 T2)" 37.09/10.37 }], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": ["T1"], 37.09/10.37 "free": [], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "443": { 37.09/10.37 "goal": [], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": [], 37.09/10.37 "free": [], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "203": { 37.09/10.37 "goal": [], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": [], 37.09/10.37 "free": [], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "401": { 37.09/10.37 "goal": [{ 37.09/10.37 "clause": -1, 37.09/10.37 "scope": -1, 37.09/10.37 "term": "(true)" 37.09/10.37 }], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": [], 37.09/10.37 "free": [], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "423": { 37.09/10.37 "goal": [{ 37.09/10.37 "clause": -1, 37.09/10.37 "scope": -1, 37.09/10.37 "term": "(isNat T95)" 37.09/10.37 }], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": ["T95"], 37.09/10.37 "free": [], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "445": { 37.09/10.37 "goal": [{ 37.09/10.37 "clause": -1, 37.09/10.37 "scope": -1, 37.09/10.37 "term": "(true)" 37.09/10.37 }], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": [], 37.09/10.37 "free": [], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "226": { 37.09/10.37 "goal": [{ 37.09/10.37 "clause": -1, 37.09/10.37 "scope": -1, 37.09/10.37 "term": "(s2 (plus T42 T41) T44)" 37.09/10.37 }], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": [ 37.09/10.37 "T41", 37.09/10.37 "T42" 37.09/10.37 ], 37.09/10.37 "free": [], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "248": { 37.09/10.37 "goal": [{ 37.09/10.37 "clause": 4, 37.09/10.37 "scope": 1, 37.09/10.37 "term": "(s2 T1 T2)" 37.09/10.37 }], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": ["T1"], 37.09/10.37 "free": [], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "402": { 37.09/10.37 "goal": [], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": [], 37.09/10.37 "free": [], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "424": { 37.09/10.37 "goal": [{ 37.09/10.37 "clause": -1, 37.09/10.37 "scope": -1, 37.09/10.37 "term": "(add T94 T95 T97)" 37.09/10.37 }], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": [ 37.09/10.37 "T94", 37.09/10.37 "T95" 37.09/10.37 ], 37.09/10.37 "free": [], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "446": { 37.09/10.37 "goal": [], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": [], 37.09/10.37 "free": [], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "227": { 37.09/10.37 "goal": [], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": [], 37.09/10.37 "free": [], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "403": { 37.09/10.37 "goal": [], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": [], 37.09/10.37 "free": [], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "447": { 37.09/10.37 "goal": [], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": [], 37.09/10.37 "free": [], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "229": { 37.09/10.37 "goal": [{ 37.09/10.37 "clause": 2, 37.09/10.37 "scope": 1, 37.09/10.37 "term": "(s2 T1 T2)" 37.09/10.37 }], 37.09/10.37 "kb": { 37.09/10.37 "nonunifying": [], 37.09/10.37 "intvars": {}, 37.09/10.37 "arithmetic": { 37.09/10.37 "type": "PlainIntegerRelationState", 37.09/10.37 "relations": [] 37.09/10.37 }, 37.09/10.37 "ground": ["T1"], 37.09/10.37 "free": [], 37.09/10.37 "exprvars": [] 37.09/10.37 } 37.09/10.37 } 37.09/10.37 }, 37.09/10.37 "edges": [ 37.09/10.37 { 37.09/10.37 "from": 47, 37.09/10.37 "to": 195, 37.09/10.37 "label": "CASE" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 195, 37.09/10.37 "to": 198, 37.09/10.37 "label": "PARALLEL" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 195, 37.09/10.37 "to": 199, 37.09/10.37 "label": "PARALLEL" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 198, 37.09/10.37 "to": 201, 37.09/10.37 "label": "EVAL with clause\ns2(plus(X17, plus(X18, X19)), X20) :- s2(plus(plus(X17, X18), X19), X20).\nand substitutionX17 -> T19,\nX18 -> T20,\nX19 -> T21,\nT1 -> plus(T19, plus(T20, T21)),\nT2 -> T23,\nX20 -> T23,\nT22 -> T23" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 198, 37.09/10.37 "to": 203, 37.09/10.37 "label": "EVAL-BACKTRACK" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 199, 37.09/10.37 "to": 222, 37.09/10.37 "label": "PARALLEL" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 199, 37.09/10.37 "to": 223, 37.09/10.37 "label": "PARALLEL" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 201, 37.09/10.37 "to": 47, 37.09/10.37 "label": "INSTANCE with matching:\nT1 -> plus(plus(T19, T20), T21)\nT2 -> T23" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 222, 37.09/10.37 "to": 226, 37.09/10.37 "label": "EVAL with clause\ns2(plus(X37, X38), X39) :- s2(plus(X38, X37), X39).\nand substitutionX37 -> T41,\nX38 -> T42,\nT1 -> plus(T41, T42),\nT2 -> T44,\nX39 -> T44,\nT43 -> T44" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 222, 37.09/10.37 "to": 227, 37.09/10.37 "label": "EVAL-BACKTRACK" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 223, 37.09/10.37 "to": 229, 37.09/10.37 "label": "PARALLEL" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 223, 37.09/10.37 "to": 230, 37.09/10.37 "label": "PARALLEL" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 226, 37.09/10.37 "to": 47, 37.09/10.37 "label": "INSTANCE with matching:\nT1 -> plus(T42, T41)\nT2 -> T44" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 229, 37.09/10.37 "to": 231, 37.09/10.37 "label": "EVAL with clause\ns2(plus(X48, 0), X48).\nand substitutionX48 -> T53,\nT1 -> plus(T53, 0),\nT2 -> T53" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 229, 37.09/10.37 "to": 232, 37.09/10.37 "label": "EVAL-BACKTRACK" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 230, 37.09/10.37 "to": 245, 37.09/10.37 "label": "PARALLEL" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 230, 37.09/10.37 "to": 248, 37.09/10.37 "label": "PARALLEL" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 231, 37.09/10.37 "to": 233, 37.09/10.37 "label": "SUCCESS" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 245, 37.09/10.37 "to": 311, 37.09/10.37 "label": "EVAL with clause\ns2(plus(X65, X66), X67) :- ','(s2(X65, X68), ','(s2(X66, X69), s2(plus(X68, X69), X67))).\nand substitutionX65 -> T66,\nX66 -> T67,\nT1 -> plus(T66, T67),\nT2 -> T69,\nX67 -> T69,\nT68 -> T69" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 245, 37.09/10.37 "to": 321, 37.09/10.37 "label": "EVAL-BACKTRACK" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 248, 37.09/10.37 "to": 390, 37.09/10.37 "label": "EVAL with clause\ns2(plus(X100, X101), X102) :- ','(isNat(X100), ','(isNat(X101), add(X100, X101, X102))).\nand substitutionX100 -> T94,\nX101 -> T95,\nT1 -> plus(T94, T95),\nT2 -> T97,\nX102 -> T97,\nT96 -> T97" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 248, 37.09/10.37 "to": 391, 37.09/10.37 "label": "EVAL-BACKTRACK" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 311, 37.09/10.37 "to": 376, 37.09/10.37 "label": "SPLIT 1" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 311, 37.09/10.37 "to": 377, 37.09/10.37 "label": "SPLIT 2\nnew knowledge:\nT66 is ground\nT73 is ground\nreplacements:X68 -> T73" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 376, 37.09/10.37 "to": 47, 37.09/10.37 "label": "INSTANCE with matching:\nT1 -> T66\nT2 -> X68" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 377, 37.09/10.37 "to": 386, 37.09/10.37 "label": "SPLIT 1" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 377, 37.09/10.37 "to": 387, 37.09/10.37 "label": "SPLIT 2\nnew knowledge:\nT67 is ground\nT80 is ground\nreplacements:X69 -> T80" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 386, 37.09/10.37 "to": 47, 37.09/10.37 "label": "INSTANCE with matching:\nT1 -> T67\nT2 -> X69" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 387, 37.09/10.37 "to": 47, 37.09/10.37 "label": "INSTANCE with matching:\nT1 -> plus(T73, T80)\nT2 -> T69" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 390, 37.09/10.37 "to": 392, 37.09/10.37 "label": "SPLIT 1" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 390, 37.09/10.37 "to": 393, 37.09/10.37 "label": "SPLIT 2\nnew knowledge:\nT94 is ground" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 392, 37.09/10.37 "to": 394, 37.09/10.37 "label": "CASE" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 393, 37.09/10.37 "to": 423, 37.09/10.37 "label": "SPLIT 1" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 393, 37.09/10.37 "to": 424, 37.09/10.37 "label": "SPLIT 2\nnew knowledge:\nT95 is ground" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 394, 37.09/10.37 "to": 395, 37.09/10.37 "label": "PARALLEL" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 394, 37.09/10.37 "to": 396, 37.09/10.37 "label": "PARALLEL" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 395, 37.09/10.37 "to": 397, 37.09/10.37 "label": "EVAL with clause\nisNat(s(X109)) :- isNat(X109).\nand substitutionX109 -> T104,\nT94 -> s(T104)" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 395, 37.09/10.37 "to": 398, 37.09/10.37 "label": "EVAL-BACKTRACK" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 396, 37.09/10.37 "to": 401, 37.09/10.37 "label": "EVAL with clause\nisNat(0).\nand substitutionT94 -> 0" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 396, 37.09/10.37 "to": 402, 37.09/10.37 "label": "EVAL-BACKTRACK" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 397, 37.09/10.37 "to": 392, 37.09/10.37 "label": "INSTANCE with matching:\nT94 -> T104" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 401, 37.09/10.37 "to": 403, 37.09/10.37 "label": "SUCCESS" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 423, 37.09/10.37 "to": 392, 37.09/10.37 "label": "INSTANCE with matching:\nT94 -> T95" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 424, 37.09/10.37 "to": 430, 37.09/10.37 "label": "CASE" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 430, 37.09/10.37 "to": 435, 37.09/10.37 "label": "PARALLEL" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 430, 37.09/10.37 "to": 436, 37.09/10.37 "label": "PARALLEL" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 435, 37.09/10.37 "to": 440, 37.09/10.37 "label": "EVAL with clause\nadd(s(X128), X129, s(X130)) :- add(X128, X129, X130).\nand substitutionX128 -> T123,\nT94 -> s(T123),\nT95 -> T124,\nX129 -> T124,\nX130 -> T126,\nT97 -> s(T126),\nT125 -> T126" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 435, 37.09/10.37 "to": 443, 37.09/10.37 "label": "EVAL-BACKTRACK" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 436, 37.09/10.37 "to": 445, 37.09/10.37 "label": "EVAL with clause\nadd(0, X136, X136).\nand substitutionT94 -> 0,\nT95 -> T132,\nX136 -> T132,\nT97 -> T132" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 436, 37.09/10.37 "to": 446, 37.09/10.37 "label": "EVAL-BACKTRACK" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 440, 37.09/10.37 "to": 424, 37.09/10.37 "label": "INSTANCE with matching:\nT94 -> T123\nT95 -> T124\nT97 -> T126" 37.09/10.37 }, 37.09/10.37 { 37.09/10.37 "from": 445, 37.09/10.37 "to": 447, 37.09/10.37 "label": "SUCCESS" 37.09/10.37 } 37.09/10.37 ], 37.09/10.37 "type": "Graph" 37.09/10.37 } 37.09/10.37 } 37.09/10.37 37.09/10.37 ---------------------------------------- 37.09/10.37 37.09/10.37 (76) 37.09/10.37 Obligation: 37.09/10.37 Q restricted rewrite system: 37.09/10.37 The TRS R consists of the following rules: 37.09/10.37 37.09/10.37 f47_in(plus(T19, plus(T20, T21))) -> U1(f47_in(plus(plus(T19, T20), T21)), plus(T19, plus(T20, T21))) 37.09/10.37 U1(f47_out1(T23), plus(T19, plus(T20, T21))) -> f47_out1(T23) 37.09/10.37 f47_in(plus(T41, T42)) -> U2(f47_in(plus(T42, T41)), plus(T41, T42)) 37.09/10.37 U2(f47_out1(T44), plus(T41, T42)) -> f47_out1(T44) 37.09/10.37 f47_in(plus(T53, 0)) -> f47_out1(T53) 37.09/10.37 f47_in(plus(T66, T67)) -> U3(f311_in(T66, T67), plus(T66, T67)) 37.09/10.37 U3(f311_out1(X68, X69, T69), plus(T66, T67)) -> f47_out1(T69) 37.09/10.37 f47_in(plus(T94, T95)) -> U4(f390_in(T94, T95), plus(T94, T95)) 37.09/10.37 U4(f390_out1(T97), plus(T94, T95)) -> f47_out1(T97) 37.09/10.37 f392_in(s(T104)) -> U5(f392_in(T104), s(T104)) 37.09/10.37 U5(f392_out1, s(T104)) -> f392_out1 37.09/10.37 f392_in(0) -> f392_out1 37.09/10.37 f424_in(s(T123), T124) -> U6(f424_in(T123, T124), s(T123), T124) 37.09/10.37 U6(f424_out1(T126), s(T123), T124) -> f424_out1(s(T126)) 37.09/10.37 f424_in(0, T132) -> f424_out1(T132) 37.09/10.37 f311_in(T66, T67) -> U7(f47_in(T66), T66, T67) 37.09/10.37 U7(f47_out1(T73), T66, T67) -> U8(f377_in(T67, T73), T66, T67, T73) 37.09/10.37 U8(f377_out1(X69, T69), T66, T67, T73) -> f311_out1(T73, X69, T69) 37.09/10.37 f377_in(T67, T73) -> U9(f47_in(T67), T67, T73) 37.09/10.37 U9(f47_out1(T80), T67, T73) -> U10(f47_in(plus(T73, T80)), T67, T73, T80) 37.09/10.37 U10(f47_out1(T69), T67, T73, T80) -> f377_out1(T80, T69) 37.09/10.37 f390_in(T94, T95) -> U11(f392_in(T94), T94, T95) 37.09/10.37 U11(f392_out1, T94, T95) -> U12(f393_in(T95, T94), T94, T95) 37.09/10.37 U12(f393_out1(T97), T94, T95) -> f390_out1(T97) 37.09/10.37 f393_in(T95, T94) -> U13(f392_in(T95), T95, T94) 37.09/10.37 U13(f392_out1, T95, T94) -> U14(f424_in(T94, T95), T95, T94) 37.09/10.37 U14(f424_out1(T97), T95, T94) -> f393_out1(T97) 37.09/10.37 37.09/10.37 Q is empty. 37.09/10.37 37.09/10.37 ---------------------------------------- 37.09/10.37 37.09/10.37 (77) DependencyPairsProof (EQUIVALENT) 37.09/10.37 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 37.09/10.37 ---------------------------------------- 37.09/10.37 37.09/10.37 (78) 37.09/10.37 Obligation: 37.09/10.37 Q DP problem: 37.09/10.37 The TRS P consists of the following rules: 37.09/10.37 37.09/10.37 F47_IN(plus(T19, plus(T20, T21))) -> U1^1(f47_in(plus(plus(T19, T20), T21)), plus(T19, plus(T20, T21))) 37.09/10.37 F47_IN(plus(T19, plus(T20, T21))) -> F47_IN(plus(plus(T19, T20), T21)) 37.09/10.37 F47_IN(plus(T41, T42)) -> U2^1(f47_in(plus(T42, T41)), plus(T41, T42)) 37.09/10.37 F47_IN(plus(T41, T42)) -> F47_IN(plus(T42, T41)) 37.09/10.37 F47_IN(plus(T66, T67)) -> U3^1(f311_in(T66, T67), plus(T66, T67)) 37.09/10.37 F47_IN(plus(T66, T67)) -> F311_IN(T66, T67) 37.09/10.37 F47_IN(plus(T94, T95)) -> U4^1(f390_in(T94, T95), plus(T94, T95)) 37.09/10.37 F47_IN(plus(T94, T95)) -> F390_IN(T94, T95) 37.09/10.37 F392_IN(s(T104)) -> U5^1(f392_in(T104), s(T104)) 37.09/10.37 F392_IN(s(T104)) -> F392_IN(T104) 37.09/10.37 F424_IN(s(T123), T124) -> U6^1(f424_in(T123, T124), s(T123), T124) 37.09/10.37 F424_IN(s(T123), T124) -> F424_IN(T123, T124) 37.09/10.37 F311_IN(T66, T67) -> U7^1(f47_in(T66), T66, T67) 37.09/10.37 F311_IN(T66, T67) -> F47_IN(T66) 37.09/10.37 U7^1(f47_out1(T73), T66, T67) -> U8^1(f377_in(T67, T73), T66, T67, T73) 37.09/10.37 U7^1(f47_out1(T73), T66, T67) -> F377_IN(T67, T73) 37.09/10.37 F377_IN(T67, T73) -> U9^1(f47_in(T67), T67, T73) 37.09/10.37 F377_IN(T67, T73) -> F47_IN(T67) 37.09/10.37 U9^1(f47_out1(T80), T67, T73) -> U10^1(f47_in(plus(T73, T80)), T67, T73, T80) 37.09/10.37 U9^1(f47_out1(T80), T67, T73) -> F47_IN(plus(T73, T80)) 37.09/10.37 F390_IN(T94, T95) -> U11^1(f392_in(T94), T94, T95) 37.09/10.37 F390_IN(T94, T95) -> F392_IN(T94) 37.09/10.37 U11^1(f392_out1, T94, T95) -> U12^1(f393_in(T95, T94), T94, T95) 37.09/10.37 U11^1(f392_out1, T94, T95) -> F393_IN(T95, T94) 37.09/10.37 F393_IN(T95, T94) -> U13^1(f392_in(T95), T95, T94) 37.09/10.37 F393_IN(T95, T94) -> F392_IN(T95) 37.09/10.37 U13^1(f392_out1, T95, T94) -> U14^1(f424_in(T94, T95), T95, T94) 37.09/10.37 U13^1(f392_out1, T95, T94) -> F424_IN(T94, T95) 37.09/10.37 37.09/10.37 The TRS R consists of the following rules: 37.09/10.37 37.09/10.37 f47_in(plus(T19, plus(T20, T21))) -> U1(f47_in(plus(plus(T19, T20), T21)), plus(T19, plus(T20, T21))) 37.09/10.37 U1(f47_out1(T23), plus(T19, plus(T20, T21))) -> f47_out1(T23) 37.09/10.37 f47_in(plus(T41, T42)) -> U2(f47_in(plus(T42, T41)), plus(T41, T42)) 37.09/10.37 U2(f47_out1(T44), plus(T41, T42)) -> f47_out1(T44) 37.09/10.37 f47_in(plus(T53, 0)) -> f47_out1(T53) 37.09/10.37 f47_in(plus(T66, T67)) -> U3(f311_in(T66, T67), plus(T66, T67)) 37.09/10.37 U3(f311_out1(X68, X69, T69), plus(T66, T67)) -> f47_out1(T69) 37.09/10.37 f47_in(plus(T94, T95)) -> U4(f390_in(T94, T95), plus(T94, T95)) 37.09/10.37 U4(f390_out1(T97), plus(T94, T95)) -> f47_out1(T97) 37.09/10.37 f392_in(s(T104)) -> U5(f392_in(T104), s(T104)) 37.09/10.37 U5(f392_out1, s(T104)) -> f392_out1 37.09/10.37 f392_in(0) -> f392_out1 37.09/10.37 f424_in(s(T123), T124) -> U6(f424_in(T123, T124), s(T123), T124) 37.09/10.37 U6(f424_out1(T126), s(T123), T124) -> f424_out1(s(T126)) 37.09/10.37 f424_in(0, T132) -> f424_out1(T132) 37.09/10.37 f311_in(T66, T67) -> U7(f47_in(T66), T66, T67) 37.09/10.37 U7(f47_out1(T73), T66, T67) -> U8(f377_in(T67, T73), T66, T67, T73) 37.09/10.37 U8(f377_out1(X69, T69), T66, T67, T73) -> f311_out1(T73, X69, T69) 37.09/10.37 f377_in(T67, T73) -> U9(f47_in(T67), T67, T73) 37.09/10.37 U9(f47_out1(T80), T67, T73) -> U10(f47_in(plus(T73, T80)), T67, T73, T80) 37.09/10.37 U10(f47_out1(T69), T67, T73, T80) -> f377_out1(T80, T69) 37.09/10.37 f390_in(T94, T95) -> U11(f392_in(T94), T94, T95) 37.09/10.37 U11(f392_out1, T94, T95) -> U12(f393_in(T95, T94), T94, T95) 37.09/10.37 U12(f393_out1(T97), T94, T95) -> f390_out1(T97) 37.09/10.37 f393_in(T95, T94) -> U13(f392_in(T95), T95, T94) 37.09/10.37 U13(f392_out1, T95, T94) -> U14(f424_in(T94, T95), T95, T94) 37.09/10.37 U14(f424_out1(T97), T95, T94) -> f393_out1(T97) 37.09/10.37 37.09/10.37 Q is empty. 37.09/10.37 We have to consider all minimal (P,Q,R)-chains. 37.09/10.37 ---------------------------------------- 37.09/10.37 37.09/10.37 (79) DependencyGraphProof (EQUIVALENT) 37.09/10.37 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 17 less nodes. 37.09/10.37 ---------------------------------------- 37.09/10.37 37.09/10.37 (80) 37.09/10.37 Complex Obligation (AND) 37.09/10.37 37.09/10.37 ---------------------------------------- 37.09/10.37 37.09/10.37 (81) 37.09/10.37 Obligation: 37.09/10.37 Q DP problem: 37.09/10.37 The TRS P consists of the following rules: 37.09/10.37 37.09/10.37 F424_IN(s(T123), T124) -> F424_IN(T123, T124) 37.09/10.37 37.09/10.37 The TRS R consists of the following rules: 37.09/10.37 37.09/10.37 f47_in(plus(T19, plus(T20, T21))) -> U1(f47_in(plus(plus(T19, T20), T21)), plus(T19, plus(T20, T21))) 37.09/10.37 U1(f47_out1(T23), plus(T19, plus(T20, T21))) -> f47_out1(T23) 37.09/10.37 f47_in(plus(T41, T42)) -> U2(f47_in(plus(T42, T41)), plus(T41, T42)) 37.09/10.37 U2(f47_out1(T44), plus(T41, T42)) -> f47_out1(T44) 37.09/10.37 f47_in(plus(T53, 0)) -> f47_out1(T53) 37.09/10.37 f47_in(plus(T66, T67)) -> U3(f311_in(T66, T67), plus(T66, T67)) 37.09/10.37 U3(f311_out1(X68, X69, T69), plus(T66, T67)) -> f47_out1(T69) 37.09/10.37 f47_in(plus(T94, T95)) -> U4(f390_in(T94, T95), plus(T94, T95)) 37.09/10.37 U4(f390_out1(T97), plus(T94, T95)) -> f47_out1(T97) 37.09/10.37 f392_in(s(T104)) -> U5(f392_in(T104), s(T104)) 37.09/10.37 U5(f392_out1, s(T104)) -> f392_out1 37.09/10.37 f392_in(0) -> f392_out1 37.09/10.37 f424_in(s(T123), T124) -> U6(f424_in(T123, T124), s(T123), T124) 37.09/10.37 U6(f424_out1(T126), s(T123), T124) -> f424_out1(s(T126)) 37.09/10.37 f424_in(0, T132) -> f424_out1(T132) 37.09/10.37 f311_in(T66, T67) -> U7(f47_in(T66), T66, T67) 37.09/10.37 U7(f47_out1(T73), T66, T67) -> U8(f377_in(T67, T73), T66, T67, T73) 37.09/10.37 U8(f377_out1(X69, T69), T66, T67, T73) -> f311_out1(T73, X69, T69) 37.09/10.37 f377_in(T67, T73) -> U9(f47_in(T67), T67, T73) 37.09/10.37 U9(f47_out1(T80), T67, T73) -> U10(f47_in(plus(T73, T80)), T67, T73, T80) 37.09/10.37 U10(f47_out1(T69), T67, T73, T80) -> f377_out1(T80, T69) 37.09/10.37 f390_in(T94, T95) -> U11(f392_in(T94), T94, T95) 37.09/10.37 U11(f392_out1, T94, T95) -> U12(f393_in(T95, T94), T94, T95) 37.09/10.37 U12(f393_out1(T97), T94, T95) -> f390_out1(T97) 37.09/10.37 f393_in(T95, T94) -> U13(f392_in(T95), T95, T94) 37.09/10.37 U13(f392_out1, T95, T94) -> U14(f424_in(T94, T95), T95, T94) 37.09/10.37 U14(f424_out1(T97), T95, T94) -> f393_out1(T97) 37.09/10.37 37.09/10.37 Q is empty. 37.09/10.37 We have to consider all minimal (P,Q,R)-chains. 37.09/10.37 ---------------------------------------- 37.09/10.37 37.09/10.37 (82) UsableRulesProof (EQUIVALENT) 37.09/10.37 We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R. 37.09/10.37 ---------------------------------------- 37.09/10.37 37.09/10.37 (83) 37.09/10.37 Obligation: 37.09/10.37 Q DP problem: 37.09/10.37 The TRS P consists of the following rules: 37.09/10.37 37.09/10.37 F424_IN(s(T123), T124) -> F424_IN(T123, T124) 37.09/10.37 37.09/10.37 R is empty. 37.09/10.37 Q is empty. 37.09/10.37 We have to consider all minimal (P,Q,R)-chains. 37.09/10.37 ---------------------------------------- 37.09/10.37 37.09/10.37 (84) QDPSizeChangeProof (EQUIVALENT) 37.09/10.37 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. 37.09/10.37 37.09/10.37 From the DPs we obtained the following set of size-change graphs: 37.09/10.37 *F424_IN(s(T123), T124) -> F424_IN(T123, T124) 37.09/10.37 The graph contains the following edges 1 > 1, 2 >= 2 37.09/10.37 37.09/10.37 37.09/10.37 ---------------------------------------- 37.09/10.37 37.09/10.37 (85) 37.09/10.37 YES 37.09/10.37 37.09/10.37 ---------------------------------------- 37.09/10.37 37.09/10.37 (86) 37.09/10.37 Obligation: 37.09/10.37 Q DP problem: 37.09/10.37 The TRS P consists of the following rules: 37.09/10.37 37.09/10.37 F392_IN(s(T104)) -> F392_IN(T104) 37.09/10.37 37.09/10.37 The TRS R consists of the following rules: 37.09/10.37 37.09/10.37 f47_in(plus(T19, plus(T20, T21))) -> U1(f47_in(plus(plus(T19, T20), T21)), plus(T19, plus(T20, T21))) 37.09/10.37 U1(f47_out1(T23), plus(T19, plus(T20, T21))) -> f47_out1(T23) 37.09/10.37 f47_in(plus(T41, T42)) -> U2(f47_in(plus(T42, T41)), plus(T41, T42)) 37.09/10.37 U2(f47_out1(T44), plus(T41, T42)) -> f47_out1(T44) 37.09/10.37 f47_in(plus(T53, 0)) -> f47_out1(T53) 37.09/10.37 f47_in(plus(T66, T67)) -> U3(f311_in(T66, T67), plus(T66, T67)) 37.09/10.37 U3(f311_out1(X68, X69, T69), plus(T66, T67)) -> f47_out1(T69) 37.09/10.37 f47_in(plus(T94, T95)) -> U4(f390_in(T94, T95), plus(T94, T95)) 37.09/10.37 U4(f390_out1(T97), plus(T94, T95)) -> f47_out1(T97) 37.09/10.37 f392_in(s(T104)) -> U5(f392_in(T104), s(T104)) 37.09/10.37 U5(f392_out1, s(T104)) -> f392_out1 37.09/10.37 f392_in(0) -> f392_out1 37.09/10.37 f424_in(s(T123), T124) -> U6(f424_in(T123, T124), s(T123), T124) 37.09/10.37 U6(f424_out1(T126), s(T123), T124) -> f424_out1(s(T126)) 37.09/10.37 f424_in(0, T132) -> f424_out1(T132) 37.09/10.37 f311_in(T66, T67) -> U7(f47_in(T66), T66, T67) 37.09/10.37 U7(f47_out1(T73), T66, T67) -> U8(f377_in(T67, T73), T66, T67, T73) 37.09/10.37 U8(f377_out1(X69, T69), T66, T67, T73) -> f311_out1(T73, X69, T69) 37.09/10.37 f377_in(T67, T73) -> U9(f47_in(T67), T67, T73) 37.09/10.37 U9(f47_out1(T80), T67, T73) -> U10(f47_in(plus(T73, T80)), T67, T73, T80) 37.09/10.37 U10(f47_out1(T69), T67, T73, T80) -> f377_out1(T80, T69) 37.09/10.37 f390_in(T94, T95) -> U11(f392_in(T94), T94, T95) 37.09/10.37 U11(f392_out1, T94, T95) -> U12(f393_in(T95, T94), T94, T95) 37.09/10.37 U12(f393_out1(T97), T94, T95) -> f390_out1(T97) 37.09/10.37 f393_in(T95, T94) -> U13(f392_in(T95), T95, T94) 37.09/10.37 U13(f392_out1, T95, T94) -> U14(f424_in(T94, T95), T95, T94) 37.09/10.37 U14(f424_out1(T97), T95, T94) -> f393_out1(T97) 37.09/10.37 37.09/10.37 Q is empty. 37.09/10.37 We have to consider all minimal (P,Q,R)-chains. 37.09/10.37 ---------------------------------------- 37.09/10.37 37.09/10.37 (87) UsableRulesProof (EQUIVALENT) 37.09/10.37 We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R. 37.09/10.37 ---------------------------------------- 37.09/10.37 37.09/10.37 (88) 37.09/10.37 Obligation: 37.09/10.37 Q DP problem: 37.09/10.37 The TRS P consists of the following rules: 37.09/10.37 37.09/10.37 F392_IN(s(T104)) -> F392_IN(T104) 37.09/10.37 37.09/10.37 R is empty. 37.09/10.37 Q is empty. 37.09/10.37 We have to consider all minimal (P,Q,R)-chains. 37.09/10.37 ---------------------------------------- 37.09/10.37 37.09/10.37 (89) QDPSizeChangeProof (EQUIVALENT) 37.09/10.37 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. 37.09/10.37 37.09/10.37 From the DPs we obtained the following set of size-change graphs: 37.09/10.37 *F392_IN(s(T104)) -> F392_IN(T104) 37.09/10.37 The graph contains the following edges 1 > 1 37.09/10.37 37.09/10.37 37.09/10.37 ---------------------------------------- 37.09/10.37 37.09/10.37 (90) 37.09/10.37 YES 37.09/10.37 37.09/10.37 ---------------------------------------- 37.09/10.37 37.09/10.37 (91) 37.09/10.37 Obligation: 37.09/10.37 Q DP problem: 37.09/10.37 The TRS P consists of the following rules: 37.09/10.37 37.09/10.37 F47_IN(plus(T41, T42)) -> F47_IN(plus(T42, T41)) 37.09/10.37 F47_IN(plus(T19, plus(T20, T21))) -> F47_IN(plus(plus(T19, T20), T21)) 37.09/10.37 F47_IN(plus(T66, T67)) -> F311_IN(T66, T67) 37.09/10.37 F311_IN(T66, T67) -> U7^1(f47_in(T66), T66, T67) 37.09/10.37 U7^1(f47_out1(T73), T66, T67) -> F377_IN(T67, T73) 37.09/10.37 F377_IN(T67, T73) -> U9^1(f47_in(T67), T67, T73) 37.09/10.37 U9^1(f47_out1(T80), T67, T73) -> F47_IN(plus(T73, T80)) 37.09/10.37 F377_IN(T67, T73) -> F47_IN(T67) 37.09/10.37 F311_IN(T66, T67) -> F47_IN(T66) 37.09/10.37 37.09/10.37 The TRS R consists of the following rules: 37.09/10.37 37.09/10.37 f47_in(plus(T19, plus(T20, T21))) -> U1(f47_in(plus(plus(T19, T20), T21)), plus(T19, plus(T20, T21))) 37.09/10.37 U1(f47_out1(T23), plus(T19, plus(T20, T21))) -> f47_out1(T23) 37.09/10.37 f47_in(plus(T41, T42)) -> U2(f47_in(plus(T42, T41)), plus(T41, T42)) 37.09/10.37 U2(f47_out1(T44), plus(T41, T42)) -> f47_out1(T44) 37.09/10.37 f47_in(plus(T53, 0)) -> f47_out1(T53) 37.09/10.37 f47_in(plus(T66, T67)) -> U3(f311_in(T66, T67), plus(T66, T67)) 37.09/10.37 U3(f311_out1(X68, X69, T69), plus(T66, T67)) -> f47_out1(T69) 37.09/10.37 f47_in(plus(T94, T95)) -> U4(f390_in(T94, T95), plus(T94, T95)) 37.09/10.37 U4(f390_out1(T97), plus(T94, T95)) -> f47_out1(T97) 37.09/10.37 f392_in(s(T104)) -> U5(f392_in(T104), s(T104)) 37.09/10.37 U5(f392_out1, s(T104)) -> f392_out1 37.09/10.37 f392_in(0) -> f392_out1 37.09/10.37 f424_in(s(T123), T124) -> U6(f424_in(T123, T124), s(T123), T124) 37.09/10.37 U6(f424_out1(T126), s(T123), T124) -> f424_out1(s(T126)) 37.09/10.37 f424_in(0, T132) -> f424_out1(T132) 37.09/10.37 f311_in(T66, T67) -> U7(f47_in(T66), T66, T67) 37.09/10.37 U7(f47_out1(T73), T66, T67) -> U8(f377_in(T67, T73), T66, T67, T73) 37.09/10.37 U8(f377_out1(X69, T69), T66, T67, T73) -> f311_out1(T73, X69, T69) 37.09/10.37 f377_in(T67, T73) -> U9(f47_in(T67), T67, T73) 37.09/10.37 U9(f47_out1(T80), T67, T73) -> U10(f47_in(plus(T73, T80)), T67, T73, T80) 37.09/10.37 U10(f47_out1(T69), T67, T73, T80) -> f377_out1(T80, T69) 37.09/10.37 f390_in(T94, T95) -> U11(f392_in(T94), T94, T95) 37.09/10.37 U11(f392_out1, T94, T95) -> U12(f393_in(T95, T94), T94, T95) 37.09/10.37 U12(f393_out1(T97), T94, T95) -> f390_out1(T97) 37.09/10.37 f393_in(T95, T94) -> U13(f392_in(T95), T95, T94) 37.09/10.37 U13(f392_out1, T95, T94) -> U14(f424_in(T94, T95), T95, T94) 37.09/10.37 U14(f424_out1(T97), T95, T94) -> f393_out1(T97) 37.09/10.37 37.09/10.37 Q is empty. 37.09/10.37 We have to consider all minimal (P,Q,R)-chains. 37.09/10.37 ---------------------------------------- 37.09/10.37 37.09/10.37 (92) QDPOrderProof (EQUIVALENT) 37.09/10.37 We use the reduction pair processor [LPAR04,JAR06]. 37.09/10.37 37.09/10.37 37.09/10.37 The following pairs can be oriented strictly and are deleted. 37.09/10.37 37.09/10.37 F311_IN(T66, T67) -> U7^1(f47_in(T66), T66, T67) 37.09/10.37 U7^1(f47_out1(T73), T66, T67) -> F377_IN(T67, T73) 37.09/10.37 F311_IN(T66, T67) -> F47_IN(T66) 37.09/10.37 The remaining pairs can at least be oriented weakly. 37.09/10.37 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 37.09/10.37 37.09/10.37 POL( U7^1_3(x_1, ..., x_3) ) = max{0, x_1 + 2x_3 - 1} 37.09/10.37 POL( U9^1_3(x_1, ..., x_3) ) = max{0, x_1 + 2x_3 - 1} 37.09/10.37 POL( f47_in_1(x_1) ) = 2x_1 37.09/10.37 POL( plus_2(x_1, x_2) ) = x_1 + x_2 + 1 37.09/10.37 POL( U1_2(x_1, x_2) ) = x_1 37.09/10.37 POL( U2_2(x_1, x_2) ) = x_1 37.09/10.37 POL( 0 ) = 0 37.09/10.37 POL( f47_out1_1(x_1) ) = 2x_1 + 2 37.09/10.37 POL( U3_2(x_1, x_2) ) = x_1 + 2 37.09/10.37 POL( f311_in_2(x_1, x_2) ) = 2x_1 + 2x_2 37.09/10.37 POL( U4_2(x_1, x_2) ) = x_1 + 2 37.09/10.37 POL( f390_in_2(x_1, x_2) ) = 2x_1 + 2x_2 37.09/10.37 POL( f311_out1_3(x_1, ..., x_3) ) = 2x_3 37.09/10.37 POL( U7_3(x_1, ..., x_3) ) = max{0, x_1 + 2x_3 - 2} 37.09/10.37 POL( U8_4(x_1, ..., x_4) ) = x_1 37.09/10.37 POL( f377_in_2(x_1, x_2) ) = 2x_1 + 2x_2 37.09/10.37 POL( f377_out1_2(x_1, x_2) ) = 2x_2 37.09/10.37 POL( U9_3(x_1, ..., x_3) ) = max{0, x_1 + 2x_3 - 2} 37.09/10.37 POL( U10_4(x_1, ..., x_4) ) = max{0, x_1 - 2} 37.09/10.37 POL( U11_3(x_1, ..., x_3) ) = 2x_1 + 2x_2 + 2x_3 37.09/10.37 POL( f392_in_1(x_1) ) = 0 37.09/10.37 POL( f390_out1_1(x_1) ) = 2x_1 37.09/10.37 POL( U12_3(x_1, ..., x_3) ) = max{0, x_1 - 2} 37.09/10.37 POL( U13_3(x_1, ..., x_3) ) = 2x_2 + 2x_3 + 2 37.09/10.37 POL( s_1(x_1) ) = 1 37.09/10.37 POL( U5_2(x_1, x_2) ) = max{0, -2} 37.09/10.37 POL( f392_out1 ) = 0 37.09/10.37 POL( f393_in_2(x_1, x_2) ) = 2x_1 + 2x_2 + 2 37.09/10.37 POL( f393_out1_1(x_1) ) = 2x_1 + 2 37.09/10.37 POL( U14_3(x_1, ..., x_3) ) = x_1 + 2 37.09/10.37 POL( f424_in_2(x_1, x_2) ) = 2x_1 + 2x_2 37.09/10.37 POL( U6_3(x_1, ..., x_3) ) = 2x_2 37.09/10.37 POL( f424_out1_1(x_1) ) = 2x_1 37.09/10.37 POL( F47_IN_1(x_1) ) = max{0, 2x_1 - 1} 37.09/10.37 POL( F311_IN_2(x_1, x_2) ) = 2x_1 + 2x_2 + 1 37.09/10.37 POL( F377_IN_2(x_1, x_2) ) = 2x_1 + 2x_2 37.09/10.37 37.09/10.37 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 37.09/10.37 37.09/10.37 f47_in(plus(T19, plus(T20, T21))) -> U1(f47_in(plus(plus(T19, T20), T21)), plus(T19, plus(T20, T21))) 37.09/10.37 f47_in(plus(T41, T42)) -> U2(f47_in(plus(T42, T41)), plus(T41, T42)) 37.09/10.37 f47_in(plus(T53, 0)) -> f47_out1(T53) 37.09/10.37 f47_in(plus(T66, T67)) -> U3(f311_in(T66, T67), plus(T66, T67)) 37.09/10.37 f47_in(plus(T94, T95)) -> U4(f390_in(T94, T95), plus(T94, T95)) 37.09/10.37 U2(f47_out1(T44), plus(T41, T42)) -> f47_out1(T44) 37.09/10.37 U1(f47_out1(T23), plus(T19, plus(T20, T21))) -> f47_out1(T23) 37.09/10.37 U3(f311_out1(X68, X69, T69), plus(T66, T67)) -> f47_out1(T69) 37.09/10.37 f311_in(T66, T67) -> U7(f47_in(T66), T66, T67) 37.09/10.37 U7(f47_out1(T73), T66, T67) -> U8(f377_in(T67, T73), T66, T67, T73) 37.09/10.37 U8(f377_out1(X69, T69), T66, T67, T73) -> f311_out1(T73, X69, T69) 37.09/10.37 f377_in(T67, T73) -> U9(f47_in(T67), T67, T73) 37.09/10.37 U9(f47_out1(T80), T67, T73) -> U10(f47_in(plus(T73, T80)), T67, T73, T80) 37.09/10.37 U10(f47_out1(T69), T67, T73, T80) -> f377_out1(T80, T69) 37.09/10.37 f390_in(T94, T95) -> U11(f392_in(T94), T94, T95) 37.09/10.37 U4(f390_out1(T97), plus(T94, T95)) -> f47_out1(T97) 37.09/10.37 f392_in(s(T104)) -> U5(f392_in(T104), s(T104)) 37.09/10.37 f392_in(0) -> f392_out1 37.09/10.37 U11(f392_out1, T94, T95) -> U12(f393_in(T95, T94), T94, T95) 37.09/10.37 f393_in(T95, T94) -> U13(f392_in(T95), T95, T94) 37.09/10.37 U12(f393_out1(T97), T94, T95) -> f390_out1(T97) 37.09/10.37 U13(f392_out1, T95, T94) -> U14(f424_in(T94, T95), T95, T94) 37.09/10.37 U5(f392_out1, s(T104)) -> f392_out1 37.09/10.37 f424_in(s(T123), T124) -> U6(f424_in(T123, T124), s(T123), T124) 37.09/10.37 f424_in(0, T132) -> f424_out1(T132) 37.09/10.37 U14(f424_out1(T97), T95, T94) -> f393_out1(T97) 37.09/10.37 U6(f424_out1(T126), s(T123), T124) -> f424_out1(s(T126)) 37.09/10.37 37.09/10.37 37.09/10.37 ---------------------------------------- 37.09/10.37 37.09/10.37 (93) 37.09/10.37 Obligation: 37.09/10.37 Q DP problem: 37.09/10.37 The TRS P consists of the following rules: 37.09/10.37 37.09/10.37 F47_IN(plus(T41, T42)) -> F47_IN(plus(T42, T41)) 37.09/10.37 F47_IN(plus(T19, plus(T20, T21))) -> F47_IN(plus(plus(T19, T20), T21)) 37.09/10.37 F47_IN(plus(T66, T67)) -> F311_IN(T66, T67) 37.09/10.37 F377_IN(T67, T73) -> U9^1(f47_in(T67), T67, T73) 37.09/10.37 U9^1(f47_out1(T80), T67, T73) -> F47_IN(plus(T73, T80)) 37.09/10.37 F377_IN(T67, T73) -> F47_IN(T67) 37.09/10.37 37.09/10.37 The TRS R consists of the following rules: 37.09/10.37 37.09/10.37 f47_in(plus(T19, plus(T20, T21))) -> U1(f47_in(plus(plus(T19, T20), T21)), plus(T19, plus(T20, T21))) 37.09/10.37 U1(f47_out1(T23), plus(T19, plus(T20, T21))) -> f47_out1(T23) 37.09/10.37 f47_in(plus(T41, T42)) -> U2(f47_in(plus(T42, T41)), plus(T41, T42)) 37.09/10.37 U2(f47_out1(T44), plus(T41, T42)) -> f47_out1(T44) 37.09/10.37 f47_in(plus(T53, 0)) -> f47_out1(T53) 37.09/10.37 f47_in(plus(T66, T67)) -> U3(f311_in(T66, T67), plus(T66, T67)) 37.09/10.37 U3(f311_out1(X68, X69, T69), plus(T66, T67)) -> f47_out1(T69) 37.09/10.37 f47_in(plus(T94, T95)) -> U4(f390_in(T94, T95), plus(T94, T95)) 37.09/10.37 U4(f390_out1(T97), plus(T94, T95)) -> f47_out1(T97) 37.09/10.37 f392_in(s(T104)) -> U5(f392_in(T104), s(T104)) 37.09/10.37 U5(f392_out1, s(T104)) -> f392_out1 37.09/10.37 f392_in(0) -> f392_out1 37.09/10.37 f424_in(s(T123), T124) -> U6(f424_in(T123, T124), s(T123), T124) 37.09/10.37 U6(f424_out1(T126), s(T123), T124) -> f424_out1(s(T126)) 37.09/10.38 f424_in(0, T132) -> f424_out1(T132) 37.09/10.38 f311_in(T66, T67) -> U7(f47_in(T66), T66, T67) 37.09/10.38 U7(f47_out1(T73), T66, T67) -> U8(f377_in(T67, T73), T66, T67, T73) 37.09/10.38 U8(f377_out1(X69, T69), T66, T67, T73) -> f311_out1(T73, X69, T69) 37.09/10.38 f377_in(T67, T73) -> U9(f47_in(T67), T67, T73) 37.09/10.38 U9(f47_out1(T80), T67, T73) -> U10(f47_in(plus(T73, T80)), T67, T73, T80) 37.09/10.38 U10(f47_out1(T69), T67, T73, T80) -> f377_out1(T80, T69) 37.09/10.38 f390_in(T94, T95) -> U11(f392_in(T94), T94, T95) 37.09/10.38 U11(f392_out1, T94, T95) -> U12(f393_in(T95, T94), T94, T95) 37.09/10.38 U12(f393_out1(T97), T94, T95) -> f390_out1(T97) 37.09/10.38 f393_in(T95, T94) -> U13(f392_in(T95), T95, T94) 37.09/10.38 U13(f392_out1, T95, T94) -> U14(f424_in(T94, T95), T95, T94) 37.09/10.38 U14(f424_out1(T97), T95, T94) -> f393_out1(T97) 37.09/10.38 37.09/10.38 Q is empty. 37.09/10.38 We have to consider all minimal (P,Q,R)-chains. 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (94) DependencyGraphProof (EQUIVALENT) 37.09/10.38 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 4 less nodes. 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (95) 37.09/10.38 Obligation: 37.09/10.38 Q DP problem: 37.09/10.38 The TRS P consists of the following rules: 37.09/10.38 37.09/10.38 F47_IN(plus(T19, plus(T20, T21))) -> F47_IN(plus(plus(T19, T20), T21)) 37.09/10.38 F47_IN(plus(T41, T42)) -> F47_IN(plus(T42, T41)) 37.09/10.38 37.09/10.38 The TRS R consists of the following rules: 37.09/10.38 37.09/10.38 f47_in(plus(T19, plus(T20, T21))) -> U1(f47_in(plus(plus(T19, T20), T21)), plus(T19, plus(T20, T21))) 37.09/10.38 U1(f47_out1(T23), plus(T19, plus(T20, T21))) -> f47_out1(T23) 37.09/10.38 f47_in(plus(T41, T42)) -> U2(f47_in(plus(T42, T41)), plus(T41, T42)) 37.09/10.38 U2(f47_out1(T44), plus(T41, T42)) -> f47_out1(T44) 37.09/10.38 f47_in(plus(T53, 0)) -> f47_out1(T53) 37.09/10.38 f47_in(plus(T66, T67)) -> U3(f311_in(T66, T67), plus(T66, T67)) 37.09/10.38 U3(f311_out1(X68, X69, T69), plus(T66, T67)) -> f47_out1(T69) 37.09/10.38 f47_in(plus(T94, T95)) -> U4(f390_in(T94, T95), plus(T94, T95)) 37.09/10.38 U4(f390_out1(T97), plus(T94, T95)) -> f47_out1(T97) 37.09/10.38 f392_in(s(T104)) -> U5(f392_in(T104), s(T104)) 37.09/10.38 U5(f392_out1, s(T104)) -> f392_out1 37.09/10.38 f392_in(0) -> f392_out1 37.09/10.38 f424_in(s(T123), T124) -> U6(f424_in(T123, T124), s(T123), T124) 37.09/10.38 U6(f424_out1(T126), s(T123), T124) -> f424_out1(s(T126)) 37.09/10.38 f424_in(0, T132) -> f424_out1(T132) 37.09/10.38 f311_in(T66, T67) -> U7(f47_in(T66), T66, T67) 37.09/10.38 U7(f47_out1(T73), T66, T67) -> U8(f377_in(T67, T73), T66, T67, T73) 37.09/10.38 U8(f377_out1(X69, T69), T66, T67, T73) -> f311_out1(T73, X69, T69) 37.09/10.38 f377_in(T67, T73) -> U9(f47_in(T67), T67, T73) 37.09/10.38 U9(f47_out1(T80), T67, T73) -> U10(f47_in(plus(T73, T80)), T67, T73, T80) 37.09/10.38 U10(f47_out1(T69), T67, T73, T80) -> f377_out1(T80, T69) 37.09/10.38 f390_in(T94, T95) -> U11(f392_in(T94), T94, T95) 37.09/10.38 U11(f392_out1, T94, T95) -> U12(f393_in(T95, T94), T94, T95) 37.09/10.38 U12(f393_out1(T97), T94, T95) -> f390_out1(T97) 37.09/10.38 f393_in(T95, T94) -> U13(f392_in(T95), T95, T94) 37.09/10.38 U13(f392_out1, T95, T94) -> U14(f424_in(T94, T95), T95, T94) 37.09/10.38 U14(f424_out1(T97), T95, T94) -> f393_out1(T97) 37.09/10.38 37.09/10.38 Q is empty. 37.09/10.38 We have to consider all minimal (P,Q,R)-chains. 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (96) UsableRulesProof (EQUIVALENT) 37.09/10.38 We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R. 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (97) 37.09/10.38 Obligation: 37.09/10.38 Q DP problem: 37.09/10.38 The TRS P consists of the following rules: 37.09/10.38 37.09/10.38 F47_IN(plus(T19, plus(T20, T21))) -> F47_IN(plus(plus(T19, T20), T21)) 37.09/10.38 F47_IN(plus(T41, T42)) -> F47_IN(plus(T42, T41)) 37.09/10.38 37.09/10.38 R is empty. 37.09/10.38 Q is empty. 37.09/10.38 We have to consider all minimal (P,Q,R)-chains. 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (98) NonTerminationLoopProof (COMPLETE) 37.09/10.38 We used the non-termination processor [FROCOS05] to show that the DP problem is infinite. 37.09/10.38 Found a loop by semiunifying a rule from P directly. 37.09/10.38 37.09/10.38 s = F47_IN(plus(T41, T42)) evaluates to t =F47_IN(plus(T42, T41)) 37.09/10.38 37.09/10.38 Thus s starts an infinite chain as s semiunifies with t with the following substitutions: 37.09/10.38 * Matcher: [T41 / T42, T42 / T41] 37.09/10.38 * Semiunifier: [ ] 37.09/10.38 37.09/10.38 -------------------------------------------------------------------------------- 37.09/10.38 Rewriting sequence 37.09/10.38 37.09/10.38 The DP semiunifies directly so there is only one rewrite step from F47_IN(plus(T41, T42)) to F47_IN(plus(T42, T41)). 37.09/10.38 37.09/10.38 37.09/10.38 37.09/10.38 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (99) 37.09/10.38 NO 37.09/10.38 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (100) PrologToIRSwTTransformerProof (SOUND) 37.09/10.38 Transformed Prolog program to IRSwT according to method in Master Thesis of A. Weinert 37.09/10.38 37.09/10.38 { 37.09/10.38 "root": 1, 37.09/10.38 "program": { 37.09/10.38 "directives": [], 37.09/10.38 "clauses": [ 37.09/10.38 [ 37.09/10.38 "(s2 (plus A (plus B C)) D)", 37.09/10.38 "(s2 (plus (plus A B) C) D)" 37.09/10.38 ], 37.09/10.38 [ 37.09/10.38 "(s2 (plus A B) C)", 37.09/10.38 "(s2 (plus B A) C)" 37.09/10.38 ], 37.09/10.38 [ 37.09/10.38 "(s2 (plus X (0)) X)", 37.09/10.38 null 37.09/10.38 ], 37.09/10.38 [ 37.09/10.38 "(s2 (plus X Y) Z)", 37.09/10.38 "(',' (s2 X A) (',' (s2 Y B) (s2 (plus A B) Z)))" 37.09/10.38 ], 37.09/10.38 [ 37.09/10.38 "(s2 (plus A B) C)", 37.09/10.38 "(',' (isNat A) (',' (isNat B) (add A B C)))" 37.09/10.38 ], 37.09/10.38 [ 37.09/10.38 "(isNat (s X))", 37.09/10.38 "(isNat X)" 37.09/10.38 ], 37.09/10.38 [ 37.09/10.38 "(isNat (0))", 37.09/10.38 null 37.09/10.38 ], 37.09/10.38 [ 37.09/10.38 "(add (s X) Y (s Z))", 37.09/10.38 "(add X Y Z)" 37.09/10.38 ], 37.09/10.38 [ 37.09/10.38 "(add (0) X X)", 37.09/10.38 null 37.09/10.38 ] 37.09/10.38 ] 37.09/10.38 }, 37.09/10.38 "graph": { 37.09/10.38 "nodes": { 37.09/10.38 "44": { 37.09/10.38 "goal": [ 37.09/10.38 { 37.09/10.38 "clause": 1, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 T1 T2)" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "clause": 2, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 T1 T2)" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "clause": 3, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 T1 T2)" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "clause": 4, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 T1 T2)" 37.09/10.38 } 37.09/10.38 ], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": ["T1"], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "type": "Nodes", 37.09/10.38 "194": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": -1, 37.09/10.38 "scope": -1, 37.09/10.38 "term": "(s2 (plus T42 T41) T44)" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [ 37.09/10.38 "T41", 37.09/10.38 "T42" 37.09/10.38 ], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "450": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": -1, 37.09/10.38 "scope": -1, 37.09/10.38 "term": "(add T123 T124 T126)" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [ 37.09/10.38 "T123", 37.09/10.38 "T124" 37.09/10.38 ], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "451": { 37.09/10.38 "goal": [], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "452": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": -1, 37.09/10.38 "scope": -1, 37.09/10.38 "term": "(true)" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "431": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": 5, 37.09/10.38 "scope": 2, 37.09/10.38 "term": "(isNat T94)" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": ["T94"], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "453": { 37.09/10.38 "goal": [], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "410": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": 3, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 T1 T2)" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": ["T1"], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "432": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": 6, 37.09/10.38 "scope": 2, 37.09/10.38 "term": "(isNat T94)" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": ["T94"], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "454": { 37.09/10.38 "goal": [], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "411": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": 4, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 T1 T2)" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": ["T1"], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "433": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": -1, 37.09/10.38 "scope": -1, 37.09/10.38 "term": "(isNat T104)" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": ["T104"], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "412": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": -1, 37.09/10.38 "scope": -1, 37.09/10.38 "term": "(',' (s2 T66 X68) (',' (s2 T67 X69) (s2 (plus X68 X69) T69)))" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [ 37.09/10.38 "T66", 37.09/10.38 "T67" 37.09/10.38 ], 37.09/10.38 "free": [ 37.09/10.38 "X68", 37.09/10.38 "X69" 37.09/10.38 ], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "434": { 37.09/10.38 "goal": [], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "413": { 37.09/10.38 "goal": [], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "414": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": -1, 37.09/10.38 "scope": -1, 37.09/10.38 "term": "(s2 T66 X68)" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": ["T66"], 37.09/10.38 "free": ["X68"], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "415": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": -1, 37.09/10.38 "scope": -1, 37.09/10.38 "term": "(',' (s2 T67 X69) (s2 (plus T73 X69) T69))" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [ 37.09/10.38 "T67", 37.09/10.38 "T73" 37.09/10.38 ], 37.09/10.38 "free": ["X69"], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "437": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": -1, 37.09/10.38 "scope": -1, 37.09/10.38 "term": "(true)" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "438": { 37.09/10.38 "goal": [], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "439": { 37.09/10.38 "goal": [], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "418": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": -1, 37.09/10.38 "scope": -1, 37.09/10.38 "term": "(s2 T67 X69)" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": ["T67"], 37.09/10.38 "free": ["X69"], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "419": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": -1, 37.09/10.38 "scope": -1, 37.09/10.38 "term": "(s2 (plus T73 T80) T69)" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [ 37.09/10.38 "T73", 37.09/10.38 "T80" 37.09/10.38 ], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "77": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": -1, 37.09/10.38 "scope": -1, 37.09/10.38 "term": "(s2 (plus (plus T19 T20) T21) T23)" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [ 37.09/10.38 "T19", 37.09/10.38 "T20", 37.09/10.38 "T21" 37.09/10.38 ], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "184": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": 1, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 T1 T2)" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": ["T1"], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "185": { 37.09/10.38 "goal": [ 37.09/10.38 { 37.09/10.38 "clause": 2, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 T1 T2)" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "clause": 3, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 T1 T2)" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "clause": 4, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 T1 T2)" 37.09/10.38 } 37.09/10.38 ], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": ["T1"], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "1": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": -1, 37.09/10.38 "scope": -1, 37.09/10.38 "term": "(s2 T1 T2)" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": ["T1"], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "441": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": -1, 37.09/10.38 "scope": -1, 37.09/10.38 "term": "(isNat T95)" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": ["T95"], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "2": { 37.09/10.38 "goal": [ 37.09/10.38 { 37.09/10.38 "clause": 0, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 T1 T2)" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "clause": 1, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 T1 T2)" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "clause": 2, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 T1 T2)" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "clause": 3, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 T1 T2)" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "clause": 4, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 T1 T2)" 37.09/10.38 } 37.09/10.38 ], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": ["T1"], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "442": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": -1, 37.09/10.38 "scope": -1, 37.09/10.38 "term": "(add T94 T95 T97)" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [ 37.09/10.38 "T94", 37.09/10.38 "T95" 37.09/10.38 ], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "444": { 37.09/10.38 "goal": [ 37.09/10.38 { 37.09/10.38 "clause": 7, 37.09/10.38 "scope": 3, 37.09/10.38 "term": "(add T94 T95 T97)" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "clause": 8, 37.09/10.38 "scope": 3, 37.09/10.38 "term": "(add T94 T95 T97)" 37.09/10.38 } 37.09/10.38 ], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [ 37.09/10.38 "T94", 37.09/10.38 "T95" 37.09/10.38 ], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "425": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": -1, 37.09/10.38 "scope": -1, 37.09/10.38 "term": "(',' (isNat T94) (',' (isNat T95) (add T94 T95 T97)))" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [ 37.09/10.38 "T94", 37.09/10.38 "T95" 37.09/10.38 ], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "404": { 37.09/10.38 "goal": [], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "426": { 37.09/10.38 "goal": [], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "448": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": 7, 37.09/10.38 "scope": 3, 37.09/10.38 "term": "(add T94 T95 T97)" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [ 37.09/10.38 "T94", 37.09/10.38 "T95" 37.09/10.38 ], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "405": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": 2, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 T1 T2)" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": ["T1"], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "427": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": -1, 37.09/10.38 "scope": -1, 37.09/10.38 "term": "(isNat T94)" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": ["T94"], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "449": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": 8, 37.09/10.38 "scope": 3, 37.09/10.38 "term": "(add T94 T95 T97)" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [ 37.09/10.38 "T94", 37.09/10.38 "T95" 37.09/10.38 ], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "406": { 37.09/10.38 "goal": [ 37.09/10.38 { 37.09/10.38 "clause": 3, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 T1 T2)" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "clause": 4, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 T1 T2)" 37.09/10.38 } 37.09/10.38 ], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": ["T1"], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "428": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": -1, 37.09/10.38 "scope": -1, 37.09/10.38 "term": "(',' (isNat T95) (add T94 T95 T97))" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [ 37.09/10.38 "T94", 37.09/10.38 "T95" 37.09/10.38 ], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "83": { 37.09/10.38 "goal": [], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "407": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": -1, 37.09/10.38 "scope": -1, 37.09/10.38 "term": "(true)" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "429": { 37.09/10.38 "goal": [ 37.09/10.38 { 37.09/10.38 "clause": 5, 37.09/10.38 "scope": 2, 37.09/10.38 "term": "(isNat T94)" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "clause": 6, 37.09/10.38 "scope": 2, 37.09/10.38 "term": "(isNat T94)" 37.09/10.38 } 37.09/10.38 ], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": ["T94"], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "408": { 37.09/10.38 "goal": [], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "409": { 37.09/10.38 "goal": [], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "43": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": 0, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 T1 T2)" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": ["T1"], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "edges": [ 37.09/10.38 { 37.09/10.38 "from": 1, 37.09/10.38 "to": 2, 37.09/10.38 "label": "CASE" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 2, 37.09/10.38 "to": 43, 37.09/10.38 "label": "PARALLEL" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 2, 37.09/10.38 "to": 44, 37.09/10.38 "label": "PARALLEL" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 43, 37.09/10.38 "to": 77, 37.09/10.38 "label": "EVAL with clause\ns2(plus(X17, plus(X18, X19)), X20) :- s2(plus(plus(X17, X18), X19), X20).\nand substitutionX17 -> T19,\nX18 -> T20,\nX19 -> T21,\nT1 -> plus(T19, plus(T20, T21)),\nT2 -> T23,\nX20 -> T23,\nT22 -> T23" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 43, 37.09/10.38 "to": 83, 37.09/10.38 "label": "EVAL-BACKTRACK" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 44, 37.09/10.38 "to": 184, 37.09/10.38 "label": "PARALLEL" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 44, 37.09/10.38 "to": 185, 37.09/10.38 "label": "PARALLEL" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 77, 37.09/10.38 "to": 1, 37.09/10.38 "label": "INSTANCE with matching:\nT1 -> plus(plus(T19, T20), T21)\nT2 -> T23" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 184, 37.09/10.38 "to": 194, 37.09/10.38 "label": "EVAL with clause\ns2(plus(X37, X38), X39) :- s2(plus(X38, X37), X39).\nand substitutionX37 -> T41,\nX38 -> T42,\nT1 -> plus(T41, T42),\nT2 -> T44,\nX39 -> T44,\nT43 -> T44" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 184, 37.09/10.38 "to": 404, 37.09/10.38 "label": "EVAL-BACKTRACK" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 185, 37.09/10.38 "to": 405, 37.09/10.38 "label": "PARALLEL" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 185, 37.09/10.38 "to": 406, 37.09/10.38 "label": "PARALLEL" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 194, 37.09/10.38 "to": 1, 37.09/10.38 "label": "INSTANCE with matching:\nT1 -> plus(T42, T41)\nT2 -> T44" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 405, 37.09/10.38 "to": 407, 37.09/10.38 "label": "EVAL with clause\ns2(plus(X48, 0), X48).\nand substitutionX48 -> T53,\nT1 -> plus(T53, 0),\nT2 -> T53" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 405, 37.09/10.38 "to": 408, 37.09/10.38 "label": "EVAL-BACKTRACK" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 406, 37.09/10.38 "to": 410, 37.09/10.38 "label": "PARALLEL" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 406, 37.09/10.38 "to": 411, 37.09/10.38 "label": "PARALLEL" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 407, 37.09/10.38 "to": 409, 37.09/10.38 "label": "SUCCESS" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 410, 37.09/10.38 "to": 412, 37.09/10.38 "label": "EVAL with clause\ns2(plus(X65, X66), X67) :- ','(s2(X65, X68), ','(s2(X66, X69), s2(plus(X68, X69), X67))).\nand substitutionX65 -> T66,\nX66 -> T67,\nT1 -> plus(T66, T67),\nT2 -> T69,\nX67 -> T69,\nT68 -> T69" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 410, 37.09/10.38 "to": 413, 37.09/10.38 "label": "EVAL-BACKTRACK" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 411, 37.09/10.38 "to": 425, 37.09/10.38 "label": "EVAL with clause\ns2(plus(X100, X101), X102) :- ','(isNat(X100), ','(isNat(X101), add(X100, X101, X102))).\nand substitutionX100 -> T94,\nX101 -> T95,\nT1 -> plus(T94, T95),\nT2 -> T97,\nX102 -> T97,\nT96 -> T97" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 411, 37.09/10.38 "to": 426, 37.09/10.38 "label": "EVAL-BACKTRACK" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 412, 37.09/10.38 "to": 414, 37.09/10.38 "label": "SPLIT 1" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 412, 37.09/10.38 "to": 415, 37.09/10.38 "label": "SPLIT 2\nnew knowledge:\nT66 is ground\nT73 is ground\nreplacements:X68 -> T73" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 414, 37.09/10.38 "to": 1, 37.09/10.38 "label": "INSTANCE with matching:\nT1 -> T66\nT2 -> X68" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 415, 37.09/10.38 "to": 418, 37.09/10.38 "label": "SPLIT 1" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 415, 37.09/10.38 "to": 419, 37.09/10.38 "label": "SPLIT 2\nnew knowledge:\nT67 is ground\nT80 is ground\nreplacements:X69 -> T80" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 418, 37.09/10.38 "to": 1, 37.09/10.38 "label": "INSTANCE with matching:\nT1 -> T67\nT2 -> X69" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 419, 37.09/10.38 "to": 1, 37.09/10.38 "label": "INSTANCE with matching:\nT1 -> plus(T73, T80)\nT2 -> T69" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 425, 37.09/10.38 "to": 427, 37.09/10.38 "label": "SPLIT 1" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 425, 37.09/10.38 "to": 428, 37.09/10.38 "label": "SPLIT 2\nnew knowledge:\nT94 is ground" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 427, 37.09/10.38 "to": 429, 37.09/10.38 "label": "CASE" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 428, 37.09/10.38 "to": 441, 37.09/10.38 "label": "SPLIT 1" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 428, 37.09/10.38 "to": 442, 37.09/10.38 "label": "SPLIT 2\nnew knowledge:\nT95 is ground" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 429, 37.09/10.38 "to": 431, 37.09/10.38 "label": "PARALLEL" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 429, 37.09/10.38 "to": 432, 37.09/10.38 "label": "PARALLEL" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 431, 37.09/10.38 "to": 433, 37.09/10.38 "label": "EVAL with clause\nisNat(s(X109)) :- isNat(X109).\nand substitutionX109 -> T104,\nT94 -> s(T104)" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 431, 37.09/10.38 "to": 434, 37.09/10.38 "label": "EVAL-BACKTRACK" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 432, 37.09/10.38 "to": 437, 37.09/10.38 "label": "EVAL with clause\nisNat(0).\nand substitutionT94 -> 0" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 432, 37.09/10.38 "to": 438, 37.09/10.38 "label": "EVAL-BACKTRACK" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 433, 37.09/10.38 "to": 427, 37.09/10.38 "label": "INSTANCE with matching:\nT94 -> T104" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 437, 37.09/10.38 "to": 439, 37.09/10.38 "label": "SUCCESS" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 441, 37.09/10.38 "to": 427, 37.09/10.38 "label": "INSTANCE with matching:\nT94 -> T95" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 442, 37.09/10.38 "to": 444, 37.09/10.38 "label": "CASE" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 444, 37.09/10.38 "to": 448, 37.09/10.38 "label": "PARALLEL" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 444, 37.09/10.38 "to": 449, 37.09/10.38 "label": "PARALLEL" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 448, 37.09/10.38 "to": 450, 37.09/10.38 "label": "EVAL with clause\nadd(s(X128), X129, s(X130)) :- add(X128, X129, X130).\nand substitutionX128 -> T123,\nT94 -> s(T123),\nT95 -> T124,\nX129 -> T124,\nX130 -> T126,\nT97 -> s(T126),\nT125 -> T126" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 448, 37.09/10.38 "to": 451, 37.09/10.38 "label": "EVAL-BACKTRACK" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 449, 37.09/10.38 "to": 452, 37.09/10.38 "label": "EVAL with clause\nadd(0, X136, X136).\nand substitutionT94 -> 0,\nT95 -> T132,\nX136 -> T132,\nT97 -> T132" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 449, 37.09/10.38 "to": 453, 37.09/10.38 "label": "EVAL-BACKTRACK" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 450, 37.09/10.38 "to": 442, 37.09/10.38 "label": "INSTANCE with matching:\nT94 -> T123\nT95 -> T124\nT97 -> T126" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "from": 452, 37.09/10.38 "to": 454, 37.09/10.38 "label": "SUCCESS" 37.09/10.38 } 37.09/10.38 ], 37.09/10.38 "type": "Graph" 37.09/10.38 } 37.09/10.38 } 37.09/10.38 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (101) 37.09/10.38 Complex Obligation (AND) 37.09/10.38 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (102) 37.09/10.38 Obligation: 37.09/10.38 Rules: 37.09/10.38 f442_in(T94, T95) -> f444_in(T94, T95) :|: TRUE 37.09/10.38 f444_out(x, x1) -> f442_out(x, x1) :|: TRUE 37.09/10.38 f448_in(x2, x3) -> f451_in :|: TRUE 37.09/10.38 f450_out(T123, T124) -> f448_out(s(T123), T124) :|: TRUE 37.09/10.38 f448_in(s(x4), x5) -> f450_in(x4, x5) :|: TRUE 37.09/10.38 f451_out -> f448_out(x6, x7) :|: TRUE 37.09/10.38 f448_out(x8, x9) -> f444_out(x8, x9) :|: TRUE 37.09/10.38 f444_in(x10, x11) -> f448_in(x10, x11) :|: TRUE 37.09/10.38 f449_out(x12, x13) -> f444_out(x12, x13) :|: TRUE 37.09/10.38 f444_in(x14, x15) -> f449_in(x14, x15) :|: TRUE 37.09/10.38 f450_in(x16, x17) -> f442_in(x16, x17) :|: TRUE 37.09/10.38 f442_out(x18, x19) -> f450_out(x18, x19) :|: TRUE 37.09/10.38 f2_out(T1) -> f1_out(T1) :|: TRUE 37.09/10.38 f1_in(x20) -> f2_in(x20) :|: TRUE 37.09/10.38 f43_out(x21) -> f2_out(x21) :|: TRUE 37.09/10.38 f44_out(x22) -> f2_out(x22) :|: TRUE 37.09/10.38 f2_in(x23) -> f43_in(x23) :|: TRUE 37.09/10.38 f2_in(x24) -> f44_in(x24) :|: TRUE 37.09/10.38 f44_in(x25) -> f185_in(x25) :|: TRUE 37.09/10.38 f184_out(x26) -> f44_out(x26) :|: TRUE 37.09/10.38 f44_in(x27) -> f184_in(x27) :|: TRUE 37.09/10.38 f185_out(x28) -> f44_out(x28) :|: TRUE 37.09/10.38 f405_out(x29) -> f185_out(x29) :|: TRUE 37.09/10.38 f185_in(x30) -> f406_in(x30) :|: TRUE 37.09/10.38 f185_in(x31) -> f405_in(x31) :|: TRUE 37.09/10.38 f406_out(x32) -> f185_out(x32) :|: TRUE 37.09/10.38 f410_out(x33) -> f406_out(x33) :|: TRUE 37.09/10.38 f411_out(x34) -> f406_out(x34) :|: TRUE 37.09/10.38 f406_in(x35) -> f410_in(x35) :|: TRUE 37.09/10.38 f406_in(x36) -> f411_in(x36) :|: TRUE 37.09/10.38 f426_out -> f411_out(x37) :|: TRUE 37.09/10.38 f425_out(x38, x39) -> f411_out(plus(x38, x39)) :|: TRUE 37.09/10.38 f411_in(x40) -> f426_in :|: TRUE 37.09/10.38 f411_in(plus(x41, x42)) -> f425_in(x41, x42) :|: TRUE 37.09/10.38 f428_out(x43, x44) -> f425_out(x44, x43) :|: TRUE 37.09/10.38 f425_in(x45, x46) -> f427_in(x45) :|: TRUE 37.09/10.38 f427_out(x47) -> f428_in(x48, x47) :|: TRUE 37.09/10.38 f442_out(x49, x50) -> f428_out(x50, x49) :|: TRUE 37.09/10.38 f428_in(x51, x52) -> f441_in(x51) :|: TRUE 37.09/10.38 f441_out(x53) -> f442_in(x54, x53) :|: TRUE 37.09/10.38 Start term: f1_in(T1) 37.09/10.38 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (103) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 37.09/10.38 Constructed simple dependency graph. 37.09/10.38 37.09/10.38 Simplified to the following IRSwTs: 37.09/10.38 37.09/10.38 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (104) 37.09/10.38 TRUE 37.09/10.38 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (105) 37.09/10.38 Obligation: 37.09/10.38 Rules: 37.09/10.38 f431_out(T94) -> f429_out(T94) :|: TRUE 37.09/10.38 f429_in(x) -> f432_in(x) :|: TRUE 37.09/10.38 f432_out(x1) -> f429_out(x1) :|: TRUE 37.09/10.38 f429_in(x2) -> f431_in(x2) :|: TRUE 37.09/10.38 f433_in(T104) -> f427_in(T104) :|: TRUE 37.09/10.38 f427_out(x3) -> f433_out(x3) :|: TRUE 37.09/10.38 f429_out(x4) -> f427_out(x4) :|: TRUE 37.09/10.38 f427_in(x5) -> f429_in(x5) :|: TRUE 37.09/10.38 f431_in(s(x6)) -> f433_in(x6) :|: TRUE 37.09/10.38 f433_out(x7) -> f431_out(s(x7)) :|: TRUE 37.09/10.38 f434_out -> f431_out(x8) :|: TRUE 37.09/10.38 f431_in(x9) -> f434_in :|: TRUE 37.09/10.38 f2_out(T1) -> f1_out(T1) :|: TRUE 37.09/10.38 f1_in(x10) -> f2_in(x10) :|: TRUE 37.09/10.38 f43_out(x11) -> f2_out(x11) :|: TRUE 37.09/10.38 f44_out(x12) -> f2_out(x12) :|: TRUE 37.09/10.38 f2_in(x13) -> f43_in(x13) :|: TRUE 37.09/10.38 f2_in(x14) -> f44_in(x14) :|: TRUE 37.09/10.38 f44_in(x15) -> f185_in(x15) :|: TRUE 37.09/10.38 f184_out(x16) -> f44_out(x16) :|: TRUE 37.09/10.38 f44_in(x17) -> f184_in(x17) :|: TRUE 37.09/10.38 f185_out(x18) -> f44_out(x18) :|: TRUE 37.09/10.38 f405_out(x19) -> f185_out(x19) :|: TRUE 37.09/10.38 f185_in(x20) -> f406_in(x20) :|: TRUE 37.09/10.38 f185_in(x21) -> f405_in(x21) :|: TRUE 37.09/10.38 f406_out(x22) -> f185_out(x22) :|: TRUE 37.09/10.38 f410_out(x23) -> f406_out(x23) :|: TRUE 37.09/10.38 f411_out(x24) -> f406_out(x24) :|: TRUE 37.09/10.38 f406_in(x25) -> f410_in(x25) :|: TRUE 37.09/10.38 f406_in(x26) -> f411_in(x26) :|: TRUE 37.09/10.38 f426_out -> f411_out(x27) :|: TRUE 37.09/10.38 f425_out(x28, x29) -> f411_out(plus(x28, x29)) :|: TRUE 37.09/10.38 f411_in(x30) -> f426_in :|: TRUE 37.09/10.38 f411_in(plus(x31, x32)) -> f425_in(x31, x32) :|: TRUE 37.09/10.38 f428_out(x33, x34) -> f425_out(x34, x33) :|: TRUE 37.09/10.38 f425_in(x35, x36) -> f427_in(x35) :|: TRUE 37.09/10.38 f427_out(x37) -> f428_in(x38, x37) :|: TRUE 37.09/10.38 f442_out(x39, x40) -> f428_out(x40, x39) :|: TRUE 37.09/10.38 f428_in(x41, x42) -> f441_in(x41) :|: TRUE 37.09/10.38 f441_out(x43) -> f442_in(x44, x43) :|: TRUE 37.09/10.38 f427_out(T95) -> f441_out(T95) :|: TRUE 37.09/10.38 f441_in(x45) -> f427_in(x45) :|: TRUE 37.09/10.38 Start term: f1_in(T1) 37.09/10.38 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (106) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 37.09/10.38 Constructed simple dependency graph. 37.09/10.38 37.09/10.38 Simplified to the following IRSwTs: 37.09/10.38 37.09/10.38 intTRSProblem: 37.09/10.38 f429_in(x2) -> f431_in(x2) :|: TRUE 37.09/10.38 f433_in(T104) -> f427_in(T104) :|: TRUE 37.09/10.38 f427_in(x5) -> f429_in(x5) :|: TRUE 37.09/10.38 f431_in(s(x6)) -> f433_in(x6) :|: TRUE 37.09/10.38 37.09/10.38 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (107) 37.09/10.38 Obligation: 37.09/10.38 Rules: 37.09/10.38 f429_in(x2) -> f431_in(x2) :|: TRUE 37.09/10.38 f433_in(T104) -> f427_in(T104) :|: TRUE 37.09/10.38 f427_in(x5) -> f429_in(x5) :|: TRUE 37.09/10.38 f431_in(s(x6)) -> f433_in(x6) :|: TRUE 37.09/10.38 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (108) IntTRSCompressionProof (EQUIVALENT) 37.09/10.38 Compressed rules. 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (109) 37.09/10.38 Obligation: 37.09/10.38 Rules: 37.09/10.38 f433_in(s(x6:0)) -> f433_in(x6:0) :|: TRUE 37.09/10.38 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (110) IRSFormatTransformerProof (EQUIVALENT) 37.09/10.38 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (111) 37.09/10.38 Obligation: 37.09/10.38 Rules: 37.09/10.38 f433_in(s(x6:0)) -> f433_in(x6:0) :|: TRUE 37.09/10.38 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (112) IRSwTTerminationDigraphProof (EQUIVALENT) 37.09/10.38 Constructed termination digraph! 37.09/10.38 Nodes: 37.09/10.38 (1) f433_in(s(x6:0)) -> f433_in(x6:0) :|: TRUE 37.09/10.38 37.09/10.38 Arcs: 37.09/10.38 (1) -> (1) 37.09/10.38 37.09/10.38 This digraph is fully evaluated! 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (113) 37.09/10.38 Obligation: 37.09/10.38 37.09/10.38 Termination digraph: 37.09/10.38 Nodes: 37.09/10.38 (1) f433_in(s(x6:0)) -> f433_in(x6:0) :|: TRUE 37.09/10.38 37.09/10.38 Arcs: 37.09/10.38 (1) -> (1) 37.09/10.38 37.09/10.38 This digraph is fully evaluated! 37.09/10.38 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (114) TempFilterProof (SOUND) 37.09/10.38 Used the following sort dictionary for filtering: 37.09/10.38 f433_in(VARIABLE) 37.09/10.38 s(VARIABLE) 37.09/10.38 Removed predefined arithmetic. 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (115) 37.09/10.38 Obligation: 37.09/10.38 Rules: 37.09/10.38 f433_in(s(x6:0)) -> f433_in(x6:0) 37.09/10.38 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (116) IRSwTToQDPProof (SOUND) 37.09/10.38 Removed the integers and created a QDP-Problem. 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (117) 37.09/10.38 Obligation: 37.09/10.38 Q DP problem: 37.09/10.38 The TRS P consists of the following rules: 37.09/10.38 37.09/10.38 f433_in(s(x6:0)) -> f433_in(x6:0) 37.09/10.38 37.09/10.38 R is empty. 37.09/10.38 Q is empty. 37.09/10.38 We have to consider all (P,Q,R)-chains. 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (118) QDPSizeChangeProof (EQUIVALENT) 37.09/10.38 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. 37.09/10.38 37.09/10.38 From the DPs we obtained the following set of size-change graphs: 37.09/10.38 *f433_in(s(x6:0)) -> f433_in(x6:0) 37.09/10.38 The graph contains the following edges 1 > 1 37.09/10.38 37.09/10.38 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (119) 37.09/10.38 YES 37.09/10.38 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (120) 37.09/10.38 Obligation: 37.09/10.38 Rules: 37.09/10.38 f410_out(T1) -> f406_out(T1) :|: TRUE 37.09/10.38 f411_out(x) -> f406_out(x) :|: TRUE 37.09/10.38 f406_in(x1) -> f410_in(x1) :|: TRUE 37.09/10.38 f406_in(x2) -> f411_in(x2) :|: TRUE 37.09/10.38 f1_out(T67) -> f418_out(T67) :|: TRUE 37.09/10.38 f418_in(x3) -> f1_in(x3) :|: TRUE 37.09/10.38 f415_in(x4, x5) -> f418_in(x4) :|: TRUE 37.09/10.38 f418_out(x6) -> f419_in(x7, x8) :|: TRUE 37.09/10.38 f419_out(x9, x10) -> f415_out(x11, x9) :|: TRUE 37.09/10.38 f410_in(plus(x12, x13)) -> f412_in(x12, x13) :|: TRUE 37.09/10.38 f410_in(x14) -> f413_in :|: TRUE 37.09/10.38 f413_out -> f410_out(x15) :|: TRUE 37.09/10.38 f412_out(x16, x17) -> f410_out(plus(x16, x17)) :|: TRUE 37.09/10.38 f405_out(x18) -> f185_out(x18) :|: TRUE 37.09/10.38 f185_in(x19) -> f406_in(x19) :|: TRUE 37.09/10.38 f185_in(x20) -> f405_in(x20) :|: TRUE 37.09/10.38 f406_out(x21) -> f185_out(x21) :|: TRUE 37.09/10.38 f184_in(x22) -> f404_in :|: TRUE 37.09/10.38 f184_in(plus(T41, T42)) -> f194_in(T42, T41) :|: TRUE 37.09/10.38 f404_out -> f184_out(x23) :|: TRUE 37.09/10.38 f194_out(x24, x25) -> f184_out(plus(x25, x24)) :|: TRUE 37.09/10.38 f43_in(plus(T19, plus(T20, T21))) -> f77_in(T19, T20, T21) :|: TRUE 37.09/10.38 f43_in(x26) -> f83_in :|: TRUE 37.09/10.38 f77_out(x27, x28, x29) -> f43_out(plus(x27, plus(x28, x29))) :|: TRUE 37.09/10.38 f83_out -> f43_out(x30) :|: TRUE 37.09/10.38 f77_in(x31, x32, x33) -> f1_in(plus(plus(x31, x32), x33)) :|: TRUE 37.09/10.38 f1_out(plus(plus(x34, x35), x36)) -> f77_out(x34, x35, x36) :|: TRUE 37.09/10.38 f1_out(T66) -> f414_out(T66) :|: TRUE 37.09/10.38 f414_in(x37) -> f1_in(x37) :|: TRUE 37.09/10.38 f419_in(T73, T80) -> f1_in(plus(T73, T80)) :|: TRUE 37.09/10.38 f1_out(plus(x38, x39)) -> f419_out(x38, x39) :|: TRUE 37.09/10.38 f414_out(x40) -> f415_in(x41, x42) :|: TRUE 37.09/10.38 f415_out(x43, x44) -> f412_out(x45, x43) :|: TRUE 37.09/10.38 f412_in(x46, x47) -> f414_in(x46) :|: TRUE 37.09/10.38 f43_out(x48) -> f2_out(x48) :|: TRUE 37.09/10.38 f44_out(x49) -> f2_out(x49) :|: TRUE 37.09/10.38 f2_in(x50) -> f43_in(x50) :|: TRUE 37.09/10.38 f2_in(x51) -> f44_in(x51) :|: TRUE 37.09/10.38 f194_in(x52, x53) -> f1_in(plus(x52, x53)) :|: TRUE 37.09/10.38 f1_out(plus(x54, x55)) -> f194_out(x54, x55) :|: TRUE 37.09/10.38 f2_out(x56) -> f1_out(x56) :|: TRUE 37.09/10.38 f1_in(x57) -> f2_in(x57) :|: TRUE 37.09/10.38 f44_in(x58) -> f185_in(x58) :|: TRUE 37.09/10.38 f184_out(x59) -> f44_out(x59) :|: TRUE 37.09/10.38 f44_in(x60) -> f184_in(x60) :|: TRUE 37.09/10.38 f185_out(x61) -> f44_out(x61) :|: TRUE 37.09/10.38 Start term: f1_in(T1) 37.09/10.38 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (121) IRSwTSimpleDependencyGraphProof (EQUIVALENT) 37.09/10.38 Constructed simple dependency graph. 37.09/10.38 37.09/10.38 Simplified to the following IRSwTs: 37.09/10.38 37.09/10.38 intTRSProblem: 37.09/10.38 f406_in(x1) -> f410_in(x1) :|: TRUE 37.09/10.38 f410_in(plus(x12, x13)) -> f412_in(x12, x13) :|: TRUE 37.09/10.38 f185_in(x19) -> f406_in(x19) :|: TRUE 37.09/10.38 f184_in(plus(T41, T42)) -> f194_in(T42, T41) :|: TRUE 37.09/10.38 f43_in(plus(T19, plus(T20, T21))) -> f77_in(T19, T20, T21) :|: TRUE 37.09/10.38 f77_in(x31, x32, x33) -> f1_in(plus(plus(x31, x32), x33)) :|: TRUE 37.09/10.38 f414_in(x37) -> f1_in(x37) :|: TRUE 37.09/10.38 f412_in(x46, x47) -> f414_in(x46) :|: TRUE 37.09/10.38 f2_in(x50) -> f43_in(x50) :|: TRUE 37.09/10.38 f2_in(x51) -> f44_in(x51) :|: TRUE 37.09/10.38 f194_in(x52, x53) -> f1_in(plus(x52, x53)) :|: TRUE 37.09/10.38 f1_in(x57) -> f2_in(x57) :|: TRUE 37.09/10.38 f44_in(x58) -> f185_in(x58) :|: TRUE 37.09/10.38 f44_in(x60) -> f184_in(x60) :|: TRUE 37.09/10.38 37.09/10.38 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (122) 37.09/10.38 Obligation: 37.09/10.38 Rules: 37.09/10.38 f406_in(x1) -> f410_in(x1) :|: TRUE 37.09/10.38 f410_in(plus(x12, x13)) -> f412_in(x12, x13) :|: TRUE 37.09/10.38 f185_in(x19) -> f406_in(x19) :|: TRUE 37.09/10.38 f184_in(plus(T41, T42)) -> f194_in(T42, T41) :|: TRUE 37.09/10.38 f43_in(plus(T19, plus(T20, T21))) -> f77_in(T19, T20, T21) :|: TRUE 37.09/10.38 f77_in(x31, x32, x33) -> f1_in(plus(plus(x31, x32), x33)) :|: TRUE 37.09/10.38 f414_in(x37) -> f1_in(x37) :|: TRUE 37.09/10.38 f412_in(x46, x47) -> f414_in(x46) :|: TRUE 37.09/10.38 f2_in(x50) -> f43_in(x50) :|: TRUE 37.09/10.38 f2_in(x51) -> f44_in(x51) :|: TRUE 37.09/10.38 f194_in(x52, x53) -> f1_in(plus(x52, x53)) :|: TRUE 37.09/10.38 f1_in(x57) -> f2_in(x57) :|: TRUE 37.09/10.38 f44_in(x58) -> f185_in(x58) :|: TRUE 37.09/10.38 f44_in(x60) -> f184_in(x60) :|: TRUE 37.09/10.38 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (123) IntTRSCompressionProof (EQUIVALENT) 37.09/10.38 Compressed rules. 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (124) 37.09/10.38 Obligation: 37.09/10.38 Rules: 37.09/10.38 f2_in(plus(x12:0, x13:0)) -> f2_in(x12:0) :|: TRUE 37.09/10.38 f2_in(plus(T41:0, T42:0)) -> f2_in(plus(T42:0, T41:0)) :|: TRUE 37.09/10.38 f2_in(plus(T19:0, plus(T20:0, T21:0))) -> f2_in(plus(plus(T19:0, T20:0), T21:0)) :|: TRUE 37.09/10.38 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (125) IRSFormatTransformerProof (EQUIVALENT) 37.09/10.38 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (126) 37.09/10.38 Obligation: 37.09/10.38 Rules: 37.09/10.38 f2_in(plus(x12:0, x13:0)) -> f2_in(x12:0) :|: TRUE 37.09/10.38 f2_in(plus(T41:0, T42:0)) -> f2_in(plus(T42:0, T41:0)) :|: TRUE 37.09/10.38 f2_in(plus(T19:0, plus(T20:0, T21:0))) -> f2_in(plus(plus(T19:0, T20:0), T21:0)) :|: TRUE 37.09/10.38 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (127) IRSwTTerminationDigraphProof (EQUIVALENT) 37.09/10.38 Constructed termination digraph! 37.09/10.38 Nodes: 37.09/10.38 (1) f2_in(plus(x12:0, x13:0)) -> f2_in(x12:0) :|: TRUE 37.09/10.38 (2) f2_in(plus(T41:0, T42:0)) -> f2_in(plus(T42:0, T41:0)) :|: TRUE 37.09/10.38 (3) f2_in(plus(T19:0, plus(T20:0, T21:0))) -> f2_in(plus(plus(T19:0, T20:0), T21:0)) :|: TRUE 37.09/10.38 37.09/10.38 Arcs: 37.09/10.38 (1) -> (1), (2), (3) 37.09/10.38 (2) -> (1), (2), (3) 37.09/10.38 (3) -> (1), (2), (3) 37.09/10.38 37.09/10.38 This digraph is fully evaluated! 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (128) 37.09/10.38 Obligation: 37.09/10.38 37.09/10.38 Termination digraph: 37.09/10.38 Nodes: 37.09/10.38 (1) f2_in(plus(x12:0, x13:0)) -> f2_in(x12:0) :|: TRUE 37.09/10.38 (2) f2_in(plus(T41:0, T42:0)) -> f2_in(plus(T42:0, T41:0)) :|: TRUE 37.09/10.38 (3) f2_in(plus(T19:0, plus(T20:0, T21:0))) -> f2_in(plus(plus(T19:0, T20:0), T21:0)) :|: TRUE 37.09/10.38 37.09/10.38 Arcs: 37.09/10.38 (1) -> (1), (2), (3) 37.09/10.38 (2) -> (1), (2), (3) 37.09/10.38 (3) -> (1), (2), (3) 37.09/10.38 37.09/10.38 This digraph is fully evaluated! 37.09/10.38 37.09/10.38 ---------------------------------------- 37.09/10.38 37.09/10.38 (129) PrologToDTProblemTransformerProof (SOUND) 37.09/10.38 Built DT problem from termination graph DT10. 37.09/10.38 37.09/10.38 { 37.09/10.38 "root": 45, 37.09/10.38 "program": { 37.09/10.38 "directives": [], 37.09/10.38 "clauses": [ 37.09/10.38 [ 37.09/10.38 "(s2 (plus A (plus B C)) D)", 37.09/10.38 "(s2 (plus (plus A B) C) D)" 37.09/10.38 ], 37.09/10.38 [ 37.09/10.38 "(s2 (plus A B) C)", 37.09/10.38 "(s2 (plus B A) C)" 37.09/10.38 ], 37.09/10.38 [ 37.09/10.38 "(s2 (plus X (0)) X)", 37.09/10.38 null 37.09/10.38 ], 37.09/10.38 [ 37.09/10.38 "(s2 (plus X Y) Z)", 37.09/10.38 "(',' (s2 X A) (',' (s2 Y B) (s2 (plus A B) Z)))" 37.09/10.38 ], 37.09/10.38 [ 37.09/10.38 "(s2 (plus A B) C)", 37.09/10.38 "(',' (isNat A) (',' (isNat B) (add A B C)))" 37.09/10.38 ], 37.09/10.38 [ 37.09/10.38 "(isNat (s X))", 37.09/10.38 "(isNat X)" 37.09/10.38 ], 37.09/10.38 [ 37.09/10.38 "(isNat (0))", 37.09/10.38 null 37.09/10.38 ], 37.09/10.38 [ 37.09/10.38 "(add (s X) Y (s Z))", 37.09/10.38 "(add X Y Z)" 37.09/10.38 ], 37.09/10.38 [ 37.09/10.38 "(add (0) X X)", 37.09/10.38 null 37.09/10.38 ] 37.09/10.38 ] 37.09/10.38 }, 37.09/10.38 "graph": { 37.09/10.38 "nodes": { 37.09/10.38 "type": "Nodes", 37.09/10.38 "470": { 37.09/10.38 "goal": [], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "196": { 37.09/10.38 "goal": [ 37.09/10.38 { 37.09/10.38 "clause": -1, 37.09/10.38 "scope": -1, 37.09/10.38 "term": "(s2 (plus (plus T7 T8) T9) T11)" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "clause": 1, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "clause": 2, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "clause": 3, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "clause": 4, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.38 } 37.09/10.38 ], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [ 37.09/10.38 "T7", 37.09/10.38 "T8", 37.09/10.38 "T9" 37.09/10.38 ], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "471": { 37.09/10.38 "goal": [ 37.09/10.38 { 37.09/10.38 "clause": 1, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "clause": 2, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "clause": 3, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "clause": 4, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.38 } 37.09/10.38 ], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [ 37.09/10.38 "T7", 37.09/10.38 "T8", 37.09/10.38 "T9" 37.09/10.38 ], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "197": { 37.09/10.38 "goal": [ 37.09/10.38 { 37.09/10.38 "clause": 1, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 T1 T2)" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "clause": 2, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 T1 T2)" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "clause": 3, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 T1 T2)" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "clause": 4, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 T1 T2)" 37.09/10.38 } 37.09/10.38 ], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [[ 37.09/10.38 "(s2 T1 T2)", 37.09/10.38 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.38 ]], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": ["T1"], 37.09/10.38 "free": [ 37.09/10.38 "X5", 37.09/10.38 "X6", 37.09/10.38 "X7", 37.09/10.38 "X8" 37.09/10.38 ], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "472": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": 1, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [ 37.09/10.38 "T7", 37.09/10.38 "T8", 37.09/10.38 "T9" 37.09/10.38 ], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "473": { 37.09/10.38 "goal": [ 37.09/10.38 { 37.09/10.38 "clause": 2, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "clause": 3, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "clause": 4, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.38 } 37.09/10.38 ], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [ 37.09/10.38 "T7", 37.09/10.38 "T8", 37.09/10.38 "T9" 37.09/10.38 ], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "474": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": -1, 37.09/10.38 "scope": -1, 37.09/10.38 "term": "(s2 (plus (plus T196 T197) T195) T199)" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [ 37.09/10.38 "T195", 37.09/10.38 "T196", 37.09/10.38 "T197" 37.09/10.38 ], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "475": { 37.09/10.38 "goal": [ 37.09/10.38 { 37.09/10.38 "clause": 3, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.38 }, 37.09/10.38 { 37.09/10.38 "clause": 4, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.38 } 37.09/10.38 ], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [ 37.09/10.38 "T7", 37.09/10.38 "T8", 37.09/10.38 "T9" 37.09/10.38 ], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "476": { 37.09/10.38 "goal": [{ 37.09/10.38 "clause": 3, 37.09/10.38 "scope": 1, 37.09/10.38 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.38 }], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [ 37.09/10.38 "T7", 37.09/10.38 "T8", 37.09/10.38 "T9" 37.09/10.38 ], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.38 } 37.09/10.38 }, 37.09/10.38 "630": { 37.09/10.38 "goal": [], 37.09/10.38 "kb": { 37.09/10.38 "nonunifying": [], 37.09/10.38 "intvars": {}, 37.09/10.38 "arithmetic": { 37.09/10.38 "type": "PlainIntegerRelationState", 37.09/10.38 "relations": [] 37.09/10.38 }, 37.09/10.38 "ground": [], 37.09/10.38 "free": [], 37.09/10.38 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "477": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": 4, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T7", 37.09/10.39 "T8", 37.09/10.39 "T9" 37.09/10.39 ], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "631": { 37.09/10.39 "goal": [ 37.09/10.39 { 37.09/10.39 "clause": 7, 37.09/10.39 "scope": 9, 37.09/10.39 "term": "(add T479 T480 T482)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 8, 37.09/10.39 "scope": 9, 37.09/10.39 "term": "(add T479 T480 T482)" 37.09/10.39 } 37.09/10.39 ], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T479", 37.09/10.39 "T480" 37.09/10.39 ], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "478": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(',' (s2 T230 X212) (',' (s2 (plus T231 T232) X213) (s2 (plus X212 X213) T234)))" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T230", 37.09/10.39 "T231", 37.09/10.39 "T232" 37.09/10.39 ], 37.09/10.39 "free": [ 37.09/10.39 "X212", 37.09/10.39 "X213" 37.09/10.39 ], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "632": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": 7, 37.09/10.39 "scope": 9, 37.09/10.39 "term": "(add T479 T480 T482)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T479", 37.09/10.39 "T480" 37.09/10.39 ], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "479": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(s2 T230 X212)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": ["T230"], 37.09/10.39 "free": ["X212"], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "633": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": 8, 37.09/10.39 "scope": 9, 37.09/10.39 "term": "(add T479 T480 T482)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T479", 37.09/10.39 "T480" 37.09/10.39 ], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "634": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(add T498 T499 T501)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T498", 37.09/10.39 "T499" 37.09/10.39 ], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "635": { 37.09/10.39 "goal": [], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "636": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(true)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "637": { 37.09/10.39 "goal": [], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "638": { 37.09/10.39 "goal": [], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "639": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(true)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "480": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(',' (s2 (plus T231 T232) X213) (s2 (plus T238 X213) T234))" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T231", 37.09/10.39 "T232", 37.09/10.39 "T238" 37.09/10.39 ], 37.09/10.39 "free": ["X213"], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "481": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(',' (isNat T255) (',' (isNat (plus T256 T257)) (add T255 (plus T256 T257) T259)))" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T255", 37.09/10.39 "T256", 37.09/10.39 "T257" 37.09/10.39 ], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "482": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(isNat T255)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": ["T255"], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "483": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(',' (isNat (plus T256 T257)) (add T255 (plus T256 T257) T259))" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T255", 37.09/10.39 "T256", 37.09/10.39 "T257" 37.09/10.39 ], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "484": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(isNat (plus T256 T257))" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T256", 37.09/10.39 "T257" 37.09/10.39 ], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "485": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(add T255 (plus T256 T257) T259)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T255", 37.09/10.39 "T256", 37.09/10.39 "T257" 37.09/10.39 ], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "486": { 37.09/10.39 "goal": [ 37.09/10.39 { 37.09/10.39 "clause": 7, 37.09/10.39 "scope": 6, 37.09/10.39 "term": "(add T255 (plus T256 T257) T259)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 8, 37.09/10.39 "scope": 6, 37.09/10.39 "term": "(add T255 (plus T256 T257) T259)" 37.09/10.39 } 37.09/10.39 ], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T255", 37.09/10.39 "T256", 37.09/10.39 "T257" 37.09/10.39 ], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "640": { 37.09/10.39 "goal": [], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "487": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": 7, 37.09/10.39 "scope": 6, 37.09/10.39 "term": "(add T255 (plus T256 T257) T259)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T255", 37.09/10.39 "T256", 37.09/10.39 "T257" 37.09/10.39 ], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "641": { 37.09/10.39 "goal": [], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "400": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(s2 (plus T121 T128) T117)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T121", 37.09/10.39 "T128" 37.09/10.39 ], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "488": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": 8, 37.09/10.39 "scope": 6, 37.09/10.39 "term": "(add T255 (plus T256 T257) T259)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T255", 37.09/10.39 "T256", 37.09/10.39 "T257" 37.09/10.39 ], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "642": { 37.09/10.39 "goal": [ 37.09/10.39 { 37.09/10.39 "clause": 2, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T300 T301) T2)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 3, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T300 T301) T2)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 4, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T300 T301) T2)" 37.09/10.39 } 37.09/10.39 ], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [[ 37.09/10.39 "(s2 (plus T300 T301) T2)", 37.09/10.39 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.39 ]], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T300", 37.09/10.39 "T301" 37.09/10.39 ], 37.09/10.39 "free": [ 37.09/10.39 "X5", 37.09/10.39 "X6", 37.09/10.39 "X7", 37.09/10.39 "X8" 37.09/10.39 ], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "643": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": 2, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T300 T301) T2)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [[ 37.09/10.39 "(s2 (plus T300 T301) T2)", 37.09/10.39 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.39 ]], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T300", 37.09/10.39 "T301" 37.09/10.39 ], 37.09/10.39 "free": [ 37.09/10.39 "X5", 37.09/10.39 "X6", 37.09/10.39 "X7", 37.09/10.39 "X8" 37.09/10.39 ], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "644": { 37.09/10.39 "goal": [ 37.09/10.39 { 37.09/10.39 "clause": 3, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T300 T301) T2)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 4, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T300 T301) T2)" 37.09/10.39 } 37.09/10.39 ], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [[ 37.09/10.39 "(s2 (plus T300 T301) T2)", 37.09/10.39 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.39 ]], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T300", 37.09/10.39 "T301" 37.09/10.39 ], 37.09/10.39 "free": [ 37.09/10.39 "X5", 37.09/10.39 "X6", 37.09/10.39 "X7", 37.09/10.39 "X8" 37.09/10.39 ], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "645": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(true)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "646": { 37.09/10.39 "goal": [], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "647": { 37.09/10.39 "goal": [], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "648": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": 3, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T300 T301) T2)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [[ 37.09/10.39 "(s2 (plus T300 T301) T2)", 37.09/10.39 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.39 ]], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T300", 37.09/10.39 "T301" 37.09/10.39 ], 37.09/10.39 "free": [ 37.09/10.39 "X5", 37.09/10.39 "X6", 37.09/10.39 "X7", 37.09/10.39 "X8" 37.09/10.39 ], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "649": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": 4, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T300 T301) T2)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [[ 37.09/10.39 "(s2 (plus T300 T301) T2)", 37.09/10.39 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.39 ]], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T300", 37.09/10.39 "T301" 37.09/10.39 ], 37.09/10.39 "free": [ 37.09/10.39 "X5", 37.09/10.39 "X6", 37.09/10.39 "X7", 37.09/10.39 "X8" 37.09/10.39 ], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "529": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(add T282 (plus T283 T284) T286)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T282", 37.09/10.39 "T283", 37.09/10.39 "T284" 37.09/10.39 ], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "650": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(',' (s2 T536 X548) (',' (s2 T537 X549) (s2 (plus X548 X549) T539)))" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [[ 37.09/10.39 "(s2 (plus T536 T537) T2)", 37.09/10.39 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.39 ]], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T536", 37.09/10.39 "T537" 37.09/10.39 ], 37.09/10.39 "free": [ 37.09/10.39 "X5", 37.09/10.39 "X6", 37.09/10.39 "X7", 37.09/10.39 "X8", 37.09/10.39 "X548", 37.09/10.39 "X549" 37.09/10.39 ], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "530": { 37.09/10.39 "goal": [], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "651": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(s2 T536 X548)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [[ 37.09/10.39 "(s2 (plus T536 T537) T2)", 37.09/10.39 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.39 ]], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T536", 37.09/10.39 "T537" 37.09/10.39 ], 37.09/10.39 "free": [ 37.09/10.39 "X5", 37.09/10.39 "X6", 37.09/10.39 "X7", 37.09/10.39 "X8", 37.09/10.39 "X548" 37.09/10.39 ], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "531": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(true)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "652": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(',' (s2 T537 X549) (s2 (plus T543 X549) T539))" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [[ 37.09/10.39 "(s2 (plus T536 T537) T2)", 37.09/10.39 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.39 ]], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T536", 37.09/10.39 "T537", 37.09/10.39 "T543" 37.09/10.39 ], 37.09/10.39 "free": [ 37.09/10.39 "X5", 37.09/10.39 "X6", 37.09/10.39 "X7", 37.09/10.39 "X8", 37.09/10.39 "X549" 37.09/10.39 ], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "378": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": 2, 37.09/10.39 "scope": 2, 37.09/10.39 "term": "(s2 (plus (plus T7 T8) T9) T11)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T7", 37.09/10.39 "T8", 37.09/10.39 "T9" 37.09/10.39 ], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "532": { 37.09/10.39 "goal": [], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "653": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(',' (isNat T566) (',' (isNat T567) (add T566 T567 T569)))" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [[ 37.09/10.39 "(s2 (plus T566 T567) T2)", 37.09/10.39 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.39 ]], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T566", 37.09/10.39 "T567" 37.09/10.39 ], 37.09/10.39 "free": [ 37.09/10.39 "X5", 37.09/10.39 "X6", 37.09/10.39 "X7", 37.09/10.39 "X8" 37.09/10.39 ], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "379": { 37.09/10.39 "goal": [ 37.09/10.39 { 37.09/10.39 "clause": 3, 37.09/10.39 "scope": 2, 37.09/10.39 "term": "(s2 (plus (plus T7 T8) T9) T11)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 4, 37.09/10.39 "scope": 2, 37.09/10.39 "term": "(s2 (plus (plus T7 T8) T9) T11)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": -1, 37.09/10.39 "scope": 2, 37.09/10.39 "term": null 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 1, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 2, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 3, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 4, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.39 } 37.09/10.39 ], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T7", 37.09/10.39 "T8", 37.09/10.39 "T9" 37.09/10.39 ], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "533": { 37.09/10.39 "goal": [], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "654": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(isNat T566)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [[ 37.09/10.39 "(s2 (plus T566 T567) T2)", 37.09/10.39 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.39 ]], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T566", 37.09/10.39 "T567" 37.09/10.39 ], 37.09/10.39 "free": [ 37.09/10.39 "X5", 37.09/10.39 "X6", 37.09/10.39 "X7", 37.09/10.39 "X8" 37.09/10.39 ], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "534": { 37.09/10.39 "goal": [ 37.09/10.39 { 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(s2 (plus T301 T300) T303)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 2, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T300 T301) T2)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 3, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T300 T301) T2)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 4, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T300 T301) T2)" 37.09/10.39 } 37.09/10.39 ], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [[ 37.09/10.39 "(s2 (plus T300 T301) T2)", 37.09/10.39 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.39 ]], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T300", 37.09/10.39 "T301" 37.09/10.39 ], 37.09/10.39 "free": [ 37.09/10.39 "X5", 37.09/10.39 "X6", 37.09/10.39 "X7", 37.09/10.39 "X8" 37.09/10.39 ], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "655": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(',' (isNat T567) (add T566 T567 T569))" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [[ 37.09/10.39 "(s2 (plus T566 T567) T2)", 37.09/10.39 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.39 ]], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T566", 37.09/10.39 "T567" 37.09/10.39 ], 37.09/10.39 "free": [ 37.09/10.39 "X5", 37.09/10.39 "X6", 37.09/10.39 "X7", 37.09/10.39 "X8" 37.09/10.39 ], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "535": { 37.09/10.39 "goal": [ 37.09/10.39 { 37.09/10.39 "clause": 2, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 T1 T2)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 3, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 T1 T2)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 4, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 T1 T2)" 37.09/10.39 } 37.09/10.39 ], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [ 37.09/10.39 [ 37.09/10.39 "(s2 T1 T2)", 37.09/10.39 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.39 ], 37.09/10.39 [ 37.09/10.39 "(s2 T1 T2)", 37.09/10.39 "(s2 (plus X270 X271) X272)" 37.09/10.39 ] 37.09/10.39 ], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": ["T1"], 37.09/10.39 "free": [ 37.09/10.39 "X5", 37.09/10.39 "X6", 37.09/10.39 "X7", 37.09/10.39 "X8", 37.09/10.39 "X270", 37.09/10.39 "X271", 37.09/10.39 "X272" 37.09/10.39 ], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "656": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(isNat T567)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [[ 37.09/10.39 "(s2 (plus T566 T567) T2)", 37.09/10.39 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.39 ]], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T566", 37.09/10.39 "T567" 37.09/10.39 ], 37.09/10.39 "free": [ 37.09/10.39 "X5", 37.09/10.39 "X6", 37.09/10.39 "X7", 37.09/10.39 "X8" 37.09/10.39 ], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "536": { 37.09/10.39 "goal": [ 37.09/10.39 { 37.09/10.39 "clause": 0, 37.09/10.39 "scope": 7, 37.09/10.39 "term": "(s2 (plus T301 T300) T303)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 1, 37.09/10.39 "scope": 7, 37.09/10.39 "term": "(s2 (plus T301 T300) T303)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 2, 37.09/10.39 "scope": 7, 37.09/10.39 "term": "(s2 (plus T301 T300) T303)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 3, 37.09/10.39 "scope": 7, 37.09/10.39 "term": "(s2 (plus T301 T300) T303)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 4, 37.09/10.39 "scope": 7, 37.09/10.39 "term": "(s2 (plus T301 T300) T303)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": -1, 37.09/10.39 "scope": 7, 37.09/10.39 "term": null 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 2, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T300 T301) T2)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 3, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T300 T301) T2)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 4, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T300 T301) T2)" 37.09/10.39 } 37.09/10.39 ], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [[ 37.09/10.39 "(s2 (plus T300 T301) T2)", 37.09/10.39 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.39 ]], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T300", 37.09/10.39 "T301" 37.09/10.39 ], 37.09/10.39 "free": [ 37.09/10.39 "X5", 37.09/10.39 "X6", 37.09/10.39 "X7", 37.09/10.39 "X8" 37.09/10.39 ], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "657": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(add T566 T567 T569)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [[ 37.09/10.39 "(s2 (plus T566 T567) T2)", 37.09/10.39 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.39 ]], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T566", 37.09/10.39 "T567" 37.09/10.39 ], 37.09/10.39 "free": [ 37.09/10.39 "X5", 37.09/10.39 "X6", 37.09/10.39 "X7", 37.09/10.39 "X8" 37.09/10.39 ], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "416": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": 4, 37.09/10.39 "scope": 2, 37.09/10.39 "term": "(s2 (plus (plus T7 T8) T9) T11)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T7", 37.09/10.39 "T8", 37.09/10.39 "T9" 37.09/10.39 ], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "537": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": 0, 37.09/10.39 "scope": 7, 37.09/10.39 "term": "(s2 (plus T301 T300) T303)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [[ 37.09/10.39 "(s2 (plus T300 T301) T2)", 37.09/10.39 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.39 ]], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T300", 37.09/10.39 "T301" 37.09/10.39 ], 37.09/10.39 "free": [ 37.09/10.39 "X5", 37.09/10.39 "X6", 37.09/10.39 "X7", 37.09/10.39 "X8" 37.09/10.39 ], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "658": { 37.09/10.39 "goal": [ 37.09/10.39 { 37.09/10.39 "clause": 3, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 T1 T2)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 4, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 T1 T2)" 37.09/10.39 } 37.09/10.39 ], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [ 37.09/10.39 [ 37.09/10.39 "(s2 T1 T2)", 37.09/10.39 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.39 ], 37.09/10.39 [ 37.09/10.39 "(s2 T1 T2)", 37.09/10.39 "(s2 (plus X270 X271) X272)" 37.09/10.39 ] 37.09/10.39 ], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": ["T1"], 37.09/10.39 "free": [ 37.09/10.39 "X5", 37.09/10.39 "X6", 37.09/10.39 "X7", 37.09/10.39 "X8", 37.09/10.39 "X270", 37.09/10.39 "X271", 37.09/10.39 "X272" 37.09/10.39 ], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "417": { 37.09/10.39 "goal": [ 37.09/10.39 { 37.09/10.39 "clause": -1, 37.09/10.39 "scope": 2, 37.09/10.39 "term": null 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 1, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 2, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 3, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 4, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.39 } 37.09/10.39 ], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T7", 37.09/10.39 "T8", 37.09/10.39 "T9" 37.09/10.39 ], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "538": { 37.09/10.39 "goal": [ 37.09/10.39 { 37.09/10.39 "clause": 1, 37.09/10.39 "scope": 7, 37.09/10.39 "term": "(s2 (plus T301 T300) T303)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 2, 37.09/10.39 "scope": 7, 37.09/10.39 "term": "(s2 (plus T301 T300) T303)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 3, 37.09/10.39 "scope": 7, 37.09/10.39 "term": "(s2 (plus T301 T300) T303)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 4, 37.09/10.39 "scope": 7, 37.09/10.39 "term": "(s2 (plus T301 T300) T303)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": -1, 37.09/10.39 "scope": 7, 37.09/10.39 "term": null 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 2, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T300 T301) T2)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 3, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T300 T301) T2)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 4, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T300 T301) T2)" 37.09/10.39 } 37.09/10.39 ], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [[ 37.09/10.39 "(s2 (plus T300 T301) T2)", 37.09/10.39 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.39 ]], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T300", 37.09/10.39 "T301" 37.09/10.39 ], 37.09/10.39 "free": [ 37.09/10.39 "X5", 37.09/10.39 "X6", 37.09/10.39 "X7", 37.09/10.39 "X8" 37.09/10.39 ], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "659": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": 4, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 T1 T2)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [ 37.09/10.39 [ 37.09/10.39 "(s2 T1 T2)", 37.09/10.39 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.39 ], 37.09/10.39 [ 37.09/10.39 "(s2 T1 T2)", 37.09/10.39 "(s2 (plus X270 X271) X272)" 37.09/10.39 ] 37.09/10.39 ], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": ["T1"], 37.09/10.39 "free": [ 37.09/10.39 "X5", 37.09/10.39 "X6", 37.09/10.39 "X7", 37.09/10.39 "X8", 37.09/10.39 "X270", 37.09/10.39 "X271", 37.09/10.39 "X272" 37.09/10.39 ], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "539": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(s2 (plus (plus T320 T321) T322) T324)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [[ 37.09/10.39 "(s2 (plus (plus T321 T322) T320) T2)", 37.09/10.39 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.39 ]], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T320", 37.09/10.39 "T321", 37.09/10.39 "T322" 37.09/10.39 ], 37.09/10.39 "free": [ 37.09/10.39 "X5", 37.09/10.39 "X6", 37.09/10.39 "X7", 37.09/10.39 "X8" 37.09/10.39 ], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "380": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(true)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "381": { 37.09/10.39 "goal": [], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "382": { 37.09/10.39 "goal": [], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "383": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": 3, 37.09/10.39 "scope": 2, 37.09/10.39 "term": "(s2 (plus (plus T7 T8) T9) T11)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T7", 37.09/10.39 "T8", 37.09/10.39 "T9" 37.09/10.39 ], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "384": { 37.09/10.39 "goal": [ 37.09/10.39 { 37.09/10.39 "clause": 4, 37.09/10.39 "scope": 2, 37.09/10.39 "term": "(s2 (plus (plus T7 T8) T9) T11)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": -1, 37.09/10.39 "scope": 2, 37.09/10.39 "term": null 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 1, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 2, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 3, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 4, 37.09/10.39 "scope": 1, 37.09/10.39 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.39 } 37.09/10.39 ], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T7", 37.09/10.39 "T8", 37.09/10.39 "T9" 37.09/10.39 ], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "385": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(',' (s2 (plus T113 T114) X94) (',' (s2 T115 X95) (s2 (plus X94 X95) T117)))" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T113", 37.09/10.39 "T114", 37.09/10.39 "T115" 37.09/10.39 ], 37.09/10.39 "free": [ 37.09/10.39 "X94", 37.09/10.39 "X95" 37.09/10.39 ], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "660": { 37.09/10.39 "goal": [], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "540": { 37.09/10.39 "goal": [], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "420": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(',' (isNat (plus T154 T155)) (',' (isNat T156) (add (plus T154 T155) T156 T158)))" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T154", 37.09/10.39 "T155", 37.09/10.39 "T156" 37.09/10.39 ], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "541": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": 1, 37.09/10.39 "scope": 7, 37.09/10.39 "term": "(s2 (plus T301 T300) T303)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [[ 37.09/10.39 "(s2 (plus T300 T301) T2)", 37.09/10.39 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.39 ]], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T300", 37.09/10.39 "T301" 37.09/10.39 ], 37.09/10.39 "free": [ 37.09/10.39 "X5", 37.09/10.39 "X6", 37.09/10.39 "X7", 37.09/10.39 "X8" 37.09/10.39 ], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "388": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(s2 (plus T113 T114) X94)" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T113", 37.09/10.39 "T114" 37.09/10.39 ], 37.09/10.39 "free": ["X94"], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "421": { 37.09/10.39 "goal": [{ 37.09/10.39 "clause": -1, 37.09/10.39 "scope": -1, 37.09/10.39 "term": "(isNat (plus T154 T155))" 37.09/10.39 }], 37.09/10.39 "kb": { 37.09/10.39 "nonunifying": [], 37.09/10.39 "intvars": {}, 37.09/10.39 "arithmetic": { 37.09/10.39 "type": "PlainIntegerRelationState", 37.09/10.39 "relations": [] 37.09/10.39 }, 37.09/10.39 "ground": [ 37.09/10.39 "T154", 37.09/10.39 "T155" 37.09/10.39 ], 37.09/10.39 "free": [], 37.09/10.39 "exprvars": [] 37.09/10.39 } 37.09/10.39 }, 37.09/10.39 "542": { 37.09/10.39 "goal": [ 37.09/10.39 { 37.09/10.39 "clause": 2, 37.09/10.39 "scope": 7, 37.09/10.39 "term": "(s2 (plus T301 T300) T303)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 3, 37.09/10.39 "scope": 7, 37.09/10.39 "term": "(s2 (plus T301 T300) T303)" 37.09/10.39 }, 37.09/10.39 { 37.09/10.39 "clause": 4, 37.09/10.40 "scope": 7, 37.09/10.40 "term": "(s2 (plus T301 T300) T303)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": -1, 37.09/10.40 "scope": 7, 37.09/10.40 "term": null 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 2, 37.09/10.40 "scope": 1, 37.09/10.40 "term": "(s2 (plus T300 T301) T2)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 3, 37.09/10.40 "scope": 1, 37.09/10.40 "term": "(s2 (plus T300 T301) T2)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 4, 37.09/10.40 "scope": 1, 37.09/10.40 "term": "(s2 (plus T300 T301) T2)" 37.09/10.40 } 37.09/10.40 ], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [[ 37.09/10.40 "(s2 (plus T300 T301) T2)", 37.09/10.40 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.40 ]], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T300", 37.09/10.40 "T301" 37.09/10.40 ], 37.09/10.40 "free": [ 37.09/10.40 "X5", 37.09/10.40 "X6", 37.09/10.40 "X7", 37.09/10.40 "X8" 37.09/10.40 ], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "389": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": -1, 37.09/10.40 "scope": -1, 37.09/10.40 "term": "(',' (s2 T115 X95) (s2 (plus T121 X95) T117))" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T115", 37.09/10.40 "T121" 37.09/10.40 ], 37.09/10.40 "free": ["X95"], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "422": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": -1, 37.09/10.40 "scope": -1, 37.09/10.40 "term": "(',' (isNat T156) (add (plus T154 T155) T156 T158))" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T154", 37.09/10.40 "T155", 37.09/10.40 "T156" 37.09/10.40 ], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "543": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": -1, 37.09/10.40 "scope": -1, 37.09/10.40 "term": "(s2 (plus T359 T358) T361)" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [[ 37.09/10.40 "(s2 (plus T359 T358) T2)", 37.09/10.40 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.40 ]], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T358", 37.09/10.40 "T359" 37.09/10.40 ], 37.09/10.40 "free": [ 37.09/10.40 "X5", 37.09/10.40 "X6", 37.09/10.40 "X7", 37.09/10.40 "X8" 37.09/10.40 ], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "544": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": 2, 37.09/10.40 "scope": 7, 37.09/10.40 "term": "(s2 (plus T301 T300) T303)" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [[ 37.09/10.40 "(s2 (plus T300 T301) T2)", 37.09/10.40 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.40 ]], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T300", 37.09/10.40 "T301" 37.09/10.40 ], 37.09/10.40 "free": [ 37.09/10.40 "X5", 37.09/10.40 "X6", 37.09/10.40 "X7", 37.09/10.40 "X8" 37.09/10.40 ], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "545": { 37.09/10.40 "goal": [ 37.09/10.40 { 37.09/10.40 "clause": 3, 37.09/10.40 "scope": 7, 37.09/10.40 "term": "(s2 (plus T301 T300) T303)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 4, 37.09/10.40 "scope": 7, 37.09/10.40 "term": "(s2 (plus T301 T300) T303)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": -1, 37.09/10.40 "scope": 7, 37.09/10.40 "term": null 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 2, 37.09/10.40 "scope": 1, 37.09/10.40 "term": "(s2 (plus T300 T301) T2)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 3, 37.09/10.40 "scope": 1, 37.09/10.40 "term": "(s2 (plus T300 T301) T2)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 4, 37.09/10.40 "scope": 1, 37.09/10.40 "term": "(s2 (plus T300 T301) T2)" 37.09/10.40 } 37.09/10.40 ], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [[ 37.09/10.40 "(s2 (plus T300 T301) T2)", 37.09/10.40 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.40 ]], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T300", 37.09/10.40 "T301" 37.09/10.40 ], 37.09/10.40 "free": [ 37.09/10.40 "X5", 37.09/10.40 "X6", 37.09/10.40 "X7", 37.09/10.40 "X8" 37.09/10.40 ], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "546": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": -1, 37.09/10.40 "scope": -1, 37.09/10.40 "term": "(true)" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "547": { 37.09/10.40 "goal": [], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "548": { 37.09/10.40 "goal": [], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "549": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": 3, 37.09/10.40 "scope": 7, 37.09/10.40 "term": "(s2 (plus T301 T300) T303)" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [[ 37.09/10.40 "(s2 (plus T300 T301) T2)", 37.09/10.40 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.40 ]], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T300", 37.09/10.40 "T301" 37.09/10.40 ], 37.09/10.40 "free": [ 37.09/10.40 "X5", 37.09/10.40 "X6", 37.09/10.40 "X7", 37.09/10.40 "X8" 37.09/10.40 ], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "45": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": -1, 37.09/10.40 "scope": -1, 37.09/10.40 "term": "(s2 T1 T2)" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": ["T1"], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "46": { 37.09/10.40 "goal": [ 37.09/10.40 { 37.09/10.40 "clause": 0, 37.09/10.40 "scope": 1, 37.09/10.40 "term": "(s2 T1 T2)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 1, 37.09/10.40 "scope": 1, 37.09/10.40 "term": "(s2 T1 T2)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 2, 37.09/10.40 "scope": 1, 37.09/10.40 "term": "(s2 T1 T2)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 3, 37.09/10.40 "scope": 1, 37.09/10.40 "term": "(s2 T1 T2)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 4, 37.09/10.40 "scope": 1, 37.09/10.40 "term": "(s2 T1 T2)" 37.09/10.40 } 37.09/10.40 ], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": ["T1"], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "550": { 37.09/10.40 "goal": [ 37.09/10.40 { 37.09/10.40 "clause": 4, 37.09/10.40 "scope": 7, 37.09/10.40 "term": "(s2 (plus T301 T300) T303)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": -1, 37.09/10.40 "scope": 7, 37.09/10.40 "term": null 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 2, 37.09/10.40 "scope": 1, 37.09/10.40 "term": "(s2 (plus T300 T301) T2)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 3, 37.09/10.40 "scope": 1, 37.09/10.40 "term": "(s2 (plus T300 T301) T2)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 4, 37.09/10.40 "scope": 1, 37.09/10.40 "term": "(s2 (plus T300 T301) T2)" 37.09/10.40 } 37.09/10.40 ], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [[ 37.09/10.40 "(s2 (plus T300 T301) T2)", 37.09/10.40 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.40 ]], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T300", 37.09/10.40 "T301" 37.09/10.40 ], 37.09/10.40 "free": [ 37.09/10.40 "X5", 37.09/10.40 "X6", 37.09/10.40 "X7", 37.09/10.40 "X8" 37.09/10.40 ], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "551": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": -1, 37.09/10.40 "scope": -1, 37.09/10.40 "term": "(',' (s2 T410 X399) (',' (s2 T411 X400) (s2 (plus X399 X400) T413)))" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [[ 37.09/10.40 "(s2 (plus T411 T410) T2)", 37.09/10.40 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.40 ]], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T410", 37.09/10.40 "T411" 37.09/10.40 ], 37.09/10.40 "free": [ 37.09/10.40 "X5", 37.09/10.40 "X6", 37.09/10.40 "X7", 37.09/10.40 "X8", 37.09/10.40 "X399", 37.09/10.40 "X400" 37.09/10.40 ], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "552": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": -1, 37.09/10.40 "scope": -1, 37.09/10.40 "term": "(s2 T410 X399)" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [[ 37.09/10.40 "(s2 (plus T411 T410) T2)", 37.09/10.40 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.40 ]], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T410", 37.09/10.40 "T411" 37.09/10.40 ], 37.09/10.40 "free": [ 37.09/10.40 "X5", 37.09/10.40 "X6", 37.09/10.40 "X7", 37.09/10.40 "X8", 37.09/10.40 "X399" 37.09/10.40 ], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "399": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": -1, 37.09/10.40 "scope": -1, 37.09/10.40 "term": "(s2 T115 X95)" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": ["T115"], 37.09/10.40 "free": ["X95"], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "553": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": -1, 37.09/10.40 "scope": -1, 37.09/10.40 "term": "(',' (s2 T411 X400) (s2 (plus T425 X400) T413))" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [[ 37.09/10.40 "(s2 (plus T411 T410) T2)", 37.09/10.40 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.40 ]], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T410", 37.09/10.40 "T411", 37.09/10.40 "T425" 37.09/10.40 ], 37.09/10.40 "free": [ 37.09/10.40 "X5", 37.09/10.40 "X6", 37.09/10.40 "X7", 37.09/10.40 "X8", 37.09/10.40 "X400" 37.09/10.40 ], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "200": { 37.09/10.40 "goal": [ 37.09/10.40 { 37.09/10.40 "clause": 0, 37.09/10.40 "scope": 2, 37.09/10.40 "term": "(s2 (plus (plus T7 T8) T9) T11)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 1, 37.09/10.40 "scope": 2, 37.09/10.40 "term": "(s2 (plus (plus T7 T8) T9) T11)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 2, 37.09/10.40 "scope": 2, 37.09/10.40 "term": "(s2 (plus (plus T7 T8) T9) T11)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 3, 37.09/10.40 "scope": 2, 37.09/10.40 "term": "(s2 (plus (plus T7 T8) T9) T11)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 4, 37.09/10.40 "scope": 2, 37.09/10.40 "term": "(s2 (plus (plus T7 T8) T9) T11)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": -1, 37.09/10.40 "scope": 2, 37.09/10.40 "term": null 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 1, 37.09/10.40 "scope": 1, 37.09/10.40 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 2, 37.09/10.40 "scope": 1, 37.09/10.40 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 3, 37.09/10.40 "scope": 1, 37.09/10.40 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 4, 37.09/10.40 "scope": 1, 37.09/10.40 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.40 } 37.09/10.40 ], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T7", 37.09/10.40 "T8", 37.09/10.40 "T9" 37.09/10.40 ], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "202": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": 0, 37.09/10.40 "scope": 2, 37.09/10.40 "term": "(s2 (plus (plus T7 T8) T9) T11)" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T7", 37.09/10.40 "T8", 37.09/10.40 "T9" 37.09/10.40 ], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "204": { 37.09/10.40 "goal": [ 37.09/10.40 { 37.09/10.40 "clause": 1, 37.09/10.40 "scope": 2, 37.09/10.40 "term": "(s2 (plus (plus T7 T8) T9) T11)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 2, 37.09/10.40 "scope": 2, 37.09/10.40 "term": "(s2 (plus (plus T7 T8) T9) T11)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 3, 37.09/10.40 "scope": 2, 37.09/10.40 "term": "(s2 (plus (plus T7 T8) T9) T11)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 4, 37.09/10.40 "scope": 2, 37.09/10.40 "term": "(s2 (plus (plus T7 T8) T9) T11)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": -1, 37.09/10.40 "scope": 2, 37.09/10.40 "term": null 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 1, 37.09/10.40 "scope": 1, 37.09/10.40 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 2, 37.09/10.40 "scope": 1, 37.09/10.40 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 3, 37.09/10.40 "scope": 1, 37.09/10.40 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 4, 37.09/10.40 "scope": 1, 37.09/10.40 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.40 } 37.09/10.40 ], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T7", 37.09/10.40 "T8", 37.09/10.40 "T9" 37.09/10.40 ], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "455": { 37.09/10.40 "goal": [ 37.09/10.40 { 37.09/10.40 "clause": 5, 37.09/10.40 "scope": 3, 37.09/10.40 "term": "(isNat (plus T154 T155))" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 6, 37.09/10.40 "scope": 3, 37.09/10.40 "term": "(isNat (plus T154 T155))" 37.09/10.40 } 37.09/10.40 ], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T154", 37.09/10.40 "T155" 37.09/10.40 ], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "456": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": 6, 37.09/10.40 "scope": 3, 37.09/10.40 "term": "(isNat (plus T154 T155))" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T154", 37.09/10.40 "T155" 37.09/10.40 ], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "457": { 37.09/10.40 "goal": [], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "458": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": -1, 37.09/10.40 "scope": -1, 37.09/10.40 "term": "(isNat T156)" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": ["T156"], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "459": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": -1, 37.09/10.40 "scope": -1, 37.09/10.40 "term": "(add (plus T154 T155) T156 T158)" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T154", 37.09/10.40 "T155", 37.09/10.40 "T156" 37.09/10.40 ], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "460": { 37.09/10.40 "goal": [ 37.09/10.40 { 37.09/10.40 "clause": 5, 37.09/10.40 "scope": 4, 37.09/10.40 "term": "(isNat T156)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 6, 37.09/10.40 "scope": 4, 37.09/10.40 "term": "(isNat T156)" 37.09/10.40 } 37.09/10.40 ], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": ["T156"], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "461": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": 5, 37.09/10.40 "scope": 4, 37.09/10.40 "term": "(isNat T156)" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": ["T156"], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "220": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": -1, 37.09/10.40 "scope": -1, 37.09/10.40 "term": "(s2 (plus (plus (plus T32 T33) T34) T35) T37)" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T32", 37.09/10.40 "T33", 37.09/10.40 "T34", 37.09/10.40 "T35" 37.09/10.40 ], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "462": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": 6, 37.09/10.40 "scope": 4, 37.09/10.40 "term": "(isNat T156)" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": ["T156"], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "221": { 37.09/10.40 "goal": [], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "463": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": -1, 37.09/10.40 "scope": -1, 37.09/10.40 "term": "(isNat T165)" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": ["T165"], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "464": { 37.09/10.40 "goal": [], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "465": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": -1, 37.09/10.40 "scope": -1, 37.09/10.40 "term": "(true)" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "586": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": 4, 37.09/10.40 "scope": 7, 37.09/10.40 "term": "(s2 (plus T301 T300) T303)" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [[ 37.09/10.40 "(s2 (plus T300 T301) T2)", 37.09/10.40 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.40 ]], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T300", 37.09/10.40 "T301" 37.09/10.40 ], 37.09/10.40 "free": [ 37.09/10.40 "X5", 37.09/10.40 "X6", 37.09/10.40 "X7", 37.09/10.40 "X8" 37.09/10.40 ], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "224": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": 1, 37.09/10.40 "scope": 2, 37.09/10.40 "term": "(s2 (plus (plus T7 T8) T9) T11)" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T7", 37.09/10.40 "T8", 37.09/10.40 "T9" 37.09/10.40 ], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "466": { 37.09/10.40 "goal": [], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "587": { 37.09/10.40 "goal": [ 37.09/10.40 { 37.09/10.40 "clause": -1, 37.09/10.40 "scope": 7, 37.09/10.40 "term": null 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 2, 37.09/10.40 "scope": 1, 37.09/10.40 "term": "(s2 (plus T300 T301) T2)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 3, 37.09/10.40 "scope": 1, 37.09/10.40 "term": "(s2 (plus T300 T301) T2)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 4, 37.09/10.40 "scope": 1, 37.09/10.40 "term": "(s2 (plus T300 T301) T2)" 37.09/10.40 } 37.09/10.40 ], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [[ 37.09/10.40 "(s2 (plus T300 T301) T2)", 37.09/10.40 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.40 ]], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T300", 37.09/10.40 "T301" 37.09/10.40 ], 37.09/10.40 "free": [ 37.09/10.40 "X5", 37.09/10.40 "X6", 37.09/10.40 "X7", 37.09/10.40 "X8" 37.09/10.40 ], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "225": { 37.09/10.40 "goal": [ 37.09/10.40 { 37.09/10.40 "clause": 2, 37.09/10.40 "scope": 2, 37.09/10.40 "term": "(s2 (plus (plus T7 T8) T9) T11)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 3, 37.09/10.40 "scope": 2, 37.09/10.40 "term": "(s2 (plus (plus T7 T8) T9) T11)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 4, 37.09/10.40 "scope": 2, 37.09/10.40 "term": "(s2 (plus (plus T7 T8) T9) T11)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": -1, 37.09/10.40 "scope": 2, 37.09/10.40 "term": null 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 1, 37.09/10.40 "scope": 1, 37.09/10.40 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 2, 37.09/10.40 "scope": 1, 37.09/10.40 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 3, 37.09/10.40 "scope": 1, 37.09/10.40 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 4, 37.09/10.40 "scope": 1, 37.09/10.40 "term": "(s2 (plus T7 (plus T8 T9)) T2)" 37.09/10.40 } 37.09/10.40 ], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T7", 37.09/10.40 "T8", 37.09/10.40 "T9" 37.09/10.40 ], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "467": { 37.09/10.40 "goal": [], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "588": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": -1, 37.09/10.40 "scope": -1, 37.09/10.40 "term": "(',' (isNat T456) (',' (isNat T457) (add T456 T457 T459)))" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [[ 37.09/10.40 "(s2 (plus T457 T456) T2)", 37.09/10.40 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.40 ]], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T456", 37.09/10.40 "T457" 37.09/10.40 ], 37.09/10.40 "free": [ 37.09/10.40 "X5", 37.09/10.40 "X6", 37.09/10.40 "X7", 37.09/10.40 "X8" 37.09/10.40 ], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "468": { 37.09/10.40 "goal": [ 37.09/10.40 { 37.09/10.40 "clause": 7, 37.09/10.40 "scope": 5, 37.09/10.40 "term": "(add (plus T154 T155) T156 T158)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 8, 37.09/10.40 "scope": 5, 37.09/10.40 "term": "(add (plus T154 T155) T156 T158)" 37.09/10.40 } 37.09/10.40 ], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T154", 37.09/10.40 "T155", 37.09/10.40 "T156" 37.09/10.40 ], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "622": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": -1, 37.09/10.40 "scope": -1, 37.09/10.40 "term": "(isNat T456)" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [[ 37.09/10.40 "(s2 (plus T457 T456) T2)", 37.09/10.40 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.40 ]], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T456", 37.09/10.40 "T457" 37.09/10.40 ], 37.09/10.40 "free": [ 37.09/10.40 "X5", 37.09/10.40 "X6", 37.09/10.40 "X7", 37.09/10.40 "X8" 37.09/10.40 ], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "469": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": 8, 37.09/10.40 "scope": 5, 37.09/10.40 "term": "(add (plus T154 T155) T156 T158)" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T154", 37.09/10.40 "T155", 37.09/10.40 "T156" 37.09/10.40 ], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "623": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": -1, 37.09/10.40 "scope": -1, 37.09/10.40 "term": "(',' (isNat T457) (add T456 T457 T459))" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [[ 37.09/10.40 "(s2 (plus T457 T456) T2)", 37.09/10.40 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.40 ]], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T456", 37.09/10.40 "T457" 37.09/10.40 ], 37.09/10.40 "free": [ 37.09/10.40 "X5", 37.09/10.40 "X6", 37.09/10.40 "X7", 37.09/10.40 "X8" 37.09/10.40 ], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "228": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": -1, 37.09/10.40 "scope": -1, 37.09/10.40 "term": "(s2 (plus T72 (plus T70 T71)) T74)" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T70", 37.09/10.40 "T71", 37.09/10.40 "T72" 37.09/10.40 ], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "624": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": -1, 37.09/10.40 "scope": -1, 37.09/10.40 "term": "(isNat T457)" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [[ 37.09/10.40 "(s2 (plus T457 T456) T2)", 37.09/10.40 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.40 ]], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T456", 37.09/10.40 "T457" 37.09/10.40 ], 37.09/10.40 "free": [ 37.09/10.40 "X5", 37.09/10.40 "X6", 37.09/10.40 "X7", 37.09/10.40 "X8" 37.09/10.40 ], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "625": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": -1, 37.09/10.40 "scope": -1, 37.09/10.40 "term": "(add T456 T457 T459)" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [[ 37.09/10.40 "(s2 (plus T457 T456) T2)", 37.09/10.40 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.40 ]], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T456", 37.09/10.40 "T457" 37.09/10.40 ], 37.09/10.40 "free": [ 37.09/10.40 "X5", 37.09/10.40 "X6", 37.09/10.40 "X7", 37.09/10.40 "X8" 37.09/10.40 ], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "626": { 37.09/10.40 "goal": [ 37.09/10.40 { 37.09/10.40 "clause": 7, 37.09/10.40 "scope": 8, 37.09/10.40 "term": "(add T456 T457 T459)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "clause": 8, 37.09/10.40 "scope": 8, 37.09/10.40 "term": "(add T456 T457 T459)" 37.09/10.40 } 37.09/10.40 ], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [[ 37.09/10.40 "(s2 (plus T457 T456) T2)", 37.09/10.40 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.40 ]], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T456", 37.09/10.40 "T457" 37.09/10.40 ], 37.09/10.40 "free": [ 37.09/10.40 "X5", 37.09/10.40 "X6", 37.09/10.40 "X7", 37.09/10.40 "X8" 37.09/10.40 ], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "627": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": 7, 37.09/10.40 "scope": 8, 37.09/10.40 "term": "(add T456 T457 T459)" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [[ 37.09/10.40 "(s2 (plus T457 T456) T2)", 37.09/10.40 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.40 ]], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T456", 37.09/10.40 "T457" 37.09/10.40 ], 37.09/10.40 "free": [ 37.09/10.40 "X5", 37.09/10.40 "X6", 37.09/10.40 "X7", 37.09/10.40 "X8" 37.09/10.40 ], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "628": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": 8, 37.09/10.40 "scope": 8, 37.09/10.40 "term": "(add T456 T457 T459)" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [[ 37.09/10.40 "(s2 (plus T457 T456) T2)", 37.09/10.40 "(s2 (plus X5 (plus X6 X7)) X8)" 37.09/10.40 ]], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T456", 37.09/10.40 "T457" 37.09/10.40 ], 37.09/10.40 "free": [ 37.09/10.40 "X5", 37.09/10.40 "X6", 37.09/10.40 "X7", 37.09/10.40 "X8" 37.09/10.40 ], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "629": { 37.09/10.40 "goal": [{ 37.09/10.40 "clause": -1, 37.09/10.40 "scope": -1, 37.09/10.40 "term": "(add T479 T480 T482)" 37.09/10.40 }], 37.09/10.40 "kb": { 37.09/10.40 "nonunifying": [], 37.09/10.40 "intvars": {}, 37.09/10.40 "arithmetic": { 37.09/10.40 "type": "PlainIntegerRelationState", 37.09/10.40 "relations": [] 37.09/10.40 }, 37.09/10.40 "ground": [ 37.09/10.40 "T479", 37.09/10.40 "T480" 37.09/10.40 ], 37.09/10.40 "free": [], 37.09/10.40 "exprvars": [] 37.09/10.40 } 37.09/10.40 } 37.09/10.40 }, 37.09/10.40 "edges": [ 37.09/10.40 { 37.09/10.40 "from": 45, 37.09/10.40 "to": 46, 37.09/10.40 "label": "CASE" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 46, 37.09/10.40 "to": 196, 37.09/10.40 "label": "EVAL with clause\ns2(plus(X5, plus(X6, X7)), X8) :- s2(plus(plus(X5, X6), X7), X8).\nand substitutionX5 -> T7,\nX6 -> T8,\nX7 -> T9,\nT1 -> plus(T7, plus(T8, T9)),\nT2 -> T11,\nX8 -> T11,\nT10 -> T11" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 46, 37.09/10.40 "to": 197, 37.09/10.40 "label": "EVAL-BACKTRACK" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 196, 37.09/10.40 "to": 200, 37.09/10.40 "label": "CASE" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 197, 37.09/10.40 "to": 534, 37.09/10.40 "label": "EVAL with clause\ns2(plus(X270, X271), X272) :- s2(plus(X271, X270), X272).\nand substitutionX270 -> T300,\nX271 -> T301,\nT1 -> plus(T300, T301),\nT2 -> T303,\nX272 -> T303,\nT302 -> T303" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 197, 37.09/10.40 "to": 535, 37.09/10.40 "label": "EVAL-BACKTRACK" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 200, 37.09/10.40 "to": 202, 37.09/10.40 "label": "PARALLEL" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 200, 37.09/10.40 "to": 204, 37.09/10.40 "label": "PARALLEL" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 202, 37.09/10.40 "to": 220, 37.09/10.40 "label": "EVAL with clause\ns2(plus(X25, plus(X26, X27)), X28) :- s2(plus(plus(X25, X26), X27), X28).\nand substitutionT7 -> T32,\nT8 -> T33,\nX25 -> plus(T32, T33),\nX26 -> T34,\nX27 -> T35,\nT9 -> plus(T34, T35),\nT11 -> T37,\nX28 -> T37,\nT36 -> T37" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 202, 37.09/10.40 "to": 221, 37.09/10.40 "label": "EVAL-BACKTRACK" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 204, 37.09/10.40 "to": 224, 37.09/10.40 "label": "PARALLEL" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 204, 37.09/10.40 "to": 225, 37.09/10.40 "label": "PARALLEL" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 220, 37.09/10.40 "to": 45, 37.09/10.40 "label": "INSTANCE with matching:\nT1 -> plus(plus(plus(T32, T33), T34), T35)\nT2 -> T37" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 224, 37.09/10.40 "to": 228, 37.09/10.40 "label": "ONLY EVAL with clause\ns2(plus(X53, X54), X55) :- s2(plus(X54, X53), X55).\nand substitutionT7 -> T70,\nT8 -> T71,\nX53 -> plus(T70, T71),\nT9 -> T72,\nX54 -> T72,\nT11 -> T74,\nX55 -> T74,\nT73 -> T74" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 225, 37.09/10.40 "to": 378, 37.09/10.40 "label": "PARALLEL" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 225, 37.09/10.40 "to": 379, 37.09/10.40 "label": "PARALLEL" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 228, 37.09/10.40 "to": 45, 37.09/10.40 "label": "INSTANCE with matching:\nT1 -> plus(T72, plus(T70, T71))\nT2 -> T74" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 378, 37.09/10.40 "to": 380, 37.09/10.40 "label": "EVAL with clause\ns2(plus(X64, 0), X64).\nand substitutionT7 -> T87,\nT8 -> T88,\nX64 -> plus(T87, T88),\nT9 -> 0,\nT11 -> plus(T87, T88)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 378, 37.09/10.40 "to": 381, 37.09/10.40 "label": "EVAL-BACKTRACK" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 379, 37.09/10.40 "to": 383, 37.09/10.40 "label": "PARALLEL" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 379, 37.09/10.40 "to": 384, 37.09/10.40 "label": "PARALLEL" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 380, 37.09/10.40 "to": 382, 37.09/10.40 "label": "SUCCESS" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 383, 37.09/10.40 "to": 385, 37.09/10.40 "label": "ONLY EVAL with clause\ns2(plus(X91, X92), X93) :- ','(s2(X91, X94), ','(s2(X92, X95), s2(plus(X94, X95), X93))).\nand substitutionT7 -> T113,\nT8 -> T114,\nX91 -> plus(T113, T114),\nT9 -> T115,\nX92 -> T115,\nT11 -> T117,\nX93 -> T117,\nT116 -> T117" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 384, 37.09/10.40 "to": 416, 37.09/10.40 "label": "PARALLEL" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 384, 37.09/10.40 "to": 417, 37.09/10.40 "label": "PARALLEL" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 385, 37.09/10.40 "to": 388, 37.09/10.40 "label": "SPLIT 1" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 385, 37.09/10.40 "to": 389, 37.09/10.40 "label": "SPLIT 2\nnew knowledge:\nT113 is ground\nT114 is ground\nT121 is ground\nreplacements:X94 -> T121" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 388, 37.09/10.40 "to": 45, 37.09/10.40 "label": "INSTANCE with matching:\nT1 -> plus(T113, T114)\nT2 -> X94" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 389, 37.09/10.40 "to": 399, 37.09/10.40 "label": "SPLIT 1" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 389, 37.09/10.40 "to": 400, 37.09/10.40 "label": "SPLIT 2\nnew knowledge:\nT115 is ground\nT128 is ground\nreplacements:X95 -> T128" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 399, 37.09/10.40 "to": 45, 37.09/10.40 "label": "INSTANCE with matching:\nT1 -> T115\nT2 -> X95" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 400, 37.09/10.40 "to": 45, 37.09/10.40 "label": "INSTANCE with matching:\nT1 -> plus(T121, T128)\nT2 -> T117" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 416, 37.09/10.40 "to": 420, 37.09/10.40 "label": "ONLY EVAL with clause\ns2(plus(X134, X135), X136) :- ','(isNat(X134), ','(isNat(X135), add(X134, X135, X136))).\nand substitutionT7 -> T154,\nT8 -> T155,\nX134 -> plus(T154, T155),\nT9 -> T156,\nX135 -> T156,\nT11 -> T158,\nX136 -> T158,\nT157 -> T158" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 417, 37.09/10.40 "to": 471, 37.09/10.40 "label": "FAILURE" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 420, 37.09/10.40 "to": 421, 37.09/10.40 "label": "SPLIT 1" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 420, 37.09/10.40 "to": 422, 37.09/10.40 "label": "SPLIT 2\nnew knowledge:\nT154 is ground\nT155 is ground" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 421, 37.09/10.40 "to": 455, 37.09/10.40 "label": "CASE" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 422, 37.09/10.40 "to": 458, 37.09/10.40 "label": "SPLIT 1" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 422, 37.09/10.40 "to": 459, 37.09/10.40 "label": "SPLIT 2\nnew knowledge:\nT156 is ground" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 455, 37.09/10.40 "to": 456, 37.09/10.40 "label": "BACKTRACK\nfor clause: isNat(s(X)) :- isNat(X)because of non-unification" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 456, 37.09/10.40 "to": 457, 37.09/10.40 "label": "BACKTRACK\nfor clause: isNat(0)because of non-unification" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 458, 37.09/10.40 "to": 460, 37.09/10.40 "label": "CASE" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 459, 37.09/10.40 "to": 468, 37.09/10.40 "label": "CASE" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 460, 37.09/10.40 "to": 461, 37.09/10.40 "label": "PARALLEL" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 460, 37.09/10.40 "to": 462, 37.09/10.40 "label": "PARALLEL" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 461, 37.09/10.40 "to": 463, 37.09/10.40 "label": "EVAL with clause\nisNat(s(X146)) :- isNat(X146).\nand substitutionX146 -> T165,\nT156 -> s(T165)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 461, 37.09/10.40 "to": 464, 37.09/10.40 "label": "EVAL-BACKTRACK" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 462, 37.09/10.40 "to": 465, 37.09/10.40 "label": "EVAL with clause\nisNat(0).\nand substitutionT156 -> 0" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 462, 37.09/10.40 "to": 466, 37.09/10.40 "label": "EVAL-BACKTRACK" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 463, 37.09/10.40 "to": 458, 37.09/10.40 "label": "INSTANCE with matching:\nT156 -> T165" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 465, 37.09/10.40 "to": 467, 37.09/10.40 "label": "SUCCESS" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 468, 37.09/10.40 "to": 469, 37.09/10.40 "label": "BACKTRACK\nfor clause: add(s(X), Y, s(Z)) :- add(X, Y, Z)because of non-unification" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 469, 37.09/10.40 "to": 470, 37.09/10.40 "label": "BACKTRACK\nfor clause: add(0, X, X)because of non-unification" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 471, 37.09/10.40 "to": 472, 37.09/10.40 "label": "PARALLEL" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 471, 37.09/10.40 "to": 473, 37.09/10.40 "label": "PARALLEL" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 472, 37.09/10.40 "to": 474, 37.09/10.40 "label": "ONLY EVAL with clause\ns2(plus(X175, X176), X177) :- s2(plus(X176, X175), X177).\nand substitutionT7 -> T195,\nX175 -> T195,\nT8 -> T196,\nT9 -> T197,\nX176 -> plus(T196, T197),\nT2 -> T199,\nX177 -> T199,\nT198 -> T199" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 473, 37.09/10.40 "to": 475, 37.09/10.40 "label": "BACKTRACK\nfor clause: s2(plus(X, 0), X)because of non-unification" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 474, 37.09/10.40 "to": 45, 37.09/10.40 "label": "INSTANCE with matching:\nT1 -> plus(plus(T196, T197), T195)\nT2 -> T199" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 475, 37.09/10.40 "to": 476, 37.09/10.40 "label": "PARALLEL" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 475, 37.09/10.40 "to": 477, 37.09/10.40 "label": "PARALLEL" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 476, 37.09/10.40 "to": 478, 37.09/10.40 "label": "ONLY EVAL with clause\ns2(plus(X209, X210), X211) :- ','(s2(X209, X212), ','(s2(X210, X213), s2(plus(X212, X213), X211))).\nand substitutionT7 -> T230,\nX209 -> T230,\nT8 -> T231,\nT9 -> T232,\nX210 -> plus(T231, T232),\nT2 -> T234,\nX211 -> T234,\nT233 -> T234" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 477, 37.09/10.40 "to": 481, 37.09/10.40 "label": "ONLY EVAL with clause\ns2(plus(X236, X237), X238) :- ','(isNat(X236), ','(isNat(X237), add(X236, X237, X238))).\nand substitutionT7 -> T255,\nX236 -> T255,\nT8 -> T256,\nT9 -> T257,\nX237 -> plus(T256, T257),\nT2 -> T259,\nX238 -> T259,\nT258 -> T259" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 478, 37.09/10.40 "to": 479, 37.09/10.40 "label": "SPLIT 1" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 478, 37.09/10.40 "to": 480, 37.09/10.40 "label": "SPLIT 2\nnew knowledge:\nT230 is ground\nT238 is ground\nreplacements:X212 -> T238" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 479, 37.09/10.40 "to": 45, 37.09/10.40 "label": "INSTANCE with matching:\nT1 -> T230\nT2 -> X212" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 480, 37.09/10.40 "to": 389, 37.09/10.40 "label": "INSTANCE with matching:\nT115 -> plus(T231, T232)\nX95 -> X213\nT121 -> T238\nT117 -> T234" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 481, 37.09/10.40 "to": 482, 37.09/10.40 "label": "SPLIT 1" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 481, 37.09/10.40 "to": 483, 37.09/10.40 "label": "SPLIT 2\nnew knowledge:\nT255 is ground" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 482, 37.09/10.40 "to": 458, 37.09/10.40 "label": "INSTANCE with matching:\nT156 -> T255" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 483, 37.09/10.40 "to": 484, 37.09/10.40 "label": "SPLIT 1" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 483, 37.09/10.40 "to": 485, 37.09/10.40 "label": "SPLIT 2\nnew knowledge:\nT256 is ground\nT257 is ground" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 484, 37.09/10.40 "to": 421, 37.09/10.40 "label": "INSTANCE with matching:\nT154 -> T256\nT155 -> T257" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 485, 37.09/10.40 "to": 486, 37.09/10.40 "label": "CASE" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 486, 37.09/10.40 "to": 487, 37.09/10.40 "label": "PARALLEL" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 486, 37.09/10.40 "to": 488, 37.09/10.40 "label": "PARALLEL" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 487, 37.09/10.40 "to": 529, 37.09/10.40 "label": "EVAL with clause\nadd(s(X258), X259, s(X260)) :- add(X258, X259, X260).\nand substitutionX258 -> T282,\nT255 -> s(T282),\nT256 -> T283,\nT257 -> T284,\nX259 -> plus(T283, T284),\nX260 -> T286,\nT259 -> s(T286),\nT285 -> T286" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 487, 37.09/10.40 "to": 530, 37.09/10.40 "label": "EVAL-BACKTRACK" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 488, 37.09/10.40 "to": 531, 37.09/10.40 "label": "EVAL with clause\nadd(0, X266, X266).\nand substitutionT255 -> 0,\nT256 -> T295,\nT257 -> T296,\nX266 -> plus(T295, T296),\nT259 -> plus(T295, T296)" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 488, 37.09/10.40 "to": 532, 37.09/10.40 "label": "EVAL-BACKTRACK" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 529, 37.09/10.40 "to": 485, 37.09/10.40 "label": "INSTANCE with matching:\nT255 -> T282\nT256 -> T283\nT257 -> T284\nT259 -> T286" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 531, 37.09/10.40 "to": 533, 37.09/10.40 "label": "SUCCESS" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 534, 37.09/10.40 "to": 536, 37.09/10.40 "label": "CASE" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 535, 37.09/10.40 "to": 658, 37.09/10.40 "label": "BACKTRACK\nfor clause: s2(plus(X, 0), X)\nwith clash: (s2(T1, T2), s2(plus(X270, X271), X272))" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 536, 37.09/10.40 "to": 537, 37.09/10.40 "label": "PARALLEL" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 536, 37.09/10.40 "to": 538, 37.09/10.40 "label": "PARALLEL" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 537, 37.09/10.40 "to": 539, 37.09/10.40 "label": "EVAL with clause\ns2(plus(X289, plus(X290, X291)), X292) :- s2(plus(plus(X289, X290), X291), X292).\nand substitutionT301 -> T320,\nX289 -> T320,\nX290 -> T321,\nX291 -> T322,\nT300 -> plus(T321, T322),\nT303 -> T324,\nX292 -> T324,\nT323 -> T324" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 537, 37.09/10.40 "to": 540, 37.09/10.40 "label": "EVAL-BACKTRACK" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 538, 37.09/10.40 "to": 541, 37.09/10.40 "label": "PARALLEL" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 538, 37.09/10.40 "to": 542, 37.09/10.40 "label": "PARALLEL" 37.09/10.40 }, 37.09/10.40 { 37.09/10.40 "from": 539, 37.09/10.40 "to": 45, 37.09/10.40 "label": "INSTANCE with matching:\nT1 -> plus(plus(T320, T321), T322)\nT2 -> T324" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 541, 37.09/10.41 "to": 543, 37.09/10.41 "label": "ONLY EVAL with clause\ns2(plus(X323, X324), X325) :- s2(plus(X324, X323), X325).\nand substitutionT301 -> T358,\nX323 -> T358,\nT300 -> T359,\nX324 -> T359,\nT303 -> T361,\nX325 -> T361,\nT360 -> T361" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 542, 37.09/10.41 "to": 544, 37.09/10.41 "label": "PARALLEL" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 542, 37.09/10.41 "to": 545, 37.09/10.41 "label": "PARALLEL" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 543, 37.09/10.41 "to": 45, 37.09/10.41 "label": "INSTANCE with matching:\nT1 -> plus(T359, T358)\nT2 -> T361" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 544, 37.09/10.41 "to": 546, 37.09/10.41 "label": "EVAL with clause\ns2(plus(X337, 0), X337).\nand substitutionT301 -> T373,\nX337 -> T373,\nT300 -> 0,\nT303 -> T373" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 544, 37.09/10.41 "to": 547, 37.09/10.41 "label": "EVAL-BACKTRACK" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 545, 37.09/10.41 "to": 549, 37.09/10.41 "label": "PARALLEL" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 545, 37.09/10.41 "to": 550, 37.09/10.41 "label": "PARALLEL" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 546, 37.09/10.41 "to": 548, 37.09/10.41 "label": "SUCCESS" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 549, 37.09/10.41 "to": 551, 37.09/10.41 "label": "ONLY EVAL with clause\ns2(plus(X396, X397), X398) :- ','(s2(X396, X399), ','(s2(X397, X400), s2(plus(X399, X400), X398))).\nand substitutionT301 -> T410,\nX396 -> T410,\nT300 -> T411,\nX397 -> T411,\nT303 -> T413,\nX398 -> T413,\nT412 -> T413" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 550, 37.09/10.41 "to": 586, 37.09/10.41 "label": "PARALLEL" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 550, 37.09/10.41 "to": 587, 37.09/10.41 "label": "PARALLEL" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 551, 37.09/10.41 "to": 552, 37.09/10.41 "label": "SPLIT 1" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 551, 37.09/10.41 "to": 553, 37.09/10.41 "label": "SPLIT 2\nnew knowledge:\nT410 is ground\nT425 is ground\nreplacements:X399 -> T425" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 552, 37.09/10.41 "to": 45, 37.09/10.41 "label": "INSTANCE with matching:\nT1 -> T410\nT2 -> X399" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 553, 37.09/10.41 "to": 389, 37.09/10.41 "label": "INSTANCE with matching:\nT115 -> T411\nX95 -> X400\nT121 -> T425\nT117 -> T413" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 586, 37.09/10.41 "to": 588, 37.09/10.41 "label": "ONLY EVAL with clause\ns2(plus(X462, X463), X464) :- ','(isNat(X462), ','(isNat(X463), add(X462, X463, X464))).\nand substitutionT301 -> T456,\nX462 -> T456,\nT300 -> T457,\nX463 -> T457,\nT303 -> T459,\nX464 -> T459,\nT458 -> T459" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 587, 37.09/10.41 "to": 642, 37.09/10.41 "label": "FAILURE" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 588, 37.09/10.41 "to": 622, 37.09/10.41 "label": "SPLIT 1" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 588, 37.09/10.41 "to": 623, 37.09/10.41 "label": "SPLIT 2\nnew knowledge:\nT456 is ground" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 622, 37.09/10.41 "to": 458, 37.09/10.41 "label": "INSTANCE with matching:\nT156 -> T456" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 623, 37.09/10.41 "to": 624, 37.09/10.41 "label": "SPLIT 1" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 623, 37.09/10.41 "to": 625, 37.09/10.41 "label": "SPLIT 2\nnew knowledge:\nT457 is ground" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 624, 37.09/10.41 "to": 458, 37.09/10.41 "label": "INSTANCE with matching:\nT156 -> T457" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 625, 37.09/10.41 "to": 626, 37.09/10.41 "label": "CASE" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 626, 37.09/10.41 "to": 627, 37.09/10.41 "label": "PARALLEL" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 626, 37.09/10.41 "to": 628, 37.09/10.41 "label": "PARALLEL" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 627, 37.09/10.41 "to": 629, 37.09/10.41 "label": "EVAL with clause\nadd(s(X484), X485, s(X486)) :- add(X484, X485, X486).\nand substitutionX484 -> T479,\nT456 -> s(T479),\nT457 -> T480,\nX485 -> T480,\nX486 -> T482,\nT459 -> s(T482),\nT481 -> T482" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 627, 37.09/10.41 "to": 630, 37.09/10.41 "label": "EVAL-BACKTRACK" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 628, 37.09/10.41 "to": 639, 37.09/10.41 "label": "EVAL with clause\nadd(0, X513, X513).\nand substitutionT456 -> 0,\nT457 -> T510,\nX513 -> T510,\nT459 -> T510" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 628, 37.09/10.41 "to": 640, 37.09/10.41 "label": "EVAL-BACKTRACK" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 629, 37.09/10.41 "to": 631, 37.09/10.41 "label": "CASE" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 631, 37.09/10.41 "to": 632, 37.09/10.41 "label": "PARALLEL" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 631, 37.09/10.41 "to": 633, 37.09/10.41 "label": "PARALLEL" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 632, 37.09/10.41 "to": 634, 37.09/10.41 "label": "EVAL with clause\nadd(s(X502), X503, s(X504)) :- add(X502, X503, X504).\nand substitutionX502 -> T498,\nT479 -> s(T498),\nT480 -> T499,\nX503 -> T499,\nX504 -> T501,\nT482 -> s(T501),\nT500 -> T501" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 632, 37.09/10.41 "to": 635, 37.09/10.41 "label": "EVAL-BACKTRACK" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 633, 37.09/10.41 "to": 636, 37.09/10.41 "label": "EVAL with clause\nadd(0, X510, X510).\nand substitutionT479 -> 0,\nT480 -> T507,\nX510 -> T507,\nT482 -> T507" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 633, 37.09/10.41 "to": 637, 37.09/10.41 "label": "EVAL-BACKTRACK" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 634, 37.09/10.41 "to": 629, 37.09/10.41 "label": "INSTANCE with matching:\nT479 -> T498\nT480 -> T499\nT482 -> T501" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 636, 37.09/10.41 "to": 638, 37.09/10.41 "label": "SUCCESS" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 639, 37.09/10.41 "to": 641, 37.09/10.41 "label": "SUCCESS" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 642, 37.09/10.41 "to": 643, 37.09/10.41 "label": "PARALLEL" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 642, 37.09/10.41 "to": 644, 37.09/10.41 "label": "PARALLEL" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 643, 37.09/10.41 "to": 645, 37.09/10.41 "label": "EVAL with clause\ns2(plus(X518, 0), X518).\nand substitutionT300 -> T515,\nX518 -> T515,\nT301 -> 0,\nT2 -> T515" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 643, 37.09/10.41 "to": 646, 37.09/10.41 "label": "EVAL-BACKTRACK" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 644, 37.09/10.41 "to": 648, 37.09/10.41 "label": "PARALLEL" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 644, 37.09/10.41 "to": 649, 37.09/10.41 "label": "PARALLEL" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 645, 37.09/10.41 "to": 647, 37.09/10.41 "label": "SUCCESS" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 648, 37.09/10.41 "to": 650, 37.09/10.41 "label": "ONLY EVAL with clause\ns2(plus(X545, X546), X547) :- ','(s2(X545, X548), ','(s2(X546, X549), s2(plus(X548, X549), X547))).\nand substitutionT300 -> T536,\nX545 -> T536,\nT301 -> T537,\nX546 -> T537,\nT2 -> T539,\nX547 -> T539,\nT538 -> T539" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 649, 37.09/10.41 "to": 653, 37.09/10.41 "label": "ONLY EVAL with clause\ns2(plus(X588, X589), X590) :- ','(isNat(X588), ','(isNat(X589), add(X588, X589, X590))).\nand substitutionT300 -> T566,\nX588 -> T566,\nT301 -> T567,\nX589 -> T567,\nT2 -> T569,\nX590 -> T569,\nT568 -> T569" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 650, 37.09/10.41 "to": 651, 37.09/10.41 "label": "SPLIT 1" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 650, 37.09/10.41 "to": 652, 37.09/10.41 "label": "SPLIT 2\nnew knowledge:\nT536 is ground\nT543 is ground\nreplacements:X548 -> T543" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 651, 37.09/10.41 "to": 45, 37.09/10.41 "label": "INSTANCE with matching:\nT1 -> T536\nT2 -> X548" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 652, 37.09/10.41 "to": 389, 37.09/10.41 "label": "INSTANCE with matching:\nT115 -> T537\nX95 -> X549\nT121 -> T543\nT117 -> T539" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 653, 37.09/10.41 "to": 654, 37.09/10.41 "label": "SPLIT 1" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 653, 37.09/10.41 "to": 655, 37.09/10.41 "label": "SPLIT 2\nnew knowledge:\nT566 is ground" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 654, 37.09/10.41 "to": 458, 37.09/10.41 "label": "INSTANCE with matching:\nT156 -> T566" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 655, 37.09/10.41 "to": 656, 37.09/10.41 "label": "SPLIT 1" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 655, 37.09/10.41 "to": 657, 37.09/10.41 "label": "SPLIT 2\nnew knowledge:\nT567 is ground" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 656, 37.09/10.41 "to": 458, 37.09/10.41 "label": "INSTANCE with matching:\nT156 -> T567" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 657, 37.09/10.41 "to": 629, 37.09/10.41 "label": "INSTANCE with matching:\nT479 -> T566\nT480 -> T567\nT482 -> T569" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 658, 37.09/10.41 "to": 659, 37.09/10.41 "label": "BACKTRACK\nfor clause: s2(plus(X, Y), Z) :- ','(s2(X, A), ','(s2(Y, B), s2(plus(A, B), Z)))\nwith clash: (s2(T1, T2), s2(plus(X270, X271), X272))" 37.09/10.41 }, 37.09/10.41 { 37.09/10.41 "from": 659, 37.09/10.41 "to": 660, 37.09/10.41 "label": "BACKTRACK\nfor clause: s2(plus(A, B), C) :- ','(isNat(A), ','(isNat(B), add(A, B, C)))\nwith clash: (s2(T1, T2), s2(plus(X270, X271), X272))" 37.09/10.41 } 37.09/10.41 ], 37.09/10.41 "type": "Graph" 37.09/10.41 } 37.09/10.41 } 37.09/10.41 37.09/10.41 ---------------------------------------- 37.09/10.41 37.09/10.41 (130) 37.09/10.41 Obligation: 37.09/10.41 Triples: 37.09/10.41 37.09/10.41 isNatD(s(X1)) :- isNatD(X1). 37.09/10.41 pB(X1, X2, X3, X4) :- s2A(X1, X2). 37.09/10.41 pB(X1, X2, X3, X4) :- ','(s2cA(X1, X2), s2A(plus(X3, X2), X4)). 37.09/10.41 addC(s(X1), X2, X3, s(X4)) :- addC(X1, X2, X3, X4). 37.09/10.41 addF(s(X1), X2, s(X3)) :- addF(X1, X2, X3). 37.09/10.41 s2A(plus(X1, plus(X2, plus(X3, X4))), X5) :- s2A(plus(plus(plus(X1, X2), X3), X4), X5). 37.09/10.41 s2A(plus(X1, plus(X2, X3)), X4) :- s2A(plus(X3, plus(X1, X2)), X4). 37.09/10.41 s2A(plus(X1, plus(X2, X3)), X4) :- s2A(plus(X1, X2), X5). 37.09/10.41 s2A(plus(X1, plus(X2, X3)), X4) :- ','(s2cA(plus(X1, X2), X5), pB(X3, X6, X5, X4)). 37.09/10.41 s2A(plus(X1, plus(X2, X3)), X4) :- isNatE(X1, X2). 37.09/10.41 s2A(plus(X1, plus(X2, X3)), X4) :- ','(isNatcE(X1, X2), isNatD(X3)). 37.09/10.41 s2A(plus(X1, plus(X2, X3)), X4) :- s2A(plus(plus(X2, X3), X1), X4). 37.09/10.41 s2A(plus(X1, plus(X2, X3)), X4) :- s2A(X1, X5). 37.09/10.41 s2A(plus(X1, plus(X2, X3)), X4) :- ','(s2cA(X1, X5), pB(plus(X2, X3), X6, X5, X4)). 37.09/10.41 s2A(plus(X1, plus(X2, X3)), X4) :- isNatD(X1). 37.09/10.41 s2A(plus(X1, plus(X2, X3)), X4) :- ','(isNatcD(X1), isNatE(X2, X3)). 37.09/10.41 s2A(plus(X1, plus(X2, X3)), X4) :- ','(isNatcD(X1), ','(isNatcE(X2, X3), addC(X1, X2, X3, X4))). 37.09/10.41 s2A(plus(plus(X1, X2), X3), X4) :- s2A(plus(plus(X3, X1), X2), X4). 37.09/10.41 s2A(plus(X1, X2), X3) :- s2A(plus(X1, X2), X3). 37.09/10.41 s2A(plus(X1, X2), X3) :- s2A(X2, X4). 37.09/10.41 s2A(plus(X1, X2), X3) :- ','(s2cA(X2, X4), pB(X1, X5, X4, X3)). 37.09/10.41 s2A(plus(X1, X2), X3) :- isNatD(X2). 37.09/10.41 s2A(plus(X1, X2), X3) :- ','(isNatcD(X2), isNatD(X1)). 37.09/10.41 s2A(plus(X1, s(X2)), s(X3)) :- ','(isNatcD(s(X2)), ','(isNatcD(X1), addF(X2, X1, X3))). 37.09/10.41 s2A(plus(X1, X2), X3) :- s2A(X1, X4). 37.09/10.41 s2A(plus(X1, X2), X3) :- ','(s2cA(X1, X4), pB(X2, X5, X4, X3)). 37.09/10.41 s2A(plus(X1, X2), X3) :- isNatD(X1). 37.09/10.41 s2A(plus(X1, X2), X3) :- ','(isNatcD(X1), isNatD(X2)). 37.09/10.41 s2A(plus(X1, X2), X3) :- ','(isNatcD(X1), ','(isNatcD(X2), addF(X1, X2, X3))). 37.09/10.41 37.09/10.41 Clauses: 37.09/10.41 37.09/10.41 s2cA(plus(X1, plus(X2, plus(X3, X4))), X5) :- s2cA(plus(plus(plus(X1, X2), X3), X4), X5). 37.09/10.41 s2cA(plus(X1, plus(X2, X3)), X4) :- s2cA(plus(X3, plus(X1, X2)), X4). 37.09/10.41 s2cA(plus(X1, plus(X2, 0)), plus(X1, X2)). 37.09/10.41 s2cA(plus(X1, plus(X2, X3)), X4) :- ','(s2cA(plus(X1, X2), X5), qcB(X3, X6, X5, X4)). 37.09/10.41 s2cA(plus(X1, plus(X2, X3)), X4) :- s2cA(plus(plus(X2, X3), X1), X4). 37.09/10.41 s2cA(plus(X1, plus(X2, X3)), X4) :- ','(s2cA(X1, X5), qcB(plus(X2, X3), X6, X5, X4)). 37.09/10.41 s2cA(plus(X1, plus(X2, X3)), X4) :- ','(isNatcD(X1), ','(isNatcE(X2, X3), addcC(X1, X2, X3, X4))). 37.09/10.41 s2cA(plus(plus(X1, X2), X3), X4) :- s2cA(plus(plus(X3, X1), X2), X4). 37.09/10.41 s2cA(plus(X1, X2), X3) :- s2cA(plus(X1, X2), X3). 37.09/10.41 s2cA(plus(0, X1), X1). 37.09/10.41 s2cA(plus(X1, X2), X3) :- ','(s2cA(X2, X4), qcB(X1, X5, X4, X3)). 37.09/10.41 s2cA(plus(X1, s(X2)), s(X3)) :- ','(isNatcD(s(X2)), ','(isNatcD(X1), addcF(X2, X1, X3))). 37.09/10.41 s2cA(plus(X1, 0), X1) :- ','(isNatcD(0), isNatcD(X1)). 37.09/10.41 s2cA(plus(X1, 0), X1). 37.09/10.41 s2cA(plus(X1, X2), X3) :- ','(s2cA(X1, X4), qcB(X2, X5, X4, X3)). 37.09/10.41 s2cA(plus(X1, X2), X3) :- ','(isNatcD(X1), ','(isNatcD(X2), addcF(X1, X2, X3))). 37.09/10.41 isNatcD(s(X1)) :- isNatcD(X1). 37.09/10.41 isNatcD(0). 37.09/10.41 qcB(X1, X2, X3, X4) :- ','(s2cA(X1, X2), s2cA(plus(X3, X2), X4)). 37.09/10.41 addcC(s(X1), X2, X3, s(X4)) :- addcC(X1, X2, X3, X4). 37.09/10.41 addcC(0, X1, X2, plus(X1, X2)). 37.09/10.41 addcF(s(X1), X2, s(X3)) :- addcF(X1, X2, X3). 37.09/10.41 addcF(0, X1, X1). 37.09/10.41 37.09/10.41 Afs: 37.09/10.41 37.09/10.41 s2A(x1, x2) = s2A(x1) 37.09/10.41 37.09/10.41 37.09/10.41 ---------------------------------------- 37.09/10.41 37.09/10.41 (131) UndefinedPredicateInTriplesTransformerProof (SOUND) 37.09/10.41 Deleted triples and predicates having undefined goals [DT09]. 37.09/10.41 ---------------------------------------- 37.09/10.41 37.09/10.41 (132) 37.09/10.41 Obligation: 37.09/10.41 Triples: 37.09/10.41 37.09/10.41 isNatD(s(X1)) :- isNatD(X1). 37.09/10.41 pB(X1, X2, X3, X4) :- s2A(X1, X2). 37.09/10.41 pB(X1, X2, X3, X4) :- ','(s2cA(X1, X2), s2A(plus(X3, X2), X4)). 37.09/10.41 addC(s(X1), X2, X3, s(X4)) :- addC(X1, X2, X3, X4). 37.09/10.41 addF(s(X1), X2, s(X3)) :- addF(X1, X2, X3). 37.09/10.41 s2A(plus(X1, plus(X2, plus(X3, X4))), X5) :- s2A(plus(plus(plus(X1, X2), X3), X4), X5). 37.09/10.41 s2A(plus(X1, plus(X2, X3)), X4) :- s2A(plus(X3, plus(X1, X2)), X4). 37.09/10.41 s2A(plus(X1, plus(X2, X3)), X4) :- s2A(plus(X1, X2), X5). 37.09/10.41 s2A(plus(X1, plus(X2, X3)), X4) :- ','(s2cA(plus(X1, X2), X5), pB(X3, X6, X5, X4)). 37.09/10.41 s2A(plus(X1, plus(X2, X3)), X4) :- s2A(plus(plus(X2, X3), X1), X4). 37.09/10.41 s2A(plus(X1, plus(X2, X3)), X4) :- s2A(X1, X5). 37.09/10.41 s2A(plus(X1, plus(X2, X3)), X4) :- ','(s2cA(X1, X5), pB(plus(X2, X3), X6, X5, X4)). 37.09/10.41 s2A(plus(X1, plus(X2, X3)), X4) :- isNatD(X1). 37.09/10.41 s2A(plus(plus(X1, X2), X3), X4) :- s2A(plus(plus(X3, X1), X2), X4). 37.09/10.41 s2A(plus(X1, X2), X3) :- s2A(plus(X1, X2), X3). 37.09/10.41 s2A(plus(X1, X2), X3) :- s2A(X2, X4). 37.09/10.41 s2A(plus(X1, X2), X3) :- ','(s2cA(X2, X4), pB(X1, X5, X4, X3)). 37.09/10.41 s2A(plus(X1, X2), X3) :- isNatD(X2). 37.09/10.41 s2A(plus(X1, X2), X3) :- ','(isNatcD(X2), isNatD(X1)). 37.09/10.41 s2A(plus(X1, s(X2)), s(X3)) :- ','(isNatcD(s(X2)), ','(isNatcD(X1), addF(X2, X1, X3))). 37.09/10.41 s2A(plus(X1, X2), X3) :- s2A(X1, X4). 37.09/10.41 s2A(plus(X1, X2), X3) :- ','(s2cA(X1, X4), pB(X2, X5, X4, X3)). 37.09/10.41 s2A(plus(X1, X2), X3) :- isNatD(X1). 37.09/10.41 s2A(plus(X1, X2), X3) :- ','(isNatcD(X1), isNatD(X2)). 37.09/10.41 s2A(plus(X1, X2), X3) :- ','(isNatcD(X1), ','(isNatcD(X2), addF(X1, X2, X3))). 37.09/10.41 37.09/10.41 Clauses: 37.09/10.41 37.09/10.41 s2cA(plus(X1, plus(X2, plus(X3, X4))), X5) :- s2cA(plus(plus(plus(X1, X2), X3), X4), X5). 37.09/10.41 s2cA(plus(X1, plus(X2, X3)), X4) :- s2cA(plus(X3, plus(X1, X2)), X4). 37.09/10.41 s2cA(plus(X1, plus(X2, 0)), plus(X1, X2)). 37.09/10.41 s2cA(plus(X1, plus(X2, X3)), X4) :- ','(s2cA(plus(X1, X2), X5), qcB(X3, X6, X5, X4)). 37.09/10.41 s2cA(plus(X1, plus(X2, X3)), X4) :- s2cA(plus(plus(X2, X3), X1), X4). 37.09/10.41 s2cA(plus(X1, plus(X2, X3)), X4) :- ','(s2cA(X1, X5), qcB(plus(X2, X3), X6, X5, X4)). 37.09/10.41 s2cA(plus(plus(X1, X2), X3), X4) :- s2cA(plus(plus(X3, X1), X2), X4). 37.09/10.41 s2cA(plus(X1, X2), X3) :- s2cA(plus(X1, X2), X3). 37.09/10.41 s2cA(plus(0, X1), X1). 37.09/10.41 s2cA(plus(X1, X2), X3) :- ','(s2cA(X2, X4), qcB(X1, X5, X4, X3)). 37.09/10.41 s2cA(plus(X1, s(X2)), s(X3)) :- ','(isNatcD(s(X2)), ','(isNatcD(X1), addcF(X2, X1, X3))). 37.09/10.41 s2cA(plus(X1, 0), X1) :- ','(isNatcD(0), isNatcD(X1)). 37.09/10.41 s2cA(plus(X1, 0), X1). 37.09/10.41 s2cA(plus(X1, X2), X3) :- ','(s2cA(X1, X4), qcB(X2, X5, X4, X3)). 37.09/10.41 s2cA(plus(X1, X2), X3) :- ','(isNatcD(X1), ','(isNatcD(X2), addcF(X1, X2, X3))). 37.09/10.41 isNatcD(s(X1)) :- isNatcD(X1). 37.09/10.41 isNatcD(0). 37.09/10.41 qcB(X1, X2, X3, X4) :- ','(s2cA(X1, X2), s2cA(plus(X3, X2), X4)). 37.09/10.41 addcC(s(X1), X2, X3, s(X4)) :- addcC(X1, X2, X3, X4). 37.09/10.41 addcC(0, X1, X2, plus(X1, X2)). 37.09/10.41 addcF(s(X1), X2, s(X3)) :- addcF(X1, X2, X3). 37.09/10.41 addcF(0, X1, X1). 37.09/10.41 37.09/10.41 Afs: 37.09/10.41 37.09/10.41 s2A(x1, x2) = s2A(x1) 37.09/10.41 37.09/10.41 37.09/10.41 ---------------------------------------- 37.09/10.41 37.09/10.41 (133) TriplesToPiDPProof (SOUND) 37.09/10.41 We use the technique of [DT09]. With regard to the inferred argument filtering the predicates were used in the following modes: 37.09/10.41 37.09/10.41 s2A_in_2: (b,f) 37.09/10.41 37.09/10.41 s2cA_in_2: (b,f) 37.09/10.41 37.09/10.41 isNatcD_in_1: (b) 37.09/10.41 37.09/10.41 addcF_in_3: (b,b,f) 37.09/10.41 37.09/10.41 qcB_in_4: (b,f,b,f) 37.09/10.41 37.09/10.41 pB_in_4: (b,f,b,f) 37.09/10.41 37.09/10.41 isNatD_in_1: (b) 37.09/10.41 37.09/10.41 addF_in_3: (b,b,f) 37.09/10.41 37.09/10.41 Transforming TRIPLES into the following Term Rewriting System: 37.09/10.41 37.09/10.41 Pi DP problem: 37.09/10.41 The TRS P consists of the following rules: 37.09/10.41 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, plus(X3, X4))), X5) -> U7_GA(X1, X2, X3, X4, X5, s2A_in_ga(plus(plus(plus(X1, X2), X3), X4), X5)) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, plus(X3, X4))), X5) -> S2A_IN_GA(plus(plus(plus(X1, X2), X3), X4), X5) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> U8_GA(X1, X2, X3, X4, s2A_in_ga(plus(X3, plus(X1, X2)), X4)) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> S2A_IN_GA(plus(X3, plus(X1, X2)), X4) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> U9_GA(X1, X2, X3, X4, s2A_in_ga(plus(X1, X2), X5)) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> S2A_IN_GA(plus(X1, X2), X5) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> U10_GA(X1, X2, X3, X4, s2cA_in_ga(plus(X1, X2), X5)) 37.09/10.41 U10_GA(X1, X2, X3, X4, s2cA_out_ga(plus(X1, X2), X5)) -> U11_GA(X1, X2, X3, X4, pB_in_gaga(X3, X6, X5, X4)) 37.09/10.41 U10_GA(X1, X2, X3, X4, s2cA_out_ga(plus(X1, X2), X5)) -> PB_IN_GAGA(X3, X6, X5, X4) 37.09/10.41 PB_IN_GAGA(X1, X2, X3, X4) -> U2_GAGA(X1, X2, X3, X4, s2A_in_ga(X1, X2)) 37.09/10.41 PB_IN_GAGA(X1, X2, X3, X4) -> S2A_IN_GA(X1, X2) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> U12_GA(X1, X2, X3, X4, s2A_in_ga(plus(plus(X2, X3), X1), X4)) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> S2A_IN_GA(plus(plus(X2, X3), X1), X4) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> U13_GA(X1, X2, X3, X4, s2A_in_ga(X1, X5)) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> S2A_IN_GA(X1, X5) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> U14_GA(X1, X2, X3, X4, s2cA_in_ga(X1, X5)) 37.09/10.41 U14_GA(X1, X2, X3, X4, s2cA_out_ga(X1, X5)) -> U15_GA(X1, X2, X3, X4, pB_in_gaga(plus(X2, X3), X6, X5, X4)) 37.09/10.41 U14_GA(X1, X2, X3, X4, s2cA_out_ga(X1, X5)) -> PB_IN_GAGA(plus(X2, X3), X6, X5, X4) 37.09/10.41 PB_IN_GAGA(X1, X2, X3, X4) -> U3_GAGA(X1, X2, X3, X4, s2cA_in_ga(X1, X2)) 37.09/10.41 U3_GAGA(X1, X2, X3, X4, s2cA_out_ga(X1, X2)) -> U4_GAGA(X1, X2, X3, X4, s2A_in_ga(plus(X3, X2), X4)) 37.09/10.41 U3_GAGA(X1, X2, X3, X4, s2cA_out_ga(X1, X2)) -> S2A_IN_GA(plus(X3, X2), X4) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> U16_GA(X1, X2, X3, X4, isNatD_in_g(X1)) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> ISNATD_IN_G(X1) 37.09/10.41 ISNATD_IN_G(s(X1)) -> U1_G(X1, isNatD_in_g(X1)) 37.09/10.41 ISNATD_IN_G(s(X1)) -> ISNATD_IN_G(X1) 37.09/10.41 S2A_IN_GA(plus(plus(X1, X2), X3), X4) -> U17_GA(X1, X2, X3, X4, s2A_in_ga(plus(plus(X3, X1), X2), X4)) 37.09/10.41 S2A_IN_GA(plus(plus(X1, X2), X3), X4) -> S2A_IN_GA(plus(plus(X3, X1), X2), X4) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> U18_GA(X1, X2, X3, s2A_in_ga(plus(X1, X2), X3)) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> S2A_IN_GA(plus(X1, X2), X3) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> U19_GA(X1, X2, X3, s2A_in_ga(X2, X4)) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> S2A_IN_GA(X2, X4) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> U20_GA(X1, X2, X3, s2cA_in_ga(X2, X4)) 37.09/10.41 U20_GA(X1, X2, X3, s2cA_out_ga(X2, X4)) -> U21_GA(X1, X2, X3, pB_in_gaga(X1, X5, X4, X3)) 37.09/10.41 U20_GA(X1, X2, X3, s2cA_out_ga(X2, X4)) -> PB_IN_GAGA(X1, X5, X4, X3) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> U22_GA(X1, X2, X3, isNatD_in_g(X2)) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> ISNATD_IN_G(X2) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> U23_GA(X1, X2, X3, isNatcD_in_g(X2)) 37.09/10.41 U23_GA(X1, X2, X3, isNatcD_out_g(X2)) -> U24_GA(X1, X2, X3, isNatD_in_g(X1)) 37.09/10.41 U23_GA(X1, X2, X3, isNatcD_out_g(X2)) -> ISNATD_IN_G(X1) 37.09/10.41 S2A_IN_GA(plus(X1, s(X2)), s(X3)) -> U25_GA(X1, X2, X3, isNatcD_in_g(s(X2))) 37.09/10.41 U25_GA(X1, X2, X3, isNatcD_out_g(s(X2))) -> U26_GA(X1, X2, X3, isNatcD_in_g(X1)) 37.09/10.41 U26_GA(X1, X2, X3, isNatcD_out_g(X1)) -> U27_GA(X1, X2, X3, addF_in_gga(X2, X1, X3)) 37.09/10.41 U26_GA(X1, X2, X3, isNatcD_out_g(X1)) -> ADDF_IN_GGA(X2, X1, X3) 37.09/10.41 ADDF_IN_GGA(s(X1), X2, s(X3)) -> U6_GGA(X1, X2, X3, addF_in_gga(X1, X2, X3)) 37.09/10.41 ADDF_IN_GGA(s(X1), X2, s(X3)) -> ADDF_IN_GGA(X1, X2, X3) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> U28_GA(X1, X2, X3, s2A_in_ga(X1, X4)) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> S2A_IN_GA(X1, X4) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> U29_GA(X1, X2, X3, s2cA_in_ga(X1, X4)) 37.09/10.41 U29_GA(X1, X2, X3, s2cA_out_ga(X1, X4)) -> U30_GA(X1, X2, X3, pB_in_gaga(X2, X5, X4, X3)) 37.09/10.41 U29_GA(X1, X2, X3, s2cA_out_ga(X1, X4)) -> PB_IN_GAGA(X2, X5, X4, X3) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> U31_GA(X1, X2, X3, isNatD_in_g(X1)) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> ISNATD_IN_G(X1) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> U32_GA(X1, X2, X3, isNatcD_in_g(X1)) 37.09/10.41 U32_GA(X1, X2, X3, isNatcD_out_g(X1)) -> U33_GA(X1, X2, X3, isNatD_in_g(X2)) 37.09/10.41 U32_GA(X1, X2, X3, isNatcD_out_g(X1)) -> ISNATD_IN_G(X2) 37.09/10.41 U32_GA(X1, X2, X3, isNatcD_out_g(X1)) -> U34_GA(X1, X2, X3, isNatcD_in_g(X2)) 37.09/10.41 U34_GA(X1, X2, X3, isNatcD_out_g(X2)) -> U35_GA(X1, X2, X3, addF_in_gga(X1, X2, X3)) 37.09/10.41 U34_GA(X1, X2, X3, isNatcD_out_g(X2)) -> ADDF_IN_GGA(X1, X2, X3) 37.09/10.41 37.09/10.41 The TRS R consists of the following rules: 37.09/10.41 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, plus(X3, X4))), X5) -> U37_ga(X1, X2, X3, X4, X5, s2cA_in_ga(plus(plus(plus(X1, X2), X3), X4), X5)) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, X3)), X4) -> U38_ga(X1, X2, X3, X4, s2cA_in_ga(plus(X3, plus(X1, X2)), X4)) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, 0)), plus(X1, X2)) -> s2cA_out_ga(plus(X1, plus(X2, 0)), plus(X1, X2)) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, X3)), X4) -> U39_ga(X1, X2, X3, X4, s2cA_in_ga(plus(X1, X2), X5)) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, X3)), X4) -> U41_ga(X1, X2, X3, X4, s2cA_in_ga(plus(plus(X2, X3), X1), X4)) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, X3)), X4) -> U42_ga(X1, X2, X3, X4, s2cA_in_ga(X1, X5)) 37.09/10.41 s2cA_in_ga(plus(plus(X1, X2), X3), X4) -> U44_ga(X1, X2, X3, X4, s2cA_in_ga(plus(plus(X3, X1), X2), X4)) 37.09/10.41 s2cA_in_ga(plus(X1, X2), X3) -> U45_ga(X1, X2, X3, s2cA_in_ga(plus(X1, X2), X3)) 37.09/10.41 s2cA_in_ga(plus(0, X1), X1) -> s2cA_out_ga(plus(0, X1), X1) 37.09/10.41 s2cA_in_ga(plus(X1, X2), X3) -> U46_ga(X1, X2, X3, s2cA_in_ga(X2, X4)) 37.09/10.41 s2cA_in_ga(plus(X1, s(X2)), s(X3)) -> U48_ga(X1, X2, X3, isNatcD_in_g(s(X2))) 37.09/10.41 isNatcD_in_g(s(X1)) -> U58_g(X1, isNatcD_in_g(X1)) 37.09/10.41 isNatcD_in_g(0) -> isNatcD_out_g(0) 37.09/10.41 U58_g(X1, isNatcD_out_g(X1)) -> isNatcD_out_g(s(X1)) 37.09/10.41 U48_ga(X1, X2, X3, isNatcD_out_g(s(X2))) -> U49_ga(X1, X2, X3, isNatcD_in_g(X1)) 37.09/10.41 U49_ga(X1, X2, X3, isNatcD_out_g(X1)) -> U50_ga(X1, X2, X3, addcF_in_gga(X2, X1, X3)) 37.09/10.41 addcF_in_gga(s(X1), X2, s(X3)) -> U62_gga(X1, X2, X3, addcF_in_gga(X1, X2, X3)) 37.09/10.41 addcF_in_gga(0, X1, X1) -> addcF_out_gga(0, X1, X1) 37.09/10.41 U62_gga(X1, X2, X3, addcF_out_gga(X1, X2, X3)) -> addcF_out_gga(s(X1), X2, s(X3)) 37.09/10.41 U50_ga(X1, X2, X3, addcF_out_gga(X2, X1, X3)) -> s2cA_out_ga(plus(X1, s(X2)), s(X3)) 37.09/10.41 s2cA_in_ga(plus(X1, 0), X1) -> U51_ga(X1, isNatcD_in_g(0)) 37.09/10.41 U51_ga(X1, isNatcD_out_g(0)) -> U52_ga(X1, isNatcD_in_g(X1)) 37.09/10.41 U52_ga(X1, isNatcD_out_g(X1)) -> s2cA_out_ga(plus(X1, 0), X1) 37.09/10.41 s2cA_in_ga(plus(X1, 0), X1) -> s2cA_out_ga(plus(X1, 0), X1) 37.09/10.41 s2cA_in_ga(plus(X1, X2), X3) -> U53_ga(X1, X2, X3, s2cA_in_ga(X1, X4)) 37.09/10.41 s2cA_in_ga(plus(X1, X2), X3) -> U55_ga(X1, X2, X3, isNatcD_in_g(X1)) 37.09/10.41 U55_ga(X1, X2, X3, isNatcD_out_g(X1)) -> U56_ga(X1, X2, X3, isNatcD_in_g(X2)) 37.09/10.41 U56_ga(X1, X2, X3, isNatcD_out_g(X2)) -> U57_ga(X1, X2, X3, addcF_in_gga(X1, X2, X3)) 37.09/10.41 U57_ga(X1, X2, X3, addcF_out_gga(X1, X2, X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.41 U53_ga(X1, X2, X3, s2cA_out_ga(X1, X4)) -> U54_ga(X1, X2, X3, qcB_in_gaga(X2, X5, X4, X3)) 37.09/10.41 qcB_in_gaga(X1, X2, X3, X4) -> U59_gaga(X1, X2, X3, X4, s2cA_in_ga(X1, X2)) 37.09/10.41 U59_gaga(X1, X2, X3, X4, s2cA_out_ga(X1, X2)) -> U60_gaga(X1, X2, X3, X4, s2cA_in_ga(plus(X3, X2), X4)) 37.09/10.41 U60_gaga(X1, X2, X3, X4, s2cA_out_ga(plus(X3, X2), X4)) -> qcB_out_gaga(X1, X2, X3, X4) 37.09/10.41 U54_ga(X1, X2, X3, qcB_out_gaga(X2, X5, X4, X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.41 U46_ga(X1, X2, X3, s2cA_out_ga(X2, X4)) -> U47_ga(X1, X2, X3, qcB_in_gaga(X1, X5, X4, X3)) 37.09/10.41 U47_ga(X1, X2, X3, qcB_out_gaga(X1, X5, X4, X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.41 U45_ga(X1, X2, X3, s2cA_out_ga(plus(X1, X2), X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.41 U44_ga(X1, X2, X3, X4, s2cA_out_ga(plus(plus(X3, X1), X2), X4)) -> s2cA_out_ga(plus(plus(X1, X2), X3), X4) 37.09/10.41 U42_ga(X1, X2, X3, X4, s2cA_out_ga(X1, X5)) -> U43_ga(X1, X2, X3, X4, qcB_in_gaga(plus(X2, X3), X6, X5, X4)) 37.09/10.41 U43_ga(X1, X2, X3, X4, qcB_out_gaga(plus(X2, X3), X6, X5, X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.41 U41_ga(X1, X2, X3, X4, s2cA_out_ga(plus(plus(X2, X3), X1), X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.41 U39_ga(X1, X2, X3, X4, s2cA_out_ga(plus(X1, X2), X5)) -> U40_ga(X1, X2, X3, X4, qcB_in_gaga(X3, X6, X5, X4)) 37.09/10.41 U40_ga(X1, X2, X3, X4, qcB_out_gaga(X3, X6, X5, X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.41 U38_ga(X1, X2, X3, X4, s2cA_out_ga(plus(X3, plus(X1, X2)), X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.41 U37_ga(X1, X2, X3, X4, X5, s2cA_out_ga(plus(plus(plus(X1, X2), X3), X4), X5)) -> s2cA_out_ga(plus(X1, plus(X2, plus(X3, X4))), X5) 37.09/10.41 37.09/10.41 The argument filtering Pi contains the following mapping: 37.09/10.41 s2A_in_ga(x1, x2) = s2A_in_ga(x1) 37.09/10.41 37.09/10.41 plus(x1, x2) = plus(x1, x2) 37.09/10.41 37.09/10.41 s2cA_in_ga(x1, x2) = s2cA_in_ga(x1) 37.09/10.41 37.09/10.41 U37_ga(x1, x2, x3, x4, x5, x6) = U37_ga(x1, x2, x3, x4, x6) 37.09/10.41 37.09/10.41 U38_ga(x1, x2, x3, x4, x5) = U38_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 0 = 0 37.09/10.41 37.09/10.41 s2cA_out_ga(x1, x2) = s2cA_out_ga(x1, x2) 37.09/10.41 37.09/10.41 U39_ga(x1, x2, x3, x4, x5) = U39_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U41_ga(x1, x2, x3, x4, x5) = U41_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U42_ga(x1, x2, x3, x4, x5) = U42_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U44_ga(x1, x2, x3, x4, x5) = U44_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U45_ga(x1, x2, x3, x4) = U45_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U46_ga(x1, x2, x3, x4) = U46_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 s(x1) = s(x1) 37.09/10.41 37.09/10.41 U48_ga(x1, x2, x3, x4) = U48_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 isNatcD_in_g(x1) = isNatcD_in_g(x1) 37.09/10.41 37.09/10.41 U58_g(x1, x2) = U58_g(x1, x2) 37.09/10.41 37.09/10.41 isNatcD_out_g(x1) = isNatcD_out_g(x1) 37.09/10.41 37.09/10.41 U49_ga(x1, x2, x3, x4) = U49_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U50_ga(x1, x2, x3, x4) = U50_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 addcF_in_gga(x1, x2, x3) = addcF_in_gga(x1, x2) 37.09/10.41 37.09/10.41 U62_gga(x1, x2, x3, x4) = U62_gga(x1, x2, x4) 37.09/10.41 37.09/10.41 addcF_out_gga(x1, x2, x3) = addcF_out_gga(x1, x2, x3) 37.09/10.41 37.09/10.41 U51_ga(x1, x2) = U51_ga(x1, x2) 37.09/10.41 37.09/10.41 U52_ga(x1, x2) = U52_ga(x1, x2) 37.09/10.41 37.09/10.41 U53_ga(x1, x2, x3, x4) = U53_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U55_ga(x1, x2, x3, x4) = U55_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U56_ga(x1, x2, x3, x4) = U56_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U57_ga(x1, x2, x3, x4) = U57_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U54_ga(x1, x2, x3, x4) = U54_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 qcB_in_gaga(x1, x2, x3, x4) = qcB_in_gaga(x1, x3) 37.09/10.41 37.09/10.41 U59_gaga(x1, x2, x3, x4, x5) = U59_gaga(x1, x3, x5) 37.09/10.41 37.09/10.41 U60_gaga(x1, x2, x3, x4, x5) = U60_gaga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 qcB_out_gaga(x1, x2, x3, x4) = qcB_out_gaga(x1, x2, x3, x4) 37.09/10.41 37.09/10.41 U47_ga(x1, x2, x3, x4) = U47_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U43_ga(x1, x2, x3, x4, x5) = U43_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U40_ga(x1, x2, x3, x4, x5) = U40_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 pB_in_gaga(x1, x2, x3, x4) = pB_in_gaga(x1, x3) 37.09/10.41 37.09/10.41 isNatD_in_g(x1) = isNatD_in_g(x1) 37.09/10.41 37.09/10.41 addF_in_gga(x1, x2, x3) = addF_in_gga(x1, x2) 37.09/10.41 37.09/10.41 S2A_IN_GA(x1, x2) = S2A_IN_GA(x1) 37.09/10.41 37.09/10.41 U7_GA(x1, x2, x3, x4, x5, x6) = U7_GA(x1, x2, x3, x4, x6) 37.09/10.41 37.09/10.41 U8_GA(x1, x2, x3, x4, x5) = U8_GA(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U9_GA(x1, x2, x3, x4, x5) = U9_GA(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U10_GA(x1, x2, x3, x4, x5) = U10_GA(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U11_GA(x1, x2, x3, x4, x5) = U11_GA(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 PB_IN_GAGA(x1, x2, x3, x4) = PB_IN_GAGA(x1, x3) 37.09/10.41 37.09/10.41 U2_GAGA(x1, x2, x3, x4, x5) = U2_GAGA(x1, x3, x5) 37.09/10.41 37.09/10.41 U12_GA(x1, x2, x3, x4, x5) = U12_GA(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U13_GA(x1, x2, x3, x4, x5) = U13_GA(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U14_GA(x1, x2, x3, x4, x5) = U14_GA(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U15_GA(x1, x2, x3, x4, x5) = U15_GA(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U3_GAGA(x1, x2, x3, x4, x5) = U3_GAGA(x1, x3, x5) 37.09/10.41 37.09/10.41 U4_GAGA(x1, x2, x3, x4, x5) = U4_GAGA(x1, x3, x5) 37.09/10.41 37.09/10.41 U16_GA(x1, x2, x3, x4, x5) = U16_GA(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 ISNATD_IN_G(x1) = ISNATD_IN_G(x1) 37.09/10.41 37.09/10.41 U1_G(x1, x2) = U1_G(x1, x2) 37.09/10.41 37.09/10.41 U17_GA(x1, x2, x3, x4, x5) = U17_GA(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U18_GA(x1, x2, x3, x4) = U18_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U19_GA(x1, x2, x3, x4) = U19_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U20_GA(x1, x2, x3, x4) = U20_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U21_GA(x1, x2, x3, x4) = U21_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U22_GA(x1, x2, x3, x4) = U22_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U23_GA(x1, x2, x3, x4) = U23_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U24_GA(x1, x2, x3, x4) = U24_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U25_GA(x1, x2, x3, x4) = U25_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U26_GA(x1, x2, x3, x4) = U26_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U27_GA(x1, x2, x3, x4) = U27_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 ADDF_IN_GGA(x1, x2, x3) = ADDF_IN_GGA(x1, x2) 37.09/10.41 37.09/10.41 U6_GGA(x1, x2, x3, x4) = U6_GGA(x1, x2, x4) 37.09/10.41 37.09/10.41 U28_GA(x1, x2, x3, x4) = U28_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U29_GA(x1, x2, x3, x4) = U29_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U30_GA(x1, x2, x3, x4) = U30_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U31_GA(x1, x2, x3, x4) = U31_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U32_GA(x1, x2, x3, x4) = U32_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U33_GA(x1, x2, x3, x4) = U33_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U34_GA(x1, x2, x3, x4) = U34_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U35_GA(x1, x2, x3, x4) = U35_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 37.09/10.41 We have to consider all (P,R,Pi)-chains 37.09/10.41 37.09/10.41 37.09/10.41 Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES 37.09/10.41 37.09/10.41 37.09/10.41 37.09/10.41 ---------------------------------------- 37.09/10.41 37.09/10.41 (134) 37.09/10.41 Obligation: 37.09/10.41 Pi DP problem: 37.09/10.41 The TRS P consists of the following rules: 37.09/10.41 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, plus(X3, X4))), X5) -> U7_GA(X1, X2, X3, X4, X5, s2A_in_ga(plus(plus(plus(X1, X2), X3), X4), X5)) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, plus(X3, X4))), X5) -> S2A_IN_GA(plus(plus(plus(X1, X2), X3), X4), X5) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> U8_GA(X1, X2, X3, X4, s2A_in_ga(plus(X3, plus(X1, X2)), X4)) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> S2A_IN_GA(plus(X3, plus(X1, X2)), X4) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> U9_GA(X1, X2, X3, X4, s2A_in_ga(plus(X1, X2), X5)) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> S2A_IN_GA(plus(X1, X2), X5) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> U10_GA(X1, X2, X3, X4, s2cA_in_ga(plus(X1, X2), X5)) 37.09/10.41 U10_GA(X1, X2, X3, X4, s2cA_out_ga(plus(X1, X2), X5)) -> U11_GA(X1, X2, X3, X4, pB_in_gaga(X3, X6, X5, X4)) 37.09/10.41 U10_GA(X1, X2, X3, X4, s2cA_out_ga(plus(X1, X2), X5)) -> PB_IN_GAGA(X3, X6, X5, X4) 37.09/10.41 PB_IN_GAGA(X1, X2, X3, X4) -> U2_GAGA(X1, X2, X3, X4, s2A_in_ga(X1, X2)) 37.09/10.41 PB_IN_GAGA(X1, X2, X3, X4) -> S2A_IN_GA(X1, X2) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> U12_GA(X1, X2, X3, X4, s2A_in_ga(plus(plus(X2, X3), X1), X4)) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> S2A_IN_GA(plus(plus(X2, X3), X1), X4) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> U13_GA(X1, X2, X3, X4, s2A_in_ga(X1, X5)) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> S2A_IN_GA(X1, X5) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> U14_GA(X1, X2, X3, X4, s2cA_in_ga(X1, X5)) 37.09/10.41 U14_GA(X1, X2, X3, X4, s2cA_out_ga(X1, X5)) -> U15_GA(X1, X2, X3, X4, pB_in_gaga(plus(X2, X3), X6, X5, X4)) 37.09/10.41 U14_GA(X1, X2, X3, X4, s2cA_out_ga(X1, X5)) -> PB_IN_GAGA(plus(X2, X3), X6, X5, X4) 37.09/10.41 PB_IN_GAGA(X1, X2, X3, X4) -> U3_GAGA(X1, X2, X3, X4, s2cA_in_ga(X1, X2)) 37.09/10.41 U3_GAGA(X1, X2, X3, X4, s2cA_out_ga(X1, X2)) -> U4_GAGA(X1, X2, X3, X4, s2A_in_ga(plus(X3, X2), X4)) 37.09/10.41 U3_GAGA(X1, X2, X3, X4, s2cA_out_ga(X1, X2)) -> S2A_IN_GA(plus(X3, X2), X4) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> U16_GA(X1, X2, X3, X4, isNatD_in_g(X1)) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> ISNATD_IN_G(X1) 37.09/10.41 ISNATD_IN_G(s(X1)) -> U1_G(X1, isNatD_in_g(X1)) 37.09/10.41 ISNATD_IN_G(s(X1)) -> ISNATD_IN_G(X1) 37.09/10.41 S2A_IN_GA(plus(plus(X1, X2), X3), X4) -> U17_GA(X1, X2, X3, X4, s2A_in_ga(plus(plus(X3, X1), X2), X4)) 37.09/10.41 S2A_IN_GA(plus(plus(X1, X2), X3), X4) -> S2A_IN_GA(plus(plus(X3, X1), X2), X4) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> U18_GA(X1, X2, X3, s2A_in_ga(plus(X1, X2), X3)) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> S2A_IN_GA(plus(X1, X2), X3) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> U19_GA(X1, X2, X3, s2A_in_ga(X2, X4)) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> S2A_IN_GA(X2, X4) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> U20_GA(X1, X2, X3, s2cA_in_ga(X2, X4)) 37.09/10.41 U20_GA(X1, X2, X3, s2cA_out_ga(X2, X4)) -> U21_GA(X1, X2, X3, pB_in_gaga(X1, X5, X4, X3)) 37.09/10.41 U20_GA(X1, X2, X3, s2cA_out_ga(X2, X4)) -> PB_IN_GAGA(X1, X5, X4, X3) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> U22_GA(X1, X2, X3, isNatD_in_g(X2)) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> ISNATD_IN_G(X2) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> U23_GA(X1, X2, X3, isNatcD_in_g(X2)) 37.09/10.41 U23_GA(X1, X2, X3, isNatcD_out_g(X2)) -> U24_GA(X1, X2, X3, isNatD_in_g(X1)) 37.09/10.41 U23_GA(X1, X2, X3, isNatcD_out_g(X2)) -> ISNATD_IN_G(X1) 37.09/10.41 S2A_IN_GA(plus(X1, s(X2)), s(X3)) -> U25_GA(X1, X2, X3, isNatcD_in_g(s(X2))) 37.09/10.41 U25_GA(X1, X2, X3, isNatcD_out_g(s(X2))) -> U26_GA(X1, X2, X3, isNatcD_in_g(X1)) 37.09/10.41 U26_GA(X1, X2, X3, isNatcD_out_g(X1)) -> U27_GA(X1, X2, X3, addF_in_gga(X2, X1, X3)) 37.09/10.41 U26_GA(X1, X2, X3, isNatcD_out_g(X1)) -> ADDF_IN_GGA(X2, X1, X3) 37.09/10.41 ADDF_IN_GGA(s(X1), X2, s(X3)) -> U6_GGA(X1, X2, X3, addF_in_gga(X1, X2, X3)) 37.09/10.41 ADDF_IN_GGA(s(X1), X2, s(X3)) -> ADDF_IN_GGA(X1, X2, X3) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> U28_GA(X1, X2, X3, s2A_in_ga(X1, X4)) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> S2A_IN_GA(X1, X4) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> U29_GA(X1, X2, X3, s2cA_in_ga(X1, X4)) 37.09/10.41 U29_GA(X1, X2, X3, s2cA_out_ga(X1, X4)) -> U30_GA(X1, X2, X3, pB_in_gaga(X2, X5, X4, X3)) 37.09/10.41 U29_GA(X1, X2, X3, s2cA_out_ga(X1, X4)) -> PB_IN_GAGA(X2, X5, X4, X3) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> U31_GA(X1, X2, X3, isNatD_in_g(X1)) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> ISNATD_IN_G(X1) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> U32_GA(X1, X2, X3, isNatcD_in_g(X1)) 37.09/10.41 U32_GA(X1, X2, X3, isNatcD_out_g(X1)) -> U33_GA(X1, X2, X3, isNatD_in_g(X2)) 37.09/10.41 U32_GA(X1, X2, X3, isNatcD_out_g(X1)) -> ISNATD_IN_G(X2) 37.09/10.41 U32_GA(X1, X2, X3, isNatcD_out_g(X1)) -> U34_GA(X1, X2, X3, isNatcD_in_g(X2)) 37.09/10.41 U34_GA(X1, X2, X3, isNatcD_out_g(X2)) -> U35_GA(X1, X2, X3, addF_in_gga(X1, X2, X3)) 37.09/10.41 U34_GA(X1, X2, X3, isNatcD_out_g(X2)) -> ADDF_IN_GGA(X1, X2, X3) 37.09/10.41 37.09/10.41 The TRS R consists of the following rules: 37.09/10.41 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, plus(X3, X4))), X5) -> U37_ga(X1, X2, X3, X4, X5, s2cA_in_ga(plus(plus(plus(X1, X2), X3), X4), X5)) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, X3)), X4) -> U38_ga(X1, X2, X3, X4, s2cA_in_ga(plus(X3, plus(X1, X2)), X4)) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, 0)), plus(X1, X2)) -> s2cA_out_ga(plus(X1, plus(X2, 0)), plus(X1, X2)) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, X3)), X4) -> U39_ga(X1, X2, X3, X4, s2cA_in_ga(plus(X1, X2), X5)) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, X3)), X4) -> U41_ga(X1, X2, X3, X4, s2cA_in_ga(plus(plus(X2, X3), X1), X4)) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, X3)), X4) -> U42_ga(X1, X2, X3, X4, s2cA_in_ga(X1, X5)) 37.09/10.41 s2cA_in_ga(plus(plus(X1, X2), X3), X4) -> U44_ga(X1, X2, X3, X4, s2cA_in_ga(plus(plus(X3, X1), X2), X4)) 37.09/10.41 s2cA_in_ga(plus(X1, X2), X3) -> U45_ga(X1, X2, X3, s2cA_in_ga(plus(X1, X2), X3)) 37.09/10.41 s2cA_in_ga(plus(0, X1), X1) -> s2cA_out_ga(plus(0, X1), X1) 37.09/10.41 s2cA_in_ga(plus(X1, X2), X3) -> U46_ga(X1, X2, X3, s2cA_in_ga(X2, X4)) 37.09/10.41 s2cA_in_ga(plus(X1, s(X2)), s(X3)) -> U48_ga(X1, X2, X3, isNatcD_in_g(s(X2))) 37.09/10.41 isNatcD_in_g(s(X1)) -> U58_g(X1, isNatcD_in_g(X1)) 37.09/10.41 isNatcD_in_g(0) -> isNatcD_out_g(0) 37.09/10.41 U58_g(X1, isNatcD_out_g(X1)) -> isNatcD_out_g(s(X1)) 37.09/10.41 U48_ga(X1, X2, X3, isNatcD_out_g(s(X2))) -> U49_ga(X1, X2, X3, isNatcD_in_g(X1)) 37.09/10.41 U49_ga(X1, X2, X3, isNatcD_out_g(X1)) -> U50_ga(X1, X2, X3, addcF_in_gga(X2, X1, X3)) 37.09/10.41 addcF_in_gga(s(X1), X2, s(X3)) -> U62_gga(X1, X2, X3, addcF_in_gga(X1, X2, X3)) 37.09/10.41 addcF_in_gga(0, X1, X1) -> addcF_out_gga(0, X1, X1) 37.09/10.41 U62_gga(X1, X2, X3, addcF_out_gga(X1, X2, X3)) -> addcF_out_gga(s(X1), X2, s(X3)) 37.09/10.41 U50_ga(X1, X2, X3, addcF_out_gga(X2, X1, X3)) -> s2cA_out_ga(plus(X1, s(X2)), s(X3)) 37.09/10.41 s2cA_in_ga(plus(X1, 0), X1) -> U51_ga(X1, isNatcD_in_g(0)) 37.09/10.41 U51_ga(X1, isNatcD_out_g(0)) -> U52_ga(X1, isNatcD_in_g(X1)) 37.09/10.41 U52_ga(X1, isNatcD_out_g(X1)) -> s2cA_out_ga(plus(X1, 0), X1) 37.09/10.41 s2cA_in_ga(plus(X1, 0), X1) -> s2cA_out_ga(plus(X1, 0), X1) 37.09/10.41 s2cA_in_ga(plus(X1, X2), X3) -> U53_ga(X1, X2, X3, s2cA_in_ga(X1, X4)) 37.09/10.41 s2cA_in_ga(plus(X1, X2), X3) -> U55_ga(X1, X2, X3, isNatcD_in_g(X1)) 37.09/10.41 U55_ga(X1, X2, X3, isNatcD_out_g(X1)) -> U56_ga(X1, X2, X3, isNatcD_in_g(X2)) 37.09/10.41 U56_ga(X1, X2, X3, isNatcD_out_g(X2)) -> U57_ga(X1, X2, X3, addcF_in_gga(X1, X2, X3)) 37.09/10.41 U57_ga(X1, X2, X3, addcF_out_gga(X1, X2, X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.41 U53_ga(X1, X2, X3, s2cA_out_ga(X1, X4)) -> U54_ga(X1, X2, X3, qcB_in_gaga(X2, X5, X4, X3)) 37.09/10.41 qcB_in_gaga(X1, X2, X3, X4) -> U59_gaga(X1, X2, X3, X4, s2cA_in_ga(X1, X2)) 37.09/10.41 U59_gaga(X1, X2, X3, X4, s2cA_out_ga(X1, X2)) -> U60_gaga(X1, X2, X3, X4, s2cA_in_ga(plus(X3, X2), X4)) 37.09/10.41 U60_gaga(X1, X2, X3, X4, s2cA_out_ga(plus(X3, X2), X4)) -> qcB_out_gaga(X1, X2, X3, X4) 37.09/10.41 U54_ga(X1, X2, X3, qcB_out_gaga(X2, X5, X4, X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.41 U46_ga(X1, X2, X3, s2cA_out_ga(X2, X4)) -> U47_ga(X1, X2, X3, qcB_in_gaga(X1, X5, X4, X3)) 37.09/10.41 U47_ga(X1, X2, X3, qcB_out_gaga(X1, X5, X4, X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.41 U45_ga(X1, X2, X3, s2cA_out_ga(plus(X1, X2), X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.41 U44_ga(X1, X2, X3, X4, s2cA_out_ga(plus(plus(X3, X1), X2), X4)) -> s2cA_out_ga(plus(plus(X1, X2), X3), X4) 37.09/10.41 U42_ga(X1, X2, X3, X4, s2cA_out_ga(X1, X5)) -> U43_ga(X1, X2, X3, X4, qcB_in_gaga(plus(X2, X3), X6, X5, X4)) 37.09/10.41 U43_ga(X1, X2, X3, X4, qcB_out_gaga(plus(X2, X3), X6, X5, X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.41 U41_ga(X1, X2, X3, X4, s2cA_out_ga(plus(plus(X2, X3), X1), X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.41 U39_ga(X1, X2, X3, X4, s2cA_out_ga(plus(X1, X2), X5)) -> U40_ga(X1, X2, X3, X4, qcB_in_gaga(X3, X6, X5, X4)) 37.09/10.41 U40_ga(X1, X2, X3, X4, qcB_out_gaga(X3, X6, X5, X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.41 U38_ga(X1, X2, X3, X4, s2cA_out_ga(plus(X3, plus(X1, X2)), X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.41 U37_ga(X1, X2, X3, X4, X5, s2cA_out_ga(plus(plus(plus(X1, X2), X3), X4), X5)) -> s2cA_out_ga(plus(X1, plus(X2, plus(X3, X4))), X5) 37.09/10.41 37.09/10.41 The argument filtering Pi contains the following mapping: 37.09/10.41 s2A_in_ga(x1, x2) = s2A_in_ga(x1) 37.09/10.41 37.09/10.41 plus(x1, x2) = plus(x1, x2) 37.09/10.41 37.09/10.41 s2cA_in_ga(x1, x2) = s2cA_in_ga(x1) 37.09/10.41 37.09/10.41 U37_ga(x1, x2, x3, x4, x5, x6) = U37_ga(x1, x2, x3, x4, x6) 37.09/10.41 37.09/10.41 U38_ga(x1, x2, x3, x4, x5) = U38_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 0 = 0 37.09/10.41 37.09/10.41 s2cA_out_ga(x1, x2) = s2cA_out_ga(x1, x2) 37.09/10.41 37.09/10.41 U39_ga(x1, x2, x3, x4, x5) = U39_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U41_ga(x1, x2, x3, x4, x5) = U41_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U42_ga(x1, x2, x3, x4, x5) = U42_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U44_ga(x1, x2, x3, x4, x5) = U44_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U45_ga(x1, x2, x3, x4) = U45_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U46_ga(x1, x2, x3, x4) = U46_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 s(x1) = s(x1) 37.09/10.41 37.09/10.41 U48_ga(x1, x2, x3, x4) = U48_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 isNatcD_in_g(x1) = isNatcD_in_g(x1) 37.09/10.41 37.09/10.41 U58_g(x1, x2) = U58_g(x1, x2) 37.09/10.41 37.09/10.41 isNatcD_out_g(x1) = isNatcD_out_g(x1) 37.09/10.41 37.09/10.41 U49_ga(x1, x2, x3, x4) = U49_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U50_ga(x1, x2, x3, x4) = U50_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 addcF_in_gga(x1, x2, x3) = addcF_in_gga(x1, x2) 37.09/10.41 37.09/10.41 U62_gga(x1, x2, x3, x4) = U62_gga(x1, x2, x4) 37.09/10.41 37.09/10.41 addcF_out_gga(x1, x2, x3) = addcF_out_gga(x1, x2, x3) 37.09/10.41 37.09/10.41 U51_ga(x1, x2) = U51_ga(x1, x2) 37.09/10.41 37.09/10.41 U52_ga(x1, x2) = U52_ga(x1, x2) 37.09/10.41 37.09/10.41 U53_ga(x1, x2, x3, x4) = U53_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U55_ga(x1, x2, x3, x4) = U55_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U56_ga(x1, x2, x3, x4) = U56_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U57_ga(x1, x2, x3, x4) = U57_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U54_ga(x1, x2, x3, x4) = U54_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 qcB_in_gaga(x1, x2, x3, x4) = qcB_in_gaga(x1, x3) 37.09/10.41 37.09/10.41 U59_gaga(x1, x2, x3, x4, x5) = U59_gaga(x1, x3, x5) 37.09/10.41 37.09/10.41 U60_gaga(x1, x2, x3, x4, x5) = U60_gaga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 qcB_out_gaga(x1, x2, x3, x4) = qcB_out_gaga(x1, x2, x3, x4) 37.09/10.41 37.09/10.41 U47_ga(x1, x2, x3, x4) = U47_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U43_ga(x1, x2, x3, x4, x5) = U43_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U40_ga(x1, x2, x3, x4, x5) = U40_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 pB_in_gaga(x1, x2, x3, x4) = pB_in_gaga(x1, x3) 37.09/10.41 37.09/10.41 isNatD_in_g(x1) = isNatD_in_g(x1) 37.09/10.41 37.09/10.41 addF_in_gga(x1, x2, x3) = addF_in_gga(x1, x2) 37.09/10.41 37.09/10.41 S2A_IN_GA(x1, x2) = S2A_IN_GA(x1) 37.09/10.41 37.09/10.41 U7_GA(x1, x2, x3, x4, x5, x6) = U7_GA(x1, x2, x3, x4, x6) 37.09/10.41 37.09/10.41 U8_GA(x1, x2, x3, x4, x5) = U8_GA(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U9_GA(x1, x2, x3, x4, x5) = U9_GA(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U10_GA(x1, x2, x3, x4, x5) = U10_GA(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U11_GA(x1, x2, x3, x4, x5) = U11_GA(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 PB_IN_GAGA(x1, x2, x3, x4) = PB_IN_GAGA(x1, x3) 37.09/10.41 37.09/10.41 U2_GAGA(x1, x2, x3, x4, x5) = U2_GAGA(x1, x3, x5) 37.09/10.41 37.09/10.41 U12_GA(x1, x2, x3, x4, x5) = U12_GA(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U13_GA(x1, x2, x3, x4, x5) = U13_GA(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U14_GA(x1, x2, x3, x4, x5) = U14_GA(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U15_GA(x1, x2, x3, x4, x5) = U15_GA(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U3_GAGA(x1, x2, x3, x4, x5) = U3_GAGA(x1, x3, x5) 37.09/10.41 37.09/10.41 U4_GAGA(x1, x2, x3, x4, x5) = U4_GAGA(x1, x3, x5) 37.09/10.41 37.09/10.41 U16_GA(x1, x2, x3, x4, x5) = U16_GA(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 ISNATD_IN_G(x1) = ISNATD_IN_G(x1) 37.09/10.41 37.09/10.41 U1_G(x1, x2) = U1_G(x1, x2) 37.09/10.41 37.09/10.41 U17_GA(x1, x2, x3, x4, x5) = U17_GA(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U18_GA(x1, x2, x3, x4) = U18_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U19_GA(x1, x2, x3, x4) = U19_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U20_GA(x1, x2, x3, x4) = U20_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U21_GA(x1, x2, x3, x4) = U21_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U22_GA(x1, x2, x3, x4) = U22_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U23_GA(x1, x2, x3, x4) = U23_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U24_GA(x1, x2, x3, x4) = U24_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U25_GA(x1, x2, x3, x4) = U25_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U26_GA(x1, x2, x3, x4) = U26_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U27_GA(x1, x2, x3, x4) = U27_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 ADDF_IN_GGA(x1, x2, x3) = ADDF_IN_GGA(x1, x2) 37.09/10.41 37.09/10.41 U6_GGA(x1, x2, x3, x4) = U6_GGA(x1, x2, x4) 37.09/10.41 37.09/10.41 U28_GA(x1, x2, x3, x4) = U28_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U29_GA(x1, x2, x3, x4) = U29_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U30_GA(x1, x2, x3, x4) = U30_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U31_GA(x1, x2, x3, x4) = U31_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U32_GA(x1, x2, x3, x4) = U32_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U33_GA(x1, x2, x3, x4) = U33_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U34_GA(x1, x2, x3, x4) = U34_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U35_GA(x1, x2, x3, x4) = U35_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 37.09/10.41 We have to consider all (P,R,Pi)-chains 37.09/10.41 ---------------------------------------- 37.09/10.41 37.09/10.41 (135) DependencyGraphProof (EQUIVALENT) 37.09/10.41 The approximation of the Dependency Graph [LOPSTR] contains 3 SCCs with 36 less nodes. 37.09/10.41 ---------------------------------------- 37.09/10.41 37.09/10.41 (136) 37.09/10.41 Complex Obligation (AND) 37.09/10.41 37.09/10.41 ---------------------------------------- 37.09/10.41 37.09/10.41 (137) 37.09/10.41 Obligation: 37.09/10.41 Pi DP problem: 37.09/10.41 The TRS P consists of the following rules: 37.09/10.41 37.09/10.41 ADDF_IN_GGA(s(X1), X2, s(X3)) -> ADDF_IN_GGA(X1, X2, X3) 37.09/10.41 37.09/10.41 The TRS R consists of the following rules: 37.09/10.41 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, plus(X3, X4))), X5) -> U37_ga(X1, X2, X3, X4, X5, s2cA_in_ga(plus(plus(plus(X1, X2), X3), X4), X5)) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, X3)), X4) -> U38_ga(X1, X2, X3, X4, s2cA_in_ga(plus(X3, plus(X1, X2)), X4)) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, 0)), plus(X1, X2)) -> s2cA_out_ga(plus(X1, plus(X2, 0)), plus(X1, X2)) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, X3)), X4) -> U39_ga(X1, X2, X3, X4, s2cA_in_ga(plus(X1, X2), X5)) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, X3)), X4) -> U41_ga(X1, X2, X3, X4, s2cA_in_ga(plus(plus(X2, X3), X1), X4)) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, X3)), X4) -> U42_ga(X1, X2, X3, X4, s2cA_in_ga(X1, X5)) 37.09/10.41 s2cA_in_ga(plus(plus(X1, X2), X3), X4) -> U44_ga(X1, X2, X3, X4, s2cA_in_ga(plus(plus(X3, X1), X2), X4)) 37.09/10.41 s2cA_in_ga(plus(X1, X2), X3) -> U45_ga(X1, X2, X3, s2cA_in_ga(plus(X1, X2), X3)) 37.09/10.41 s2cA_in_ga(plus(0, X1), X1) -> s2cA_out_ga(plus(0, X1), X1) 37.09/10.41 s2cA_in_ga(plus(X1, X2), X3) -> U46_ga(X1, X2, X3, s2cA_in_ga(X2, X4)) 37.09/10.41 s2cA_in_ga(plus(X1, s(X2)), s(X3)) -> U48_ga(X1, X2, X3, isNatcD_in_g(s(X2))) 37.09/10.41 isNatcD_in_g(s(X1)) -> U58_g(X1, isNatcD_in_g(X1)) 37.09/10.41 isNatcD_in_g(0) -> isNatcD_out_g(0) 37.09/10.41 U58_g(X1, isNatcD_out_g(X1)) -> isNatcD_out_g(s(X1)) 37.09/10.41 U48_ga(X1, X2, X3, isNatcD_out_g(s(X2))) -> U49_ga(X1, X2, X3, isNatcD_in_g(X1)) 37.09/10.41 U49_ga(X1, X2, X3, isNatcD_out_g(X1)) -> U50_ga(X1, X2, X3, addcF_in_gga(X2, X1, X3)) 37.09/10.41 addcF_in_gga(s(X1), X2, s(X3)) -> U62_gga(X1, X2, X3, addcF_in_gga(X1, X2, X3)) 37.09/10.41 addcF_in_gga(0, X1, X1) -> addcF_out_gga(0, X1, X1) 37.09/10.41 U62_gga(X1, X2, X3, addcF_out_gga(X1, X2, X3)) -> addcF_out_gga(s(X1), X2, s(X3)) 37.09/10.41 U50_ga(X1, X2, X3, addcF_out_gga(X2, X1, X3)) -> s2cA_out_ga(plus(X1, s(X2)), s(X3)) 37.09/10.41 s2cA_in_ga(plus(X1, 0), X1) -> U51_ga(X1, isNatcD_in_g(0)) 37.09/10.41 U51_ga(X1, isNatcD_out_g(0)) -> U52_ga(X1, isNatcD_in_g(X1)) 37.09/10.41 U52_ga(X1, isNatcD_out_g(X1)) -> s2cA_out_ga(plus(X1, 0), X1) 37.09/10.41 s2cA_in_ga(plus(X1, 0), X1) -> s2cA_out_ga(plus(X1, 0), X1) 37.09/10.41 s2cA_in_ga(plus(X1, X2), X3) -> U53_ga(X1, X2, X3, s2cA_in_ga(X1, X4)) 37.09/10.41 s2cA_in_ga(plus(X1, X2), X3) -> U55_ga(X1, X2, X3, isNatcD_in_g(X1)) 37.09/10.41 U55_ga(X1, X2, X3, isNatcD_out_g(X1)) -> U56_ga(X1, X2, X3, isNatcD_in_g(X2)) 37.09/10.41 U56_ga(X1, X2, X3, isNatcD_out_g(X2)) -> U57_ga(X1, X2, X3, addcF_in_gga(X1, X2, X3)) 37.09/10.41 U57_ga(X1, X2, X3, addcF_out_gga(X1, X2, X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.41 U53_ga(X1, X2, X3, s2cA_out_ga(X1, X4)) -> U54_ga(X1, X2, X3, qcB_in_gaga(X2, X5, X4, X3)) 37.09/10.41 qcB_in_gaga(X1, X2, X3, X4) -> U59_gaga(X1, X2, X3, X4, s2cA_in_ga(X1, X2)) 37.09/10.41 U59_gaga(X1, X2, X3, X4, s2cA_out_ga(X1, X2)) -> U60_gaga(X1, X2, X3, X4, s2cA_in_ga(plus(X3, X2), X4)) 37.09/10.41 U60_gaga(X1, X2, X3, X4, s2cA_out_ga(plus(X3, X2), X4)) -> qcB_out_gaga(X1, X2, X3, X4) 37.09/10.41 U54_ga(X1, X2, X3, qcB_out_gaga(X2, X5, X4, X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.41 U46_ga(X1, X2, X3, s2cA_out_ga(X2, X4)) -> U47_ga(X1, X2, X3, qcB_in_gaga(X1, X5, X4, X3)) 37.09/10.41 U47_ga(X1, X2, X3, qcB_out_gaga(X1, X5, X4, X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.41 U45_ga(X1, X2, X3, s2cA_out_ga(plus(X1, X2), X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.41 U44_ga(X1, X2, X3, X4, s2cA_out_ga(plus(plus(X3, X1), X2), X4)) -> s2cA_out_ga(plus(plus(X1, X2), X3), X4) 37.09/10.41 U42_ga(X1, X2, X3, X4, s2cA_out_ga(X1, X5)) -> U43_ga(X1, X2, X3, X4, qcB_in_gaga(plus(X2, X3), X6, X5, X4)) 37.09/10.41 U43_ga(X1, X2, X3, X4, qcB_out_gaga(plus(X2, X3), X6, X5, X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.41 U41_ga(X1, X2, X3, X4, s2cA_out_ga(plus(plus(X2, X3), X1), X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.41 U39_ga(X1, X2, X3, X4, s2cA_out_ga(plus(X1, X2), X5)) -> U40_ga(X1, X2, X3, X4, qcB_in_gaga(X3, X6, X5, X4)) 37.09/10.41 U40_ga(X1, X2, X3, X4, qcB_out_gaga(X3, X6, X5, X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.41 U38_ga(X1, X2, X3, X4, s2cA_out_ga(plus(X3, plus(X1, X2)), X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.41 U37_ga(X1, X2, X3, X4, X5, s2cA_out_ga(plus(plus(plus(X1, X2), X3), X4), X5)) -> s2cA_out_ga(plus(X1, plus(X2, plus(X3, X4))), X5) 37.09/10.41 37.09/10.41 The argument filtering Pi contains the following mapping: 37.09/10.41 plus(x1, x2) = plus(x1, x2) 37.09/10.41 37.09/10.41 s2cA_in_ga(x1, x2) = s2cA_in_ga(x1) 37.09/10.41 37.09/10.41 U37_ga(x1, x2, x3, x4, x5, x6) = U37_ga(x1, x2, x3, x4, x6) 37.09/10.41 37.09/10.41 U38_ga(x1, x2, x3, x4, x5) = U38_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 0 = 0 37.09/10.41 37.09/10.41 s2cA_out_ga(x1, x2) = s2cA_out_ga(x1, x2) 37.09/10.41 37.09/10.41 U39_ga(x1, x2, x3, x4, x5) = U39_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U41_ga(x1, x2, x3, x4, x5) = U41_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U42_ga(x1, x2, x3, x4, x5) = U42_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U44_ga(x1, x2, x3, x4, x5) = U44_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U45_ga(x1, x2, x3, x4) = U45_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U46_ga(x1, x2, x3, x4) = U46_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 s(x1) = s(x1) 37.09/10.41 37.09/10.41 U48_ga(x1, x2, x3, x4) = U48_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 isNatcD_in_g(x1) = isNatcD_in_g(x1) 37.09/10.41 37.09/10.41 U58_g(x1, x2) = U58_g(x1, x2) 37.09/10.41 37.09/10.41 isNatcD_out_g(x1) = isNatcD_out_g(x1) 37.09/10.41 37.09/10.41 U49_ga(x1, x2, x3, x4) = U49_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U50_ga(x1, x2, x3, x4) = U50_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 addcF_in_gga(x1, x2, x3) = addcF_in_gga(x1, x2) 37.09/10.41 37.09/10.41 U62_gga(x1, x2, x3, x4) = U62_gga(x1, x2, x4) 37.09/10.41 37.09/10.41 addcF_out_gga(x1, x2, x3) = addcF_out_gga(x1, x2, x3) 37.09/10.41 37.09/10.41 U51_ga(x1, x2) = U51_ga(x1, x2) 37.09/10.41 37.09/10.41 U52_ga(x1, x2) = U52_ga(x1, x2) 37.09/10.41 37.09/10.41 U53_ga(x1, x2, x3, x4) = U53_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U55_ga(x1, x2, x3, x4) = U55_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U56_ga(x1, x2, x3, x4) = U56_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U57_ga(x1, x2, x3, x4) = U57_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U54_ga(x1, x2, x3, x4) = U54_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 qcB_in_gaga(x1, x2, x3, x4) = qcB_in_gaga(x1, x3) 37.09/10.41 37.09/10.41 U59_gaga(x1, x2, x3, x4, x5) = U59_gaga(x1, x3, x5) 37.09/10.41 37.09/10.41 U60_gaga(x1, x2, x3, x4, x5) = U60_gaga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 qcB_out_gaga(x1, x2, x3, x4) = qcB_out_gaga(x1, x2, x3, x4) 37.09/10.41 37.09/10.41 U47_ga(x1, x2, x3, x4) = U47_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U43_ga(x1, x2, x3, x4, x5) = U43_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U40_ga(x1, x2, x3, x4, x5) = U40_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 ADDF_IN_GGA(x1, x2, x3) = ADDF_IN_GGA(x1, x2) 37.09/10.41 37.09/10.41 37.09/10.41 We have to consider all (P,R,Pi)-chains 37.09/10.41 ---------------------------------------- 37.09/10.41 37.09/10.41 (138) UsableRulesProof (EQUIVALENT) 37.09/10.41 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 37.09/10.41 ---------------------------------------- 37.09/10.41 37.09/10.41 (139) 37.09/10.41 Obligation: 37.09/10.41 Pi DP problem: 37.09/10.41 The TRS P consists of the following rules: 37.09/10.41 37.09/10.41 ADDF_IN_GGA(s(X1), X2, s(X3)) -> ADDF_IN_GGA(X1, X2, X3) 37.09/10.41 37.09/10.41 R is empty. 37.09/10.41 The argument filtering Pi contains the following mapping: 37.09/10.41 s(x1) = s(x1) 37.09/10.41 37.09/10.41 ADDF_IN_GGA(x1, x2, x3) = ADDF_IN_GGA(x1, x2) 37.09/10.41 37.09/10.41 37.09/10.41 We have to consider all (P,R,Pi)-chains 37.09/10.41 ---------------------------------------- 37.09/10.41 37.09/10.41 (140) PiDPToQDPProof (SOUND) 37.09/10.41 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 37.09/10.41 ---------------------------------------- 37.09/10.41 37.09/10.41 (141) 37.09/10.41 Obligation: 37.09/10.41 Q DP problem: 37.09/10.41 The TRS P consists of the following rules: 37.09/10.41 37.09/10.41 ADDF_IN_GGA(s(X1), X2) -> ADDF_IN_GGA(X1, X2) 37.09/10.41 37.09/10.41 R is empty. 37.09/10.41 Q is empty. 37.09/10.41 We have to consider all (P,Q,R)-chains. 37.09/10.41 ---------------------------------------- 37.09/10.41 37.09/10.41 (142) QDPSizeChangeProof (EQUIVALENT) 37.09/10.41 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. 37.09/10.41 37.09/10.41 From the DPs we obtained the following set of size-change graphs: 37.09/10.41 *ADDF_IN_GGA(s(X1), X2) -> ADDF_IN_GGA(X1, X2) 37.09/10.41 The graph contains the following edges 1 > 1, 2 >= 2 37.09/10.41 37.09/10.41 37.09/10.41 ---------------------------------------- 37.09/10.41 37.09/10.41 (143) 37.09/10.41 YES 37.09/10.41 37.09/10.41 ---------------------------------------- 37.09/10.41 37.09/10.41 (144) 37.09/10.41 Obligation: 37.09/10.41 Pi DP problem: 37.09/10.41 The TRS P consists of the following rules: 37.09/10.41 37.09/10.41 ISNATD_IN_G(s(X1)) -> ISNATD_IN_G(X1) 37.09/10.41 37.09/10.41 The TRS R consists of the following rules: 37.09/10.41 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, plus(X3, X4))), X5) -> U37_ga(X1, X2, X3, X4, X5, s2cA_in_ga(plus(plus(plus(X1, X2), X3), X4), X5)) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, X3)), X4) -> U38_ga(X1, X2, X3, X4, s2cA_in_ga(plus(X3, plus(X1, X2)), X4)) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, 0)), plus(X1, X2)) -> s2cA_out_ga(plus(X1, plus(X2, 0)), plus(X1, X2)) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, X3)), X4) -> U39_ga(X1, X2, X3, X4, s2cA_in_ga(plus(X1, X2), X5)) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, X3)), X4) -> U41_ga(X1, X2, X3, X4, s2cA_in_ga(plus(plus(X2, X3), X1), X4)) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, X3)), X4) -> U42_ga(X1, X2, X3, X4, s2cA_in_ga(X1, X5)) 37.09/10.41 s2cA_in_ga(plus(plus(X1, X2), X3), X4) -> U44_ga(X1, X2, X3, X4, s2cA_in_ga(plus(plus(X3, X1), X2), X4)) 37.09/10.41 s2cA_in_ga(plus(X1, X2), X3) -> U45_ga(X1, X2, X3, s2cA_in_ga(plus(X1, X2), X3)) 37.09/10.41 s2cA_in_ga(plus(0, X1), X1) -> s2cA_out_ga(plus(0, X1), X1) 37.09/10.41 s2cA_in_ga(plus(X1, X2), X3) -> U46_ga(X1, X2, X3, s2cA_in_ga(X2, X4)) 37.09/10.41 s2cA_in_ga(plus(X1, s(X2)), s(X3)) -> U48_ga(X1, X2, X3, isNatcD_in_g(s(X2))) 37.09/10.41 isNatcD_in_g(s(X1)) -> U58_g(X1, isNatcD_in_g(X1)) 37.09/10.41 isNatcD_in_g(0) -> isNatcD_out_g(0) 37.09/10.41 U58_g(X1, isNatcD_out_g(X1)) -> isNatcD_out_g(s(X1)) 37.09/10.41 U48_ga(X1, X2, X3, isNatcD_out_g(s(X2))) -> U49_ga(X1, X2, X3, isNatcD_in_g(X1)) 37.09/10.41 U49_ga(X1, X2, X3, isNatcD_out_g(X1)) -> U50_ga(X1, X2, X3, addcF_in_gga(X2, X1, X3)) 37.09/10.41 addcF_in_gga(s(X1), X2, s(X3)) -> U62_gga(X1, X2, X3, addcF_in_gga(X1, X2, X3)) 37.09/10.41 addcF_in_gga(0, X1, X1) -> addcF_out_gga(0, X1, X1) 37.09/10.41 U62_gga(X1, X2, X3, addcF_out_gga(X1, X2, X3)) -> addcF_out_gga(s(X1), X2, s(X3)) 37.09/10.41 U50_ga(X1, X2, X3, addcF_out_gga(X2, X1, X3)) -> s2cA_out_ga(plus(X1, s(X2)), s(X3)) 37.09/10.41 s2cA_in_ga(plus(X1, 0), X1) -> U51_ga(X1, isNatcD_in_g(0)) 37.09/10.41 U51_ga(X1, isNatcD_out_g(0)) -> U52_ga(X1, isNatcD_in_g(X1)) 37.09/10.41 U52_ga(X1, isNatcD_out_g(X1)) -> s2cA_out_ga(plus(X1, 0), X1) 37.09/10.41 s2cA_in_ga(plus(X1, 0), X1) -> s2cA_out_ga(plus(X1, 0), X1) 37.09/10.41 s2cA_in_ga(plus(X1, X2), X3) -> U53_ga(X1, X2, X3, s2cA_in_ga(X1, X4)) 37.09/10.41 s2cA_in_ga(plus(X1, X2), X3) -> U55_ga(X1, X2, X3, isNatcD_in_g(X1)) 37.09/10.41 U55_ga(X1, X2, X3, isNatcD_out_g(X1)) -> U56_ga(X1, X2, X3, isNatcD_in_g(X2)) 37.09/10.41 U56_ga(X1, X2, X3, isNatcD_out_g(X2)) -> U57_ga(X1, X2, X3, addcF_in_gga(X1, X2, X3)) 37.09/10.41 U57_ga(X1, X2, X3, addcF_out_gga(X1, X2, X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.41 U53_ga(X1, X2, X3, s2cA_out_ga(X1, X4)) -> U54_ga(X1, X2, X3, qcB_in_gaga(X2, X5, X4, X3)) 37.09/10.41 qcB_in_gaga(X1, X2, X3, X4) -> U59_gaga(X1, X2, X3, X4, s2cA_in_ga(X1, X2)) 37.09/10.41 U59_gaga(X1, X2, X3, X4, s2cA_out_ga(X1, X2)) -> U60_gaga(X1, X2, X3, X4, s2cA_in_ga(plus(X3, X2), X4)) 37.09/10.41 U60_gaga(X1, X2, X3, X4, s2cA_out_ga(plus(X3, X2), X4)) -> qcB_out_gaga(X1, X2, X3, X4) 37.09/10.41 U54_ga(X1, X2, X3, qcB_out_gaga(X2, X5, X4, X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.41 U46_ga(X1, X2, X3, s2cA_out_ga(X2, X4)) -> U47_ga(X1, X2, X3, qcB_in_gaga(X1, X5, X4, X3)) 37.09/10.41 U47_ga(X1, X2, X3, qcB_out_gaga(X1, X5, X4, X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.41 U45_ga(X1, X2, X3, s2cA_out_ga(plus(X1, X2), X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.41 U44_ga(X1, X2, X3, X4, s2cA_out_ga(plus(plus(X3, X1), X2), X4)) -> s2cA_out_ga(plus(plus(X1, X2), X3), X4) 37.09/10.41 U42_ga(X1, X2, X3, X4, s2cA_out_ga(X1, X5)) -> U43_ga(X1, X2, X3, X4, qcB_in_gaga(plus(X2, X3), X6, X5, X4)) 37.09/10.41 U43_ga(X1, X2, X3, X4, qcB_out_gaga(plus(X2, X3), X6, X5, X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.41 U41_ga(X1, X2, X3, X4, s2cA_out_ga(plus(plus(X2, X3), X1), X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.41 U39_ga(X1, X2, X3, X4, s2cA_out_ga(plus(X1, X2), X5)) -> U40_ga(X1, X2, X3, X4, qcB_in_gaga(X3, X6, X5, X4)) 37.09/10.41 U40_ga(X1, X2, X3, X4, qcB_out_gaga(X3, X6, X5, X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.41 U38_ga(X1, X2, X3, X4, s2cA_out_ga(plus(X3, plus(X1, X2)), X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.41 U37_ga(X1, X2, X3, X4, X5, s2cA_out_ga(plus(plus(plus(X1, X2), X3), X4), X5)) -> s2cA_out_ga(plus(X1, plus(X2, plus(X3, X4))), X5) 37.09/10.41 37.09/10.41 The argument filtering Pi contains the following mapping: 37.09/10.41 plus(x1, x2) = plus(x1, x2) 37.09/10.41 37.09/10.41 s2cA_in_ga(x1, x2) = s2cA_in_ga(x1) 37.09/10.41 37.09/10.41 U37_ga(x1, x2, x3, x4, x5, x6) = U37_ga(x1, x2, x3, x4, x6) 37.09/10.41 37.09/10.41 U38_ga(x1, x2, x3, x4, x5) = U38_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 0 = 0 37.09/10.41 37.09/10.41 s2cA_out_ga(x1, x2) = s2cA_out_ga(x1, x2) 37.09/10.41 37.09/10.41 U39_ga(x1, x2, x3, x4, x5) = U39_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U41_ga(x1, x2, x3, x4, x5) = U41_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U42_ga(x1, x2, x3, x4, x5) = U42_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U44_ga(x1, x2, x3, x4, x5) = U44_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U45_ga(x1, x2, x3, x4) = U45_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U46_ga(x1, x2, x3, x4) = U46_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 s(x1) = s(x1) 37.09/10.41 37.09/10.41 U48_ga(x1, x2, x3, x4) = U48_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 isNatcD_in_g(x1) = isNatcD_in_g(x1) 37.09/10.41 37.09/10.41 U58_g(x1, x2) = U58_g(x1, x2) 37.09/10.41 37.09/10.41 isNatcD_out_g(x1) = isNatcD_out_g(x1) 37.09/10.41 37.09/10.41 U49_ga(x1, x2, x3, x4) = U49_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U50_ga(x1, x2, x3, x4) = U50_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 addcF_in_gga(x1, x2, x3) = addcF_in_gga(x1, x2) 37.09/10.41 37.09/10.41 U62_gga(x1, x2, x3, x4) = U62_gga(x1, x2, x4) 37.09/10.41 37.09/10.41 addcF_out_gga(x1, x2, x3) = addcF_out_gga(x1, x2, x3) 37.09/10.41 37.09/10.41 U51_ga(x1, x2) = U51_ga(x1, x2) 37.09/10.41 37.09/10.41 U52_ga(x1, x2) = U52_ga(x1, x2) 37.09/10.41 37.09/10.41 U53_ga(x1, x2, x3, x4) = U53_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U55_ga(x1, x2, x3, x4) = U55_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U56_ga(x1, x2, x3, x4) = U56_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U57_ga(x1, x2, x3, x4) = U57_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U54_ga(x1, x2, x3, x4) = U54_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 qcB_in_gaga(x1, x2, x3, x4) = qcB_in_gaga(x1, x3) 37.09/10.41 37.09/10.41 U59_gaga(x1, x2, x3, x4, x5) = U59_gaga(x1, x3, x5) 37.09/10.41 37.09/10.41 U60_gaga(x1, x2, x3, x4, x5) = U60_gaga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 qcB_out_gaga(x1, x2, x3, x4) = qcB_out_gaga(x1, x2, x3, x4) 37.09/10.41 37.09/10.41 U47_ga(x1, x2, x3, x4) = U47_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U43_ga(x1, x2, x3, x4, x5) = U43_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U40_ga(x1, x2, x3, x4, x5) = U40_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 ISNATD_IN_G(x1) = ISNATD_IN_G(x1) 37.09/10.41 37.09/10.41 37.09/10.41 We have to consider all (P,R,Pi)-chains 37.09/10.41 ---------------------------------------- 37.09/10.41 37.09/10.41 (145) UsableRulesProof (EQUIVALENT) 37.09/10.41 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 37.09/10.41 ---------------------------------------- 37.09/10.41 37.09/10.41 (146) 37.09/10.41 Obligation: 37.09/10.41 Pi DP problem: 37.09/10.41 The TRS P consists of the following rules: 37.09/10.41 37.09/10.41 ISNATD_IN_G(s(X1)) -> ISNATD_IN_G(X1) 37.09/10.41 37.09/10.41 R is empty. 37.09/10.41 Pi is empty. 37.09/10.41 We have to consider all (P,R,Pi)-chains 37.09/10.41 ---------------------------------------- 37.09/10.41 37.09/10.41 (147) PiDPToQDPProof (EQUIVALENT) 37.09/10.41 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 37.09/10.41 ---------------------------------------- 37.09/10.41 37.09/10.41 (148) 37.09/10.41 Obligation: 37.09/10.41 Q DP problem: 37.09/10.41 The TRS P consists of the following rules: 37.09/10.41 37.09/10.41 ISNATD_IN_G(s(X1)) -> ISNATD_IN_G(X1) 37.09/10.41 37.09/10.41 R is empty. 37.09/10.41 Q is empty. 37.09/10.41 We have to consider all (P,Q,R)-chains. 37.09/10.41 ---------------------------------------- 37.09/10.41 37.09/10.41 (149) QDPSizeChangeProof (EQUIVALENT) 37.09/10.41 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. 37.09/10.41 37.09/10.41 From the DPs we obtained the following set of size-change graphs: 37.09/10.41 *ISNATD_IN_G(s(X1)) -> ISNATD_IN_G(X1) 37.09/10.41 The graph contains the following edges 1 > 1 37.09/10.41 37.09/10.41 37.09/10.41 ---------------------------------------- 37.09/10.41 37.09/10.41 (150) 37.09/10.41 YES 37.09/10.41 37.09/10.41 ---------------------------------------- 37.09/10.41 37.09/10.41 (151) 37.09/10.41 Obligation: 37.09/10.41 Pi DP problem: 37.09/10.41 The TRS P consists of the following rules: 37.09/10.41 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> S2A_IN_GA(plus(X3, plus(X1, X2)), X4) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, plus(X3, X4))), X5) -> S2A_IN_GA(plus(plus(plus(X1, X2), X3), X4), X5) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> S2A_IN_GA(plus(X1, X2), X5) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> U10_GA(X1, X2, X3, X4, s2cA_in_ga(plus(X1, X2), X5)) 37.09/10.41 U10_GA(X1, X2, X3, X4, s2cA_out_ga(plus(X1, X2), X5)) -> PB_IN_GAGA(X3, X6, X5, X4) 37.09/10.41 PB_IN_GAGA(X1, X2, X3, X4) -> S2A_IN_GA(X1, X2) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> S2A_IN_GA(plus(plus(X2, X3), X1), X4) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> S2A_IN_GA(X1, X5) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3)), X4) -> U14_GA(X1, X2, X3, X4, s2cA_in_ga(X1, X5)) 37.09/10.41 U14_GA(X1, X2, X3, X4, s2cA_out_ga(X1, X5)) -> PB_IN_GAGA(plus(X2, X3), X6, X5, X4) 37.09/10.41 PB_IN_GAGA(X1, X2, X3, X4) -> U3_GAGA(X1, X2, X3, X4, s2cA_in_ga(X1, X2)) 37.09/10.41 U3_GAGA(X1, X2, X3, X4, s2cA_out_ga(X1, X2)) -> S2A_IN_GA(plus(X3, X2), X4) 37.09/10.41 S2A_IN_GA(plus(plus(X1, X2), X3), X4) -> S2A_IN_GA(plus(plus(X3, X1), X2), X4) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> S2A_IN_GA(plus(X1, X2), X3) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> S2A_IN_GA(X2, X4) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> U20_GA(X1, X2, X3, s2cA_in_ga(X2, X4)) 37.09/10.41 U20_GA(X1, X2, X3, s2cA_out_ga(X2, X4)) -> PB_IN_GAGA(X1, X5, X4, X3) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> S2A_IN_GA(X1, X4) 37.09/10.41 S2A_IN_GA(plus(X1, X2), X3) -> U29_GA(X1, X2, X3, s2cA_in_ga(X1, X4)) 37.09/10.41 U29_GA(X1, X2, X3, s2cA_out_ga(X1, X4)) -> PB_IN_GAGA(X2, X5, X4, X3) 37.09/10.41 37.09/10.41 The TRS R consists of the following rules: 37.09/10.41 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, plus(X3, X4))), X5) -> U37_ga(X1, X2, X3, X4, X5, s2cA_in_ga(plus(plus(plus(X1, X2), X3), X4), X5)) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, X3)), X4) -> U38_ga(X1, X2, X3, X4, s2cA_in_ga(plus(X3, plus(X1, X2)), X4)) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, 0)), plus(X1, X2)) -> s2cA_out_ga(plus(X1, plus(X2, 0)), plus(X1, X2)) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, X3)), X4) -> U39_ga(X1, X2, X3, X4, s2cA_in_ga(plus(X1, X2), X5)) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, X3)), X4) -> U41_ga(X1, X2, X3, X4, s2cA_in_ga(plus(plus(X2, X3), X1), X4)) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, X3)), X4) -> U42_ga(X1, X2, X3, X4, s2cA_in_ga(X1, X5)) 37.09/10.41 s2cA_in_ga(plus(plus(X1, X2), X3), X4) -> U44_ga(X1, X2, X3, X4, s2cA_in_ga(plus(plus(X3, X1), X2), X4)) 37.09/10.41 s2cA_in_ga(plus(X1, X2), X3) -> U45_ga(X1, X2, X3, s2cA_in_ga(plus(X1, X2), X3)) 37.09/10.41 s2cA_in_ga(plus(0, X1), X1) -> s2cA_out_ga(plus(0, X1), X1) 37.09/10.41 s2cA_in_ga(plus(X1, X2), X3) -> U46_ga(X1, X2, X3, s2cA_in_ga(X2, X4)) 37.09/10.41 s2cA_in_ga(plus(X1, s(X2)), s(X3)) -> U48_ga(X1, X2, X3, isNatcD_in_g(s(X2))) 37.09/10.41 isNatcD_in_g(s(X1)) -> U58_g(X1, isNatcD_in_g(X1)) 37.09/10.41 isNatcD_in_g(0) -> isNatcD_out_g(0) 37.09/10.41 U58_g(X1, isNatcD_out_g(X1)) -> isNatcD_out_g(s(X1)) 37.09/10.41 U48_ga(X1, X2, X3, isNatcD_out_g(s(X2))) -> U49_ga(X1, X2, X3, isNatcD_in_g(X1)) 37.09/10.41 U49_ga(X1, X2, X3, isNatcD_out_g(X1)) -> U50_ga(X1, X2, X3, addcF_in_gga(X2, X1, X3)) 37.09/10.41 addcF_in_gga(s(X1), X2, s(X3)) -> U62_gga(X1, X2, X3, addcF_in_gga(X1, X2, X3)) 37.09/10.41 addcF_in_gga(0, X1, X1) -> addcF_out_gga(0, X1, X1) 37.09/10.41 U62_gga(X1, X2, X3, addcF_out_gga(X1, X2, X3)) -> addcF_out_gga(s(X1), X2, s(X3)) 37.09/10.41 U50_ga(X1, X2, X3, addcF_out_gga(X2, X1, X3)) -> s2cA_out_ga(plus(X1, s(X2)), s(X3)) 37.09/10.41 s2cA_in_ga(plus(X1, 0), X1) -> U51_ga(X1, isNatcD_in_g(0)) 37.09/10.41 U51_ga(X1, isNatcD_out_g(0)) -> U52_ga(X1, isNatcD_in_g(X1)) 37.09/10.41 U52_ga(X1, isNatcD_out_g(X1)) -> s2cA_out_ga(plus(X1, 0), X1) 37.09/10.41 s2cA_in_ga(plus(X1, 0), X1) -> s2cA_out_ga(plus(X1, 0), X1) 37.09/10.41 s2cA_in_ga(plus(X1, X2), X3) -> U53_ga(X1, X2, X3, s2cA_in_ga(X1, X4)) 37.09/10.41 s2cA_in_ga(plus(X1, X2), X3) -> U55_ga(X1, X2, X3, isNatcD_in_g(X1)) 37.09/10.41 U55_ga(X1, X2, X3, isNatcD_out_g(X1)) -> U56_ga(X1, X2, X3, isNatcD_in_g(X2)) 37.09/10.41 U56_ga(X1, X2, X3, isNatcD_out_g(X2)) -> U57_ga(X1, X2, X3, addcF_in_gga(X1, X2, X3)) 37.09/10.41 U57_ga(X1, X2, X3, addcF_out_gga(X1, X2, X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.41 U53_ga(X1, X2, X3, s2cA_out_ga(X1, X4)) -> U54_ga(X1, X2, X3, qcB_in_gaga(X2, X5, X4, X3)) 37.09/10.41 qcB_in_gaga(X1, X2, X3, X4) -> U59_gaga(X1, X2, X3, X4, s2cA_in_ga(X1, X2)) 37.09/10.41 U59_gaga(X1, X2, X3, X4, s2cA_out_ga(X1, X2)) -> U60_gaga(X1, X2, X3, X4, s2cA_in_ga(plus(X3, X2), X4)) 37.09/10.41 U60_gaga(X1, X2, X3, X4, s2cA_out_ga(plus(X3, X2), X4)) -> qcB_out_gaga(X1, X2, X3, X4) 37.09/10.41 U54_ga(X1, X2, X3, qcB_out_gaga(X2, X5, X4, X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.41 U46_ga(X1, X2, X3, s2cA_out_ga(X2, X4)) -> U47_ga(X1, X2, X3, qcB_in_gaga(X1, X5, X4, X3)) 37.09/10.41 U47_ga(X1, X2, X3, qcB_out_gaga(X1, X5, X4, X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.41 U45_ga(X1, X2, X3, s2cA_out_ga(plus(X1, X2), X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.41 U44_ga(X1, X2, X3, X4, s2cA_out_ga(plus(plus(X3, X1), X2), X4)) -> s2cA_out_ga(plus(plus(X1, X2), X3), X4) 37.09/10.41 U42_ga(X1, X2, X3, X4, s2cA_out_ga(X1, X5)) -> U43_ga(X1, X2, X3, X4, qcB_in_gaga(plus(X2, X3), X6, X5, X4)) 37.09/10.41 U43_ga(X1, X2, X3, X4, qcB_out_gaga(plus(X2, X3), X6, X5, X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.41 U41_ga(X1, X2, X3, X4, s2cA_out_ga(plus(plus(X2, X3), X1), X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.41 U39_ga(X1, X2, X3, X4, s2cA_out_ga(plus(X1, X2), X5)) -> U40_ga(X1, X2, X3, X4, qcB_in_gaga(X3, X6, X5, X4)) 37.09/10.41 U40_ga(X1, X2, X3, X4, qcB_out_gaga(X3, X6, X5, X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.41 U38_ga(X1, X2, X3, X4, s2cA_out_ga(plus(X3, plus(X1, X2)), X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.41 U37_ga(X1, X2, X3, X4, X5, s2cA_out_ga(plus(plus(plus(X1, X2), X3), X4), X5)) -> s2cA_out_ga(plus(X1, plus(X2, plus(X3, X4))), X5) 37.09/10.41 37.09/10.41 The argument filtering Pi contains the following mapping: 37.09/10.41 plus(x1, x2) = plus(x1, x2) 37.09/10.41 37.09/10.41 s2cA_in_ga(x1, x2) = s2cA_in_ga(x1) 37.09/10.41 37.09/10.41 U37_ga(x1, x2, x3, x4, x5, x6) = U37_ga(x1, x2, x3, x4, x6) 37.09/10.41 37.09/10.41 U38_ga(x1, x2, x3, x4, x5) = U38_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 0 = 0 37.09/10.41 37.09/10.41 s2cA_out_ga(x1, x2) = s2cA_out_ga(x1, x2) 37.09/10.41 37.09/10.41 U39_ga(x1, x2, x3, x4, x5) = U39_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U41_ga(x1, x2, x3, x4, x5) = U41_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U42_ga(x1, x2, x3, x4, x5) = U42_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U44_ga(x1, x2, x3, x4, x5) = U44_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U45_ga(x1, x2, x3, x4) = U45_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U46_ga(x1, x2, x3, x4) = U46_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 s(x1) = s(x1) 37.09/10.41 37.09/10.41 U48_ga(x1, x2, x3, x4) = U48_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 isNatcD_in_g(x1) = isNatcD_in_g(x1) 37.09/10.41 37.09/10.41 U58_g(x1, x2) = U58_g(x1, x2) 37.09/10.41 37.09/10.41 isNatcD_out_g(x1) = isNatcD_out_g(x1) 37.09/10.41 37.09/10.41 U49_ga(x1, x2, x3, x4) = U49_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U50_ga(x1, x2, x3, x4) = U50_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 addcF_in_gga(x1, x2, x3) = addcF_in_gga(x1, x2) 37.09/10.41 37.09/10.41 U62_gga(x1, x2, x3, x4) = U62_gga(x1, x2, x4) 37.09/10.41 37.09/10.41 addcF_out_gga(x1, x2, x3) = addcF_out_gga(x1, x2, x3) 37.09/10.41 37.09/10.41 U51_ga(x1, x2) = U51_ga(x1, x2) 37.09/10.41 37.09/10.41 U52_ga(x1, x2) = U52_ga(x1, x2) 37.09/10.41 37.09/10.41 U53_ga(x1, x2, x3, x4) = U53_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U55_ga(x1, x2, x3, x4) = U55_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U56_ga(x1, x2, x3, x4) = U56_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U57_ga(x1, x2, x3, x4) = U57_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U54_ga(x1, x2, x3, x4) = U54_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 qcB_in_gaga(x1, x2, x3, x4) = qcB_in_gaga(x1, x3) 37.09/10.41 37.09/10.41 U59_gaga(x1, x2, x3, x4, x5) = U59_gaga(x1, x3, x5) 37.09/10.41 37.09/10.41 U60_gaga(x1, x2, x3, x4, x5) = U60_gaga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 qcB_out_gaga(x1, x2, x3, x4) = qcB_out_gaga(x1, x2, x3, x4) 37.09/10.41 37.09/10.41 U47_ga(x1, x2, x3, x4) = U47_ga(x1, x2, x4) 37.09/10.41 37.09/10.41 U43_ga(x1, x2, x3, x4, x5) = U43_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U40_ga(x1, x2, x3, x4, x5) = U40_ga(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 S2A_IN_GA(x1, x2) = S2A_IN_GA(x1) 37.09/10.41 37.09/10.41 U10_GA(x1, x2, x3, x4, x5) = U10_GA(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 PB_IN_GAGA(x1, x2, x3, x4) = PB_IN_GAGA(x1, x3) 37.09/10.41 37.09/10.41 U14_GA(x1, x2, x3, x4, x5) = U14_GA(x1, x2, x3, x5) 37.09/10.41 37.09/10.41 U3_GAGA(x1, x2, x3, x4, x5) = U3_GAGA(x1, x3, x5) 37.09/10.41 37.09/10.41 U20_GA(x1, x2, x3, x4) = U20_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 U29_GA(x1, x2, x3, x4) = U29_GA(x1, x2, x4) 37.09/10.41 37.09/10.41 37.09/10.41 We have to consider all (P,R,Pi)-chains 37.09/10.41 ---------------------------------------- 37.09/10.41 37.09/10.41 (152) PiDPToQDPProof (SOUND) 37.09/10.41 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 37.09/10.41 ---------------------------------------- 37.09/10.41 37.09/10.41 (153) 37.09/10.41 Obligation: 37.09/10.41 Q DP problem: 37.09/10.41 The TRS P consists of the following rules: 37.09/10.41 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3))) -> S2A_IN_GA(plus(X3, plus(X1, X2))) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, plus(X3, X4)))) -> S2A_IN_GA(plus(plus(plus(X1, X2), X3), X4)) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3))) -> S2A_IN_GA(plus(X1, X2)) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3))) -> U10_GA(X1, X2, X3, s2cA_in_ga(plus(X1, X2))) 37.09/10.41 U10_GA(X1, X2, X3, s2cA_out_ga(plus(X1, X2), X5)) -> PB_IN_GAGA(X3, X5) 37.09/10.41 PB_IN_GAGA(X1, X3) -> S2A_IN_GA(X1) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3))) -> S2A_IN_GA(plus(plus(X2, X3), X1)) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3))) -> S2A_IN_GA(X1) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3))) -> U14_GA(X1, X2, X3, s2cA_in_ga(X1)) 37.09/10.41 U14_GA(X1, X2, X3, s2cA_out_ga(X1, X5)) -> PB_IN_GAGA(plus(X2, X3), X5) 37.09/10.41 PB_IN_GAGA(X1, X3) -> U3_GAGA(X1, X3, s2cA_in_ga(X1)) 37.09/10.41 U3_GAGA(X1, X3, s2cA_out_ga(X1, X2)) -> S2A_IN_GA(plus(X3, X2)) 37.09/10.41 S2A_IN_GA(plus(plus(X1, X2), X3)) -> S2A_IN_GA(plus(plus(X3, X1), X2)) 37.09/10.41 S2A_IN_GA(plus(X1, X2)) -> S2A_IN_GA(plus(X1, X2)) 37.09/10.41 S2A_IN_GA(plus(X1, X2)) -> S2A_IN_GA(X2) 37.09/10.41 S2A_IN_GA(plus(X1, X2)) -> U20_GA(X1, X2, s2cA_in_ga(X2)) 37.09/10.41 U20_GA(X1, X2, s2cA_out_ga(X2, X4)) -> PB_IN_GAGA(X1, X4) 37.09/10.41 S2A_IN_GA(plus(X1, X2)) -> S2A_IN_GA(X1) 37.09/10.41 S2A_IN_GA(plus(X1, X2)) -> U29_GA(X1, X2, s2cA_in_ga(X1)) 37.09/10.41 U29_GA(X1, X2, s2cA_out_ga(X1, X4)) -> PB_IN_GAGA(X2, X4) 37.09/10.41 37.09/10.41 The TRS R consists of the following rules: 37.09/10.41 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, plus(X3, X4)))) -> U37_ga(X1, X2, X3, X4, s2cA_in_ga(plus(plus(plus(X1, X2), X3), X4))) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, X3))) -> U38_ga(X1, X2, X3, s2cA_in_ga(plus(X3, plus(X1, X2)))) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, 0))) -> s2cA_out_ga(plus(X1, plus(X2, 0)), plus(X1, X2)) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, X3))) -> U39_ga(X1, X2, X3, s2cA_in_ga(plus(X1, X2))) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, X3))) -> U41_ga(X1, X2, X3, s2cA_in_ga(plus(plus(X2, X3), X1))) 37.09/10.41 s2cA_in_ga(plus(X1, plus(X2, X3))) -> U42_ga(X1, X2, X3, s2cA_in_ga(X1)) 37.09/10.41 s2cA_in_ga(plus(plus(X1, X2), X3)) -> U44_ga(X1, X2, X3, s2cA_in_ga(plus(plus(X3, X1), X2))) 37.09/10.41 s2cA_in_ga(plus(X1, X2)) -> U45_ga(X1, X2, s2cA_in_ga(plus(X1, X2))) 37.09/10.41 s2cA_in_ga(plus(0, X1)) -> s2cA_out_ga(plus(0, X1), X1) 37.09/10.41 s2cA_in_ga(plus(X1, X2)) -> U46_ga(X1, X2, s2cA_in_ga(X2)) 37.09/10.41 s2cA_in_ga(plus(X1, s(X2))) -> U48_ga(X1, X2, isNatcD_in_g(s(X2))) 37.09/10.41 isNatcD_in_g(s(X1)) -> U58_g(X1, isNatcD_in_g(X1)) 37.09/10.41 isNatcD_in_g(0) -> isNatcD_out_g(0) 37.09/10.41 U58_g(X1, isNatcD_out_g(X1)) -> isNatcD_out_g(s(X1)) 37.09/10.41 U48_ga(X1, X2, isNatcD_out_g(s(X2))) -> U49_ga(X1, X2, isNatcD_in_g(X1)) 37.09/10.41 U49_ga(X1, X2, isNatcD_out_g(X1)) -> U50_ga(X1, X2, addcF_in_gga(X2, X1)) 37.09/10.41 addcF_in_gga(s(X1), X2) -> U62_gga(X1, X2, addcF_in_gga(X1, X2)) 37.09/10.41 addcF_in_gga(0, X1) -> addcF_out_gga(0, X1, X1) 37.09/10.41 U62_gga(X1, X2, addcF_out_gga(X1, X2, X3)) -> addcF_out_gga(s(X1), X2, s(X3)) 37.09/10.41 U50_ga(X1, X2, addcF_out_gga(X2, X1, X3)) -> s2cA_out_ga(plus(X1, s(X2)), s(X3)) 37.09/10.41 s2cA_in_ga(plus(X1, 0)) -> U51_ga(X1, isNatcD_in_g(0)) 37.09/10.41 U51_ga(X1, isNatcD_out_g(0)) -> U52_ga(X1, isNatcD_in_g(X1)) 37.09/10.41 U52_ga(X1, isNatcD_out_g(X1)) -> s2cA_out_ga(plus(X1, 0), X1) 37.09/10.41 s2cA_in_ga(plus(X1, 0)) -> s2cA_out_ga(plus(X1, 0), X1) 37.09/10.41 s2cA_in_ga(plus(X1, X2)) -> U53_ga(X1, X2, s2cA_in_ga(X1)) 37.09/10.41 s2cA_in_ga(plus(X1, X2)) -> U55_ga(X1, X2, isNatcD_in_g(X1)) 37.09/10.41 U55_ga(X1, X2, isNatcD_out_g(X1)) -> U56_ga(X1, X2, isNatcD_in_g(X2)) 37.09/10.41 U56_ga(X1, X2, isNatcD_out_g(X2)) -> U57_ga(X1, X2, addcF_in_gga(X1, X2)) 37.09/10.41 U57_ga(X1, X2, addcF_out_gga(X1, X2, X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.41 U53_ga(X1, X2, s2cA_out_ga(X1, X4)) -> U54_ga(X1, X2, qcB_in_gaga(X2, X4)) 37.09/10.41 qcB_in_gaga(X1, X3) -> U59_gaga(X1, X3, s2cA_in_ga(X1)) 37.09/10.41 U59_gaga(X1, X3, s2cA_out_ga(X1, X2)) -> U60_gaga(X1, X2, X3, s2cA_in_ga(plus(X3, X2))) 37.09/10.41 U60_gaga(X1, X2, X3, s2cA_out_ga(plus(X3, X2), X4)) -> qcB_out_gaga(X1, X2, X3, X4) 37.09/10.41 U54_ga(X1, X2, qcB_out_gaga(X2, X5, X4, X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.41 U46_ga(X1, X2, s2cA_out_ga(X2, X4)) -> U47_ga(X1, X2, qcB_in_gaga(X1, X4)) 37.09/10.41 U47_ga(X1, X2, qcB_out_gaga(X1, X5, X4, X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.41 U45_ga(X1, X2, s2cA_out_ga(plus(X1, X2), X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.41 U44_ga(X1, X2, X3, s2cA_out_ga(plus(plus(X3, X1), X2), X4)) -> s2cA_out_ga(plus(plus(X1, X2), X3), X4) 37.09/10.41 U42_ga(X1, X2, X3, s2cA_out_ga(X1, X5)) -> U43_ga(X1, X2, X3, qcB_in_gaga(plus(X2, X3), X5)) 37.09/10.41 U43_ga(X1, X2, X3, qcB_out_gaga(plus(X2, X3), X6, X5, X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.41 U41_ga(X1, X2, X3, s2cA_out_ga(plus(plus(X2, X3), X1), X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.41 U39_ga(X1, X2, X3, s2cA_out_ga(plus(X1, X2), X5)) -> U40_ga(X1, X2, X3, qcB_in_gaga(X3, X5)) 37.09/10.41 U40_ga(X1, X2, X3, qcB_out_gaga(X3, X6, X5, X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.41 U38_ga(X1, X2, X3, s2cA_out_ga(plus(X3, plus(X1, X2)), X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.41 U37_ga(X1, X2, X3, X4, s2cA_out_ga(plus(plus(plus(X1, X2), X3), X4), X5)) -> s2cA_out_ga(plus(X1, plus(X2, plus(X3, X4))), X5) 37.09/10.41 37.09/10.41 The set Q consists of the following terms: 37.09/10.41 37.09/10.41 s2cA_in_ga(x0) 37.09/10.41 isNatcD_in_g(x0) 37.09/10.41 U58_g(x0, x1) 37.09/10.41 U48_ga(x0, x1, x2) 37.09/10.41 U49_ga(x0, x1, x2) 37.09/10.41 addcF_in_gga(x0, x1) 37.09/10.41 U62_gga(x0, x1, x2) 37.09/10.41 U50_ga(x0, x1, x2) 37.09/10.41 U51_ga(x0, x1) 37.09/10.41 U52_ga(x0, x1) 37.09/10.41 U55_ga(x0, x1, x2) 37.09/10.41 U56_ga(x0, x1, x2) 37.09/10.41 U57_ga(x0, x1, x2) 37.09/10.41 U53_ga(x0, x1, x2) 37.09/10.41 qcB_in_gaga(x0, x1) 37.09/10.41 U59_gaga(x0, x1, x2) 37.09/10.41 U60_gaga(x0, x1, x2, x3) 37.09/10.41 U54_ga(x0, x1, x2) 37.09/10.41 U46_ga(x0, x1, x2) 37.09/10.41 U47_ga(x0, x1, x2) 37.09/10.41 U45_ga(x0, x1, x2) 37.09/10.41 U44_ga(x0, x1, x2, x3) 37.09/10.41 U42_ga(x0, x1, x2, x3) 37.09/10.41 U43_ga(x0, x1, x2, x3) 37.09/10.41 U41_ga(x0, x1, x2, x3) 37.09/10.41 U39_ga(x0, x1, x2, x3) 37.09/10.41 U40_ga(x0, x1, x2, x3) 37.09/10.41 U38_ga(x0, x1, x2, x3) 37.09/10.41 U37_ga(x0, x1, x2, x3, x4) 37.09/10.41 37.09/10.41 We have to consider all (P,Q,R)-chains. 37.09/10.41 ---------------------------------------- 37.09/10.41 37.09/10.41 (154) QDPOrderProof (EQUIVALENT) 37.09/10.41 We use the reduction pair processor [LPAR04,JAR06]. 37.09/10.41 37.09/10.41 37.09/10.41 The following pairs can be oriented strictly and are deleted. 37.09/10.41 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3))) -> S2A_IN_GA(plus(X1, X2)) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3))) -> U10_GA(X1, X2, X3, s2cA_in_ga(plus(X1, X2))) 37.09/10.41 U10_GA(X1, X2, X3, s2cA_out_ga(plus(X1, X2), X5)) -> PB_IN_GAGA(X3, X5) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3))) -> S2A_IN_GA(X1) 37.09/10.41 S2A_IN_GA(plus(X1, plus(X2, X3))) -> U14_GA(X1, X2, X3, s2cA_in_ga(X1)) 37.09/10.41 U3_GAGA(X1, X3, s2cA_out_ga(X1, X2)) -> S2A_IN_GA(plus(X3, X2)) 37.09/10.41 S2A_IN_GA(plus(X1, X2)) -> S2A_IN_GA(X2) 37.09/10.41 S2A_IN_GA(plus(X1, X2)) -> U20_GA(X1, X2, s2cA_in_ga(X2)) 37.09/10.41 U20_GA(X1, X2, s2cA_out_ga(X2, X4)) -> PB_IN_GAGA(X1, X4) 37.09/10.41 S2A_IN_GA(plus(X1, X2)) -> S2A_IN_GA(X1) 37.09/10.41 S2A_IN_GA(plus(X1, X2)) -> U29_GA(X1, X2, s2cA_in_ga(X1)) 37.09/10.41 U29_GA(X1, X2, s2cA_out_ga(X1, X4)) -> PB_IN_GAGA(X2, X4) 37.09/10.41 The remaining pairs can at least be oriented weakly. 37.09/10.41 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 37.09/10.41 37.09/10.41 POL( U10_GA_4(x_1, ..., x_4) ) = 2x_3 + 2x_4 + 2 37.09/10.41 POL( U14_GA_4(x_1, ..., x_4) ) = 2x_2 + 2x_3 + 2x_4 37.09/10.41 POL( U20_GA_3(x_1, ..., x_3) ) = 2x_1 + 2x_3 + 1 37.09/10.41 POL( U29_GA_3(x_1, ..., x_3) ) = 2x_2 + 2x_3 37.09/10.41 POL( U3_GAGA_3(x_1, ..., x_3) ) = 2x_2 + 2x_3 + 2 37.09/10.41 POL( s2cA_in_ga_1(x_1) ) = max{0, x_1 - 1} 37.09/10.41 POL( plus_2(x_1, x_2) ) = x_1 + x_2 + 1 37.09/10.41 POL( U37_ga_5(x_1, ..., x_5) ) = x_5 37.09/10.41 POL( U38_ga_4(x_1, ..., x_4) ) = x_4 37.09/10.41 POL( 0 ) = 2 37.09/10.41 POL( s2cA_out_ga_2(x_1, x_2) ) = x_2 + 2 37.09/10.41 POL( U39_ga_4(x_1, ..., x_4) ) = x_3 + x_4 37.09/10.41 POL( U41_ga_4(x_1, ..., x_4) ) = x_4 37.09/10.41 POL( U42_ga_4(x_1, ..., x_4) ) = x_2 + x_3 + x_4 37.09/10.41 POL( U44_ga_4(x_1, ..., x_4) ) = x_4 37.09/10.41 POL( U45_ga_3(x_1, ..., x_3) ) = x_3 37.09/10.41 POL( U46_ga_3(x_1, ..., x_3) ) = max{0, x_1 + x_3 - 1} 37.09/10.41 POL( s_1(x_1) ) = x_1 + 2 37.09/10.41 POL( U48_ga_3(x_1, ..., x_3) ) = x_1 + x_2 + 2 37.09/10.41 POL( isNatcD_in_g_1(x_1) ) = max{0, -2} 37.09/10.41 POL( U51_ga_2(x_1, x_2) ) = x_1 + 2 37.09/10.41 POL( U53_ga_3(x_1, ..., x_3) ) = x_2 + x_3 37.09/10.41 POL( U55_ga_3(x_1, ..., x_3) ) = x_1 + x_2 37.09/10.41 POL( U54_ga_3(x_1, ..., x_3) ) = x_3 + 1 37.09/10.41 POL( qcB_in_gaga_2(x_1, x_2) ) = x_1 + x_2 37.09/10.41 POL( qcB_out_gaga_4(x_1, ..., x_4) ) = x_4 + 1 37.09/10.41 POL( U59_gaga_3(x_1, ..., x_3) ) = max{0, x_2 + x_3 - 2} 37.09/10.41 POL( U60_gaga_4(x_1, ..., x_4) ) = max{0, x_4 - 1} 37.09/10.41 POL( U47_ga_3(x_1, ..., x_3) ) = x_3 + 1 37.09/10.41 POL( U43_ga_4(x_1, ..., x_4) ) = x_4 + 1 37.09/10.41 POL( U40_ga_4(x_1, ..., x_4) ) = x_4 + 2 37.09/10.41 POL( U49_ga_3(x_1, ..., x_3) ) = x_1 + x_2 + 2 37.09/10.41 POL( U52_ga_2(x_1, x_2) ) = x_1 + 2 37.09/10.41 POL( U56_ga_3(x_1, ..., x_3) ) = x_1 + x_2 37.09/10.41 POL( U58_g_2(x_1, x_2) ) = 0 37.09/10.41 POL( isNatcD_out_g_1(x_1) ) = max{0, -2} 37.09/10.41 POL( U50_ga_3(x_1, ..., x_3) ) = x_3 + 2 37.09/10.41 POL( addcF_in_gga_2(x_1, x_2) ) = x_1 + x_2 37.09/10.41 POL( U57_ga_3(x_1, ..., x_3) ) = x_3 37.09/10.41 POL( U62_gga_3(x_1, ..., x_3) ) = x_3 + 2 37.09/10.41 POL( addcF_out_gga_3(x_1, ..., x_3) ) = x_3 + 2 37.09/10.41 POL( S2A_IN_GA_1(x_1) ) = 2x_1 + 2 37.09/10.41 POL( PB_IN_GAGA_2(x_1, x_2) ) = 2x_1 + 2x_2 + 2 37.09/10.41 37.09/10.41 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 37.09/10.42 37.09/10.42 s2cA_in_ga(plus(X1, plus(X2, plus(X3, X4)))) -> U37_ga(X1, X2, X3, X4, s2cA_in_ga(plus(plus(plus(X1, X2), X3), X4))) 37.09/10.42 s2cA_in_ga(plus(X1, plus(X2, X3))) -> U38_ga(X1, X2, X3, s2cA_in_ga(plus(X3, plus(X1, X2)))) 37.09/10.42 s2cA_in_ga(plus(X1, plus(X2, 0))) -> s2cA_out_ga(plus(X1, plus(X2, 0)), plus(X1, X2)) 37.09/10.42 s2cA_in_ga(plus(X1, plus(X2, X3))) -> U39_ga(X1, X2, X3, s2cA_in_ga(plus(X1, X2))) 37.09/10.42 s2cA_in_ga(plus(X1, plus(X2, X3))) -> U41_ga(X1, X2, X3, s2cA_in_ga(plus(plus(X2, X3), X1))) 37.09/10.42 s2cA_in_ga(plus(X1, plus(X2, X3))) -> U42_ga(X1, X2, X3, s2cA_in_ga(X1)) 37.09/10.42 s2cA_in_ga(plus(plus(X1, X2), X3)) -> U44_ga(X1, X2, X3, s2cA_in_ga(plus(plus(X3, X1), X2))) 37.09/10.42 s2cA_in_ga(plus(X1, X2)) -> U45_ga(X1, X2, s2cA_in_ga(plus(X1, X2))) 37.09/10.42 s2cA_in_ga(plus(0, X1)) -> s2cA_out_ga(plus(0, X1), X1) 37.09/10.42 s2cA_in_ga(plus(X1, X2)) -> U46_ga(X1, X2, s2cA_in_ga(X2)) 37.09/10.42 s2cA_in_ga(plus(X1, s(X2))) -> U48_ga(X1, X2, isNatcD_in_g(s(X2))) 37.09/10.42 s2cA_in_ga(plus(X1, 0)) -> U51_ga(X1, isNatcD_in_g(0)) 37.09/10.42 s2cA_in_ga(plus(X1, 0)) -> s2cA_out_ga(plus(X1, 0), X1) 37.09/10.42 s2cA_in_ga(plus(X1, X2)) -> U53_ga(X1, X2, s2cA_in_ga(X1)) 37.09/10.42 s2cA_in_ga(plus(X1, X2)) -> U55_ga(X1, X2, isNatcD_in_g(X1)) 37.09/10.42 U38_ga(X1, X2, X3, s2cA_out_ga(plus(X3, plus(X1, X2)), X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.42 U37_ga(X1, X2, X3, X4, s2cA_out_ga(plus(plus(plus(X1, X2), X3), X4), X5)) -> s2cA_out_ga(plus(X1, plus(X2, plus(X3, X4))), X5) 37.09/10.42 U41_ga(X1, X2, X3, s2cA_out_ga(plus(plus(X2, X3), X1), X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.42 U44_ga(X1, X2, X3, s2cA_out_ga(plus(plus(X3, X1), X2), X4)) -> s2cA_out_ga(plus(plus(X1, X2), X3), X4) 37.09/10.42 U45_ga(X1, X2, s2cA_out_ga(plus(X1, X2), X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.42 U53_ga(X1, X2, s2cA_out_ga(X1, X4)) -> U54_ga(X1, X2, qcB_in_gaga(X2, X4)) 37.09/10.42 U54_ga(X1, X2, qcB_out_gaga(X2, X5, X4, X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.42 qcB_in_gaga(X1, X3) -> U59_gaga(X1, X3, s2cA_in_ga(X1)) 37.09/10.42 U59_gaga(X1, X3, s2cA_out_ga(X1, X2)) -> U60_gaga(X1, X2, X3, s2cA_in_ga(plus(X3, X2))) 37.09/10.42 U60_gaga(X1, X2, X3, s2cA_out_ga(plus(X3, X2), X4)) -> qcB_out_gaga(X1, X2, X3, X4) 37.09/10.42 U46_ga(X1, X2, s2cA_out_ga(X2, X4)) -> U47_ga(X1, X2, qcB_in_gaga(X1, X4)) 37.09/10.42 U47_ga(X1, X2, qcB_out_gaga(X1, X5, X4, X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.42 U42_ga(X1, X2, X3, s2cA_out_ga(X1, X5)) -> U43_ga(X1, X2, X3, qcB_in_gaga(plus(X2, X3), X5)) 37.09/10.42 U43_ga(X1, X2, X3, qcB_out_gaga(plus(X2, X3), X6, X5, X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.42 U39_ga(X1, X2, X3, s2cA_out_ga(plus(X1, X2), X5)) -> U40_ga(X1, X2, X3, qcB_in_gaga(X3, X5)) 37.09/10.42 U40_ga(X1, X2, X3, qcB_out_gaga(X3, X6, X5, X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.42 U48_ga(X1, X2, isNatcD_out_g(s(X2))) -> U49_ga(X1, X2, isNatcD_in_g(X1)) 37.09/10.42 U49_ga(X1, X2, isNatcD_out_g(X1)) -> U50_ga(X1, X2, addcF_in_gga(X2, X1)) 37.09/10.42 U51_ga(X1, isNatcD_out_g(0)) -> U52_ga(X1, isNatcD_in_g(X1)) 37.09/10.42 U52_ga(X1, isNatcD_out_g(X1)) -> s2cA_out_ga(plus(X1, 0), X1) 37.09/10.42 U55_ga(X1, X2, isNatcD_out_g(X1)) -> U56_ga(X1, X2, isNatcD_in_g(X2)) 37.09/10.42 U56_ga(X1, X2, isNatcD_out_g(X2)) -> U57_ga(X1, X2, addcF_in_gga(X1, X2)) 37.09/10.42 addcF_in_gga(s(X1), X2) -> U62_gga(X1, X2, addcF_in_gga(X1, X2)) 37.09/10.42 addcF_in_gga(0, X1) -> addcF_out_gga(0, X1, X1) 37.09/10.42 U50_ga(X1, X2, addcF_out_gga(X2, X1, X3)) -> s2cA_out_ga(plus(X1, s(X2)), s(X3)) 37.09/10.42 U57_ga(X1, X2, addcF_out_gga(X1, X2, X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.42 U62_gga(X1, X2, addcF_out_gga(X1, X2, X3)) -> addcF_out_gga(s(X1), X2, s(X3)) 37.09/10.42 37.09/10.42 37.09/10.42 ---------------------------------------- 37.09/10.42 37.09/10.42 (155) 37.09/10.42 Obligation: 37.09/10.42 Q DP problem: 37.09/10.42 The TRS P consists of the following rules: 37.09/10.42 37.09/10.42 S2A_IN_GA(plus(X1, plus(X2, X3))) -> S2A_IN_GA(plus(X3, plus(X1, X2))) 37.09/10.42 S2A_IN_GA(plus(X1, plus(X2, plus(X3, X4)))) -> S2A_IN_GA(plus(plus(plus(X1, X2), X3), X4)) 37.09/10.42 PB_IN_GAGA(X1, X3) -> S2A_IN_GA(X1) 37.09/10.42 S2A_IN_GA(plus(X1, plus(X2, X3))) -> S2A_IN_GA(plus(plus(X2, X3), X1)) 37.09/10.42 U14_GA(X1, X2, X3, s2cA_out_ga(X1, X5)) -> PB_IN_GAGA(plus(X2, X3), X5) 37.09/10.42 PB_IN_GAGA(X1, X3) -> U3_GAGA(X1, X3, s2cA_in_ga(X1)) 37.09/10.42 S2A_IN_GA(plus(plus(X1, X2), X3)) -> S2A_IN_GA(plus(plus(X3, X1), X2)) 37.09/10.42 S2A_IN_GA(plus(X1, X2)) -> S2A_IN_GA(plus(X1, X2)) 37.09/10.42 37.09/10.42 The TRS R consists of the following rules: 37.09/10.42 37.09/10.42 s2cA_in_ga(plus(X1, plus(X2, plus(X3, X4)))) -> U37_ga(X1, X2, X3, X4, s2cA_in_ga(plus(plus(plus(X1, X2), X3), X4))) 37.09/10.42 s2cA_in_ga(plus(X1, plus(X2, X3))) -> U38_ga(X1, X2, X3, s2cA_in_ga(plus(X3, plus(X1, X2)))) 37.09/10.42 s2cA_in_ga(plus(X1, plus(X2, 0))) -> s2cA_out_ga(plus(X1, plus(X2, 0)), plus(X1, X2)) 37.09/10.42 s2cA_in_ga(plus(X1, plus(X2, X3))) -> U39_ga(X1, X2, X3, s2cA_in_ga(plus(X1, X2))) 37.09/10.42 s2cA_in_ga(plus(X1, plus(X2, X3))) -> U41_ga(X1, X2, X3, s2cA_in_ga(plus(plus(X2, X3), X1))) 37.09/10.42 s2cA_in_ga(plus(X1, plus(X2, X3))) -> U42_ga(X1, X2, X3, s2cA_in_ga(X1)) 37.09/10.42 s2cA_in_ga(plus(plus(X1, X2), X3)) -> U44_ga(X1, X2, X3, s2cA_in_ga(plus(plus(X3, X1), X2))) 37.09/10.42 s2cA_in_ga(plus(X1, X2)) -> U45_ga(X1, X2, s2cA_in_ga(plus(X1, X2))) 37.09/10.42 s2cA_in_ga(plus(0, X1)) -> s2cA_out_ga(plus(0, X1), X1) 37.09/10.42 s2cA_in_ga(plus(X1, X2)) -> U46_ga(X1, X2, s2cA_in_ga(X2)) 37.09/10.42 s2cA_in_ga(plus(X1, s(X2))) -> U48_ga(X1, X2, isNatcD_in_g(s(X2))) 37.09/10.42 isNatcD_in_g(s(X1)) -> U58_g(X1, isNatcD_in_g(X1)) 37.09/10.42 isNatcD_in_g(0) -> isNatcD_out_g(0) 37.09/10.42 U58_g(X1, isNatcD_out_g(X1)) -> isNatcD_out_g(s(X1)) 37.09/10.42 U48_ga(X1, X2, isNatcD_out_g(s(X2))) -> U49_ga(X1, X2, isNatcD_in_g(X1)) 37.09/10.42 U49_ga(X1, X2, isNatcD_out_g(X1)) -> U50_ga(X1, X2, addcF_in_gga(X2, X1)) 37.09/10.42 addcF_in_gga(s(X1), X2) -> U62_gga(X1, X2, addcF_in_gga(X1, X2)) 37.09/10.42 addcF_in_gga(0, X1) -> addcF_out_gga(0, X1, X1) 37.09/10.42 U62_gga(X1, X2, addcF_out_gga(X1, X2, X3)) -> addcF_out_gga(s(X1), X2, s(X3)) 37.09/10.42 U50_ga(X1, X2, addcF_out_gga(X2, X1, X3)) -> s2cA_out_ga(plus(X1, s(X2)), s(X3)) 37.09/10.42 s2cA_in_ga(plus(X1, 0)) -> U51_ga(X1, isNatcD_in_g(0)) 37.09/10.42 U51_ga(X1, isNatcD_out_g(0)) -> U52_ga(X1, isNatcD_in_g(X1)) 37.09/10.42 U52_ga(X1, isNatcD_out_g(X1)) -> s2cA_out_ga(plus(X1, 0), X1) 37.09/10.42 s2cA_in_ga(plus(X1, 0)) -> s2cA_out_ga(plus(X1, 0), X1) 37.09/10.42 s2cA_in_ga(plus(X1, X2)) -> U53_ga(X1, X2, s2cA_in_ga(X1)) 37.09/10.42 s2cA_in_ga(plus(X1, X2)) -> U55_ga(X1, X2, isNatcD_in_g(X1)) 37.09/10.42 U55_ga(X1, X2, isNatcD_out_g(X1)) -> U56_ga(X1, X2, isNatcD_in_g(X2)) 37.09/10.42 U56_ga(X1, X2, isNatcD_out_g(X2)) -> U57_ga(X1, X2, addcF_in_gga(X1, X2)) 37.09/10.42 U57_ga(X1, X2, addcF_out_gga(X1, X2, X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.42 U53_ga(X1, X2, s2cA_out_ga(X1, X4)) -> U54_ga(X1, X2, qcB_in_gaga(X2, X4)) 37.09/10.42 qcB_in_gaga(X1, X3) -> U59_gaga(X1, X3, s2cA_in_ga(X1)) 37.09/10.42 U59_gaga(X1, X3, s2cA_out_ga(X1, X2)) -> U60_gaga(X1, X2, X3, s2cA_in_ga(plus(X3, X2))) 37.09/10.42 U60_gaga(X1, X2, X3, s2cA_out_ga(plus(X3, X2), X4)) -> qcB_out_gaga(X1, X2, X3, X4) 37.09/10.42 U54_ga(X1, X2, qcB_out_gaga(X2, X5, X4, X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.42 U46_ga(X1, X2, s2cA_out_ga(X2, X4)) -> U47_ga(X1, X2, qcB_in_gaga(X1, X4)) 37.09/10.42 U47_ga(X1, X2, qcB_out_gaga(X1, X5, X4, X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.42 U45_ga(X1, X2, s2cA_out_ga(plus(X1, X2), X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.42 U44_ga(X1, X2, X3, s2cA_out_ga(plus(plus(X3, X1), X2), X4)) -> s2cA_out_ga(plus(plus(X1, X2), X3), X4) 37.09/10.42 U42_ga(X1, X2, X3, s2cA_out_ga(X1, X5)) -> U43_ga(X1, X2, X3, qcB_in_gaga(plus(X2, X3), X5)) 37.09/10.42 U43_ga(X1, X2, X3, qcB_out_gaga(plus(X2, X3), X6, X5, X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.42 U41_ga(X1, X2, X3, s2cA_out_ga(plus(plus(X2, X3), X1), X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.42 U39_ga(X1, X2, X3, s2cA_out_ga(plus(X1, X2), X5)) -> U40_ga(X1, X2, X3, qcB_in_gaga(X3, X5)) 37.09/10.42 U40_ga(X1, X2, X3, qcB_out_gaga(X3, X6, X5, X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.42 U38_ga(X1, X2, X3, s2cA_out_ga(plus(X3, plus(X1, X2)), X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.42 U37_ga(X1, X2, X3, X4, s2cA_out_ga(plus(plus(plus(X1, X2), X3), X4), X5)) -> s2cA_out_ga(plus(X1, plus(X2, plus(X3, X4))), X5) 37.09/10.42 37.09/10.42 The set Q consists of the following terms: 37.09/10.42 37.09/10.42 s2cA_in_ga(x0) 37.09/10.42 isNatcD_in_g(x0) 37.09/10.42 U58_g(x0, x1) 37.09/10.42 U48_ga(x0, x1, x2) 37.09/10.42 U49_ga(x0, x1, x2) 37.09/10.42 addcF_in_gga(x0, x1) 37.09/10.42 U62_gga(x0, x1, x2) 37.09/10.42 U50_ga(x0, x1, x2) 37.09/10.42 U51_ga(x0, x1) 37.09/10.42 U52_ga(x0, x1) 37.09/10.42 U55_ga(x0, x1, x2) 37.09/10.42 U56_ga(x0, x1, x2) 37.09/10.42 U57_ga(x0, x1, x2) 37.09/10.42 U53_ga(x0, x1, x2) 37.09/10.42 qcB_in_gaga(x0, x1) 37.09/10.42 U59_gaga(x0, x1, x2) 37.09/10.42 U60_gaga(x0, x1, x2, x3) 37.09/10.42 U54_ga(x0, x1, x2) 37.09/10.42 U46_ga(x0, x1, x2) 37.09/10.42 U47_ga(x0, x1, x2) 37.09/10.42 U45_ga(x0, x1, x2) 37.09/10.42 U44_ga(x0, x1, x2, x3) 37.09/10.42 U42_ga(x0, x1, x2, x3) 37.09/10.42 U43_ga(x0, x1, x2, x3) 37.09/10.42 U41_ga(x0, x1, x2, x3) 37.09/10.42 U39_ga(x0, x1, x2, x3) 37.09/10.42 U40_ga(x0, x1, x2, x3) 37.09/10.42 U38_ga(x0, x1, x2, x3) 37.09/10.42 U37_ga(x0, x1, x2, x3, x4) 37.09/10.42 37.09/10.42 We have to consider all (P,Q,R)-chains. 37.09/10.42 ---------------------------------------- 37.09/10.42 37.09/10.42 (156) DependencyGraphProof (EQUIVALENT) 37.09/10.42 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. 37.09/10.42 ---------------------------------------- 37.09/10.42 37.09/10.42 (157) 37.09/10.42 Obligation: 37.09/10.42 Q DP problem: 37.09/10.42 The TRS P consists of the following rules: 37.09/10.42 37.09/10.42 S2A_IN_GA(plus(X1, plus(X2, plus(X3, X4)))) -> S2A_IN_GA(plus(plus(plus(X1, X2), X3), X4)) 37.09/10.42 S2A_IN_GA(plus(X1, plus(X2, X3))) -> S2A_IN_GA(plus(X3, plus(X1, X2))) 37.09/10.42 S2A_IN_GA(plus(X1, plus(X2, X3))) -> S2A_IN_GA(plus(plus(X2, X3), X1)) 37.09/10.42 S2A_IN_GA(plus(plus(X1, X2), X3)) -> S2A_IN_GA(plus(plus(X3, X1), X2)) 37.09/10.42 S2A_IN_GA(plus(X1, X2)) -> S2A_IN_GA(plus(X1, X2)) 37.09/10.42 37.09/10.42 The TRS R consists of the following rules: 37.09/10.42 37.09/10.42 s2cA_in_ga(plus(X1, plus(X2, plus(X3, X4)))) -> U37_ga(X1, X2, X3, X4, s2cA_in_ga(plus(plus(plus(X1, X2), X3), X4))) 37.09/10.42 s2cA_in_ga(plus(X1, plus(X2, X3))) -> U38_ga(X1, X2, X3, s2cA_in_ga(plus(X3, plus(X1, X2)))) 37.09/10.42 s2cA_in_ga(plus(X1, plus(X2, 0))) -> s2cA_out_ga(plus(X1, plus(X2, 0)), plus(X1, X2)) 37.09/10.42 s2cA_in_ga(plus(X1, plus(X2, X3))) -> U39_ga(X1, X2, X3, s2cA_in_ga(plus(X1, X2))) 37.09/10.42 s2cA_in_ga(plus(X1, plus(X2, X3))) -> U41_ga(X1, X2, X3, s2cA_in_ga(plus(plus(X2, X3), X1))) 37.09/10.42 s2cA_in_ga(plus(X1, plus(X2, X3))) -> U42_ga(X1, X2, X3, s2cA_in_ga(X1)) 37.09/10.42 s2cA_in_ga(plus(plus(X1, X2), X3)) -> U44_ga(X1, X2, X3, s2cA_in_ga(plus(plus(X3, X1), X2))) 37.09/10.42 s2cA_in_ga(plus(X1, X2)) -> U45_ga(X1, X2, s2cA_in_ga(plus(X1, X2))) 37.09/10.42 s2cA_in_ga(plus(0, X1)) -> s2cA_out_ga(plus(0, X1), X1) 37.09/10.42 s2cA_in_ga(plus(X1, X2)) -> U46_ga(X1, X2, s2cA_in_ga(X2)) 37.09/10.42 s2cA_in_ga(plus(X1, s(X2))) -> U48_ga(X1, X2, isNatcD_in_g(s(X2))) 37.09/10.42 isNatcD_in_g(s(X1)) -> U58_g(X1, isNatcD_in_g(X1)) 37.09/10.42 isNatcD_in_g(0) -> isNatcD_out_g(0) 37.09/10.42 U58_g(X1, isNatcD_out_g(X1)) -> isNatcD_out_g(s(X1)) 37.09/10.42 U48_ga(X1, X2, isNatcD_out_g(s(X2))) -> U49_ga(X1, X2, isNatcD_in_g(X1)) 37.09/10.42 U49_ga(X1, X2, isNatcD_out_g(X1)) -> U50_ga(X1, X2, addcF_in_gga(X2, X1)) 37.09/10.42 addcF_in_gga(s(X1), X2) -> U62_gga(X1, X2, addcF_in_gga(X1, X2)) 37.09/10.42 addcF_in_gga(0, X1) -> addcF_out_gga(0, X1, X1) 37.09/10.42 U62_gga(X1, X2, addcF_out_gga(X1, X2, X3)) -> addcF_out_gga(s(X1), X2, s(X3)) 37.09/10.42 U50_ga(X1, X2, addcF_out_gga(X2, X1, X3)) -> s2cA_out_ga(plus(X1, s(X2)), s(X3)) 37.09/10.42 s2cA_in_ga(plus(X1, 0)) -> U51_ga(X1, isNatcD_in_g(0)) 37.09/10.42 U51_ga(X1, isNatcD_out_g(0)) -> U52_ga(X1, isNatcD_in_g(X1)) 37.09/10.42 U52_ga(X1, isNatcD_out_g(X1)) -> s2cA_out_ga(plus(X1, 0), X1) 37.09/10.42 s2cA_in_ga(plus(X1, 0)) -> s2cA_out_ga(plus(X1, 0), X1) 37.09/10.42 s2cA_in_ga(plus(X1, X2)) -> U53_ga(X1, X2, s2cA_in_ga(X1)) 37.09/10.42 s2cA_in_ga(plus(X1, X2)) -> U55_ga(X1, X2, isNatcD_in_g(X1)) 37.09/10.42 U55_ga(X1, X2, isNatcD_out_g(X1)) -> U56_ga(X1, X2, isNatcD_in_g(X2)) 37.09/10.42 U56_ga(X1, X2, isNatcD_out_g(X2)) -> U57_ga(X1, X2, addcF_in_gga(X1, X2)) 37.09/10.42 U57_ga(X1, X2, addcF_out_gga(X1, X2, X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.42 U53_ga(X1, X2, s2cA_out_ga(X1, X4)) -> U54_ga(X1, X2, qcB_in_gaga(X2, X4)) 37.09/10.42 qcB_in_gaga(X1, X3) -> U59_gaga(X1, X3, s2cA_in_ga(X1)) 37.09/10.42 U59_gaga(X1, X3, s2cA_out_ga(X1, X2)) -> U60_gaga(X1, X2, X3, s2cA_in_ga(plus(X3, X2))) 37.09/10.42 U60_gaga(X1, X2, X3, s2cA_out_ga(plus(X3, X2), X4)) -> qcB_out_gaga(X1, X2, X3, X4) 37.09/10.42 U54_ga(X1, X2, qcB_out_gaga(X2, X5, X4, X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.42 U46_ga(X1, X2, s2cA_out_ga(X2, X4)) -> U47_ga(X1, X2, qcB_in_gaga(X1, X4)) 37.09/10.42 U47_ga(X1, X2, qcB_out_gaga(X1, X5, X4, X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.42 U45_ga(X1, X2, s2cA_out_ga(plus(X1, X2), X3)) -> s2cA_out_ga(plus(X1, X2), X3) 37.09/10.42 U44_ga(X1, X2, X3, s2cA_out_ga(plus(plus(X3, X1), X2), X4)) -> s2cA_out_ga(plus(plus(X1, X2), X3), X4) 37.09/10.42 U42_ga(X1, X2, X3, s2cA_out_ga(X1, X5)) -> U43_ga(X1, X2, X3, qcB_in_gaga(plus(X2, X3), X5)) 37.09/10.42 U43_ga(X1, X2, X3, qcB_out_gaga(plus(X2, X3), X6, X5, X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.42 U41_ga(X1, X2, X3, s2cA_out_ga(plus(plus(X2, X3), X1), X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.42 U39_ga(X1, X2, X3, s2cA_out_ga(plus(X1, X2), X5)) -> U40_ga(X1, X2, X3, qcB_in_gaga(X3, X5)) 37.09/10.42 U40_ga(X1, X2, X3, qcB_out_gaga(X3, X6, X5, X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.42 U38_ga(X1, X2, X3, s2cA_out_ga(plus(X3, plus(X1, X2)), X4)) -> s2cA_out_ga(plus(X1, plus(X2, X3)), X4) 37.09/10.42 U37_ga(X1, X2, X3, X4, s2cA_out_ga(plus(plus(plus(X1, X2), X3), X4), X5)) -> s2cA_out_ga(plus(X1, plus(X2, plus(X3, X4))), X5) 37.09/10.42 37.09/10.42 The set Q consists of the following terms: 37.09/10.42 37.09/10.42 s2cA_in_ga(x0) 37.09/10.42 isNatcD_in_g(x0) 37.09/10.42 U58_g(x0, x1) 37.09/10.42 U48_ga(x0, x1, x2) 37.09/10.42 U49_ga(x0, x1, x2) 37.09/10.42 addcF_in_gga(x0, x1) 37.09/10.42 U62_gga(x0, x1, x2) 37.09/10.42 U50_ga(x0, x1, x2) 37.09/10.42 U51_ga(x0, x1) 37.09/10.42 U52_ga(x0, x1) 37.09/10.42 U55_ga(x0, x1, x2) 37.09/10.42 U56_ga(x0, x1, x2) 37.09/10.42 U57_ga(x0, x1, x2) 37.09/10.42 U53_ga(x0, x1, x2) 37.09/10.42 qcB_in_gaga(x0, x1) 37.09/10.42 U59_gaga(x0, x1, x2) 37.09/10.42 U60_gaga(x0, x1, x2, x3) 37.09/10.42 U54_ga(x0, x1, x2) 37.09/10.42 U46_ga(x0, x1, x2) 37.09/10.42 U47_ga(x0, x1, x2) 37.09/10.42 U45_ga(x0, x1, x2) 37.09/10.42 U44_ga(x0, x1, x2, x3) 37.09/10.42 U42_ga(x0, x1, x2, x3) 37.09/10.42 U43_ga(x0, x1, x2, x3) 37.09/10.42 U41_ga(x0, x1, x2, x3) 37.09/10.42 U39_ga(x0, x1, x2, x3) 37.09/10.42 U40_ga(x0, x1, x2, x3) 37.09/10.42 U38_ga(x0, x1, x2, x3) 37.09/10.42 U37_ga(x0, x1, x2, x3, x4) 37.09/10.42 37.09/10.42 We have to consider all (P,Q,R)-chains. 37.09/10.42 ---------------------------------------- 37.09/10.42 37.09/10.42 (158) UsableRulesProof (EQUIVALENT) 37.09/10.42 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. 37.09/10.42 ---------------------------------------- 37.09/10.42 37.09/10.42 (159) 37.09/10.42 Obligation: 37.09/10.42 Q DP problem: 37.09/10.42 The TRS P consists of the following rules: 37.09/10.42 37.09/10.42 S2A_IN_GA(plus(X1, plus(X2, plus(X3, X4)))) -> S2A_IN_GA(plus(plus(plus(X1, X2), X3), X4)) 37.09/10.42 S2A_IN_GA(plus(X1, plus(X2, X3))) -> S2A_IN_GA(plus(X3, plus(X1, X2))) 37.09/10.42 S2A_IN_GA(plus(X1, plus(X2, X3))) -> S2A_IN_GA(plus(plus(X2, X3), X1)) 37.09/10.42 S2A_IN_GA(plus(plus(X1, X2), X3)) -> S2A_IN_GA(plus(plus(X3, X1), X2)) 37.09/10.42 S2A_IN_GA(plus(X1, X2)) -> S2A_IN_GA(plus(X1, X2)) 37.09/10.42 37.09/10.42 R is empty. 37.09/10.42 The set Q consists of the following terms: 37.09/10.42 37.09/10.42 s2cA_in_ga(x0) 37.09/10.42 isNatcD_in_g(x0) 37.09/10.42 U58_g(x0, x1) 37.09/10.42 U48_ga(x0, x1, x2) 37.09/10.42 U49_ga(x0, x1, x2) 37.09/10.42 addcF_in_gga(x0, x1) 37.09/10.42 U62_gga(x0, x1, x2) 37.09/10.42 U50_ga(x0, x1, x2) 37.09/10.42 U51_ga(x0, x1) 37.09/10.42 U52_ga(x0, x1) 37.09/10.42 U55_ga(x0, x1, x2) 37.09/10.42 U56_ga(x0, x1, x2) 37.09/10.42 U57_ga(x0, x1, x2) 37.09/10.42 U53_ga(x0, x1, x2) 37.09/10.42 qcB_in_gaga(x0, x1) 37.09/10.42 U59_gaga(x0, x1, x2) 37.09/10.42 U60_gaga(x0, x1, x2, x3) 37.09/10.42 U54_ga(x0, x1, x2) 37.09/10.42 U46_ga(x0, x1, x2) 37.09/10.42 U47_ga(x0, x1, x2) 37.09/10.42 U45_ga(x0, x1, x2) 37.09/10.42 U44_ga(x0, x1, x2, x3) 37.09/10.42 U42_ga(x0, x1, x2, x3) 37.09/10.42 U43_ga(x0, x1, x2, x3) 37.09/10.42 U41_ga(x0, x1, x2, x3) 37.09/10.42 U39_ga(x0, x1, x2, x3) 37.09/10.42 U40_ga(x0, x1, x2, x3) 37.09/10.42 U38_ga(x0, x1, x2, x3) 37.09/10.42 U37_ga(x0, x1, x2, x3, x4) 37.09/10.42 37.09/10.42 We have to consider all (P,Q,R)-chains. 37.09/10.42 ---------------------------------------- 37.09/10.42 37.09/10.42 (160) QReductionProof (EQUIVALENT) 37.09/10.42 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 37.09/10.42 37.09/10.42 s2cA_in_ga(x0) 37.09/10.42 isNatcD_in_g(x0) 37.09/10.42 U58_g(x0, x1) 37.09/10.42 U48_ga(x0, x1, x2) 37.09/10.42 U49_ga(x0, x1, x2) 37.09/10.42 addcF_in_gga(x0, x1) 37.09/10.42 U62_gga(x0, x1, x2) 37.09/10.42 U50_ga(x0, x1, x2) 37.09/10.42 U51_ga(x0, x1) 37.09/10.42 U52_ga(x0, x1) 37.09/10.42 U55_ga(x0, x1, x2) 37.09/10.42 U56_ga(x0, x1, x2) 37.09/10.42 U57_ga(x0, x1, x2) 37.09/10.42 U53_ga(x0, x1, x2) 37.09/10.42 qcB_in_gaga(x0, x1) 37.09/10.42 U59_gaga(x0, x1, x2) 37.09/10.42 U60_gaga(x0, x1, x2, x3) 37.09/10.42 U54_ga(x0, x1, x2) 37.09/10.42 U46_ga(x0, x1, x2) 37.09/10.42 U47_ga(x0, x1, x2) 37.09/10.42 U45_ga(x0, x1, x2) 37.09/10.42 U44_ga(x0, x1, x2, x3) 37.09/10.42 U42_ga(x0, x1, x2, x3) 37.09/10.42 U43_ga(x0, x1, x2, x3) 37.09/10.42 U41_ga(x0, x1, x2, x3) 37.09/10.42 U39_ga(x0, x1, x2, x3) 37.09/10.42 U40_ga(x0, x1, x2, x3) 37.09/10.42 U38_ga(x0, x1, x2, x3) 37.09/10.42 U37_ga(x0, x1, x2, x3, x4) 37.09/10.42 37.09/10.42 37.09/10.42 ---------------------------------------- 37.09/10.42 37.09/10.42 (161) 37.09/10.42 Obligation: 37.09/10.42 Q DP problem: 37.09/10.42 The TRS P consists of the following rules: 37.09/10.42 37.09/10.42 S2A_IN_GA(plus(X1, plus(X2, plus(X3, X4)))) -> S2A_IN_GA(plus(plus(plus(X1, X2), X3), X4)) 37.09/10.42 S2A_IN_GA(plus(X1, plus(X2, X3))) -> S2A_IN_GA(plus(X3, plus(X1, X2))) 37.09/10.42 S2A_IN_GA(plus(X1, plus(X2, X3))) -> S2A_IN_GA(plus(plus(X2, X3), X1)) 37.09/10.42 S2A_IN_GA(plus(plus(X1, X2), X3)) -> S2A_IN_GA(plus(plus(X3, X1), X2)) 37.09/10.42 S2A_IN_GA(plus(X1, X2)) -> S2A_IN_GA(plus(X1, X2)) 37.09/10.42 37.09/10.42 R is empty. 37.09/10.42 Q is empty. 37.09/10.42 We have to consider all (P,Q,R)-chains. 37.38/10.50 EOF