0 Prolog
↳1 PrologToPiTRSProof (⇐)
↳2 PiTRS
↳3 DependencyPairsProof (⇔)
↳4 PiDP
↳5 DependencyGraphProof (⇔)
↳6 AND
↳7 PiDP
↳8 UsableRulesProof (⇔)
↳9 PiDP
↳10 PiDPToQDPProof (⇔)
↳11 QDP
↳12 QDPSizeChangeProof (⇔)
↳13 TRUE
↳14 PiDP
↳15 UsableRulesProof (⇔)
↳16 PiDP
↳17 PiDPToQDPProof (⇐)
↳18 QDP
↳19 QDPSizeChangeProof (⇔)
↳20 TRUE
↳21 PiDP
↳22 UsableRulesProof (⇔)
↳23 PiDP
↳24 PiDPToQDPProof (⇐)
↳25 QDP
↳26 PrologToPiTRSProof (⇐)
↳27 PiTRS
↳28 DependencyPairsProof (⇔)
↳29 PiDP
↳30 DependencyGraphProof (⇔)
↳31 AND
↳32 PiDP
↳33 UsableRulesProof (⇔)
↳34 PiDP
↳35 PiDPToQDPProof (⇔)
↳36 QDP
↳37 QDPSizeChangeProof (⇔)
↳38 TRUE
↳39 PiDP
↳40 UsableRulesProof (⇔)
↳41 PiDP
↳42 PiDPToQDPProof (⇐)
↳43 QDP
↳44 QDPSizeChangeProof (⇔)
↳45 TRUE
↳46 PiDP
↳47 UsableRulesProof (⇔)
↳48 PiDP
↳49 PiDPToQDPProof (⇐)
↳50 QDP
↳51 QDPSizeChangeProof (⇔)
↳52 TRUE
add_in_aag(b, b, b) → add_out_aag(b, b, b)
add_in_aag(X, b, X) → U1_aag(X, binaryZ_in_g(X))
binaryZ_in_g(zero(X)) → U29_g(X, binaryZ_in_g(X))
binaryZ_in_g(one(X)) → U30_g(X, binary_in_g(X))
binary_in_g(b) → binary_out_g(b)
binary_in_g(zero(X)) → U27_g(X, binaryZ_in_g(X))
U27_g(X, binaryZ_out_g(X)) → binary_out_g(zero(X))
binary_in_g(one(X)) → U28_g(X, binary_in_g(X))
U28_g(X, binary_out_g(X)) → binary_out_g(one(X))
U30_g(X, binary_out_g(X)) → binaryZ_out_g(one(X))
U29_g(X, binaryZ_out_g(X)) → binaryZ_out_g(zero(X))
U1_aag(X, binaryZ_out_g(X)) → add_out_aag(X, b, X)
add_in_aag(b, Y, Y) → U2_aag(Y, binaryZ_in_g(Y))
U2_aag(Y, binaryZ_out_g(Y)) → add_out_aag(b, Y, Y)
add_in_aag(X, Y, Z) → U3_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(zero(X), zero(Y), zero(Z)) → U10_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(zero(X), one(Y), one(Z)) → U11_aag(X, Y, Z, addx_in_aag(X, Y, Z))
addx_in_aag(one(X), b, one(X)) → U4_aag(X, binary_in_g(X))
U4_aag(X, binary_out_g(X)) → addx_out_aag(one(X), b, one(X))
addx_in_aag(zero(X), b, zero(X)) → U5_aag(X, binaryZ_in_g(X))
U5_aag(X, binaryZ_out_g(X)) → addx_out_aag(zero(X), b, zero(X))
addx_in_aag(X, Y, Z) → U6_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(one(X), zero(Y), one(Z)) → U12_aag(X, Y, Z, addy_in_aag(X, Y, Z))
addy_in_aag(b, one(Y), one(Y)) → U7_aag(Y, binary_in_g(Y))
U7_aag(Y, binary_out_g(Y)) → addy_out_aag(b, one(Y), one(Y))
addy_in_aag(b, zero(Y), zero(Y)) → U8_aag(Y, binaryZ_in_g(Y))
U8_aag(Y, binaryZ_out_g(Y)) → addy_out_aag(b, zero(Y), zero(Y))
addy_in_aag(X, Y, Z) → U9_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(one(X), one(Y), zero(Z)) → U13_aag(X, Y, Z, addc_in_aag(X, Y, Z))
addc_in_aag(b, b, one(b)) → addc_out_aag(b, b, one(b))
addc_in_aag(X, b, Z) → U14_aag(X, Z, succZ_in_ag(X, Z))
succZ_in_ag(zero(X), one(X)) → U33_ag(X, binaryZ_in_g(X))
U33_ag(X, binaryZ_out_g(X)) → succZ_out_ag(zero(X), one(X))
succZ_in_ag(one(X), zero(Z)) → U34_ag(X, Z, succ_in_ag(X, Z))
succ_in_ag(b, one(b)) → succ_out_ag(b, one(b))
succ_in_ag(zero(X), one(X)) → U31_ag(X, binaryZ_in_g(X))
U31_ag(X, binaryZ_out_g(X)) → succ_out_ag(zero(X), one(X))
succ_in_ag(one(X), zero(Z)) → U32_ag(X, Z, succ_in_ag(X, Z))
U32_ag(X, Z, succ_out_ag(X, Z)) → succ_out_ag(one(X), zero(Z))
U34_ag(X, Z, succ_out_ag(X, Z)) → succZ_out_ag(one(X), zero(Z))
U14_aag(X, Z, succZ_out_ag(X, Z)) → addc_out_aag(X, b, Z)
addc_in_aag(b, Y, Z) → U15_aag(Y, Z, succZ_in_ag(Y, Z))
U15_aag(Y, Z, succZ_out_ag(Y, Z)) → addc_out_aag(b, Y, Z)
addc_in_aag(X, Y, Z) → U16_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(zero(X), zero(Y), one(Z)) → U23_aag(X, Y, Z, addz_in_aag(X, Y, Z))
U23_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addC_out_aag(zero(X), zero(Y), one(Z))
addC_in_aag(zero(X), one(Y), zero(Z)) → U24_aag(X, Y, Z, addX_in_aag(X, Y, Z))
addX_in_aag(zero(X), b, one(X)) → U17_aag(X, binaryZ_in_g(X))
U17_aag(X, binaryZ_out_g(X)) → addX_out_aag(zero(X), b, one(X))
addX_in_aag(one(X), b, zero(Z)) → U18_aag(X, Z, succ_in_ag(X, Z))
U18_aag(X, Z, succ_out_ag(X, Z)) → addX_out_aag(one(X), b, zero(Z))
addX_in_aag(X, Y, Z) → U19_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(one(X), zero(Y), zero(Z)) → U25_aag(X, Y, Z, addY_in_aag(X, Y, Z))
addY_in_aag(b, zero(Y), one(Y)) → U20_aag(Y, binaryZ_in_g(Y))
U20_aag(Y, binaryZ_out_g(Y)) → addY_out_aag(b, zero(Y), one(Y))
addY_in_aag(b, one(Y), zero(Z)) → U21_aag(Y, Z, succ_in_ag(Y, Z))
U21_aag(Y, Z, succ_out_ag(Y, Z)) → addY_out_aag(b, one(Y), zero(Z))
addY_in_aag(X, Y, Z) → U22_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(one(X), one(Y), one(Z)) → U26_aag(X, Y, Z, addc_in_aag(X, Y, Z))
U26_aag(X, Y, Z, addc_out_aag(X, Y, Z)) → addC_out_aag(one(X), one(Y), one(Z))
U22_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addY_out_aag(X, Y, Z)
U25_aag(X, Y, Z, addY_out_aag(X, Y, Z)) → addC_out_aag(one(X), zero(Y), zero(Z))
U19_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addX_out_aag(X, Y, Z)
U24_aag(X, Y, Z, addX_out_aag(X, Y, Z)) → addC_out_aag(zero(X), one(Y), zero(Z))
U16_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addc_out_aag(X, Y, Z)
U13_aag(X, Y, Z, addc_out_aag(X, Y, Z)) → addz_out_aag(one(X), one(Y), zero(Z))
U9_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addy_out_aag(X, Y, Z)
U12_aag(X, Y, Z, addy_out_aag(X, Y, Z)) → addz_out_aag(one(X), zero(Y), one(Z))
U6_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addx_out_aag(X, Y, Z)
U11_aag(X, Y, Z, addx_out_aag(X, Y, Z)) → addz_out_aag(zero(X), one(Y), one(Z))
U10_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addz_out_aag(zero(X), zero(Y), zero(Z))
U3_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → add_out_aag(X, Y, Z)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
add_in_aag(b, b, b) → add_out_aag(b, b, b)
add_in_aag(X, b, X) → U1_aag(X, binaryZ_in_g(X))
binaryZ_in_g(zero(X)) → U29_g(X, binaryZ_in_g(X))
binaryZ_in_g(one(X)) → U30_g(X, binary_in_g(X))
binary_in_g(b) → binary_out_g(b)
binary_in_g(zero(X)) → U27_g(X, binaryZ_in_g(X))
U27_g(X, binaryZ_out_g(X)) → binary_out_g(zero(X))
binary_in_g(one(X)) → U28_g(X, binary_in_g(X))
U28_g(X, binary_out_g(X)) → binary_out_g(one(X))
U30_g(X, binary_out_g(X)) → binaryZ_out_g(one(X))
U29_g(X, binaryZ_out_g(X)) → binaryZ_out_g(zero(X))
U1_aag(X, binaryZ_out_g(X)) → add_out_aag(X, b, X)
add_in_aag(b, Y, Y) → U2_aag(Y, binaryZ_in_g(Y))
U2_aag(Y, binaryZ_out_g(Y)) → add_out_aag(b, Y, Y)
add_in_aag(X, Y, Z) → U3_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(zero(X), zero(Y), zero(Z)) → U10_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(zero(X), one(Y), one(Z)) → U11_aag(X, Y, Z, addx_in_aag(X, Y, Z))
addx_in_aag(one(X), b, one(X)) → U4_aag(X, binary_in_g(X))
U4_aag(X, binary_out_g(X)) → addx_out_aag(one(X), b, one(X))
addx_in_aag(zero(X), b, zero(X)) → U5_aag(X, binaryZ_in_g(X))
U5_aag(X, binaryZ_out_g(X)) → addx_out_aag(zero(X), b, zero(X))
addx_in_aag(X, Y, Z) → U6_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(one(X), zero(Y), one(Z)) → U12_aag(X, Y, Z, addy_in_aag(X, Y, Z))
addy_in_aag(b, one(Y), one(Y)) → U7_aag(Y, binary_in_g(Y))
U7_aag(Y, binary_out_g(Y)) → addy_out_aag(b, one(Y), one(Y))
addy_in_aag(b, zero(Y), zero(Y)) → U8_aag(Y, binaryZ_in_g(Y))
U8_aag(Y, binaryZ_out_g(Y)) → addy_out_aag(b, zero(Y), zero(Y))
addy_in_aag(X, Y, Z) → U9_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(one(X), one(Y), zero(Z)) → U13_aag(X, Y, Z, addc_in_aag(X, Y, Z))
addc_in_aag(b, b, one(b)) → addc_out_aag(b, b, one(b))
addc_in_aag(X, b, Z) → U14_aag(X, Z, succZ_in_ag(X, Z))
succZ_in_ag(zero(X), one(X)) → U33_ag(X, binaryZ_in_g(X))
U33_ag(X, binaryZ_out_g(X)) → succZ_out_ag(zero(X), one(X))
succZ_in_ag(one(X), zero(Z)) → U34_ag(X, Z, succ_in_ag(X, Z))
succ_in_ag(b, one(b)) → succ_out_ag(b, one(b))
succ_in_ag(zero(X), one(X)) → U31_ag(X, binaryZ_in_g(X))
U31_ag(X, binaryZ_out_g(X)) → succ_out_ag(zero(X), one(X))
succ_in_ag(one(X), zero(Z)) → U32_ag(X, Z, succ_in_ag(X, Z))
U32_ag(X, Z, succ_out_ag(X, Z)) → succ_out_ag(one(X), zero(Z))
U34_ag(X, Z, succ_out_ag(X, Z)) → succZ_out_ag(one(X), zero(Z))
U14_aag(X, Z, succZ_out_ag(X, Z)) → addc_out_aag(X, b, Z)
addc_in_aag(b, Y, Z) → U15_aag(Y, Z, succZ_in_ag(Y, Z))
U15_aag(Y, Z, succZ_out_ag(Y, Z)) → addc_out_aag(b, Y, Z)
addc_in_aag(X, Y, Z) → U16_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(zero(X), zero(Y), one(Z)) → U23_aag(X, Y, Z, addz_in_aag(X, Y, Z))
U23_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addC_out_aag(zero(X), zero(Y), one(Z))
addC_in_aag(zero(X), one(Y), zero(Z)) → U24_aag(X, Y, Z, addX_in_aag(X, Y, Z))
addX_in_aag(zero(X), b, one(X)) → U17_aag(X, binaryZ_in_g(X))
U17_aag(X, binaryZ_out_g(X)) → addX_out_aag(zero(X), b, one(X))
addX_in_aag(one(X), b, zero(Z)) → U18_aag(X, Z, succ_in_ag(X, Z))
U18_aag(X, Z, succ_out_ag(X, Z)) → addX_out_aag(one(X), b, zero(Z))
addX_in_aag(X, Y, Z) → U19_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(one(X), zero(Y), zero(Z)) → U25_aag(X, Y, Z, addY_in_aag(X, Y, Z))
addY_in_aag(b, zero(Y), one(Y)) → U20_aag(Y, binaryZ_in_g(Y))
U20_aag(Y, binaryZ_out_g(Y)) → addY_out_aag(b, zero(Y), one(Y))
addY_in_aag(b, one(Y), zero(Z)) → U21_aag(Y, Z, succ_in_ag(Y, Z))
U21_aag(Y, Z, succ_out_ag(Y, Z)) → addY_out_aag(b, one(Y), zero(Z))
addY_in_aag(X, Y, Z) → U22_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(one(X), one(Y), one(Z)) → U26_aag(X, Y, Z, addc_in_aag(X, Y, Z))
U26_aag(X, Y, Z, addc_out_aag(X, Y, Z)) → addC_out_aag(one(X), one(Y), one(Z))
U22_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addY_out_aag(X, Y, Z)
U25_aag(X, Y, Z, addY_out_aag(X, Y, Z)) → addC_out_aag(one(X), zero(Y), zero(Z))
U19_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addX_out_aag(X, Y, Z)
U24_aag(X, Y, Z, addX_out_aag(X, Y, Z)) → addC_out_aag(zero(X), one(Y), zero(Z))
U16_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addc_out_aag(X, Y, Z)
U13_aag(X, Y, Z, addc_out_aag(X, Y, Z)) → addz_out_aag(one(X), one(Y), zero(Z))
U9_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addy_out_aag(X, Y, Z)
U12_aag(X, Y, Z, addy_out_aag(X, Y, Z)) → addz_out_aag(one(X), zero(Y), one(Z))
U6_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addx_out_aag(X, Y, Z)
U11_aag(X, Y, Z, addx_out_aag(X, Y, Z)) → addz_out_aag(zero(X), one(Y), one(Z))
U10_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addz_out_aag(zero(X), zero(Y), zero(Z))
U3_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → add_out_aag(X, Y, Z)
ADD_IN_AAG(X, b, X) → U1_AAG(X, binaryZ_in_g(X))
ADD_IN_AAG(X, b, X) → BINARYZ_IN_G(X)
BINARYZ_IN_G(zero(X)) → U29_G(X, binaryZ_in_g(X))
BINARYZ_IN_G(zero(X)) → BINARYZ_IN_G(X)
BINARYZ_IN_G(one(X)) → U30_G(X, binary_in_g(X))
BINARYZ_IN_G(one(X)) → BINARY_IN_G(X)
BINARY_IN_G(zero(X)) → U27_G(X, binaryZ_in_g(X))
BINARY_IN_G(zero(X)) → BINARYZ_IN_G(X)
BINARY_IN_G(one(X)) → U28_G(X, binary_in_g(X))
BINARY_IN_G(one(X)) → BINARY_IN_G(X)
ADD_IN_AAG(b, Y, Y) → U2_AAG(Y, binaryZ_in_g(Y))
ADD_IN_AAG(b, Y, Y) → BINARYZ_IN_G(Y)
ADD_IN_AAG(X, Y, Z) → U3_AAG(X, Y, Z, addz_in_aag(X, Y, Z))
ADD_IN_AAG(X, Y, Z) → ADDZ_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(zero(X), zero(Y), zero(Z)) → U10_AAG(X, Y, Z, addz_in_aag(X, Y, Z))
ADDZ_IN_AAG(zero(X), zero(Y), zero(Z)) → ADDZ_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(zero(X), one(Y), one(Z)) → U11_AAG(X, Y, Z, addx_in_aag(X, Y, Z))
ADDZ_IN_AAG(zero(X), one(Y), one(Z)) → ADDX_IN_AAG(X, Y, Z)
ADDX_IN_AAG(one(X), b, one(X)) → U4_AAG(X, binary_in_g(X))
ADDX_IN_AAG(one(X), b, one(X)) → BINARY_IN_G(X)
ADDX_IN_AAG(zero(X), b, zero(X)) → U5_AAG(X, binaryZ_in_g(X))
ADDX_IN_AAG(zero(X), b, zero(X)) → BINARYZ_IN_G(X)
ADDX_IN_AAG(X, Y, Z) → U6_AAG(X, Y, Z, addz_in_aag(X, Y, Z))
ADDX_IN_AAG(X, Y, Z) → ADDZ_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(one(X), zero(Y), one(Z)) → U12_AAG(X, Y, Z, addy_in_aag(X, Y, Z))
ADDZ_IN_AAG(one(X), zero(Y), one(Z)) → ADDY_IN_AAG(X, Y, Z)
ADDY_IN_AAG(b, one(Y), one(Y)) → U7_AAG(Y, binary_in_g(Y))
ADDY_IN_AAG(b, one(Y), one(Y)) → BINARY_IN_G(Y)
ADDY_IN_AAG(b, zero(Y), zero(Y)) → U8_AAG(Y, binaryZ_in_g(Y))
ADDY_IN_AAG(b, zero(Y), zero(Y)) → BINARYZ_IN_G(Y)
ADDY_IN_AAG(X, Y, Z) → U9_AAG(X, Y, Z, addz_in_aag(X, Y, Z))
ADDY_IN_AAG(X, Y, Z) → ADDZ_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(one(X), one(Y), zero(Z)) → U13_AAG(X, Y, Z, addc_in_aag(X, Y, Z))
ADDZ_IN_AAG(one(X), one(Y), zero(Z)) → ADDC_IN_AAG(X, Y, Z)
ADDC_IN_AAG(X, b, Z) → U14_AAG(X, Z, succZ_in_ag(X, Z))
ADDC_IN_AAG(X, b, Z) → SUCCZ_IN_AG(X, Z)
SUCCZ_IN_AG(zero(X), one(X)) → U33_AG(X, binaryZ_in_g(X))
SUCCZ_IN_AG(zero(X), one(X)) → BINARYZ_IN_G(X)
SUCCZ_IN_AG(one(X), zero(Z)) → U34_AG(X, Z, succ_in_ag(X, Z))
SUCCZ_IN_AG(one(X), zero(Z)) → SUCC_IN_AG(X, Z)
SUCC_IN_AG(zero(X), one(X)) → U31_AG(X, binaryZ_in_g(X))
SUCC_IN_AG(zero(X), one(X)) → BINARYZ_IN_G(X)
SUCC_IN_AG(one(X), zero(Z)) → U32_AG(X, Z, succ_in_ag(X, Z))
SUCC_IN_AG(one(X), zero(Z)) → SUCC_IN_AG(X, Z)
ADDC_IN_AAG(b, Y, Z) → U15_AAG(Y, Z, succZ_in_ag(Y, Z))
ADDC_IN_AAG(b, Y, Z) → SUCCZ_IN_AG(Y, Z)
ADDC_IN_AAG(X, Y, Z) → U16_AAG(X, Y, Z, addC_in_aag(X, Y, Z))
ADDC_IN_AAG(X, Y, Z) → ADDC_IN_AAG1(X, Y, Z)
ADDC_IN_AAG1(zero(X), zero(Y), one(Z)) → U23_AAG(X, Y, Z, addz_in_aag(X, Y, Z))
ADDC_IN_AAG1(zero(X), zero(Y), one(Z)) → ADDZ_IN_AAG(X, Y, Z)
ADDC_IN_AAG1(zero(X), one(Y), zero(Z)) → U24_AAG(X, Y, Z, addX_in_aag(X, Y, Z))
ADDC_IN_AAG1(zero(X), one(Y), zero(Z)) → ADDX_IN_AAG1(X, Y, Z)
ADDX_IN_AAG1(zero(X), b, one(X)) → U17_AAG(X, binaryZ_in_g(X))
ADDX_IN_AAG1(zero(X), b, one(X)) → BINARYZ_IN_G(X)
ADDX_IN_AAG1(one(X), b, zero(Z)) → U18_AAG(X, Z, succ_in_ag(X, Z))
ADDX_IN_AAG1(one(X), b, zero(Z)) → SUCC_IN_AG(X, Z)
ADDX_IN_AAG1(X, Y, Z) → U19_AAG(X, Y, Z, addC_in_aag(X, Y, Z))
ADDX_IN_AAG1(X, Y, Z) → ADDC_IN_AAG1(X, Y, Z)
ADDC_IN_AAG1(one(X), zero(Y), zero(Z)) → U25_AAG(X, Y, Z, addY_in_aag(X, Y, Z))
ADDC_IN_AAG1(one(X), zero(Y), zero(Z)) → ADDY_IN_AAG1(X, Y, Z)
ADDY_IN_AAG1(b, zero(Y), one(Y)) → U20_AAG(Y, binaryZ_in_g(Y))
ADDY_IN_AAG1(b, zero(Y), one(Y)) → BINARYZ_IN_G(Y)
ADDY_IN_AAG1(b, one(Y), zero(Z)) → U21_AAG(Y, Z, succ_in_ag(Y, Z))
ADDY_IN_AAG1(b, one(Y), zero(Z)) → SUCC_IN_AG(Y, Z)
ADDY_IN_AAG1(X, Y, Z) → U22_AAG(X, Y, Z, addC_in_aag(X, Y, Z))
ADDY_IN_AAG1(X, Y, Z) → ADDC_IN_AAG1(X, Y, Z)
ADDC_IN_AAG1(one(X), one(Y), one(Z)) → U26_AAG(X, Y, Z, addc_in_aag(X, Y, Z))
ADDC_IN_AAG1(one(X), one(Y), one(Z)) → ADDC_IN_AAG(X, Y, Z)
add_in_aag(b, b, b) → add_out_aag(b, b, b)
add_in_aag(X, b, X) → U1_aag(X, binaryZ_in_g(X))
binaryZ_in_g(zero(X)) → U29_g(X, binaryZ_in_g(X))
binaryZ_in_g(one(X)) → U30_g(X, binary_in_g(X))
binary_in_g(b) → binary_out_g(b)
binary_in_g(zero(X)) → U27_g(X, binaryZ_in_g(X))
U27_g(X, binaryZ_out_g(X)) → binary_out_g(zero(X))
binary_in_g(one(X)) → U28_g(X, binary_in_g(X))
U28_g(X, binary_out_g(X)) → binary_out_g(one(X))
U30_g(X, binary_out_g(X)) → binaryZ_out_g(one(X))
U29_g(X, binaryZ_out_g(X)) → binaryZ_out_g(zero(X))
U1_aag(X, binaryZ_out_g(X)) → add_out_aag(X, b, X)
add_in_aag(b, Y, Y) → U2_aag(Y, binaryZ_in_g(Y))
U2_aag(Y, binaryZ_out_g(Y)) → add_out_aag(b, Y, Y)
add_in_aag(X, Y, Z) → U3_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(zero(X), zero(Y), zero(Z)) → U10_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(zero(X), one(Y), one(Z)) → U11_aag(X, Y, Z, addx_in_aag(X, Y, Z))
addx_in_aag(one(X), b, one(X)) → U4_aag(X, binary_in_g(X))
U4_aag(X, binary_out_g(X)) → addx_out_aag(one(X), b, one(X))
addx_in_aag(zero(X), b, zero(X)) → U5_aag(X, binaryZ_in_g(X))
U5_aag(X, binaryZ_out_g(X)) → addx_out_aag(zero(X), b, zero(X))
addx_in_aag(X, Y, Z) → U6_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(one(X), zero(Y), one(Z)) → U12_aag(X, Y, Z, addy_in_aag(X, Y, Z))
addy_in_aag(b, one(Y), one(Y)) → U7_aag(Y, binary_in_g(Y))
U7_aag(Y, binary_out_g(Y)) → addy_out_aag(b, one(Y), one(Y))
addy_in_aag(b, zero(Y), zero(Y)) → U8_aag(Y, binaryZ_in_g(Y))
U8_aag(Y, binaryZ_out_g(Y)) → addy_out_aag(b, zero(Y), zero(Y))
addy_in_aag(X, Y, Z) → U9_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(one(X), one(Y), zero(Z)) → U13_aag(X, Y, Z, addc_in_aag(X, Y, Z))
addc_in_aag(b, b, one(b)) → addc_out_aag(b, b, one(b))
addc_in_aag(X, b, Z) → U14_aag(X, Z, succZ_in_ag(X, Z))
succZ_in_ag(zero(X), one(X)) → U33_ag(X, binaryZ_in_g(X))
U33_ag(X, binaryZ_out_g(X)) → succZ_out_ag(zero(X), one(X))
succZ_in_ag(one(X), zero(Z)) → U34_ag(X, Z, succ_in_ag(X, Z))
succ_in_ag(b, one(b)) → succ_out_ag(b, one(b))
succ_in_ag(zero(X), one(X)) → U31_ag(X, binaryZ_in_g(X))
U31_ag(X, binaryZ_out_g(X)) → succ_out_ag(zero(X), one(X))
succ_in_ag(one(X), zero(Z)) → U32_ag(X, Z, succ_in_ag(X, Z))
U32_ag(X, Z, succ_out_ag(X, Z)) → succ_out_ag(one(X), zero(Z))
U34_ag(X, Z, succ_out_ag(X, Z)) → succZ_out_ag(one(X), zero(Z))
U14_aag(X, Z, succZ_out_ag(X, Z)) → addc_out_aag(X, b, Z)
addc_in_aag(b, Y, Z) → U15_aag(Y, Z, succZ_in_ag(Y, Z))
U15_aag(Y, Z, succZ_out_ag(Y, Z)) → addc_out_aag(b, Y, Z)
addc_in_aag(X, Y, Z) → U16_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(zero(X), zero(Y), one(Z)) → U23_aag(X, Y, Z, addz_in_aag(X, Y, Z))
U23_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addC_out_aag(zero(X), zero(Y), one(Z))
addC_in_aag(zero(X), one(Y), zero(Z)) → U24_aag(X, Y, Z, addX_in_aag(X, Y, Z))
addX_in_aag(zero(X), b, one(X)) → U17_aag(X, binaryZ_in_g(X))
U17_aag(X, binaryZ_out_g(X)) → addX_out_aag(zero(X), b, one(X))
addX_in_aag(one(X), b, zero(Z)) → U18_aag(X, Z, succ_in_ag(X, Z))
U18_aag(X, Z, succ_out_ag(X, Z)) → addX_out_aag(one(X), b, zero(Z))
addX_in_aag(X, Y, Z) → U19_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(one(X), zero(Y), zero(Z)) → U25_aag(X, Y, Z, addY_in_aag(X, Y, Z))
addY_in_aag(b, zero(Y), one(Y)) → U20_aag(Y, binaryZ_in_g(Y))
U20_aag(Y, binaryZ_out_g(Y)) → addY_out_aag(b, zero(Y), one(Y))
addY_in_aag(b, one(Y), zero(Z)) → U21_aag(Y, Z, succ_in_ag(Y, Z))
U21_aag(Y, Z, succ_out_ag(Y, Z)) → addY_out_aag(b, one(Y), zero(Z))
addY_in_aag(X, Y, Z) → U22_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(one(X), one(Y), one(Z)) → U26_aag(X, Y, Z, addc_in_aag(X, Y, Z))
U26_aag(X, Y, Z, addc_out_aag(X, Y, Z)) → addC_out_aag(one(X), one(Y), one(Z))
U22_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addY_out_aag(X, Y, Z)
U25_aag(X, Y, Z, addY_out_aag(X, Y, Z)) → addC_out_aag(one(X), zero(Y), zero(Z))
U19_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addX_out_aag(X, Y, Z)
U24_aag(X, Y, Z, addX_out_aag(X, Y, Z)) → addC_out_aag(zero(X), one(Y), zero(Z))
U16_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addc_out_aag(X, Y, Z)
U13_aag(X, Y, Z, addc_out_aag(X, Y, Z)) → addz_out_aag(one(X), one(Y), zero(Z))
U9_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addy_out_aag(X, Y, Z)
U12_aag(X, Y, Z, addy_out_aag(X, Y, Z)) → addz_out_aag(one(X), zero(Y), one(Z))
U6_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addx_out_aag(X, Y, Z)
U11_aag(X, Y, Z, addx_out_aag(X, Y, Z)) → addz_out_aag(zero(X), one(Y), one(Z))
U10_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addz_out_aag(zero(X), zero(Y), zero(Z))
U3_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → add_out_aag(X, Y, Z)
ADD_IN_AAG(X, b, X) → U1_AAG(X, binaryZ_in_g(X))
ADD_IN_AAG(X, b, X) → BINARYZ_IN_G(X)
BINARYZ_IN_G(zero(X)) → U29_G(X, binaryZ_in_g(X))
BINARYZ_IN_G(zero(X)) → BINARYZ_IN_G(X)
BINARYZ_IN_G(one(X)) → U30_G(X, binary_in_g(X))
BINARYZ_IN_G(one(X)) → BINARY_IN_G(X)
BINARY_IN_G(zero(X)) → U27_G(X, binaryZ_in_g(X))
BINARY_IN_G(zero(X)) → BINARYZ_IN_G(X)
BINARY_IN_G(one(X)) → U28_G(X, binary_in_g(X))
BINARY_IN_G(one(X)) → BINARY_IN_G(X)
ADD_IN_AAG(b, Y, Y) → U2_AAG(Y, binaryZ_in_g(Y))
ADD_IN_AAG(b, Y, Y) → BINARYZ_IN_G(Y)
ADD_IN_AAG(X, Y, Z) → U3_AAG(X, Y, Z, addz_in_aag(X, Y, Z))
ADD_IN_AAG(X, Y, Z) → ADDZ_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(zero(X), zero(Y), zero(Z)) → U10_AAG(X, Y, Z, addz_in_aag(X, Y, Z))
ADDZ_IN_AAG(zero(X), zero(Y), zero(Z)) → ADDZ_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(zero(X), one(Y), one(Z)) → U11_AAG(X, Y, Z, addx_in_aag(X, Y, Z))
ADDZ_IN_AAG(zero(X), one(Y), one(Z)) → ADDX_IN_AAG(X, Y, Z)
ADDX_IN_AAG(one(X), b, one(X)) → U4_AAG(X, binary_in_g(X))
ADDX_IN_AAG(one(X), b, one(X)) → BINARY_IN_G(X)
ADDX_IN_AAG(zero(X), b, zero(X)) → U5_AAG(X, binaryZ_in_g(X))
ADDX_IN_AAG(zero(X), b, zero(X)) → BINARYZ_IN_G(X)
ADDX_IN_AAG(X, Y, Z) → U6_AAG(X, Y, Z, addz_in_aag(X, Y, Z))
ADDX_IN_AAG(X, Y, Z) → ADDZ_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(one(X), zero(Y), one(Z)) → U12_AAG(X, Y, Z, addy_in_aag(X, Y, Z))
ADDZ_IN_AAG(one(X), zero(Y), one(Z)) → ADDY_IN_AAG(X, Y, Z)
ADDY_IN_AAG(b, one(Y), one(Y)) → U7_AAG(Y, binary_in_g(Y))
ADDY_IN_AAG(b, one(Y), one(Y)) → BINARY_IN_G(Y)
ADDY_IN_AAG(b, zero(Y), zero(Y)) → U8_AAG(Y, binaryZ_in_g(Y))
ADDY_IN_AAG(b, zero(Y), zero(Y)) → BINARYZ_IN_G(Y)
ADDY_IN_AAG(X, Y, Z) → U9_AAG(X, Y, Z, addz_in_aag(X, Y, Z))
ADDY_IN_AAG(X, Y, Z) → ADDZ_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(one(X), one(Y), zero(Z)) → U13_AAG(X, Y, Z, addc_in_aag(X, Y, Z))
ADDZ_IN_AAG(one(X), one(Y), zero(Z)) → ADDC_IN_AAG(X, Y, Z)
ADDC_IN_AAG(X, b, Z) → U14_AAG(X, Z, succZ_in_ag(X, Z))
ADDC_IN_AAG(X, b, Z) → SUCCZ_IN_AG(X, Z)
SUCCZ_IN_AG(zero(X), one(X)) → U33_AG(X, binaryZ_in_g(X))
SUCCZ_IN_AG(zero(X), one(X)) → BINARYZ_IN_G(X)
SUCCZ_IN_AG(one(X), zero(Z)) → U34_AG(X, Z, succ_in_ag(X, Z))
SUCCZ_IN_AG(one(X), zero(Z)) → SUCC_IN_AG(X, Z)
SUCC_IN_AG(zero(X), one(X)) → U31_AG(X, binaryZ_in_g(X))
SUCC_IN_AG(zero(X), one(X)) → BINARYZ_IN_G(X)
SUCC_IN_AG(one(X), zero(Z)) → U32_AG(X, Z, succ_in_ag(X, Z))
SUCC_IN_AG(one(X), zero(Z)) → SUCC_IN_AG(X, Z)
ADDC_IN_AAG(b, Y, Z) → U15_AAG(Y, Z, succZ_in_ag(Y, Z))
ADDC_IN_AAG(b, Y, Z) → SUCCZ_IN_AG(Y, Z)
ADDC_IN_AAG(X, Y, Z) → U16_AAG(X, Y, Z, addC_in_aag(X, Y, Z))
ADDC_IN_AAG(X, Y, Z) → ADDC_IN_AAG1(X, Y, Z)
ADDC_IN_AAG1(zero(X), zero(Y), one(Z)) → U23_AAG(X, Y, Z, addz_in_aag(X, Y, Z))
ADDC_IN_AAG1(zero(X), zero(Y), one(Z)) → ADDZ_IN_AAG(X, Y, Z)
ADDC_IN_AAG1(zero(X), one(Y), zero(Z)) → U24_AAG(X, Y, Z, addX_in_aag(X, Y, Z))
ADDC_IN_AAG1(zero(X), one(Y), zero(Z)) → ADDX_IN_AAG1(X, Y, Z)
ADDX_IN_AAG1(zero(X), b, one(X)) → U17_AAG(X, binaryZ_in_g(X))
ADDX_IN_AAG1(zero(X), b, one(X)) → BINARYZ_IN_G(X)
ADDX_IN_AAG1(one(X), b, zero(Z)) → U18_AAG(X, Z, succ_in_ag(X, Z))
ADDX_IN_AAG1(one(X), b, zero(Z)) → SUCC_IN_AG(X, Z)
ADDX_IN_AAG1(X, Y, Z) → U19_AAG(X, Y, Z, addC_in_aag(X, Y, Z))
ADDX_IN_AAG1(X, Y, Z) → ADDC_IN_AAG1(X, Y, Z)
ADDC_IN_AAG1(one(X), zero(Y), zero(Z)) → U25_AAG(X, Y, Z, addY_in_aag(X, Y, Z))
ADDC_IN_AAG1(one(X), zero(Y), zero(Z)) → ADDY_IN_AAG1(X, Y, Z)
ADDY_IN_AAG1(b, zero(Y), one(Y)) → U20_AAG(Y, binaryZ_in_g(Y))
ADDY_IN_AAG1(b, zero(Y), one(Y)) → BINARYZ_IN_G(Y)
ADDY_IN_AAG1(b, one(Y), zero(Z)) → U21_AAG(Y, Z, succ_in_ag(Y, Z))
ADDY_IN_AAG1(b, one(Y), zero(Z)) → SUCC_IN_AG(Y, Z)
ADDY_IN_AAG1(X, Y, Z) → U22_AAG(X, Y, Z, addC_in_aag(X, Y, Z))
ADDY_IN_AAG1(X, Y, Z) → ADDC_IN_AAG1(X, Y, Z)
ADDC_IN_AAG1(one(X), one(Y), one(Z)) → U26_AAG(X, Y, Z, addc_in_aag(X, Y, Z))
ADDC_IN_AAG1(one(X), one(Y), one(Z)) → ADDC_IN_AAG(X, Y, Z)
add_in_aag(b, b, b) → add_out_aag(b, b, b)
add_in_aag(X, b, X) → U1_aag(X, binaryZ_in_g(X))
binaryZ_in_g(zero(X)) → U29_g(X, binaryZ_in_g(X))
binaryZ_in_g(one(X)) → U30_g(X, binary_in_g(X))
binary_in_g(b) → binary_out_g(b)
binary_in_g(zero(X)) → U27_g(X, binaryZ_in_g(X))
U27_g(X, binaryZ_out_g(X)) → binary_out_g(zero(X))
binary_in_g(one(X)) → U28_g(X, binary_in_g(X))
U28_g(X, binary_out_g(X)) → binary_out_g(one(X))
U30_g(X, binary_out_g(X)) → binaryZ_out_g(one(X))
U29_g(X, binaryZ_out_g(X)) → binaryZ_out_g(zero(X))
U1_aag(X, binaryZ_out_g(X)) → add_out_aag(X, b, X)
add_in_aag(b, Y, Y) → U2_aag(Y, binaryZ_in_g(Y))
U2_aag(Y, binaryZ_out_g(Y)) → add_out_aag(b, Y, Y)
add_in_aag(X, Y, Z) → U3_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(zero(X), zero(Y), zero(Z)) → U10_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(zero(X), one(Y), one(Z)) → U11_aag(X, Y, Z, addx_in_aag(X, Y, Z))
addx_in_aag(one(X), b, one(X)) → U4_aag(X, binary_in_g(X))
U4_aag(X, binary_out_g(X)) → addx_out_aag(one(X), b, one(X))
addx_in_aag(zero(X), b, zero(X)) → U5_aag(X, binaryZ_in_g(X))
U5_aag(X, binaryZ_out_g(X)) → addx_out_aag(zero(X), b, zero(X))
addx_in_aag(X, Y, Z) → U6_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(one(X), zero(Y), one(Z)) → U12_aag(X, Y, Z, addy_in_aag(X, Y, Z))
addy_in_aag(b, one(Y), one(Y)) → U7_aag(Y, binary_in_g(Y))
U7_aag(Y, binary_out_g(Y)) → addy_out_aag(b, one(Y), one(Y))
addy_in_aag(b, zero(Y), zero(Y)) → U8_aag(Y, binaryZ_in_g(Y))
U8_aag(Y, binaryZ_out_g(Y)) → addy_out_aag(b, zero(Y), zero(Y))
addy_in_aag(X, Y, Z) → U9_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(one(X), one(Y), zero(Z)) → U13_aag(X, Y, Z, addc_in_aag(X, Y, Z))
addc_in_aag(b, b, one(b)) → addc_out_aag(b, b, one(b))
addc_in_aag(X, b, Z) → U14_aag(X, Z, succZ_in_ag(X, Z))
succZ_in_ag(zero(X), one(X)) → U33_ag(X, binaryZ_in_g(X))
U33_ag(X, binaryZ_out_g(X)) → succZ_out_ag(zero(X), one(X))
succZ_in_ag(one(X), zero(Z)) → U34_ag(X, Z, succ_in_ag(X, Z))
succ_in_ag(b, one(b)) → succ_out_ag(b, one(b))
succ_in_ag(zero(X), one(X)) → U31_ag(X, binaryZ_in_g(X))
U31_ag(X, binaryZ_out_g(X)) → succ_out_ag(zero(X), one(X))
succ_in_ag(one(X), zero(Z)) → U32_ag(X, Z, succ_in_ag(X, Z))
U32_ag(X, Z, succ_out_ag(X, Z)) → succ_out_ag(one(X), zero(Z))
U34_ag(X, Z, succ_out_ag(X, Z)) → succZ_out_ag(one(X), zero(Z))
U14_aag(X, Z, succZ_out_ag(X, Z)) → addc_out_aag(X, b, Z)
addc_in_aag(b, Y, Z) → U15_aag(Y, Z, succZ_in_ag(Y, Z))
U15_aag(Y, Z, succZ_out_ag(Y, Z)) → addc_out_aag(b, Y, Z)
addc_in_aag(X, Y, Z) → U16_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(zero(X), zero(Y), one(Z)) → U23_aag(X, Y, Z, addz_in_aag(X, Y, Z))
U23_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addC_out_aag(zero(X), zero(Y), one(Z))
addC_in_aag(zero(X), one(Y), zero(Z)) → U24_aag(X, Y, Z, addX_in_aag(X, Y, Z))
addX_in_aag(zero(X), b, one(X)) → U17_aag(X, binaryZ_in_g(X))
U17_aag(X, binaryZ_out_g(X)) → addX_out_aag(zero(X), b, one(X))
addX_in_aag(one(X), b, zero(Z)) → U18_aag(X, Z, succ_in_ag(X, Z))
U18_aag(X, Z, succ_out_ag(X, Z)) → addX_out_aag(one(X), b, zero(Z))
addX_in_aag(X, Y, Z) → U19_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(one(X), zero(Y), zero(Z)) → U25_aag(X, Y, Z, addY_in_aag(X, Y, Z))
addY_in_aag(b, zero(Y), one(Y)) → U20_aag(Y, binaryZ_in_g(Y))
U20_aag(Y, binaryZ_out_g(Y)) → addY_out_aag(b, zero(Y), one(Y))
addY_in_aag(b, one(Y), zero(Z)) → U21_aag(Y, Z, succ_in_ag(Y, Z))
U21_aag(Y, Z, succ_out_ag(Y, Z)) → addY_out_aag(b, one(Y), zero(Z))
addY_in_aag(X, Y, Z) → U22_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(one(X), one(Y), one(Z)) → U26_aag(X, Y, Z, addc_in_aag(X, Y, Z))
U26_aag(X, Y, Z, addc_out_aag(X, Y, Z)) → addC_out_aag(one(X), one(Y), one(Z))
U22_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addY_out_aag(X, Y, Z)
U25_aag(X, Y, Z, addY_out_aag(X, Y, Z)) → addC_out_aag(one(X), zero(Y), zero(Z))
U19_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addX_out_aag(X, Y, Z)
U24_aag(X, Y, Z, addX_out_aag(X, Y, Z)) → addC_out_aag(zero(X), one(Y), zero(Z))
U16_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addc_out_aag(X, Y, Z)
U13_aag(X, Y, Z, addc_out_aag(X, Y, Z)) → addz_out_aag(one(X), one(Y), zero(Z))
U9_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addy_out_aag(X, Y, Z)
U12_aag(X, Y, Z, addy_out_aag(X, Y, Z)) → addz_out_aag(one(X), zero(Y), one(Z))
U6_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addx_out_aag(X, Y, Z)
U11_aag(X, Y, Z, addx_out_aag(X, Y, Z)) → addz_out_aag(zero(X), one(Y), one(Z))
U10_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addz_out_aag(zero(X), zero(Y), zero(Z))
U3_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → add_out_aag(X, Y, Z)
BINARYZ_IN_G(one(X)) → BINARY_IN_G(X)
BINARY_IN_G(zero(X)) → BINARYZ_IN_G(X)
BINARYZ_IN_G(zero(X)) → BINARYZ_IN_G(X)
BINARY_IN_G(one(X)) → BINARY_IN_G(X)
add_in_aag(b, b, b) → add_out_aag(b, b, b)
add_in_aag(X, b, X) → U1_aag(X, binaryZ_in_g(X))
binaryZ_in_g(zero(X)) → U29_g(X, binaryZ_in_g(X))
binaryZ_in_g(one(X)) → U30_g(X, binary_in_g(X))
binary_in_g(b) → binary_out_g(b)
binary_in_g(zero(X)) → U27_g(X, binaryZ_in_g(X))
U27_g(X, binaryZ_out_g(X)) → binary_out_g(zero(X))
binary_in_g(one(X)) → U28_g(X, binary_in_g(X))
U28_g(X, binary_out_g(X)) → binary_out_g(one(X))
U30_g(X, binary_out_g(X)) → binaryZ_out_g(one(X))
U29_g(X, binaryZ_out_g(X)) → binaryZ_out_g(zero(X))
U1_aag(X, binaryZ_out_g(X)) → add_out_aag(X, b, X)
add_in_aag(b, Y, Y) → U2_aag(Y, binaryZ_in_g(Y))
U2_aag(Y, binaryZ_out_g(Y)) → add_out_aag(b, Y, Y)
add_in_aag(X, Y, Z) → U3_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(zero(X), zero(Y), zero(Z)) → U10_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(zero(X), one(Y), one(Z)) → U11_aag(X, Y, Z, addx_in_aag(X, Y, Z))
addx_in_aag(one(X), b, one(X)) → U4_aag(X, binary_in_g(X))
U4_aag(X, binary_out_g(X)) → addx_out_aag(one(X), b, one(X))
addx_in_aag(zero(X), b, zero(X)) → U5_aag(X, binaryZ_in_g(X))
U5_aag(X, binaryZ_out_g(X)) → addx_out_aag(zero(X), b, zero(X))
addx_in_aag(X, Y, Z) → U6_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(one(X), zero(Y), one(Z)) → U12_aag(X, Y, Z, addy_in_aag(X, Y, Z))
addy_in_aag(b, one(Y), one(Y)) → U7_aag(Y, binary_in_g(Y))
U7_aag(Y, binary_out_g(Y)) → addy_out_aag(b, one(Y), one(Y))
addy_in_aag(b, zero(Y), zero(Y)) → U8_aag(Y, binaryZ_in_g(Y))
U8_aag(Y, binaryZ_out_g(Y)) → addy_out_aag(b, zero(Y), zero(Y))
addy_in_aag(X, Y, Z) → U9_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(one(X), one(Y), zero(Z)) → U13_aag(X, Y, Z, addc_in_aag(X, Y, Z))
addc_in_aag(b, b, one(b)) → addc_out_aag(b, b, one(b))
addc_in_aag(X, b, Z) → U14_aag(X, Z, succZ_in_ag(X, Z))
succZ_in_ag(zero(X), one(X)) → U33_ag(X, binaryZ_in_g(X))
U33_ag(X, binaryZ_out_g(X)) → succZ_out_ag(zero(X), one(X))
succZ_in_ag(one(X), zero(Z)) → U34_ag(X, Z, succ_in_ag(X, Z))
succ_in_ag(b, one(b)) → succ_out_ag(b, one(b))
succ_in_ag(zero(X), one(X)) → U31_ag(X, binaryZ_in_g(X))
U31_ag(X, binaryZ_out_g(X)) → succ_out_ag(zero(X), one(X))
succ_in_ag(one(X), zero(Z)) → U32_ag(X, Z, succ_in_ag(X, Z))
U32_ag(X, Z, succ_out_ag(X, Z)) → succ_out_ag(one(X), zero(Z))
U34_ag(X, Z, succ_out_ag(X, Z)) → succZ_out_ag(one(X), zero(Z))
U14_aag(X, Z, succZ_out_ag(X, Z)) → addc_out_aag(X, b, Z)
addc_in_aag(b, Y, Z) → U15_aag(Y, Z, succZ_in_ag(Y, Z))
U15_aag(Y, Z, succZ_out_ag(Y, Z)) → addc_out_aag(b, Y, Z)
addc_in_aag(X, Y, Z) → U16_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(zero(X), zero(Y), one(Z)) → U23_aag(X, Y, Z, addz_in_aag(X, Y, Z))
U23_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addC_out_aag(zero(X), zero(Y), one(Z))
addC_in_aag(zero(X), one(Y), zero(Z)) → U24_aag(X, Y, Z, addX_in_aag(X, Y, Z))
addX_in_aag(zero(X), b, one(X)) → U17_aag(X, binaryZ_in_g(X))
U17_aag(X, binaryZ_out_g(X)) → addX_out_aag(zero(X), b, one(X))
addX_in_aag(one(X), b, zero(Z)) → U18_aag(X, Z, succ_in_ag(X, Z))
U18_aag(X, Z, succ_out_ag(X, Z)) → addX_out_aag(one(X), b, zero(Z))
addX_in_aag(X, Y, Z) → U19_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(one(X), zero(Y), zero(Z)) → U25_aag(X, Y, Z, addY_in_aag(X, Y, Z))
addY_in_aag(b, zero(Y), one(Y)) → U20_aag(Y, binaryZ_in_g(Y))
U20_aag(Y, binaryZ_out_g(Y)) → addY_out_aag(b, zero(Y), one(Y))
addY_in_aag(b, one(Y), zero(Z)) → U21_aag(Y, Z, succ_in_ag(Y, Z))
U21_aag(Y, Z, succ_out_ag(Y, Z)) → addY_out_aag(b, one(Y), zero(Z))
addY_in_aag(X, Y, Z) → U22_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(one(X), one(Y), one(Z)) → U26_aag(X, Y, Z, addc_in_aag(X, Y, Z))
U26_aag(X, Y, Z, addc_out_aag(X, Y, Z)) → addC_out_aag(one(X), one(Y), one(Z))
U22_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addY_out_aag(X, Y, Z)
U25_aag(X, Y, Z, addY_out_aag(X, Y, Z)) → addC_out_aag(one(X), zero(Y), zero(Z))
U19_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addX_out_aag(X, Y, Z)
U24_aag(X, Y, Z, addX_out_aag(X, Y, Z)) → addC_out_aag(zero(X), one(Y), zero(Z))
U16_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addc_out_aag(X, Y, Z)
U13_aag(X, Y, Z, addc_out_aag(X, Y, Z)) → addz_out_aag(one(X), one(Y), zero(Z))
U9_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addy_out_aag(X, Y, Z)
U12_aag(X, Y, Z, addy_out_aag(X, Y, Z)) → addz_out_aag(one(X), zero(Y), one(Z))
U6_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addx_out_aag(X, Y, Z)
U11_aag(X, Y, Z, addx_out_aag(X, Y, Z)) → addz_out_aag(zero(X), one(Y), one(Z))
U10_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addz_out_aag(zero(X), zero(Y), zero(Z))
U3_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → add_out_aag(X, Y, Z)
BINARYZ_IN_G(one(X)) → BINARY_IN_G(X)
BINARY_IN_G(zero(X)) → BINARYZ_IN_G(X)
BINARYZ_IN_G(zero(X)) → BINARYZ_IN_G(X)
BINARY_IN_G(one(X)) → BINARY_IN_G(X)
BINARYZ_IN_G(one(X)) → BINARY_IN_G(X)
BINARY_IN_G(zero(X)) → BINARYZ_IN_G(X)
BINARYZ_IN_G(zero(X)) → BINARYZ_IN_G(X)
BINARY_IN_G(one(X)) → BINARY_IN_G(X)
From the DPs we obtained the following set of size-change graphs:
SUCC_IN_AG(one(X), zero(Z)) → SUCC_IN_AG(X, Z)
add_in_aag(b, b, b) → add_out_aag(b, b, b)
add_in_aag(X, b, X) → U1_aag(X, binaryZ_in_g(X))
binaryZ_in_g(zero(X)) → U29_g(X, binaryZ_in_g(X))
binaryZ_in_g(one(X)) → U30_g(X, binary_in_g(X))
binary_in_g(b) → binary_out_g(b)
binary_in_g(zero(X)) → U27_g(X, binaryZ_in_g(X))
U27_g(X, binaryZ_out_g(X)) → binary_out_g(zero(X))
binary_in_g(one(X)) → U28_g(X, binary_in_g(X))
U28_g(X, binary_out_g(X)) → binary_out_g(one(X))
U30_g(X, binary_out_g(X)) → binaryZ_out_g(one(X))
U29_g(X, binaryZ_out_g(X)) → binaryZ_out_g(zero(X))
U1_aag(X, binaryZ_out_g(X)) → add_out_aag(X, b, X)
add_in_aag(b, Y, Y) → U2_aag(Y, binaryZ_in_g(Y))
U2_aag(Y, binaryZ_out_g(Y)) → add_out_aag(b, Y, Y)
add_in_aag(X, Y, Z) → U3_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(zero(X), zero(Y), zero(Z)) → U10_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(zero(X), one(Y), one(Z)) → U11_aag(X, Y, Z, addx_in_aag(X, Y, Z))
addx_in_aag(one(X), b, one(X)) → U4_aag(X, binary_in_g(X))
U4_aag(X, binary_out_g(X)) → addx_out_aag(one(X), b, one(X))
addx_in_aag(zero(X), b, zero(X)) → U5_aag(X, binaryZ_in_g(X))
U5_aag(X, binaryZ_out_g(X)) → addx_out_aag(zero(X), b, zero(X))
addx_in_aag(X, Y, Z) → U6_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(one(X), zero(Y), one(Z)) → U12_aag(X, Y, Z, addy_in_aag(X, Y, Z))
addy_in_aag(b, one(Y), one(Y)) → U7_aag(Y, binary_in_g(Y))
U7_aag(Y, binary_out_g(Y)) → addy_out_aag(b, one(Y), one(Y))
addy_in_aag(b, zero(Y), zero(Y)) → U8_aag(Y, binaryZ_in_g(Y))
U8_aag(Y, binaryZ_out_g(Y)) → addy_out_aag(b, zero(Y), zero(Y))
addy_in_aag(X, Y, Z) → U9_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(one(X), one(Y), zero(Z)) → U13_aag(X, Y, Z, addc_in_aag(X, Y, Z))
addc_in_aag(b, b, one(b)) → addc_out_aag(b, b, one(b))
addc_in_aag(X, b, Z) → U14_aag(X, Z, succZ_in_ag(X, Z))
succZ_in_ag(zero(X), one(X)) → U33_ag(X, binaryZ_in_g(X))
U33_ag(X, binaryZ_out_g(X)) → succZ_out_ag(zero(X), one(X))
succZ_in_ag(one(X), zero(Z)) → U34_ag(X, Z, succ_in_ag(X, Z))
succ_in_ag(b, one(b)) → succ_out_ag(b, one(b))
succ_in_ag(zero(X), one(X)) → U31_ag(X, binaryZ_in_g(X))
U31_ag(X, binaryZ_out_g(X)) → succ_out_ag(zero(X), one(X))
succ_in_ag(one(X), zero(Z)) → U32_ag(X, Z, succ_in_ag(X, Z))
U32_ag(X, Z, succ_out_ag(X, Z)) → succ_out_ag(one(X), zero(Z))
U34_ag(X, Z, succ_out_ag(X, Z)) → succZ_out_ag(one(X), zero(Z))
U14_aag(X, Z, succZ_out_ag(X, Z)) → addc_out_aag(X, b, Z)
addc_in_aag(b, Y, Z) → U15_aag(Y, Z, succZ_in_ag(Y, Z))
U15_aag(Y, Z, succZ_out_ag(Y, Z)) → addc_out_aag(b, Y, Z)
addc_in_aag(X, Y, Z) → U16_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(zero(X), zero(Y), one(Z)) → U23_aag(X, Y, Z, addz_in_aag(X, Y, Z))
U23_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addC_out_aag(zero(X), zero(Y), one(Z))
addC_in_aag(zero(X), one(Y), zero(Z)) → U24_aag(X, Y, Z, addX_in_aag(X, Y, Z))
addX_in_aag(zero(X), b, one(X)) → U17_aag(X, binaryZ_in_g(X))
U17_aag(X, binaryZ_out_g(X)) → addX_out_aag(zero(X), b, one(X))
addX_in_aag(one(X), b, zero(Z)) → U18_aag(X, Z, succ_in_ag(X, Z))
U18_aag(X, Z, succ_out_ag(X, Z)) → addX_out_aag(one(X), b, zero(Z))
addX_in_aag(X, Y, Z) → U19_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(one(X), zero(Y), zero(Z)) → U25_aag(X, Y, Z, addY_in_aag(X, Y, Z))
addY_in_aag(b, zero(Y), one(Y)) → U20_aag(Y, binaryZ_in_g(Y))
U20_aag(Y, binaryZ_out_g(Y)) → addY_out_aag(b, zero(Y), one(Y))
addY_in_aag(b, one(Y), zero(Z)) → U21_aag(Y, Z, succ_in_ag(Y, Z))
U21_aag(Y, Z, succ_out_ag(Y, Z)) → addY_out_aag(b, one(Y), zero(Z))
addY_in_aag(X, Y, Z) → U22_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(one(X), one(Y), one(Z)) → U26_aag(X, Y, Z, addc_in_aag(X, Y, Z))
U26_aag(X, Y, Z, addc_out_aag(X, Y, Z)) → addC_out_aag(one(X), one(Y), one(Z))
U22_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addY_out_aag(X, Y, Z)
U25_aag(X, Y, Z, addY_out_aag(X, Y, Z)) → addC_out_aag(one(X), zero(Y), zero(Z))
U19_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addX_out_aag(X, Y, Z)
U24_aag(X, Y, Z, addX_out_aag(X, Y, Z)) → addC_out_aag(zero(X), one(Y), zero(Z))
U16_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addc_out_aag(X, Y, Z)
U13_aag(X, Y, Z, addc_out_aag(X, Y, Z)) → addz_out_aag(one(X), one(Y), zero(Z))
U9_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addy_out_aag(X, Y, Z)
U12_aag(X, Y, Z, addy_out_aag(X, Y, Z)) → addz_out_aag(one(X), zero(Y), one(Z))
U6_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addx_out_aag(X, Y, Z)
U11_aag(X, Y, Z, addx_out_aag(X, Y, Z)) → addz_out_aag(zero(X), one(Y), one(Z))
U10_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addz_out_aag(zero(X), zero(Y), zero(Z))
U3_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → add_out_aag(X, Y, Z)
SUCC_IN_AG(one(X), zero(Z)) → SUCC_IN_AG(X, Z)
SUCC_IN_AG(zero(Z)) → SUCC_IN_AG(Z)
From the DPs we obtained the following set of size-change graphs:
ADDX_IN_AAG(X, Y, Z) → ADDZ_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(zero(X), zero(Y), zero(Z)) → ADDZ_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(zero(X), one(Y), one(Z)) → ADDX_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(one(X), zero(Y), one(Z)) → ADDY_IN_AAG(X, Y, Z)
ADDY_IN_AAG(X, Y, Z) → ADDZ_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(one(X), one(Y), zero(Z)) → ADDC_IN_AAG(X, Y, Z)
ADDC_IN_AAG(X, Y, Z) → ADDC_IN_AAG1(X, Y, Z)
ADDC_IN_AAG1(zero(X), zero(Y), one(Z)) → ADDZ_IN_AAG(X, Y, Z)
ADDC_IN_AAG1(zero(X), one(Y), zero(Z)) → ADDX_IN_AAG1(X, Y, Z)
ADDX_IN_AAG1(X, Y, Z) → ADDC_IN_AAG1(X, Y, Z)
ADDC_IN_AAG1(one(X), zero(Y), zero(Z)) → ADDY_IN_AAG1(X, Y, Z)
ADDY_IN_AAG1(X, Y, Z) → ADDC_IN_AAG1(X, Y, Z)
ADDC_IN_AAG1(one(X), one(Y), one(Z)) → ADDC_IN_AAG(X, Y, Z)
add_in_aag(b, b, b) → add_out_aag(b, b, b)
add_in_aag(X, b, X) → U1_aag(X, binaryZ_in_g(X))
binaryZ_in_g(zero(X)) → U29_g(X, binaryZ_in_g(X))
binaryZ_in_g(one(X)) → U30_g(X, binary_in_g(X))
binary_in_g(b) → binary_out_g(b)
binary_in_g(zero(X)) → U27_g(X, binaryZ_in_g(X))
U27_g(X, binaryZ_out_g(X)) → binary_out_g(zero(X))
binary_in_g(one(X)) → U28_g(X, binary_in_g(X))
U28_g(X, binary_out_g(X)) → binary_out_g(one(X))
U30_g(X, binary_out_g(X)) → binaryZ_out_g(one(X))
U29_g(X, binaryZ_out_g(X)) → binaryZ_out_g(zero(X))
U1_aag(X, binaryZ_out_g(X)) → add_out_aag(X, b, X)
add_in_aag(b, Y, Y) → U2_aag(Y, binaryZ_in_g(Y))
U2_aag(Y, binaryZ_out_g(Y)) → add_out_aag(b, Y, Y)
add_in_aag(X, Y, Z) → U3_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(zero(X), zero(Y), zero(Z)) → U10_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(zero(X), one(Y), one(Z)) → U11_aag(X, Y, Z, addx_in_aag(X, Y, Z))
addx_in_aag(one(X), b, one(X)) → U4_aag(X, binary_in_g(X))
U4_aag(X, binary_out_g(X)) → addx_out_aag(one(X), b, one(X))
addx_in_aag(zero(X), b, zero(X)) → U5_aag(X, binaryZ_in_g(X))
U5_aag(X, binaryZ_out_g(X)) → addx_out_aag(zero(X), b, zero(X))
addx_in_aag(X, Y, Z) → U6_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(one(X), zero(Y), one(Z)) → U12_aag(X, Y, Z, addy_in_aag(X, Y, Z))
addy_in_aag(b, one(Y), one(Y)) → U7_aag(Y, binary_in_g(Y))
U7_aag(Y, binary_out_g(Y)) → addy_out_aag(b, one(Y), one(Y))
addy_in_aag(b, zero(Y), zero(Y)) → U8_aag(Y, binaryZ_in_g(Y))
U8_aag(Y, binaryZ_out_g(Y)) → addy_out_aag(b, zero(Y), zero(Y))
addy_in_aag(X, Y, Z) → U9_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(one(X), one(Y), zero(Z)) → U13_aag(X, Y, Z, addc_in_aag(X, Y, Z))
addc_in_aag(b, b, one(b)) → addc_out_aag(b, b, one(b))
addc_in_aag(X, b, Z) → U14_aag(X, Z, succZ_in_ag(X, Z))
succZ_in_ag(zero(X), one(X)) → U33_ag(X, binaryZ_in_g(X))
U33_ag(X, binaryZ_out_g(X)) → succZ_out_ag(zero(X), one(X))
succZ_in_ag(one(X), zero(Z)) → U34_ag(X, Z, succ_in_ag(X, Z))
succ_in_ag(b, one(b)) → succ_out_ag(b, one(b))
succ_in_ag(zero(X), one(X)) → U31_ag(X, binaryZ_in_g(X))
U31_ag(X, binaryZ_out_g(X)) → succ_out_ag(zero(X), one(X))
succ_in_ag(one(X), zero(Z)) → U32_ag(X, Z, succ_in_ag(X, Z))
U32_ag(X, Z, succ_out_ag(X, Z)) → succ_out_ag(one(X), zero(Z))
U34_ag(X, Z, succ_out_ag(X, Z)) → succZ_out_ag(one(X), zero(Z))
U14_aag(X, Z, succZ_out_ag(X, Z)) → addc_out_aag(X, b, Z)
addc_in_aag(b, Y, Z) → U15_aag(Y, Z, succZ_in_ag(Y, Z))
U15_aag(Y, Z, succZ_out_ag(Y, Z)) → addc_out_aag(b, Y, Z)
addc_in_aag(X, Y, Z) → U16_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(zero(X), zero(Y), one(Z)) → U23_aag(X, Y, Z, addz_in_aag(X, Y, Z))
U23_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addC_out_aag(zero(X), zero(Y), one(Z))
addC_in_aag(zero(X), one(Y), zero(Z)) → U24_aag(X, Y, Z, addX_in_aag(X, Y, Z))
addX_in_aag(zero(X), b, one(X)) → U17_aag(X, binaryZ_in_g(X))
U17_aag(X, binaryZ_out_g(X)) → addX_out_aag(zero(X), b, one(X))
addX_in_aag(one(X), b, zero(Z)) → U18_aag(X, Z, succ_in_ag(X, Z))
U18_aag(X, Z, succ_out_ag(X, Z)) → addX_out_aag(one(X), b, zero(Z))
addX_in_aag(X, Y, Z) → U19_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(one(X), zero(Y), zero(Z)) → U25_aag(X, Y, Z, addY_in_aag(X, Y, Z))
addY_in_aag(b, zero(Y), one(Y)) → U20_aag(Y, binaryZ_in_g(Y))
U20_aag(Y, binaryZ_out_g(Y)) → addY_out_aag(b, zero(Y), one(Y))
addY_in_aag(b, one(Y), zero(Z)) → U21_aag(Y, Z, succ_in_ag(Y, Z))
U21_aag(Y, Z, succ_out_ag(Y, Z)) → addY_out_aag(b, one(Y), zero(Z))
addY_in_aag(X, Y, Z) → U22_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(one(X), one(Y), one(Z)) → U26_aag(X, Y, Z, addc_in_aag(X, Y, Z))
U26_aag(X, Y, Z, addc_out_aag(X, Y, Z)) → addC_out_aag(one(X), one(Y), one(Z))
U22_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addY_out_aag(X, Y, Z)
U25_aag(X, Y, Z, addY_out_aag(X, Y, Z)) → addC_out_aag(one(X), zero(Y), zero(Z))
U19_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addX_out_aag(X, Y, Z)
U24_aag(X, Y, Z, addX_out_aag(X, Y, Z)) → addC_out_aag(zero(X), one(Y), zero(Z))
U16_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addc_out_aag(X, Y, Z)
U13_aag(X, Y, Z, addc_out_aag(X, Y, Z)) → addz_out_aag(one(X), one(Y), zero(Z))
U9_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addy_out_aag(X, Y, Z)
U12_aag(X, Y, Z, addy_out_aag(X, Y, Z)) → addz_out_aag(one(X), zero(Y), one(Z))
U6_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addx_out_aag(X, Y, Z)
U11_aag(X, Y, Z, addx_out_aag(X, Y, Z)) → addz_out_aag(zero(X), one(Y), one(Z))
U10_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addz_out_aag(zero(X), zero(Y), zero(Z))
U3_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → add_out_aag(X, Y, Z)
ADDX_IN_AAG(X, Y, Z) → ADDZ_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(zero(X), zero(Y), zero(Z)) → ADDZ_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(zero(X), one(Y), one(Z)) → ADDX_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(one(X), zero(Y), one(Z)) → ADDY_IN_AAG(X, Y, Z)
ADDY_IN_AAG(X, Y, Z) → ADDZ_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(one(X), one(Y), zero(Z)) → ADDC_IN_AAG(X, Y, Z)
ADDC_IN_AAG(X, Y, Z) → ADDC_IN_AAG1(X, Y, Z)
ADDC_IN_AAG1(zero(X), zero(Y), one(Z)) → ADDZ_IN_AAG(X, Y, Z)
ADDC_IN_AAG1(zero(X), one(Y), zero(Z)) → ADDX_IN_AAG1(X, Y, Z)
ADDX_IN_AAG1(X, Y, Z) → ADDC_IN_AAG1(X, Y, Z)
ADDC_IN_AAG1(one(X), zero(Y), zero(Z)) → ADDY_IN_AAG1(X, Y, Z)
ADDY_IN_AAG1(X, Y, Z) → ADDC_IN_AAG1(X, Y, Z)
ADDC_IN_AAG1(one(X), one(Y), one(Z)) → ADDC_IN_AAG(X, Y, Z)
ADDX_IN_AAG(Z) → ADDZ_IN_AAG(Z)
ADDZ_IN_AAG(zero(Z)) → ADDZ_IN_AAG(Z)
ADDZ_IN_AAG(one(Z)) → ADDX_IN_AAG(Z)
ADDZ_IN_AAG(one(Z)) → ADDY_IN_AAG(Z)
ADDY_IN_AAG(Z) → ADDZ_IN_AAG(Z)
ADDZ_IN_AAG(zero(Z)) → ADDC_IN_AAG(Z)
ADDC_IN_AAG(Z) → ADDC_IN_AAG1(Z)
ADDC_IN_AAG1(one(Z)) → ADDZ_IN_AAG(Z)
ADDC_IN_AAG1(zero(Z)) → ADDX_IN_AAG1(Z)
ADDX_IN_AAG1(Z) → ADDC_IN_AAG1(Z)
ADDC_IN_AAG1(zero(Z)) → ADDY_IN_AAG1(Z)
ADDY_IN_AAG1(Z) → ADDC_IN_AAG1(Z)
ADDC_IN_AAG1(one(Z)) → ADDC_IN_AAG(Z)
add_in_aag(b, b, b) → add_out_aag(b, b, b)
add_in_aag(X, b, X) → U1_aag(X, binaryZ_in_g(X))
binaryZ_in_g(zero(X)) → U29_g(X, binaryZ_in_g(X))
binaryZ_in_g(one(X)) → U30_g(X, binary_in_g(X))
binary_in_g(b) → binary_out_g(b)
binary_in_g(zero(X)) → U27_g(X, binaryZ_in_g(X))
U27_g(X, binaryZ_out_g(X)) → binary_out_g(zero(X))
binary_in_g(one(X)) → U28_g(X, binary_in_g(X))
U28_g(X, binary_out_g(X)) → binary_out_g(one(X))
U30_g(X, binary_out_g(X)) → binaryZ_out_g(one(X))
U29_g(X, binaryZ_out_g(X)) → binaryZ_out_g(zero(X))
U1_aag(X, binaryZ_out_g(X)) → add_out_aag(X, b, X)
add_in_aag(b, Y, Y) → U2_aag(Y, binaryZ_in_g(Y))
U2_aag(Y, binaryZ_out_g(Y)) → add_out_aag(b, Y, Y)
add_in_aag(X, Y, Z) → U3_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(zero(X), zero(Y), zero(Z)) → U10_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(zero(X), one(Y), one(Z)) → U11_aag(X, Y, Z, addx_in_aag(X, Y, Z))
addx_in_aag(one(X), b, one(X)) → U4_aag(X, binary_in_g(X))
U4_aag(X, binary_out_g(X)) → addx_out_aag(one(X), b, one(X))
addx_in_aag(zero(X), b, zero(X)) → U5_aag(X, binaryZ_in_g(X))
U5_aag(X, binaryZ_out_g(X)) → addx_out_aag(zero(X), b, zero(X))
addx_in_aag(X, Y, Z) → U6_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(one(X), zero(Y), one(Z)) → U12_aag(X, Y, Z, addy_in_aag(X, Y, Z))
addy_in_aag(b, one(Y), one(Y)) → U7_aag(Y, binary_in_g(Y))
U7_aag(Y, binary_out_g(Y)) → addy_out_aag(b, one(Y), one(Y))
addy_in_aag(b, zero(Y), zero(Y)) → U8_aag(Y, binaryZ_in_g(Y))
U8_aag(Y, binaryZ_out_g(Y)) → addy_out_aag(b, zero(Y), zero(Y))
addy_in_aag(X, Y, Z) → U9_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(one(X), one(Y), zero(Z)) → U13_aag(X, Y, Z, addc_in_aag(X, Y, Z))
addc_in_aag(b, b, one(b)) → addc_out_aag(b, b, one(b))
addc_in_aag(X, b, Z) → U14_aag(X, Z, succZ_in_ag(X, Z))
succZ_in_ag(zero(X), one(X)) → U33_ag(X, binaryZ_in_g(X))
U33_ag(X, binaryZ_out_g(X)) → succZ_out_ag(zero(X), one(X))
succZ_in_ag(one(X), zero(Z)) → U34_ag(X, Z, succ_in_ag(X, Z))
succ_in_ag(b, one(b)) → succ_out_ag(b, one(b))
succ_in_ag(zero(X), one(X)) → U31_ag(X, binaryZ_in_g(X))
U31_ag(X, binaryZ_out_g(X)) → succ_out_ag(zero(X), one(X))
succ_in_ag(one(X), zero(Z)) → U32_ag(X, Z, succ_in_ag(X, Z))
U32_ag(X, Z, succ_out_ag(X, Z)) → succ_out_ag(one(X), zero(Z))
U34_ag(X, Z, succ_out_ag(X, Z)) → succZ_out_ag(one(X), zero(Z))
U14_aag(X, Z, succZ_out_ag(X, Z)) → addc_out_aag(X, b, Z)
addc_in_aag(b, Y, Z) → U15_aag(Y, Z, succZ_in_ag(Y, Z))
U15_aag(Y, Z, succZ_out_ag(Y, Z)) → addc_out_aag(b, Y, Z)
addc_in_aag(X, Y, Z) → U16_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(zero(X), zero(Y), one(Z)) → U23_aag(X, Y, Z, addz_in_aag(X, Y, Z))
U23_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addC_out_aag(zero(X), zero(Y), one(Z))
addC_in_aag(zero(X), one(Y), zero(Z)) → U24_aag(X, Y, Z, addX_in_aag(X, Y, Z))
addX_in_aag(zero(X), b, one(X)) → U17_aag(X, binaryZ_in_g(X))
U17_aag(X, binaryZ_out_g(X)) → addX_out_aag(zero(X), b, one(X))
addX_in_aag(one(X), b, zero(Z)) → U18_aag(X, Z, succ_in_ag(X, Z))
U18_aag(X, Z, succ_out_ag(X, Z)) → addX_out_aag(one(X), b, zero(Z))
addX_in_aag(X, Y, Z) → U19_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(one(X), zero(Y), zero(Z)) → U25_aag(X, Y, Z, addY_in_aag(X, Y, Z))
addY_in_aag(b, zero(Y), one(Y)) → U20_aag(Y, binaryZ_in_g(Y))
U20_aag(Y, binaryZ_out_g(Y)) → addY_out_aag(b, zero(Y), one(Y))
addY_in_aag(b, one(Y), zero(Z)) → U21_aag(Y, Z, succ_in_ag(Y, Z))
U21_aag(Y, Z, succ_out_ag(Y, Z)) → addY_out_aag(b, one(Y), zero(Z))
addY_in_aag(X, Y, Z) → U22_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(one(X), one(Y), one(Z)) → U26_aag(X, Y, Z, addc_in_aag(X, Y, Z))
U26_aag(X, Y, Z, addc_out_aag(X, Y, Z)) → addC_out_aag(one(X), one(Y), one(Z))
U22_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addY_out_aag(X, Y, Z)
U25_aag(X, Y, Z, addY_out_aag(X, Y, Z)) → addC_out_aag(one(X), zero(Y), zero(Z))
U19_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addX_out_aag(X, Y, Z)
U24_aag(X, Y, Z, addX_out_aag(X, Y, Z)) → addC_out_aag(zero(X), one(Y), zero(Z))
U16_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addc_out_aag(X, Y, Z)
U13_aag(X, Y, Z, addc_out_aag(X, Y, Z)) → addz_out_aag(one(X), one(Y), zero(Z))
U9_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addy_out_aag(X, Y, Z)
U12_aag(X, Y, Z, addy_out_aag(X, Y, Z)) → addz_out_aag(one(X), zero(Y), one(Z))
U6_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addx_out_aag(X, Y, Z)
U11_aag(X, Y, Z, addx_out_aag(X, Y, Z)) → addz_out_aag(zero(X), one(Y), one(Z))
U10_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addz_out_aag(zero(X), zero(Y), zero(Z))
U3_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → add_out_aag(X, Y, Z)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
add_in_aag(b, b, b) → add_out_aag(b, b, b)
add_in_aag(X, b, X) → U1_aag(X, binaryZ_in_g(X))
binaryZ_in_g(zero(X)) → U29_g(X, binaryZ_in_g(X))
binaryZ_in_g(one(X)) → U30_g(X, binary_in_g(X))
binary_in_g(b) → binary_out_g(b)
binary_in_g(zero(X)) → U27_g(X, binaryZ_in_g(X))
U27_g(X, binaryZ_out_g(X)) → binary_out_g(zero(X))
binary_in_g(one(X)) → U28_g(X, binary_in_g(X))
U28_g(X, binary_out_g(X)) → binary_out_g(one(X))
U30_g(X, binary_out_g(X)) → binaryZ_out_g(one(X))
U29_g(X, binaryZ_out_g(X)) → binaryZ_out_g(zero(X))
U1_aag(X, binaryZ_out_g(X)) → add_out_aag(X, b, X)
add_in_aag(b, Y, Y) → U2_aag(Y, binaryZ_in_g(Y))
U2_aag(Y, binaryZ_out_g(Y)) → add_out_aag(b, Y, Y)
add_in_aag(X, Y, Z) → U3_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(zero(X), zero(Y), zero(Z)) → U10_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(zero(X), one(Y), one(Z)) → U11_aag(X, Y, Z, addx_in_aag(X, Y, Z))
addx_in_aag(one(X), b, one(X)) → U4_aag(X, binary_in_g(X))
U4_aag(X, binary_out_g(X)) → addx_out_aag(one(X), b, one(X))
addx_in_aag(zero(X), b, zero(X)) → U5_aag(X, binaryZ_in_g(X))
U5_aag(X, binaryZ_out_g(X)) → addx_out_aag(zero(X), b, zero(X))
addx_in_aag(X, Y, Z) → U6_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(one(X), zero(Y), one(Z)) → U12_aag(X, Y, Z, addy_in_aag(X, Y, Z))
addy_in_aag(b, one(Y), one(Y)) → U7_aag(Y, binary_in_g(Y))
U7_aag(Y, binary_out_g(Y)) → addy_out_aag(b, one(Y), one(Y))
addy_in_aag(b, zero(Y), zero(Y)) → U8_aag(Y, binaryZ_in_g(Y))
U8_aag(Y, binaryZ_out_g(Y)) → addy_out_aag(b, zero(Y), zero(Y))
addy_in_aag(X, Y, Z) → U9_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(one(X), one(Y), zero(Z)) → U13_aag(X, Y, Z, addc_in_aag(X, Y, Z))
addc_in_aag(b, b, one(b)) → addc_out_aag(b, b, one(b))
addc_in_aag(X, b, Z) → U14_aag(X, Z, succZ_in_ag(X, Z))
succZ_in_ag(zero(X), one(X)) → U33_ag(X, binaryZ_in_g(X))
U33_ag(X, binaryZ_out_g(X)) → succZ_out_ag(zero(X), one(X))
succZ_in_ag(one(X), zero(Z)) → U34_ag(X, Z, succ_in_ag(X, Z))
succ_in_ag(b, one(b)) → succ_out_ag(b, one(b))
succ_in_ag(zero(X), one(X)) → U31_ag(X, binaryZ_in_g(X))
U31_ag(X, binaryZ_out_g(X)) → succ_out_ag(zero(X), one(X))
succ_in_ag(one(X), zero(Z)) → U32_ag(X, Z, succ_in_ag(X, Z))
U32_ag(X, Z, succ_out_ag(X, Z)) → succ_out_ag(one(X), zero(Z))
U34_ag(X, Z, succ_out_ag(X, Z)) → succZ_out_ag(one(X), zero(Z))
U14_aag(X, Z, succZ_out_ag(X, Z)) → addc_out_aag(X, b, Z)
addc_in_aag(b, Y, Z) → U15_aag(Y, Z, succZ_in_ag(Y, Z))
U15_aag(Y, Z, succZ_out_ag(Y, Z)) → addc_out_aag(b, Y, Z)
addc_in_aag(X, Y, Z) → U16_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(zero(X), zero(Y), one(Z)) → U23_aag(X, Y, Z, addz_in_aag(X, Y, Z))
U23_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addC_out_aag(zero(X), zero(Y), one(Z))
addC_in_aag(zero(X), one(Y), zero(Z)) → U24_aag(X, Y, Z, addX_in_aag(X, Y, Z))
addX_in_aag(zero(X), b, one(X)) → U17_aag(X, binaryZ_in_g(X))
U17_aag(X, binaryZ_out_g(X)) → addX_out_aag(zero(X), b, one(X))
addX_in_aag(one(X), b, zero(Z)) → U18_aag(X, Z, succ_in_ag(X, Z))
U18_aag(X, Z, succ_out_ag(X, Z)) → addX_out_aag(one(X), b, zero(Z))
addX_in_aag(X, Y, Z) → U19_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(one(X), zero(Y), zero(Z)) → U25_aag(X, Y, Z, addY_in_aag(X, Y, Z))
addY_in_aag(b, zero(Y), one(Y)) → U20_aag(Y, binaryZ_in_g(Y))
U20_aag(Y, binaryZ_out_g(Y)) → addY_out_aag(b, zero(Y), one(Y))
addY_in_aag(b, one(Y), zero(Z)) → U21_aag(Y, Z, succ_in_ag(Y, Z))
U21_aag(Y, Z, succ_out_ag(Y, Z)) → addY_out_aag(b, one(Y), zero(Z))
addY_in_aag(X, Y, Z) → U22_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(one(X), one(Y), one(Z)) → U26_aag(X, Y, Z, addc_in_aag(X, Y, Z))
U26_aag(X, Y, Z, addc_out_aag(X, Y, Z)) → addC_out_aag(one(X), one(Y), one(Z))
U22_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addY_out_aag(X, Y, Z)
U25_aag(X, Y, Z, addY_out_aag(X, Y, Z)) → addC_out_aag(one(X), zero(Y), zero(Z))
U19_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addX_out_aag(X, Y, Z)
U24_aag(X, Y, Z, addX_out_aag(X, Y, Z)) → addC_out_aag(zero(X), one(Y), zero(Z))
U16_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addc_out_aag(X, Y, Z)
U13_aag(X, Y, Z, addc_out_aag(X, Y, Z)) → addz_out_aag(one(X), one(Y), zero(Z))
U9_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addy_out_aag(X, Y, Z)
U12_aag(X, Y, Z, addy_out_aag(X, Y, Z)) → addz_out_aag(one(X), zero(Y), one(Z))
U6_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addx_out_aag(X, Y, Z)
U11_aag(X, Y, Z, addx_out_aag(X, Y, Z)) → addz_out_aag(zero(X), one(Y), one(Z))
U10_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addz_out_aag(zero(X), zero(Y), zero(Z))
U3_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → add_out_aag(X, Y, Z)
ADD_IN_AAG(X, b, X) → U1_AAG(X, binaryZ_in_g(X))
ADD_IN_AAG(X, b, X) → BINARYZ_IN_G(X)
BINARYZ_IN_G(zero(X)) → U29_G(X, binaryZ_in_g(X))
BINARYZ_IN_G(zero(X)) → BINARYZ_IN_G(X)
BINARYZ_IN_G(one(X)) → U30_G(X, binary_in_g(X))
BINARYZ_IN_G(one(X)) → BINARY_IN_G(X)
BINARY_IN_G(zero(X)) → U27_G(X, binaryZ_in_g(X))
BINARY_IN_G(zero(X)) → BINARYZ_IN_G(X)
BINARY_IN_G(one(X)) → U28_G(X, binary_in_g(X))
BINARY_IN_G(one(X)) → BINARY_IN_G(X)
ADD_IN_AAG(b, Y, Y) → U2_AAG(Y, binaryZ_in_g(Y))
ADD_IN_AAG(b, Y, Y) → BINARYZ_IN_G(Y)
ADD_IN_AAG(X, Y, Z) → U3_AAG(X, Y, Z, addz_in_aag(X, Y, Z))
ADD_IN_AAG(X, Y, Z) → ADDZ_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(zero(X), zero(Y), zero(Z)) → U10_AAG(X, Y, Z, addz_in_aag(X, Y, Z))
ADDZ_IN_AAG(zero(X), zero(Y), zero(Z)) → ADDZ_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(zero(X), one(Y), one(Z)) → U11_AAG(X, Y, Z, addx_in_aag(X, Y, Z))
ADDZ_IN_AAG(zero(X), one(Y), one(Z)) → ADDX_IN_AAG(X, Y, Z)
ADDX_IN_AAG(one(X), b, one(X)) → U4_AAG(X, binary_in_g(X))
ADDX_IN_AAG(one(X), b, one(X)) → BINARY_IN_G(X)
ADDX_IN_AAG(zero(X), b, zero(X)) → U5_AAG(X, binaryZ_in_g(X))
ADDX_IN_AAG(zero(X), b, zero(X)) → BINARYZ_IN_G(X)
ADDX_IN_AAG(X, Y, Z) → U6_AAG(X, Y, Z, addz_in_aag(X, Y, Z))
ADDX_IN_AAG(X, Y, Z) → ADDZ_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(one(X), zero(Y), one(Z)) → U12_AAG(X, Y, Z, addy_in_aag(X, Y, Z))
ADDZ_IN_AAG(one(X), zero(Y), one(Z)) → ADDY_IN_AAG(X, Y, Z)
ADDY_IN_AAG(b, one(Y), one(Y)) → U7_AAG(Y, binary_in_g(Y))
ADDY_IN_AAG(b, one(Y), one(Y)) → BINARY_IN_G(Y)
ADDY_IN_AAG(b, zero(Y), zero(Y)) → U8_AAG(Y, binaryZ_in_g(Y))
ADDY_IN_AAG(b, zero(Y), zero(Y)) → BINARYZ_IN_G(Y)
ADDY_IN_AAG(X, Y, Z) → U9_AAG(X, Y, Z, addz_in_aag(X, Y, Z))
ADDY_IN_AAG(X, Y, Z) → ADDZ_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(one(X), one(Y), zero(Z)) → U13_AAG(X, Y, Z, addc_in_aag(X, Y, Z))
ADDZ_IN_AAG(one(X), one(Y), zero(Z)) → ADDC_IN_AAG(X, Y, Z)
ADDC_IN_AAG(X, b, Z) → U14_AAG(X, Z, succZ_in_ag(X, Z))
ADDC_IN_AAG(X, b, Z) → SUCCZ_IN_AG(X, Z)
SUCCZ_IN_AG(zero(X), one(X)) → U33_AG(X, binaryZ_in_g(X))
SUCCZ_IN_AG(zero(X), one(X)) → BINARYZ_IN_G(X)
SUCCZ_IN_AG(one(X), zero(Z)) → U34_AG(X, Z, succ_in_ag(X, Z))
SUCCZ_IN_AG(one(X), zero(Z)) → SUCC_IN_AG(X, Z)
SUCC_IN_AG(zero(X), one(X)) → U31_AG(X, binaryZ_in_g(X))
SUCC_IN_AG(zero(X), one(X)) → BINARYZ_IN_G(X)
SUCC_IN_AG(one(X), zero(Z)) → U32_AG(X, Z, succ_in_ag(X, Z))
SUCC_IN_AG(one(X), zero(Z)) → SUCC_IN_AG(X, Z)
ADDC_IN_AAG(b, Y, Z) → U15_AAG(Y, Z, succZ_in_ag(Y, Z))
ADDC_IN_AAG(b, Y, Z) → SUCCZ_IN_AG(Y, Z)
ADDC_IN_AAG(X, Y, Z) → U16_AAG(X, Y, Z, addC_in_aag(X, Y, Z))
ADDC_IN_AAG(X, Y, Z) → ADDC_IN_AAG1(X, Y, Z)
ADDC_IN_AAG1(zero(X), zero(Y), one(Z)) → U23_AAG(X, Y, Z, addz_in_aag(X, Y, Z))
ADDC_IN_AAG1(zero(X), zero(Y), one(Z)) → ADDZ_IN_AAG(X, Y, Z)
ADDC_IN_AAG1(zero(X), one(Y), zero(Z)) → U24_AAG(X, Y, Z, addX_in_aag(X, Y, Z))
ADDC_IN_AAG1(zero(X), one(Y), zero(Z)) → ADDX_IN_AAG1(X, Y, Z)
ADDX_IN_AAG1(zero(X), b, one(X)) → U17_AAG(X, binaryZ_in_g(X))
ADDX_IN_AAG1(zero(X), b, one(X)) → BINARYZ_IN_G(X)
ADDX_IN_AAG1(one(X), b, zero(Z)) → U18_AAG(X, Z, succ_in_ag(X, Z))
ADDX_IN_AAG1(one(X), b, zero(Z)) → SUCC_IN_AG(X, Z)
ADDX_IN_AAG1(X, Y, Z) → U19_AAG(X, Y, Z, addC_in_aag(X, Y, Z))
ADDX_IN_AAG1(X, Y, Z) → ADDC_IN_AAG1(X, Y, Z)
ADDC_IN_AAG1(one(X), zero(Y), zero(Z)) → U25_AAG(X, Y, Z, addY_in_aag(X, Y, Z))
ADDC_IN_AAG1(one(X), zero(Y), zero(Z)) → ADDY_IN_AAG1(X, Y, Z)
ADDY_IN_AAG1(b, zero(Y), one(Y)) → U20_AAG(Y, binaryZ_in_g(Y))
ADDY_IN_AAG1(b, zero(Y), one(Y)) → BINARYZ_IN_G(Y)
ADDY_IN_AAG1(b, one(Y), zero(Z)) → U21_AAG(Y, Z, succ_in_ag(Y, Z))
ADDY_IN_AAG1(b, one(Y), zero(Z)) → SUCC_IN_AG(Y, Z)
ADDY_IN_AAG1(X, Y, Z) → U22_AAG(X, Y, Z, addC_in_aag(X, Y, Z))
ADDY_IN_AAG1(X, Y, Z) → ADDC_IN_AAG1(X, Y, Z)
ADDC_IN_AAG1(one(X), one(Y), one(Z)) → U26_AAG(X, Y, Z, addc_in_aag(X, Y, Z))
ADDC_IN_AAG1(one(X), one(Y), one(Z)) → ADDC_IN_AAG(X, Y, Z)
add_in_aag(b, b, b) → add_out_aag(b, b, b)
add_in_aag(X, b, X) → U1_aag(X, binaryZ_in_g(X))
binaryZ_in_g(zero(X)) → U29_g(X, binaryZ_in_g(X))
binaryZ_in_g(one(X)) → U30_g(X, binary_in_g(X))
binary_in_g(b) → binary_out_g(b)
binary_in_g(zero(X)) → U27_g(X, binaryZ_in_g(X))
U27_g(X, binaryZ_out_g(X)) → binary_out_g(zero(X))
binary_in_g(one(X)) → U28_g(X, binary_in_g(X))
U28_g(X, binary_out_g(X)) → binary_out_g(one(X))
U30_g(X, binary_out_g(X)) → binaryZ_out_g(one(X))
U29_g(X, binaryZ_out_g(X)) → binaryZ_out_g(zero(X))
U1_aag(X, binaryZ_out_g(X)) → add_out_aag(X, b, X)
add_in_aag(b, Y, Y) → U2_aag(Y, binaryZ_in_g(Y))
U2_aag(Y, binaryZ_out_g(Y)) → add_out_aag(b, Y, Y)
add_in_aag(X, Y, Z) → U3_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(zero(X), zero(Y), zero(Z)) → U10_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(zero(X), one(Y), one(Z)) → U11_aag(X, Y, Z, addx_in_aag(X, Y, Z))
addx_in_aag(one(X), b, one(X)) → U4_aag(X, binary_in_g(X))
U4_aag(X, binary_out_g(X)) → addx_out_aag(one(X), b, one(X))
addx_in_aag(zero(X), b, zero(X)) → U5_aag(X, binaryZ_in_g(X))
U5_aag(X, binaryZ_out_g(X)) → addx_out_aag(zero(X), b, zero(X))
addx_in_aag(X, Y, Z) → U6_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(one(X), zero(Y), one(Z)) → U12_aag(X, Y, Z, addy_in_aag(X, Y, Z))
addy_in_aag(b, one(Y), one(Y)) → U7_aag(Y, binary_in_g(Y))
U7_aag(Y, binary_out_g(Y)) → addy_out_aag(b, one(Y), one(Y))
addy_in_aag(b, zero(Y), zero(Y)) → U8_aag(Y, binaryZ_in_g(Y))
U8_aag(Y, binaryZ_out_g(Y)) → addy_out_aag(b, zero(Y), zero(Y))
addy_in_aag(X, Y, Z) → U9_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(one(X), one(Y), zero(Z)) → U13_aag(X, Y, Z, addc_in_aag(X, Y, Z))
addc_in_aag(b, b, one(b)) → addc_out_aag(b, b, one(b))
addc_in_aag(X, b, Z) → U14_aag(X, Z, succZ_in_ag(X, Z))
succZ_in_ag(zero(X), one(X)) → U33_ag(X, binaryZ_in_g(X))
U33_ag(X, binaryZ_out_g(X)) → succZ_out_ag(zero(X), one(X))
succZ_in_ag(one(X), zero(Z)) → U34_ag(X, Z, succ_in_ag(X, Z))
succ_in_ag(b, one(b)) → succ_out_ag(b, one(b))
succ_in_ag(zero(X), one(X)) → U31_ag(X, binaryZ_in_g(X))
U31_ag(X, binaryZ_out_g(X)) → succ_out_ag(zero(X), one(X))
succ_in_ag(one(X), zero(Z)) → U32_ag(X, Z, succ_in_ag(X, Z))
U32_ag(X, Z, succ_out_ag(X, Z)) → succ_out_ag(one(X), zero(Z))
U34_ag(X, Z, succ_out_ag(X, Z)) → succZ_out_ag(one(X), zero(Z))
U14_aag(X, Z, succZ_out_ag(X, Z)) → addc_out_aag(X, b, Z)
addc_in_aag(b, Y, Z) → U15_aag(Y, Z, succZ_in_ag(Y, Z))
U15_aag(Y, Z, succZ_out_ag(Y, Z)) → addc_out_aag(b, Y, Z)
addc_in_aag(X, Y, Z) → U16_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(zero(X), zero(Y), one(Z)) → U23_aag(X, Y, Z, addz_in_aag(X, Y, Z))
U23_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addC_out_aag(zero(X), zero(Y), one(Z))
addC_in_aag(zero(X), one(Y), zero(Z)) → U24_aag(X, Y, Z, addX_in_aag(X, Y, Z))
addX_in_aag(zero(X), b, one(X)) → U17_aag(X, binaryZ_in_g(X))
U17_aag(X, binaryZ_out_g(X)) → addX_out_aag(zero(X), b, one(X))
addX_in_aag(one(X), b, zero(Z)) → U18_aag(X, Z, succ_in_ag(X, Z))
U18_aag(X, Z, succ_out_ag(X, Z)) → addX_out_aag(one(X), b, zero(Z))
addX_in_aag(X, Y, Z) → U19_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(one(X), zero(Y), zero(Z)) → U25_aag(X, Y, Z, addY_in_aag(X, Y, Z))
addY_in_aag(b, zero(Y), one(Y)) → U20_aag(Y, binaryZ_in_g(Y))
U20_aag(Y, binaryZ_out_g(Y)) → addY_out_aag(b, zero(Y), one(Y))
addY_in_aag(b, one(Y), zero(Z)) → U21_aag(Y, Z, succ_in_ag(Y, Z))
U21_aag(Y, Z, succ_out_ag(Y, Z)) → addY_out_aag(b, one(Y), zero(Z))
addY_in_aag(X, Y, Z) → U22_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(one(X), one(Y), one(Z)) → U26_aag(X, Y, Z, addc_in_aag(X, Y, Z))
U26_aag(X, Y, Z, addc_out_aag(X, Y, Z)) → addC_out_aag(one(X), one(Y), one(Z))
U22_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addY_out_aag(X, Y, Z)
U25_aag(X, Y, Z, addY_out_aag(X, Y, Z)) → addC_out_aag(one(X), zero(Y), zero(Z))
U19_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addX_out_aag(X, Y, Z)
U24_aag(X, Y, Z, addX_out_aag(X, Y, Z)) → addC_out_aag(zero(X), one(Y), zero(Z))
U16_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addc_out_aag(X, Y, Z)
U13_aag(X, Y, Z, addc_out_aag(X, Y, Z)) → addz_out_aag(one(X), one(Y), zero(Z))
U9_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addy_out_aag(X, Y, Z)
U12_aag(X, Y, Z, addy_out_aag(X, Y, Z)) → addz_out_aag(one(X), zero(Y), one(Z))
U6_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addx_out_aag(X, Y, Z)
U11_aag(X, Y, Z, addx_out_aag(X, Y, Z)) → addz_out_aag(zero(X), one(Y), one(Z))
U10_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addz_out_aag(zero(X), zero(Y), zero(Z))
U3_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → add_out_aag(X, Y, Z)
ADD_IN_AAG(X, b, X) → U1_AAG(X, binaryZ_in_g(X))
ADD_IN_AAG(X, b, X) → BINARYZ_IN_G(X)
BINARYZ_IN_G(zero(X)) → U29_G(X, binaryZ_in_g(X))
BINARYZ_IN_G(zero(X)) → BINARYZ_IN_G(X)
BINARYZ_IN_G(one(X)) → U30_G(X, binary_in_g(X))
BINARYZ_IN_G(one(X)) → BINARY_IN_G(X)
BINARY_IN_G(zero(X)) → U27_G(X, binaryZ_in_g(X))
BINARY_IN_G(zero(X)) → BINARYZ_IN_G(X)
BINARY_IN_G(one(X)) → U28_G(X, binary_in_g(X))
BINARY_IN_G(one(X)) → BINARY_IN_G(X)
ADD_IN_AAG(b, Y, Y) → U2_AAG(Y, binaryZ_in_g(Y))
ADD_IN_AAG(b, Y, Y) → BINARYZ_IN_G(Y)
ADD_IN_AAG(X, Y, Z) → U3_AAG(X, Y, Z, addz_in_aag(X, Y, Z))
ADD_IN_AAG(X, Y, Z) → ADDZ_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(zero(X), zero(Y), zero(Z)) → U10_AAG(X, Y, Z, addz_in_aag(X, Y, Z))
ADDZ_IN_AAG(zero(X), zero(Y), zero(Z)) → ADDZ_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(zero(X), one(Y), one(Z)) → U11_AAG(X, Y, Z, addx_in_aag(X, Y, Z))
ADDZ_IN_AAG(zero(X), one(Y), one(Z)) → ADDX_IN_AAG(X, Y, Z)
ADDX_IN_AAG(one(X), b, one(X)) → U4_AAG(X, binary_in_g(X))
ADDX_IN_AAG(one(X), b, one(X)) → BINARY_IN_G(X)
ADDX_IN_AAG(zero(X), b, zero(X)) → U5_AAG(X, binaryZ_in_g(X))
ADDX_IN_AAG(zero(X), b, zero(X)) → BINARYZ_IN_G(X)
ADDX_IN_AAG(X, Y, Z) → U6_AAG(X, Y, Z, addz_in_aag(X, Y, Z))
ADDX_IN_AAG(X, Y, Z) → ADDZ_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(one(X), zero(Y), one(Z)) → U12_AAG(X, Y, Z, addy_in_aag(X, Y, Z))
ADDZ_IN_AAG(one(X), zero(Y), one(Z)) → ADDY_IN_AAG(X, Y, Z)
ADDY_IN_AAG(b, one(Y), one(Y)) → U7_AAG(Y, binary_in_g(Y))
ADDY_IN_AAG(b, one(Y), one(Y)) → BINARY_IN_G(Y)
ADDY_IN_AAG(b, zero(Y), zero(Y)) → U8_AAG(Y, binaryZ_in_g(Y))
ADDY_IN_AAG(b, zero(Y), zero(Y)) → BINARYZ_IN_G(Y)
ADDY_IN_AAG(X, Y, Z) → U9_AAG(X, Y, Z, addz_in_aag(X, Y, Z))
ADDY_IN_AAG(X, Y, Z) → ADDZ_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(one(X), one(Y), zero(Z)) → U13_AAG(X, Y, Z, addc_in_aag(X, Y, Z))
ADDZ_IN_AAG(one(X), one(Y), zero(Z)) → ADDC_IN_AAG(X, Y, Z)
ADDC_IN_AAG(X, b, Z) → U14_AAG(X, Z, succZ_in_ag(X, Z))
ADDC_IN_AAG(X, b, Z) → SUCCZ_IN_AG(X, Z)
SUCCZ_IN_AG(zero(X), one(X)) → U33_AG(X, binaryZ_in_g(X))
SUCCZ_IN_AG(zero(X), one(X)) → BINARYZ_IN_G(X)
SUCCZ_IN_AG(one(X), zero(Z)) → U34_AG(X, Z, succ_in_ag(X, Z))
SUCCZ_IN_AG(one(X), zero(Z)) → SUCC_IN_AG(X, Z)
SUCC_IN_AG(zero(X), one(X)) → U31_AG(X, binaryZ_in_g(X))
SUCC_IN_AG(zero(X), one(X)) → BINARYZ_IN_G(X)
SUCC_IN_AG(one(X), zero(Z)) → U32_AG(X, Z, succ_in_ag(X, Z))
SUCC_IN_AG(one(X), zero(Z)) → SUCC_IN_AG(X, Z)
ADDC_IN_AAG(b, Y, Z) → U15_AAG(Y, Z, succZ_in_ag(Y, Z))
ADDC_IN_AAG(b, Y, Z) → SUCCZ_IN_AG(Y, Z)
ADDC_IN_AAG(X, Y, Z) → U16_AAG(X, Y, Z, addC_in_aag(X, Y, Z))
ADDC_IN_AAG(X, Y, Z) → ADDC_IN_AAG1(X, Y, Z)
ADDC_IN_AAG1(zero(X), zero(Y), one(Z)) → U23_AAG(X, Y, Z, addz_in_aag(X, Y, Z))
ADDC_IN_AAG1(zero(X), zero(Y), one(Z)) → ADDZ_IN_AAG(X, Y, Z)
ADDC_IN_AAG1(zero(X), one(Y), zero(Z)) → U24_AAG(X, Y, Z, addX_in_aag(X, Y, Z))
ADDC_IN_AAG1(zero(X), one(Y), zero(Z)) → ADDX_IN_AAG1(X, Y, Z)
ADDX_IN_AAG1(zero(X), b, one(X)) → U17_AAG(X, binaryZ_in_g(X))
ADDX_IN_AAG1(zero(X), b, one(X)) → BINARYZ_IN_G(X)
ADDX_IN_AAG1(one(X), b, zero(Z)) → U18_AAG(X, Z, succ_in_ag(X, Z))
ADDX_IN_AAG1(one(X), b, zero(Z)) → SUCC_IN_AG(X, Z)
ADDX_IN_AAG1(X, Y, Z) → U19_AAG(X, Y, Z, addC_in_aag(X, Y, Z))
ADDX_IN_AAG1(X, Y, Z) → ADDC_IN_AAG1(X, Y, Z)
ADDC_IN_AAG1(one(X), zero(Y), zero(Z)) → U25_AAG(X, Y, Z, addY_in_aag(X, Y, Z))
ADDC_IN_AAG1(one(X), zero(Y), zero(Z)) → ADDY_IN_AAG1(X, Y, Z)
ADDY_IN_AAG1(b, zero(Y), one(Y)) → U20_AAG(Y, binaryZ_in_g(Y))
ADDY_IN_AAG1(b, zero(Y), one(Y)) → BINARYZ_IN_G(Y)
ADDY_IN_AAG1(b, one(Y), zero(Z)) → U21_AAG(Y, Z, succ_in_ag(Y, Z))
ADDY_IN_AAG1(b, one(Y), zero(Z)) → SUCC_IN_AG(Y, Z)
ADDY_IN_AAG1(X, Y, Z) → U22_AAG(X, Y, Z, addC_in_aag(X, Y, Z))
ADDY_IN_AAG1(X, Y, Z) → ADDC_IN_AAG1(X, Y, Z)
ADDC_IN_AAG1(one(X), one(Y), one(Z)) → U26_AAG(X, Y, Z, addc_in_aag(X, Y, Z))
ADDC_IN_AAG1(one(X), one(Y), one(Z)) → ADDC_IN_AAG(X, Y, Z)
add_in_aag(b, b, b) → add_out_aag(b, b, b)
add_in_aag(X, b, X) → U1_aag(X, binaryZ_in_g(X))
binaryZ_in_g(zero(X)) → U29_g(X, binaryZ_in_g(X))
binaryZ_in_g(one(X)) → U30_g(X, binary_in_g(X))
binary_in_g(b) → binary_out_g(b)
binary_in_g(zero(X)) → U27_g(X, binaryZ_in_g(X))
U27_g(X, binaryZ_out_g(X)) → binary_out_g(zero(X))
binary_in_g(one(X)) → U28_g(X, binary_in_g(X))
U28_g(X, binary_out_g(X)) → binary_out_g(one(X))
U30_g(X, binary_out_g(X)) → binaryZ_out_g(one(X))
U29_g(X, binaryZ_out_g(X)) → binaryZ_out_g(zero(X))
U1_aag(X, binaryZ_out_g(X)) → add_out_aag(X, b, X)
add_in_aag(b, Y, Y) → U2_aag(Y, binaryZ_in_g(Y))
U2_aag(Y, binaryZ_out_g(Y)) → add_out_aag(b, Y, Y)
add_in_aag(X, Y, Z) → U3_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(zero(X), zero(Y), zero(Z)) → U10_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(zero(X), one(Y), one(Z)) → U11_aag(X, Y, Z, addx_in_aag(X, Y, Z))
addx_in_aag(one(X), b, one(X)) → U4_aag(X, binary_in_g(X))
U4_aag(X, binary_out_g(X)) → addx_out_aag(one(X), b, one(X))
addx_in_aag(zero(X), b, zero(X)) → U5_aag(X, binaryZ_in_g(X))
U5_aag(X, binaryZ_out_g(X)) → addx_out_aag(zero(X), b, zero(X))
addx_in_aag(X, Y, Z) → U6_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(one(X), zero(Y), one(Z)) → U12_aag(X, Y, Z, addy_in_aag(X, Y, Z))
addy_in_aag(b, one(Y), one(Y)) → U7_aag(Y, binary_in_g(Y))
U7_aag(Y, binary_out_g(Y)) → addy_out_aag(b, one(Y), one(Y))
addy_in_aag(b, zero(Y), zero(Y)) → U8_aag(Y, binaryZ_in_g(Y))
U8_aag(Y, binaryZ_out_g(Y)) → addy_out_aag(b, zero(Y), zero(Y))
addy_in_aag(X, Y, Z) → U9_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(one(X), one(Y), zero(Z)) → U13_aag(X, Y, Z, addc_in_aag(X, Y, Z))
addc_in_aag(b, b, one(b)) → addc_out_aag(b, b, one(b))
addc_in_aag(X, b, Z) → U14_aag(X, Z, succZ_in_ag(X, Z))
succZ_in_ag(zero(X), one(X)) → U33_ag(X, binaryZ_in_g(X))
U33_ag(X, binaryZ_out_g(X)) → succZ_out_ag(zero(X), one(X))
succZ_in_ag(one(X), zero(Z)) → U34_ag(X, Z, succ_in_ag(X, Z))
succ_in_ag(b, one(b)) → succ_out_ag(b, one(b))
succ_in_ag(zero(X), one(X)) → U31_ag(X, binaryZ_in_g(X))
U31_ag(X, binaryZ_out_g(X)) → succ_out_ag(zero(X), one(X))
succ_in_ag(one(X), zero(Z)) → U32_ag(X, Z, succ_in_ag(X, Z))
U32_ag(X, Z, succ_out_ag(X, Z)) → succ_out_ag(one(X), zero(Z))
U34_ag(X, Z, succ_out_ag(X, Z)) → succZ_out_ag(one(X), zero(Z))
U14_aag(X, Z, succZ_out_ag(X, Z)) → addc_out_aag(X, b, Z)
addc_in_aag(b, Y, Z) → U15_aag(Y, Z, succZ_in_ag(Y, Z))
U15_aag(Y, Z, succZ_out_ag(Y, Z)) → addc_out_aag(b, Y, Z)
addc_in_aag(X, Y, Z) → U16_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(zero(X), zero(Y), one(Z)) → U23_aag(X, Y, Z, addz_in_aag(X, Y, Z))
U23_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addC_out_aag(zero(X), zero(Y), one(Z))
addC_in_aag(zero(X), one(Y), zero(Z)) → U24_aag(X, Y, Z, addX_in_aag(X, Y, Z))
addX_in_aag(zero(X), b, one(X)) → U17_aag(X, binaryZ_in_g(X))
U17_aag(X, binaryZ_out_g(X)) → addX_out_aag(zero(X), b, one(X))
addX_in_aag(one(X), b, zero(Z)) → U18_aag(X, Z, succ_in_ag(X, Z))
U18_aag(X, Z, succ_out_ag(X, Z)) → addX_out_aag(one(X), b, zero(Z))
addX_in_aag(X, Y, Z) → U19_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(one(X), zero(Y), zero(Z)) → U25_aag(X, Y, Z, addY_in_aag(X, Y, Z))
addY_in_aag(b, zero(Y), one(Y)) → U20_aag(Y, binaryZ_in_g(Y))
U20_aag(Y, binaryZ_out_g(Y)) → addY_out_aag(b, zero(Y), one(Y))
addY_in_aag(b, one(Y), zero(Z)) → U21_aag(Y, Z, succ_in_ag(Y, Z))
U21_aag(Y, Z, succ_out_ag(Y, Z)) → addY_out_aag(b, one(Y), zero(Z))
addY_in_aag(X, Y, Z) → U22_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(one(X), one(Y), one(Z)) → U26_aag(X, Y, Z, addc_in_aag(X, Y, Z))
U26_aag(X, Y, Z, addc_out_aag(X, Y, Z)) → addC_out_aag(one(X), one(Y), one(Z))
U22_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addY_out_aag(X, Y, Z)
U25_aag(X, Y, Z, addY_out_aag(X, Y, Z)) → addC_out_aag(one(X), zero(Y), zero(Z))
U19_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addX_out_aag(X, Y, Z)
U24_aag(X, Y, Z, addX_out_aag(X, Y, Z)) → addC_out_aag(zero(X), one(Y), zero(Z))
U16_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addc_out_aag(X, Y, Z)
U13_aag(X, Y, Z, addc_out_aag(X, Y, Z)) → addz_out_aag(one(X), one(Y), zero(Z))
U9_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addy_out_aag(X, Y, Z)
U12_aag(X, Y, Z, addy_out_aag(X, Y, Z)) → addz_out_aag(one(X), zero(Y), one(Z))
U6_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addx_out_aag(X, Y, Z)
U11_aag(X, Y, Z, addx_out_aag(X, Y, Z)) → addz_out_aag(zero(X), one(Y), one(Z))
U10_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addz_out_aag(zero(X), zero(Y), zero(Z))
U3_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → add_out_aag(X, Y, Z)
BINARYZ_IN_G(one(X)) → BINARY_IN_G(X)
BINARY_IN_G(zero(X)) → BINARYZ_IN_G(X)
BINARYZ_IN_G(zero(X)) → BINARYZ_IN_G(X)
BINARY_IN_G(one(X)) → BINARY_IN_G(X)
add_in_aag(b, b, b) → add_out_aag(b, b, b)
add_in_aag(X, b, X) → U1_aag(X, binaryZ_in_g(X))
binaryZ_in_g(zero(X)) → U29_g(X, binaryZ_in_g(X))
binaryZ_in_g(one(X)) → U30_g(X, binary_in_g(X))
binary_in_g(b) → binary_out_g(b)
binary_in_g(zero(X)) → U27_g(X, binaryZ_in_g(X))
U27_g(X, binaryZ_out_g(X)) → binary_out_g(zero(X))
binary_in_g(one(X)) → U28_g(X, binary_in_g(X))
U28_g(X, binary_out_g(X)) → binary_out_g(one(X))
U30_g(X, binary_out_g(X)) → binaryZ_out_g(one(X))
U29_g(X, binaryZ_out_g(X)) → binaryZ_out_g(zero(X))
U1_aag(X, binaryZ_out_g(X)) → add_out_aag(X, b, X)
add_in_aag(b, Y, Y) → U2_aag(Y, binaryZ_in_g(Y))
U2_aag(Y, binaryZ_out_g(Y)) → add_out_aag(b, Y, Y)
add_in_aag(X, Y, Z) → U3_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(zero(X), zero(Y), zero(Z)) → U10_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(zero(X), one(Y), one(Z)) → U11_aag(X, Y, Z, addx_in_aag(X, Y, Z))
addx_in_aag(one(X), b, one(X)) → U4_aag(X, binary_in_g(X))
U4_aag(X, binary_out_g(X)) → addx_out_aag(one(X), b, one(X))
addx_in_aag(zero(X), b, zero(X)) → U5_aag(X, binaryZ_in_g(X))
U5_aag(X, binaryZ_out_g(X)) → addx_out_aag(zero(X), b, zero(X))
addx_in_aag(X, Y, Z) → U6_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(one(X), zero(Y), one(Z)) → U12_aag(X, Y, Z, addy_in_aag(X, Y, Z))
addy_in_aag(b, one(Y), one(Y)) → U7_aag(Y, binary_in_g(Y))
U7_aag(Y, binary_out_g(Y)) → addy_out_aag(b, one(Y), one(Y))
addy_in_aag(b, zero(Y), zero(Y)) → U8_aag(Y, binaryZ_in_g(Y))
U8_aag(Y, binaryZ_out_g(Y)) → addy_out_aag(b, zero(Y), zero(Y))
addy_in_aag(X, Y, Z) → U9_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(one(X), one(Y), zero(Z)) → U13_aag(X, Y, Z, addc_in_aag(X, Y, Z))
addc_in_aag(b, b, one(b)) → addc_out_aag(b, b, one(b))
addc_in_aag(X, b, Z) → U14_aag(X, Z, succZ_in_ag(X, Z))
succZ_in_ag(zero(X), one(X)) → U33_ag(X, binaryZ_in_g(X))
U33_ag(X, binaryZ_out_g(X)) → succZ_out_ag(zero(X), one(X))
succZ_in_ag(one(X), zero(Z)) → U34_ag(X, Z, succ_in_ag(X, Z))
succ_in_ag(b, one(b)) → succ_out_ag(b, one(b))
succ_in_ag(zero(X), one(X)) → U31_ag(X, binaryZ_in_g(X))
U31_ag(X, binaryZ_out_g(X)) → succ_out_ag(zero(X), one(X))
succ_in_ag(one(X), zero(Z)) → U32_ag(X, Z, succ_in_ag(X, Z))
U32_ag(X, Z, succ_out_ag(X, Z)) → succ_out_ag(one(X), zero(Z))
U34_ag(X, Z, succ_out_ag(X, Z)) → succZ_out_ag(one(X), zero(Z))
U14_aag(X, Z, succZ_out_ag(X, Z)) → addc_out_aag(X, b, Z)
addc_in_aag(b, Y, Z) → U15_aag(Y, Z, succZ_in_ag(Y, Z))
U15_aag(Y, Z, succZ_out_ag(Y, Z)) → addc_out_aag(b, Y, Z)
addc_in_aag(X, Y, Z) → U16_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(zero(X), zero(Y), one(Z)) → U23_aag(X, Y, Z, addz_in_aag(X, Y, Z))
U23_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addC_out_aag(zero(X), zero(Y), one(Z))
addC_in_aag(zero(X), one(Y), zero(Z)) → U24_aag(X, Y, Z, addX_in_aag(X, Y, Z))
addX_in_aag(zero(X), b, one(X)) → U17_aag(X, binaryZ_in_g(X))
U17_aag(X, binaryZ_out_g(X)) → addX_out_aag(zero(X), b, one(X))
addX_in_aag(one(X), b, zero(Z)) → U18_aag(X, Z, succ_in_ag(X, Z))
U18_aag(X, Z, succ_out_ag(X, Z)) → addX_out_aag(one(X), b, zero(Z))
addX_in_aag(X, Y, Z) → U19_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(one(X), zero(Y), zero(Z)) → U25_aag(X, Y, Z, addY_in_aag(X, Y, Z))
addY_in_aag(b, zero(Y), one(Y)) → U20_aag(Y, binaryZ_in_g(Y))
U20_aag(Y, binaryZ_out_g(Y)) → addY_out_aag(b, zero(Y), one(Y))
addY_in_aag(b, one(Y), zero(Z)) → U21_aag(Y, Z, succ_in_ag(Y, Z))
U21_aag(Y, Z, succ_out_ag(Y, Z)) → addY_out_aag(b, one(Y), zero(Z))
addY_in_aag(X, Y, Z) → U22_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(one(X), one(Y), one(Z)) → U26_aag(X, Y, Z, addc_in_aag(X, Y, Z))
U26_aag(X, Y, Z, addc_out_aag(X, Y, Z)) → addC_out_aag(one(X), one(Y), one(Z))
U22_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addY_out_aag(X, Y, Z)
U25_aag(X, Y, Z, addY_out_aag(X, Y, Z)) → addC_out_aag(one(X), zero(Y), zero(Z))
U19_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addX_out_aag(X, Y, Z)
U24_aag(X, Y, Z, addX_out_aag(X, Y, Z)) → addC_out_aag(zero(X), one(Y), zero(Z))
U16_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addc_out_aag(X, Y, Z)
U13_aag(X, Y, Z, addc_out_aag(X, Y, Z)) → addz_out_aag(one(X), one(Y), zero(Z))
U9_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addy_out_aag(X, Y, Z)
U12_aag(X, Y, Z, addy_out_aag(X, Y, Z)) → addz_out_aag(one(X), zero(Y), one(Z))
U6_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addx_out_aag(X, Y, Z)
U11_aag(X, Y, Z, addx_out_aag(X, Y, Z)) → addz_out_aag(zero(X), one(Y), one(Z))
U10_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addz_out_aag(zero(X), zero(Y), zero(Z))
U3_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → add_out_aag(X, Y, Z)
BINARYZ_IN_G(one(X)) → BINARY_IN_G(X)
BINARY_IN_G(zero(X)) → BINARYZ_IN_G(X)
BINARYZ_IN_G(zero(X)) → BINARYZ_IN_G(X)
BINARY_IN_G(one(X)) → BINARY_IN_G(X)
BINARYZ_IN_G(one(X)) → BINARY_IN_G(X)
BINARY_IN_G(zero(X)) → BINARYZ_IN_G(X)
BINARYZ_IN_G(zero(X)) → BINARYZ_IN_G(X)
BINARY_IN_G(one(X)) → BINARY_IN_G(X)
From the DPs we obtained the following set of size-change graphs:
SUCC_IN_AG(one(X), zero(Z)) → SUCC_IN_AG(X, Z)
add_in_aag(b, b, b) → add_out_aag(b, b, b)
add_in_aag(X, b, X) → U1_aag(X, binaryZ_in_g(X))
binaryZ_in_g(zero(X)) → U29_g(X, binaryZ_in_g(X))
binaryZ_in_g(one(X)) → U30_g(X, binary_in_g(X))
binary_in_g(b) → binary_out_g(b)
binary_in_g(zero(X)) → U27_g(X, binaryZ_in_g(X))
U27_g(X, binaryZ_out_g(X)) → binary_out_g(zero(X))
binary_in_g(one(X)) → U28_g(X, binary_in_g(X))
U28_g(X, binary_out_g(X)) → binary_out_g(one(X))
U30_g(X, binary_out_g(X)) → binaryZ_out_g(one(X))
U29_g(X, binaryZ_out_g(X)) → binaryZ_out_g(zero(X))
U1_aag(X, binaryZ_out_g(X)) → add_out_aag(X, b, X)
add_in_aag(b, Y, Y) → U2_aag(Y, binaryZ_in_g(Y))
U2_aag(Y, binaryZ_out_g(Y)) → add_out_aag(b, Y, Y)
add_in_aag(X, Y, Z) → U3_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(zero(X), zero(Y), zero(Z)) → U10_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(zero(X), one(Y), one(Z)) → U11_aag(X, Y, Z, addx_in_aag(X, Y, Z))
addx_in_aag(one(X), b, one(X)) → U4_aag(X, binary_in_g(X))
U4_aag(X, binary_out_g(X)) → addx_out_aag(one(X), b, one(X))
addx_in_aag(zero(X), b, zero(X)) → U5_aag(X, binaryZ_in_g(X))
U5_aag(X, binaryZ_out_g(X)) → addx_out_aag(zero(X), b, zero(X))
addx_in_aag(X, Y, Z) → U6_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(one(X), zero(Y), one(Z)) → U12_aag(X, Y, Z, addy_in_aag(X, Y, Z))
addy_in_aag(b, one(Y), one(Y)) → U7_aag(Y, binary_in_g(Y))
U7_aag(Y, binary_out_g(Y)) → addy_out_aag(b, one(Y), one(Y))
addy_in_aag(b, zero(Y), zero(Y)) → U8_aag(Y, binaryZ_in_g(Y))
U8_aag(Y, binaryZ_out_g(Y)) → addy_out_aag(b, zero(Y), zero(Y))
addy_in_aag(X, Y, Z) → U9_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(one(X), one(Y), zero(Z)) → U13_aag(X, Y, Z, addc_in_aag(X, Y, Z))
addc_in_aag(b, b, one(b)) → addc_out_aag(b, b, one(b))
addc_in_aag(X, b, Z) → U14_aag(X, Z, succZ_in_ag(X, Z))
succZ_in_ag(zero(X), one(X)) → U33_ag(X, binaryZ_in_g(X))
U33_ag(X, binaryZ_out_g(X)) → succZ_out_ag(zero(X), one(X))
succZ_in_ag(one(X), zero(Z)) → U34_ag(X, Z, succ_in_ag(X, Z))
succ_in_ag(b, one(b)) → succ_out_ag(b, one(b))
succ_in_ag(zero(X), one(X)) → U31_ag(X, binaryZ_in_g(X))
U31_ag(X, binaryZ_out_g(X)) → succ_out_ag(zero(X), one(X))
succ_in_ag(one(X), zero(Z)) → U32_ag(X, Z, succ_in_ag(X, Z))
U32_ag(X, Z, succ_out_ag(X, Z)) → succ_out_ag(one(X), zero(Z))
U34_ag(X, Z, succ_out_ag(X, Z)) → succZ_out_ag(one(X), zero(Z))
U14_aag(X, Z, succZ_out_ag(X, Z)) → addc_out_aag(X, b, Z)
addc_in_aag(b, Y, Z) → U15_aag(Y, Z, succZ_in_ag(Y, Z))
U15_aag(Y, Z, succZ_out_ag(Y, Z)) → addc_out_aag(b, Y, Z)
addc_in_aag(X, Y, Z) → U16_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(zero(X), zero(Y), one(Z)) → U23_aag(X, Y, Z, addz_in_aag(X, Y, Z))
U23_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addC_out_aag(zero(X), zero(Y), one(Z))
addC_in_aag(zero(X), one(Y), zero(Z)) → U24_aag(X, Y, Z, addX_in_aag(X, Y, Z))
addX_in_aag(zero(X), b, one(X)) → U17_aag(X, binaryZ_in_g(X))
U17_aag(X, binaryZ_out_g(X)) → addX_out_aag(zero(X), b, one(X))
addX_in_aag(one(X), b, zero(Z)) → U18_aag(X, Z, succ_in_ag(X, Z))
U18_aag(X, Z, succ_out_ag(X, Z)) → addX_out_aag(one(X), b, zero(Z))
addX_in_aag(X, Y, Z) → U19_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(one(X), zero(Y), zero(Z)) → U25_aag(X, Y, Z, addY_in_aag(X, Y, Z))
addY_in_aag(b, zero(Y), one(Y)) → U20_aag(Y, binaryZ_in_g(Y))
U20_aag(Y, binaryZ_out_g(Y)) → addY_out_aag(b, zero(Y), one(Y))
addY_in_aag(b, one(Y), zero(Z)) → U21_aag(Y, Z, succ_in_ag(Y, Z))
U21_aag(Y, Z, succ_out_ag(Y, Z)) → addY_out_aag(b, one(Y), zero(Z))
addY_in_aag(X, Y, Z) → U22_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(one(X), one(Y), one(Z)) → U26_aag(X, Y, Z, addc_in_aag(X, Y, Z))
U26_aag(X, Y, Z, addc_out_aag(X, Y, Z)) → addC_out_aag(one(X), one(Y), one(Z))
U22_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addY_out_aag(X, Y, Z)
U25_aag(X, Y, Z, addY_out_aag(X, Y, Z)) → addC_out_aag(one(X), zero(Y), zero(Z))
U19_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addX_out_aag(X, Y, Z)
U24_aag(X, Y, Z, addX_out_aag(X, Y, Z)) → addC_out_aag(zero(X), one(Y), zero(Z))
U16_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addc_out_aag(X, Y, Z)
U13_aag(X, Y, Z, addc_out_aag(X, Y, Z)) → addz_out_aag(one(X), one(Y), zero(Z))
U9_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addy_out_aag(X, Y, Z)
U12_aag(X, Y, Z, addy_out_aag(X, Y, Z)) → addz_out_aag(one(X), zero(Y), one(Z))
U6_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addx_out_aag(X, Y, Z)
U11_aag(X, Y, Z, addx_out_aag(X, Y, Z)) → addz_out_aag(zero(X), one(Y), one(Z))
U10_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addz_out_aag(zero(X), zero(Y), zero(Z))
U3_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → add_out_aag(X, Y, Z)
SUCC_IN_AG(one(X), zero(Z)) → SUCC_IN_AG(X, Z)
SUCC_IN_AG(zero(Z)) → SUCC_IN_AG(Z)
From the DPs we obtained the following set of size-change graphs:
ADDX_IN_AAG(X, Y, Z) → ADDZ_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(zero(X), zero(Y), zero(Z)) → ADDZ_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(zero(X), one(Y), one(Z)) → ADDX_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(one(X), zero(Y), one(Z)) → ADDY_IN_AAG(X, Y, Z)
ADDY_IN_AAG(X, Y, Z) → ADDZ_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(one(X), one(Y), zero(Z)) → ADDC_IN_AAG(X, Y, Z)
ADDC_IN_AAG(X, Y, Z) → ADDC_IN_AAG1(X, Y, Z)
ADDC_IN_AAG1(zero(X), zero(Y), one(Z)) → ADDZ_IN_AAG(X, Y, Z)
ADDC_IN_AAG1(zero(X), one(Y), zero(Z)) → ADDX_IN_AAG1(X, Y, Z)
ADDX_IN_AAG1(X, Y, Z) → ADDC_IN_AAG1(X, Y, Z)
ADDC_IN_AAG1(one(X), zero(Y), zero(Z)) → ADDY_IN_AAG1(X, Y, Z)
ADDY_IN_AAG1(X, Y, Z) → ADDC_IN_AAG1(X, Y, Z)
ADDC_IN_AAG1(one(X), one(Y), one(Z)) → ADDC_IN_AAG(X, Y, Z)
add_in_aag(b, b, b) → add_out_aag(b, b, b)
add_in_aag(X, b, X) → U1_aag(X, binaryZ_in_g(X))
binaryZ_in_g(zero(X)) → U29_g(X, binaryZ_in_g(X))
binaryZ_in_g(one(X)) → U30_g(X, binary_in_g(X))
binary_in_g(b) → binary_out_g(b)
binary_in_g(zero(X)) → U27_g(X, binaryZ_in_g(X))
U27_g(X, binaryZ_out_g(X)) → binary_out_g(zero(X))
binary_in_g(one(X)) → U28_g(X, binary_in_g(X))
U28_g(X, binary_out_g(X)) → binary_out_g(one(X))
U30_g(X, binary_out_g(X)) → binaryZ_out_g(one(X))
U29_g(X, binaryZ_out_g(X)) → binaryZ_out_g(zero(X))
U1_aag(X, binaryZ_out_g(X)) → add_out_aag(X, b, X)
add_in_aag(b, Y, Y) → U2_aag(Y, binaryZ_in_g(Y))
U2_aag(Y, binaryZ_out_g(Y)) → add_out_aag(b, Y, Y)
add_in_aag(X, Y, Z) → U3_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(zero(X), zero(Y), zero(Z)) → U10_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(zero(X), one(Y), one(Z)) → U11_aag(X, Y, Z, addx_in_aag(X, Y, Z))
addx_in_aag(one(X), b, one(X)) → U4_aag(X, binary_in_g(X))
U4_aag(X, binary_out_g(X)) → addx_out_aag(one(X), b, one(X))
addx_in_aag(zero(X), b, zero(X)) → U5_aag(X, binaryZ_in_g(X))
U5_aag(X, binaryZ_out_g(X)) → addx_out_aag(zero(X), b, zero(X))
addx_in_aag(X, Y, Z) → U6_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(one(X), zero(Y), one(Z)) → U12_aag(X, Y, Z, addy_in_aag(X, Y, Z))
addy_in_aag(b, one(Y), one(Y)) → U7_aag(Y, binary_in_g(Y))
U7_aag(Y, binary_out_g(Y)) → addy_out_aag(b, one(Y), one(Y))
addy_in_aag(b, zero(Y), zero(Y)) → U8_aag(Y, binaryZ_in_g(Y))
U8_aag(Y, binaryZ_out_g(Y)) → addy_out_aag(b, zero(Y), zero(Y))
addy_in_aag(X, Y, Z) → U9_aag(X, Y, Z, addz_in_aag(X, Y, Z))
addz_in_aag(one(X), one(Y), zero(Z)) → U13_aag(X, Y, Z, addc_in_aag(X, Y, Z))
addc_in_aag(b, b, one(b)) → addc_out_aag(b, b, one(b))
addc_in_aag(X, b, Z) → U14_aag(X, Z, succZ_in_ag(X, Z))
succZ_in_ag(zero(X), one(X)) → U33_ag(X, binaryZ_in_g(X))
U33_ag(X, binaryZ_out_g(X)) → succZ_out_ag(zero(X), one(X))
succZ_in_ag(one(X), zero(Z)) → U34_ag(X, Z, succ_in_ag(X, Z))
succ_in_ag(b, one(b)) → succ_out_ag(b, one(b))
succ_in_ag(zero(X), one(X)) → U31_ag(X, binaryZ_in_g(X))
U31_ag(X, binaryZ_out_g(X)) → succ_out_ag(zero(X), one(X))
succ_in_ag(one(X), zero(Z)) → U32_ag(X, Z, succ_in_ag(X, Z))
U32_ag(X, Z, succ_out_ag(X, Z)) → succ_out_ag(one(X), zero(Z))
U34_ag(X, Z, succ_out_ag(X, Z)) → succZ_out_ag(one(X), zero(Z))
U14_aag(X, Z, succZ_out_ag(X, Z)) → addc_out_aag(X, b, Z)
addc_in_aag(b, Y, Z) → U15_aag(Y, Z, succZ_in_ag(Y, Z))
U15_aag(Y, Z, succZ_out_ag(Y, Z)) → addc_out_aag(b, Y, Z)
addc_in_aag(X, Y, Z) → U16_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(zero(X), zero(Y), one(Z)) → U23_aag(X, Y, Z, addz_in_aag(X, Y, Z))
U23_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addC_out_aag(zero(X), zero(Y), one(Z))
addC_in_aag(zero(X), one(Y), zero(Z)) → U24_aag(X, Y, Z, addX_in_aag(X, Y, Z))
addX_in_aag(zero(X), b, one(X)) → U17_aag(X, binaryZ_in_g(X))
U17_aag(X, binaryZ_out_g(X)) → addX_out_aag(zero(X), b, one(X))
addX_in_aag(one(X), b, zero(Z)) → U18_aag(X, Z, succ_in_ag(X, Z))
U18_aag(X, Z, succ_out_ag(X, Z)) → addX_out_aag(one(X), b, zero(Z))
addX_in_aag(X, Y, Z) → U19_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(one(X), zero(Y), zero(Z)) → U25_aag(X, Y, Z, addY_in_aag(X, Y, Z))
addY_in_aag(b, zero(Y), one(Y)) → U20_aag(Y, binaryZ_in_g(Y))
U20_aag(Y, binaryZ_out_g(Y)) → addY_out_aag(b, zero(Y), one(Y))
addY_in_aag(b, one(Y), zero(Z)) → U21_aag(Y, Z, succ_in_ag(Y, Z))
U21_aag(Y, Z, succ_out_ag(Y, Z)) → addY_out_aag(b, one(Y), zero(Z))
addY_in_aag(X, Y, Z) → U22_aag(X, Y, Z, addC_in_aag(X, Y, Z))
addC_in_aag(one(X), one(Y), one(Z)) → U26_aag(X, Y, Z, addc_in_aag(X, Y, Z))
U26_aag(X, Y, Z, addc_out_aag(X, Y, Z)) → addC_out_aag(one(X), one(Y), one(Z))
U22_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addY_out_aag(X, Y, Z)
U25_aag(X, Y, Z, addY_out_aag(X, Y, Z)) → addC_out_aag(one(X), zero(Y), zero(Z))
U19_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addX_out_aag(X, Y, Z)
U24_aag(X, Y, Z, addX_out_aag(X, Y, Z)) → addC_out_aag(zero(X), one(Y), zero(Z))
U16_aag(X, Y, Z, addC_out_aag(X, Y, Z)) → addc_out_aag(X, Y, Z)
U13_aag(X, Y, Z, addc_out_aag(X, Y, Z)) → addz_out_aag(one(X), one(Y), zero(Z))
U9_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addy_out_aag(X, Y, Z)
U12_aag(X, Y, Z, addy_out_aag(X, Y, Z)) → addz_out_aag(one(X), zero(Y), one(Z))
U6_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addx_out_aag(X, Y, Z)
U11_aag(X, Y, Z, addx_out_aag(X, Y, Z)) → addz_out_aag(zero(X), one(Y), one(Z))
U10_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → addz_out_aag(zero(X), zero(Y), zero(Z))
U3_aag(X, Y, Z, addz_out_aag(X, Y, Z)) → add_out_aag(X, Y, Z)
ADDX_IN_AAG(X, Y, Z) → ADDZ_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(zero(X), zero(Y), zero(Z)) → ADDZ_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(zero(X), one(Y), one(Z)) → ADDX_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(one(X), zero(Y), one(Z)) → ADDY_IN_AAG(X, Y, Z)
ADDY_IN_AAG(X, Y, Z) → ADDZ_IN_AAG(X, Y, Z)
ADDZ_IN_AAG(one(X), one(Y), zero(Z)) → ADDC_IN_AAG(X, Y, Z)
ADDC_IN_AAG(X, Y, Z) → ADDC_IN_AAG1(X, Y, Z)
ADDC_IN_AAG1(zero(X), zero(Y), one(Z)) → ADDZ_IN_AAG(X, Y, Z)
ADDC_IN_AAG1(zero(X), one(Y), zero(Z)) → ADDX_IN_AAG1(X, Y, Z)
ADDX_IN_AAG1(X, Y, Z) → ADDC_IN_AAG1(X, Y, Z)
ADDC_IN_AAG1(one(X), zero(Y), zero(Z)) → ADDY_IN_AAG1(X, Y, Z)
ADDY_IN_AAG1(X, Y, Z) → ADDC_IN_AAG1(X, Y, Z)
ADDC_IN_AAG1(one(X), one(Y), one(Z)) → ADDC_IN_AAG(X, Y, Z)
ADDX_IN_AAG(Z) → ADDZ_IN_AAG(Z)
ADDZ_IN_AAG(zero(Z)) → ADDZ_IN_AAG(Z)
ADDZ_IN_AAG(one(Z)) → ADDX_IN_AAG(Z)
ADDZ_IN_AAG(one(Z)) → ADDY_IN_AAG(Z)
ADDY_IN_AAG(Z) → ADDZ_IN_AAG(Z)
ADDZ_IN_AAG(zero(Z)) → ADDC_IN_AAG(Z)
ADDC_IN_AAG(Z) → ADDC_IN_AAG1(Z)
ADDC_IN_AAG1(one(Z)) → ADDZ_IN_AAG(Z)
ADDC_IN_AAG1(zero(Z)) → ADDX_IN_AAG1(Z)
ADDX_IN_AAG1(Z) → ADDC_IN_AAG1(Z)
ADDC_IN_AAG1(zero(Z)) → ADDY_IN_AAG1(Z)
ADDY_IN_AAG1(Z) → ADDC_IN_AAG1(Z)
ADDC_IN_AAG1(one(Z)) → ADDC_IN_AAG(Z)
From the DPs we obtained the following set of size-change graphs: