6.32/2.50 YES 7.02/6.63 proof of /export/starexec/sandbox/benchmark/theBenchmark.pl 7.02/6.63 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 7.02/6.63 7.02/6.63 7.02/6.63 Left Termination of the query pattern 7.02/6.63 7.02/6.63 myis(a,g) 7.02/6.63 7.02/6.63 w.r.t. the given Prolog program could successfully be proven: 7.02/6.63 7.02/6.63 (0) Prolog 7.02/6.63 (1) PrologToPiTRSProof [SOUND, 12 ms] 7.02/6.63 (2) PiTRS 7.02/6.63 (3) DependencyPairsProof [EQUIVALENT, 33 ms] 7.02/6.63 (4) PiDP 7.02/6.63 (5) DependencyGraphProof [EQUIVALENT, 0 ms] 7.02/6.63 (6) AND 7.02/6.63 (7) PiDP 7.02/6.63 (8) UsableRulesProof [EQUIVALENT, 0 ms] 7.02/6.63 (9) PiDP 7.02/6.63 (10) PiDPToQDPProof [SOUND, 4 ms] 7.02/6.63 (11) QDP 7.02/6.63 (12) QDPSizeChangeProof [EQUIVALENT, 0 ms] 7.02/6.63 (13) YES 7.02/6.63 (14) PiDP 7.02/6.63 (15) UsableRulesProof [EQUIVALENT, 0 ms] 7.02/6.63 (16) PiDP 7.02/6.63 (17) PiDPToQDPProof [SOUND, 0 ms] 7.02/6.63 (18) QDP 7.02/6.63 (19) QDPSizeChangeProof [EQUIVALENT, 0 ms] 7.02/6.63 (20) YES 7.02/6.63 (21) PiDP 7.02/6.63 (22) UsableRulesProof [EQUIVALENT, 0 ms] 7.02/6.63 (23) PiDP 7.02/6.63 (24) PiDPToQDPProof [SOUND, 0 ms] 7.02/6.63 (25) QDP 7.02/6.63 (26) QDPSizeChangeProof [EQUIVALENT, 0 ms] 7.07/7.07 (27) YES 7.07/7.07 (28) PiDP 7.07/7.07 (29) UsableRulesProof [EQUIVALENT, 0 ms] 7.07/7.07 (30) PiDP 7.07/7.07 (31) PiDPToQDPProof [EQUIVALENT, 0 ms] 7.07/7.07 (32) QDP 7.07/7.07 (33) QDPSizeChangeProof [EQUIVALENT, 0 ms] 7.07/7.07 (34) YES 7.07/7.07 (35) PiDP 7.07/7.07 (36) UsableRulesProof [EQUIVALENT, 0 ms] 7.07/7.07 (37) PiDP 7.07/7.07 (38) PiDPToQDPProof [SOUND, 0 ms] 7.07/7.07 (39) QDP 7.07/7.07 (40) QDPSizeChangeProof [EQUIVALENT, 0 ms] 7.07/7.07 (41) YES 7.07/7.07 7.07/7.07 7.07/7.07 ---------------------------------------- 7.07/7.07 7.07/7.07 (0) 7.07/7.07 Obligation: 7.07/7.07 Clauses: 7.07/7.07 7.07/7.07 myis(Z, X) :- evaluate(X, Z). 7.07/7.07 evaluate(+(X, Y), Z) :- ','(evaluate(X, X1), ','(evaluate(Y, Y1), add(X1, Y1, Z))). 7.07/7.07 evaluate(-(X, Y), Z) :- ','(evaluate(X, X1), ','(evaluate(Y, Y1), sub(X1, Y1, Z))). 7.07/7.07 evaluate(*(X, Y), Z) :- ','(evaluate(X, X1), ','(evaluate(Y, Y1), mult(X1, Y1, Z))). 7.07/7.07 evaluate(X, X) :- myinteger(X). 7.07/7.07 myinteger(s(X)) :- myinteger(X). 7.07/7.07 myinteger(0). 7.07/7.07 add(s(X), Y, s(Z)) :- add(X, Y, Z). 7.07/7.07 add(0, X, X). 7.07/7.07 sub(s(X), s(Y), Z) :- sub(X, Y, Z). 7.07/7.07 sub(X, 0, X). 7.07/7.07 mult(s(X), Y, R) :- ','(mult(X, Y, Z), add(Y, Z, R)). 7.07/7.07 mult(0, Y, 0). 7.07/7.07 notEq(s(X), s(Y)) :- notEq(X, Y). 7.07/7.07 notEq(s(X), 0). 7.07/7.07 notEq(0, s(X)). 7.07/7.07 lt(s(X), s(Y)) :- lt(X, Y). 7.07/7.07 lt(0, s(Y)). 7.07/7.07 gt(s(X), s(Y)) :- gt(X, Y). 7.07/7.07 gt(s(X), 0). 7.07/7.07 le(s(X), s(Y)) :- le(X, Y). 7.07/7.07 le(0, s(Y)). 7.07/7.07 le(0, 0). 7.07/7.07 7.07/7.07 7.07/7.07 Query: myis(a,g) 7.07/7.07 ---------------------------------------- 7.07/7.07 7.07/7.07 (1) PrologToPiTRSProof (SOUND) 7.07/7.07 We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: 7.07/7.07 7.07/7.07 myis_in_2: (f,b) 7.07/7.07 7.07/7.07 evaluate_in_2: (b,f) 7.07/7.07 7.07/7.07 myinteger_in_1: (b) 7.07/7.07 7.07/7.07 mult_in_3: (b,b,f) 7.07/7.07 7.07/7.07 add_in_3: (b,b,f) 7.07/7.07 7.07/7.07 sub_in_3: (b,b,f) 7.07/7.07 7.07/7.07 Transforming Prolog into the following Term Rewriting System: 7.07/7.07 7.07/7.07 Pi-finite rewrite system: 7.07/7.07 The TRS R consists of the following rules: 7.07/7.07 7.07/7.07 myis_in_ag(Z, X) -> U1_ag(Z, X, evaluate_in_ga(X, Z)) 7.07/7.07 evaluate_in_ga(+(X, Y), Z) -> U2_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.07 evaluate_in_ga(-(X, Y), Z) -> U5_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.07 evaluate_in_ga(*(X, Y), Z) -> U8_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.07 evaluate_in_ga(X, X) -> U11_ga(X, myinteger_in_g(X)) 7.07/7.07 myinteger_in_g(s(X)) -> U12_g(X, myinteger_in_g(X)) 7.07/7.07 myinteger_in_g(0) -> myinteger_out_g(0) 7.07/7.07 U12_g(X, myinteger_out_g(X)) -> myinteger_out_g(s(X)) 7.07/7.07 U11_ga(X, myinteger_out_g(X)) -> evaluate_out_ga(X, X) 7.07/7.07 U8_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U9_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.07 U9_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U10_ga(X, Y, Z, mult_in_gga(X1, Y1, Z)) 7.07/7.07 mult_in_gga(s(X), Y, R) -> U15_gga(X, Y, R, mult_in_gga(X, Y, Z)) 7.07/7.07 mult_in_gga(0, Y, 0) -> mult_out_gga(0, Y, 0) 7.07/7.07 U15_gga(X, Y, R, mult_out_gga(X, Y, Z)) -> U16_gga(X, Y, R, add_in_gga(Y, Z, R)) 7.07/7.07 add_in_gga(s(X), Y, s(Z)) -> U13_gga(X, Y, Z, add_in_gga(X, Y, Z)) 7.07/7.07 add_in_gga(0, X, X) -> add_out_gga(0, X, X) 7.07/7.07 U13_gga(X, Y, Z, add_out_gga(X, Y, Z)) -> add_out_gga(s(X), Y, s(Z)) 7.07/7.07 U16_gga(X, Y, R, add_out_gga(Y, Z, R)) -> mult_out_gga(s(X), Y, R) 7.07/7.07 U10_ga(X, Y, Z, mult_out_gga(X1, Y1, Z)) -> evaluate_out_ga(*(X, Y), Z) 7.07/7.07 U5_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U6_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.07 U6_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U7_ga(X, Y, Z, sub_in_gga(X1, Y1, Z)) 7.07/7.07 sub_in_gga(s(X), s(Y), Z) -> U14_gga(X, Y, Z, sub_in_gga(X, Y, Z)) 7.07/7.07 sub_in_gga(X, 0, X) -> sub_out_gga(X, 0, X) 7.07/7.07 U14_gga(X, Y, Z, sub_out_gga(X, Y, Z)) -> sub_out_gga(s(X), s(Y), Z) 7.07/7.07 U7_ga(X, Y, Z, sub_out_gga(X1, Y1, Z)) -> evaluate_out_ga(-(X, Y), Z) 7.07/7.07 U2_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U3_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.07 U3_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U4_ga(X, Y, Z, add_in_gga(X1, Y1, Z)) 7.07/7.07 U4_ga(X, Y, Z, add_out_gga(X1, Y1, Z)) -> evaluate_out_ga(+(X, Y), Z) 7.07/7.07 U1_ag(Z, X, evaluate_out_ga(X, Z)) -> myis_out_ag(Z, X) 7.07/7.07 7.07/7.07 The argument filtering Pi contains the following mapping: 7.07/7.07 myis_in_ag(x1, x2) = myis_in_ag(x2) 7.07/7.07 7.07/7.07 U1_ag(x1, x2, x3) = U1_ag(x3) 7.07/7.07 7.07/7.07 evaluate_in_ga(x1, x2) = evaluate_in_ga(x1) 7.07/7.07 7.07/7.07 +(x1, x2) = +(x1, x2) 7.07/7.07 7.07/7.07 U2_ga(x1, x2, x3, x4) = U2_ga(x2, x4) 7.07/7.07 7.07/7.07 -(x1, x2) = -(x1, x2) 7.07/7.07 7.07/7.07 U5_ga(x1, x2, x3, x4) = U5_ga(x2, x4) 7.07/7.07 7.07/7.07 *(x1, x2) = *(x1, x2) 7.07/7.07 7.07/7.07 U8_ga(x1, x2, x3, x4) = U8_ga(x2, x4) 7.07/7.07 7.07/7.07 U11_ga(x1, x2) = U11_ga(x1, x2) 7.07/7.07 7.07/7.07 myinteger_in_g(x1) = myinteger_in_g(x1) 7.07/7.07 7.07/7.07 s(x1) = s(x1) 7.07/7.07 7.07/7.07 U12_g(x1, x2) = U12_g(x2) 7.07/7.07 7.07/7.07 0 = 0 7.07/7.07 7.07/7.07 myinteger_out_g(x1) = myinteger_out_g 7.07/7.07 7.07/7.07 evaluate_out_ga(x1, x2) = evaluate_out_ga(x2) 7.07/7.07 7.07/7.07 U9_ga(x1, x2, x3, x4, x5) = U9_ga(x4, x5) 7.07/7.07 7.07/7.07 U10_ga(x1, x2, x3, x4) = U10_ga(x4) 7.07/7.07 7.07/7.07 mult_in_gga(x1, x2, x3) = mult_in_gga(x1, x2) 7.07/7.07 7.07/7.07 U15_gga(x1, x2, x3, x4) = U15_gga(x2, x4) 7.07/7.07 7.07/7.07 mult_out_gga(x1, x2, x3) = mult_out_gga(x3) 7.07/7.07 7.07/7.07 U16_gga(x1, x2, x3, x4) = U16_gga(x4) 7.07/7.07 7.07/7.07 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 7.07/7.07 7.07/7.07 U13_gga(x1, x2, x3, x4) = U13_gga(x4) 7.07/7.07 7.07/7.07 add_out_gga(x1, x2, x3) = add_out_gga(x3) 7.07/7.07 7.07/7.07 U6_ga(x1, x2, x3, x4, x5) = U6_ga(x4, x5) 7.07/7.07 7.07/7.07 U7_ga(x1, x2, x3, x4) = U7_ga(x4) 7.07/7.07 7.07/7.07 sub_in_gga(x1, x2, x3) = sub_in_gga(x1, x2) 7.07/7.07 7.07/7.07 U14_gga(x1, x2, x3, x4) = U14_gga(x4) 7.07/7.07 7.07/7.07 sub_out_gga(x1, x2, x3) = sub_out_gga(x3) 7.07/7.07 7.07/7.07 U3_ga(x1, x2, x3, x4, x5) = U3_ga(x4, x5) 7.07/7.07 7.07/7.07 U4_ga(x1, x2, x3, x4) = U4_ga(x4) 7.07/7.07 7.07/7.07 myis_out_ag(x1, x2) = myis_out_ag(x1) 7.07/7.07 7.07/7.07 7.07/7.07 7.07/7.07 7.07/7.07 7.07/7.07 Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog 7.07/7.07 7.07/7.07 7.07/7.07 7.07/7.07 ---------------------------------------- 7.07/7.07 7.07/7.07 (2) 7.07/7.07 Obligation: 7.07/7.07 Pi-finite rewrite system: 7.07/7.07 The TRS R consists of the following rules: 7.07/7.07 7.07/7.07 myis_in_ag(Z, X) -> U1_ag(Z, X, evaluate_in_ga(X, Z)) 7.07/7.07 evaluate_in_ga(+(X, Y), Z) -> U2_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.07 evaluate_in_ga(-(X, Y), Z) -> U5_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.07 evaluate_in_ga(*(X, Y), Z) -> U8_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.07 evaluate_in_ga(X, X) -> U11_ga(X, myinteger_in_g(X)) 7.07/7.07 myinteger_in_g(s(X)) -> U12_g(X, myinteger_in_g(X)) 7.07/7.07 myinteger_in_g(0) -> myinteger_out_g(0) 7.07/7.07 U12_g(X, myinteger_out_g(X)) -> myinteger_out_g(s(X)) 7.07/7.07 U11_ga(X, myinteger_out_g(X)) -> evaluate_out_ga(X, X) 7.07/7.07 U8_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U9_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.07 U9_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U10_ga(X, Y, Z, mult_in_gga(X1, Y1, Z)) 7.07/7.07 mult_in_gga(s(X), Y, R) -> U15_gga(X, Y, R, mult_in_gga(X, Y, Z)) 7.07/7.07 mult_in_gga(0, Y, 0) -> mult_out_gga(0, Y, 0) 7.07/7.07 U15_gga(X, Y, R, mult_out_gga(X, Y, Z)) -> U16_gga(X, Y, R, add_in_gga(Y, Z, R)) 7.07/7.07 add_in_gga(s(X), Y, s(Z)) -> U13_gga(X, Y, Z, add_in_gga(X, Y, Z)) 7.07/7.07 add_in_gga(0, X, X) -> add_out_gga(0, X, X) 7.07/7.07 U13_gga(X, Y, Z, add_out_gga(X, Y, Z)) -> add_out_gga(s(X), Y, s(Z)) 7.07/7.07 U16_gga(X, Y, R, add_out_gga(Y, Z, R)) -> mult_out_gga(s(X), Y, R) 7.07/7.07 U10_ga(X, Y, Z, mult_out_gga(X1, Y1, Z)) -> evaluate_out_ga(*(X, Y), Z) 7.07/7.07 U5_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U6_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.07 U6_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U7_ga(X, Y, Z, sub_in_gga(X1, Y1, Z)) 7.07/7.07 sub_in_gga(s(X), s(Y), Z) -> U14_gga(X, Y, Z, sub_in_gga(X, Y, Z)) 7.07/7.07 sub_in_gga(X, 0, X) -> sub_out_gga(X, 0, X) 7.07/7.07 U14_gga(X, Y, Z, sub_out_gga(X, Y, Z)) -> sub_out_gga(s(X), s(Y), Z) 7.07/7.07 U7_ga(X, Y, Z, sub_out_gga(X1, Y1, Z)) -> evaluate_out_ga(-(X, Y), Z) 7.07/7.07 U2_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U3_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.07 U3_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U4_ga(X, Y, Z, add_in_gga(X1, Y1, Z)) 7.07/7.07 U4_ga(X, Y, Z, add_out_gga(X1, Y1, Z)) -> evaluate_out_ga(+(X, Y), Z) 7.07/7.07 U1_ag(Z, X, evaluate_out_ga(X, Z)) -> myis_out_ag(Z, X) 7.07/7.07 7.07/7.07 The argument filtering Pi contains the following mapping: 7.07/7.07 myis_in_ag(x1, x2) = myis_in_ag(x2) 7.07/7.07 7.07/7.07 U1_ag(x1, x2, x3) = U1_ag(x3) 7.07/7.07 7.07/7.07 evaluate_in_ga(x1, x2) = evaluate_in_ga(x1) 7.07/7.07 7.07/7.07 +(x1, x2) = +(x1, x2) 7.07/7.07 7.07/7.07 U2_ga(x1, x2, x3, x4) = U2_ga(x2, x4) 7.07/7.07 7.07/7.07 -(x1, x2) = -(x1, x2) 7.07/7.07 7.07/7.07 U5_ga(x1, x2, x3, x4) = U5_ga(x2, x4) 7.07/7.07 7.07/7.07 *(x1, x2) = *(x1, x2) 7.07/7.07 7.07/7.07 U8_ga(x1, x2, x3, x4) = U8_ga(x2, x4) 7.07/7.07 7.07/7.07 U11_ga(x1, x2) = U11_ga(x1, x2) 7.07/7.07 7.07/7.07 myinteger_in_g(x1) = myinteger_in_g(x1) 7.07/7.07 7.07/7.07 s(x1) = s(x1) 7.07/7.07 7.07/7.07 U12_g(x1, x2) = U12_g(x2) 7.07/7.07 7.07/7.07 0 = 0 7.07/7.07 7.07/7.07 myinteger_out_g(x1) = myinteger_out_g 7.07/7.07 7.07/7.07 evaluate_out_ga(x1, x2) = evaluate_out_ga(x2) 7.07/7.07 7.07/7.07 U9_ga(x1, x2, x3, x4, x5) = U9_ga(x4, x5) 7.07/7.07 7.07/7.07 U10_ga(x1, x2, x3, x4) = U10_ga(x4) 7.07/7.07 7.07/7.07 mult_in_gga(x1, x2, x3) = mult_in_gga(x1, x2) 7.07/7.07 7.07/7.07 U15_gga(x1, x2, x3, x4) = U15_gga(x2, x4) 7.07/7.07 7.07/7.07 mult_out_gga(x1, x2, x3) = mult_out_gga(x3) 7.07/7.07 7.07/7.07 U16_gga(x1, x2, x3, x4) = U16_gga(x4) 7.07/7.07 7.07/7.07 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 7.07/7.07 7.07/7.07 U13_gga(x1, x2, x3, x4) = U13_gga(x4) 7.07/7.07 7.07/7.07 add_out_gga(x1, x2, x3) = add_out_gga(x3) 7.07/7.07 7.07/7.07 U6_ga(x1, x2, x3, x4, x5) = U6_ga(x4, x5) 7.07/7.07 7.07/7.07 U7_ga(x1, x2, x3, x4) = U7_ga(x4) 7.07/7.07 7.07/7.07 sub_in_gga(x1, x2, x3) = sub_in_gga(x1, x2) 7.07/7.07 7.07/7.07 U14_gga(x1, x2, x3, x4) = U14_gga(x4) 7.07/7.07 7.07/7.07 sub_out_gga(x1, x2, x3) = sub_out_gga(x3) 7.07/7.07 7.07/7.07 U3_ga(x1, x2, x3, x4, x5) = U3_ga(x4, x5) 7.07/7.07 7.07/7.07 U4_ga(x1, x2, x3, x4) = U4_ga(x4) 7.07/7.07 7.07/7.07 myis_out_ag(x1, x2) = myis_out_ag(x1) 7.07/7.07 7.07/7.07 7.07/7.07 7.07/7.07 ---------------------------------------- 7.07/7.07 7.07/7.07 (3) DependencyPairsProof (EQUIVALENT) 7.07/7.07 Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: 7.07/7.07 Pi DP problem: 7.07/7.07 The TRS P consists of the following rules: 7.07/7.07 7.07/7.07 MYIS_IN_AG(Z, X) -> U1_AG(Z, X, evaluate_in_ga(X, Z)) 7.07/7.07 MYIS_IN_AG(Z, X) -> EVALUATE_IN_GA(X, Z) 7.07/7.07 EVALUATE_IN_GA(+(X, Y), Z) -> U2_GA(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.07 EVALUATE_IN_GA(+(X, Y), Z) -> EVALUATE_IN_GA(X, X1) 7.07/7.07 EVALUATE_IN_GA(-(X, Y), Z) -> U5_GA(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.07 EVALUATE_IN_GA(-(X, Y), Z) -> EVALUATE_IN_GA(X, X1) 7.07/7.07 EVALUATE_IN_GA(*(X, Y), Z) -> U8_GA(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.07 EVALUATE_IN_GA(*(X, Y), Z) -> EVALUATE_IN_GA(X, X1) 7.07/7.07 EVALUATE_IN_GA(X, X) -> U11_GA(X, myinteger_in_g(X)) 7.07/7.07 EVALUATE_IN_GA(X, X) -> MYINTEGER_IN_G(X) 7.07/7.07 MYINTEGER_IN_G(s(X)) -> U12_G(X, myinteger_in_g(X)) 7.07/7.07 MYINTEGER_IN_G(s(X)) -> MYINTEGER_IN_G(X) 7.07/7.07 U8_GA(X, Y, Z, evaluate_out_ga(X, X1)) -> U9_GA(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.07 U8_GA(X, Y, Z, evaluate_out_ga(X, X1)) -> EVALUATE_IN_GA(Y, Y1) 7.07/7.07 U9_GA(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U10_GA(X, Y, Z, mult_in_gga(X1, Y1, Z)) 7.07/7.07 U9_GA(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> MULT_IN_GGA(X1, Y1, Z) 7.07/7.07 MULT_IN_GGA(s(X), Y, R) -> U15_GGA(X, Y, R, mult_in_gga(X, Y, Z)) 7.07/7.07 MULT_IN_GGA(s(X), Y, R) -> MULT_IN_GGA(X, Y, Z) 7.07/7.07 U15_GGA(X, Y, R, mult_out_gga(X, Y, Z)) -> U16_GGA(X, Y, R, add_in_gga(Y, Z, R)) 7.07/7.07 U15_GGA(X, Y, R, mult_out_gga(X, Y, Z)) -> ADD_IN_GGA(Y, Z, R) 7.07/7.07 ADD_IN_GGA(s(X), Y, s(Z)) -> U13_GGA(X, Y, Z, add_in_gga(X, Y, Z)) 7.07/7.07 ADD_IN_GGA(s(X), Y, s(Z)) -> ADD_IN_GGA(X, Y, Z) 7.07/7.07 U5_GA(X, Y, Z, evaluate_out_ga(X, X1)) -> U6_GA(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.07 U5_GA(X, Y, Z, evaluate_out_ga(X, X1)) -> EVALUATE_IN_GA(Y, Y1) 7.07/7.07 U6_GA(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U7_GA(X, Y, Z, sub_in_gga(X1, Y1, Z)) 7.07/7.07 U6_GA(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> SUB_IN_GGA(X1, Y1, Z) 7.07/7.07 SUB_IN_GGA(s(X), s(Y), Z) -> U14_GGA(X, Y, Z, sub_in_gga(X, Y, Z)) 7.07/7.07 SUB_IN_GGA(s(X), s(Y), Z) -> SUB_IN_GGA(X, Y, Z) 7.07/7.07 U2_GA(X, Y, Z, evaluate_out_ga(X, X1)) -> U3_GA(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.07 U2_GA(X, Y, Z, evaluate_out_ga(X, X1)) -> EVALUATE_IN_GA(Y, Y1) 7.07/7.07 U3_GA(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U4_GA(X, Y, Z, add_in_gga(X1, Y1, Z)) 7.07/7.07 U3_GA(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> ADD_IN_GGA(X1, Y1, Z) 7.07/7.07 7.07/7.07 The TRS R consists of the following rules: 7.07/7.07 7.07/7.07 myis_in_ag(Z, X) -> U1_ag(Z, X, evaluate_in_ga(X, Z)) 7.07/7.07 evaluate_in_ga(+(X, Y), Z) -> U2_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.07 evaluate_in_ga(-(X, Y), Z) -> U5_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.07 evaluate_in_ga(*(X, Y), Z) -> U8_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.07 evaluate_in_ga(X, X) -> U11_ga(X, myinteger_in_g(X)) 7.07/7.07 myinteger_in_g(s(X)) -> U12_g(X, myinteger_in_g(X)) 7.07/7.07 myinteger_in_g(0) -> myinteger_out_g(0) 7.07/7.07 U12_g(X, myinteger_out_g(X)) -> myinteger_out_g(s(X)) 7.07/7.07 U11_ga(X, myinteger_out_g(X)) -> evaluate_out_ga(X, X) 7.07/7.07 U8_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U9_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.07 U9_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U10_ga(X, Y, Z, mult_in_gga(X1, Y1, Z)) 7.07/7.07 mult_in_gga(s(X), Y, R) -> U15_gga(X, Y, R, mult_in_gga(X, Y, Z)) 7.07/7.07 mult_in_gga(0, Y, 0) -> mult_out_gga(0, Y, 0) 7.07/7.07 U15_gga(X, Y, R, mult_out_gga(X, Y, Z)) -> U16_gga(X, Y, R, add_in_gga(Y, Z, R)) 7.07/7.07 add_in_gga(s(X), Y, s(Z)) -> U13_gga(X, Y, Z, add_in_gga(X, Y, Z)) 7.07/7.07 add_in_gga(0, X, X) -> add_out_gga(0, X, X) 7.07/7.07 U13_gga(X, Y, Z, add_out_gga(X, Y, Z)) -> add_out_gga(s(X), Y, s(Z)) 7.07/7.07 U16_gga(X, Y, R, add_out_gga(Y, Z, R)) -> mult_out_gga(s(X), Y, R) 7.07/7.07 U10_ga(X, Y, Z, mult_out_gga(X1, Y1, Z)) -> evaluate_out_ga(*(X, Y), Z) 7.07/7.07 U5_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U6_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.07 U6_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U7_ga(X, Y, Z, sub_in_gga(X1, Y1, Z)) 7.07/7.07 sub_in_gga(s(X), s(Y), Z) -> U14_gga(X, Y, Z, sub_in_gga(X, Y, Z)) 7.07/7.07 sub_in_gga(X, 0, X) -> sub_out_gga(X, 0, X) 7.07/7.07 U14_gga(X, Y, Z, sub_out_gga(X, Y, Z)) -> sub_out_gga(s(X), s(Y), Z) 7.07/7.07 U7_ga(X, Y, Z, sub_out_gga(X1, Y1, Z)) -> evaluate_out_ga(-(X, Y), Z) 7.07/7.07 U2_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U3_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.07 U3_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U4_ga(X, Y, Z, add_in_gga(X1, Y1, Z)) 7.07/7.07 U4_ga(X, Y, Z, add_out_gga(X1, Y1, Z)) -> evaluate_out_ga(+(X, Y), Z) 7.07/7.07 U1_ag(Z, X, evaluate_out_ga(X, Z)) -> myis_out_ag(Z, X) 7.07/7.07 7.07/7.07 The argument filtering Pi contains the following mapping: 7.07/7.07 myis_in_ag(x1, x2) = myis_in_ag(x2) 7.07/7.07 7.07/7.07 U1_ag(x1, x2, x3) = U1_ag(x3) 7.07/7.07 7.07/7.07 evaluate_in_ga(x1, x2) = evaluate_in_ga(x1) 7.07/7.07 7.07/7.07 +(x1, x2) = +(x1, x2) 7.07/7.07 7.07/7.07 U2_ga(x1, x2, x3, x4) = U2_ga(x2, x4) 7.07/7.07 7.07/7.07 -(x1, x2) = -(x1, x2) 7.07/7.07 7.07/7.07 U5_ga(x1, x2, x3, x4) = U5_ga(x2, x4) 7.07/7.07 7.07/7.07 *(x1, x2) = *(x1, x2) 7.07/7.07 7.07/7.07 U8_ga(x1, x2, x3, x4) = U8_ga(x2, x4) 7.07/7.07 7.07/7.07 U11_ga(x1, x2) = U11_ga(x1, x2) 7.07/7.07 7.07/7.07 myinteger_in_g(x1) = myinteger_in_g(x1) 7.07/7.07 7.07/7.07 s(x1) = s(x1) 7.07/7.07 7.07/7.07 U12_g(x1, x2) = U12_g(x2) 7.07/7.07 7.07/7.07 0 = 0 7.07/7.07 7.07/7.07 myinteger_out_g(x1) = myinteger_out_g 7.07/7.07 7.07/7.07 evaluate_out_ga(x1, x2) = evaluate_out_ga(x2) 7.07/7.07 7.07/7.07 U9_ga(x1, x2, x3, x4, x5) = U9_ga(x4, x5) 7.07/7.07 7.07/7.07 U10_ga(x1, x2, x3, x4) = U10_ga(x4) 7.07/7.07 7.07/7.07 mult_in_gga(x1, x2, x3) = mult_in_gga(x1, x2) 7.07/7.07 7.07/7.07 U15_gga(x1, x2, x3, x4) = U15_gga(x2, x4) 7.07/7.07 7.07/7.07 mult_out_gga(x1, x2, x3) = mult_out_gga(x3) 7.07/7.07 7.07/7.07 U16_gga(x1, x2, x3, x4) = U16_gga(x4) 7.07/7.07 7.07/7.07 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 7.07/7.07 7.07/7.07 U13_gga(x1, x2, x3, x4) = U13_gga(x4) 7.07/7.07 7.07/7.07 add_out_gga(x1, x2, x3) = add_out_gga(x3) 7.07/7.07 7.07/7.07 U6_ga(x1, x2, x3, x4, x5) = U6_ga(x4, x5) 7.07/7.07 7.07/7.07 U7_ga(x1, x2, x3, x4) = U7_ga(x4) 7.07/7.07 7.07/7.07 sub_in_gga(x1, x2, x3) = sub_in_gga(x1, x2) 7.07/7.07 7.07/7.07 U14_gga(x1, x2, x3, x4) = U14_gga(x4) 7.07/7.07 7.07/7.07 sub_out_gga(x1, x2, x3) = sub_out_gga(x3) 7.07/7.07 7.07/7.07 U3_ga(x1, x2, x3, x4, x5) = U3_ga(x4, x5) 7.07/7.07 7.07/7.07 U4_ga(x1, x2, x3, x4) = U4_ga(x4) 7.07/7.07 7.07/7.07 myis_out_ag(x1, x2) = myis_out_ag(x1) 7.07/7.07 7.07/7.07 MYIS_IN_AG(x1, x2) = MYIS_IN_AG(x2) 7.07/7.07 7.07/7.07 U1_AG(x1, x2, x3) = U1_AG(x3) 7.07/7.07 7.07/7.07 EVALUATE_IN_GA(x1, x2) = EVALUATE_IN_GA(x1) 7.07/7.07 7.07/7.07 U2_GA(x1, x2, x3, x4) = U2_GA(x2, x4) 7.07/7.07 7.07/7.07 U5_GA(x1, x2, x3, x4) = U5_GA(x2, x4) 7.07/7.07 7.07/7.07 U8_GA(x1, x2, x3, x4) = U8_GA(x2, x4) 7.07/7.07 7.07/7.07 U11_GA(x1, x2) = U11_GA(x1, x2) 7.07/7.07 7.07/7.07 MYINTEGER_IN_G(x1) = MYINTEGER_IN_G(x1) 7.07/7.07 7.07/7.07 U12_G(x1, x2) = U12_G(x2) 7.07/7.07 7.07/7.07 U9_GA(x1, x2, x3, x4, x5) = U9_GA(x4, x5) 7.07/7.07 7.07/7.07 U10_GA(x1, x2, x3, x4) = U10_GA(x4) 7.07/7.07 7.07/7.07 MULT_IN_GGA(x1, x2, x3) = MULT_IN_GGA(x1, x2) 7.07/7.07 7.07/7.07 U15_GGA(x1, x2, x3, x4) = U15_GGA(x2, x4) 7.07/7.07 7.07/7.07 U16_GGA(x1, x2, x3, x4) = U16_GGA(x4) 7.07/7.07 7.07/7.07 ADD_IN_GGA(x1, x2, x3) = ADD_IN_GGA(x1, x2) 7.07/7.07 7.07/7.07 U13_GGA(x1, x2, x3, x4) = U13_GGA(x4) 7.07/7.07 7.07/7.07 U6_GA(x1, x2, x3, x4, x5) = U6_GA(x4, x5) 7.07/7.07 7.07/7.07 U7_GA(x1, x2, x3, x4) = U7_GA(x4) 7.07/7.07 7.07/7.07 SUB_IN_GGA(x1, x2, x3) = SUB_IN_GGA(x1, x2) 7.07/7.07 7.07/7.07 U14_GGA(x1, x2, x3, x4) = U14_GGA(x4) 7.07/7.07 7.07/7.07 U3_GA(x1, x2, x3, x4, x5) = U3_GA(x4, x5) 7.07/7.07 7.07/7.07 U4_GA(x1, x2, x3, x4) = U4_GA(x4) 7.07/7.07 7.07/7.07 7.07/7.07 We have to consider all (P,R,Pi)-chains 7.07/7.07 ---------------------------------------- 7.07/7.07 7.07/7.07 (4) 7.07/7.07 Obligation: 7.07/7.07 Pi DP problem: 7.07/7.07 The TRS P consists of the following rules: 7.07/7.07 7.07/7.07 MYIS_IN_AG(Z, X) -> U1_AG(Z, X, evaluate_in_ga(X, Z)) 7.07/7.07 MYIS_IN_AG(Z, X) -> EVALUATE_IN_GA(X, Z) 7.07/7.07 EVALUATE_IN_GA(+(X, Y), Z) -> U2_GA(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.07 EVALUATE_IN_GA(+(X, Y), Z) -> EVALUATE_IN_GA(X, X1) 7.07/7.07 EVALUATE_IN_GA(-(X, Y), Z) -> U5_GA(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.07 EVALUATE_IN_GA(-(X, Y), Z) -> EVALUATE_IN_GA(X, X1) 7.07/7.07 EVALUATE_IN_GA(*(X, Y), Z) -> U8_GA(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.07 EVALUATE_IN_GA(*(X, Y), Z) -> EVALUATE_IN_GA(X, X1) 7.07/7.07 EVALUATE_IN_GA(X, X) -> U11_GA(X, myinteger_in_g(X)) 7.07/7.07 EVALUATE_IN_GA(X, X) -> MYINTEGER_IN_G(X) 7.07/7.07 MYINTEGER_IN_G(s(X)) -> U12_G(X, myinteger_in_g(X)) 7.07/7.07 MYINTEGER_IN_G(s(X)) -> MYINTEGER_IN_G(X) 7.07/7.07 U8_GA(X, Y, Z, evaluate_out_ga(X, X1)) -> U9_GA(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.07 U8_GA(X, Y, Z, evaluate_out_ga(X, X1)) -> EVALUATE_IN_GA(Y, Y1) 7.07/7.07 U9_GA(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U10_GA(X, Y, Z, mult_in_gga(X1, Y1, Z)) 7.07/7.07 U9_GA(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> MULT_IN_GGA(X1, Y1, Z) 7.07/7.07 MULT_IN_GGA(s(X), Y, R) -> U15_GGA(X, Y, R, mult_in_gga(X, Y, Z)) 7.07/7.07 MULT_IN_GGA(s(X), Y, R) -> MULT_IN_GGA(X, Y, Z) 7.07/7.07 U15_GGA(X, Y, R, mult_out_gga(X, Y, Z)) -> U16_GGA(X, Y, R, add_in_gga(Y, Z, R)) 7.07/7.07 U15_GGA(X, Y, R, mult_out_gga(X, Y, Z)) -> ADD_IN_GGA(Y, Z, R) 7.07/7.07 ADD_IN_GGA(s(X), Y, s(Z)) -> U13_GGA(X, Y, Z, add_in_gga(X, Y, Z)) 7.07/7.07 ADD_IN_GGA(s(X), Y, s(Z)) -> ADD_IN_GGA(X, Y, Z) 7.07/7.07 U5_GA(X, Y, Z, evaluate_out_ga(X, X1)) -> U6_GA(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.07 U5_GA(X, Y, Z, evaluate_out_ga(X, X1)) -> EVALUATE_IN_GA(Y, Y1) 7.07/7.07 U6_GA(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U7_GA(X, Y, Z, sub_in_gga(X1, Y1, Z)) 7.07/7.07 U6_GA(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> SUB_IN_GGA(X1, Y1, Z) 7.07/7.07 SUB_IN_GGA(s(X), s(Y), Z) -> U14_GGA(X, Y, Z, sub_in_gga(X, Y, Z)) 7.07/7.07 SUB_IN_GGA(s(X), s(Y), Z) -> SUB_IN_GGA(X, Y, Z) 7.07/7.07 U2_GA(X, Y, Z, evaluate_out_ga(X, X1)) -> U3_GA(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.07 U2_GA(X, Y, Z, evaluate_out_ga(X, X1)) -> EVALUATE_IN_GA(Y, Y1) 7.07/7.07 U3_GA(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U4_GA(X, Y, Z, add_in_gga(X1, Y1, Z)) 7.07/7.07 U3_GA(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> ADD_IN_GGA(X1, Y1, Z) 7.07/7.07 7.07/7.07 The TRS R consists of the following rules: 7.07/7.07 7.07/7.07 myis_in_ag(Z, X) -> U1_ag(Z, X, evaluate_in_ga(X, Z)) 7.07/7.07 evaluate_in_ga(+(X, Y), Z) -> U2_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.07 evaluate_in_ga(-(X, Y), Z) -> U5_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.07 evaluate_in_ga(*(X, Y), Z) -> U8_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.07 evaluate_in_ga(X, X) -> U11_ga(X, myinteger_in_g(X)) 7.07/7.07 myinteger_in_g(s(X)) -> U12_g(X, myinteger_in_g(X)) 7.07/7.07 myinteger_in_g(0) -> myinteger_out_g(0) 7.07/7.07 U12_g(X, myinteger_out_g(X)) -> myinteger_out_g(s(X)) 7.07/7.07 U11_ga(X, myinteger_out_g(X)) -> evaluate_out_ga(X, X) 7.07/7.07 U8_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U9_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.07 U9_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U10_ga(X, Y, Z, mult_in_gga(X1, Y1, Z)) 7.07/7.07 mult_in_gga(s(X), Y, R) -> U15_gga(X, Y, R, mult_in_gga(X, Y, Z)) 7.07/7.07 mult_in_gga(0, Y, 0) -> mult_out_gga(0, Y, 0) 7.07/7.07 U15_gga(X, Y, R, mult_out_gga(X, Y, Z)) -> U16_gga(X, Y, R, add_in_gga(Y, Z, R)) 7.07/7.07 add_in_gga(s(X), Y, s(Z)) -> U13_gga(X, Y, Z, add_in_gga(X, Y, Z)) 7.07/7.07 add_in_gga(0, X, X) -> add_out_gga(0, X, X) 7.07/7.07 U13_gga(X, Y, Z, add_out_gga(X, Y, Z)) -> add_out_gga(s(X), Y, s(Z)) 7.07/7.07 U16_gga(X, Y, R, add_out_gga(Y, Z, R)) -> mult_out_gga(s(X), Y, R) 7.07/7.07 U10_ga(X, Y, Z, mult_out_gga(X1, Y1, Z)) -> evaluate_out_ga(*(X, Y), Z) 7.07/7.07 U5_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U6_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.07 U6_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U7_ga(X, Y, Z, sub_in_gga(X1, Y1, Z)) 7.07/7.07 sub_in_gga(s(X), s(Y), Z) -> U14_gga(X, Y, Z, sub_in_gga(X, Y, Z)) 7.07/7.07 sub_in_gga(X, 0, X) -> sub_out_gga(X, 0, X) 7.07/7.07 U14_gga(X, Y, Z, sub_out_gga(X, Y, Z)) -> sub_out_gga(s(X), s(Y), Z) 7.07/7.07 U7_ga(X, Y, Z, sub_out_gga(X1, Y1, Z)) -> evaluate_out_ga(-(X, Y), Z) 7.07/7.07 U2_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U3_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.07 U3_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U4_ga(X, Y, Z, add_in_gga(X1, Y1, Z)) 7.07/7.07 U4_ga(X, Y, Z, add_out_gga(X1, Y1, Z)) -> evaluate_out_ga(+(X, Y), Z) 7.07/7.07 U1_ag(Z, X, evaluate_out_ga(X, Z)) -> myis_out_ag(Z, X) 7.07/7.07 7.07/7.07 The argument filtering Pi contains the following mapping: 7.07/7.07 myis_in_ag(x1, x2) = myis_in_ag(x2) 7.07/7.07 7.07/7.07 U1_ag(x1, x2, x3) = U1_ag(x3) 7.07/7.07 7.07/7.07 evaluate_in_ga(x1, x2) = evaluate_in_ga(x1) 7.07/7.07 7.07/7.07 +(x1, x2) = +(x1, x2) 7.07/7.07 7.07/7.07 U2_ga(x1, x2, x3, x4) = U2_ga(x2, x4) 7.07/7.07 7.07/7.07 -(x1, x2) = -(x1, x2) 7.07/7.07 7.07/7.07 U5_ga(x1, x2, x3, x4) = U5_ga(x2, x4) 7.07/7.07 7.07/7.07 *(x1, x2) = *(x1, x2) 7.07/7.07 7.07/7.07 U8_ga(x1, x2, x3, x4) = U8_ga(x2, x4) 7.07/7.07 7.07/7.07 U11_ga(x1, x2) = U11_ga(x1, x2) 7.07/7.07 7.07/7.07 myinteger_in_g(x1) = myinteger_in_g(x1) 7.07/7.07 7.07/7.07 s(x1) = s(x1) 7.07/7.07 7.07/7.07 U12_g(x1, x2) = U12_g(x2) 7.07/7.07 7.07/7.07 0 = 0 7.07/7.07 7.07/7.07 myinteger_out_g(x1) = myinteger_out_g 7.07/7.07 7.07/7.07 evaluate_out_ga(x1, x2) = evaluate_out_ga(x2) 7.07/7.07 7.07/7.07 U9_ga(x1, x2, x3, x4, x5) = U9_ga(x4, x5) 7.07/7.07 7.07/7.07 U10_ga(x1, x2, x3, x4) = U10_ga(x4) 7.07/7.07 7.07/7.07 mult_in_gga(x1, x2, x3) = mult_in_gga(x1, x2) 7.07/7.07 7.07/7.07 U15_gga(x1, x2, x3, x4) = U15_gga(x2, x4) 7.07/7.07 7.07/7.07 mult_out_gga(x1, x2, x3) = mult_out_gga(x3) 7.07/7.07 7.07/7.07 U16_gga(x1, x2, x3, x4) = U16_gga(x4) 7.07/7.07 7.07/7.07 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 7.07/7.07 7.07/7.07 U13_gga(x1, x2, x3, x4) = U13_gga(x4) 7.07/7.07 7.07/7.07 add_out_gga(x1, x2, x3) = add_out_gga(x3) 7.07/7.07 7.07/7.07 U6_ga(x1, x2, x3, x4, x5) = U6_ga(x4, x5) 7.07/7.07 7.07/7.07 U7_ga(x1, x2, x3, x4) = U7_ga(x4) 7.07/7.07 7.07/7.07 sub_in_gga(x1, x2, x3) = sub_in_gga(x1, x2) 7.07/7.07 7.07/7.07 U14_gga(x1, x2, x3, x4) = U14_gga(x4) 7.07/7.07 7.07/7.07 sub_out_gga(x1, x2, x3) = sub_out_gga(x3) 7.07/7.07 7.07/7.07 U3_ga(x1, x2, x3, x4, x5) = U3_ga(x4, x5) 7.07/7.07 7.07/7.07 U4_ga(x1, x2, x3, x4) = U4_ga(x4) 7.07/7.07 7.07/7.07 myis_out_ag(x1, x2) = myis_out_ag(x1) 7.07/7.07 7.07/7.07 MYIS_IN_AG(x1, x2) = MYIS_IN_AG(x2) 7.07/7.07 7.07/7.07 U1_AG(x1, x2, x3) = U1_AG(x3) 7.07/7.07 7.07/7.07 EVALUATE_IN_GA(x1, x2) = EVALUATE_IN_GA(x1) 7.07/7.07 7.07/7.07 U2_GA(x1, x2, x3, x4) = U2_GA(x2, x4) 7.07/7.07 7.07/7.07 U5_GA(x1, x2, x3, x4) = U5_GA(x2, x4) 7.07/7.07 7.07/7.07 U8_GA(x1, x2, x3, x4) = U8_GA(x2, x4) 7.07/7.07 7.07/7.07 U11_GA(x1, x2) = U11_GA(x1, x2) 7.07/7.07 7.07/7.07 MYINTEGER_IN_G(x1) = MYINTEGER_IN_G(x1) 7.07/7.07 7.07/7.07 U12_G(x1, x2) = U12_G(x2) 7.07/7.07 7.07/7.07 U9_GA(x1, x2, x3, x4, x5) = U9_GA(x4, x5) 7.07/7.07 7.07/7.07 U10_GA(x1, x2, x3, x4) = U10_GA(x4) 7.07/7.07 7.07/7.07 MULT_IN_GGA(x1, x2, x3) = MULT_IN_GGA(x1, x2) 7.07/7.07 7.07/7.07 U15_GGA(x1, x2, x3, x4) = U15_GGA(x2, x4) 7.07/7.07 7.07/7.07 U16_GGA(x1, x2, x3, x4) = U16_GGA(x4) 7.07/7.07 7.07/7.07 ADD_IN_GGA(x1, x2, x3) = ADD_IN_GGA(x1, x2) 7.07/7.07 7.07/7.07 U13_GGA(x1, x2, x3, x4) = U13_GGA(x4) 7.07/7.07 7.07/7.07 U6_GA(x1, x2, x3, x4, x5) = U6_GA(x4, x5) 7.07/7.07 7.07/7.07 U7_GA(x1, x2, x3, x4) = U7_GA(x4) 7.07/7.07 7.07/7.07 SUB_IN_GGA(x1, x2, x3) = SUB_IN_GGA(x1, x2) 7.07/7.07 7.07/7.07 U14_GGA(x1, x2, x3, x4) = U14_GGA(x4) 7.07/7.07 7.07/7.07 U3_GA(x1, x2, x3, x4, x5) = U3_GA(x4, x5) 7.07/7.07 7.07/7.07 U4_GA(x1, x2, x3, x4) = U4_GA(x4) 7.07/7.07 7.07/7.07 7.07/7.07 We have to consider all (P,R,Pi)-chains 7.07/7.07 ---------------------------------------- 7.07/7.07 7.07/7.07 (5) DependencyGraphProof (EQUIVALENT) 7.07/7.07 The approximation of the Dependency Graph [LOPSTR] contains 5 SCCs with 19 less nodes. 7.07/7.07 ---------------------------------------- 7.07/7.07 7.07/7.07 (6) 7.07/7.07 Complex Obligation (AND) 7.07/7.07 7.07/7.07 ---------------------------------------- 7.07/7.07 7.07/7.07 (7) 7.07/7.07 Obligation: 7.07/7.07 Pi DP problem: 7.07/7.07 The TRS P consists of the following rules: 7.07/7.07 7.07/7.07 SUB_IN_GGA(s(X), s(Y), Z) -> SUB_IN_GGA(X, Y, Z) 7.07/7.07 7.07/7.07 The TRS R consists of the following rules: 7.07/7.07 7.07/7.07 myis_in_ag(Z, X) -> U1_ag(Z, X, evaluate_in_ga(X, Z)) 7.07/7.07 evaluate_in_ga(+(X, Y), Z) -> U2_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.07 evaluate_in_ga(-(X, Y), Z) -> U5_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.07 evaluate_in_ga(*(X, Y), Z) -> U8_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.07 evaluate_in_ga(X, X) -> U11_ga(X, myinteger_in_g(X)) 7.07/7.07 myinteger_in_g(s(X)) -> U12_g(X, myinteger_in_g(X)) 7.07/7.07 myinteger_in_g(0) -> myinteger_out_g(0) 7.07/7.07 U12_g(X, myinteger_out_g(X)) -> myinteger_out_g(s(X)) 7.07/7.07 U11_ga(X, myinteger_out_g(X)) -> evaluate_out_ga(X, X) 7.07/7.07 U8_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U9_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.07 U9_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U10_ga(X, Y, Z, mult_in_gga(X1, Y1, Z)) 7.07/7.07 mult_in_gga(s(X), Y, R) -> U15_gga(X, Y, R, mult_in_gga(X, Y, Z)) 7.07/7.07 mult_in_gga(0, Y, 0) -> mult_out_gga(0, Y, 0) 7.07/7.07 U15_gga(X, Y, R, mult_out_gga(X, Y, Z)) -> U16_gga(X, Y, R, add_in_gga(Y, Z, R)) 7.07/7.07 add_in_gga(s(X), Y, s(Z)) -> U13_gga(X, Y, Z, add_in_gga(X, Y, Z)) 7.07/7.07 add_in_gga(0, X, X) -> add_out_gga(0, X, X) 7.07/7.07 U13_gga(X, Y, Z, add_out_gga(X, Y, Z)) -> add_out_gga(s(X), Y, s(Z)) 7.07/7.07 U16_gga(X, Y, R, add_out_gga(Y, Z, R)) -> mult_out_gga(s(X), Y, R) 7.07/7.07 U10_ga(X, Y, Z, mult_out_gga(X1, Y1, Z)) -> evaluate_out_ga(*(X, Y), Z) 7.07/7.07 U5_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U6_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.07 U6_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U7_ga(X, Y, Z, sub_in_gga(X1, Y1, Z)) 7.07/7.07 sub_in_gga(s(X), s(Y), Z) -> U14_gga(X, Y, Z, sub_in_gga(X, Y, Z)) 7.07/7.07 sub_in_gga(X, 0, X) -> sub_out_gga(X, 0, X) 7.07/7.07 U14_gga(X, Y, Z, sub_out_gga(X, Y, Z)) -> sub_out_gga(s(X), s(Y), Z) 7.07/7.07 U7_ga(X, Y, Z, sub_out_gga(X1, Y1, Z)) -> evaluate_out_ga(-(X, Y), Z) 7.07/7.07 U2_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U3_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.07 U3_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U4_ga(X, Y, Z, add_in_gga(X1, Y1, Z)) 7.07/7.07 U4_ga(X, Y, Z, add_out_gga(X1, Y1, Z)) -> evaluate_out_ga(+(X, Y), Z) 7.07/7.07 U1_ag(Z, X, evaluate_out_ga(X, Z)) -> myis_out_ag(Z, X) 7.07/7.07 7.07/7.07 The argument filtering Pi contains the following mapping: 7.07/7.07 myis_in_ag(x1, x2) = myis_in_ag(x2) 7.07/7.07 7.07/7.07 U1_ag(x1, x2, x3) = U1_ag(x3) 7.07/7.07 7.07/7.07 evaluate_in_ga(x1, x2) = evaluate_in_ga(x1) 7.07/7.07 7.07/7.07 +(x1, x2) = +(x1, x2) 7.07/7.07 7.07/7.07 U2_ga(x1, x2, x3, x4) = U2_ga(x2, x4) 7.07/7.07 7.07/7.07 -(x1, x2) = -(x1, x2) 7.07/7.07 7.07/7.07 U5_ga(x1, x2, x3, x4) = U5_ga(x2, x4) 7.07/7.07 7.07/7.07 *(x1, x2) = *(x1, x2) 7.07/7.07 7.07/7.07 U8_ga(x1, x2, x3, x4) = U8_ga(x2, x4) 7.07/7.07 7.07/7.07 U11_ga(x1, x2) = U11_ga(x1, x2) 7.07/7.07 7.07/7.07 myinteger_in_g(x1) = myinteger_in_g(x1) 7.07/7.07 7.07/7.07 s(x1) = s(x1) 7.07/7.07 7.07/7.07 U12_g(x1, x2) = U12_g(x2) 7.07/7.07 7.07/7.07 0 = 0 7.07/7.07 7.07/7.07 myinteger_out_g(x1) = myinteger_out_g 7.07/7.07 7.07/7.07 evaluate_out_ga(x1, x2) = evaluate_out_ga(x2) 7.07/7.07 7.07/7.07 U9_ga(x1, x2, x3, x4, x5) = U9_ga(x4, x5) 7.07/7.07 7.07/7.07 U10_ga(x1, x2, x3, x4) = U10_ga(x4) 7.07/7.07 7.07/7.07 mult_in_gga(x1, x2, x3) = mult_in_gga(x1, x2) 7.07/7.07 7.07/7.07 U15_gga(x1, x2, x3, x4) = U15_gga(x2, x4) 7.07/7.07 7.07/7.07 mult_out_gga(x1, x2, x3) = mult_out_gga(x3) 7.07/7.07 7.07/7.07 U16_gga(x1, x2, x3, x4) = U16_gga(x4) 7.07/7.07 7.07/7.07 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 7.07/7.07 7.07/7.07 U13_gga(x1, x2, x3, x4) = U13_gga(x4) 7.07/7.07 7.07/7.07 add_out_gga(x1, x2, x3) = add_out_gga(x3) 7.07/7.07 7.07/7.07 U6_ga(x1, x2, x3, x4, x5) = U6_ga(x4, x5) 7.07/7.07 7.07/7.07 U7_ga(x1, x2, x3, x4) = U7_ga(x4) 7.07/7.07 7.07/7.07 sub_in_gga(x1, x2, x3) = sub_in_gga(x1, x2) 7.07/7.07 7.07/7.07 U14_gga(x1, x2, x3, x4) = U14_gga(x4) 7.07/7.07 7.07/7.07 sub_out_gga(x1, x2, x3) = sub_out_gga(x3) 7.07/7.07 7.07/7.07 U3_ga(x1, x2, x3, x4, x5) = U3_ga(x4, x5) 7.07/7.07 7.07/7.07 U4_ga(x1, x2, x3, x4) = U4_ga(x4) 7.07/7.07 7.07/7.07 myis_out_ag(x1, x2) = myis_out_ag(x1) 7.07/7.07 7.07/7.07 SUB_IN_GGA(x1, x2, x3) = SUB_IN_GGA(x1, x2) 7.07/7.07 7.07/7.07 7.07/7.07 We have to consider all (P,R,Pi)-chains 7.07/7.07 ---------------------------------------- 7.07/7.07 7.07/7.07 (8) UsableRulesProof (EQUIVALENT) 7.07/7.07 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 7.07/7.07 ---------------------------------------- 7.07/7.07 7.07/7.07 (9) 7.07/7.07 Obligation: 7.07/7.07 Pi DP problem: 7.07/7.07 The TRS P consists of the following rules: 7.07/7.07 7.07/7.07 SUB_IN_GGA(s(X), s(Y), Z) -> SUB_IN_GGA(X, Y, Z) 7.07/7.07 7.07/7.07 R is empty. 7.07/7.07 The argument filtering Pi contains the following mapping: 7.07/7.07 s(x1) = s(x1) 7.07/7.07 7.07/7.07 SUB_IN_GGA(x1, x2, x3) = SUB_IN_GGA(x1, x2) 7.07/7.07 7.07/7.07 7.07/7.07 We have to consider all (P,R,Pi)-chains 7.07/7.07 ---------------------------------------- 7.07/7.07 7.07/7.07 (10) PiDPToQDPProof (SOUND) 7.07/7.07 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 7.07/7.07 ---------------------------------------- 7.07/7.07 7.07/7.07 (11) 7.07/7.07 Obligation: 7.07/7.07 Q DP problem: 7.07/7.07 The TRS P consists of the following rules: 7.07/7.07 7.07/7.07 SUB_IN_GGA(s(X), s(Y)) -> SUB_IN_GGA(X, Y) 7.07/7.07 7.07/7.07 R is empty. 7.07/7.07 Q is empty. 7.07/7.07 We have to consider all (P,Q,R)-chains. 7.07/7.07 ---------------------------------------- 7.07/7.07 7.07/7.07 (12) QDPSizeChangeProof (EQUIVALENT) 7.07/7.07 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. 7.07/7.07 7.07/7.07 From the DPs we obtained the following set of size-change graphs: 7.07/7.07 *SUB_IN_GGA(s(X), s(Y)) -> SUB_IN_GGA(X, Y) 7.07/7.07 The graph contains the following edges 1 > 1, 2 > 2 7.07/7.07 7.07/7.07 7.07/7.07 ---------------------------------------- 7.07/7.07 7.07/7.07 (13) 7.07/7.07 YES 7.07/7.07 7.07/7.07 ---------------------------------------- 7.07/7.07 7.07/7.07 (14) 7.07/7.07 Obligation: 7.07/7.07 Pi DP problem: 7.07/7.07 The TRS P consists of the following rules: 7.07/7.07 7.07/7.07 ADD_IN_GGA(s(X), Y, s(Z)) -> ADD_IN_GGA(X, Y, Z) 7.07/7.07 7.07/7.07 The TRS R consists of the following rules: 7.07/7.07 7.07/7.07 myis_in_ag(Z, X) -> U1_ag(Z, X, evaluate_in_ga(X, Z)) 7.07/7.07 evaluate_in_ga(+(X, Y), Z) -> U2_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.07 evaluate_in_ga(-(X, Y), Z) -> U5_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.07 evaluate_in_ga(*(X, Y), Z) -> U8_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.07 evaluate_in_ga(X, X) -> U11_ga(X, myinteger_in_g(X)) 7.07/7.07 myinteger_in_g(s(X)) -> U12_g(X, myinteger_in_g(X)) 7.07/7.07 myinteger_in_g(0) -> myinteger_out_g(0) 7.07/7.07 U12_g(X, myinteger_out_g(X)) -> myinteger_out_g(s(X)) 7.07/7.07 U11_ga(X, myinteger_out_g(X)) -> evaluate_out_ga(X, X) 7.07/7.07 U8_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U9_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.07 U9_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U10_ga(X, Y, Z, mult_in_gga(X1, Y1, Z)) 7.07/7.07 mult_in_gga(s(X), Y, R) -> U15_gga(X, Y, R, mult_in_gga(X, Y, Z)) 7.07/7.07 mult_in_gga(0, Y, 0) -> mult_out_gga(0, Y, 0) 7.07/7.07 U15_gga(X, Y, R, mult_out_gga(X, Y, Z)) -> U16_gga(X, Y, R, add_in_gga(Y, Z, R)) 7.07/7.07 add_in_gga(s(X), Y, s(Z)) -> U13_gga(X, Y, Z, add_in_gga(X, Y, Z)) 7.07/7.07 add_in_gga(0, X, X) -> add_out_gga(0, X, X) 7.07/7.07 U13_gga(X, Y, Z, add_out_gga(X, Y, Z)) -> add_out_gga(s(X), Y, s(Z)) 7.07/7.07 U16_gga(X, Y, R, add_out_gga(Y, Z, R)) -> mult_out_gga(s(X), Y, R) 7.07/7.07 U10_ga(X, Y, Z, mult_out_gga(X1, Y1, Z)) -> evaluate_out_ga(*(X, Y), Z) 7.07/7.07 U5_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U6_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.07 U6_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U7_ga(X, Y, Z, sub_in_gga(X1, Y1, Z)) 7.07/7.07 sub_in_gga(s(X), s(Y), Z) -> U14_gga(X, Y, Z, sub_in_gga(X, Y, Z)) 7.07/7.07 sub_in_gga(X, 0, X) -> sub_out_gga(X, 0, X) 7.07/7.07 U14_gga(X, Y, Z, sub_out_gga(X, Y, Z)) -> sub_out_gga(s(X), s(Y), Z) 7.07/7.07 U7_ga(X, Y, Z, sub_out_gga(X1, Y1, Z)) -> evaluate_out_ga(-(X, Y), Z) 7.07/7.07 U2_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U3_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.07 U3_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U4_ga(X, Y, Z, add_in_gga(X1, Y1, Z)) 7.07/7.07 U4_ga(X, Y, Z, add_out_gga(X1, Y1, Z)) -> evaluate_out_ga(+(X, Y), Z) 7.07/7.07 U1_ag(Z, X, evaluate_out_ga(X, Z)) -> myis_out_ag(Z, X) 7.07/7.07 7.07/7.07 The argument filtering Pi contains the following mapping: 7.07/7.07 myis_in_ag(x1, x2) = myis_in_ag(x2) 7.07/7.07 7.07/7.07 U1_ag(x1, x2, x3) = U1_ag(x3) 7.07/7.07 7.07/7.07 evaluate_in_ga(x1, x2) = evaluate_in_ga(x1) 7.07/7.07 7.07/7.07 +(x1, x2) = +(x1, x2) 7.07/7.07 7.07/7.07 U2_ga(x1, x2, x3, x4) = U2_ga(x2, x4) 7.07/7.07 7.07/7.07 -(x1, x2) = -(x1, x2) 7.07/7.07 7.07/7.07 U5_ga(x1, x2, x3, x4) = U5_ga(x2, x4) 7.07/7.07 7.07/7.07 *(x1, x2) = *(x1, x2) 7.07/7.07 7.07/7.07 U8_ga(x1, x2, x3, x4) = U8_ga(x2, x4) 7.07/7.07 7.07/7.07 U11_ga(x1, x2) = U11_ga(x1, x2) 7.07/7.07 7.07/7.07 myinteger_in_g(x1) = myinteger_in_g(x1) 7.07/7.07 7.07/7.07 s(x1) = s(x1) 7.07/7.07 7.07/7.07 U12_g(x1, x2) = U12_g(x2) 7.07/7.07 7.07/7.07 0 = 0 7.07/7.07 7.07/7.07 myinteger_out_g(x1) = myinteger_out_g 7.07/7.07 7.07/7.07 evaluate_out_ga(x1, x2) = evaluate_out_ga(x2) 7.07/7.07 7.07/7.07 U9_ga(x1, x2, x3, x4, x5) = U9_ga(x4, x5) 7.07/7.07 7.07/7.07 U10_ga(x1, x2, x3, x4) = U10_ga(x4) 7.07/7.07 7.07/7.07 mult_in_gga(x1, x2, x3) = mult_in_gga(x1, x2) 7.07/7.07 7.07/7.07 U15_gga(x1, x2, x3, x4) = U15_gga(x2, x4) 7.07/7.07 7.07/7.07 mult_out_gga(x1, x2, x3) = mult_out_gga(x3) 7.07/7.07 7.07/7.07 U16_gga(x1, x2, x3, x4) = U16_gga(x4) 7.07/7.07 7.07/7.07 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 7.07/7.07 7.07/7.07 U13_gga(x1, x2, x3, x4) = U13_gga(x4) 7.07/7.07 7.07/7.07 add_out_gga(x1, x2, x3) = add_out_gga(x3) 7.07/7.07 7.07/7.07 U6_ga(x1, x2, x3, x4, x5) = U6_ga(x4, x5) 7.07/7.07 7.07/7.07 U7_ga(x1, x2, x3, x4) = U7_ga(x4) 7.07/7.07 7.07/7.07 sub_in_gga(x1, x2, x3) = sub_in_gga(x1, x2) 7.07/7.07 7.07/7.07 U14_gga(x1, x2, x3, x4) = U14_gga(x4) 7.07/7.07 7.07/7.07 sub_out_gga(x1, x2, x3) = sub_out_gga(x3) 7.07/7.07 7.07/7.07 U3_ga(x1, x2, x3, x4, x5) = U3_ga(x4, x5) 7.07/7.07 7.07/7.07 U4_ga(x1, x2, x3, x4) = U4_ga(x4) 7.07/7.07 7.07/7.07 myis_out_ag(x1, x2) = myis_out_ag(x1) 7.07/7.07 7.07/7.07 ADD_IN_GGA(x1, x2, x3) = ADD_IN_GGA(x1, x2) 7.07/7.07 7.07/7.07 7.07/7.07 We have to consider all (P,R,Pi)-chains 7.07/7.07 ---------------------------------------- 7.07/7.07 7.07/7.07 (15) UsableRulesProof (EQUIVALENT) 7.07/7.07 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 7.07/7.07 ---------------------------------------- 7.07/7.07 7.07/7.07 (16) 7.07/7.07 Obligation: 7.07/7.07 Pi DP problem: 7.07/7.07 The TRS P consists of the following rules: 7.07/7.07 7.07/7.07 ADD_IN_GGA(s(X), Y, s(Z)) -> ADD_IN_GGA(X, Y, Z) 7.07/7.07 7.07/7.07 R is empty. 7.07/7.07 The argument filtering Pi contains the following mapping: 7.07/7.07 s(x1) = s(x1) 7.07/7.07 7.07/7.07 ADD_IN_GGA(x1, x2, x3) = ADD_IN_GGA(x1, x2) 7.07/7.07 7.07/7.07 7.07/7.07 We have to consider all (P,R,Pi)-chains 7.07/7.07 ---------------------------------------- 7.07/7.07 7.07/7.07 (17) PiDPToQDPProof (SOUND) 7.07/7.07 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 7.07/7.07 ---------------------------------------- 7.07/7.07 7.07/7.07 (18) 7.07/7.07 Obligation: 7.07/7.07 Q DP problem: 7.07/7.07 The TRS P consists of the following rules: 7.07/7.07 7.07/7.07 ADD_IN_GGA(s(X), Y) -> ADD_IN_GGA(X, Y) 7.07/7.07 7.07/7.07 R is empty. 7.07/7.07 Q is empty. 7.07/7.07 We have to consider all (P,Q,R)-chains. 7.07/7.07 ---------------------------------------- 7.07/7.07 7.07/7.07 (19) QDPSizeChangeProof (EQUIVALENT) 7.07/7.07 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. 7.07/7.07 7.07/7.07 From the DPs we obtained the following set of size-change graphs: 7.07/7.07 *ADD_IN_GGA(s(X), Y) -> ADD_IN_GGA(X, Y) 7.07/7.07 The graph contains the following edges 1 > 1, 2 >= 2 7.07/7.07 7.07/7.07 7.07/7.07 ---------------------------------------- 7.07/7.07 7.07/7.07 (20) 7.07/7.07 YES 7.07/7.07 7.07/7.07 ---------------------------------------- 7.07/7.07 7.07/7.07 (21) 7.07/7.07 Obligation: 7.07/7.07 Pi DP problem: 7.07/7.07 The TRS P consists of the following rules: 7.07/7.07 7.07/7.07 MULT_IN_GGA(s(X), Y, R) -> MULT_IN_GGA(X, Y, Z) 7.07/7.07 7.07/7.07 The TRS R consists of the following rules: 7.07/7.07 7.07/7.07 myis_in_ag(Z, X) -> U1_ag(Z, X, evaluate_in_ga(X, Z)) 7.07/7.07 evaluate_in_ga(+(X, Y), Z) -> U2_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.07 evaluate_in_ga(-(X, Y), Z) -> U5_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.07 evaluate_in_ga(*(X, Y), Z) -> U8_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.07 evaluate_in_ga(X, X) -> U11_ga(X, myinteger_in_g(X)) 7.07/7.07 myinteger_in_g(s(X)) -> U12_g(X, myinteger_in_g(X)) 7.07/7.07 myinteger_in_g(0) -> myinteger_out_g(0) 7.07/7.07 U12_g(X, myinteger_out_g(X)) -> myinteger_out_g(s(X)) 7.07/7.07 U11_ga(X, myinteger_out_g(X)) -> evaluate_out_ga(X, X) 7.07/7.07 U8_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U9_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.07 U9_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U10_ga(X, Y, Z, mult_in_gga(X1, Y1, Z)) 7.07/7.07 mult_in_gga(s(X), Y, R) -> U15_gga(X, Y, R, mult_in_gga(X, Y, Z)) 7.07/7.07 mult_in_gga(0, Y, 0) -> mult_out_gga(0, Y, 0) 7.07/7.07 U15_gga(X, Y, R, mult_out_gga(X, Y, Z)) -> U16_gga(X, Y, R, add_in_gga(Y, Z, R)) 7.07/7.07 add_in_gga(s(X), Y, s(Z)) -> U13_gga(X, Y, Z, add_in_gga(X, Y, Z)) 7.07/7.07 add_in_gga(0, X, X) -> add_out_gga(0, X, X) 7.07/7.07 U13_gga(X, Y, Z, add_out_gga(X, Y, Z)) -> add_out_gga(s(X), Y, s(Z)) 7.07/7.07 U16_gga(X, Y, R, add_out_gga(Y, Z, R)) -> mult_out_gga(s(X), Y, R) 7.07/7.07 U10_ga(X, Y, Z, mult_out_gga(X1, Y1, Z)) -> evaluate_out_ga(*(X, Y), Z) 7.07/7.07 U5_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U6_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.07 U6_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U7_ga(X, Y, Z, sub_in_gga(X1, Y1, Z)) 7.07/7.07 sub_in_gga(s(X), s(Y), Z) -> U14_gga(X, Y, Z, sub_in_gga(X, Y, Z)) 7.07/7.07 sub_in_gga(X, 0, X) -> sub_out_gga(X, 0, X) 7.07/7.07 U14_gga(X, Y, Z, sub_out_gga(X, Y, Z)) -> sub_out_gga(s(X), s(Y), Z) 7.07/7.07 U7_ga(X, Y, Z, sub_out_gga(X1, Y1, Z)) -> evaluate_out_ga(-(X, Y), Z) 7.07/7.07 U2_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U3_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.07 U3_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U4_ga(X, Y, Z, add_in_gga(X1, Y1, Z)) 7.07/7.07 U4_ga(X, Y, Z, add_out_gga(X1, Y1, Z)) -> evaluate_out_ga(+(X, Y), Z) 7.07/7.07 U1_ag(Z, X, evaluate_out_ga(X, Z)) -> myis_out_ag(Z, X) 7.07/7.07 7.07/7.07 The argument filtering Pi contains the following mapping: 7.07/7.07 myis_in_ag(x1, x2) = myis_in_ag(x2) 7.07/7.07 7.07/7.07 U1_ag(x1, x2, x3) = U1_ag(x3) 7.07/7.07 7.07/7.07 evaluate_in_ga(x1, x2) = evaluate_in_ga(x1) 7.07/7.07 7.07/7.07 +(x1, x2) = +(x1, x2) 7.07/7.07 7.07/7.07 U2_ga(x1, x2, x3, x4) = U2_ga(x2, x4) 7.07/7.07 7.07/7.07 -(x1, x2) = -(x1, x2) 7.07/7.07 7.07/7.07 U5_ga(x1, x2, x3, x4) = U5_ga(x2, x4) 7.07/7.07 7.07/7.07 *(x1, x2) = *(x1, x2) 7.07/7.07 7.07/7.07 U8_ga(x1, x2, x3, x4) = U8_ga(x2, x4) 7.07/7.07 7.07/7.07 U11_ga(x1, x2) = U11_ga(x1, x2) 7.07/7.07 7.07/7.07 myinteger_in_g(x1) = myinteger_in_g(x1) 7.07/7.08 7.07/7.08 s(x1) = s(x1) 7.07/7.08 7.07/7.08 U12_g(x1, x2) = U12_g(x2) 7.07/7.08 7.07/7.08 0 = 0 7.07/7.08 7.07/7.08 myinteger_out_g(x1) = myinteger_out_g 7.07/7.08 7.07/7.08 evaluate_out_ga(x1, x2) = evaluate_out_ga(x2) 7.07/7.08 7.07/7.08 U9_ga(x1, x2, x3, x4, x5) = U9_ga(x4, x5) 7.07/7.08 7.07/7.08 U10_ga(x1, x2, x3, x4) = U10_ga(x4) 7.07/7.08 7.07/7.08 mult_in_gga(x1, x2, x3) = mult_in_gga(x1, x2) 7.07/7.08 7.07/7.08 U15_gga(x1, x2, x3, x4) = U15_gga(x2, x4) 7.07/7.08 7.07/7.08 mult_out_gga(x1, x2, x3) = mult_out_gga(x3) 7.07/7.08 7.07/7.08 U16_gga(x1, x2, x3, x4) = U16_gga(x4) 7.07/7.08 7.07/7.08 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 7.07/7.08 7.07/7.08 U13_gga(x1, x2, x3, x4) = U13_gga(x4) 7.07/7.08 7.07/7.08 add_out_gga(x1, x2, x3) = add_out_gga(x3) 7.07/7.08 7.07/7.08 U6_ga(x1, x2, x3, x4, x5) = U6_ga(x4, x5) 7.07/7.08 7.07/7.08 U7_ga(x1, x2, x3, x4) = U7_ga(x4) 7.07/7.08 7.07/7.08 sub_in_gga(x1, x2, x3) = sub_in_gga(x1, x2) 7.07/7.08 7.07/7.08 U14_gga(x1, x2, x3, x4) = U14_gga(x4) 7.07/7.08 7.07/7.08 sub_out_gga(x1, x2, x3) = sub_out_gga(x3) 7.07/7.08 7.07/7.08 U3_ga(x1, x2, x3, x4, x5) = U3_ga(x4, x5) 7.07/7.08 7.07/7.08 U4_ga(x1, x2, x3, x4) = U4_ga(x4) 7.07/7.08 7.07/7.08 myis_out_ag(x1, x2) = myis_out_ag(x1) 7.07/7.08 7.07/7.08 MULT_IN_GGA(x1, x2, x3) = MULT_IN_GGA(x1, x2) 7.07/7.08 7.07/7.08 7.07/7.08 We have to consider all (P,R,Pi)-chains 7.07/7.08 ---------------------------------------- 7.07/7.08 7.07/7.08 (22) UsableRulesProof (EQUIVALENT) 7.07/7.08 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 7.07/7.08 ---------------------------------------- 7.07/7.08 7.07/7.08 (23) 7.07/7.08 Obligation: 7.07/7.08 Pi DP problem: 7.07/7.08 The TRS P consists of the following rules: 7.07/7.08 7.07/7.08 MULT_IN_GGA(s(X), Y, R) -> MULT_IN_GGA(X, Y, Z) 7.07/7.08 7.07/7.08 R is empty. 7.07/7.08 The argument filtering Pi contains the following mapping: 7.07/7.08 s(x1) = s(x1) 7.07/7.08 7.07/7.08 MULT_IN_GGA(x1, x2, x3) = MULT_IN_GGA(x1, x2) 7.07/7.08 7.07/7.08 7.07/7.08 We have to consider all (P,R,Pi)-chains 7.07/7.08 ---------------------------------------- 7.07/7.08 7.07/7.08 (24) PiDPToQDPProof (SOUND) 7.07/7.08 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 7.07/7.08 ---------------------------------------- 7.07/7.08 7.07/7.08 (25) 7.07/7.08 Obligation: 7.07/7.08 Q DP problem: 7.07/7.08 The TRS P consists of the following rules: 7.07/7.08 7.07/7.08 MULT_IN_GGA(s(X), Y) -> MULT_IN_GGA(X, Y) 7.07/7.08 7.07/7.08 R is empty. 7.07/7.08 Q is empty. 7.07/7.08 We have to consider all (P,Q,R)-chains. 7.07/7.08 ---------------------------------------- 7.07/7.08 7.07/7.08 (26) QDPSizeChangeProof (EQUIVALENT) 7.07/7.08 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. 7.07/7.08 7.07/7.08 From the DPs we obtained the following set of size-change graphs: 7.07/7.08 *MULT_IN_GGA(s(X), Y) -> MULT_IN_GGA(X, Y) 7.07/7.08 The graph contains the following edges 1 > 1, 2 >= 2 7.07/7.08 7.07/7.08 7.07/7.08 ---------------------------------------- 7.07/7.08 7.07/7.08 (27) 7.07/7.08 YES 7.07/7.08 7.07/7.08 ---------------------------------------- 7.07/7.08 7.07/7.08 (28) 7.07/7.08 Obligation: 7.07/7.08 Pi DP problem: 7.07/7.08 The TRS P consists of the following rules: 7.07/7.08 7.07/7.08 MYINTEGER_IN_G(s(X)) -> MYINTEGER_IN_G(X) 7.07/7.08 7.07/7.08 The TRS R consists of the following rules: 7.07/7.08 7.07/7.08 myis_in_ag(Z, X) -> U1_ag(Z, X, evaluate_in_ga(X, Z)) 7.07/7.08 evaluate_in_ga(+(X, Y), Z) -> U2_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.08 evaluate_in_ga(-(X, Y), Z) -> U5_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.08 evaluate_in_ga(*(X, Y), Z) -> U8_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.08 evaluate_in_ga(X, X) -> U11_ga(X, myinteger_in_g(X)) 7.07/7.08 myinteger_in_g(s(X)) -> U12_g(X, myinteger_in_g(X)) 7.07/7.08 myinteger_in_g(0) -> myinteger_out_g(0) 7.07/7.08 U12_g(X, myinteger_out_g(X)) -> myinteger_out_g(s(X)) 7.07/7.08 U11_ga(X, myinteger_out_g(X)) -> evaluate_out_ga(X, X) 7.07/7.08 U8_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U9_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.08 U9_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U10_ga(X, Y, Z, mult_in_gga(X1, Y1, Z)) 7.07/7.08 mult_in_gga(s(X), Y, R) -> U15_gga(X, Y, R, mult_in_gga(X, Y, Z)) 7.07/7.08 mult_in_gga(0, Y, 0) -> mult_out_gga(0, Y, 0) 7.07/7.08 U15_gga(X, Y, R, mult_out_gga(X, Y, Z)) -> U16_gga(X, Y, R, add_in_gga(Y, Z, R)) 7.07/7.08 add_in_gga(s(X), Y, s(Z)) -> U13_gga(X, Y, Z, add_in_gga(X, Y, Z)) 7.07/7.08 add_in_gga(0, X, X) -> add_out_gga(0, X, X) 7.07/7.08 U13_gga(X, Y, Z, add_out_gga(X, Y, Z)) -> add_out_gga(s(X), Y, s(Z)) 7.07/7.08 U16_gga(X, Y, R, add_out_gga(Y, Z, R)) -> mult_out_gga(s(X), Y, R) 7.07/7.08 U10_ga(X, Y, Z, mult_out_gga(X1, Y1, Z)) -> evaluate_out_ga(*(X, Y), Z) 7.07/7.08 U5_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U6_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.08 U6_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U7_ga(X, Y, Z, sub_in_gga(X1, Y1, Z)) 7.07/7.08 sub_in_gga(s(X), s(Y), Z) -> U14_gga(X, Y, Z, sub_in_gga(X, Y, Z)) 7.07/7.08 sub_in_gga(X, 0, X) -> sub_out_gga(X, 0, X) 7.07/7.08 U14_gga(X, Y, Z, sub_out_gga(X, Y, Z)) -> sub_out_gga(s(X), s(Y), Z) 7.07/7.08 U7_ga(X, Y, Z, sub_out_gga(X1, Y1, Z)) -> evaluate_out_ga(-(X, Y), Z) 7.07/7.08 U2_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U3_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.08 U3_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U4_ga(X, Y, Z, add_in_gga(X1, Y1, Z)) 7.07/7.08 U4_ga(X, Y, Z, add_out_gga(X1, Y1, Z)) -> evaluate_out_ga(+(X, Y), Z) 7.07/7.08 U1_ag(Z, X, evaluate_out_ga(X, Z)) -> myis_out_ag(Z, X) 7.07/7.08 7.07/7.08 The argument filtering Pi contains the following mapping: 7.07/7.08 myis_in_ag(x1, x2) = myis_in_ag(x2) 7.07/7.08 7.07/7.08 U1_ag(x1, x2, x3) = U1_ag(x3) 7.07/7.08 7.07/7.08 evaluate_in_ga(x1, x2) = evaluate_in_ga(x1) 7.07/7.08 7.07/7.08 +(x1, x2) = +(x1, x2) 7.07/7.08 7.07/7.08 U2_ga(x1, x2, x3, x4) = U2_ga(x2, x4) 7.07/7.08 7.07/7.08 -(x1, x2) = -(x1, x2) 7.07/7.08 7.07/7.08 U5_ga(x1, x2, x3, x4) = U5_ga(x2, x4) 7.07/7.08 7.07/7.08 *(x1, x2) = *(x1, x2) 7.07/7.08 7.07/7.08 U8_ga(x1, x2, x3, x4) = U8_ga(x2, x4) 7.07/7.08 7.07/7.08 U11_ga(x1, x2) = U11_ga(x1, x2) 7.07/7.08 7.07/7.08 myinteger_in_g(x1) = myinteger_in_g(x1) 7.07/7.08 7.07/7.08 s(x1) = s(x1) 7.07/7.08 7.07/7.08 U12_g(x1, x2) = U12_g(x2) 7.07/7.08 7.07/7.08 0 = 0 7.07/7.08 7.07/7.08 myinteger_out_g(x1) = myinteger_out_g 7.07/7.08 7.07/7.08 evaluate_out_ga(x1, x2) = evaluate_out_ga(x2) 7.07/7.08 7.07/7.08 U9_ga(x1, x2, x3, x4, x5) = U9_ga(x4, x5) 7.07/7.08 7.07/7.08 U10_ga(x1, x2, x3, x4) = U10_ga(x4) 7.07/7.08 7.07/7.08 mult_in_gga(x1, x2, x3) = mult_in_gga(x1, x2) 7.07/7.08 7.07/7.08 U15_gga(x1, x2, x3, x4) = U15_gga(x2, x4) 7.07/7.08 7.07/7.08 mult_out_gga(x1, x2, x3) = mult_out_gga(x3) 7.07/7.08 7.07/7.08 U16_gga(x1, x2, x3, x4) = U16_gga(x4) 7.07/7.08 7.07/7.08 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 7.07/7.08 7.07/7.08 U13_gga(x1, x2, x3, x4) = U13_gga(x4) 7.07/7.08 7.07/7.08 add_out_gga(x1, x2, x3) = add_out_gga(x3) 7.07/7.08 7.07/7.08 U6_ga(x1, x2, x3, x4, x5) = U6_ga(x4, x5) 7.07/7.08 7.07/7.08 U7_ga(x1, x2, x3, x4) = U7_ga(x4) 7.07/7.08 7.07/7.08 sub_in_gga(x1, x2, x3) = sub_in_gga(x1, x2) 7.07/7.08 7.07/7.08 U14_gga(x1, x2, x3, x4) = U14_gga(x4) 7.07/7.08 7.07/7.08 sub_out_gga(x1, x2, x3) = sub_out_gga(x3) 7.07/7.08 7.07/7.08 U3_ga(x1, x2, x3, x4, x5) = U3_ga(x4, x5) 7.07/7.08 7.07/7.08 U4_ga(x1, x2, x3, x4) = U4_ga(x4) 7.07/7.08 7.07/7.08 myis_out_ag(x1, x2) = myis_out_ag(x1) 7.07/7.08 7.07/7.08 MYINTEGER_IN_G(x1) = MYINTEGER_IN_G(x1) 7.07/7.08 7.07/7.08 7.07/7.08 We have to consider all (P,R,Pi)-chains 7.07/7.08 ---------------------------------------- 7.07/7.08 7.07/7.08 (29) UsableRulesProof (EQUIVALENT) 7.07/7.08 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 7.07/7.08 ---------------------------------------- 7.07/7.08 7.07/7.08 (30) 7.07/7.08 Obligation: 7.07/7.08 Pi DP problem: 7.07/7.08 The TRS P consists of the following rules: 7.07/7.08 7.07/7.08 MYINTEGER_IN_G(s(X)) -> MYINTEGER_IN_G(X) 7.07/7.08 7.07/7.08 R is empty. 7.07/7.08 Pi is empty. 7.07/7.08 We have to consider all (P,R,Pi)-chains 7.07/7.08 ---------------------------------------- 7.07/7.08 7.07/7.08 (31) PiDPToQDPProof (EQUIVALENT) 7.07/7.08 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 7.07/7.08 ---------------------------------------- 7.07/7.08 7.07/7.08 (32) 7.07/7.08 Obligation: 7.07/7.08 Q DP problem: 7.07/7.08 The TRS P consists of the following rules: 7.07/7.08 7.07/7.08 MYINTEGER_IN_G(s(X)) -> MYINTEGER_IN_G(X) 7.07/7.08 7.07/7.08 R is empty. 7.07/7.08 Q is empty. 7.07/7.08 We have to consider all (P,Q,R)-chains. 7.07/7.08 ---------------------------------------- 7.07/7.08 7.07/7.08 (33) QDPSizeChangeProof (EQUIVALENT) 7.07/7.08 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. 7.07/7.08 7.07/7.08 From the DPs we obtained the following set of size-change graphs: 7.07/7.08 *MYINTEGER_IN_G(s(X)) -> MYINTEGER_IN_G(X) 7.07/7.08 The graph contains the following edges 1 > 1 7.07/7.08 7.07/7.08 7.07/7.08 ---------------------------------------- 7.07/7.08 7.07/7.08 (34) 7.07/7.08 YES 7.07/7.08 7.07/7.08 ---------------------------------------- 7.07/7.08 7.07/7.08 (35) 7.07/7.08 Obligation: 7.07/7.08 Pi DP problem: 7.07/7.08 The TRS P consists of the following rules: 7.07/7.08 7.07/7.08 U2_GA(X, Y, Z, evaluate_out_ga(X, X1)) -> EVALUATE_IN_GA(Y, Y1) 7.07/7.08 EVALUATE_IN_GA(+(X, Y), Z) -> U2_GA(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.08 EVALUATE_IN_GA(+(X, Y), Z) -> EVALUATE_IN_GA(X, X1) 7.07/7.08 EVALUATE_IN_GA(-(X, Y), Z) -> U5_GA(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.08 U5_GA(X, Y, Z, evaluate_out_ga(X, X1)) -> EVALUATE_IN_GA(Y, Y1) 7.07/7.08 EVALUATE_IN_GA(-(X, Y), Z) -> EVALUATE_IN_GA(X, X1) 7.07/7.08 EVALUATE_IN_GA(*(X, Y), Z) -> U8_GA(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.08 U8_GA(X, Y, Z, evaluate_out_ga(X, X1)) -> EVALUATE_IN_GA(Y, Y1) 7.07/7.08 EVALUATE_IN_GA(*(X, Y), Z) -> EVALUATE_IN_GA(X, X1) 7.07/7.08 7.07/7.08 The TRS R consists of the following rules: 7.07/7.08 7.07/7.08 myis_in_ag(Z, X) -> U1_ag(Z, X, evaluate_in_ga(X, Z)) 7.07/7.08 evaluate_in_ga(+(X, Y), Z) -> U2_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.08 evaluate_in_ga(-(X, Y), Z) -> U5_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.08 evaluate_in_ga(*(X, Y), Z) -> U8_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.08 evaluate_in_ga(X, X) -> U11_ga(X, myinteger_in_g(X)) 7.07/7.08 myinteger_in_g(s(X)) -> U12_g(X, myinteger_in_g(X)) 7.07/7.08 myinteger_in_g(0) -> myinteger_out_g(0) 7.07/7.08 U12_g(X, myinteger_out_g(X)) -> myinteger_out_g(s(X)) 7.07/7.08 U11_ga(X, myinteger_out_g(X)) -> evaluate_out_ga(X, X) 7.07/7.08 U8_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U9_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.08 U9_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U10_ga(X, Y, Z, mult_in_gga(X1, Y1, Z)) 7.07/7.08 mult_in_gga(s(X), Y, R) -> U15_gga(X, Y, R, mult_in_gga(X, Y, Z)) 7.07/7.08 mult_in_gga(0, Y, 0) -> mult_out_gga(0, Y, 0) 7.07/7.08 U15_gga(X, Y, R, mult_out_gga(X, Y, Z)) -> U16_gga(X, Y, R, add_in_gga(Y, Z, R)) 7.07/7.08 add_in_gga(s(X), Y, s(Z)) -> U13_gga(X, Y, Z, add_in_gga(X, Y, Z)) 7.07/7.08 add_in_gga(0, X, X) -> add_out_gga(0, X, X) 7.07/7.08 U13_gga(X, Y, Z, add_out_gga(X, Y, Z)) -> add_out_gga(s(X), Y, s(Z)) 7.07/7.08 U16_gga(X, Y, R, add_out_gga(Y, Z, R)) -> mult_out_gga(s(X), Y, R) 7.07/7.08 U10_ga(X, Y, Z, mult_out_gga(X1, Y1, Z)) -> evaluate_out_ga(*(X, Y), Z) 7.07/7.08 U5_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U6_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.08 U6_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U7_ga(X, Y, Z, sub_in_gga(X1, Y1, Z)) 7.07/7.08 sub_in_gga(s(X), s(Y), Z) -> U14_gga(X, Y, Z, sub_in_gga(X, Y, Z)) 7.07/7.08 sub_in_gga(X, 0, X) -> sub_out_gga(X, 0, X) 7.07/7.08 U14_gga(X, Y, Z, sub_out_gga(X, Y, Z)) -> sub_out_gga(s(X), s(Y), Z) 7.07/7.08 U7_ga(X, Y, Z, sub_out_gga(X1, Y1, Z)) -> evaluate_out_ga(-(X, Y), Z) 7.07/7.08 U2_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U3_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.08 U3_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U4_ga(X, Y, Z, add_in_gga(X1, Y1, Z)) 7.07/7.08 U4_ga(X, Y, Z, add_out_gga(X1, Y1, Z)) -> evaluate_out_ga(+(X, Y), Z) 7.07/7.08 U1_ag(Z, X, evaluate_out_ga(X, Z)) -> myis_out_ag(Z, X) 7.07/7.08 7.07/7.08 The argument filtering Pi contains the following mapping: 7.07/7.08 myis_in_ag(x1, x2) = myis_in_ag(x2) 7.07/7.08 7.07/7.08 U1_ag(x1, x2, x3) = U1_ag(x3) 7.07/7.08 7.07/7.08 evaluate_in_ga(x1, x2) = evaluate_in_ga(x1) 7.07/7.08 7.07/7.08 +(x1, x2) = +(x1, x2) 7.07/7.08 7.07/7.08 U2_ga(x1, x2, x3, x4) = U2_ga(x2, x4) 7.07/7.08 7.07/7.08 -(x1, x2) = -(x1, x2) 7.07/7.08 7.07/7.08 U5_ga(x1, x2, x3, x4) = U5_ga(x2, x4) 7.07/7.08 7.07/7.08 *(x1, x2) = *(x1, x2) 7.07/7.08 7.07/7.08 U8_ga(x1, x2, x3, x4) = U8_ga(x2, x4) 7.07/7.08 7.07/7.08 U11_ga(x1, x2) = U11_ga(x1, x2) 7.07/7.08 7.07/7.08 myinteger_in_g(x1) = myinteger_in_g(x1) 7.07/7.08 7.07/7.08 s(x1) = s(x1) 7.07/7.08 7.07/7.08 U12_g(x1, x2) = U12_g(x2) 7.07/7.08 7.07/7.08 0 = 0 7.07/7.08 7.07/7.08 myinteger_out_g(x1) = myinteger_out_g 7.07/7.08 7.07/7.08 evaluate_out_ga(x1, x2) = evaluate_out_ga(x2) 7.07/7.08 7.07/7.08 U9_ga(x1, x2, x3, x4, x5) = U9_ga(x4, x5) 7.07/7.08 7.07/7.08 U10_ga(x1, x2, x3, x4) = U10_ga(x4) 7.07/7.08 7.07/7.08 mult_in_gga(x1, x2, x3) = mult_in_gga(x1, x2) 7.07/7.08 7.07/7.08 U15_gga(x1, x2, x3, x4) = U15_gga(x2, x4) 7.07/7.08 7.07/7.08 mult_out_gga(x1, x2, x3) = mult_out_gga(x3) 7.07/7.08 7.07/7.08 U16_gga(x1, x2, x3, x4) = U16_gga(x4) 7.07/7.08 7.07/7.08 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 7.07/7.08 7.07/7.08 U13_gga(x1, x2, x3, x4) = U13_gga(x4) 7.07/7.08 7.07/7.08 add_out_gga(x1, x2, x3) = add_out_gga(x3) 7.07/7.08 7.07/7.08 U6_ga(x1, x2, x3, x4, x5) = U6_ga(x4, x5) 7.07/7.08 7.07/7.08 U7_ga(x1, x2, x3, x4) = U7_ga(x4) 7.07/7.08 7.07/7.08 sub_in_gga(x1, x2, x3) = sub_in_gga(x1, x2) 7.07/7.08 7.07/7.08 U14_gga(x1, x2, x3, x4) = U14_gga(x4) 7.07/7.08 7.07/7.08 sub_out_gga(x1, x2, x3) = sub_out_gga(x3) 7.07/7.08 7.07/7.08 U3_ga(x1, x2, x3, x4, x5) = U3_ga(x4, x5) 7.07/7.08 7.07/7.08 U4_ga(x1, x2, x3, x4) = U4_ga(x4) 7.07/7.08 7.07/7.08 myis_out_ag(x1, x2) = myis_out_ag(x1) 7.07/7.08 7.07/7.08 EVALUATE_IN_GA(x1, x2) = EVALUATE_IN_GA(x1) 7.07/7.08 7.07/7.08 U2_GA(x1, x2, x3, x4) = U2_GA(x2, x4) 7.07/7.08 7.07/7.08 U5_GA(x1, x2, x3, x4) = U5_GA(x2, x4) 7.07/7.08 7.07/7.08 U8_GA(x1, x2, x3, x4) = U8_GA(x2, x4) 7.07/7.08 7.07/7.08 7.07/7.08 We have to consider all (P,R,Pi)-chains 7.07/7.08 ---------------------------------------- 7.07/7.08 7.07/7.08 (36) UsableRulesProof (EQUIVALENT) 7.07/7.08 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 7.07/7.08 ---------------------------------------- 7.07/7.08 7.07/7.08 (37) 7.07/7.08 Obligation: 7.07/7.08 Pi DP problem: 7.07/7.08 The TRS P consists of the following rules: 7.07/7.08 7.07/7.08 U2_GA(X, Y, Z, evaluate_out_ga(X, X1)) -> EVALUATE_IN_GA(Y, Y1) 7.07/7.08 EVALUATE_IN_GA(+(X, Y), Z) -> U2_GA(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.08 EVALUATE_IN_GA(+(X, Y), Z) -> EVALUATE_IN_GA(X, X1) 7.07/7.08 EVALUATE_IN_GA(-(X, Y), Z) -> U5_GA(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.08 U5_GA(X, Y, Z, evaluate_out_ga(X, X1)) -> EVALUATE_IN_GA(Y, Y1) 7.07/7.08 EVALUATE_IN_GA(-(X, Y), Z) -> EVALUATE_IN_GA(X, X1) 7.07/7.08 EVALUATE_IN_GA(*(X, Y), Z) -> U8_GA(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.08 U8_GA(X, Y, Z, evaluate_out_ga(X, X1)) -> EVALUATE_IN_GA(Y, Y1) 7.07/7.08 EVALUATE_IN_GA(*(X, Y), Z) -> EVALUATE_IN_GA(X, X1) 7.07/7.08 7.07/7.08 The TRS R consists of the following rules: 7.07/7.08 7.07/7.08 evaluate_in_ga(+(X, Y), Z) -> U2_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.08 evaluate_in_ga(-(X, Y), Z) -> U5_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.08 evaluate_in_ga(*(X, Y), Z) -> U8_ga(X, Y, Z, evaluate_in_ga(X, X1)) 7.07/7.08 evaluate_in_ga(X, X) -> U11_ga(X, myinteger_in_g(X)) 7.07/7.08 U2_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U3_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.08 U5_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U6_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.08 U8_ga(X, Y, Z, evaluate_out_ga(X, X1)) -> U9_ga(X, Y, Z, X1, evaluate_in_ga(Y, Y1)) 7.07/7.08 U11_ga(X, myinteger_out_g(X)) -> evaluate_out_ga(X, X) 7.07/7.08 U3_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U4_ga(X, Y, Z, add_in_gga(X1, Y1, Z)) 7.07/7.08 U6_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U7_ga(X, Y, Z, sub_in_gga(X1, Y1, Z)) 7.07/7.08 U9_ga(X, Y, Z, X1, evaluate_out_ga(Y, Y1)) -> U10_ga(X, Y, Z, mult_in_gga(X1, Y1, Z)) 7.07/7.08 myinteger_in_g(s(X)) -> U12_g(X, myinteger_in_g(X)) 7.07/7.08 myinteger_in_g(0) -> myinteger_out_g(0) 7.07/7.08 U4_ga(X, Y, Z, add_out_gga(X1, Y1, Z)) -> evaluate_out_ga(+(X, Y), Z) 7.07/7.08 U7_ga(X, Y, Z, sub_out_gga(X1, Y1, Z)) -> evaluate_out_ga(-(X, Y), Z) 7.07/7.08 U10_ga(X, Y, Z, mult_out_gga(X1, Y1, Z)) -> evaluate_out_ga(*(X, Y), Z) 7.07/7.08 U12_g(X, myinteger_out_g(X)) -> myinteger_out_g(s(X)) 7.07/7.08 add_in_gga(s(X), Y, s(Z)) -> U13_gga(X, Y, Z, add_in_gga(X, Y, Z)) 7.07/7.08 add_in_gga(0, X, X) -> add_out_gga(0, X, X) 7.07/7.08 sub_in_gga(s(X), s(Y), Z) -> U14_gga(X, Y, Z, sub_in_gga(X, Y, Z)) 7.07/7.08 sub_in_gga(X, 0, X) -> sub_out_gga(X, 0, X) 7.07/7.08 mult_in_gga(s(X), Y, R) -> U15_gga(X, Y, R, mult_in_gga(X, Y, Z)) 7.07/7.08 mult_in_gga(0, Y, 0) -> mult_out_gga(0, Y, 0) 7.07/7.08 U13_gga(X, Y, Z, add_out_gga(X, Y, Z)) -> add_out_gga(s(X), Y, s(Z)) 7.07/7.08 U14_gga(X, Y, Z, sub_out_gga(X, Y, Z)) -> sub_out_gga(s(X), s(Y), Z) 7.07/7.08 U15_gga(X, Y, R, mult_out_gga(X, Y, Z)) -> U16_gga(X, Y, R, add_in_gga(Y, Z, R)) 7.07/7.08 U16_gga(X, Y, R, add_out_gga(Y, Z, R)) -> mult_out_gga(s(X), Y, R) 7.07/7.08 7.07/7.08 The argument filtering Pi contains the following mapping: 7.07/7.08 evaluate_in_ga(x1, x2) = evaluate_in_ga(x1) 7.07/7.08 7.07/7.08 +(x1, x2) = +(x1, x2) 7.07/7.08 7.07/7.08 U2_ga(x1, x2, x3, x4) = U2_ga(x2, x4) 7.07/7.08 7.07/7.08 -(x1, x2) = -(x1, x2) 7.07/7.08 7.07/7.08 U5_ga(x1, x2, x3, x4) = U5_ga(x2, x4) 7.07/7.08 7.07/7.08 *(x1, x2) = *(x1, x2) 7.07/7.08 7.07/7.08 U8_ga(x1, x2, x3, x4) = U8_ga(x2, x4) 7.07/7.08 7.07/7.08 U11_ga(x1, x2) = U11_ga(x1, x2) 7.07/7.08 7.07/7.08 myinteger_in_g(x1) = myinteger_in_g(x1) 7.07/7.08 7.07/7.08 s(x1) = s(x1) 7.07/7.08 7.07/7.08 U12_g(x1, x2) = U12_g(x2) 7.07/7.08 7.07/7.08 0 = 0 7.07/7.08 7.07/7.08 myinteger_out_g(x1) = myinteger_out_g 7.07/7.08 7.07/7.08 evaluate_out_ga(x1, x2) = evaluate_out_ga(x2) 7.07/7.08 7.07/7.08 U9_ga(x1, x2, x3, x4, x5) = U9_ga(x4, x5) 7.07/7.08 7.07/7.08 U10_ga(x1, x2, x3, x4) = U10_ga(x4) 7.07/7.08 7.07/7.08 mult_in_gga(x1, x2, x3) = mult_in_gga(x1, x2) 7.07/7.08 7.07/7.08 U15_gga(x1, x2, x3, x4) = U15_gga(x2, x4) 7.07/7.08 7.07/7.08 mult_out_gga(x1, x2, x3) = mult_out_gga(x3) 7.07/7.08 7.07/7.08 U16_gga(x1, x2, x3, x4) = U16_gga(x4) 7.07/7.08 7.07/7.08 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 7.07/7.08 7.07/7.08 U13_gga(x1, x2, x3, x4) = U13_gga(x4) 7.07/7.08 7.07/7.08 add_out_gga(x1, x2, x3) = add_out_gga(x3) 7.07/7.08 7.07/7.08 U6_ga(x1, x2, x3, x4, x5) = U6_ga(x4, x5) 7.07/7.08 7.07/7.08 U7_ga(x1, x2, x3, x4) = U7_ga(x4) 7.07/7.08 7.07/7.08 sub_in_gga(x1, x2, x3) = sub_in_gga(x1, x2) 7.07/7.08 7.07/7.08 U14_gga(x1, x2, x3, x4) = U14_gga(x4) 7.07/7.08 7.07/7.08 sub_out_gga(x1, x2, x3) = sub_out_gga(x3) 7.07/7.08 7.07/7.08 U3_ga(x1, x2, x3, x4, x5) = U3_ga(x4, x5) 7.07/7.08 7.07/7.08 U4_ga(x1, x2, x3, x4) = U4_ga(x4) 7.07/7.08 7.07/7.08 EVALUATE_IN_GA(x1, x2) = EVALUATE_IN_GA(x1) 7.07/7.08 7.07/7.08 U2_GA(x1, x2, x3, x4) = U2_GA(x2, x4) 7.07/7.08 7.07/7.08 U5_GA(x1, x2, x3, x4) = U5_GA(x2, x4) 7.07/7.08 7.07/7.08 U8_GA(x1, x2, x3, x4) = U8_GA(x2, x4) 7.07/7.08 7.07/7.08 7.07/7.08 We have to consider all (P,R,Pi)-chains 7.07/7.08 ---------------------------------------- 7.07/7.08 7.07/7.08 (38) PiDPToQDPProof (SOUND) 7.07/7.08 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 7.07/7.08 ---------------------------------------- 7.07/7.08 7.07/7.08 (39) 7.07/7.08 Obligation: 7.07/7.08 Q DP problem: 7.07/7.08 The TRS P consists of the following rules: 7.07/7.08 7.07/7.08 U2_GA(Y, evaluate_out_ga(X1)) -> EVALUATE_IN_GA(Y) 7.07/7.08 EVALUATE_IN_GA(+(X, Y)) -> U2_GA(Y, evaluate_in_ga(X)) 7.07/7.08 EVALUATE_IN_GA(+(X, Y)) -> EVALUATE_IN_GA(X) 7.07/7.08 EVALUATE_IN_GA(-(X, Y)) -> U5_GA(Y, evaluate_in_ga(X)) 7.07/7.08 U5_GA(Y, evaluate_out_ga(X1)) -> EVALUATE_IN_GA(Y) 7.07/7.08 EVALUATE_IN_GA(-(X, Y)) -> EVALUATE_IN_GA(X) 7.07/7.08 EVALUATE_IN_GA(*(X, Y)) -> U8_GA(Y, evaluate_in_ga(X)) 7.07/7.08 U8_GA(Y, evaluate_out_ga(X1)) -> EVALUATE_IN_GA(Y) 7.07/7.08 EVALUATE_IN_GA(*(X, Y)) -> EVALUATE_IN_GA(X) 7.07/7.08 7.07/7.08 The TRS R consists of the following rules: 7.07/7.08 7.07/7.08 evaluate_in_ga(+(X, Y)) -> U2_ga(Y, evaluate_in_ga(X)) 7.07/7.08 evaluate_in_ga(-(X, Y)) -> U5_ga(Y, evaluate_in_ga(X)) 7.07/7.08 evaluate_in_ga(*(X, Y)) -> U8_ga(Y, evaluate_in_ga(X)) 7.07/7.08 evaluate_in_ga(X) -> U11_ga(X, myinteger_in_g(X)) 7.07/7.08 U2_ga(Y, evaluate_out_ga(X1)) -> U3_ga(X1, evaluate_in_ga(Y)) 7.07/7.08 U5_ga(Y, evaluate_out_ga(X1)) -> U6_ga(X1, evaluate_in_ga(Y)) 7.07/7.08 U8_ga(Y, evaluate_out_ga(X1)) -> U9_ga(X1, evaluate_in_ga(Y)) 7.07/7.08 U11_ga(X, myinteger_out_g) -> evaluate_out_ga(X) 7.07/7.08 U3_ga(X1, evaluate_out_ga(Y1)) -> U4_ga(add_in_gga(X1, Y1)) 7.07/7.08 U6_ga(X1, evaluate_out_ga(Y1)) -> U7_ga(sub_in_gga(X1, Y1)) 7.07/7.08 U9_ga(X1, evaluate_out_ga(Y1)) -> U10_ga(mult_in_gga(X1, Y1)) 7.07/7.08 myinteger_in_g(s(X)) -> U12_g(myinteger_in_g(X)) 7.07/7.08 myinteger_in_g(0) -> myinteger_out_g 7.07/7.08 U4_ga(add_out_gga(Z)) -> evaluate_out_ga(Z) 7.07/7.08 U7_ga(sub_out_gga(Z)) -> evaluate_out_ga(Z) 7.07/7.08 U10_ga(mult_out_gga(Z)) -> evaluate_out_ga(Z) 7.07/7.08 U12_g(myinteger_out_g) -> myinteger_out_g 7.07/7.08 add_in_gga(s(X), Y) -> U13_gga(add_in_gga(X, Y)) 7.07/7.08 add_in_gga(0, X) -> add_out_gga(X) 7.07/7.08 sub_in_gga(s(X), s(Y)) -> U14_gga(sub_in_gga(X, Y)) 7.07/7.08 sub_in_gga(X, 0) -> sub_out_gga(X) 7.07/7.08 mult_in_gga(s(X), Y) -> U15_gga(Y, mult_in_gga(X, Y)) 7.07/7.08 mult_in_gga(0, Y) -> mult_out_gga(0) 7.07/7.08 U13_gga(add_out_gga(Z)) -> add_out_gga(s(Z)) 7.07/7.08 U14_gga(sub_out_gga(Z)) -> sub_out_gga(Z) 7.07/7.08 U15_gga(Y, mult_out_gga(Z)) -> U16_gga(add_in_gga(Y, Z)) 7.07/7.08 U16_gga(add_out_gga(R)) -> mult_out_gga(R) 7.07/7.08 7.07/7.08 The set Q consists of the following terms: 7.07/7.08 7.07/7.08 evaluate_in_ga(x0) 7.07/7.08 U2_ga(x0, x1) 7.07/7.08 U5_ga(x0, x1) 7.07/7.08 U8_ga(x0, x1) 7.07/7.08 U11_ga(x0, x1) 7.07/7.08 U3_ga(x0, x1) 7.07/7.08 U6_ga(x0, x1) 7.07/7.08 U9_ga(x0, x1) 7.07/7.08 myinteger_in_g(x0) 7.07/7.08 U4_ga(x0) 7.07/7.08 U7_ga(x0) 7.07/7.08 U10_ga(x0) 7.07/7.08 U12_g(x0) 7.07/7.08 add_in_gga(x0, x1) 7.07/7.08 sub_in_gga(x0, x1) 7.07/7.08 mult_in_gga(x0, x1) 7.07/7.08 U13_gga(x0) 7.07/7.08 U14_gga(x0) 7.07/7.08 U15_gga(x0, x1) 7.07/7.08 U16_gga(x0) 7.07/7.08 7.07/7.08 We have to consider all (P,Q,R)-chains. 7.07/7.08 ---------------------------------------- 7.07/7.08 7.07/7.08 (40) QDPSizeChangeProof (EQUIVALENT) 7.07/7.08 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. 7.07/7.08 7.07/7.08 From the DPs we obtained the following set of size-change graphs: 7.07/7.08 *EVALUATE_IN_GA(+(X, Y)) -> U2_GA(Y, evaluate_in_ga(X)) 7.07/7.08 The graph contains the following edges 1 > 1 7.07/7.08 7.07/7.08 7.07/7.08 *U2_GA(Y, evaluate_out_ga(X1)) -> EVALUATE_IN_GA(Y) 7.07/7.08 The graph contains the following edges 1 >= 1 7.07/7.08 7.07/7.08 7.07/7.08 *U5_GA(Y, evaluate_out_ga(X1)) -> EVALUATE_IN_GA(Y) 7.07/7.08 The graph contains the following edges 1 >= 1 7.07/7.08 7.07/7.08 7.07/7.08 *U8_GA(Y, evaluate_out_ga(X1)) -> EVALUATE_IN_GA(Y) 7.07/7.08 The graph contains the following edges 1 >= 1 7.07/7.08 7.07/7.08 7.07/7.08 *EVALUATE_IN_GA(-(X, Y)) -> U5_GA(Y, evaluate_in_ga(X)) 7.07/7.08 The graph contains the following edges 1 > 1 7.07/7.08 7.07/7.08 7.07/7.08 *EVALUATE_IN_GA(*(X, Y)) -> U8_GA(Y, evaluate_in_ga(X)) 7.07/7.08 The graph contains the following edges 1 > 1 7.07/7.08 7.07/7.08 7.07/7.08 *EVALUATE_IN_GA(+(X, Y)) -> EVALUATE_IN_GA(X) 7.07/7.08 The graph contains the following edges 1 > 1 7.07/7.08 7.07/7.08 7.07/7.08 *EVALUATE_IN_GA(-(X, Y)) -> EVALUATE_IN_GA(X) 7.07/7.08 The graph contains the following edges 1 > 1 7.07/7.08 7.07/7.08 7.07/7.08 *EVALUATE_IN_GA(*(X, Y)) -> EVALUATE_IN_GA(X) 7.07/7.08 The graph contains the following edges 1 > 1 7.07/7.08 7.07/7.08 7.07/7.08 ---------------------------------------- 7.07/7.08 7.07/7.08 (41) 7.07/7.08 YES 7.07/7.09 EOF