6.48/2.56 YES 6.48/2.58 proof of /export/starexec/sandbox/benchmark/theBenchmark.pl 6.48/2.58 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 6.48/2.58 6.48/2.58 6.48/2.58 Left Termination of the query pattern 6.48/2.58 6.48/2.58 add(g,g,a) 6.48/2.58 6.48/2.58 w.r.t. the given Prolog program could successfully be proven: 6.48/2.58 6.48/2.58 (0) Prolog 6.48/2.58 (1) PrologToPiTRSProof [SOUND, 40 ms] 6.48/2.58 (2) PiTRS 6.48/2.58 (3) DependencyPairsProof [EQUIVALENT, 73 ms] 6.48/2.58 (4) PiDP 6.48/2.58 (5) DependencyGraphProof [EQUIVALENT, 0 ms] 6.48/2.58 (6) AND 6.48/2.58 (7) PiDP 6.48/2.58 (8) UsableRulesProof [EQUIVALENT, 0 ms] 6.48/2.58 (9) PiDP 6.48/2.58 (10) PiDPToQDPProof [EQUIVALENT, 5 ms] 6.48/2.58 (11) QDP 6.48/2.58 (12) QDPSizeChangeProof [EQUIVALENT, 0 ms] 6.48/2.58 (13) YES 6.48/2.58 (14) PiDP 6.48/2.58 (15) UsableRulesProof [EQUIVALENT, 0 ms] 6.48/2.58 (16) PiDP 6.48/2.58 (17) PiDPToQDPProof [SOUND, 0 ms] 6.48/2.58 (18) QDP 6.48/2.58 (19) QDPSizeChangeProof [EQUIVALENT, 0 ms] 6.48/2.58 (20) YES 6.48/2.58 (21) PiDP 6.48/2.58 (22) UsableRulesProof [EQUIVALENT, 0 ms] 6.48/2.58 (23) PiDP 6.48/2.58 (24) PiDPToQDPProof [SOUND, 1 ms] 6.48/2.58 (25) QDP 6.48/2.58 (26) QDPSizeChangeProof [EQUIVALENT, 0 ms] 6.48/2.58 (27) YES 6.48/2.58 6.48/2.58 6.48/2.58 ---------------------------------------- 6.48/2.58 6.48/2.58 (0) 6.48/2.58 Obligation: 6.48/2.58 Clauses: 6.48/2.58 6.48/2.58 add(b, b, b). 6.48/2.58 add(X, b, X) :- binaryZ(X). 6.48/2.58 add(b, Y, Y) :- binaryZ(Y). 6.48/2.58 add(X, Y, Z) :- addz(X, Y, Z). 6.48/2.58 addx(one(X), b, one(X)) :- binary(X). 6.48/2.58 addx(zero(X), b, zero(X)) :- binaryZ(X). 6.48/2.58 addx(X, Y, Z) :- addz(X, Y, Z). 6.48/2.58 addy(b, one(Y), one(Y)) :- binary(Y). 6.48/2.58 addy(b, zero(Y), zero(Y)) :- binaryZ(Y). 6.48/2.58 addy(X, Y, Z) :- addz(X, Y, Z). 6.48/2.58 addz(zero(X), zero(Y), zero(Z)) :- addz(X, Y, Z). 6.48/2.58 addz(zero(X), one(Y), one(Z)) :- addx(X, Y, Z). 6.48/2.58 addz(one(X), zero(Y), one(Z)) :- addy(X, Y, Z). 6.48/2.58 addz(one(X), one(Y), zero(Z)) :- addc(X, Y, Z). 6.48/2.58 addc(b, b, one(b)). 6.48/2.58 addc(X, b, Z) :- succZ(X, Z). 6.48/2.58 addc(b, Y, Z) :- succZ(Y, Z). 6.48/2.58 addc(X, Y, Z) :- addC(X, Y, Z). 6.48/2.58 addX(zero(X), b, one(X)) :- binaryZ(X). 6.48/2.58 addX(one(X), b, zero(Z)) :- succ(X, Z). 6.48/2.58 addX(X, Y, Z) :- addC(X, Y, Z). 6.48/2.58 addY(b, zero(Y), one(Y)) :- binaryZ(Y). 6.48/2.58 addY(b, one(Y), zero(Z)) :- succ(Y, Z). 6.48/2.58 addY(X, Y, Z) :- addC(X, Y, Z). 6.48/2.58 addC(zero(X), zero(Y), one(Z)) :- addz(X, Y, Z). 6.48/2.58 addC(zero(X), one(Y), zero(Z)) :- addX(X, Y, Z). 6.48/2.58 addC(one(X), zero(Y), zero(Z)) :- addY(X, Y, Z). 6.48/2.58 addC(one(X), one(Y), one(Z)) :- addc(X, Y, Z). 6.48/2.58 binary(b). 6.48/2.58 binary(zero(X)) :- binaryZ(X). 6.48/2.58 binary(one(X)) :- binary(X). 6.48/2.58 binaryZ(zero(X)) :- binaryZ(X). 6.48/2.58 binaryZ(one(X)) :- binary(X). 6.48/2.58 succ(b, one(b)). 6.48/2.58 succ(zero(X), one(X)) :- binaryZ(X). 6.48/2.58 succ(one(X), zero(Z)) :- succ(X, Z). 6.48/2.58 succZ(zero(X), one(X)) :- binaryZ(X). 6.48/2.58 succZ(one(X), zero(Z)) :- succ(X, Z). 6.48/2.58 times(one(b), X, X). 6.48/2.58 times(zero(R), S, zero(RS)) :- times(R, S, RS). 6.48/2.58 times(one(R), S, RSS) :- ','(times(R, S, RS), add(S, zero(RS), RSS)). 6.48/2.58 6.48/2.58 6.48/2.58 Query: add(g,g,a) 6.48/2.58 ---------------------------------------- 6.48/2.58 6.48/2.58 (1) PrologToPiTRSProof (SOUND) 6.48/2.58 We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes: 6.48/2.58 6.48/2.58 add_in_3: (b,b,f) 6.48/2.58 6.48/2.58 binaryZ_in_1: (b) 6.48/2.58 6.48/2.58 binary_in_1: (b) 6.48/2.58 6.48/2.58 addz_in_3: (b,b,f) 6.48/2.58 6.48/2.58 addx_in_3: (b,b,f) 6.48/2.58 6.48/2.58 addy_in_3: (b,b,f) 6.48/2.58 6.48/2.58 addc_in_3: (b,b,f) 6.48/2.58 6.48/2.58 succZ_in_2: (b,f) 6.48/2.58 6.48/2.58 succ_in_2: (b,f) 6.48/2.58 6.48/2.58 addC_in_3: (b,b,f) 6.48/2.58 6.48/2.58 addX_in_3: (b,b,f) 6.48/2.58 6.48/2.58 addY_in_3: (b,b,f) 6.48/2.58 6.48/2.58 Transforming Prolog into the following Term Rewriting System: 6.48/2.58 6.48/2.58 Pi-finite rewrite system: 6.48/2.58 The TRS R consists of the following rules: 6.48/2.58 6.48/2.58 add_in_gga(b, b, b) -> add_out_gga(b, b, b) 6.48/2.58 add_in_gga(X, b, X) -> U1_gga(X, binaryZ_in_g(X)) 6.48/2.58 binaryZ_in_g(zero(X)) -> U29_g(X, binaryZ_in_g(X)) 6.48/2.58 binaryZ_in_g(one(X)) -> U30_g(X, binary_in_g(X)) 6.48/2.58 binary_in_g(b) -> binary_out_g(b) 6.48/2.58 binary_in_g(zero(X)) -> U27_g(X, binaryZ_in_g(X)) 6.48/2.58 U27_g(X, binaryZ_out_g(X)) -> binary_out_g(zero(X)) 6.48/2.58 binary_in_g(one(X)) -> U28_g(X, binary_in_g(X)) 6.48/2.58 U28_g(X, binary_out_g(X)) -> binary_out_g(one(X)) 6.48/2.58 U30_g(X, binary_out_g(X)) -> binaryZ_out_g(one(X)) 6.48/2.58 U29_g(X, binaryZ_out_g(X)) -> binaryZ_out_g(zero(X)) 6.48/2.58 U1_gga(X, binaryZ_out_g(X)) -> add_out_gga(X, b, X) 6.48/2.58 add_in_gga(b, Y, Y) -> U2_gga(Y, binaryZ_in_g(Y)) 6.48/2.58 U2_gga(Y, binaryZ_out_g(Y)) -> add_out_gga(b, Y, Y) 6.48/2.58 add_in_gga(X, Y, Z) -> U3_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.58 addz_in_gga(zero(X), zero(Y), zero(Z)) -> U10_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.58 addz_in_gga(zero(X), one(Y), one(Z)) -> U11_gga(X, Y, Z, addx_in_gga(X, Y, Z)) 6.48/2.58 addx_in_gga(one(X), b, one(X)) -> U4_gga(X, binary_in_g(X)) 6.48/2.58 U4_gga(X, binary_out_g(X)) -> addx_out_gga(one(X), b, one(X)) 6.48/2.58 addx_in_gga(zero(X), b, zero(X)) -> U5_gga(X, binaryZ_in_g(X)) 6.48/2.58 U5_gga(X, binaryZ_out_g(X)) -> addx_out_gga(zero(X), b, zero(X)) 6.48/2.58 addx_in_gga(X, Y, Z) -> U6_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.58 addz_in_gga(one(X), zero(Y), one(Z)) -> U12_gga(X, Y, Z, addy_in_gga(X, Y, Z)) 6.48/2.58 addy_in_gga(b, one(Y), one(Y)) -> U7_gga(Y, binary_in_g(Y)) 6.48/2.58 U7_gga(Y, binary_out_g(Y)) -> addy_out_gga(b, one(Y), one(Y)) 6.48/2.58 addy_in_gga(b, zero(Y), zero(Y)) -> U8_gga(Y, binaryZ_in_g(Y)) 6.48/2.58 U8_gga(Y, binaryZ_out_g(Y)) -> addy_out_gga(b, zero(Y), zero(Y)) 6.48/2.58 addy_in_gga(X, Y, Z) -> U9_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.58 addz_in_gga(one(X), one(Y), zero(Z)) -> U13_gga(X, Y, Z, addc_in_gga(X, Y, Z)) 6.48/2.58 addc_in_gga(b, b, one(b)) -> addc_out_gga(b, b, one(b)) 6.48/2.58 addc_in_gga(X, b, Z) -> U14_gga(X, Z, succZ_in_ga(X, Z)) 6.48/2.58 succZ_in_ga(zero(X), one(X)) -> U33_ga(X, binaryZ_in_g(X)) 6.48/2.58 U33_ga(X, binaryZ_out_g(X)) -> succZ_out_ga(zero(X), one(X)) 6.48/2.58 succZ_in_ga(one(X), zero(Z)) -> U34_ga(X, Z, succ_in_ga(X, Z)) 6.48/2.58 succ_in_ga(b, one(b)) -> succ_out_ga(b, one(b)) 6.48/2.58 succ_in_ga(zero(X), one(X)) -> U31_ga(X, binaryZ_in_g(X)) 6.48/2.58 U31_ga(X, binaryZ_out_g(X)) -> succ_out_ga(zero(X), one(X)) 6.48/2.58 succ_in_ga(one(X), zero(Z)) -> U32_ga(X, Z, succ_in_ga(X, Z)) 6.48/2.58 U32_ga(X, Z, succ_out_ga(X, Z)) -> succ_out_ga(one(X), zero(Z)) 6.48/2.58 U34_ga(X, Z, succ_out_ga(X, Z)) -> succZ_out_ga(one(X), zero(Z)) 6.48/2.58 U14_gga(X, Z, succZ_out_ga(X, Z)) -> addc_out_gga(X, b, Z) 6.48/2.58 addc_in_gga(b, Y, Z) -> U15_gga(Y, Z, succZ_in_ga(Y, Z)) 6.48/2.58 U15_gga(Y, Z, succZ_out_ga(Y, Z)) -> addc_out_gga(b, Y, Z) 6.48/2.58 addc_in_gga(X, Y, Z) -> U16_gga(X, Y, Z, addC_in_gga(X, Y, Z)) 6.48/2.58 addC_in_gga(zero(X), zero(Y), one(Z)) -> U23_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.58 U23_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> addC_out_gga(zero(X), zero(Y), one(Z)) 6.48/2.58 addC_in_gga(zero(X), one(Y), zero(Z)) -> U24_gga(X, Y, Z, addX_in_gga(X, Y, Z)) 6.48/2.58 addX_in_gga(zero(X), b, one(X)) -> U17_gga(X, binaryZ_in_g(X)) 6.48/2.58 U17_gga(X, binaryZ_out_g(X)) -> addX_out_gga(zero(X), b, one(X)) 6.48/2.58 addX_in_gga(one(X), b, zero(Z)) -> U18_gga(X, Z, succ_in_ga(X, Z)) 6.48/2.58 U18_gga(X, Z, succ_out_ga(X, Z)) -> addX_out_gga(one(X), b, zero(Z)) 6.48/2.58 addX_in_gga(X, Y, Z) -> U19_gga(X, Y, Z, addC_in_gga(X, Y, Z)) 6.48/2.58 addC_in_gga(one(X), zero(Y), zero(Z)) -> U25_gga(X, Y, Z, addY_in_gga(X, Y, Z)) 6.48/2.58 addY_in_gga(b, zero(Y), one(Y)) -> U20_gga(Y, binaryZ_in_g(Y)) 6.48/2.58 U20_gga(Y, binaryZ_out_g(Y)) -> addY_out_gga(b, zero(Y), one(Y)) 6.48/2.58 addY_in_gga(b, one(Y), zero(Z)) -> U21_gga(Y, Z, succ_in_ga(Y, Z)) 6.48/2.58 U21_gga(Y, Z, succ_out_ga(Y, Z)) -> addY_out_gga(b, one(Y), zero(Z)) 6.48/2.58 addY_in_gga(X, Y, Z) -> U22_gga(X, Y, Z, addC_in_gga(X, Y, Z)) 6.48/2.58 addC_in_gga(one(X), one(Y), one(Z)) -> U26_gga(X, Y, Z, addc_in_gga(X, Y, Z)) 6.48/2.58 U26_gga(X, Y, Z, addc_out_gga(X, Y, Z)) -> addC_out_gga(one(X), one(Y), one(Z)) 6.48/2.58 U22_gga(X, Y, Z, addC_out_gga(X, Y, Z)) -> addY_out_gga(X, Y, Z) 6.48/2.58 U25_gga(X, Y, Z, addY_out_gga(X, Y, Z)) -> addC_out_gga(one(X), zero(Y), zero(Z)) 6.48/2.58 U19_gga(X, Y, Z, addC_out_gga(X, Y, Z)) -> addX_out_gga(X, Y, Z) 6.48/2.58 U24_gga(X, Y, Z, addX_out_gga(X, Y, Z)) -> addC_out_gga(zero(X), one(Y), zero(Z)) 6.48/2.58 U16_gga(X, Y, Z, addC_out_gga(X, Y, Z)) -> addc_out_gga(X, Y, Z) 6.48/2.58 U13_gga(X, Y, Z, addc_out_gga(X, Y, Z)) -> addz_out_gga(one(X), one(Y), zero(Z)) 6.48/2.58 U9_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> addy_out_gga(X, Y, Z) 6.48/2.58 U12_gga(X, Y, Z, addy_out_gga(X, Y, Z)) -> addz_out_gga(one(X), zero(Y), one(Z)) 6.48/2.58 U6_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> addx_out_gga(X, Y, Z) 6.48/2.58 U11_gga(X, Y, Z, addx_out_gga(X, Y, Z)) -> addz_out_gga(zero(X), one(Y), one(Z)) 6.48/2.58 U10_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> addz_out_gga(zero(X), zero(Y), zero(Z)) 6.48/2.58 U3_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> add_out_gga(X, Y, Z) 6.48/2.58 6.48/2.58 The argument filtering Pi contains the following mapping: 6.48/2.58 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 6.48/2.58 6.48/2.58 b = b 6.48/2.58 6.48/2.58 add_out_gga(x1, x2, x3) = add_out_gga(x3) 6.48/2.58 6.48/2.58 U1_gga(x1, x2) = U1_gga(x1, x2) 6.48/2.58 6.48/2.58 binaryZ_in_g(x1) = binaryZ_in_g(x1) 6.48/2.58 6.48/2.58 zero(x1) = zero(x1) 6.48/2.58 6.48/2.58 U29_g(x1, x2) = U29_g(x2) 6.48/2.58 6.48/2.58 one(x1) = one(x1) 6.48/2.58 6.48/2.58 U30_g(x1, x2) = U30_g(x2) 6.48/2.58 6.48/2.58 binary_in_g(x1) = binary_in_g(x1) 6.48/2.58 6.48/2.58 binary_out_g(x1) = binary_out_g 6.48/2.58 6.48/2.58 U27_g(x1, x2) = U27_g(x2) 6.48/2.58 6.48/2.58 binaryZ_out_g(x1) = binaryZ_out_g 6.48/2.58 6.48/2.58 U28_g(x1, x2) = U28_g(x2) 6.48/2.58 6.48/2.58 U2_gga(x1, x2) = U2_gga(x1, x2) 6.48/2.58 6.48/2.58 U3_gga(x1, x2, x3, x4) = U3_gga(x4) 6.48/2.58 6.48/2.58 addz_in_gga(x1, x2, x3) = addz_in_gga(x1, x2) 6.48/2.58 6.48/2.58 U10_gga(x1, x2, x3, x4) = U10_gga(x4) 6.48/2.58 6.48/2.58 U11_gga(x1, x2, x3, x4) = U11_gga(x4) 6.48/2.58 6.48/2.58 addx_in_gga(x1, x2, x3) = addx_in_gga(x1, x2) 6.48/2.58 6.48/2.58 U4_gga(x1, x2) = U4_gga(x1, x2) 6.48/2.58 6.48/2.58 addx_out_gga(x1, x2, x3) = addx_out_gga(x3) 6.48/2.58 6.48/2.58 U5_gga(x1, x2) = U5_gga(x1, x2) 6.48/2.58 6.48/2.58 U6_gga(x1, x2, x3, x4) = U6_gga(x4) 6.48/2.58 6.48/2.58 U12_gga(x1, x2, x3, x4) = U12_gga(x4) 6.48/2.58 6.48/2.58 addy_in_gga(x1, x2, x3) = addy_in_gga(x1, x2) 6.48/2.58 6.48/2.58 U7_gga(x1, x2) = U7_gga(x1, x2) 6.48/2.58 6.48/2.58 addy_out_gga(x1, x2, x3) = addy_out_gga(x3) 6.48/2.58 6.48/2.58 U8_gga(x1, x2) = U8_gga(x1, x2) 6.48/2.58 6.48/2.58 U9_gga(x1, x2, x3, x4) = U9_gga(x4) 6.48/2.58 6.48/2.58 U13_gga(x1, x2, x3, x4) = U13_gga(x4) 6.48/2.58 6.48/2.58 addc_in_gga(x1, x2, x3) = addc_in_gga(x1, x2) 6.48/2.58 6.48/2.58 addc_out_gga(x1, x2, x3) = addc_out_gga(x3) 6.48/2.58 6.48/2.58 U14_gga(x1, x2, x3) = U14_gga(x3) 6.48/2.58 6.48/2.58 succZ_in_ga(x1, x2) = succZ_in_ga(x1) 6.48/2.58 6.48/2.58 U33_ga(x1, x2) = U33_ga(x1, x2) 6.48/2.58 6.48/2.58 succZ_out_ga(x1, x2) = succZ_out_ga(x2) 6.48/2.58 6.48/2.58 U34_ga(x1, x2, x3) = U34_ga(x3) 6.48/2.58 6.48/2.58 succ_in_ga(x1, x2) = succ_in_ga(x1) 6.48/2.58 6.48/2.58 succ_out_ga(x1, x2) = succ_out_ga(x2) 6.48/2.58 6.48/2.58 U31_ga(x1, x2) = U31_ga(x1, x2) 6.48/2.58 6.48/2.58 U32_ga(x1, x2, x3) = U32_ga(x3) 6.48/2.58 6.48/2.58 U15_gga(x1, x2, x3) = U15_gga(x3) 6.48/2.58 6.48/2.58 U16_gga(x1, x2, x3, x4) = U16_gga(x4) 6.48/2.58 6.48/2.58 addC_in_gga(x1, x2, x3) = addC_in_gga(x1, x2) 6.48/2.58 6.48/2.58 U23_gga(x1, x2, x3, x4) = U23_gga(x4) 6.48/2.58 6.48/2.58 addz_out_gga(x1, x2, x3) = addz_out_gga(x3) 6.48/2.58 6.48/2.58 addC_out_gga(x1, x2, x3) = addC_out_gga(x3) 6.48/2.58 6.48/2.58 U24_gga(x1, x2, x3, x4) = U24_gga(x4) 6.48/2.58 6.48/2.58 addX_in_gga(x1, x2, x3) = addX_in_gga(x1, x2) 6.48/2.58 6.48/2.58 U17_gga(x1, x2) = U17_gga(x1, x2) 6.48/2.58 6.48/2.58 addX_out_gga(x1, x2, x3) = addX_out_gga(x3) 6.48/2.58 6.48/2.58 U18_gga(x1, x2, x3) = U18_gga(x3) 6.48/2.58 6.48/2.58 U19_gga(x1, x2, x3, x4) = U19_gga(x4) 6.48/2.58 6.48/2.58 U25_gga(x1, x2, x3, x4) = U25_gga(x4) 6.48/2.58 6.48/2.58 addY_in_gga(x1, x2, x3) = addY_in_gga(x1, x2) 6.48/2.58 6.48/2.58 U20_gga(x1, x2) = U20_gga(x1, x2) 6.48/2.58 6.48/2.58 addY_out_gga(x1, x2, x3) = addY_out_gga(x3) 6.48/2.58 6.48/2.58 U21_gga(x1, x2, x3) = U21_gga(x3) 6.48/2.58 6.48/2.58 U22_gga(x1, x2, x3, x4) = U22_gga(x4) 6.48/2.58 6.48/2.58 U26_gga(x1, x2, x3, x4) = U26_gga(x4) 6.48/2.58 6.48/2.58 6.48/2.58 6.48/2.58 6.48/2.58 6.48/2.58 Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog 6.48/2.58 6.48/2.58 6.48/2.58 6.48/2.58 ---------------------------------------- 6.48/2.58 6.48/2.58 (2) 6.48/2.58 Obligation: 6.48/2.58 Pi-finite rewrite system: 6.48/2.58 The TRS R consists of the following rules: 6.48/2.58 6.48/2.58 add_in_gga(b, b, b) -> add_out_gga(b, b, b) 6.48/2.58 add_in_gga(X, b, X) -> U1_gga(X, binaryZ_in_g(X)) 6.48/2.58 binaryZ_in_g(zero(X)) -> U29_g(X, binaryZ_in_g(X)) 6.48/2.58 binaryZ_in_g(one(X)) -> U30_g(X, binary_in_g(X)) 6.48/2.58 binary_in_g(b) -> binary_out_g(b) 6.48/2.58 binary_in_g(zero(X)) -> U27_g(X, binaryZ_in_g(X)) 6.48/2.58 U27_g(X, binaryZ_out_g(X)) -> binary_out_g(zero(X)) 6.48/2.58 binary_in_g(one(X)) -> U28_g(X, binary_in_g(X)) 6.48/2.58 U28_g(X, binary_out_g(X)) -> binary_out_g(one(X)) 6.48/2.58 U30_g(X, binary_out_g(X)) -> binaryZ_out_g(one(X)) 6.48/2.58 U29_g(X, binaryZ_out_g(X)) -> binaryZ_out_g(zero(X)) 6.48/2.58 U1_gga(X, binaryZ_out_g(X)) -> add_out_gga(X, b, X) 6.48/2.58 add_in_gga(b, Y, Y) -> U2_gga(Y, binaryZ_in_g(Y)) 6.48/2.58 U2_gga(Y, binaryZ_out_g(Y)) -> add_out_gga(b, Y, Y) 6.48/2.58 add_in_gga(X, Y, Z) -> U3_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.58 addz_in_gga(zero(X), zero(Y), zero(Z)) -> U10_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.58 addz_in_gga(zero(X), one(Y), one(Z)) -> U11_gga(X, Y, Z, addx_in_gga(X, Y, Z)) 6.48/2.58 addx_in_gga(one(X), b, one(X)) -> U4_gga(X, binary_in_g(X)) 6.48/2.58 U4_gga(X, binary_out_g(X)) -> addx_out_gga(one(X), b, one(X)) 6.48/2.58 addx_in_gga(zero(X), b, zero(X)) -> U5_gga(X, binaryZ_in_g(X)) 6.48/2.58 U5_gga(X, binaryZ_out_g(X)) -> addx_out_gga(zero(X), b, zero(X)) 6.48/2.58 addx_in_gga(X, Y, Z) -> U6_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.58 addz_in_gga(one(X), zero(Y), one(Z)) -> U12_gga(X, Y, Z, addy_in_gga(X, Y, Z)) 6.48/2.58 addy_in_gga(b, one(Y), one(Y)) -> U7_gga(Y, binary_in_g(Y)) 6.48/2.58 U7_gga(Y, binary_out_g(Y)) -> addy_out_gga(b, one(Y), one(Y)) 6.48/2.58 addy_in_gga(b, zero(Y), zero(Y)) -> U8_gga(Y, binaryZ_in_g(Y)) 6.48/2.58 U8_gga(Y, binaryZ_out_g(Y)) -> addy_out_gga(b, zero(Y), zero(Y)) 6.48/2.58 addy_in_gga(X, Y, Z) -> U9_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.58 addz_in_gga(one(X), one(Y), zero(Z)) -> U13_gga(X, Y, Z, addc_in_gga(X, Y, Z)) 6.48/2.58 addc_in_gga(b, b, one(b)) -> addc_out_gga(b, b, one(b)) 6.48/2.58 addc_in_gga(X, b, Z) -> U14_gga(X, Z, succZ_in_ga(X, Z)) 6.48/2.58 succZ_in_ga(zero(X), one(X)) -> U33_ga(X, binaryZ_in_g(X)) 6.48/2.58 U33_ga(X, binaryZ_out_g(X)) -> succZ_out_ga(zero(X), one(X)) 6.48/2.58 succZ_in_ga(one(X), zero(Z)) -> U34_ga(X, Z, succ_in_ga(X, Z)) 6.48/2.58 succ_in_ga(b, one(b)) -> succ_out_ga(b, one(b)) 6.48/2.58 succ_in_ga(zero(X), one(X)) -> U31_ga(X, binaryZ_in_g(X)) 6.48/2.58 U31_ga(X, binaryZ_out_g(X)) -> succ_out_ga(zero(X), one(X)) 6.48/2.58 succ_in_ga(one(X), zero(Z)) -> U32_ga(X, Z, succ_in_ga(X, Z)) 6.48/2.58 U32_ga(X, Z, succ_out_ga(X, Z)) -> succ_out_ga(one(X), zero(Z)) 6.48/2.58 U34_ga(X, Z, succ_out_ga(X, Z)) -> succZ_out_ga(one(X), zero(Z)) 6.48/2.58 U14_gga(X, Z, succZ_out_ga(X, Z)) -> addc_out_gga(X, b, Z) 6.48/2.58 addc_in_gga(b, Y, Z) -> U15_gga(Y, Z, succZ_in_ga(Y, Z)) 6.48/2.58 U15_gga(Y, Z, succZ_out_ga(Y, Z)) -> addc_out_gga(b, Y, Z) 6.48/2.58 addc_in_gga(X, Y, Z) -> U16_gga(X, Y, Z, addC_in_gga(X, Y, Z)) 6.48/2.58 addC_in_gga(zero(X), zero(Y), one(Z)) -> U23_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.58 U23_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> addC_out_gga(zero(X), zero(Y), one(Z)) 6.48/2.58 addC_in_gga(zero(X), one(Y), zero(Z)) -> U24_gga(X, Y, Z, addX_in_gga(X, Y, Z)) 6.48/2.58 addX_in_gga(zero(X), b, one(X)) -> U17_gga(X, binaryZ_in_g(X)) 6.48/2.58 U17_gga(X, binaryZ_out_g(X)) -> addX_out_gga(zero(X), b, one(X)) 6.48/2.58 addX_in_gga(one(X), b, zero(Z)) -> U18_gga(X, Z, succ_in_ga(X, Z)) 6.48/2.58 U18_gga(X, Z, succ_out_ga(X, Z)) -> addX_out_gga(one(X), b, zero(Z)) 6.48/2.58 addX_in_gga(X, Y, Z) -> U19_gga(X, Y, Z, addC_in_gga(X, Y, Z)) 6.48/2.58 addC_in_gga(one(X), zero(Y), zero(Z)) -> U25_gga(X, Y, Z, addY_in_gga(X, Y, Z)) 6.48/2.58 addY_in_gga(b, zero(Y), one(Y)) -> U20_gga(Y, binaryZ_in_g(Y)) 6.48/2.58 U20_gga(Y, binaryZ_out_g(Y)) -> addY_out_gga(b, zero(Y), one(Y)) 6.48/2.58 addY_in_gga(b, one(Y), zero(Z)) -> U21_gga(Y, Z, succ_in_ga(Y, Z)) 6.48/2.58 U21_gga(Y, Z, succ_out_ga(Y, Z)) -> addY_out_gga(b, one(Y), zero(Z)) 6.48/2.58 addY_in_gga(X, Y, Z) -> U22_gga(X, Y, Z, addC_in_gga(X, Y, Z)) 6.48/2.58 addC_in_gga(one(X), one(Y), one(Z)) -> U26_gga(X, Y, Z, addc_in_gga(X, Y, Z)) 6.48/2.58 U26_gga(X, Y, Z, addc_out_gga(X, Y, Z)) -> addC_out_gga(one(X), one(Y), one(Z)) 6.48/2.58 U22_gga(X, Y, Z, addC_out_gga(X, Y, Z)) -> addY_out_gga(X, Y, Z) 6.48/2.58 U25_gga(X, Y, Z, addY_out_gga(X, Y, Z)) -> addC_out_gga(one(X), zero(Y), zero(Z)) 6.48/2.58 U19_gga(X, Y, Z, addC_out_gga(X, Y, Z)) -> addX_out_gga(X, Y, Z) 6.48/2.58 U24_gga(X, Y, Z, addX_out_gga(X, Y, Z)) -> addC_out_gga(zero(X), one(Y), zero(Z)) 6.48/2.58 U16_gga(X, Y, Z, addC_out_gga(X, Y, Z)) -> addc_out_gga(X, Y, Z) 6.48/2.58 U13_gga(X, Y, Z, addc_out_gga(X, Y, Z)) -> addz_out_gga(one(X), one(Y), zero(Z)) 6.48/2.58 U9_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> addy_out_gga(X, Y, Z) 6.48/2.58 U12_gga(X, Y, Z, addy_out_gga(X, Y, Z)) -> addz_out_gga(one(X), zero(Y), one(Z)) 6.48/2.58 U6_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> addx_out_gga(X, Y, Z) 6.48/2.58 U11_gga(X, Y, Z, addx_out_gga(X, Y, Z)) -> addz_out_gga(zero(X), one(Y), one(Z)) 6.48/2.58 U10_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> addz_out_gga(zero(X), zero(Y), zero(Z)) 6.48/2.58 U3_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> add_out_gga(X, Y, Z) 6.48/2.58 6.48/2.58 The argument filtering Pi contains the following mapping: 6.48/2.58 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 6.48/2.58 6.48/2.58 b = b 6.48/2.58 6.48/2.58 add_out_gga(x1, x2, x3) = add_out_gga(x3) 6.48/2.58 6.48/2.58 U1_gga(x1, x2) = U1_gga(x1, x2) 6.48/2.58 6.48/2.58 binaryZ_in_g(x1) = binaryZ_in_g(x1) 6.48/2.58 6.48/2.58 zero(x1) = zero(x1) 6.48/2.58 6.48/2.58 U29_g(x1, x2) = U29_g(x2) 6.48/2.58 6.48/2.58 one(x1) = one(x1) 6.48/2.58 6.48/2.58 U30_g(x1, x2) = U30_g(x2) 6.48/2.58 6.48/2.58 binary_in_g(x1) = binary_in_g(x1) 6.48/2.58 6.48/2.58 binary_out_g(x1) = binary_out_g 6.48/2.58 6.48/2.58 U27_g(x1, x2) = U27_g(x2) 6.48/2.58 6.48/2.58 binaryZ_out_g(x1) = binaryZ_out_g 6.48/2.58 6.48/2.58 U28_g(x1, x2) = U28_g(x2) 6.48/2.58 6.48/2.58 U2_gga(x1, x2) = U2_gga(x1, x2) 6.48/2.58 6.48/2.58 U3_gga(x1, x2, x3, x4) = U3_gga(x4) 6.48/2.58 6.48/2.58 addz_in_gga(x1, x2, x3) = addz_in_gga(x1, x2) 6.48/2.58 6.48/2.58 U10_gga(x1, x2, x3, x4) = U10_gga(x4) 6.48/2.58 6.48/2.58 U11_gga(x1, x2, x3, x4) = U11_gga(x4) 6.48/2.58 6.48/2.58 addx_in_gga(x1, x2, x3) = addx_in_gga(x1, x2) 6.48/2.58 6.48/2.58 U4_gga(x1, x2) = U4_gga(x1, x2) 6.48/2.58 6.48/2.58 addx_out_gga(x1, x2, x3) = addx_out_gga(x3) 6.48/2.58 6.48/2.58 U5_gga(x1, x2) = U5_gga(x1, x2) 6.48/2.58 6.48/2.58 U6_gga(x1, x2, x3, x4) = U6_gga(x4) 6.48/2.58 6.48/2.58 U12_gga(x1, x2, x3, x4) = U12_gga(x4) 6.48/2.58 6.48/2.58 addy_in_gga(x1, x2, x3) = addy_in_gga(x1, x2) 6.48/2.58 6.48/2.58 U7_gga(x1, x2) = U7_gga(x1, x2) 6.48/2.58 6.48/2.58 addy_out_gga(x1, x2, x3) = addy_out_gga(x3) 6.48/2.58 6.48/2.58 U8_gga(x1, x2) = U8_gga(x1, x2) 6.48/2.58 6.48/2.58 U9_gga(x1, x2, x3, x4) = U9_gga(x4) 6.48/2.58 6.48/2.58 U13_gga(x1, x2, x3, x4) = U13_gga(x4) 6.48/2.58 6.48/2.58 addc_in_gga(x1, x2, x3) = addc_in_gga(x1, x2) 6.48/2.58 6.48/2.58 addc_out_gga(x1, x2, x3) = addc_out_gga(x3) 6.48/2.58 6.48/2.58 U14_gga(x1, x2, x3) = U14_gga(x3) 6.48/2.58 6.48/2.58 succZ_in_ga(x1, x2) = succZ_in_ga(x1) 6.48/2.58 6.48/2.58 U33_ga(x1, x2) = U33_ga(x1, x2) 6.48/2.58 6.48/2.58 succZ_out_ga(x1, x2) = succZ_out_ga(x2) 6.48/2.58 6.48/2.58 U34_ga(x1, x2, x3) = U34_ga(x3) 6.48/2.58 6.48/2.58 succ_in_ga(x1, x2) = succ_in_ga(x1) 6.48/2.58 6.48/2.58 succ_out_ga(x1, x2) = succ_out_ga(x2) 6.48/2.58 6.48/2.58 U31_ga(x1, x2) = U31_ga(x1, x2) 6.48/2.58 6.48/2.58 U32_ga(x1, x2, x3) = U32_ga(x3) 6.48/2.58 6.48/2.58 U15_gga(x1, x2, x3) = U15_gga(x3) 6.48/2.58 6.48/2.58 U16_gga(x1, x2, x3, x4) = U16_gga(x4) 6.48/2.58 6.48/2.58 addC_in_gga(x1, x2, x3) = addC_in_gga(x1, x2) 6.48/2.58 6.48/2.58 U23_gga(x1, x2, x3, x4) = U23_gga(x4) 6.48/2.58 6.48/2.58 addz_out_gga(x1, x2, x3) = addz_out_gga(x3) 6.48/2.58 6.48/2.58 addC_out_gga(x1, x2, x3) = addC_out_gga(x3) 6.48/2.58 6.48/2.58 U24_gga(x1, x2, x3, x4) = U24_gga(x4) 6.48/2.58 6.48/2.58 addX_in_gga(x1, x2, x3) = addX_in_gga(x1, x2) 6.48/2.58 6.48/2.58 U17_gga(x1, x2) = U17_gga(x1, x2) 6.48/2.58 6.48/2.58 addX_out_gga(x1, x2, x3) = addX_out_gga(x3) 6.48/2.58 6.48/2.58 U18_gga(x1, x2, x3) = U18_gga(x3) 6.48/2.58 6.48/2.58 U19_gga(x1, x2, x3, x4) = U19_gga(x4) 6.48/2.58 6.48/2.58 U25_gga(x1, x2, x3, x4) = U25_gga(x4) 6.48/2.58 6.48/2.58 addY_in_gga(x1, x2, x3) = addY_in_gga(x1, x2) 6.48/2.58 6.48/2.58 U20_gga(x1, x2) = U20_gga(x1, x2) 6.48/2.58 6.48/2.58 addY_out_gga(x1, x2, x3) = addY_out_gga(x3) 6.48/2.58 6.48/2.58 U21_gga(x1, x2, x3) = U21_gga(x3) 6.48/2.58 6.48/2.58 U22_gga(x1, x2, x3, x4) = U22_gga(x4) 6.48/2.58 6.48/2.58 U26_gga(x1, x2, x3, x4) = U26_gga(x4) 6.48/2.58 6.48/2.58 6.48/2.58 6.48/2.58 ---------------------------------------- 6.48/2.58 6.48/2.58 (3) DependencyPairsProof (EQUIVALENT) 6.48/2.58 Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem: 6.48/2.58 Pi DP problem: 6.48/2.58 The TRS P consists of the following rules: 6.48/2.58 6.48/2.58 ADD_IN_GGA(X, b, X) -> U1_GGA(X, binaryZ_in_g(X)) 6.48/2.58 ADD_IN_GGA(X, b, X) -> BINARYZ_IN_G(X) 6.48/2.58 BINARYZ_IN_G(zero(X)) -> U29_G(X, binaryZ_in_g(X)) 6.48/2.58 BINARYZ_IN_G(zero(X)) -> BINARYZ_IN_G(X) 6.48/2.58 BINARYZ_IN_G(one(X)) -> U30_G(X, binary_in_g(X)) 6.48/2.58 BINARYZ_IN_G(one(X)) -> BINARY_IN_G(X) 6.48/2.58 BINARY_IN_G(zero(X)) -> U27_G(X, binaryZ_in_g(X)) 6.48/2.58 BINARY_IN_G(zero(X)) -> BINARYZ_IN_G(X) 6.48/2.58 BINARY_IN_G(one(X)) -> U28_G(X, binary_in_g(X)) 6.48/2.58 BINARY_IN_G(one(X)) -> BINARY_IN_G(X) 6.48/2.58 ADD_IN_GGA(b, Y, Y) -> U2_GGA(Y, binaryZ_in_g(Y)) 6.48/2.58 ADD_IN_GGA(b, Y, Y) -> BINARYZ_IN_G(Y) 6.48/2.58 ADD_IN_GGA(X, Y, Z) -> U3_GGA(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.58 ADD_IN_GGA(X, Y, Z) -> ADDZ_IN_GGA(X, Y, Z) 6.48/2.58 ADDZ_IN_GGA(zero(X), zero(Y), zero(Z)) -> U10_GGA(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.58 ADDZ_IN_GGA(zero(X), zero(Y), zero(Z)) -> ADDZ_IN_GGA(X, Y, Z) 6.48/2.58 ADDZ_IN_GGA(zero(X), one(Y), one(Z)) -> U11_GGA(X, Y, Z, addx_in_gga(X, Y, Z)) 6.48/2.58 ADDZ_IN_GGA(zero(X), one(Y), one(Z)) -> ADDX_IN_GGA(X, Y, Z) 6.48/2.58 ADDX_IN_GGA(one(X), b, one(X)) -> U4_GGA(X, binary_in_g(X)) 6.48/2.58 ADDX_IN_GGA(one(X), b, one(X)) -> BINARY_IN_G(X) 6.48/2.58 ADDX_IN_GGA(zero(X), b, zero(X)) -> U5_GGA(X, binaryZ_in_g(X)) 6.48/2.58 ADDX_IN_GGA(zero(X), b, zero(X)) -> BINARYZ_IN_G(X) 6.48/2.58 ADDX_IN_GGA(X, Y, Z) -> U6_GGA(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.58 ADDX_IN_GGA(X, Y, Z) -> ADDZ_IN_GGA(X, Y, Z) 6.48/2.58 ADDZ_IN_GGA(one(X), zero(Y), one(Z)) -> U12_GGA(X, Y, Z, addy_in_gga(X, Y, Z)) 6.48/2.58 ADDZ_IN_GGA(one(X), zero(Y), one(Z)) -> ADDY_IN_GGA(X, Y, Z) 6.48/2.58 ADDY_IN_GGA(b, one(Y), one(Y)) -> U7_GGA(Y, binary_in_g(Y)) 6.48/2.58 ADDY_IN_GGA(b, one(Y), one(Y)) -> BINARY_IN_G(Y) 6.48/2.58 ADDY_IN_GGA(b, zero(Y), zero(Y)) -> U8_GGA(Y, binaryZ_in_g(Y)) 6.48/2.58 ADDY_IN_GGA(b, zero(Y), zero(Y)) -> BINARYZ_IN_G(Y) 6.48/2.58 ADDY_IN_GGA(X, Y, Z) -> U9_GGA(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.58 ADDY_IN_GGA(X, Y, Z) -> ADDZ_IN_GGA(X, Y, Z) 6.48/2.58 ADDZ_IN_GGA(one(X), one(Y), zero(Z)) -> U13_GGA(X, Y, Z, addc_in_gga(X, Y, Z)) 6.48/2.58 ADDZ_IN_GGA(one(X), one(Y), zero(Z)) -> ADDC_IN_GGA(X, Y, Z) 6.48/2.58 ADDC_IN_GGA(X, b, Z) -> U14_GGA(X, Z, succZ_in_ga(X, Z)) 6.48/2.58 ADDC_IN_GGA(X, b, Z) -> SUCCZ_IN_GA(X, Z) 6.48/2.58 SUCCZ_IN_GA(zero(X), one(X)) -> U33_GA(X, binaryZ_in_g(X)) 6.48/2.58 SUCCZ_IN_GA(zero(X), one(X)) -> BINARYZ_IN_G(X) 6.48/2.58 SUCCZ_IN_GA(one(X), zero(Z)) -> U34_GA(X, Z, succ_in_ga(X, Z)) 6.48/2.58 SUCCZ_IN_GA(one(X), zero(Z)) -> SUCC_IN_GA(X, Z) 6.48/2.58 SUCC_IN_GA(zero(X), one(X)) -> U31_GA(X, binaryZ_in_g(X)) 6.48/2.58 SUCC_IN_GA(zero(X), one(X)) -> BINARYZ_IN_G(X) 6.48/2.58 SUCC_IN_GA(one(X), zero(Z)) -> U32_GA(X, Z, succ_in_ga(X, Z)) 6.48/2.58 SUCC_IN_GA(one(X), zero(Z)) -> SUCC_IN_GA(X, Z) 6.48/2.58 ADDC_IN_GGA(b, Y, Z) -> U15_GGA(Y, Z, succZ_in_ga(Y, Z)) 6.48/2.58 ADDC_IN_GGA(b, Y, Z) -> SUCCZ_IN_GA(Y, Z) 6.48/2.58 ADDC_IN_GGA(X, Y, Z) -> U16_GGA(X, Y, Z, addC_in_gga(X, Y, Z)) 6.48/2.58 ADDC_IN_GGA(X, Y, Z) -> ADDC_IN_GGA^1(X, Y, Z) 6.48/2.58 ADDC_IN_GGA^1(zero(X), zero(Y), one(Z)) -> U23_GGA(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.58 ADDC_IN_GGA^1(zero(X), zero(Y), one(Z)) -> ADDZ_IN_GGA(X, Y, Z) 6.48/2.58 ADDC_IN_GGA^1(zero(X), one(Y), zero(Z)) -> U24_GGA(X, Y, Z, addX_in_gga(X, Y, Z)) 6.48/2.58 ADDC_IN_GGA^1(zero(X), one(Y), zero(Z)) -> ADDX_IN_GGA^1(X, Y, Z) 6.48/2.58 ADDX_IN_GGA^1(zero(X), b, one(X)) -> U17_GGA(X, binaryZ_in_g(X)) 6.48/2.58 ADDX_IN_GGA^1(zero(X), b, one(X)) -> BINARYZ_IN_G(X) 6.48/2.58 ADDX_IN_GGA^1(one(X), b, zero(Z)) -> U18_GGA(X, Z, succ_in_ga(X, Z)) 6.48/2.58 ADDX_IN_GGA^1(one(X), b, zero(Z)) -> SUCC_IN_GA(X, Z) 6.48/2.58 ADDX_IN_GGA^1(X, Y, Z) -> U19_GGA(X, Y, Z, addC_in_gga(X, Y, Z)) 6.48/2.58 ADDX_IN_GGA^1(X, Y, Z) -> ADDC_IN_GGA^1(X, Y, Z) 6.48/2.58 ADDC_IN_GGA^1(one(X), zero(Y), zero(Z)) -> U25_GGA(X, Y, Z, addY_in_gga(X, Y, Z)) 6.48/2.58 ADDC_IN_GGA^1(one(X), zero(Y), zero(Z)) -> ADDY_IN_GGA^1(X, Y, Z) 6.48/2.58 ADDY_IN_GGA^1(b, zero(Y), one(Y)) -> U20_GGA(Y, binaryZ_in_g(Y)) 6.48/2.58 ADDY_IN_GGA^1(b, zero(Y), one(Y)) -> BINARYZ_IN_G(Y) 6.48/2.58 ADDY_IN_GGA^1(b, one(Y), zero(Z)) -> U21_GGA(Y, Z, succ_in_ga(Y, Z)) 6.48/2.58 ADDY_IN_GGA^1(b, one(Y), zero(Z)) -> SUCC_IN_GA(Y, Z) 6.48/2.58 ADDY_IN_GGA^1(X, Y, Z) -> U22_GGA(X, Y, Z, addC_in_gga(X, Y, Z)) 6.48/2.58 ADDY_IN_GGA^1(X, Y, Z) -> ADDC_IN_GGA^1(X, Y, Z) 6.48/2.58 ADDC_IN_GGA^1(one(X), one(Y), one(Z)) -> U26_GGA(X, Y, Z, addc_in_gga(X, Y, Z)) 6.48/2.58 ADDC_IN_GGA^1(one(X), one(Y), one(Z)) -> ADDC_IN_GGA(X, Y, Z) 6.48/2.58 6.48/2.58 The TRS R consists of the following rules: 6.48/2.58 6.48/2.58 add_in_gga(b, b, b) -> add_out_gga(b, b, b) 6.48/2.58 add_in_gga(X, b, X) -> U1_gga(X, binaryZ_in_g(X)) 6.48/2.58 binaryZ_in_g(zero(X)) -> U29_g(X, binaryZ_in_g(X)) 6.48/2.58 binaryZ_in_g(one(X)) -> U30_g(X, binary_in_g(X)) 6.48/2.58 binary_in_g(b) -> binary_out_g(b) 6.48/2.58 binary_in_g(zero(X)) -> U27_g(X, binaryZ_in_g(X)) 6.48/2.58 U27_g(X, binaryZ_out_g(X)) -> binary_out_g(zero(X)) 6.48/2.58 binary_in_g(one(X)) -> U28_g(X, binary_in_g(X)) 6.48/2.58 U28_g(X, binary_out_g(X)) -> binary_out_g(one(X)) 6.48/2.58 U30_g(X, binary_out_g(X)) -> binaryZ_out_g(one(X)) 6.48/2.58 U29_g(X, binaryZ_out_g(X)) -> binaryZ_out_g(zero(X)) 6.48/2.58 U1_gga(X, binaryZ_out_g(X)) -> add_out_gga(X, b, X) 6.48/2.58 add_in_gga(b, Y, Y) -> U2_gga(Y, binaryZ_in_g(Y)) 6.48/2.58 U2_gga(Y, binaryZ_out_g(Y)) -> add_out_gga(b, Y, Y) 6.48/2.58 add_in_gga(X, Y, Z) -> U3_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.58 addz_in_gga(zero(X), zero(Y), zero(Z)) -> U10_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.58 addz_in_gga(zero(X), one(Y), one(Z)) -> U11_gga(X, Y, Z, addx_in_gga(X, Y, Z)) 6.48/2.58 addx_in_gga(one(X), b, one(X)) -> U4_gga(X, binary_in_g(X)) 6.48/2.58 U4_gga(X, binary_out_g(X)) -> addx_out_gga(one(X), b, one(X)) 6.48/2.58 addx_in_gga(zero(X), b, zero(X)) -> U5_gga(X, binaryZ_in_g(X)) 6.48/2.58 U5_gga(X, binaryZ_out_g(X)) -> addx_out_gga(zero(X), b, zero(X)) 6.48/2.58 addx_in_gga(X, Y, Z) -> U6_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.58 addz_in_gga(one(X), zero(Y), one(Z)) -> U12_gga(X, Y, Z, addy_in_gga(X, Y, Z)) 6.48/2.58 addy_in_gga(b, one(Y), one(Y)) -> U7_gga(Y, binary_in_g(Y)) 6.48/2.58 U7_gga(Y, binary_out_g(Y)) -> addy_out_gga(b, one(Y), one(Y)) 6.48/2.58 addy_in_gga(b, zero(Y), zero(Y)) -> U8_gga(Y, binaryZ_in_g(Y)) 6.48/2.58 U8_gga(Y, binaryZ_out_g(Y)) -> addy_out_gga(b, zero(Y), zero(Y)) 6.48/2.58 addy_in_gga(X, Y, Z) -> U9_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.58 addz_in_gga(one(X), one(Y), zero(Z)) -> U13_gga(X, Y, Z, addc_in_gga(X, Y, Z)) 6.48/2.58 addc_in_gga(b, b, one(b)) -> addc_out_gga(b, b, one(b)) 6.48/2.58 addc_in_gga(X, b, Z) -> U14_gga(X, Z, succZ_in_ga(X, Z)) 6.48/2.58 succZ_in_ga(zero(X), one(X)) -> U33_ga(X, binaryZ_in_g(X)) 6.48/2.58 U33_ga(X, binaryZ_out_g(X)) -> succZ_out_ga(zero(X), one(X)) 6.48/2.58 succZ_in_ga(one(X), zero(Z)) -> U34_ga(X, Z, succ_in_ga(X, Z)) 6.48/2.58 succ_in_ga(b, one(b)) -> succ_out_ga(b, one(b)) 6.48/2.58 succ_in_ga(zero(X), one(X)) -> U31_ga(X, binaryZ_in_g(X)) 6.48/2.58 U31_ga(X, binaryZ_out_g(X)) -> succ_out_ga(zero(X), one(X)) 6.48/2.58 succ_in_ga(one(X), zero(Z)) -> U32_ga(X, Z, succ_in_ga(X, Z)) 6.48/2.58 U32_ga(X, Z, succ_out_ga(X, Z)) -> succ_out_ga(one(X), zero(Z)) 6.48/2.58 U34_ga(X, Z, succ_out_ga(X, Z)) -> succZ_out_ga(one(X), zero(Z)) 6.48/2.58 U14_gga(X, Z, succZ_out_ga(X, Z)) -> addc_out_gga(X, b, Z) 6.48/2.58 addc_in_gga(b, Y, Z) -> U15_gga(Y, Z, succZ_in_ga(Y, Z)) 6.48/2.58 U15_gga(Y, Z, succZ_out_ga(Y, Z)) -> addc_out_gga(b, Y, Z) 6.48/2.58 addc_in_gga(X, Y, Z) -> U16_gga(X, Y, Z, addC_in_gga(X, Y, Z)) 6.48/2.58 addC_in_gga(zero(X), zero(Y), one(Z)) -> U23_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.58 U23_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> addC_out_gga(zero(X), zero(Y), one(Z)) 6.48/2.58 addC_in_gga(zero(X), one(Y), zero(Z)) -> U24_gga(X, Y, Z, addX_in_gga(X, Y, Z)) 6.48/2.58 addX_in_gga(zero(X), b, one(X)) -> U17_gga(X, binaryZ_in_g(X)) 6.48/2.58 U17_gga(X, binaryZ_out_g(X)) -> addX_out_gga(zero(X), b, one(X)) 6.48/2.58 addX_in_gga(one(X), b, zero(Z)) -> U18_gga(X, Z, succ_in_ga(X, Z)) 6.48/2.58 U18_gga(X, Z, succ_out_ga(X, Z)) -> addX_out_gga(one(X), b, zero(Z)) 6.48/2.58 addX_in_gga(X, Y, Z) -> U19_gga(X, Y, Z, addC_in_gga(X, Y, Z)) 6.48/2.58 addC_in_gga(one(X), zero(Y), zero(Z)) -> U25_gga(X, Y, Z, addY_in_gga(X, Y, Z)) 6.48/2.58 addY_in_gga(b, zero(Y), one(Y)) -> U20_gga(Y, binaryZ_in_g(Y)) 6.48/2.58 U20_gga(Y, binaryZ_out_g(Y)) -> addY_out_gga(b, zero(Y), one(Y)) 6.48/2.58 addY_in_gga(b, one(Y), zero(Z)) -> U21_gga(Y, Z, succ_in_ga(Y, Z)) 6.48/2.58 U21_gga(Y, Z, succ_out_ga(Y, Z)) -> addY_out_gga(b, one(Y), zero(Z)) 6.48/2.58 addY_in_gga(X, Y, Z) -> U22_gga(X, Y, Z, addC_in_gga(X, Y, Z)) 6.48/2.58 addC_in_gga(one(X), one(Y), one(Z)) -> U26_gga(X, Y, Z, addc_in_gga(X, Y, Z)) 6.48/2.58 U26_gga(X, Y, Z, addc_out_gga(X, Y, Z)) -> addC_out_gga(one(X), one(Y), one(Z)) 6.48/2.58 U22_gga(X, Y, Z, addC_out_gga(X, Y, Z)) -> addY_out_gga(X, Y, Z) 6.48/2.58 U25_gga(X, Y, Z, addY_out_gga(X, Y, Z)) -> addC_out_gga(one(X), zero(Y), zero(Z)) 6.48/2.58 U19_gga(X, Y, Z, addC_out_gga(X, Y, Z)) -> addX_out_gga(X, Y, Z) 6.48/2.58 U24_gga(X, Y, Z, addX_out_gga(X, Y, Z)) -> addC_out_gga(zero(X), one(Y), zero(Z)) 6.48/2.58 U16_gga(X, Y, Z, addC_out_gga(X, Y, Z)) -> addc_out_gga(X, Y, Z) 6.48/2.58 U13_gga(X, Y, Z, addc_out_gga(X, Y, Z)) -> addz_out_gga(one(X), one(Y), zero(Z)) 6.48/2.58 U9_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> addy_out_gga(X, Y, Z) 6.48/2.58 U12_gga(X, Y, Z, addy_out_gga(X, Y, Z)) -> addz_out_gga(one(X), zero(Y), one(Z)) 6.48/2.58 U6_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> addx_out_gga(X, Y, Z) 6.48/2.58 U11_gga(X, Y, Z, addx_out_gga(X, Y, Z)) -> addz_out_gga(zero(X), one(Y), one(Z)) 6.48/2.58 U10_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> addz_out_gga(zero(X), zero(Y), zero(Z)) 6.48/2.58 U3_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> add_out_gga(X, Y, Z) 6.48/2.58 6.48/2.58 The argument filtering Pi contains the following mapping: 6.48/2.58 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 6.48/2.58 6.48/2.58 b = b 6.48/2.58 6.48/2.58 add_out_gga(x1, x2, x3) = add_out_gga(x3) 6.48/2.58 6.48/2.58 U1_gga(x1, x2) = U1_gga(x1, x2) 6.48/2.58 6.48/2.58 binaryZ_in_g(x1) = binaryZ_in_g(x1) 6.48/2.58 6.48/2.58 zero(x1) = zero(x1) 6.48/2.58 6.48/2.58 U29_g(x1, x2) = U29_g(x2) 6.48/2.58 6.48/2.58 one(x1) = one(x1) 6.48/2.58 6.48/2.58 U30_g(x1, x2) = U30_g(x2) 6.48/2.58 6.48/2.58 binary_in_g(x1) = binary_in_g(x1) 6.48/2.58 6.48/2.58 binary_out_g(x1) = binary_out_g 6.48/2.58 6.48/2.58 U27_g(x1, x2) = U27_g(x2) 6.48/2.58 6.48/2.58 binaryZ_out_g(x1) = binaryZ_out_g 6.48/2.58 6.48/2.58 U28_g(x1, x2) = U28_g(x2) 6.48/2.58 6.48/2.58 U2_gga(x1, x2) = U2_gga(x1, x2) 6.48/2.58 6.48/2.58 U3_gga(x1, x2, x3, x4) = U3_gga(x4) 6.48/2.58 6.48/2.58 addz_in_gga(x1, x2, x3) = addz_in_gga(x1, x2) 6.48/2.58 6.48/2.58 U10_gga(x1, x2, x3, x4) = U10_gga(x4) 6.48/2.58 6.48/2.58 U11_gga(x1, x2, x3, x4) = U11_gga(x4) 6.48/2.58 6.48/2.58 addx_in_gga(x1, x2, x3) = addx_in_gga(x1, x2) 6.48/2.58 6.48/2.58 U4_gga(x1, x2) = U4_gga(x1, x2) 6.48/2.58 6.48/2.58 addx_out_gga(x1, x2, x3) = addx_out_gga(x3) 6.48/2.58 6.48/2.58 U5_gga(x1, x2) = U5_gga(x1, x2) 6.48/2.58 6.48/2.58 U6_gga(x1, x2, x3, x4) = U6_gga(x4) 6.48/2.58 6.48/2.58 U12_gga(x1, x2, x3, x4) = U12_gga(x4) 6.48/2.58 6.48/2.58 addy_in_gga(x1, x2, x3) = addy_in_gga(x1, x2) 6.48/2.58 6.48/2.58 U7_gga(x1, x2) = U7_gga(x1, x2) 6.48/2.58 6.48/2.58 addy_out_gga(x1, x2, x3) = addy_out_gga(x3) 6.48/2.58 6.48/2.58 U8_gga(x1, x2) = U8_gga(x1, x2) 6.48/2.58 6.48/2.58 U9_gga(x1, x2, x3, x4) = U9_gga(x4) 6.48/2.58 6.48/2.58 U13_gga(x1, x2, x3, x4) = U13_gga(x4) 6.48/2.58 6.48/2.58 addc_in_gga(x1, x2, x3) = addc_in_gga(x1, x2) 6.48/2.58 6.48/2.58 addc_out_gga(x1, x2, x3) = addc_out_gga(x3) 6.48/2.58 6.48/2.58 U14_gga(x1, x2, x3) = U14_gga(x3) 6.48/2.58 6.48/2.58 succZ_in_ga(x1, x2) = succZ_in_ga(x1) 6.48/2.58 6.48/2.58 U33_ga(x1, x2) = U33_ga(x1, x2) 6.48/2.58 6.48/2.58 succZ_out_ga(x1, x2) = succZ_out_ga(x2) 6.48/2.58 6.48/2.58 U34_ga(x1, x2, x3) = U34_ga(x3) 6.48/2.58 6.48/2.58 succ_in_ga(x1, x2) = succ_in_ga(x1) 6.48/2.58 6.48/2.58 succ_out_ga(x1, x2) = succ_out_ga(x2) 6.48/2.58 6.48/2.58 U31_ga(x1, x2) = U31_ga(x1, x2) 6.48/2.58 6.48/2.58 U32_ga(x1, x2, x3) = U32_ga(x3) 6.48/2.58 6.48/2.58 U15_gga(x1, x2, x3) = U15_gga(x3) 6.48/2.58 6.48/2.58 U16_gga(x1, x2, x3, x4) = U16_gga(x4) 6.48/2.58 6.48/2.58 addC_in_gga(x1, x2, x3) = addC_in_gga(x1, x2) 6.48/2.58 6.48/2.58 U23_gga(x1, x2, x3, x4) = U23_gga(x4) 6.48/2.58 6.48/2.58 addz_out_gga(x1, x2, x3) = addz_out_gga(x3) 6.48/2.58 6.48/2.58 addC_out_gga(x1, x2, x3) = addC_out_gga(x3) 6.48/2.58 6.48/2.58 U24_gga(x1, x2, x3, x4) = U24_gga(x4) 6.48/2.58 6.48/2.58 addX_in_gga(x1, x2, x3) = addX_in_gga(x1, x2) 6.48/2.58 6.48/2.58 U17_gga(x1, x2) = U17_gga(x1, x2) 6.48/2.58 6.48/2.58 addX_out_gga(x1, x2, x3) = addX_out_gga(x3) 6.48/2.58 6.48/2.58 U18_gga(x1, x2, x3) = U18_gga(x3) 6.48/2.58 6.48/2.58 U19_gga(x1, x2, x3, x4) = U19_gga(x4) 6.48/2.58 6.48/2.58 U25_gga(x1, x2, x3, x4) = U25_gga(x4) 6.48/2.58 6.48/2.58 addY_in_gga(x1, x2, x3) = addY_in_gga(x1, x2) 6.48/2.58 6.48/2.58 U20_gga(x1, x2) = U20_gga(x1, x2) 6.48/2.58 6.48/2.58 addY_out_gga(x1, x2, x3) = addY_out_gga(x3) 6.48/2.58 6.48/2.58 U21_gga(x1, x2, x3) = U21_gga(x3) 6.48/2.58 6.48/2.58 U22_gga(x1, x2, x3, x4) = U22_gga(x4) 6.48/2.58 6.48/2.58 U26_gga(x1, x2, x3, x4) = U26_gga(x4) 6.48/2.58 6.48/2.58 ADD_IN_GGA(x1, x2, x3) = ADD_IN_GGA(x1, x2) 6.48/2.58 6.48/2.58 U1_GGA(x1, x2) = U1_GGA(x1, x2) 6.48/2.58 6.48/2.58 BINARYZ_IN_G(x1) = BINARYZ_IN_G(x1) 6.48/2.58 6.48/2.58 U29_G(x1, x2) = U29_G(x2) 6.48/2.58 6.48/2.58 U30_G(x1, x2) = U30_G(x2) 6.48/2.58 6.48/2.58 BINARY_IN_G(x1) = BINARY_IN_G(x1) 6.48/2.58 6.48/2.58 U27_G(x1, x2) = U27_G(x2) 6.48/2.58 6.48/2.58 U28_G(x1, x2) = U28_G(x2) 6.48/2.58 6.48/2.58 U2_GGA(x1, x2) = U2_GGA(x1, x2) 6.48/2.58 6.48/2.58 U3_GGA(x1, x2, x3, x4) = U3_GGA(x4) 6.48/2.58 6.48/2.58 ADDZ_IN_GGA(x1, x2, x3) = ADDZ_IN_GGA(x1, x2) 6.48/2.58 6.48/2.58 U10_GGA(x1, x2, x3, x4) = U10_GGA(x4) 6.48/2.58 6.48/2.58 U11_GGA(x1, x2, x3, x4) = U11_GGA(x4) 6.48/2.58 6.48/2.58 ADDX_IN_GGA(x1, x2, x3) = ADDX_IN_GGA(x1, x2) 6.48/2.58 6.48/2.58 U4_GGA(x1, x2) = U4_GGA(x1, x2) 6.48/2.58 6.48/2.58 U5_GGA(x1, x2) = U5_GGA(x1, x2) 6.48/2.58 6.48/2.58 U6_GGA(x1, x2, x3, x4) = U6_GGA(x4) 6.48/2.58 6.48/2.58 U12_GGA(x1, x2, x3, x4) = U12_GGA(x4) 6.48/2.58 6.48/2.58 ADDY_IN_GGA(x1, x2, x3) = ADDY_IN_GGA(x1, x2) 6.48/2.58 6.48/2.58 U7_GGA(x1, x2) = U7_GGA(x1, x2) 6.48/2.58 6.48/2.58 U8_GGA(x1, x2) = U8_GGA(x1, x2) 6.48/2.58 6.48/2.58 U9_GGA(x1, x2, x3, x4) = U9_GGA(x4) 6.48/2.58 6.48/2.58 U13_GGA(x1, x2, x3, x4) = U13_GGA(x4) 6.48/2.58 6.48/2.58 ADDC_IN_GGA(x1, x2, x3) = ADDC_IN_GGA(x1, x2) 6.48/2.58 6.48/2.58 U14_GGA(x1, x2, x3) = U14_GGA(x3) 6.48/2.58 6.48/2.58 SUCCZ_IN_GA(x1, x2) = SUCCZ_IN_GA(x1) 6.48/2.58 6.48/2.58 U33_GA(x1, x2) = U33_GA(x1, x2) 6.48/2.58 6.48/2.58 U34_GA(x1, x2, x3) = U34_GA(x3) 6.48/2.58 6.48/2.58 SUCC_IN_GA(x1, x2) = SUCC_IN_GA(x1) 6.48/2.58 6.48/2.58 U31_GA(x1, x2) = U31_GA(x1, x2) 6.48/2.58 6.48/2.58 U32_GA(x1, x2, x3) = U32_GA(x3) 6.48/2.59 6.48/2.59 U15_GGA(x1, x2, x3) = U15_GGA(x3) 6.48/2.59 6.48/2.59 U16_GGA(x1, x2, x3, x4) = U16_GGA(x4) 6.48/2.59 6.48/2.59 ADDC_IN_GGA^1(x1, x2, x3) = ADDC_IN_GGA^1(x1, x2) 6.48/2.59 6.48/2.59 U23_GGA(x1, x2, x3, x4) = U23_GGA(x4) 6.48/2.59 6.48/2.59 U24_GGA(x1, x2, x3, x4) = U24_GGA(x4) 6.48/2.59 6.48/2.59 ADDX_IN_GGA^1(x1, x2, x3) = ADDX_IN_GGA^1(x1, x2) 6.48/2.59 6.48/2.59 U17_GGA(x1, x2) = U17_GGA(x1, x2) 6.48/2.59 6.48/2.59 U18_GGA(x1, x2, x3) = U18_GGA(x3) 6.48/2.59 6.48/2.59 U19_GGA(x1, x2, x3, x4) = U19_GGA(x4) 6.48/2.59 6.48/2.59 U25_GGA(x1, x2, x3, x4) = U25_GGA(x4) 6.48/2.59 6.48/2.59 ADDY_IN_GGA^1(x1, x2, x3) = ADDY_IN_GGA^1(x1, x2) 6.48/2.59 6.48/2.59 U20_GGA(x1, x2) = U20_GGA(x1, x2) 6.48/2.59 6.48/2.59 U21_GGA(x1, x2, x3) = U21_GGA(x3) 6.48/2.59 6.48/2.59 U22_GGA(x1, x2, x3, x4) = U22_GGA(x4) 6.48/2.59 6.48/2.59 U26_GGA(x1, x2, x3, x4) = U26_GGA(x4) 6.48/2.59 6.48/2.59 6.48/2.59 We have to consider all (P,R,Pi)-chains 6.48/2.59 ---------------------------------------- 6.48/2.59 6.48/2.59 (4) 6.48/2.59 Obligation: 6.48/2.59 Pi DP problem: 6.48/2.59 The TRS P consists of the following rules: 6.48/2.59 6.48/2.59 ADD_IN_GGA(X, b, X) -> U1_GGA(X, binaryZ_in_g(X)) 6.48/2.59 ADD_IN_GGA(X, b, X) -> BINARYZ_IN_G(X) 6.48/2.59 BINARYZ_IN_G(zero(X)) -> U29_G(X, binaryZ_in_g(X)) 6.48/2.59 BINARYZ_IN_G(zero(X)) -> BINARYZ_IN_G(X) 6.48/2.59 BINARYZ_IN_G(one(X)) -> U30_G(X, binary_in_g(X)) 6.48/2.59 BINARYZ_IN_G(one(X)) -> BINARY_IN_G(X) 6.48/2.59 BINARY_IN_G(zero(X)) -> U27_G(X, binaryZ_in_g(X)) 6.48/2.59 BINARY_IN_G(zero(X)) -> BINARYZ_IN_G(X) 6.48/2.59 BINARY_IN_G(one(X)) -> U28_G(X, binary_in_g(X)) 6.48/2.59 BINARY_IN_G(one(X)) -> BINARY_IN_G(X) 6.48/2.59 ADD_IN_GGA(b, Y, Y) -> U2_GGA(Y, binaryZ_in_g(Y)) 6.48/2.59 ADD_IN_GGA(b, Y, Y) -> BINARYZ_IN_G(Y) 6.48/2.59 ADD_IN_GGA(X, Y, Z) -> U3_GGA(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.59 ADD_IN_GGA(X, Y, Z) -> ADDZ_IN_GGA(X, Y, Z) 6.48/2.59 ADDZ_IN_GGA(zero(X), zero(Y), zero(Z)) -> U10_GGA(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.59 ADDZ_IN_GGA(zero(X), zero(Y), zero(Z)) -> ADDZ_IN_GGA(X, Y, Z) 6.48/2.59 ADDZ_IN_GGA(zero(X), one(Y), one(Z)) -> U11_GGA(X, Y, Z, addx_in_gga(X, Y, Z)) 6.48/2.59 ADDZ_IN_GGA(zero(X), one(Y), one(Z)) -> ADDX_IN_GGA(X, Y, Z) 6.48/2.59 ADDX_IN_GGA(one(X), b, one(X)) -> U4_GGA(X, binary_in_g(X)) 6.48/2.59 ADDX_IN_GGA(one(X), b, one(X)) -> BINARY_IN_G(X) 6.48/2.59 ADDX_IN_GGA(zero(X), b, zero(X)) -> U5_GGA(X, binaryZ_in_g(X)) 6.48/2.59 ADDX_IN_GGA(zero(X), b, zero(X)) -> BINARYZ_IN_G(X) 6.48/2.59 ADDX_IN_GGA(X, Y, Z) -> U6_GGA(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.59 ADDX_IN_GGA(X, Y, Z) -> ADDZ_IN_GGA(X, Y, Z) 6.48/2.59 ADDZ_IN_GGA(one(X), zero(Y), one(Z)) -> U12_GGA(X, Y, Z, addy_in_gga(X, Y, Z)) 6.48/2.59 ADDZ_IN_GGA(one(X), zero(Y), one(Z)) -> ADDY_IN_GGA(X, Y, Z) 6.48/2.59 ADDY_IN_GGA(b, one(Y), one(Y)) -> U7_GGA(Y, binary_in_g(Y)) 6.48/2.59 ADDY_IN_GGA(b, one(Y), one(Y)) -> BINARY_IN_G(Y) 6.48/2.59 ADDY_IN_GGA(b, zero(Y), zero(Y)) -> U8_GGA(Y, binaryZ_in_g(Y)) 6.48/2.59 ADDY_IN_GGA(b, zero(Y), zero(Y)) -> BINARYZ_IN_G(Y) 6.48/2.59 ADDY_IN_GGA(X, Y, Z) -> U9_GGA(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.59 ADDY_IN_GGA(X, Y, Z) -> ADDZ_IN_GGA(X, Y, Z) 6.48/2.59 ADDZ_IN_GGA(one(X), one(Y), zero(Z)) -> U13_GGA(X, Y, Z, addc_in_gga(X, Y, Z)) 6.48/2.59 ADDZ_IN_GGA(one(X), one(Y), zero(Z)) -> ADDC_IN_GGA(X, Y, Z) 6.48/2.59 ADDC_IN_GGA(X, b, Z) -> U14_GGA(X, Z, succZ_in_ga(X, Z)) 6.48/2.59 ADDC_IN_GGA(X, b, Z) -> SUCCZ_IN_GA(X, Z) 6.48/2.59 SUCCZ_IN_GA(zero(X), one(X)) -> U33_GA(X, binaryZ_in_g(X)) 6.48/2.59 SUCCZ_IN_GA(zero(X), one(X)) -> BINARYZ_IN_G(X) 6.48/2.59 SUCCZ_IN_GA(one(X), zero(Z)) -> U34_GA(X, Z, succ_in_ga(X, Z)) 6.48/2.59 SUCCZ_IN_GA(one(X), zero(Z)) -> SUCC_IN_GA(X, Z) 6.48/2.59 SUCC_IN_GA(zero(X), one(X)) -> U31_GA(X, binaryZ_in_g(X)) 6.48/2.59 SUCC_IN_GA(zero(X), one(X)) -> BINARYZ_IN_G(X) 6.48/2.59 SUCC_IN_GA(one(X), zero(Z)) -> U32_GA(X, Z, succ_in_ga(X, Z)) 6.48/2.59 SUCC_IN_GA(one(X), zero(Z)) -> SUCC_IN_GA(X, Z) 6.48/2.59 ADDC_IN_GGA(b, Y, Z) -> U15_GGA(Y, Z, succZ_in_ga(Y, Z)) 6.48/2.59 ADDC_IN_GGA(b, Y, Z) -> SUCCZ_IN_GA(Y, Z) 6.48/2.59 ADDC_IN_GGA(X, Y, Z) -> U16_GGA(X, Y, Z, addC_in_gga(X, Y, Z)) 6.48/2.59 ADDC_IN_GGA(X, Y, Z) -> ADDC_IN_GGA^1(X, Y, Z) 6.48/2.59 ADDC_IN_GGA^1(zero(X), zero(Y), one(Z)) -> U23_GGA(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.59 ADDC_IN_GGA^1(zero(X), zero(Y), one(Z)) -> ADDZ_IN_GGA(X, Y, Z) 6.48/2.59 ADDC_IN_GGA^1(zero(X), one(Y), zero(Z)) -> U24_GGA(X, Y, Z, addX_in_gga(X, Y, Z)) 6.48/2.59 ADDC_IN_GGA^1(zero(X), one(Y), zero(Z)) -> ADDX_IN_GGA^1(X, Y, Z) 6.48/2.59 ADDX_IN_GGA^1(zero(X), b, one(X)) -> U17_GGA(X, binaryZ_in_g(X)) 6.48/2.59 ADDX_IN_GGA^1(zero(X), b, one(X)) -> BINARYZ_IN_G(X) 6.48/2.59 ADDX_IN_GGA^1(one(X), b, zero(Z)) -> U18_GGA(X, Z, succ_in_ga(X, Z)) 6.48/2.59 ADDX_IN_GGA^1(one(X), b, zero(Z)) -> SUCC_IN_GA(X, Z) 6.48/2.59 ADDX_IN_GGA^1(X, Y, Z) -> U19_GGA(X, Y, Z, addC_in_gga(X, Y, Z)) 6.48/2.59 ADDX_IN_GGA^1(X, Y, Z) -> ADDC_IN_GGA^1(X, Y, Z) 6.48/2.59 ADDC_IN_GGA^1(one(X), zero(Y), zero(Z)) -> U25_GGA(X, Y, Z, addY_in_gga(X, Y, Z)) 6.48/2.59 ADDC_IN_GGA^1(one(X), zero(Y), zero(Z)) -> ADDY_IN_GGA^1(X, Y, Z) 6.48/2.59 ADDY_IN_GGA^1(b, zero(Y), one(Y)) -> U20_GGA(Y, binaryZ_in_g(Y)) 6.48/2.59 ADDY_IN_GGA^1(b, zero(Y), one(Y)) -> BINARYZ_IN_G(Y) 6.48/2.59 ADDY_IN_GGA^1(b, one(Y), zero(Z)) -> U21_GGA(Y, Z, succ_in_ga(Y, Z)) 6.48/2.59 ADDY_IN_GGA^1(b, one(Y), zero(Z)) -> SUCC_IN_GA(Y, Z) 6.48/2.59 ADDY_IN_GGA^1(X, Y, Z) -> U22_GGA(X, Y, Z, addC_in_gga(X, Y, Z)) 6.48/2.59 ADDY_IN_GGA^1(X, Y, Z) -> ADDC_IN_GGA^1(X, Y, Z) 6.48/2.59 ADDC_IN_GGA^1(one(X), one(Y), one(Z)) -> U26_GGA(X, Y, Z, addc_in_gga(X, Y, Z)) 6.48/2.59 ADDC_IN_GGA^1(one(X), one(Y), one(Z)) -> ADDC_IN_GGA(X, Y, Z) 6.48/2.59 6.48/2.59 The TRS R consists of the following rules: 6.48/2.59 6.48/2.59 add_in_gga(b, b, b) -> add_out_gga(b, b, b) 6.48/2.59 add_in_gga(X, b, X) -> U1_gga(X, binaryZ_in_g(X)) 6.48/2.59 binaryZ_in_g(zero(X)) -> U29_g(X, binaryZ_in_g(X)) 6.48/2.59 binaryZ_in_g(one(X)) -> U30_g(X, binary_in_g(X)) 6.48/2.59 binary_in_g(b) -> binary_out_g(b) 6.48/2.59 binary_in_g(zero(X)) -> U27_g(X, binaryZ_in_g(X)) 6.48/2.59 U27_g(X, binaryZ_out_g(X)) -> binary_out_g(zero(X)) 6.48/2.59 binary_in_g(one(X)) -> U28_g(X, binary_in_g(X)) 6.48/2.59 U28_g(X, binary_out_g(X)) -> binary_out_g(one(X)) 6.48/2.59 U30_g(X, binary_out_g(X)) -> binaryZ_out_g(one(X)) 6.48/2.59 U29_g(X, binaryZ_out_g(X)) -> binaryZ_out_g(zero(X)) 6.48/2.59 U1_gga(X, binaryZ_out_g(X)) -> add_out_gga(X, b, X) 6.48/2.59 add_in_gga(b, Y, Y) -> U2_gga(Y, binaryZ_in_g(Y)) 6.48/2.59 U2_gga(Y, binaryZ_out_g(Y)) -> add_out_gga(b, Y, Y) 6.48/2.59 add_in_gga(X, Y, Z) -> U3_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.59 addz_in_gga(zero(X), zero(Y), zero(Z)) -> U10_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.59 addz_in_gga(zero(X), one(Y), one(Z)) -> U11_gga(X, Y, Z, addx_in_gga(X, Y, Z)) 6.48/2.59 addx_in_gga(one(X), b, one(X)) -> U4_gga(X, binary_in_g(X)) 6.48/2.59 U4_gga(X, binary_out_g(X)) -> addx_out_gga(one(X), b, one(X)) 6.48/2.59 addx_in_gga(zero(X), b, zero(X)) -> U5_gga(X, binaryZ_in_g(X)) 6.48/2.59 U5_gga(X, binaryZ_out_g(X)) -> addx_out_gga(zero(X), b, zero(X)) 6.48/2.59 addx_in_gga(X, Y, Z) -> U6_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.59 addz_in_gga(one(X), zero(Y), one(Z)) -> U12_gga(X, Y, Z, addy_in_gga(X, Y, Z)) 6.48/2.59 addy_in_gga(b, one(Y), one(Y)) -> U7_gga(Y, binary_in_g(Y)) 6.48/2.59 U7_gga(Y, binary_out_g(Y)) -> addy_out_gga(b, one(Y), one(Y)) 6.48/2.59 addy_in_gga(b, zero(Y), zero(Y)) -> U8_gga(Y, binaryZ_in_g(Y)) 6.48/2.59 U8_gga(Y, binaryZ_out_g(Y)) -> addy_out_gga(b, zero(Y), zero(Y)) 6.48/2.59 addy_in_gga(X, Y, Z) -> U9_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.59 addz_in_gga(one(X), one(Y), zero(Z)) -> U13_gga(X, Y, Z, addc_in_gga(X, Y, Z)) 6.48/2.59 addc_in_gga(b, b, one(b)) -> addc_out_gga(b, b, one(b)) 6.48/2.59 addc_in_gga(X, b, Z) -> U14_gga(X, Z, succZ_in_ga(X, Z)) 6.48/2.59 succZ_in_ga(zero(X), one(X)) -> U33_ga(X, binaryZ_in_g(X)) 6.48/2.59 U33_ga(X, binaryZ_out_g(X)) -> succZ_out_ga(zero(X), one(X)) 6.48/2.59 succZ_in_ga(one(X), zero(Z)) -> U34_ga(X, Z, succ_in_ga(X, Z)) 6.48/2.59 succ_in_ga(b, one(b)) -> succ_out_ga(b, one(b)) 6.48/2.59 succ_in_ga(zero(X), one(X)) -> U31_ga(X, binaryZ_in_g(X)) 6.48/2.59 U31_ga(X, binaryZ_out_g(X)) -> succ_out_ga(zero(X), one(X)) 6.48/2.59 succ_in_ga(one(X), zero(Z)) -> U32_ga(X, Z, succ_in_ga(X, Z)) 6.48/2.59 U32_ga(X, Z, succ_out_ga(X, Z)) -> succ_out_ga(one(X), zero(Z)) 6.48/2.59 U34_ga(X, Z, succ_out_ga(X, Z)) -> succZ_out_ga(one(X), zero(Z)) 6.48/2.59 U14_gga(X, Z, succZ_out_ga(X, Z)) -> addc_out_gga(X, b, Z) 6.48/2.59 addc_in_gga(b, Y, Z) -> U15_gga(Y, Z, succZ_in_ga(Y, Z)) 6.48/2.59 U15_gga(Y, Z, succZ_out_ga(Y, Z)) -> addc_out_gga(b, Y, Z) 6.48/2.59 addc_in_gga(X, Y, Z) -> U16_gga(X, Y, Z, addC_in_gga(X, Y, Z)) 6.48/2.59 addC_in_gga(zero(X), zero(Y), one(Z)) -> U23_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.59 U23_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> addC_out_gga(zero(X), zero(Y), one(Z)) 6.48/2.59 addC_in_gga(zero(X), one(Y), zero(Z)) -> U24_gga(X, Y, Z, addX_in_gga(X, Y, Z)) 6.48/2.59 addX_in_gga(zero(X), b, one(X)) -> U17_gga(X, binaryZ_in_g(X)) 6.48/2.59 U17_gga(X, binaryZ_out_g(X)) -> addX_out_gga(zero(X), b, one(X)) 6.48/2.59 addX_in_gga(one(X), b, zero(Z)) -> U18_gga(X, Z, succ_in_ga(X, Z)) 6.48/2.59 U18_gga(X, Z, succ_out_ga(X, Z)) -> addX_out_gga(one(X), b, zero(Z)) 6.48/2.59 addX_in_gga(X, Y, Z) -> U19_gga(X, Y, Z, addC_in_gga(X, Y, Z)) 6.48/2.59 addC_in_gga(one(X), zero(Y), zero(Z)) -> U25_gga(X, Y, Z, addY_in_gga(X, Y, Z)) 6.48/2.59 addY_in_gga(b, zero(Y), one(Y)) -> U20_gga(Y, binaryZ_in_g(Y)) 6.48/2.59 U20_gga(Y, binaryZ_out_g(Y)) -> addY_out_gga(b, zero(Y), one(Y)) 6.48/2.59 addY_in_gga(b, one(Y), zero(Z)) -> U21_gga(Y, Z, succ_in_ga(Y, Z)) 6.48/2.59 U21_gga(Y, Z, succ_out_ga(Y, Z)) -> addY_out_gga(b, one(Y), zero(Z)) 6.48/2.59 addY_in_gga(X, Y, Z) -> U22_gga(X, Y, Z, addC_in_gga(X, Y, Z)) 6.48/2.59 addC_in_gga(one(X), one(Y), one(Z)) -> U26_gga(X, Y, Z, addc_in_gga(X, Y, Z)) 6.48/2.59 U26_gga(X, Y, Z, addc_out_gga(X, Y, Z)) -> addC_out_gga(one(X), one(Y), one(Z)) 6.48/2.59 U22_gga(X, Y, Z, addC_out_gga(X, Y, Z)) -> addY_out_gga(X, Y, Z) 6.48/2.59 U25_gga(X, Y, Z, addY_out_gga(X, Y, Z)) -> addC_out_gga(one(X), zero(Y), zero(Z)) 6.48/2.59 U19_gga(X, Y, Z, addC_out_gga(X, Y, Z)) -> addX_out_gga(X, Y, Z) 6.48/2.59 U24_gga(X, Y, Z, addX_out_gga(X, Y, Z)) -> addC_out_gga(zero(X), one(Y), zero(Z)) 6.48/2.59 U16_gga(X, Y, Z, addC_out_gga(X, Y, Z)) -> addc_out_gga(X, Y, Z) 6.48/2.59 U13_gga(X, Y, Z, addc_out_gga(X, Y, Z)) -> addz_out_gga(one(X), one(Y), zero(Z)) 6.48/2.59 U9_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> addy_out_gga(X, Y, Z) 6.48/2.59 U12_gga(X, Y, Z, addy_out_gga(X, Y, Z)) -> addz_out_gga(one(X), zero(Y), one(Z)) 6.48/2.59 U6_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> addx_out_gga(X, Y, Z) 6.48/2.59 U11_gga(X, Y, Z, addx_out_gga(X, Y, Z)) -> addz_out_gga(zero(X), one(Y), one(Z)) 6.48/2.59 U10_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> addz_out_gga(zero(X), zero(Y), zero(Z)) 6.48/2.59 U3_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> add_out_gga(X, Y, Z) 6.48/2.59 6.48/2.59 The argument filtering Pi contains the following mapping: 6.48/2.59 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 6.48/2.59 6.48/2.59 b = b 6.48/2.59 6.48/2.59 add_out_gga(x1, x2, x3) = add_out_gga(x3) 6.48/2.59 6.48/2.59 U1_gga(x1, x2) = U1_gga(x1, x2) 6.48/2.59 6.48/2.59 binaryZ_in_g(x1) = binaryZ_in_g(x1) 6.48/2.59 6.48/2.59 zero(x1) = zero(x1) 6.48/2.59 6.48/2.59 U29_g(x1, x2) = U29_g(x2) 6.48/2.59 6.48/2.59 one(x1) = one(x1) 6.48/2.59 6.48/2.59 U30_g(x1, x2) = U30_g(x2) 6.48/2.59 6.48/2.59 binary_in_g(x1) = binary_in_g(x1) 6.48/2.59 6.48/2.59 binary_out_g(x1) = binary_out_g 6.48/2.59 6.48/2.59 U27_g(x1, x2) = U27_g(x2) 6.48/2.59 6.48/2.59 binaryZ_out_g(x1) = binaryZ_out_g 6.48/2.59 6.48/2.59 U28_g(x1, x2) = U28_g(x2) 6.48/2.59 6.48/2.59 U2_gga(x1, x2) = U2_gga(x1, x2) 6.48/2.59 6.48/2.59 U3_gga(x1, x2, x3, x4) = U3_gga(x4) 6.48/2.59 6.48/2.59 addz_in_gga(x1, x2, x3) = addz_in_gga(x1, x2) 6.48/2.59 6.48/2.59 U10_gga(x1, x2, x3, x4) = U10_gga(x4) 6.48/2.59 6.48/2.59 U11_gga(x1, x2, x3, x4) = U11_gga(x4) 6.48/2.59 6.48/2.59 addx_in_gga(x1, x2, x3) = addx_in_gga(x1, x2) 6.48/2.59 6.48/2.59 U4_gga(x1, x2) = U4_gga(x1, x2) 6.48/2.59 6.48/2.59 addx_out_gga(x1, x2, x3) = addx_out_gga(x3) 6.48/2.59 6.48/2.59 U5_gga(x1, x2) = U5_gga(x1, x2) 6.48/2.59 6.48/2.59 U6_gga(x1, x2, x3, x4) = U6_gga(x4) 6.48/2.59 6.48/2.59 U12_gga(x1, x2, x3, x4) = U12_gga(x4) 6.48/2.59 6.48/2.59 addy_in_gga(x1, x2, x3) = addy_in_gga(x1, x2) 6.48/2.59 6.48/2.59 U7_gga(x1, x2) = U7_gga(x1, x2) 6.48/2.59 6.48/2.59 addy_out_gga(x1, x2, x3) = addy_out_gga(x3) 6.48/2.59 6.48/2.59 U8_gga(x1, x2) = U8_gga(x1, x2) 6.48/2.59 6.48/2.59 U9_gga(x1, x2, x3, x4) = U9_gga(x4) 6.48/2.59 6.48/2.59 U13_gga(x1, x2, x3, x4) = U13_gga(x4) 6.48/2.59 6.48/2.59 addc_in_gga(x1, x2, x3) = addc_in_gga(x1, x2) 6.48/2.59 6.48/2.59 addc_out_gga(x1, x2, x3) = addc_out_gga(x3) 6.48/2.59 6.48/2.59 U14_gga(x1, x2, x3) = U14_gga(x3) 6.48/2.59 6.48/2.59 succZ_in_ga(x1, x2) = succZ_in_ga(x1) 6.48/2.59 6.48/2.59 U33_ga(x1, x2) = U33_ga(x1, x2) 6.48/2.59 6.48/2.59 succZ_out_ga(x1, x2) = succZ_out_ga(x2) 6.48/2.59 6.48/2.59 U34_ga(x1, x2, x3) = U34_ga(x3) 6.48/2.59 6.48/2.59 succ_in_ga(x1, x2) = succ_in_ga(x1) 6.48/2.59 6.48/2.59 succ_out_ga(x1, x2) = succ_out_ga(x2) 6.48/2.59 6.48/2.59 U31_ga(x1, x2) = U31_ga(x1, x2) 6.48/2.59 6.48/2.59 U32_ga(x1, x2, x3) = U32_ga(x3) 6.48/2.59 6.48/2.59 U15_gga(x1, x2, x3) = U15_gga(x3) 6.48/2.59 6.48/2.59 U16_gga(x1, x2, x3, x4) = U16_gga(x4) 6.48/2.59 6.48/2.59 addC_in_gga(x1, x2, x3) = addC_in_gga(x1, x2) 6.48/2.59 6.48/2.59 U23_gga(x1, x2, x3, x4) = U23_gga(x4) 6.48/2.59 6.48/2.59 addz_out_gga(x1, x2, x3) = addz_out_gga(x3) 6.48/2.59 6.48/2.59 addC_out_gga(x1, x2, x3) = addC_out_gga(x3) 6.48/2.59 6.48/2.59 U24_gga(x1, x2, x3, x4) = U24_gga(x4) 6.48/2.59 6.48/2.59 addX_in_gga(x1, x2, x3) = addX_in_gga(x1, x2) 6.48/2.59 6.48/2.59 U17_gga(x1, x2) = U17_gga(x1, x2) 6.48/2.59 6.48/2.59 addX_out_gga(x1, x2, x3) = addX_out_gga(x3) 6.48/2.59 6.48/2.59 U18_gga(x1, x2, x3) = U18_gga(x3) 6.48/2.59 6.48/2.59 U19_gga(x1, x2, x3, x4) = U19_gga(x4) 6.48/2.59 6.48/2.59 U25_gga(x1, x2, x3, x4) = U25_gga(x4) 6.48/2.59 6.48/2.59 addY_in_gga(x1, x2, x3) = addY_in_gga(x1, x2) 6.48/2.59 6.48/2.59 U20_gga(x1, x2) = U20_gga(x1, x2) 6.48/2.59 6.48/2.59 addY_out_gga(x1, x2, x3) = addY_out_gga(x3) 6.48/2.59 6.48/2.59 U21_gga(x1, x2, x3) = U21_gga(x3) 6.48/2.59 6.48/2.59 U22_gga(x1, x2, x3, x4) = U22_gga(x4) 6.48/2.59 6.48/2.59 U26_gga(x1, x2, x3, x4) = U26_gga(x4) 6.48/2.59 6.48/2.59 ADD_IN_GGA(x1, x2, x3) = ADD_IN_GGA(x1, x2) 6.48/2.59 6.48/2.59 U1_GGA(x1, x2) = U1_GGA(x1, x2) 6.48/2.59 6.48/2.59 BINARYZ_IN_G(x1) = BINARYZ_IN_G(x1) 6.48/2.59 6.48/2.59 U29_G(x1, x2) = U29_G(x2) 6.48/2.59 6.48/2.59 U30_G(x1, x2) = U30_G(x2) 6.48/2.59 6.48/2.59 BINARY_IN_G(x1) = BINARY_IN_G(x1) 6.48/2.59 6.48/2.59 U27_G(x1, x2) = U27_G(x2) 6.48/2.59 6.48/2.59 U28_G(x1, x2) = U28_G(x2) 6.48/2.59 6.48/2.59 U2_GGA(x1, x2) = U2_GGA(x1, x2) 6.48/2.59 6.48/2.59 U3_GGA(x1, x2, x3, x4) = U3_GGA(x4) 6.48/2.59 6.48/2.59 ADDZ_IN_GGA(x1, x2, x3) = ADDZ_IN_GGA(x1, x2) 6.48/2.59 6.48/2.59 U10_GGA(x1, x2, x3, x4) = U10_GGA(x4) 6.48/2.59 6.48/2.59 U11_GGA(x1, x2, x3, x4) = U11_GGA(x4) 6.48/2.59 6.48/2.59 ADDX_IN_GGA(x1, x2, x3) = ADDX_IN_GGA(x1, x2) 6.48/2.59 6.48/2.59 U4_GGA(x1, x2) = U4_GGA(x1, x2) 6.48/2.59 6.48/2.59 U5_GGA(x1, x2) = U5_GGA(x1, x2) 6.48/2.59 6.48/2.59 U6_GGA(x1, x2, x3, x4) = U6_GGA(x4) 6.48/2.59 6.48/2.59 U12_GGA(x1, x2, x3, x4) = U12_GGA(x4) 6.48/2.59 6.48/2.59 ADDY_IN_GGA(x1, x2, x3) = ADDY_IN_GGA(x1, x2) 6.48/2.59 6.48/2.59 U7_GGA(x1, x2) = U7_GGA(x1, x2) 6.48/2.59 6.48/2.59 U8_GGA(x1, x2) = U8_GGA(x1, x2) 6.48/2.59 6.48/2.59 U9_GGA(x1, x2, x3, x4) = U9_GGA(x4) 6.48/2.59 6.48/2.59 U13_GGA(x1, x2, x3, x4) = U13_GGA(x4) 6.48/2.59 6.48/2.59 ADDC_IN_GGA(x1, x2, x3) = ADDC_IN_GGA(x1, x2) 6.48/2.59 6.48/2.59 U14_GGA(x1, x2, x3) = U14_GGA(x3) 6.48/2.59 6.48/2.59 SUCCZ_IN_GA(x1, x2) = SUCCZ_IN_GA(x1) 6.48/2.59 6.48/2.59 U33_GA(x1, x2) = U33_GA(x1, x2) 6.48/2.59 6.48/2.59 U34_GA(x1, x2, x3) = U34_GA(x3) 6.48/2.59 6.48/2.59 SUCC_IN_GA(x1, x2) = SUCC_IN_GA(x1) 6.48/2.59 6.48/2.59 U31_GA(x1, x2) = U31_GA(x1, x2) 6.48/2.59 6.48/2.59 U32_GA(x1, x2, x3) = U32_GA(x3) 6.48/2.59 6.48/2.59 U15_GGA(x1, x2, x3) = U15_GGA(x3) 6.48/2.59 6.48/2.59 U16_GGA(x1, x2, x3, x4) = U16_GGA(x4) 6.48/2.59 6.48/2.59 ADDC_IN_GGA^1(x1, x2, x3) = ADDC_IN_GGA^1(x1, x2) 6.48/2.59 6.48/2.59 U23_GGA(x1, x2, x3, x4) = U23_GGA(x4) 6.48/2.59 6.48/2.59 U24_GGA(x1, x2, x3, x4) = U24_GGA(x4) 6.48/2.59 6.48/2.59 ADDX_IN_GGA^1(x1, x2, x3) = ADDX_IN_GGA^1(x1, x2) 6.48/2.59 6.48/2.59 U17_GGA(x1, x2) = U17_GGA(x1, x2) 6.48/2.59 6.48/2.59 U18_GGA(x1, x2, x3) = U18_GGA(x3) 6.48/2.59 6.48/2.59 U19_GGA(x1, x2, x3, x4) = U19_GGA(x4) 6.48/2.59 6.48/2.59 U25_GGA(x1, x2, x3, x4) = U25_GGA(x4) 6.48/2.59 6.48/2.59 ADDY_IN_GGA^1(x1, x2, x3) = ADDY_IN_GGA^1(x1, x2) 6.48/2.59 6.48/2.59 U20_GGA(x1, x2) = U20_GGA(x1, x2) 6.48/2.59 6.48/2.59 U21_GGA(x1, x2, x3) = U21_GGA(x3) 6.48/2.59 6.48/2.59 U22_GGA(x1, x2, x3, x4) = U22_GGA(x4) 6.48/2.59 6.48/2.59 U26_GGA(x1, x2, x3, x4) = U26_GGA(x4) 6.48/2.59 6.48/2.59 6.48/2.59 We have to consider all (P,R,Pi)-chains 6.48/2.59 ---------------------------------------- 6.48/2.59 6.48/2.59 (5) DependencyGraphProof (EQUIVALENT) 6.48/2.59 The approximation of the Dependency Graph [LOPSTR] contains 3 SCCs with 50 less nodes. 6.48/2.59 ---------------------------------------- 6.48/2.59 6.48/2.59 (6) 6.48/2.59 Complex Obligation (AND) 6.48/2.59 6.48/2.59 ---------------------------------------- 6.48/2.59 6.48/2.59 (7) 6.48/2.59 Obligation: 6.48/2.59 Pi DP problem: 6.48/2.59 The TRS P consists of the following rules: 6.48/2.59 6.48/2.59 BINARYZ_IN_G(one(X)) -> BINARY_IN_G(X) 6.48/2.59 BINARY_IN_G(zero(X)) -> BINARYZ_IN_G(X) 6.48/2.59 BINARYZ_IN_G(zero(X)) -> BINARYZ_IN_G(X) 6.48/2.59 BINARY_IN_G(one(X)) -> BINARY_IN_G(X) 6.48/2.59 6.48/2.59 The TRS R consists of the following rules: 6.48/2.59 6.48/2.59 add_in_gga(b, b, b) -> add_out_gga(b, b, b) 6.48/2.59 add_in_gga(X, b, X) -> U1_gga(X, binaryZ_in_g(X)) 6.48/2.59 binaryZ_in_g(zero(X)) -> U29_g(X, binaryZ_in_g(X)) 6.48/2.59 binaryZ_in_g(one(X)) -> U30_g(X, binary_in_g(X)) 6.48/2.59 binary_in_g(b) -> binary_out_g(b) 6.48/2.59 binary_in_g(zero(X)) -> U27_g(X, binaryZ_in_g(X)) 6.48/2.59 U27_g(X, binaryZ_out_g(X)) -> binary_out_g(zero(X)) 6.48/2.59 binary_in_g(one(X)) -> U28_g(X, binary_in_g(X)) 6.48/2.59 U28_g(X, binary_out_g(X)) -> binary_out_g(one(X)) 6.48/2.59 U30_g(X, binary_out_g(X)) -> binaryZ_out_g(one(X)) 6.48/2.59 U29_g(X, binaryZ_out_g(X)) -> binaryZ_out_g(zero(X)) 6.48/2.59 U1_gga(X, binaryZ_out_g(X)) -> add_out_gga(X, b, X) 6.48/2.59 add_in_gga(b, Y, Y) -> U2_gga(Y, binaryZ_in_g(Y)) 6.48/2.59 U2_gga(Y, binaryZ_out_g(Y)) -> add_out_gga(b, Y, Y) 6.48/2.59 add_in_gga(X, Y, Z) -> U3_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.59 addz_in_gga(zero(X), zero(Y), zero(Z)) -> U10_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.59 addz_in_gga(zero(X), one(Y), one(Z)) -> U11_gga(X, Y, Z, addx_in_gga(X, Y, Z)) 6.48/2.59 addx_in_gga(one(X), b, one(X)) -> U4_gga(X, binary_in_g(X)) 6.48/2.59 U4_gga(X, binary_out_g(X)) -> addx_out_gga(one(X), b, one(X)) 6.48/2.59 addx_in_gga(zero(X), b, zero(X)) -> U5_gga(X, binaryZ_in_g(X)) 6.48/2.59 U5_gga(X, binaryZ_out_g(X)) -> addx_out_gga(zero(X), b, zero(X)) 6.48/2.59 addx_in_gga(X, Y, Z) -> U6_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.59 addz_in_gga(one(X), zero(Y), one(Z)) -> U12_gga(X, Y, Z, addy_in_gga(X, Y, Z)) 6.48/2.59 addy_in_gga(b, one(Y), one(Y)) -> U7_gga(Y, binary_in_g(Y)) 6.48/2.59 U7_gga(Y, binary_out_g(Y)) -> addy_out_gga(b, one(Y), one(Y)) 6.48/2.59 addy_in_gga(b, zero(Y), zero(Y)) -> U8_gga(Y, binaryZ_in_g(Y)) 6.48/2.59 U8_gga(Y, binaryZ_out_g(Y)) -> addy_out_gga(b, zero(Y), zero(Y)) 6.48/2.59 addy_in_gga(X, Y, Z) -> U9_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.59 addz_in_gga(one(X), one(Y), zero(Z)) -> U13_gga(X, Y, Z, addc_in_gga(X, Y, Z)) 6.48/2.59 addc_in_gga(b, b, one(b)) -> addc_out_gga(b, b, one(b)) 6.48/2.59 addc_in_gga(X, b, Z) -> U14_gga(X, Z, succZ_in_ga(X, Z)) 6.48/2.59 succZ_in_ga(zero(X), one(X)) -> U33_ga(X, binaryZ_in_g(X)) 6.48/2.59 U33_ga(X, binaryZ_out_g(X)) -> succZ_out_ga(zero(X), one(X)) 6.48/2.59 succZ_in_ga(one(X), zero(Z)) -> U34_ga(X, Z, succ_in_ga(X, Z)) 6.48/2.59 succ_in_ga(b, one(b)) -> succ_out_ga(b, one(b)) 6.48/2.59 succ_in_ga(zero(X), one(X)) -> U31_ga(X, binaryZ_in_g(X)) 6.48/2.59 U31_ga(X, binaryZ_out_g(X)) -> succ_out_ga(zero(X), one(X)) 6.48/2.59 succ_in_ga(one(X), zero(Z)) -> U32_ga(X, Z, succ_in_ga(X, Z)) 6.48/2.59 U32_ga(X, Z, succ_out_ga(X, Z)) -> succ_out_ga(one(X), zero(Z)) 6.48/2.59 U34_ga(X, Z, succ_out_ga(X, Z)) -> succZ_out_ga(one(X), zero(Z)) 6.48/2.59 U14_gga(X, Z, succZ_out_ga(X, Z)) -> addc_out_gga(X, b, Z) 6.48/2.59 addc_in_gga(b, Y, Z) -> U15_gga(Y, Z, succZ_in_ga(Y, Z)) 6.48/2.59 U15_gga(Y, Z, succZ_out_ga(Y, Z)) -> addc_out_gga(b, Y, Z) 6.48/2.59 addc_in_gga(X, Y, Z) -> U16_gga(X, Y, Z, addC_in_gga(X, Y, Z)) 6.48/2.59 addC_in_gga(zero(X), zero(Y), one(Z)) -> U23_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.59 U23_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> addC_out_gga(zero(X), zero(Y), one(Z)) 6.48/2.59 addC_in_gga(zero(X), one(Y), zero(Z)) -> U24_gga(X, Y, Z, addX_in_gga(X, Y, Z)) 6.48/2.59 addX_in_gga(zero(X), b, one(X)) -> U17_gga(X, binaryZ_in_g(X)) 6.48/2.59 U17_gga(X, binaryZ_out_g(X)) -> addX_out_gga(zero(X), b, one(X)) 6.48/2.59 addX_in_gga(one(X), b, zero(Z)) -> U18_gga(X, Z, succ_in_ga(X, Z)) 6.48/2.59 U18_gga(X, Z, succ_out_ga(X, Z)) -> addX_out_gga(one(X), b, zero(Z)) 6.48/2.59 addX_in_gga(X, Y, Z) -> U19_gga(X, Y, Z, addC_in_gga(X, Y, Z)) 6.48/2.59 addC_in_gga(one(X), zero(Y), zero(Z)) -> U25_gga(X, Y, Z, addY_in_gga(X, Y, Z)) 6.48/2.59 addY_in_gga(b, zero(Y), one(Y)) -> U20_gga(Y, binaryZ_in_g(Y)) 6.48/2.59 U20_gga(Y, binaryZ_out_g(Y)) -> addY_out_gga(b, zero(Y), one(Y)) 6.48/2.59 addY_in_gga(b, one(Y), zero(Z)) -> U21_gga(Y, Z, succ_in_ga(Y, Z)) 6.48/2.59 U21_gga(Y, Z, succ_out_ga(Y, Z)) -> addY_out_gga(b, one(Y), zero(Z)) 6.48/2.59 addY_in_gga(X, Y, Z) -> U22_gga(X, Y, Z, addC_in_gga(X, Y, Z)) 6.48/2.59 addC_in_gga(one(X), one(Y), one(Z)) -> U26_gga(X, Y, Z, addc_in_gga(X, Y, Z)) 6.48/2.59 U26_gga(X, Y, Z, addc_out_gga(X, Y, Z)) -> addC_out_gga(one(X), one(Y), one(Z)) 6.48/2.59 U22_gga(X, Y, Z, addC_out_gga(X, Y, Z)) -> addY_out_gga(X, Y, Z) 6.48/2.59 U25_gga(X, Y, Z, addY_out_gga(X, Y, Z)) -> addC_out_gga(one(X), zero(Y), zero(Z)) 6.48/2.59 U19_gga(X, Y, Z, addC_out_gga(X, Y, Z)) -> addX_out_gga(X, Y, Z) 6.48/2.59 U24_gga(X, Y, Z, addX_out_gga(X, Y, Z)) -> addC_out_gga(zero(X), one(Y), zero(Z)) 6.48/2.59 U16_gga(X, Y, Z, addC_out_gga(X, Y, Z)) -> addc_out_gga(X, Y, Z) 6.48/2.59 U13_gga(X, Y, Z, addc_out_gga(X, Y, Z)) -> addz_out_gga(one(X), one(Y), zero(Z)) 6.48/2.59 U9_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> addy_out_gga(X, Y, Z) 6.48/2.59 U12_gga(X, Y, Z, addy_out_gga(X, Y, Z)) -> addz_out_gga(one(X), zero(Y), one(Z)) 6.48/2.59 U6_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> addx_out_gga(X, Y, Z) 6.48/2.59 U11_gga(X, Y, Z, addx_out_gga(X, Y, Z)) -> addz_out_gga(zero(X), one(Y), one(Z)) 6.48/2.59 U10_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> addz_out_gga(zero(X), zero(Y), zero(Z)) 6.48/2.59 U3_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> add_out_gga(X, Y, Z) 6.48/2.59 6.48/2.59 The argument filtering Pi contains the following mapping: 6.48/2.59 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 6.48/2.59 6.48/2.59 b = b 6.48/2.59 6.48/2.59 add_out_gga(x1, x2, x3) = add_out_gga(x3) 6.48/2.59 6.48/2.59 U1_gga(x1, x2) = U1_gga(x1, x2) 6.48/2.59 6.48/2.59 binaryZ_in_g(x1) = binaryZ_in_g(x1) 6.48/2.59 6.48/2.59 zero(x1) = zero(x1) 6.48/2.59 6.48/2.59 U29_g(x1, x2) = U29_g(x2) 6.48/2.59 6.48/2.59 one(x1) = one(x1) 6.48/2.59 6.48/2.59 U30_g(x1, x2) = U30_g(x2) 6.48/2.59 6.48/2.59 binary_in_g(x1) = binary_in_g(x1) 6.48/2.59 6.48/2.59 binary_out_g(x1) = binary_out_g 6.48/2.59 6.48/2.59 U27_g(x1, x2) = U27_g(x2) 6.48/2.59 6.48/2.59 binaryZ_out_g(x1) = binaryZ_out_g 6.48/2.59 6.48/2.59 U28_g(x1, x2) = U28_g(x2) 6.48/2.59 6.48/2.59 U2_gga(x1, x2) = U2_gga(x1, x2) 6.48/2.59 6.48/2.59 U3_gga(x1, x2, x3, x4) = U3_gga(x4) 6.48/2.59 6.48/2.59 addz_in_gga(x1, x2, x3) = addz_in_gga(x1, x2) 6.48/2.59 6.48/2.59 U10_gga(x1, x2, x3, x4) = U10_gga(x4) 6.48/2.59 6.48/2.59 U11_gga(x1, x2, x3, x4) = U11_gga(x4) 6.48/2.59 6.48/2.59 addx_in_gga(x1, x2, x3) = addx_in_gga(x1, x2) 6.48/2.59 6.48/2.59 U4_gga(x1, x2) = U4_gga(x1, x2) 6.48/2.59 6.48/2.59 addx_out_gga(x1, x2, x3) = addx_out_gga(x3) 6.48/2.59 6.48/2.59 U5_gga(x1, x2) = U5_gga(x1, x2) 6.48/2.59 6.48/2.59 U6_gga(x1, x2, x3, x4) = U6_gga(x4) 6.48/2.59 6.48/2.59 U12_gga(x1, x2, x3, x4) = U12_gga(x4) 6.48/2.59 6.48/2.59 addy_in_gga(x1, x2, x3) = addy_in_gga(x1, x2) 6.48/2.59 6.48/2.59 U7_gga(x1, x2) = U7_gga(x1, x2) 6.48/2.59 6.48/2.59 addy_out_gga(x1, x2, x3) = addy_out_gga(x3) 6.48/2.59 6.48/2.59 U8_gga(x1, x2) = U8_gga(x1, x2) 6.48/2.59 6.48/2.59 U9_gga(x1, x2, x3, x4) = U9_gga(x4) 6.48/2.59 6.48/2.59 U13_gga(x1, x2, x3, x4) = U13_gga(x4) 6.48/2.59 6.48/2.59 addc_in_gga(x1, x2, x3) = addc_in_gga(x1, x2) 6.48/2.59 6.48/2.59 addc_out_gga(x1, x2, x3) = addc_out_gga(x3) 6.48/2.59 6.48/2.59 U14_gga(x1, x2, x3) = U14_gga(x3) 6.48/2.59 6.48/2.59 succZ_in_ga(x1, x2) = succZ_in_ga(x1) 6.48/2.59 6.48/2.59 U33_ga(x1, x2) = U33_ga(x1, x2) 6.48/2.59 6.48/2.59 succZ_out_ga(x1, x2) = succZ_out_ga(x2) 6.48/2.59 6.48/2.59 U34_ga(x1, x2, x3) = U34_ga(x3) 6.48/2.59 6.48/2.59 succ_in_ga(x1, x2) = succ_in_ga(x1) 6.48/2.59 6.48/2.59 succ_out_ga(x1, x2) = succ_out_ga(x2) 6.48/2.59 6.48/2.59 U31_ga(x1, x2) = U31_ga(x1, x2) 6.48/2.59 6.48/2.59 U32_ga(x1, x2, x3) = U32_ga(x3) 6.48/2.59 6.48/2.59 U15_gga(x1, x2, x3) = U15_gga(x3) 6.48/2.59 6.48/2.59 U16_gga(x1, x2, x3, x4) = U16_gga(x4) 6.48/2.59 6.48/2.59 addC_in_gga(x1, x2, x3) = addC_in_gga(x1, x2) 6.48/2.59 6.48/2.59 U23_gga(x1, x2, x3, x4) = U23_gga(x4) 6.48/2.59 6.48/2.59 addz_out_gga(x1, x2, x3) = addz_out_gga(x3) 6.48/2.59 6.48/2.59 addC_out_gga(x1, x2, x3) = addC_out_gga(x3) 6.48/2.59 6.48/2.59 U24_gga(x1, x2, x3, x4) = U24_gga(x4) 6.48/2.59 6.48/2.59 addX_in_gga(x1, x2, x3) = addX_in_gga(x1, x2) 6.48/2.59 6.48/2.59 U17_gga(x1, x2) = U17_gga(x1, x2) 6.48/2.59 6.48/2.59 addX_out_gga(x1, x2, x3) = addX_out_gga(x3) 6.48/2.59 6.48/2.59 U18_gga(x1, x2, x3) = U18_gga(x3) 6.48/2.59 6.48/2.59 U19_gga(x1, x2, x3, x4) = U19_gga(x4) 6.48/2.59 6.48/2.59 U25_gga(x1, x2, x3, x4) = U25_gga(x4) 6.48/2.59 6.48/2.59 addY_in_gga(x1, x2, x3) = addY_in_gga(x1, x2) 6.48/2.59 6.48/2.59 U20_gga(x1, x2) = U20_gga(x1, x2) 6.48/2.59 6.48/2.59 addY_out_gga(x1, x2, x3) = addY_out_gga(x3) 6.48/2.59 6.48/2.59 U21_gga(x1, x2, x3) = U21_gga(x3) 6.48/2.59 6.48/2.59 U22_gga(x1, x2, x3, x4) = U22_gga(x4) 6.48/2.59 6.48/2.59 U26_gga(x1, x2, x3, x4) = U26_gga(x4) 6.48/2.59 6.48/2.59 BINARYZ_IN_G(x1) = BINARYZ_IN_G(x1) 6.48/2.59 6.48/2.59 BINARY_IN_G(x1) = BINARY_IN_G(x1) 6.48/2.59 6.48/2.59 6.48/2.59 We have to consider all (P,R,Pi)-chains 6.48/2.59 ---------------------------------------- 6.48/2.59 6.48/2.59 (8) UsableRulesProof (EQUIVALENT) 6.48/2.59 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 6.48/2.59 ---------------------------------------- 6.48/2.59 6.48/2.59 (9) 6.48/2.59 Obligation: 6.48/2.59 Pi DP problem: 6.48/2.59 The TRS P consists of the following rules: 6.48/2.59 6.48/2.59 BINARYZ_IN_G(one(X)) -> BINARY_IN_G(X) 6.48/2.59 BINARY_IN_G(zero(X)) -> BINARYZ_IN_G(X) 6.48/2.59 BINARYZ_IN_G(zero(X)) -> BINARYZ_IN_G(X) 6.48/2.59 BINARY_IN_G(one(X)) -> BINARY_IN_G(X) 6.48/2.59 6.48/2.59 R is empty. 6.48/2.59 Pi is empty. 6.48/2.59 We have to consider all (P,R,Pi)-chains 6.48/2.59 ---------------------------------------- 6.48/2.59 6.48/2.59 (10) PiDPToQDPProof (EQUIVALENT) 6.48/2.59 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 6.48/2.59 ---------------------------------------- 6.48/2.59 6.48/2.59 (11) 6.48/2.59 Obligation: 6.48/2.59 Q DP problem: 6.48/2.59 The TRS P consists of the following rules: 6.48/2.59 6.48/2.59 BINARYZ_IN_G(one(X)) -> BINARY_IN_G(X) 6.48/2.59 BINARY_IN_G(zero(X)) -> BINARYZ_IN_G(X) 6.48/2.59 BINARYZ_IN_G(zero(X)) -> BINARYZ_IN_G(X) 6.48/2.59 BINARY_IN_G(one(X)) -> BINARY_IN_G(X) 6.48/2.59 6.48/2.59 R is empty. 6.48/2.59 Q is empty. 6.48/2.59 We have to consider all (P,Q,R)-chains. 6.48/2.59 ---------------------------------------- 6.48/2.59 6.48/2.59 (12) QDPSizeChangeProof (EQUIVALENT) 6.48/2.59 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. 6.48/2.59 6.48/2.59 From the DPs we obtained the following set of size-change graphs: 6.48/2.59 *BINARY_IN_G(zero(X)) -> BINARYZ_IN_G(X) 6.48/2.59 The graph contains the following edges 1 > 1 6.48/2.59 6.48/2.59 6.48/2.59 *BINARY_IN_G(one(X)) -> BINARY_IN_G(X) 6.48/2.59 The graph contains the following edges 1 > 1 6.48/2.59 6.48/2.59 6.48/2.59 *BINARYZ_IN_G(zero(X)) -> BINARYZ_IN_G(X) 6.48/2.59 The graph contains the following edges 1 > 1 6.48/2.59 6.48/2.59 6.48/2.59 *BINARYZ_IN_G(one(X)) -> BINARY_IN_G(X) 6.48/2.59 The graph contains the following edges 1 > 1 6.48/2.59 6.48/2.59 6.48/2.59 ---------------------------------------- 6.48/2.59 6.48/2.59 (13) 6.48/2.59 YES 6.48/2.59 6.48/2.59 ---------------------------------------- 6.48/2.59 6.48/2.59 (14) 6.48/2.59 Obligation: 6.48/2.59 Pi DP problem: 6.48/2.59 The TRS P consists of the following rules: 6.48/2.59 6.48/2.59 SUCC_IN_GA(one(X), zero(Z)) -> SUCC_IN_GA(X, Z) 6.48/2.59 6.48/2.59 The TRS R consists of the following rules: 6.48/2.59 6.48/2.59 add_in_gga(b, b, b) -> add_out_gga(b, b, b) 6.48/2.59 add_in_gga(X, b, X) -> U1_gga(X, binaryZ_in_g(X)) 6.48/2.59 binaryZ_in_g(zero(X)) -> U29_g(X, binaryZ_in_g(X)) 6.48/2.59 binaryZ_in_g(one(X)) -> U30_g(X, binary_in_g(X)) 6.48/2.59 binary_in_g(b) -> binary_out_g(b) 6.48/2.59 binary_in_g(zero(X)) -> U27_g(X, binaryZ_in_g(X)) 6.48/2.59 U27_g(X, binaryZ_out_g(X)) -> binary_out_g(zero(X)) 6.48/2.59 binary_in_g(one(X)) -> U28_g(X, binary_in_g(X)) 6.48/2.59 U28_g(X, binary_out_g(X)) -> binary_out_g(one(X)) 6.48/2.59 U30_g(X, binary_out_g(X)) -> binaryZ_out_g(one(X)) 6.48/2.59 U29_g(X, binaryZ_out_g(X)) -> binaryZ_out_g(zero(X)) 6.48/2.59 U1_gga(X, binaryZ_out_g(X)) -> add_out_gga(X, b, X) 6.48/2.59 add_in_gga(b, Y, Y) -> U2_gga(Y, binaryZ_in_g(Y)) 6.48/2.59 U2_gga(Y, binaryZ_out_g(Y)) -> add_out_gga(b, Y, Y) 6.48/2.59 add_in_gga(X, Y, Z) -> U3_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.59 addz_in_gga(zero(X), zero(Y), zero(Z)) -> U10_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.59 addz_in_gga(zero(X), one(Y), one(Z)) -> U11_gga(X, Y, Z, addx_in_gga(X, Y, Z)) 6.48/2.59 addx_in_gga(one(X), b, one(X)) -> U4_gga(X, binary_in_g(X)) 6.48/2.59 U4_gga(X, binary_out_g(X)) -> addx_out_gga(one(X), b, one(X)) 6.48/2.59 addx_in_gga(zero(X), b, zero(X)) -> U5_gga(X, binaryZ_in_g(X)) 6.48/2.59 U5_gga(X, binaryZ_out_g(X)) -> addx_out_gga(zero(X), b, zero(X)) 6.48/2.59 addx_in_gga(X, Y, Z) -> U6_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.59 addz_in_gga(one(X), zero(Y), one(Z)) -> U12_gga(X, Y, Z, addy_in_gga(X, Y, Z)) 6.48/2.59 addy_in_gga(b, one(Y), one(Y)) -> U7_gga(Y, binary_in_g(Y)) 6.48/2.59 U7_gga(Y, binary_out_g(Y)) -> addy_out_gga(b, one(Y), one(Y)) 6.48/2.59 addy_in_gga(b, zero(Y), zero(Y)) -> U8_gga(Y, binaryZ_in_g(Y)) 6.48/2.59 U8_gga(Y, binaryZ_out_g(Y)) -> addy_out_gga(b, zero(Y), zero(Y)) 6.48/2.59 addy_in_gga(X, Y, Z) -> U9_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.59 addz_in_gga(one(X), one(Y), zero(Z)) -> U13_gga(X, Y, Z, addc_in_gga(X, Y, Z)) 6.48/2.59 addc_in_gga(b, b, one(b)) -> addc_out_gga(b, b, one(b)) 6.48/2.59 addc_in_gga(X, b, Z) -> U14_gga(X, Z, succZ_in_ga(X, Z)) 6.48/2.59 succZ_in_ga(zero(X), one(X)) -> U33_ga(X, binaryZ_in_g(X)) 6.48/2.59 U33_ga(X, binaryZ_out_g(X)) -> succZ_out_ga(zero(X), one(X)) 6.48/2.59 succZ_in_ga(one(X), zero(Z)) -> U34_ga(X, Z, succ_in_ga(X, Z)) 6.48/2.59 succ_in_ga(b, one(b)) -> succ_out_ga(b, one(b)) 6.48/2.59 succ_in_ga(zero(X), one(X)) -> U31_ga(X, binaryZ_in_g(X)) 6.48/2.59 U31_ga(X, binaryZ_out_g(X)) -> succ_out_ga(zero(X), one(X)) 6.48/2.59 succ_in_ga(one(X), zero(Z)) -> U32_ga(X, Z, succ_in_ga(X, Z)) 6.48/2.59 U32_ga(X, Z, succ_out_ga(X, Z)) -> succ_out_ga(one(X), zero(Z)) 6.48/2.59 U34_ga(X, Z, succ_out_ga(X, Z)) -> succZ_out_ga(one(X), zero(Z)) 6.48/2.59 U14_gga(X, Z, succZ_out_ga(X, Z)) -> addc_out_gga(X, b, Z) 6.48/2.59 addc_in_gga(b, Y, Z) -> U15_gga(Y, Z, succZ_in_ga(Y, Z)) 6.48/2.59 U15_gga(Y, Z, succZ_out_ga(Y, Z)) -> addc_out_gga(b, Y, Z) 6.48/2.59 addc_in_gga(X, Y, Z) -> U16_gga(X, Y, Z, addC_in_gga(X, Y, Z)) 6.48/2.59 addC_in_gga(zero(X), zero(Y), one(Z)) -> U23_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.59 U23_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> addC_out_gga(zero(X), zero(Y), one(Z)) 6.48/2.59 addC_in_gga(zero(X), one(Y), zero(Z)) -> U24_gga(X, Y, Z, addX_in_gga(X, Y, Z)) 6.48/2.59 addX_in_gga(zero(X), b, one(X)) -> U17_gga(X, binaryZ_in_g(X)) 6.48/2.59 U17_gga(X, binaryZ_out_g(X)) -> addX_out_gga(zero(X), b, one(X)) 6.48/2.59 addX_in_gga(one(X), b, zero(Z)) -> U18_gga(X, Z, succ_in_ga(X, Z)) 6.48/2.59 U18_gga(X, Z, succ_out_ga(X, Z)) -> addX_out_gga(one(X), b, zero(Z)) 6.48/2.59 addX_in_gga(X, Y, Z) -> U19_gga(X, Y, Z, addC_in_gga(X, Y, Z)) 6.48/2.59 addC_in_gga(one(X), zero(Y), zero(Z)) -> U25_gga(X, Y, Z, addY_in_gga(X, Y, Z)) 6.48/2.59 addY_in_gga(b, zero(Y), one(Y)) -> U20_gga(Y, binaryZ_in_g(Y)) 6.48/2.59 U20_gga(Y, binaryZ_out_g(Y)) -> addY_out_gga(b, zero(Y), one(Y)) 6.48/2.59 addY_in_gga(b, one(Y), zero(Z)) -> U21_gga(Y, Z, succ_in_ga(Y, Z)) 6.48/2.59 U21_gga(Y, Z, succ_out_ga(Y, Z)) -> addY_out_gga(b, one(Y), zero(Z)) 6.48/2.59 addY_in_gga(X, Y, Z) -> U22_gga(X, Y, Z, addC_in_gga(X, Y, Z)) 6.48/2.59 addC_in_gga(one(X), one(Y), one(Z)) -> U26_gga(X, Y, Z, addc_in_gga(X, Y, Z)) 6.48/2.59 U26_gga(X, Y, Z, addc_out_gga(X, Y, Z)) -> addC_out_gga(one(X), one(Y), one(Z)) 6.48/2.59 U22_gga(X, Y, Z, addC_out_gga(X, Y, Z)) -> addY_out_gga(X, Y, Z) 6.48/2.59 U25_gga(X, Y, Z, addY_out_gga(X, Y, Z)) -> addC_out_gga(one(X), zero(Y), zero(Z)) 6.48/2.59 U19_gga(X, Y, Z, addC_out_gga(X, Y, Z)) -> addX_out_gga(X, Y, Z) 6.48/2.59 U24_gga(X, Y, Z, addX_out_gga(X, Y, Z)) -> addC_out_gga(zero(X), one(Y), zero(Z)) 6.48/2.59 U16_gga(X, Y, Z, addC_out_gga(X, Y, Z)) -> addc_out_gga(X, Y, Z) 6.48/2.59 U13_gga(X, Y, Z, addc_out_gga(X, Y, Z)) -> addz_out_gga(one(X), one(Y), zero(Z)) 6.48/2.59 U9_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> addy_out_gga(X, Y, Z) 6.48/2.59 U12_gga(X, Y, Z, addy_out_gga(X, Y, Z)) -> addz_out_gga(one(X), zero(Y), one(Z)) 6.48/2.59 U6_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> addx_out_gga(X, Y, Z) 6.48/2.59 U11_gga(X, Y, Z, addx_out_gga(X, Y, Z)) -> addz_out_gga(zero(X), one(Y), one(Z)) 6.48/2.59 U10_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> addz_out_gga(zero(X), zero(Y), zero(Z)) 6.48/2.59 U3_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> add_out_gga(X, Y, Z) 6.48/2.59 6.48/2.59 The argument filtering Pi contains the following mapping: 6.48/2.59 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 6.48/2.59 6.48/2.59 b = b 6.48/2.59 6.48/2.59 add_out_gga(x1, x2, x3) = add_out_gga(x3) 6.48/2.59 6.48/2.59 U1_gga(x1, x2) = U1_gga(x1, x2) 6.48/2.59 6.48/2.59 binaryZ_in_g(x1) = binaryZ_in_g(x1) 6.48/2.59 6.48/2.59 zero(x1) = zero(x1) 6.48/2.59 6.48/2.59 U29_g(x1, x2) = U29_g(x2) 6.48/2.59 6.48/2.59 one(x1) = one(x1) 6.48/2.59 6.48/2.59 U30_g(x1, x2) = U30_g(x2) 6.48/2.59 6.48/2.59 binary_in_g(x1) = binary_in_g(x1) 6.48/2.59 6.48/2.59 binary_out_g(x1) = binary_out_g 6.48/2.59 6.48/2.59 U27_g(x1, x2) = U27_g(x2) 6.48/2.59 6.48/2.59 binaryZ_out_g(x1) = binaryZ_out_g 6.48/2.59 6.48/2.59 U28_g(x1, x2) = U28_g(x2) 6.48/2.59 6.48/2.59 U2_gga(x1, x2) = U2_gga(x1, x2) 6.48/2.59 6.48/2.59 U3_gga(x1, x2, x3, x4) = U3_gga(x4) 6.48/2.59 6.48/2.59 addz_in_gga(x1, x2, x3) = addz_in_gga(x1, x2) 6.48/2.59 6.48/2.59 U10_gga(x1, x2, x3, x4) = U10_gga(x4) 6.48/2.59 6.48/2.59 U11_gga(x1, x2, x3, x4) = U11_gga(x4) 6.48/2.59 6.48/2.59 addx_in_gga(x1, x2, x3) = addx_in_gga(x1, x2) 6.48/2.59 6.48/2.59 U4_gga(x1, x2) = U4_gga(x1, x2) 6.48/2.59 6.48/2.59 addx_out_gga(x1, x2, x3) = addx_out_gga(x3) 6.48/2.59 6.48/2.59 U5_gga(x1, x2) = U5_gga(x1, x2) 6.48/2.59 6.48/2.59 U6_gga(x1, x2, x3, x4) = U6_gga(x4) 6.48/2.59 6.48/2.59 U12_gga(x1, x2, x3, x4) = U12_gga(x4) 6.48/2.59 6.48/2.59 addy_in_gga(x1, x2, x3) = addy_in_gga(x1, x2) 6.48/2.59 6.48/2.59 U7_gga(x1, x2) = U7_gga(x1, x2) 6.48/2.59 6.48/2.59 addy_out_gga(x1, x2, x3) = addy_out_gga(x3) 6.48/2.59 6.48/2.59 U8_gga(x1, x2) = U8_gga(x1, x2) 6.48/2.59 6.48/2.59 U9_gga(x1, x2, x3, x4) = U9_gga(x4) 6.48/2.59 6.48/2.59 U13_gga(x1, x2, x3, x4) = U13_gga(x4) 6.48/2.59 6.48/2.59 addc_in_gga(x1, x2, x3) = addc_in_gga(x1, x2) 6.48/2.59 6.48/2.59 addc_out_gga(x1, x2, x3) = addc_out_gga(x3) 6.48/2.59 6.48/2.59 U14_gga(x1, x2, x3) = U14_gga(x3) 6.48/2.59 6.48/2.59 succZ_in_ga(x1, x2) = succZ_in_ga(x1) 6.48/2.59 6.48/2.59 U33_ga(x1, x2) = U33_ga(x1, x2) 6.48/2.59 6.48/2.59 succZ_out_ga(x1, x2) = succZ_out_ga(x2) 6.48/2.59 6.48/2.59 U34_ga(x1, x2, x3) = U34_ga(x3) 6.48/2.59 6.48/2.59 succ_in_ga(x1, x2) = succ_in_ga(x1) 6.48/2.59 6.48/2.59 succ_out_ga(x1, x2) = succ_out_ga(x2) 6.48/2.59 6.48/2.59 U31_ga(x1, x2) = U31_ga(x1, x2) 6.48/2.59 6.48/2.59 U32_ga(x1, x2, x3) = U32_ga(x3) 6.48/2.59 6.48/2.59 U15_gga(x1, x2, x3) = U15_gga(x3) 6.48/2.59 6.48/2.59 U16_gga(x1, x2, x3, x4) = U16_gga(x4) 6.48/2.59 6.48/2.59 addC_in_gga(x1, x2, x3) = addC_in_gga(x1, x2) 6.48/2.59 6.48/2.59 U23_gga(x1, x2, x3, x4) = U23_gga(x4) 6.48/2.59 6.48/2.59 addz_out_gga(x1, x2, x3) = addz_out_gga(x3) 6.48/2.59 6.48/2.59 addC_out_gga(x1, x2, x3) = addC_out_gga(x3) 6.48/2.59 6.48/2.59 U24_gga(x1, x2, x3, x4) = U24_gga(x4) 6.48/2.59 6.48/2.59 addX_in_gga(x1, x2, x3) = addX_in_gga(x1, x2) 6.48/2.59 6.48/2.59 U17_gga(x1, x2) = U17_gga(x1, x2) 6.48/2.59 6.48/2.59 addX_out_gga(x1, x2, x3) = addX_out_gga(x3) 6.48/2.59 6.48/2.59 U18_gga(x1, x2, x3) = U18_gga(x3) 6.48/2.59 6.48/2.59 U19_gga(x1, x2, x3, x4) = U19_gga(x4) 6.48/2.59 6.48/2.59 U25_gga(x1, x2, x3, x4) = U25_gga(x4) 6.48/2.59 6.48/2.59 addY_in_gga(x1, x2, x3) = addY_in_gga(x1, x2) 6.48/2.59 6.48/2.59 U20_gga(x1, x2) = U20_gga(x1, x2) 6.48/2.59 6.48/2.59 addY_out_gga(x1, x2, x3) = addY_out_gga(x3) 6.48/2.59 6.48/2.59 U21_gga(x1, x2, x3) = U21_gga(x3) 6.48/2.59 6.48/2.59 U22_gga(x1, x2, x3, x4) = U22_gga(x4) 6.48/2.59 6.48/2.59 U26_gga(x1, x2, x3, x4) = U26_gga(x4) 6.48/2.59 6.48/2.59 SUCC_IN_GA(x1, x2) = SUCC_IN_GA(x1) 6.48/2.59 6.48/2.59 6.48/2.59 We have to consider all (P,R,Pi)-chains 6.48/2.59 ---------------------------------------- 6.48/2.59 6.48/2.59 (15) UsableRulesProof (EQUIVALENT) 6.48/2.59 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 6.48/2.59 ---------------------------------------- 6.48/2.59 6.48/2.59 (16) 6.48/2.59 Obligation: 6.48/2.59 Pi DP problem: 6.48/2.59 The TRS P consists of the following rules: 6.48/2.59 6.48/2.59 SUCC_IN_GA(one(X), zero(Z)) -> SUCC_IN_GA(X, Z) 6.48/2.59 6.48/2.59 R is empty. 6.48/2.59 The argument filtering Pi contains the following mapping: 6.48/2.59 zero(x1) = zero(x1) 6.48/2.59 6.48/2.59 one(x1) = one(x1) 6.48/2.59 6.48/2.59 SUCC_IN_GA(x1, x2) = SUCC_IN_GA(x1) 6.48/2.59 6.48/2.59 6.48/2.59 We have to consider all (P,R,Pi)-chains 6.48/2.59 ---------------------------------------- 6.48/2.59 6.48/2.59 (17) PiDPToQDPProof (SOUND) 6.48/2.59 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 6.48/2.59 ---------------------------------------- 6.48/2.59 6.48/2.59 (18) 6.48/2.59 Obligation: 6.48/2.59 Q DP problem: 6.48/2.59 The TRS P consists of the following rules: 6.48/2.59 6.48/2.59 SUCC_IN_GA(one(X)) -> SUCC_IN_GA(X) 6.48/2.59 6.48/2.59 R is empty. 6.48/2.59 Q is empty. 6.48/2.59 We have to consider all (P,Q,R)-chains. 6.48/2.59 ---------------------------------------- 6.48/2.59 6.48/2.59 (19) QDPSizeChangeProof (EQUIVALENT) 6.48/2.59 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. 6.48/2.59 6.48/2.59 From the DPs we obtained the following set of size-change graphs: 6.48/2.59 *SUCC_IN_GA(one(X)) -> SUCC_IN_GA(X) 6.48/2.59 The graph contains the following edges 1 > 1 6.48/2.59 6.48/2.59 6.48/2.59 ---------------------------------------- 6.48/2.59 6.48/2.59 (20) 6.48/2.59 YES 6.48/2.59 6.48/2.59 ---------------------------------------- 6.48/2.59 6.48/2.59 (21) 6.48/2.59 Obligation: 6.48/2.59 Pi DP problem: 6.48/2.59 The TRS P consists of the following rules: 6.48/2.59 6.48/2.59 ADDX_IN_GGA(X, Y, Z) -> ADDZ_IN_GGA(X, Y, Z) 6.48/2.59 ADDZ_IN_GGA(zero(X), zero(Y), zero(Z)) -> ADDZ_IN_GGA(X, Y, Z) 6.48/2.59 ADDZ_IN_GGA(zero(X), one(Y), one(Z)) -> ADDX_IN_GGA(X, Y, Z) 6.48/2.59 ADDZ_IN_GGA(one(X), zero(Y), one(Z)) -> ADDY_IN_GGA(X, Y, Z) 6.48/2.59 ADDY_IN_GGA(X, Y, Z) -> ADDZ_IN_GGA(X, Y, Z) 6.48/2.59 ADDZ_IN_GGA(one(X), one(Y), zero(Z)) -> ADDC_IN_GGA(X, Y, Z) 6.48/2.59 ADDC_IN_GGA(X, Y, Z) -> ADDC_IN_GGA^1(X, Y, Z) 6.48/2.59 ADDC_IN_GGA^1(zero(X), zero(Y), one(Z)) -> ADDZ_IN_GGA(X, Y, Z) 6.48/2.59 ADDC_IN_GGA^1(zero(X), one(Y), zero(Z)) -> ADDX_IN_GGA^1(X, Y, Z) 6.48/2.59 ADDX_IN_GGA^1(X, Y, Z) -> ADDC_IN_GGA^1(X, Y, Z) 6.48/2.59 ADDC_IN_GGA^1(one(X), zero(Y), zero(Z)) -> ADDY_IN_GGA^1(X, Y, Z) 6.48/2.59 ADDY_IN_GGA^1(X, Y, Z) -> ADDC_IN_GGA^1(X, Y, Z) 6.48/2.59 ADDC_IN_GGA^1(one(X), one(Y), one(Z)) -> ADDC_IN_GGA(X, Y, Z) 6.48/2.59 6.48/2.59 The TRS R consists of the following rules: 6.48/2.59 6.48/2.59 add_in_gga(b, b, b) -> add_out_gga(b, b, b) 6.48/2.59 add_in_gga(X, b, X) -> U1_gga(X, binaryZ_in_g(X)) 6.48/2.59 binaryZ_in_g(zero(X)) -> U29_g(X, binaryZ_in_g(X)) 6.48/2.59 binaryZ_in_g(one(X)) -> U30_g(X, binary_in_g(X)) 6.48/2.59 binary_in_g(b) -> binary_out_g(b) 6.48/2.59 binary_in_g(zero(X)) -> U27_g(X, binaryZ_in_g(X)) 6.48/2.59 U27_g(X, binaryZ_out_g(X)) -> binary_out_g(zero(X)) 6.48/2.59 binary_in_g(one(X)) -> U28_g(X, binary_in_g(X)) 6.48/2.59 U28_g(X, binary_out_g(X)) -> binary_out_g(one(X)) 6.48/2.59 U30_g(X, binary_out_g(X)) -> binaryZ_out_g(one(X)) 6.48/2.59 U29_g(X, binaryZ_out_g(X)) -> binaryZ_out_g(zero(X)) 6.48/2.59 U1_gga(X, binaryZ_out_g(X)) -> add_out_gga(X, b, X) 6.48/2.59 add_in_gga(b, Y, Y) -> U2_gga(Y, binaryZ_in_g(Y)) 6.48/2.59 U2_gga(Y, binaryZ_out_g(Y)) -> add_out_gga(b, Y, Y) 6.48/2.59 add_in_gga(X, Y, Z) -> U3_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.59 addz_in_gga(zero(X), zero(Y), zero(Z)) -> U10_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.59 addz_in_gga(zero(X), one(Y), one(Z)) -> U11_gga(X, Y, Z, addx_in_gga(X, Y, Z)) 6.48/2.59 addx_in_gga(one(X), b, one(X)) -> U4_gga(X, binary_in_g(X)) 6.48/2.59 U4_gga(X, binary_out_g(X)) -> addx_out_gga(one(X), b, one(X)) 6.48/2.59 addx_in_gga(zero(X), b, zero(X)) -> U5_gga(X, binaryZ_in_g(X)) 6.48/2.59 U5_gga(X, binaryZ_out_g(X)) -> addx_out_gga(zero(X), b, zero(X)) 6.48/2.59 addx_in_gga(X, Y, Z) -> U6_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.59 addz_in_gga(one(X), zero(Y), one(Z)) -> U12_gga(X, Y, Z, addy_in_gga(X, Y, Z)) 6.48/2.59 addy_in_gga(b, one(Y), one(Y)) -> U7_gga(Y, binary_in_g(Y)) 6.48/2.59 U7_gga(Y, binary_out_g(Y)) -> addy_out_gga(b, one(Y), one(Y)) 6.48/2.59 addy_in_gga(b, zero(Y), zero(Y)) -> U8_gga(Y, binaryZ_in_g(Y)) 6.48/2.59 U8_gga(Y, binaryZ_out_g(Y)) -> addy_out_gga(b, zero(Y), zero(Y)) 6.48/2.59 addy_in_gga(X, Y, Z) -> U9_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.59 addz_in_gga(one(X), one(Y), zero(Z)) -> U13_gga(X, Y, Z, addc_in_gga(X, Y, Z)) 6.48/2.59 addc_in_gga(b, b, one(b)) -> addc_out_gga(b, b, one(b)) 6.48/2.59 addc_in_gga(X, b, Z) -> U14_gga(X, Z, succZ_in_ga(X, Z)) 6.48/2.59 succZ_in_ga(zero(X), one(X)) -> U33_ga(X, binaryZ_in_g(X)) 6.48/2.59 U33_ga(X, binaryZ_out_g(X)) -> succZ_out_ga(zero(X), one(X)) 6.48/2.59 succZ_in_ga(one(X), zero(Z)) -> U34_ga(X, Z, succ_in_ga(X, Z)) 6.48/2.59 succ_in_ga(b, one(b)) -> succ_out_ga(b, one(b)) 6.48/2.59 succ_in_ga(zero(X), one(X)) -> U31_ga(X, binaryZ_in_g(X)) 6.48/2.59 U31_ga(X, binaryZ_out_g(X)) -> succ_out_ga(zero(X), one(X)) 6.48/2.59 succ_in_ga(one(X), zero(Z)) -> U32_ga(X, Z, succ_in_ga(X, Z)) 6.48/2.59 U32_ga(X, Z, succ_out_ga(X, Z)) -> succ_out_ga(one(X), zero(Z)) 6.48/2.59 U34_ga(X, Z, succ_out_ga(X, Z)) -> succZ_out_ga(one(X), zero(Z)) 6.48/2.59 U14_gga(X, Z, succZ_out_ga(X, Z)) -> addc_out_gga(X, b, Z) 6.48/2.59 addc_in_gga(b, Y, Z) -> U15_gga(Y, Z, succZ_in_ga(Y, Z)) 6.48/2.59 U15_gga(Y, Z, succZ_out_ga(Y, Z)) -> addc_out_gga(b, Y, Z) 6.48/2.59 addc_in_gga(X, Y, Z) -> U16_gga(X, Y, Z, addC_in_gga(X, Y, Z)) 6.48/2.59 addC_in_gga(zero(X), zero(Y), one(Z)) -> U23_gga(X, Y, Z, addz_in_gga(X, Y, Z)) 6.48/2.59 U23_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> addC_out_gga(zero(X), zero(Y), one(Z)) 6.48/2.59 addC_in_gga(zero(X), one(Y), zero(Z)) -> U24_gga(X, Y, Z, addX_in_gga(X, Y, Z)) 6.48/2.59 addX_in_gga(zero(X), b, one(X)) -> U17_gga(X, binaryZ_in_g(X)) 6.48/2.59 U17_gga(X, binaryZ_out_g(X)) -> addX_out_gga(zero(X), b, one(X)) 6.48/2.59 addX_in_gga(one(X), b, zero(Z)) -> U18_gga(X, Z, succ_in_ga(X, Z)) 6.48/2.59 U18_gga(X, Z, succ_out_ga(X, Z)) -> addX_out_gga(one(X), b, zero(Z)) 6.48/2.59 addX_in_gga(X, Y, Z) -> U19_gga(X, Y, Z, addC_in_gga(X, Y, Z)) 6.48/2.59 addC_in_gga(one(X), zero(Y), zero(Z)) -> U25_gga(X, Y, Z, addY_in_gga(X, Y, Z)) 6.48/2.59 addY_in_gga(b, zero(Y), one(Y)) -> U20_gga(Y, binaryZ_in_g(Y)) 6.48/2.59 U20_gga(Y, binaryZ_out_g(Y)) -> addY_out_gga(b, zero(Y), one(Y)) 6.48/2.59 addY_in_gga(b, one(Y), zero(Z)) -> U21_gga(Y, Z, succ_in_ga(Y, Z)) 6.48/2.59 U21_gga(Y, Z, succ_out_ga(Y, Z)) -> addY_out_gga(b, one(Y), zero(Z)) 6.48/2.59 addY_in_gga(X, Y, Z) -> U22_gga(X, Y, Z, addC_in_gga(X, Y, Z)) 6.48/2.59 addC_in_gga(one(X), one(Y), one(Z)) -> U26_gga(X, Y, Z, addc_in_gga(X, Y, Z)) 6.48/2.59 U26_gga(X, Y, Z, addc_out_gga(X, Y, Z)) -> addC_out_gga(one(X), one(Y), one(Z)) 6.48/2.59 U22_gga(X, Y, Z, addC_out_gga(X, Y, Z)) -> addY_out_gga(X, Y, Z) 6.48/2.59 U25_gga(X, Y, Z, addY_out_gga(X, Y, Z)) -> addC_out_gga(one(X), zero(Y), zero(Z)) 6.48/2.59 U19_gga(X, Y, Z, addC_out_gga(X, Y, Z)) -> addX_out_gga(X, Y, Z) 6.48/2.59 U24_gga(X, Y, Z, addX_out_gga(X, Y, Z)) -> addC_out_gga(zero(X), one(Y), zero(Z)) 6.48/2.59 U16_gga(X, Y, Z, addC_out_gga(X, Y, Z)) -> addc_out_gga(X, Y, Z) 6.48/2.59 U13_gga(X, Y, Z, addc_out_gga(X, Y, Z)) -> addz_out_gga(one(X), one(Y), zero(Z)) 6.48/2.59 U9_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> addy_out_gga(X, Y, Z) 6.48/2.59 U12_gga(X, Y, Z, addy_out_gga(X, Y, Z)) -> addz_out_gga(one(X), zero(Y), one(Z)) 6.48/2.59 U6_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> addx_out_gga(X, Y, Z) 6.48/2.59 U11_gga(X, Y, Z, addx_out_gga(X, Y, Z)) -> addz_out_gga(zero(X), one(Y), one(Z)) 6.48/2.59 U10_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> addz_out_gga(zero(X), zero(Y), zero(Z)) 6.48/2.59 U3_gga(X, Y, Z, addz_out_gga(X, Y, Z)) -> add_out_gga(X, Y, Z) 6.48/2.59 6.48/2.59 The argument filtering Pi contains the following mapping: 6.48/2.59 add_in_gga(x1, x2, x3) = add_in_gga(x1, x2) 6.48/2.59 6.48/2.59 b = b 6.48/2.59 6.48/2.59 add_out_gga(x1, x2, x3) = add_out_gga(x3) 6.48/2.59 6.48/2.59 U1_gga(x1, x2) = U1_gga(x1, x2) 6.48/2.59 6.48/2.59 binaryZ_in_g(x1) = binaryZ_in_g(x1) 6.48/2.59 6.48/2.59 zero(x1) = zero(x1) 6.48/2.59 6.48/2.59 U29_g(x1, x2) = U29_g(x2) 6.48/2.59 6.48/2.59 one(x1) = one(x1) 6.48/2.59 6.48/2.59 U30_g(x1, x2) = U30_g(x2) 6.48/2.59 6.48/2.59 binary_in_g(x1) = binary_in_g(x1) 6.48/2.59 6.48/2.59 binary_out_g(x1) = binary_out_g 6.48/2.59 6.48/2.59 U27_g(x1, x2) = U27_g(x2) 6.48/2.59 6.48/2.59 binaryZ_out_g(x1) = binaryZ_out_g 6.48/2.59 6.48/2.59 U28_g(x1, x2) = U28_g(x2) 6.48/2.59 6.48/2.59 U2_gga(x1, x2) = U2_gga(x1, x2) 6.48/2.59 6.48/2.59 U3_gga(x1, x2, x3, x4) = U3_gga(x4) 6.48/2.59 6.48/2.59 addz_in_gga(x1, x2, x3) = addz_in_gga(x1, x2) 6.48/2.59 6.48/2.59 U10_gga(x1, x2, x3, x4) = U10_gga(x4) 6.48/2.59 6.48/2.59 U11_gga(x1, x2, x3, x4) = U11_gga(x4) 6.48/2.59 6.48/2.59 addx_in_gga(x1, x2, x3) = addx_in_gga(x1, x2) 6.48/2.59 6.48/2.59 U4_gga(x1, x2) = U4_gga(x1, x2) 6.48/2.59 6.48/2.59 addx_out_gga(x1, x2, x3) = addx_out_gga(x3) 6.48/2.59 6.48/2.59 U5_gga(x1, x2) = U5_gga(x1, x2) 6.48/2.59 6.48/2.59 U6_gga(x1, x2, x3, x4) = U6_gga(x4) 6.48/2.59 6.48/2.59 U12_gga(x1, x2, x3, x4) = U12_gga(x4) 6.48/2.59 6.48/2.59 addy_in_gga(x1, x2, x3) = addy_in_gga(x1, x2) 6.48/2.59 6.48/2.59 U7_gga(x1, x2) = U7_gga(x1, x2) 6.48/2.59 6.48/2.59 addy_out_gga(x1, x2, x3) = addy_out_gga(x3) 6.48/2.59 6.48/2.59 U8_gga(x1, x2) = U8_gga(x1, x2) 6.48/2.59 6.48/2.59 U9_gga(x1, x2, x3, x4) = U9_gga(x4) 6.48/2.59 6.48/2.59 U13_gga(x1, x2, x3, x4) = U13_gga(x4) 6.48/2.59 6.48/2.59 addc_in_gga(x1, x2, x3) = addc_in_gga(x1, x2) 6.48/2.59 6.48/2.59 addc_out_gga(x1, x2, x3) = addc_out_gga(x3) 6.48/2.59 6.48/2.59 U14_gga(x1, x2, x3) = U14_gga(x3) 6.48/2.59 6.48/2.59 succZ_in_ga(x1, x2) = succZ_in_ga(x1) 6.48/2.59 6.48/2.59 U33_ga(x1, x2) = U33_ga(x1, x2) 6.48/2.59 6.48/2.59 succZ_out_ga(x1, x2) = succZ_out_ga(x2) 6.48/2.59 6.48/2.59 U34_ga(x1, x2, x3) = U34_ga(x3) 6.48/2.59 6.48/2.59 succ_in_ga(x1, x2) = succ_in_ga(x1) 6.48/2.59 6.48/2.59 succ_out_ga(x1, x2) = succ_out_ga(x2) 6.48/2.59 6.48/2.59 U31_ga(x1, x2) = U31_ga(x1, x2) 6.48/2.59 6.48/2.59 U32_ga(x1, x2, x3) = U32_ga(x3) 6.48/2.59 6.48/2.59 U15_gga(x1, x2, x3) = U15_gga(x3) 6.48/2.59 6.48/2.59 U16_gga(x1, x2, x3, x4) = U16_gga(x4) 6.48/2.59 6.48/2.59 addC_in_gga(x1, x2, x3) = addC_in_gga(x1, x2) 6.48/2.59 6.48/2.59 U23_gga(x1, x2, x3, x4) = U23_gga(x4) 6.48/2.59 6.48/2.59 addz_out_gga(x1, x2, x3) = addz_out_gga(x3) 6.48/2.59 6.48/2.59 addC_out_gga(x1, x2, x3) = addC_out_gga(x3) 6.48/2.59 6.48/2.59 U24_gga(x1, x2, x3, x4) = U24_gga(x4) 6.48/2.59 6.48/2.59 addX_in_gga(x1, x2, x3) = addX_in_gga(x1, x2) 6.48/2.59 6.48/2.59 U17_gga(x1, x2) = U17_gga(x1, x2) 6.48/2.59 6.48/2.59 addX_out_gga(x1, x2, x3) = addX_out_gga(x3) 6.48/2.59 6.48/2.59 U18_gga(x1, x2, x3) = U18_gga(x3) 6.48/2.59 6.48/2.59 U19_gga(x1, x2, x3, x4) = U19_gga(x4) 6.48/2.59 6.48/2.59 U25_gga(x1, x2, x3, x4) = U25_gga(x4) 6.48/2.59 6.48/2.59 addY_in_gga(x1, x2, x3) = addY_in_gga(x1, x2) 6.48/2.59 6.48/2.59 U20_gga(x1, x2) = U20_gga(x1, x2) 6.48/2.59 6.48/2.59 addY_out_gga(x1, x2, x3) = addY_out_gga(x3) 6.48/2.59 6.48/2.59 U21_gga(x1, x2, x3) = U21_gga(x3) 6.48/2.59 6.48/2.59 U22_gga(x1, x2, x3, x4) = U22_gga(x4) 6.48/2.59 6.48/2.59 U26_gga(x1, x2, x3, x4) = U26_gga(x4) 6.48/2.59 6.48/2.59 ADDZ_IN_GGA(x1, x2, x3) = ADDZ_IN_GGA(x1, x2) 6.48/2.59 6.48/2.59 ADDX_IN_GGA(x1, x2, x3) = ADDX_IN_GGA(x1, x2) 6.48/2.59 6.48/2.59 ADDY_IN_GGA(x1, x2, x3) = ADDY_IN_GGA(x1, x2) 6.48/2.59 6.48/2.59 ADDC_IN_GGA(x1, x2, x3) = ADDC_IN_GGA(x1, x2) 6.48/2.59 6.48/2.59 ADDC_IN_GGA^1(x1, x2, x3) = ADDC_IN_GGA^1(x1, x2) 6.48/2.59 6.48/2.59 ADDX_IN_GGA^1(x1, x2, x3) = ADDX_IN_GGA^1(x1, x2) 6.48/2.59 6.48/2.59 ADDY_IN_GGA^1(x1, x2, x3) = ADDY_IN_GGA^1(x1, x2) 6.48/2.59 6.48/2.59 6.48/2.59 We have to consider all (P,R,Pi)-chains 6.48/2.59 ---------------------------------------- 6.48/2.59 6.48/2.59 (22) UsableRulesProof (EQUIVALENT) 6.48/2.59 For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R. 6.48/2.59 ---------------------------------------- 6.48/2.59 6.48/2.59 (23) 6.48/2.59 Obligation: 6.48/2.59 Pi DP problem: 6.48/2.59 The TRS P consists of the following rules: 6.48/2.59 6.48/2.59 ADDX_IN_GGA(X, Y, Z) -> ADDZ_IN_GGA(X, Y, Z) 6.48/2.59 ADDZ_IN_GGA(zero(X), zero(Y), zero(Z)) -> ADDZ_IN_GGA(X, Y, Z) 6.48/2.59 ADDZ_IN_GGA(zero(X), one(Y), one(Z)) -> ADDX_IN_GGA(X, Y, Z) 6.48/2.59 ADDZ_IN_GGA(one(X), zero(Y), one(Z)) -> ADDY_IN_GGA(X, Y, Z) 6.48/2.59 ADDY_IN_GGA(X, Y, Z) -> ADDZ_IN_GGA(X, Y, Z) 6.48/2.59 ADDZ_IN_GGA(one(X), one(Y), zero(Z)) -> ADDC_IN_GGA(X, Y, Z) 6.48/2.59 ADDC_IN_GGA(X, Y, Z) -> ADDC_IN_GGA^1(X, Y, Z) 6.48/2.59 ADDC_IN_GGA^1(zero(X), zero(Y), one(Z)) -> ADDZ_IN_GGA(X, Y, Z) 6.48/2.59 ADDC_IN_GGA^1(zero(X), one(Y), zero(Z)) -> ADDX_IN_GGA^1(X, Y, Z) 6.48/2.59 ADDX_IN_GGA^1(X, Y, Z) -> ADDC_IN_GGA^1(X, Y, Z) 6.48/2.59 ADDC_IN_GGA^1(one(X), zero(Y), zero(Z)) -> ADDY_IN_GGA^1(X, Y, Z) 6.48/2.59 ADDY_IN_GGA^1(X, Y, Z) -> ADDC_IN_GGA^1(X, Y, Z) 6.48/2.59 ADDC_IN_GGA^1(one(X), one(Y), one(Z)) -> ADDC_IN_GGA(X, Y, Z) 6.48/2.59 6.48/2.59 R is empty. 6.48/2.59 The argument filtering Pi contains the following mapping: 6.48/2.59 zero(x1) = zero(x1) 6.48/2.59 6.48/2.59 one(x1) = one(x1) 6.48/2.59 6.48/2.59 ADDZ_IN_GGA(x1, x2, x3) = ADDZ_IN_GGA(x1, x2) 6.48/2.59 6.48/2.59 ADDX_IN_GGA(x1, x2, x3) = ADDX_IN_GGA(x1, x2) 6.48/2.59 6.48/2.59 ADDY_IN_GGA(x1, x2, x3) = ADDY_IN_GGA(x1, x2) 6.48/2.59 6.48/2.59 ADDC_IN_GGA(x1, x2, x3) = ADDC_IN_GGA(x1, x2) 6.48/2.59 6.48/2.59 ADDC_IN_GGA^1(x1, x2, x3) = ADDC_IN_GGA^1(x1, x2) 6.48/2.59 6.48/2.59 ADDX_IN_GGA^1(x1, x2, x3) = ADDX_IN_GGA^1(x1, x2) 6.48/2.59 6.48/2.59 ADDY_IN_GGA^1(x1, x2, x3) = ADDY_IN_GGA^1(x1, x2) 6.48/2.59 6.48/2.59 6.48/2.59 We have to consider all (P,R,Pi)-chains 6.48/2.59 ---------------------------------------- 6.48/2.59 6.48/2.59 (24) PiDPToQDPProof (SOUND) 6.48/2.59 Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi. 6.48/2.59 ---------------------------------------- 6.48/2.59 6.48/2.59 (25) 6.48/2.59 Obligation: 6.48/2.59 Q DP problem: 6.48/2.59 The TRS P consists of the following rules: 6.48/2.59 6.48/2.59 ADDX_IN_GGA(X, Y) -> ADDZ_IN_GGA(X, Y) 6.48/2.59 ADDZ_IN_GGA(zero(X), zero(Y)) -> ADDZ_IN_GGA(X, Y) 6.48/2.59 ADDZ_IN_GGA(zero(X), one(Y)) -> ADDX_IN_GGA(X, Y) 6.48/2.59 ADDZ_IN_GGA(one(X), zero(Y)) -> ADDY_IN_GGA(X, Y) 6.48/2.59 ADDY_IN_GGA(X, Y) -> ADDZ_IN_GGA(X, Y) 6.48/2.59 ADDZ_IN_GGA(one(X), one(Y)) -> ADDC_IN_GGA(X, Y) 6.48/2.59 ADDC_IN_GGA(X, Y) -> ADDC_IN_GGA^1(X, Y) 6.48/2.59 ADDC_IN_GGA^1(zero(X), zero(Y)) -> ADDZ_IN_GGA(X, Y) 6.48/2.59 ADDC_IN_GGA^1(zero(X), one(Y)) -> ADDX_IN_GGA^1(X, Y) 6.48/2.59 ADDX_IN_GGA^1(X, Y) -> ADDC_IN_GGA^1(X, Y) 6.48/2.59 ADDC_IN_GGA^1(one(X), zero(Y)) -> ADDY_IN_GGA^1(X, Y) 6.48/2.59 ADDY_IN_GGA^1(X, Y) -> ADDC_IN_GGA^1(X, Y) 6.48/2.59 ADDC_IN_GGA^1(one(X), one(Y)) -> ADDC_IN_GGA(X, Y) 6.48/2.59 6.48/2.59 R is empty. 6.48/2.59 Q is empty. 6.48/2.59 We have to consider all (P,Q,R)-chains. 6.48/2.59 ---------------------------------------- 6.48/2.59 6.48/2.59 (26) QDPSizeChangeProof (EQUIVALENT) 6.48/2.59 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. 6.48/2.59 6.48/2.59 From the DPs we obtained the following set of size-change graphs: 6.48/2.59 *ADDZ_IN_GGA(zero(X), one(Y)) -> ADDX_IN_GGA(X, Y) 6.48/2.59 The graph contains the following edges 1 > 1, 2 > 2 6.48/2.59 6.48/2.59 6.48/2.59 *ADDZ_IN_GGA(zero(X), zero(Y)) -> ADDZ_IN_GGA(X, Y) 6.48/2.59 The graph contains the following edges 1 > 1, 2 > 2 6.48/2.59 6.48/2.59 6.48/2.59 *ADDX_IN_GGA(X, Y) -> ADDZ_IN_GGA(X, Y) 6.48/2.59 The graph contains the following edges 1 >= 1, 2 >= 2 6.48/2.59 6.48/2.59 6.48/2.59 *ADDY_IN_GGA(X, Y) -> ADDZ_IN_GGA(X, Y) 6.48/2.59 The graph contains the following edges 1 >= 1, 2 >= 2 6.48/2.59 6.48/2.59 6.48/2.59 *ADDC_IN_GGA^1(zero(X), zero(Y)) -> ADDZ_IN_GGA(X, Y) 6.48/2.59 The graph contains the following edges 1 > 1, 2 > 2 6.48/2.59 6.48/2.59 6.48/2.59 *ADDZ_IN_GGA(one(X), zero(Y)) -> ADDY_IN_GGA(X, Y) 6.48/2.59 The graph contains the following edges 1 > 1, 2 > 2 6.48/2.59 6.48/2.59 6.48/2.59 *ADDZ_IN_GGA(one(X), one(Y)) -> ADDC_IN_GGA(X, Y) 6.48/2.59 The graph contains the following edges 1 > 1, 2 > 2 6.48/2.59 6.48/2.59 6.48/2.59 *ADDC_IN_GGA(X, Y) -> ADDC_IN_GGA^1(X, Y) 6.48/2.59 The graph contains the following edges 1 >= 1, 2 >= 2 6.48/2.59 6.48/2.59 6.48/2.59 *ADDC_IN_GGA^1(one(X), one(Y)) -> ADDC_IN_GGA(X, Y) 6.48/2.59 The graph contains the following edges 1 > 1, 2 > 2 6.48/2.59 6.48/2.59 6.48/2.59 *ADDX_IN_GGA^1(X, Y) -> ADDC_IN_GGA^1(X, Y) 6.48/2.59 The graph contains the following edges 1 >= 1, 2 >= 2 6.48/2.59 6.48/2.59 6.48/2.59 *ADDY_IN_GGA^1(X, Y) -> ADDC_IN_GGA^1(X, Y) 6.48/2.59 The graph contains the following edges 1 >= 1, 2 >= 2 6.48/2.59 6.48/2.59 6.48/2.59 *ADDC_IN_GGA^1(zero(X), one(Y)) -> ADDX_IN_GGA^1(X, Y) 6.48/2.59 The graph contains the following edges 1 > 1, 2 > 2 6.48/2.59 6.48/2.59 6.48/2.59 *ADDC_IN_GGA^1(one(X), zero(Y)) -> ADDY_IN_GGA^1(X, Y) 6.48/2.59 The graph contains the following edges 1 > 1, 2 > 2 6.48/2.59 6.48/2.59 6.48/2.59 ---------------------------------------- 6.48/2.59 6.48/2.59 (27) 6.48/2.59 YES 6.48/2.64 EOF