(0) Obligation:

Clauses:

add(b, b, b).
add(X, b, X) :- binaryZ(X).
add(b, Y, Y) :- binaryZ(Y).
add(X, Y, Z) :- addz(X, Y, Z).
addx(one(X), b, one(X)) :- binary(X).
addx(zero(X), b, zero(X)) :- binaryZ(X).
addx(X, Y, Z) :- addz(X, Y, Z).
addy(b, one(Y), one(Y)) :- binary(Y).
addy(b, zero(Y), zero(Y)) :- binaryZ(Y).
addy(X, Y, Z) :- addz(X, Y, Z).
addz(zero(X), zero(Y), zero(Z)) :- addz(X, Y, Z).
addz(zero(X), one(Y), one(Z)) :- addx(X, Y, Z).
addz(one(X), zero(Y), one(Z)) :- addy(X, Y, Z).
addz(one(X), one(Y), zero(Z)) :- addc(X, Y, Z).
addc(b, b, one(b)).
addc(X, b, Z) :- succZ(X, Z).
addc(b, Y, Z) :- succZ(Y, Z).
addc(X, Y, Z) :- addC(X, Y, Z).
addX(zero(X), b, one(X)) :- binaryZ(X).
addX(one(X), b, zero(Z)) :- succ(X, Z).
addX(X, Y, Z) :- addC(X, Y, Z).
addY(b, zero(Y), one(Y)) :- binaryZ(Y).
addY(b, one(Y), zero(Z)) :- succ(Y, Z).
addY(X, Y, Z) :- addC(X, Y, Z).
addC(zero(X), zero(Y), one(Z)) :- addz(X, Y, Z).
addC(zero(X), one(Y), zero(Z)) :- addX(X, Y, Z).
addC(one(X), zero(Y), zero(Z)) :- addY(X, Y, Z).
addC(one(X), one(Y), one(Z)) :- addc(X, Y, Z).
binary(b).
binary(zero(X)) :- binaryZ(X).
binary(one(X)) :- binary(X).
binaryZ(zero(X)) :- binaryZ(X).
binaryZ(one(X)) :- binary(X).
succ(b, one(b)).
succ(zero(X), one(X)) :- binaryZ(X).
succ(one(X), zero(Z)) :- succ(X, Z).
succZ(zero(X), one(X)) :- binaryZ(X).
succZ(one(X), zero(Z)) :- succ(X, Z).
times(one(b), X, X).
times(zero(R), S, zero(RS)) :- times(R, S, RS).
times(one(R), S, RSS) :- ','(times(R, S, RS), add(S, zero(RS), RSS)).

Query: add(a,a,g)

(1) PrologToPiTRSViaGraphTransformerProof (SOUND transformation)

Transformed Prolog program to (Pi-)TRS.

(2) Obligation:

Pi-finite rewrite system:
The TRS R consists of the following rules:

addA_in_aag(b, b, b) → addA_out_aag(b, b, b)
addA_in_aag(zero(T69), b, zero(T69)) → U1_aag(T69, binaryZC_in_g(T69))
binaryZC_in_g(zero(T75)) → U12_g(T75, binaryZC_in_g(T75))
binaryZC_in_g(one(T79)) → U13_g(T79, binaryD_in_g(T79))
binaryD_in_g(b) → binaryD_out_g(b)
binaryD_in_g(zero(T84)) → U14_g(T84, binaryZC_in_g(T84))
U14_g(T84, binaryZC_out_g(T84)) → binaryD_out_g(zero(T84))
binaryD_in_g(one(T88)) → U15_g(T88, binaryD_in_g(T88))
U15_g(T88, binaryD_out_g(T88)) → binaryD_out_g(one(T88))
U13_g(T79, binaryD_out_g(T79)) → binaryZC_out_g(one(T79))
U12_g(T75, binaryZC_out_g(T75)) → binaryZC_out_g(zero(T75))
U1_aag(T69, binaryZC_out_g(T69)) → addA_out_aag(zero(T69), b, zero(T69))
addA_in_aag(one(T93), b, one(T93)) → U2_aag(T93, binaryD_in_g(T93))
U2_aag(T93, binaryD_out_g(T93)) → addA_out_aag(one(T93), b, one(T93))
addA_in_aag(b, T98, T98) → U3_aag(T98, binaryZC_in_g(T98))
U3_aag(T98, binaryZC_out_g(T98)) → addA_out_aag(b, T98, T98)
addA_in_aag(T114, T115, T113) → U4_aag(T114, T115, T113, addzE_in_aag(T114, T115, T113))
addzE_in_aag(zero(T134), zero(T135), zero(T133)) → U41_aag(T134, T135, T133, addzF_in_aag(T134, T135, T133))
addzF_in_aag(zero(T154), zero(T155), zero(T153)) → U16_aag(T154, T155, T153, addzF_in_aag(T154, T155, T153))
addzF_in_aag(zero(T174), one(T175), one(T173)) → U17_aag(T174, T175, T173, addxG_in_aag(T174, T175, T173))
addxG_in_aag(one(T181), b, one(T181)) → U35_aag(T181, binaryD_in_g(T181))
U35_aag(T181, binaryD_out_g(T181)) → addxG_out_aag(one(T181), b, one(T181))
addxG_in_aag(zero(T186), b, zero(T186)) → U36_aag(T186, binaryZC_in_g(T186))
U36_aag(T186, binaryZC_out_g(T186)) → addxG_out_aag(zero(T186), b, zero(T186))
addxG_in_aag(T202, T203, T201) → U37_aag(T202, T203, T201, addzF_in_aag(T202, T203, T201))
addzF_in_aag(one(T222), zero(T223), one(T221)) → U18_aag(T222, T223, T221, addyH_in_aag(T222, T223, T221))
addyH_in_aag(b, one(T229), one(T229)) → U38_aag(T229, binaryD_in_g(T229))
U38_aag(T229, binaryD_out_g(T229)) → addyH_out_aag(b, one(T229), one(T229))
addyH_in_aag(b, zero(T234), zero(T234)) → U39_aag(T234, binaryZC_in_g(T234))
U39_aag(T234, binaryZC_out_g(T234)) → addyH_out_aag(b, zero(T234), zero(T234))
addyH_in_aag(T250, T251, T249) → U40_aag(T250, T251, T249, addzF_in_aag(T250, T251, T249))
addzF_in_aag(one(T264), one(T265), zero(T263)) → U19_aag(T264, T265, T263, addcI_in_aag(T264, T265, T263))
addcI_in_aag(b, b, one(b)) → addcI_out_aag(b, b, one(b))
addcI_in_aag(T276, b, T275) → U32_aag(T276, T275, succZK_in_ag(T276, T275))
succZK_in_ag(zero(T282), one(T282)) → U22_ag(T282, binaryZC_in_g(T282))
U22_ag(T282, binaryZC_out_g(T282)) → succZK_out_ag(zero(T282), one(T282))
succZK_in_ag(one(T290), zero(T289)) → U23_ag(T290, T289, succJ_in_ag(T290, T289))
succJ_in_ag(b, one(b)) → succJ_out_ag(b, one(b))
succJ_in_ag(zero(T295), one(T295)) → U20_ag(T295, binaryZC_in_g(T295))
U20_ag(T295, binaryZC_out_g(T295)) → succJ_out_ag(zero(T295), one(T295))
succJ_in_ag(one(T303), zero(T302)) → U21_ag(T303, T302, succJ_in_ag(T303, T302))
U21_ag(T303, T302, succJ_out_ag(T303, T302)) → succJ_out_ag(one(T303), zero(T302))
U23_ag(T290, T289, succJ_out_ag(T290, T289)) → succZK_out_ag(one(T290), zero(T289))
U32_aag(T276, T275, succZK_out_ag(T276, T275)) → addcI_out_aag(T276, b, T275)
addcI_in_aag(b, T314, T313) → U33_aag(T314, T313, succZK_in_ag(T314, T313))
U33_aag(T314, T313, succZK_out_ag(T314, T313)) → addcI_out_aag(b, T314, T313)
addcI_in_aag(T330, T331, T329) → U34_aag(T330, T331, T329, addCL_in_aag(T330, T331, T329))
addCL_in_aag(zero(T350), zero(T351), one(T349)) → U24_aag(T350, T351, T349, addzF_in_aag(T350, T351, T349))
U24_aag(T350, T351, T349, addzF_out_aag(T350, T351, T349)) → addCL_out_aag(zero(T350), zero(T351), one(T349))
addCL_in_aag(zero(zero(T377)), one(b), zero(one(T377))) → U25_aag(T377, binaryZC_in_g(T377))
U25_aag(T377, binaryZC_out_g(T377)) → addCL_out_aag(zero(zero(T377)), one(b), zero(one(T377)))
addCL_in_aag(zero(one(T389)), one(b), zero(zero(T388))) → U26_aag(T389, T388, succJ_in_ag(T389, T388))
U26_aag(T389, T388, succJ_out_ag(T389, T388)) → addCL_out_aag(zero(one(T389)), one(b), zero(zero(T388)))
addCL_in_aag(zero(T404), one(T405), zero(T403)) → U27_aag(T404, T405, T403, addCL_in_aag(T404, T405, T403))
addCL_in_aag(one(b), zero(zero(T431)), zero(one(T431))) → U28_aag(T431, binaryZC_in_g(T431))
U28_aag(T431, binaryZC_out_g(T431)) → addCL_out_aag(one(b), zero(zero(T431)), zero(one(T431)))
addCL_in_aag(one(b), zero(one(T443)), zero(zero(T442))) → U29_aag(T443, T442, succJ_in_ag(T443, T442))
U29_aag(T443, T442, succJ_out_ag(T443, T442)) → addCL_out_aag(one(b), zero(one(T443)), zero(zero(T442)))
addCL_in_aag(one(T458), zero(T459), zero(T457)) → U30_aag(T458, T459, T457, addCL_in_aag(T458, T459, T457))
addCL_in_aag(one(T472), one(T473), one(T471)) → U31_aag(T472, T473, T471, addcI_in_aag(T472, T473, T471))
U31_aag(T472, T473, T471, addcI_out_aag(T472, T473, T471)) → addCL_out_aag(one(T472), one(T473), one(T471))
U30_aag(T458, T459, T457, addCL_out_aag(T458, T459, T457)) → addCL_out_aag(one(T458), zero(T459), zero(T457))
U27_aag(T404, T405, T403, addCL_out_aag(T404, T405, T403)) → addCL_out_aag(zero(T404), one(T405), zero(T403))
U34_aag(T330, T331, T329, addCL_out_aag(T330, T331, T329)) → addcI_out_aag(T330, T331, T329)
U19_aag(T264, T265, T263, addcI_out_aag(T264, T265, T263)) → addzF_out_aag(one(T264), one(T265), zero(T263))
U40_aag(T250, T251, T249, addzF_out_aag(T250, T251, T249)) → addyH_out_aag(T250, T251, T249)
U18_aag(T222, T223, T221, addyH_out_aag(T222, T223, T221)) → addzF_out_aag(one(T222), zero(T223), one(T221))
U37_aag(T202, T203, T201, addzF_out_aag(T202, T203, T201)) → addxG_out_aag(T202, T203, T201)
U17_aag(T174, T175, T173, addxG_out_aag(T174, T175, T173)) → addzF_out_aag(zero(T174), one(T175), one(T173))
U16_aag(T154, T155, T153, addzF_out_aag(T154, T155, T153)) → addzF_out_aag(zero(T154), zero(T155), zero(T153))
U41_aag(T134, T135, T133, addzF_out_aag(T134, T135, T133)) → addzE_out_aag(zero(T134), zero(T135), zero(T133))
addzE_in_aag(zero(T489), one(T490), one(T488)) → U42_aag(T489, T490, T488, addxG_in_aag(T489, T490, T488))
U42_aag(T489, T490, T488, addxG_out_aag(T489, T490, T488)) → addzE_out_aag(zero(T489), one(T490), one(T488))
addzE_in_aag(one(T507), zero(T508), one(T506)) → U43_aag(T507, T508, T506, addyH_in_aag(T507, T508, T506))
U43_aag(T507, T508, T506, addyH_out_aag(T507, T508, T506)) → addzE_out_aag(one(T507), zero(T508), one(T506))
addzE_in_aag(one(T519), one(T520), zero(T518)) → U44_aag(T519, T520, T518, addcI_in_aag(T519, T520, T518))
U44_aag(T519, T520, T518, addcI_out_aag(T519, T520, T518)) → addzE_out_aag(one(T519), one(T520), zero(T518))
U4_aag(T114, T115, T113, addzE_out_aag(T114, T115, T113)) → addA_out_aag(T114, T115, T113)
addA_in_aag(b, zero(T527), zero(T527)) → U5_aag(T527, binaryZC_in_g(T527))
U5_aag(T527, binaryZC_out_g(T527)) → addA_out_aag(b, zero(T527), zero(T527))
addA_in_aag(b, one(T533), one(T533)) → U6_aag(T533, binaryD_in_g(T533))
U6_aag(T533, binaryD_out_g(T533)) → addA_out_aag(b, one(T533), one(T533))
addA_in_aag(T548, T549, T547) → U7_aag(T548, T549, T547, addzE_in_aag(T548, T549, T547))
U7_aag(T548, T549, T547, addzE_out_aag(T548, T549, T547)) → addA_out_aag(T548, T549, T547)
addA_in_aag(zero(T576), zero(T577), zero(T575)) → U8_aag(T576, T577, T575, addzF_in_aag(T576, T577, T575))
U8_aag(T576, T577, T575, addzF_out_aag(T576, T577, T575)) → addA_out_aag(zero(T576), zero(T577), zero(T575))
addA_in_aag(zero(T596), one(T597), one(T595)) → U9_aag(T596, T597, T595, addxG_in_aag(T596, T597, T595))
U9_aag(T596, T597, T595, addxG_out_aag(T596, T597, T595)) → addA_out_aag(zero(T596), one(T597), one(T595))
addA_in_aag(one(T614), zero(T615), one(T613)) → U10_aag(T614, T615, T613, addyH_in_aag(T614, T615, T613))
U10_aag(T614, T615, T613, addyH_out_aag(T614, T615, T613)) → addA_out_aag(one(T614), zero(T615), one(T613))
addA_in_aag(one(T626), one(T627), zero(T625)) → U11_aag(T626, T627, T625, addcI_in_aag(T626, T627, T625))
U11_aag(T626, T627, T625, addcI_out_aag(T626, T627, T625)) → addA_out_aag(one(T626), one(T627), zero(T625))

The argument filtering Pi contains the following mapping:
addA_in_aag(x1, x2, x3)  =  addA_in_aag(x3)
b  =  b
addA_out_aag(x1, x2, x3)  =  addA_out_aag(x1, x2, x3)
zero(x1)  =  zero(x1)
U1_aag(x1, x2)  =  U1_aag(x1, x2)
binaryZC_in_g(x1)  =  binaryZC_in_g(x1)
U12_g(x1, x2)  =  U12_g(x1, x2)
one(x1)  =  one(x1)
U13_g(x1, x2)  =  U13_g(x1, x2)
binaryD_in_g(x1)  =  binaryD_in_g(x1)
binaryD_out_g(x1)  =  binaryD_out_g(x1)
U14_g(x1, x2)  =  U14_g(x1, x2)
binaryZC_out_g(x1)  =  binaryZC_out_g(x1)
U15_g(x1, x2)  =  U15_g(x1, x2)
U2_aag(x1, x2)  =  U2_aag(x1, x2)
U3_aag(x1, x2)  =  U3_aag(x1, x2)
U4_aag(x1, x2, x3, x4)  =  U4_aag(x3, x4)
addzE_in_aag(x1, x2, x3)  =  addzE_in_aag(x3)
U41_aag(x1, x2, x3, x4)  =  U41_aag(x3, x4)
addzF_in_aag(x1, x2, x3)  =  addzF_in_aag(x3)
U16_aag(x1, x2, x3, x4)  =  U16_aag(x3, x4)
U17_aag(x1, x2, x3, x4)  =  U17_aag(x3, x4)
addxG_in_aag(x1, x2, x3)  =  addxG_in_aag(x3)
U35_aag(x1, x2)  =  U35_aag(x1, x2)
addxG_out_aag(x1, x2, x3)  =  addxG_out_aag(x1, x2, x3)
U36_aag(x1, x2)  =  U36_aag(x1, x2)
U37_aag(x1, x2, x3, x4)  =  U37_aag(x3, x4)
U18_aag(x1, x2, x3, x4)  =  U18_aag(x3, x4)
addyH_in_aag(x1, x2, x3)  =  addyH_in_aag(x3)
U38_aag(x1, x2)  =  U38_aag(x1, x2)
addyH_out_aag(x1, x2, x3)  =  addyH_out_aag(x1, x2, x3)
U39_aag(x1, x2)  =  U39_aag(x1, x2)
U40_aag(x1, x2, x3, x4)  =  U40_aag(x3, x4)
U19_aag(x1, x2, x3, x4)  =  U19_aag(x3, x4)
addcI_in_aag(x1, x2, x3)  =  addcI_in_aag(x3)
addcI_out_aag(x1, x2, x3)  =  addcI_out_aag(x1, x2, x3)
U32_aag(x1, x2, x3)  =  U32_aag(x2, x3)
succZK_in_ag(x1, x2)  =  succZK_in_ag(x2)
U22_ag(x1, x2)  =  U22_ag(x1, x2)
succZK_out_ag(x1, x2)  =  succZK_out_ag(x1, x2)
U23_ag(x1, x2, x3)  =  U23_ag(x2, x3)
succJ_in_ag(x1, x2)  =  succJ_in_ag(x2)
succJ_out_ag(x1, x2)  =  succJ_out_ag(x1, x2)
U20_ag(x1, x2)  =  U20_ag(x1, x2)
U21_ag(x1, x2, x3)  =  U21_ag(x2, x3)
U33_aag(x1, x2, x3)  =  U33_aag(x2, x3)
U34_aag(x1, x2, x3, x4)  =  U34_aag(x3, x4)
addCL_in_aag(x1, x2, x3)  =  addCL_in_aag(x3)
U24_aag(x1, x2, x3, x4)  =  U24_aag(x3, x4)
addzF_out_aag(x1, x2, x3)  =  addzF_out_aag(x1, x2, x3)
addCL_out_aag(x1, x2, x3)  =  addCL_out_aag(x1, x2, x3)
U25_aag(x1, x2)  =  U25_aag(x1, x2)
U26_aag(x1, x2, x3)  =  U26_aag(x2, x3)
U27_aag(x1, x2, x3, x4)  =  U27_aag(x3, x4)
U28_aag(x1, x2)  =  U28_aag(x1, x2)
U29_aag(x1, x2, x3)  =  U29_aag(x2, x3)
U30_aag(x1, x2, x3, x4)  =  U30_aag(x3, x4)
U31_aag(x1, x2, x3, x4)  =  U31_aag(x3, x4)
addzE_out_aag(x1, x2, x3)  =  addzE_out_aag(x1, x2, x3)
U42_aag(x1, x2, x3, x4)  =  U42_aag(x3, x4)
U43_aag(x1, x2, x3, x4)  =  U43_aag(x3, x4)
U44_aag(x1, x2, x3, x4)  =  U44_aag(x3, x4)
U5_aag(x1, x2)  =  U5_aag(x1, x2)
U6_aag(x1, x2)  =  U6_aag(x1, x2)
U7_aag(x1, x2, x3, x4)  =  U7_aag(x3, x4)
U8_aag(x1, x2, x3, x4)  =  U8_aag(x3, x4)
U9_aag(x1, x2, x3, x4)  =  U9_aag(x3, x4)
U10_aag(x1, x2, x3, x4)  =  U10_aag(x3, x4)
U11_aag(x1, x2, x3, x4)  =  U11_aag(x3, x4)

(3) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem:
Pi DP problem:
The TRS P consists of the following rules:

ADDA_IN_AAG(zero(T69), b, zero(T69)) → U1_AAG(T69, binaryZC_in_g(T69))
ADDA_IN_AAG(zero(T69), b, zero(T69)) → BINARYZC_IN_G(T69)
BINARYZC_IN_G(zero(T75)) → U12_G(T75, binaryZC_in_g(T75))
BINARYZC_IN_G(zero(T75)) → BINARYZC_IN_G(T75)
BINARYZC_IN_G(one(T79)) → U13_G(T79, binaryD_in_g(T79))
BINARYZC_IN_G(one(T79)) → BINARYD_IN_G(T79)
BINARYD_IN_G(zero(T84)) → U14_G(T84, binaryZC_in_g(T84))
BINARYD_IN_G(zero(T84)) → BINARYZC_IN_G(T84)
BINARYD_IN_G(one(T88)) → U15_G(T88, binaryD_in_g(T88))
BINARYD_IN_G(one(T88)) → BINARYD_IN_G(T88)
ADDA_IN_AAG(one(T93), b, one(T93)) → U2_AAG(T93, binaryD_in_g(T93))
ADDA_IN_AAG(one(T93), b, one(T93)) → BINARYD_IN_G(T93)
ADDA_IN_AAG(b, T98, T98) → U3_AAG(T98, binaryZC_in_g(T98))
ADDA_IN_AAG(b, T98, T98) → BINARYZC_IN_G(T98)
ADDA_IN_AAG(T114, T115, T113) → U4_AAG(T114, T115, T113, addzE_in_aag(T114, T115, T113))
ADDA_IN_AAG(T114, T115, T113) → ADDZE_IN_AAG(T114, T115, T113)
ADDZE_IN_AAG(zero(T134), zero(T135), zero(T133)) → U41_AAG(T134, T135, T133, addzF_in_aag(T134, T135, T133))
ADDZE_IN_AAG(zero(T134), zero(T135), zero(T133)) → ADDZF_IN_AAG(T134, T135, T133)
ADDZF_IN_AAG(zero(T154), zero(T155), zero(T153)) → U16_AAG(T154, T155, T153, addzF_in_aag(T154, T155, T153))
ADDZF_IN_AAG(zero(T154), zero(T155), zero(T153)) → ADDZF_IN_AAG(T154, T155, T153)
ADDZF_IN_AAG(zero(T174), one(T175), one(T173)) → U17_AAG(T174, T175, T173, addxG_in_aag(T174, T175, T173))
ADDZF_IN_AAG(zero(T174), one(T175), one(T173)) → ADDXG_IN_AAG(T174, T175, T173)
ADDXG_IN_AAG(one(T181), b, one(T181)) → U35_AAG(T181, binaryD_in_g(T181))
ADDXG_IN_AAG(one(T181), b, one(T181)) → BINARYD_IN_G(T181)
ADDXG_IN_AAG(zero(T186), b, zero(T186)) → U36_AAG(T186, binaryZC_in_g(T186))
ADDXG_IN_AAG(zero(T186), b, zero(T186)) → BINARYZC_IN_G(T186)
ADDXG_IN_AAG(T202, T203, T201) → U37_AAG(T202, T203, T201, addzF_in_aag(T202, T203, T201))
ADDXG_IN_AAG(T202, T203, T201) → ADDZF_IN_AAG(T202, T203, T201)
ADDZF_IN_AAG(one(T222), zero(T223), one(T221)) → U18_AAG(T222, T223, T221, addyH_in_aag(T222, T223, T221))
ADDZF_IN_AAG(one(T222), zero(T223), one(T221)) → ADDYH_IN_AAG(T222, T223, T221)
ADDYH_IN_AAG(b, one(T229), one(T229)) → U38_AAG(T229, binaryD_in_g(T229))
ADDYH_IN_AAG(b, one(T229), one(T229)) → BINARYD_IN_G(T229)
ADDYH_IN_AAG(b, zero(T234), zero(T234)) → U39_AAG(T234, binaryZC_in_g(T234))
ADDYH_IN_AAG(b, zero(T234), zero(T234)) → BINARYZC_IN_G(T234)
ADDYH_IN_AAG(T250, T251, T249) → U40_AAG(T250, T251, T249, addzF_in_aag(T250, T251, T249))
ADDYH_IN_AAG(T250, T251, T249) → ADDZF_IN_AAG(T250, T251, T249)
ADDZF_IN_AAG(one(T264), one(T265), zero(T263)) → U19_AAG(T264, T265, T263, addcI_in_aag(T264, T265, T263))
ADDZF_IN_AAG(one(T264), one(T265), zero(T263)) → ADDCI_IN_AAG(T264, T265, T263)
ADDCI_IN_AAG(T276, b, T275) → U32_AAG(T276, T275, succZK_in_ag(T276, T275))
ADDCI_IN_AAG(T276, b, T275) → SUCCZK_IN_AG(T276, T275)
SUCCZK_IN_AG(zero(T282), one(T282)) → U22_AG(T282, binaryZC_in_g(T282))
SUCCZK_IN_AG(zero(T282), one(T282)) → BINARYZC_IN_G(T282)
SUCCZK_IN_AG(one(T290), zero(T289)) → U23_AG(T290, T289, succJ_in_ag(T290, T289))
SUCCZK_IN_AG(one(T290), zero(T289)) → SUCCJ_IN_AG(T290, T289)
SUCCJ_IN_AG(zero(T295), one(T295)) → U20_AG(T295, binaryZC_in_g(T295))
SUCCJ_IN_AG(zero(T295), one(T295)) → BINARYZC_IN_G(T295)
SUCCJ_IN_AG(one(T303), zero(T302)) → U21_AG(T303, T302, succJ_in_ag(T303, T302))
SUCCJ_IN_AG(one(T303), zero(T302)) → SUCCJ_IN_AG(T303, T302)
ADDCI_IN_AAG(b, T314, T313) → U33_AAG(T314, T313, succZK_in_ag(T314, T313))
ADDCI_IN_AAG(b, T314, T313) → SUCCZK_IN_AG(T314, T313)
ADDCI_IN_AAG(T330, T331, T329) → U34_AAG(T330, T331, T329, addCL_in_aag(T330, T331, T329))
ADDCI_IN_AAG(T330, T331, T329) → ADDCL_IN_AAG(T330, T331, T329)
ADDCL_IN_AAG(zero(T350), zero(T351), one(T349)) → U24_AAG(T350, T351, T349, addzF_in_aag(T350, T351, T349))
ADDCL_IN_AAG(zero(T350), zero(T351), one(T349)) → ADDZF_IN_AAG(T350, T351, T349)
ADDCL_IN_AAG(zero(zero(T377)), one(b), zero(one(T377))) → U25_AAG(T377, binaryZC_in_g(T377))
ADDCL_IN_AAG(zero(zero(T377)), one(b), zero(one(T377))) → BINARYZC_IN_G(T377)
ADDCL_IN_AAG(zero(one(T389)), one(b), zero(zero(T388))) → U26_AAG(T389, T388, succJ_in_ag(T389, T388))
ADDCL_IN_AAG(zero(one(T389)), one(b), zero(zero(T388))) → SUCCJ_IN_AG(T389, T388)
ADDCL_IN_AAG(zero(T404), one(T405), zero(T403)) → U27_AAG(T404, T405, T403, addCL_in_aag(T404, T405, T403))
ADDCL_IN_AAG(zero(T404), one(T405), zero(T403)) → ADDCL_IN_AAG(T404, T405, T403)
ADDCL_IN_AAG(one(b), zero(zero(T431)), zero(one(T431))) → U28_AAG(T431, binaryZC_in_g(T431))
ADDCL_IN_AAG(one(b), zero(zero(T431)), zero(one(T431))) → BINARYZC_IN_G(T431)
ADDCL_IN_AAG(one(b), zero(one(T443)), zero(zero(T442))) → U29_AAG(T443, T442, succJ_in_ag(T443, T442))
ADDCL_IN_AAG(one(b), zero(one(T443)), zero(zero(T442))) → SUCCJ_IN_AG(T443, T442)
ADDCL_IN_AAG(one(T458), zero(T459), zero(T457)) → U30_AAG(T458, T459, T457, addCL_in_aag(T458, T459, T457))
ADDCL_IN_AAG(one(T458), zero(T459), zero(T457)) → ADDCL_IN_AAG(T458, T459, T457)
ADDCL_IN_AAG(one(T472), one(T473), one(T471)) → U31_AAG(T472, T473, T471, addcI_in_aag(T472, T473, T471))
ADDCL_IN_AAG(one(T472), one(T473), one(T471)) → ADDCI_IN_AAG(T472, T473, T471)
ADDZE_IN_AAG(zero(T489), one(T490), one(T488)) → U42_AAG(T489, T490, T488, addxG_in_aag(T489, T490, T488))
ADDZE_IN_AAG(zero(T489), one(T490), one(T488)) → ADDXG_IN_AAG(T489, T490, T488)
ADDZE_IN_AAG(one(T507), zero(T508), one(T506)) → U43_AAG(T507, T508, T506, addyH_in_aag(T507, T508, T506))
ADDZE_IN_AAG(one(T507), zero(T508), one(T506)) → ADDYH_IN_AAG(T507, T508, T506)
ADDZE_IN_AAG(one(T519), one(T520), zero(T518)) → U44_AAG(T519, T520, T518, addcI_in_aag(T519, T520, T518))
ADDZE_IN_AAG(one(T519), one(T520), zero(T518)) → ADDCI_IN_AAG(T519, T520, T518)
ADDA_IN_AAG(b, zero(T527), zero(T527)) → U5_AAG(T527, binaryZC_in_g(T527))
ADDA_IN_AAG(b, zero(T527), zero(T527)) → BINARYZC_IN_G(T527)
ADDA_IN_AAG(b, one(T533), one(T533)) → U6_AAG(T533, binaryD_in_g(T533))
ADDA_IN_AAG(b, one(T533), one(T533)) → BINARYD_IN_G(T533)
ADDA_IN_AAG(T548, T549, T547) → U7_AAG(T548, T549, T547, addzE_in_aag(T548, T549, T547))
ADDA_IN_AAG(zero(T576), zero(T577), zero(T575)) → U8_AAG(T576, T577, T575, addzF_in_aag(T576, T577, T575))
ADDA_IN_AAG(zero(T576), zero(T577), zero(T575)) → ADDZF_IN_AAG(T576, T577, T575)
ADDA_IN_AAG(zero(T596), one(T597), one(T595)) → U9_AAG(T596, T597, T595, addxG_in_aag(T596, T597, T595))
ADDA_IN_AAG(zero(T596), one(T597), one(T595)) → ADDXG_IN_AAG(T596, T597, T595)
ADDA_IN_AAG(one(T614), zero(T615), one(T613)) → U10_AAG(T614, T615, T613, addyH_in_aag(T614, T615, T613))
ADDA_IN_AAG(one(T614), zero(T615), one(T613)) → ADDYH_IN_AAG(T614, T615, T613)
ADDA_IN_AAG(one(T626), one(T627), zero(T625)) → U11_AAG(T626, T627, T625, addcI_in_aag(T626, T627, T625))
ADDA_IN_AAG(one(T626), one(T627), zero(T625)) → ADDCI_IN_AAG(T626, T627, T625)

The TRS R consists of the following rules:

addA_in_aag(b, b, b) → addA_out_aag(b, b, b)
addA_in_aag(zero(T69), b, zero(T69)) → U1_aag(T69, binaryZC_in_g(T69))
binaryZC_in_g(zero(T75)) → U12_g(T75, binaryZC_in_g(T75))
binaryZC_in_g(one(T79)) → U13_g(T79, binaryD_in_g(T79))
binaryD_in_g(b) → binaryD_out_g(b)
binaryD_in_g(zero(T84)) → U14_g(T84, binaryZC_in_g(T84))
U14_g(T84, binaryZC_out_g(T84)) → binaryD_out_g(zero(T84))
binaryD_in_g(one(T88)) → U15_g(T88, binaryD_in_g(T88))
U15_g(T88, binaryD_out_g(T88)) → binaryD_out_g(one(T88))
U13_g(T79, binaryD_out_g(T79)) → binaryZC_out_g(one(T79))
U12_g(T75, binaryZC_out_g(T75)) → binaryZC_out_g(zero(T75))
U1_aag(T69, binaryZC_out_g(T69)) → addA_out_aag(zero(T69), b, zero(T69))
addA_in_aag(one(T93), b, one(T93)) → U2_aag(T93, binaryD_in_g(T93))
U2_aag(T93, binaryD_out_g(T93)) → addA_out_aag(one(T93), b, one(T93))
addA_in_aag(b, T98, T98) → U3_aag(T98, binaryZC_in_g(T98))
U3_aag(T98, binaryZC_out_g(T98)) → addA_out_aag(b, T98, T98)
addA_in_aag(T114, T115, T113) → U4_aag(T114, T115, T113, addzE_in_aag(T114, T115, T113))
addzE_in_aag(zero(T134), zero(T135), zero(T133)) → U41_aag(T134, T135, T133, addzF_in_aag(T134, T135, T133))
addzF_in_aag(zero(T154), zero(T155), zero(T153)) → U16_aag(T154, T155, T153, addzF_in_aag(T154, T155, T153))
addzF_in_aag(zero(T174), one(T175), one(T173)) → U17_aag(T174, T175, T173, addxG_in_aag(T174, T175, T173))
addxG_in_aag(one(T181), b, one(T181)) → U35_aag(T181, binaryD_in_g(T181))
U35_aag(T181, binaryD_out_g(T181)) → addxG_out_aag(one(T181), b, one(T181))
addxG_in_aag(zero(T186), b, zero(T186)) → U36_aag(T186, binaryZC_in_g(T186))
U36_aag(T186, binaryZC_out_g(T186)) → addxG_out_aag(zero(T186), b, zero(T186))
addxG_in_aag(T202, T203, T201) → U37_aag(T202, T203, T201, addzF_in_aag(T202, T203, T201))
addzF_in_aag(one(T222), zero(T223), one(T221)) → U18_aag(T222, T223, T221, addyH_in_aag(T222, T223, T221))
addyH_in_aag(b, one(T229), one(T229)) → U38_aag(T229, binaryD_in_g(T229))
U38_aag(T229, binaryD_out_g(T229)) → addyH_out_aag(b, one(T229), one(T229))
addyH_in_aag(b, zero(T234), zero(T234)) → U39_aag(T234, binaryZC_in_g(T234))
U39_aag(T234, binaryZC_out_g(T234)) → addyH_out_aag(b, zero(T234), zero(T234))
addyH_in_aag(T250, T251, T249) → U40_aag(T250, T251, T249, addzF_in_aag(T250, T251, T249))
addzF_in_aag(one(T264), one(T265), zero(T263)) → U19_aag(T264, T265, T263, addcI_in_aag(T264, T265, T263))
addcI_in_aag(b, b, one(b)) → addcI_out_aag(b, b, one(b))
addcI_in_aag(T276, b, T275) → U32_aag(T276, T275, succZK_in_ag(T276, T275))
succZK_in_ag(zero(T282), one(T282)) → U22_ag(T282, binaryZC_in_g(T282))
U22_ag(T282, binaryZC_out_g(T282)) → succZK_out_ag(zero(T282), one(T282))
succZK_in_ag(one(T290), zero(T289)) → U23_ag(T290, T289, succJ_in_ag(T290, T289))
succJ_in_ag(b, one(b)) → succJ_out_ag(b, one(b))
succJ_in_ag(zero(T295), one(T295)) → U20_ag(T295, binaryZC_in_g(T295))
U20_ag(T295, binaryZC_out_g(T295)) → succJ_out_ag(zero(T295), one(T295))
succJ_in_ag(one(T303), zero(T302)) → U21_ag(T303, T302, succJ_in_ag(T303, T302))
U21_ag(T303, T302, succJ_out_ag(T303, T302)) → succJ_out_ag(one(T303), zero(T302))
U23_ag(T290, T289, succJ_out_ag(T290, T289)) → succZK_out_ag(one(T290), zero(T289))
U32_aag(T276, T275, succZK_out_ag(T276, T275)) → addcI_out_aag(T276, b, T275)
addcI_in_aag(b, T314, T313) → U33_aag(T314, T313, succZK_in_ag(T314, T313))
U33_aag(T314, T313, succZK_out_ag(T314, T313)) → addcI_out_aag(b, T314, T313)
addcI_in_aag(T330, T331, T329) → U34_aag(T330, T331, T329, addCL_in_aag(T330, T331, T329))
addCL_in_aag(zero(T350), zero(T351), one(T349)) → U24_aag(T350, T351, T349, addzF_in_aag(T350, T351, T349))
U24_aag(T350, T351, T349, addzF_out_aag(T350, T351, T349)) → addCL_out_aag(zero(T350), zero(T351), one(T349))
addCL_in_aag(zero(zero(T377)), one(b), zero(one(T377))) → U25_aag(T377, binaryZC_in_g(T377))
U25_aag(T377, binaryZC_out_g(T377)) → addCL_out_aag(zero(zero(T377)), one(b), zero(one(T377)))
addCL_in_aag(zero(one(T389)), one(b), zero(zero(T388))) → U26_aag(T389, T388, succJ_in_ag(T389, T388))
U26_aag(T389, T388, succJ_out_ag(T389, T388)) → addCL_out_aag(zero(one(T389)), one(b), zero(zero(T388)))
addCL_in_aag(zero(T404), one(T405), zero(T403)) → U27_aag(T404, T405, T403, addCL_in_aag(T404, T405, T403))
addCL_in_aag(one(b), zero(zero(T431)), zero(one(T431))) → U28_aag(T431, binaryZC_in_g(T431))
U28_aag(T431, binaryZC_out_g(T431)) → addCL_out_aag(one(b), zero(zero(T431)), zero(one(T431)))
addCL_in_aag(one(b), zero(one(T443)), zero(zero(T442))) → U29_aag(T443, T442, succJ_in_ag(T443, T442))
U29_aag(T443, T442, succJ_out_ag(T443, T442)) → addCL_out_aag(one(b), zero(one(T443)), zero(zero(T442)))
addCL_in_aag(one(T458), zero(T459), zero(T457)) → U30_aag(T458, T459, T457, addCL_in_aag(T458, T459, T457))
addCL_in_aag(one(T472), one(T473), one(T471)) → U31_aag(T472, T473, T471, addcI_in_aag(T472, T473, T471))
U31_aag(T472, T473, T471, addcI_out_aag(T472, T473, T471)) → addCL_out_aag(one(T472), one(T473), one(T471))
U30_aag(T458, T459, T457, addCL_out_aag(T458, T459, T457)) → addCL_out_aag(one(T458), zero(T459), zero(T457))
U27_aag(T404, T405, T403, addCL_out_aag(T404, T405, T403)) → addCL_out_aag(zero(T404), one(T405), zero(T403))
U34_aag(T330, T331, T329, addCL_out_aag(T330, T331, T329)) → addcI_out_aag(T330, T331, T329)
U19_aag(T264, T265, T263, addcI_out_aag(T264, T265, T263)) → addzF_out_aag(one(T264), one(T265), zero(T263))
U40_aag(T250, T251, T249, addzF_out_aag(T250, T251, T249)) → addyH_out_aag(T250, T251, T249)
U18_aag(T222, T223, T221, addyH_out_aag(T222, T223, T221)) → addzF_out_aag(one(T222), zero(T223), one(T221))
U37_aag(T202, T203, T201, addzF_out_aag(T202, T203, T201)) → addxG_out_aag(T202, T203, T201)
U17_aag(T174, T175, T173, addxG_out_aag(T174, T175, T173)) → addzF_out_aag(zero(T174), one(T175), one(T173))
U16_aag(T154, T155, T153, addzF_out_aag(T154, T155, T153)) → addzF_out_aag(zero(T154), zero(T155), zero(T153))
U41_aag(T134, T135, T133, addzF_out_aag(T134, T135, T133)) → addzE_out_aag(zero(T134), zero(T135), zero(T133))
addzE_in_aag(zero(T489), one(T490), one(T488)) → U42_aag(T489, T490, T488, addxG_in_aag(T489, T490, T488))
U42_aag(T489, T490, T488, addxG_out_aag(T489, T490, T488)) → addzE_out_aag(zero(T489), one(T490), one(T488))
addzE_in_aag(one(T507), zero(T508), one(T506)) → U43_aag(T507, T508, T506, addyH_in_aag(T507, T508, T506))
U43_aag(T507, T508, T506, addyH_out_aag(T507, T508, T506)) → addzE_out_aag(one(T507), zero(T508), one(T506))
addzE_in_aag(one(T519), one(T520), zero(T518)) → U44_aag(T519, T520, T518, addcI_in_aag(T519, T520, T518))
U44_aag(T519, T520, T518, addcI_out_aag(T519, T520, T518)) → addzE_out_aag(one(T519), one(T520), zero(T518))
U4_aag(T114, T115, T113, addzE_out_aag(T114, T115, T113)) → addA_out_aag(T114, T115, T113)
addA_in_aag(b, zero(T527), zero(T527)) → U5_aag(T527, binaryZC_in_g(T527))
U5_aag(T527, binaryZC_out_g(T527)) → addA_out_aag(b, zero(T527), zero(T527))
addA_in_aag(b, one(T533), one(T533)) → U6_aag(T533, binaryD_in_g(T533))
U6_aag(T533, binaryD_out_g(T533)) → addA_out_aag(b, one(T533), one(T533))
addA_in_aag(T548, T549, T547) → U7_aag(T548, T549, T547, addzE_in_aag(T548, T549, T547))
U7_aag(T548, T549, T547, addzE_out_aag(T548, T549, T547)) → addA_out_aag(T548, T549, T547)
addA_in_aag(zero(T576), zero(T577), zero(T575)) → U8_aag(T576, T577, T575, addzF_in_aag(T576, T577, T575))
U8_aag(T576, T577, T575, addzF_out_aag(T576, T577, T575)) → addA_out_aag(zero(T576), zero(T577), zero(T575))
addA_in_aag(zero(T596), one(T597), one(T595)) → U9_aag(T596, T597, T595, addxG_in_aag(T596, T597, T595))
U9_aag(T596, T597, T595, addxG_out_aag(T596, T597, T595)) → addA_out_aag(zero(T596), one(T597), one(T595))
addA_in_aag(one(T614), zero(T615), one(T613)) → U10_aag(T614, T615, T613, addyH_in_aag(T614, T615, T613))
U10_aag(T614, T615, T613, addyH_out_aag(T614, T615, T613)) → addA_out_aag(one(T614), zero(T615), one(T613))
addA_in_aag(one(T626), one(T627), zero(T625)) → U11_aag(T626, T627, T625, addcI_in_aag(T626, T627, T625))
U11_aag(T626, T627, T625, addcI_out_aag(T626, T627, T625)) → addA_out_aag(one(T626), one(T627), zero(T625))

The argument filtering Pi contains the following mapping:
addA_in_aag(x1, x2, x3)  =  addA_in_aag(x3)
b  =  b
addA_out_aag(x1, x2, x3)  =  addA_out_aag(x1, x2, x3)
zero(x1)  =  zero(x1)
U1_aag(x1, x2)  =  U1_aag(x1, x2)
binaryZC_in_g(x1)  =  binaryZC_in_g(x1)
U12_g(x1, x2)  =  U12_g(x1, x2)
one(x1)  =  one(x1)
U13_g(x1, x2)  =  U13_g(x1, x2)
binaryD_in_g(x1)  =  binaryD_in_g(x1)
binaryD_out_g(x1)  =  binaryD_out_g(x1)
U14_g(x1, x2)  =  U14_g(x1, x2)
binaryZC_out_g(x1)  =  binaryZC_out_g(x1)
U15_g(x1, x2)  =  U15_g(x1, x2)
U2_aag(x1, x2)  =  U2_aag(x1, x2)
U3_aag(x1, x2)  =  U3_aag(x1, x2)
U4_aag(x1, x2, x3, x4)  =  U4_aag(x3, x4)
addzE_in_aag(x1, x2, x3)  =  addzE_in_aag(x3)
U41_aag(x1, x2, x3, x4)  =  U41_aag(x3, x4)
addzF_in_aag(x1, x2, x3)  =  addzF_in_aag(x3)
U16_aag(x1, x2, x3, x4)  =  U16_aag(x3, x4)
U17_aag(x1, x2, x3, x4)  =  U17_aag(x3, x4)
addxG_in_aag(x1, x2, x3)  =  addxG_in_aag(x3)
U35_aag(x1, x2)  =  U35_aag(x1, x2)
addxG_out_aag(x1, x2, x3)  =  addxG_out_aag(x1, x2, x3)
U36_aag(x1, x2)  =  U36_aag(x1, x2)
U37_aag(x1, x2, x3, x4)  =  U37_aag(x3, x4)
U18_aag(x1, x2, x3, x4)  =  U18_aag(x3, x4)
addyH_in_aag(x1, x2, x3)  =  addyH_in_aag(x3)
U38_aag(x1, x2)  =  U38_aag(x1, x2)
addyH_out_aag(x1, x2, x3)  =  addyH_out_aag(x1, x2, x3)
U39_aag(x1, x2)  =  U39_aag(x1, x2)
U40_aag(x1, x2, x3, x4)  =  U40_aag(x3, x4)
U19_aag(x1, x2, x3, x4)  =  U19_aag(x3, x4)
addcI_in_aag(x1, x2, x3)  =  addcI_in_aag(x3)
addcI_out_aag(x1, x2, x3)  =  addcI_out_aag(x1, x2, x3)
U32_aag(x1, x2, x3)  =  U32_aag(x2, x3)
succZK_in_ag(x1, x2)  =  succZK_in_ag(x2)
U22_ag(x1, x2)  =  U22_ag(x1, x2)
succZK_out_ag(x1, x2)  =  succZK_out_ag(x1, x2)
U23_ag(x1, x2, x3)  =  U23_ag(x2, x3)
succJ_in_ag(x1, x2)  =  succJ_in_ag(x2)
succJ_out_ag(x1, x2)  =  succJ_out_ag(x1, x2)
U20_ag(x1, x2)  =  U20_ag(x1, x2)
U21_ag(x1, x2, x3)  =  U21_ag(x2, x3)
U33_aag(x1, x2, x3)  =  U33_aag(x2, x3)
U34_aag(x1, x2, x3, x4)  =  U34_aag(x3, x4)
addCL_in_aag(x1, x2, x3)  =  addCL_in_aag(x3)
U24_aag(x1, x2, x3, x4)  =  U24_aag(x3, x4)
addzF_out_aag(x1, x2, x3)  =  addzF_out_aag(x1, x2, x3)
addCL_out_aag(x1, x2, x3)  =  addCL_out_aag(x1, x2, x3)
U25_aag(x1, x2)  =  U25_aag(x1, x2)
U26_aag(x1, x2, x3)  =  U26_aag(x2, x3)
U27_aag(x1, x2, x3, x4)  =  U27_aag(x3, x4)
U28_aag(x1, x2)  =  U28_aag(x1, x2)
U29_aag(x1, x2, x3)  =  U29_aag(x2, x3)
U30_aag(x1, x2, x3, x4)  =  U30_aag(x3, x4)
U31_aag(x1, x2, x3, x4)  =  U31_aag(x3, x4)
addzE_out_aag(x1, x2, x3)  =  addzE_out_aag(x1, x2, x3)
U42_aag(x1, x2, x3, x4)  =  U42_aag(x3, x4)
U43_aag(x1, x2, x3, x4)  =  U43_aag(x3, x4)
U44_aag(x1, x2, x3, x4)  =  U44_aag(x3, x4)
U5_aag(x1, x2)  =  U5_aag(x1, x2)
U6_aag(x1, x2)  =  U6_aag(x1, x2)
U7_aag(x1, x2, x3, x4)  =  U7_aag(x3, x4)
U8_aag(x1, x2, x3, x4)  =  U8_aag(x3, x4)
U9_aag(x1, x2, x3, x4)  =  U9_aag(x3, x4)
U10_aag(x1, x2, x3, x4)  =  U10_aag(x3, x4)
U11_aag(x1, x2, x3, x4)  =  U11_aag(x3, x4)
ADDA_IN_AAG(x1, x2, x3)  =  ADDA_IN_AAG(x3)
U1_AAG(x1, x2)  =  U1_AAG(x1, x2)
BINARYZC_IN_G(x1)  =  BINARYZC_IN_G(x1)
U12_G(x1, x2)  =  U12_G(x1, x2)
U13_G(x1, x2)  =  U13_G(x1, x2)
BINARYD_IN_G(x1)  =  BINARYD_IN_G(x1)
U14_G(x1, x2)  =  U14_G(x1, x2)
U15_G(x1, x2)  =  U15_G(x1, x2)
U2_AAG(x1, x2)  =  U2_AAG(x1, x2)
U3_AAG(x1, x2)  =  U3_AAG(x1, x2)
U4_AAG(x1, x2, x3, x4)  =  U4_AAG(x3, x4)
ADDZE_IN_AAG(x1, x2, x3)  =  ADDZE_IN_AAG(x3)
U41_AAG(x1, x2, x3, x4)  =  U41_AAG(x3, x4)
ADDZF_IN_AAG(x1, x2, x3)  =  ADDZF_IN_AAG(x3)
U16_AAG(x1, x2, x3, x4)  =  U16_AAG(x3, x4)
U17_AAG(x1, x2, x3, x4)  =  U17_AAG(x3, x4)
ADDXG_IN_AAG(x1, x2, x3)  =  ADDXG_IN_AAG(x3)
U35_AAG(x1, x2)  =  U35_AAG(x1, x2)
U36_AAG(x1, x2)  =  U36_AAG(x1, x2)
U37_AAG(x1, x2, x3, x4)  =  U37_AAG(x3, x4)
U18_AAG(x1, x2, x3, x4)  =  U18_AAG(x3, x4)
ADDYH_IN_AAG(x1, x2, x3)  =  ADDYH_IN_AAG(x3)
U38_AAG(x1, x2)  =  U38_AAG(x1, x2)
U39_AAG(x1, x2)  =  U39_AAG(x1, x2)
U40_AAG(x1, x2, x3, x4)  =  U40_AAG(x3, x4)
U19_AAG(x1, x2, x3, x4)  =  U19_AAG(x3, x4)
ADDCI_IN_AAG(x1, x2, x3)  =  ADDCI_IN_AAG(x3)
U32_AAG(x1, x2, x3)  =  U32_AAG(x2, x3)
SUCCZK_IN_AG(x1, x2)  =  SUCCZK_IN_AG(x2)
U22_AG(x1, x2)  =  U22_AG(x1, x2)
U23_AG(x1, x2, x3)  =  U23_AG(x2, x3)
SUCCJ_IN_AG(x1, x2)  =  SUCCJ_IN_AG(x2)
U20_AG(x1, x2)  =  U20_AG(x1, x2)
U21_AG(x1, x2, x3)  =  U21_AG(x2, x3)
U33_AAG(x1, x2, x3)  =  U33_AAG(x2, x3)
U34_AAG(x1, x2, x3, x4)  =  U34_AAG(x3, x4)
ADDCL_IN_AAG(x1, x2, x3)  =  ADDCL_IN_AAG(x3)
U24_AAG(x1, x2, x3, x4)  =  U24_AAG(x3, x4)
U25_AAG(x1, x2)  =  U25_AAG(x1, x2)
U26_AAG(x1, x2, x3)  =  U26_AAG(x2, x3)
U27_AAG(x1, x2, x3, x4)  =  U27_AAG(x3, x4)
U28_AAG(x1, x2)  =  U28_AAG(x1, x2)
U29_AAG(x1, x2, x3)  =  U29_AAG(x2, x3)
U30_AAG(x1, x2, x3, x4)  =  U30_AAG(x3, x4)
U31_AAG(x1, x2, x3, x4)  =  U31_AAG(x3, x4)
U42_AAG(x1, x2, x3, x4)  =  U42_AAG(x3, x4)
U43_AAG(x1, x2, x3, x4)  =  U43_AAG(x3, x4)
U44_AAG(x1, x2, x3, x4)  =  U44_AAG(x3, x4)
U5_AAG(x1, x2)  =  U5_AAG(x1, x2)
U6_AAG(x1, x2)  =  U6_AAG(x1, x2)
U7_AAG(x1, x2, x3, x4)  =  U7_AAG(x3, x4)
U8_AAG(x1, x2, x3, x4)  =  U8_AAG(x3, x4)
U9_AAG(x1, x2, x3, x4)  =  U9_AAG(x3, x4)
U10_AAG(x1, x2, x3, x4)  =  U10_AAG(x3, x4)
U11_AAG(x1, x2, x3, x4)  =  U11_AAG(x3, x4)

We have to consider all (P,R,Pi)-chains

(4) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

ADDA_IN_AAG(zero(T69), b, zero(T69)) → U1_AAG(T69, binaryZC_in_g(T69))
ADDA_IN_AAG(zero(T69), b, zero(T69)) → BINARYZC_IN_G(T69)
BINARYZC_IN_G(zero(T75)) → U12_G(T75, binaryZC_in_g(T75))
BINARYZC_IN_G(zero(T75)) → BINARYZC_IN_G(T75)
BINARYZC_IN_G(one(T79)) → U13_G(T79, binaryD_in_g(T79))
BINARYZC_IN_G(one(T79)) → BINARYD_IN_G(T79)
BINARYD_IN_G(zero(T84)) → U14_G(T84, binaryZC_in_g(T84))
BINARYD_IN_G(zero(T84)) → BINARYZC_IN_G(T84)
BINARYD_IN_G(one(T88)) → U15_G(T88, binaryD_in_g(T88))
BINARYD_IN_G(one(T88)) → BINARYD_IN_G(T88)
ADDA_IN_AAG(one(T93), b, one(T93)) → U2_AAG(T93, binaryD_in_g(T93))
ADDA_IN_AAG(one(T93), b, one(T93)) → BINARYD_IN_G(T93)
ADDA_IN_AAG(b, T98, T98) → U3_AAG(T98, binaryZC_in_g(T98))
ADDA_IN_AAG(b, T98, T98) → BINARYZC_IN_G(T98)
ADDA_IN_AAG(T114, T115, T113) → U4_AAG(T114, T115, T113, addzE_in_aag(T114, T115, T113))
ADDA_IN_AAG(T114, T115, T113) → ADDZE_IN_AAG(T114, T115, T113)
ADDZE_IN_AAG(zero(T134), zero(T135), zero(T133)) → U41_AAG(T134, T135, T133, addzF_in_aag(T134, T135, T133))
ADDZE_IN_AAG(zero(T134), zero(T135), zero(T133)) → ADDZF_IN_AAG(T134, T135, T133)
ADDZF_IN_AAG(zero(T154), zero(T155), zero(T153)) → U16_AAG(T154, T155, T153, addzF_in_aag(T154, T155, T153))
ADDZF_IN_AAG(zero(T154), zero(T155), zero(T153)) → ADDZF_IN_AAG(T154, T155, T153)
ADDZF_IN_AAG(zero(T174), one(T175), one(T173)) → U17_AAG(T174, T175, T173, addxG_in_aag(T174, T175, T173))
ADDZF_IN_AAG(zero(T174), one(T175), one(T173)) → ADDXG_IN_AAG(T174, T175, T173)
ADDXG_IN_AAG(one(T181), b, one(T181)) → U35_AAG(T181, binaryD_in_g(T181))
ADDXG_IN_AAG(one(T181), b, one(T181)) → BINARYD_IN_G(T181)
ADDXG_IN_AAG(zero(T186), b, zero(T186)) → U36_AAG(T186, binaryZC_in_g(T186))
ADDXG_IN_AAG(zero(T186), b, zero(T186)) → BINARYZC_IN_G(T186)
ADDXG_IN_AAG(T202, T203, T201) → U37_AAG(T202, T203, T201, addzF_in_aag(T202, T203, T201))
ADDXG_IN_AAG(T202, T203, T201) → ADDZF_IN_AAG(T202, T203, T201)
ADDZF_IN_AAG(one(T222), zero(T223), one(T221)) → U18_AAG(T222, T223, T221, addyH_in_aag(T222, T223, T221))
ADDZF_IN_AAG(one(T222), zero(T223), one(T221)) → ADDYH_IN_AAG(T222, T223, T221)
ADDYH_IN_AAG(b, one(T229), one(T229)) → U38_AAG(T229, binaryD_in_g(T229))
ADDYH_IN_AAG(b, one(T229), one(T229)) → BINARYD_IN_G(T229)
ADDYH_IN_AAG(b, zero(T234), zero(T234)) → U39_AAG(T234, binaryZC_in_g(T234))
ADDYH_IN_AAG(b, zero(T234), zero(T234)) → BINARYZC_IN_G(T234)
ADDYH_IN_AAG(T250, T251, T249) → U40_AAG(T250, T251, T249, addzF_in_aag(T250, T251, T249))
ADDYH_IN_AAG(T250, T251, T249) → ADDZF_IN_AAG(T250, T251, T249)
ADDZF_IN_AAG(one(T264), one(T265), zero(T263)) → U19_AAG(T264, T265, T263, addcI_in_aag(T264, T265, T263))
ADDZF_IN_AAG(one(T264), one(T265), zero(T263)) → ADDCI_IN_AAG(T264, T265, T263)
ADDCI_IN_AAG(T276, b, T275) → U32_AAG(T276, T275, succZK_in_ag(T276, T275))
ADDCI_IN_AAG(T276, b, T275) → SUCCZK_IN_AG(T276, T275)
SUCCZK_IN_AG(zero(T282), one(T282)) → U22_AG(T282, binaryZC_in_g(T282))
SUCCZK_IN_AG(zero(T282), one(T282)) → BINARYZC_IN_G(T282)
SUCCZK_IN_AG(one(T290), zero(T289)) → U23_AG(T290, T289, succJ_in_ag(T290, T289))
SUCCZK_IN_AG(one(T290), zero(T289)) → SUCCJ_IN_AG(T290, T289)
SUCCJ_IN_AG(zero(T295), one(T295)) → U20_AG(T295, binaryZC_in_g(T295))
SUCCJ_IN_AG(zero(T295), one(T295)) → BINARYZC_IN_G(T295)
SUCCJ_IN_AG(one(T303), zero(T302)) → U21_AG(T303, T302, succJ_in_ag(T303, T302))
SUCCJ_IN_AG(one(T303), zero(T302)) → SUCCJ_IN_AG(T303, T302)
ADDCI_IN_AAG(b, T314, T313) → U33_AAG(T314, T313, succZK_in_ag(T314, T313))
ADDCI_IN_AAG(b, T314, T313) → SUCCZK_IN_AG(T314, T313)
ADDCI_IN_AAG(T330, T331, T329) → U34_AAG(T330, T331, T329, addCL_in_aag(T330, T331, T329))
ADDCI_IN_AAG(T330, T331, T329) → ADDCL_IN_AAG(T330, T331, T329)
ADDCL_IN_AAG(zero(T350), zero(T351), one(T349)) → U24_AAG(T350, T351, T349, addzF_in_aag(T350, T351, T349))
ADDCL_IN_AAG(zero(T350), zero(T351), one(T349)) → ADDZF_IN_AAG(T350, T351, T349)
ADDCL_IN_AAG(zero(zero(T377)), one(b), zero(one(T377))) → U25_AAG(T377, binaryZC_in_g(T377))
ADDCL_IN_AAG(zero(zero(T377)), one(b), zero(one(T377))) → BINARYZC_IN_G(T377)
ADDCL_IN_AAG(zero(one(T389)), one(b), zero(zero(T388))) → U26_AAG(T389, T388, succJ_in_ag(T389, T388))
ADDCL_IN_AAG(zero(one(T389)), one(b), zero(zero(T388))) → SUCCJ_IN_AG(T389, T388)
ADDCL_IN_AAG(zero(T404), one(T405), zero(T403)) → U27_AAG(T404, T405, T403, addCL_in_aag(T404, T405, T403))
ADDCL_IN_AAG(zero(T404), one(T405), zero(T403)) → ADDCL_IN_AAG(T404, T405, T403)
ADDCL_IN_AAG(one(b), zero(zero(T431)), zero(one(T431))) → U28_AAG(T431, binaryZC_in_g(T431))
ADDCL_IN_AAG(one(b), zero(zero(T431)), zero(one(T431))) → BINARYZC_IN_G(T431)
ADDCL_IN_AAG(one(b), zero(one(T443)), zero(zero(T442))) → U29_AAG(T443, T442, succJ_in_ag(T443, T442))
ADDCL_IN_AAG(one(b), zero(one(T443)), zero(zero(T442))) → SUCCJ_IN_AG(T443, T442)
ADDCL_IN_AAG(one(T458), zero(T459), zero(T457)) → U30_AAG(T458, T459, T457, addCL_in_aag(T458, T459, T457))
ADDCL_IN_AAG(one(T458), zero(T459), zero(T457)) → ADDCL_IN_AAG(T458, T459, T457)
ADDCL_IN_AAG(one(T472), one(T473), one(T471)) → U31_AAG(T472, T473, T471, addcI_in_aag(T472, T473, T471))
ADDCL_IN_AAG(one(T472), one(T473), one(T471)) → ADDCI_IN_AAG(T472, T473, T471)
ADDZE_IN_AAG(zero(T489), one(T490), one(T488)) → U42_AAG(T489, T490, T488, addxG_in_aag(T489, T490, T488))
ADDZE_IN_AAG(zero(T489), one(T490), one(T488)) → ADDXG_IN_AAG(T489, T490, T488)
ADDZE_IN_AAG(one(T507), zero(T508), one(T506)) → U43_AAG(T507, T508, T506, addyH_in_aag(T507, T508, T506))
ADDZE_IN_AAG(one(T507), zero(T508), one(T506)) → ADDYH_IN_AAG(T507, T508, T506)
ADDZE_IN_AAG(one(T519), one(T520), zero(T518)) → U44_AAG(T519, T520, T518, addcI_in_aag(T519, T520, T518))
ADDZE_IN_AAG(one(T519), one(T520), zero(T518)) → ADDCI_IN_AAG(T519, T520, T518)
ADDA_IN_AAG(b, zero(T527), zero(T527)) → U5_AAG(T527, binaryZC_in_g(T527))
ADDA_IN_AAG(b, zero(T527), zero(T527)) → BINARYZC_IN_G(T527)
ADDA_IN_AAG(b, one(T533), one(T533)) → U6_AAG(T533, binaryD_in_g(T533))
ADDA_IN_AAG(b, one(T533), one(T533)) → BINARYD_IN_G(T533)
ADDA_IN_AAG(T548, T549, T547) → U7_AAG(T548, T549, T547, addzE_in_aag(T548, T549, T547))
ADDA_IN_AAG(zero(T576), zero(T577), zero(T575)) → U8_AAG(T576, T577, T575, addzF_in_aag(T576, T577, T575))
ADDA_IN_AAG(zero(T576), zero(T577), zero(T575)) → ADDZF_IN_AAG(T576, T577, T575)
ADDA_IN_AAG(zero(T596), one(T597), one(T595)) → U9_AAG(T596, T597, T595, addxG_in_aag(T596, T597, T595))
ADDA_IN_AAG(zero(T596), one(T597), one(T595)) → ADDXG_IN_AAG(T596, T597, T595)
ADDA_IN_AAG(one(T614), zero(T615), one(T613)) → U10_AAG(T614, T615, T613, addyH_in_aag(T614, T615, T613))
ADDA_IN_AAG(one(T614), zero(T615), one(T613)) → ADDYH_IN_AAG(T614, T615, T613)
ADDA_IN_AAG(one(T626), one(T627), zero(T625)) → U11_AAG(T626, T627, T625, addcI_in_aag(T626, T627, T625))
ADDA_IN_AAG(one(T626), one(T627), zero(T625)) → ADDCI_IN_AAG(T626, T627, T625)

The TRS R consists of the following rules:

addA_in_aag(b, b, b) → addA_out_aag(b, b, b)
addA_in_aag(zero(T69), b, zero(T69)) → U1_aag(T69, binaryZC_in_g(T69))
binaryZC_in_g(zero(T75)) → U12_g(T75, binaryZC_in_g(T75))
binaryZC_in_g(one(T79)) → U13_g(T79, binaryD_in_g(T79))
binaryD_in_g(b) → binaryD_out_g(b)
binaryD_in_g(zero(T84)) → U14_g(T84, binaryZC_in_g(T84))
U14_g(T84, binaryZC_out_g(T84)) → binaryD_out_g(zero(T84))
binaryD_in_g(one(T88)) → U15_g(T88, binaryD_in_g(T88))
U15_g(T88, binaryD_out_g(T88)) → binaryD_out_g(one(T88))
U13_g(T79, binaryD_out_g(T79)) → binaryZC_out_g(one(T79))
U12_g(T75, binaryZC_out_g(T75)) → binaryZC_out_g(zero(T75))
U1_aag(T69, binaryZC_out_g(T69)) → addA_out_aag(zero(T69), b, zero(T69))
addA_in_aag(one(T93), b, one(T93)) → U2_aag(T93, binaryD_in_g(T93))
U2_aag(T93, binaryD_out_g(T93)) → addA_out_aag(one(T93), b, one(T93))
addA_in_aag(b, T98, T98) → U3_aag(T98, binaryZC_in_g(T98))
U3_aag(T98, binaryZC_out_g(T98)) → addA_out_aag(b, T98, T98)
addA_in_aag(T114, T115, T113) → U4_aag(T114, T115, T113, addzE_in_aag(T114, T115, T113))
addzE_in_aag(zero(T134), zero(T135), zero(T133)) → U41_aag(T134, T135, T133, addzF_in_aag(T134, T135, T133))
addzF_in_aag(zero(T154), zero(T155), zero(T153)) → U16_aag(T154, T155, T153, addzF_in_aag(T154, T155, T153))
addzF_in_aag(zero(T174), one(T175), one(T173)) → U17_aag(T174, T175, T173, addxG_in_aag(T174, T175, T173))
addxG_in_aag(one(T181), b, one(T181)) → U35_aag(T181, binaryD_in_g(T181))
U35_aag(T181, binaryD_out_g(T181)) → addxG_out_aag(one(T181), b, one(T181))
addxG_in_aag(zero(T186), b, zero(T186)) → U36_aag(T186, binaryZC_in_g(T186))
U36_aag(T186, binaryZC_out_g(T186)) → addxG_out_aag(zero(T186), b, zero(T186))
addxG_in_aag(T202, T203, T201) → U37_aag(T202, T203, T201, addzF_in_aag(T202, T203, T201))
addzF_in_aag(one(T222), zero(T223), one(T221)) → U18_aag(T222, T223, T221, addyH_in_aag(T222, T223, T221))
addyH_in_aag(b, one(T229), one(T229)) → U38_aag(T229, binaryD_in_g(T229))
U38_aag(T229, binaryD_out_g(T229)) → addyH_out_aag(b, one(T229), one(T229))
addyH_in_aag(b, zero(T234), zero(T234)) → U39_aag(T234, binaryZC_in_g(T234))
U39_aag(T234, binaryZC_out_g(T234)) → addyH_out_aag(b, zero(T234), zero(T234))
addyH_in_aag(T250, T251, T249) → U40_aag(T250, T251, T249, addzF_in_aag(T250, T251, T249))
addzF_in_aag(one(T264), one(T265), zero(T263)) → U19_aag(T264, T265, T263, addcI_in_aag(T264, T265, T263))
addcI_in_aag(b, b, one(b)) → addcI_out_aag(b, b, one(b))
addcI_in_aag(T276, b, T275) → U32_aag(T276, T275, succZK_in_ag(T276, T275))
succZK_in_ag(zero(T282), one(T282)) → U22_ag(T282, binaryZC_in_g(T282))
U22_ag(T282, binaryZC_out_g(T282)) → succZK_out_ag(zero(T282), one(T282))
succZK_in_ag(one(T290), zero(T289)) → U23_ag(T290, T289, succJ_in_ag(T290, T289))
succJ_in_ag(b, one(b)) → succJ_out_ag(b, one(b))
succJ_in_ag(zero(T295), one(T295)) → U20_ag(T295, binaryZC_in_g(T295))
U20_ag(T295, binaryZC_out_g(T295)) → succJ_out_ag(zero(T295), one(T295))
succJ_in_ag(one(T303), zero(T302)) → U21_ag(T303, T302, succJ_in_ag(T303, T302))
U21_ag(T303, T302, succJ_out_ag(T303, T302)) → succJ_out_ag(one(T303), zero(T302))
U23_ag(T290, T289, succJ_out_ag(T290, T289)) → succZK_out_ag(one(T290), zero(T289))
U32_aag(T276, T275, succZK_out_ag(T276, T275)) → addcI_out_aag(T276, b, T275)
addcI_in_aag(b, T314, T313) → U33_aag(T314, T313, succZK_in_ag(T314, T313))
U33_aag(T314, T313, succZK_out_ag(T314, T313)) → addcI_out_aag(b, T314, T313)
addcI_in_aag(T330, T331, T329) → U34_aag(T330, T331, T329, addCL_in_aag(T330, T331, T329))
addCL_in_aag(zero(T350), zero(T351), one(T349)) → U24_aag(T350, T351, T349, addzF_in_aag(T350, T351, T349))
U24_aag(T350, T351, T349, addzF_out_aag(T350, T351, T349)) → addCL_out_aag(zero(T350), zero(T351), one(T349))
addCL_in_aag(zero(zero(T377)), one(b), zero(one(T377))) → U25_aag(T377, binaryZC_in_g(T377))
U25_aag(T377, binaryZC_out_g(T377)) → addCL_out_aag(zero(zero(T377)), one(b), zero(one(T377)))
addCL_in_aag(zero(one(T389)), one(b), zero(zero(T388))) → U26_aag(T389, T388, succJ_in_ag(T389, T388))
U26_aag(T389, T388, succJ_out_ag(T389, T388)) → addCL_out_aag(zero(one(T389)), one(b), zero(zero(T388)))
addCL_in_aag(zero(T404), one(T405), zero(T403)) → U27_aag(T404, T405, T403, addCL_in_aag(T404, T405, T403))
addCL_in_aag(one(b), zero(zero(T431)), zero(one(T431))) → U28_aag(T431, binaryZC_in_g(T431))
U28_aag(T431, binaryZC_out_g(T431)) → addCL_out_aag(one(b), zero(zero(T431)), zero(one(T431)))
addCL_in_aag(one(b), zero(one(T443)), zero(zero(T442))) → U29_aag(T443, T442, succJ_in_ag(T443, T442))
U29_aag(T443, T442, succJ_out_ag(T443, T442)) → addCL_out_aag(one(b), zero(one(T443)), zero(zero(T442)))
addCL_in_aag(one(T458), zero(T459), zero(T457)) → U30_aag(T458, T459, T457, addCL_in_aag(T458, T459, T457))
addCL_in_aag(one(T472), one(T473), one(T471)) → U31_aag(T472, T473, T471, addcI_in_aag(T472, T473, T471))
U31_aag(T472, T473, T471, addcI_out_aag(T472, T473, T471)) → addCL_out_aag(one(T472), one(T473), one(T471))
U30_aag(T458, T459, T457, addCL_out_aag(T458, T459, T457)) → addCL_out_aag(one(T458), zero(T459), zero(T457))
U27_aag(T404, T405, T403, addCL_out_aag(T404, T405, T403)) → addCL_out_aag(zero(T404), one(T405), zero(T403))
U34_aag(T330, T331, T329, addCL_out_aag(T330, T331, T329)) → addcI_out_aag(T330, T331, T329)
U19_aag(T264, T265, T263, addcI_out_aag(T264, T265, T263)) → addzF_out_aag(one(T264), one(T265), zero(T263))
U40_aag(T250, T251, T249, addzF_out_aag(T250, T251, T249)) → addyH_out_aag(T250, T251, T249)
U18_aag(T222, T223, T221, addyH_out_aag(T222, T223, T221)) → addzF_out_aag(one(T222), zero(T223), one(T221))
U37_aag(T202, T203, T201, addzF_out_aag(T202, T203, T201)) → addxG_out_aag(T202, T203, T201)
U17_aag(T174, T175, T173, addxG_out_aag(T174, T175, T173)) → addzF_out_aag(zero(T174), one(T175), one(T173))
U16_aag(T154, T155, T153, addzF_out_aag(T154, T155, T153)) → addzF_out_aag(zero(T154), zero(T155), zero(T153))
U41_aag(T134, T135, T133, addzF_out_aag(T134, T135, T133)) → addzE_out_aag(zero(T134), zero(T135), zero(T133))
addzE_in_aag(zero(T489), one(T490), one(T488)) → U42_aag(T489, T490, T488, addxG_in_aag(T489, T490, T488))
U42_aag(T489, T490, T488, addxG_out_aag(T489, T490, T488)) → addzE_out_aag(zero(T489), one(T490), one(T488))
addzE_in_aag(one(T507), zero(T508), one(T506)) → U43_aag(T507, T508, T506, addyH_in_aag(T507, T508, T506))
U43_aag(T507, T508, T506, addyH_out_aag(T507, T508, T506)) → addzE_out_aag(one(T507), zero(T508), one(T506))
addzE_in_aag(one(T519), one(T520), zero(T518)) → U44_aag(T519, T520, T518, addcI_in_aag(T519, T520, T518))
U44_aag(T519, T520, T518, addcI_out_aag(T519, T520, T518)) → addzE_out_aag(one(T519), one(T520), zero(T518))
U4_aag(T114, T115, T113, addzE_out_aag(T114, T115, T113)) → addA_out_aag(T114, T115, T113)
addA_in_aag(b, zero(T527), zero(T527)) → U5_aag(T527, binaryZC_in_g(T527))
U5_aag(T527, binaryZC_out_g(T527)) → addA_out_aag(b, zero(T527), zero(T527))
addA_in_aag(b, one(T533), one(T533)) → U6_aag(T533, binaryD_in_g(T533))
U6_aag(T533, binaryD_out_g(T533)) → addA_out_aag(b, one(T533), one(T533))
addA_in_aag(T548, T549, T547) → U7_aag(T548, T549, T547, addzE_in_aag(T548, T549, T547))
U7_aag(T548, T549, T547, addzE_out_aag(T548, T549, T547)) → addA_out_aag(T548, T549, T547)
addA_in_aag(zero(T576), zero(T577), zero(T575)) → U8_aag(T576, T577, T575, addzF_in_aag(T576, T577, T575))
U8_aag(T576, T577, T575, addzF_out_aag(T576, T577, T575)) → addA_out_aag(zero(T576), zero(T577), zero(T575))
addA_in_aag(zero(T596), one(T597), one(T595)) → U9_aag(T596, T597, T595, addxG_in_aag(T596, T597, T595))
U9_aag(T596, T597, T595, addxG_out_aag(T596, T597, T595)) → addA_out_aag(zero(T596), one(T597), one(T595))
addA_in_aag(one(T614), zero(T615), one(T613)) → U10_aag(T614, T615, T613, addyH_in_aag(T614, T615, T613))
U10_aag(T614, T615, T613, addyH_out_aag(T614, T615, T613)) → addA_out_aag(one(T614), zero(T615), one(T613))
addA_in_aag(one(T626), one(T627), zero(T625)) → U11_aag(T626, T627, T625, addcI_in_aag(T626, T627, T625))
U11_aag(T626, T627, T625, addcI_out_aag(T626, T627, T625)) → addA_out_aag(one(T626), one(T627), zero(T625))

The argument filtering Pi contains the following mapping:
addA_in_aag(x1, x2, x3)  =  addA_in_aag(x3)
b  =  b
addA_out_aag(x1, x2, x3)  =  addA_out_aag(x1, x2, x3)
zero(x1)  =  zero(x1)
U1_aag(x1, x2)  =  U1_aag(x1, x2)
binaryZC_in_g(x1)  =  binaryZC_in_g(x1)
U12_g(x1, x2)  =  U12_g(x1, x2)
one(x1)  =  one(x1)
U13_g(x1, x2)  =  U13_g(x1, x2)
binaryD_in_g(x1)  =  binaryD_in_g(x1)
binaryD_out_g(x1)  =  binaryD_out_g(x1)
U14_g(x1, x2)  =  U14_g(x1, x2)
binaryZC_out_g(x1)  =  binaryZC_out_g(x1)
U15_g(x1, x2)  =  U15_g(x1, x2)
U2_aag(x1, x2)  =  U2_aag(x1, x2)
U3_aag(x1, x2)  =  U3_aag(x1, x2)
U4_aag(x1, x2, x3, x4)  =  U4_aag(x3, x4)
addzE_in_aag(x1, x2, x3)  =  addzE_in_aag(x3)
U41_aag(x1, x2, x3, x4)  =  U41_aag(x3, x4)
addzF_in_aag(x1, x2, x3)  =  addzF_in_aag(x3)
U16_aag(x1, x2, x3, x4)  =  U16_aag(x3, x4)
U17_aag(x1, x2, x3, x4)  =  U17_aag(x3, x4)
addxG_in_aag(x1, x2, x3)  =  addxG_in_aag(x3)
U35_aag(x1, x2)  =  U35_aag(x1, x2)
addxG_out_aag(x1, x2, x3)  =  addxG_out_aag(x1, x2, x3)
U36_aag(x1, x2)  =  U36_aag(x1, x2)
U37_aag(x1, x2, x3, x4)  =  U37_aag(x3, x4)
U18_aag(x1, x2, x3, x4)  =  U18_aag(x3, x4)
addyH_in_aag(x1, x2, x3)  =  addyH_in_aag(x3)
U38_aag(x1, x2)  =  U38_aag(x1, x2)
addyH_out_aag(x1, x2, x3)  =  addyH_out_aag(x1, x2, x3)
U39_aag(x1, x2)  =  U39_aag(x1, x2)
U40_aag(x1, x2, x3, x4)  =  U40_aag(x3, x4)
U19_aag(x1, x2, x3, x4)  =  U19_aag(x3, x4)
addcI_in_aag(x1, x2, x3)  =  addcI_in_aag(x3)
addcI_out_aag(x1, x2, x3)  =  addcI_out_aag(x1, x2, x3)
U32_aag(x1, x2, x3)  =  U32_aag(x2, x3)
succZK_in_ag(x1, x2)  =  succZK_in_ag(x2)
U22_ag(x1, x2)  =  U22_ag(x1, x2)
succZK_out_ag(x1, x2)  =  succZK_out_ag(x1, x2)
U23_ag(x1, x2, x3)  =  U23_ag(x2, x3)
succJ_in_ag(x1, x2)  =  succJ_in_ag(x2)
succJ_out_ag(x1, x2)  =  succJ_out_ag(x1, x2)
U20_ag(x1, x2)  =  U20_ag(x1, x2)
U21_ag(x1, x2, x3)  =  U21_ag(x2, x3)
U33_aag(x1, x2, x3)  =  U33_aag(x2, x3)
U34_aag(x1, x2, x3, x4)  =  U34_aag(x3, x4)
addCL_in_aag(x1, x2, x3)  =  addCL_in_aag(x3)
U24_aag(x1, x2, x3, x4)  =  U24_aag(x3, x4)
addzF_out_aag(x1, x2, x3)  =  addzF_out_aag(x1, x2, x3)
addCL_out_aag(x1, x2, x3)  =  addCL_out_aag(x1, x2, x3)
U25_aag(x1, x2)  =  U25_aag(x1, x2)
U26_aag(x1, x2, x3)  =  U26_aag(x2, x3)
U27_aag(x1, x2, x3, x4)  =  U27_aag(x3, x4)
U28_aag(x1, x2)  =  U28_aag(x1, x2)
U29_aag(x1, x2, x3)  =  U29_aag(x2, x3)
U30_aag(x1, x2, x3, x4)  =  U30_aag(x3, x4)
U31_aag(x1, x2, x3, x4)  =  U31_aag(x3, x4)
addzE_out_aag(x1, x2, x3)  =  addzE_out_aag(x1, x2, x3)
U42_aag(x1, x2, x3, x4)  =  U42_aag(x3, x4)
U43_aag(x1, x2, x3, x4)  =  U43_aag(x3, x4)
U44_aag(x1, x2, x3, x4)  =  U44_aag(x3, x4)
U5_aag(x1, x2)  =  U5_aag(x1, x2)
U6_aag(x1, x2)  =  U6_aag(x1, x2)
U7_aag(x1, x2, x3, x4)  =  U7_aag(x3, x4)
U8_aag(x1, x2, x3, x4)  =  U8_aag(x3, x4)
U9_aag(x1, x2, x3, x4)  =  U9_aag(x3, x4)
U10_aag(x1, x2, x3, x4)  =  U10_aag(x3, x4)
U11_aag(x1, x2, x3, x4)  =  U11_aag(x3, x4)
ADDA_IN_AAG(x1, x2, x3)  =  ADDA_IN_AAG(x3)
U1_AAG(x1, x2)  =  U1_AAG(x1, x2)
BINARYZC_IN_G(x1)  =  BINARYZC_IN_G(x1)
U12_G(x1, x2)  =  U12_G(x1, x2)
U13_G(x1, x2)  =  U13_G(x1, x2)
BINARYD_IN_G(x1)  =  BINARYD_IN_G(x1)
U14_G(x1, x2)  =  U14_G(x1, x2)
U15_G(x1, x2)  =  U15_G(x1, x2)
U2_AAG(x1, x2)  =  U2_AAG(x1, x2)
U3_AAG(x1, x2)  =  U3_AAG(x1, x2)
U4_AAG(x1, x2, x3, x4)  =  U4_AAG(x3, x4)
ADDZE_IN_AAG(x1, x2, x3)  =  ADDZE_IN_AAG(x3)
U41_AAG(x1, x2, x3, x4)  =  U41_AAG(x3, x4)
ADDZF_IN_AAG(x1, x2, x3)  =  ADDZF_IN_AAG(x3)
U16_AAG(x1, x2, x3, x4)  =  U16_AAG(x3, x4)
U17_AAG(x1, x2, x3, x4)  =  U17_AAG(x3, x4)
ADDXG_IN_AAG(x1, x2, x3)  =  ADDXG_IN_AAG(x3)
U35_AAG(x1, x2)  =  U35_AAG(x1, x2)
U36_AAG(x1, x2)  =  U36_AAG(x1, x2)
U37_AAG(x1, x2, x3, x4)  =  U37_AAG(x3, x4)
U18_AAG(x1, x2, x3, x4)  =  U18_AAG(x3, x4)
ADDYH_IN_AAG(x1, x2, x3)  =  ADDYH_IN_AAG(x3)
U38_AAG(x1, x2)  =  U38_AAG(x1, x2)
U39_AAG(x1, x2)  =  U39_AAG(x1, x2)
U40_AAG(x1, x2, x3, x4)  =  U40_AAG(x3, x4)
U19_AAG(x1, x2, x3, x4)  =  U19_AAG(x3, x4)
ADDCI_IN_AAG(x1, x2, x3)  =  ADDCI_IN_AAG(x3)
U32_AAG(x1, x2, x3)  =  U32_AAG(x2, x3)
SUCCZK_IN_AG(x1, x2)  =  SUCCZK_IN_AG(x2)
U22_AG(x1, x2)  =  U22_AG(x1, x2)
U23_AG(x1, x2, x3)  =  U23_AG(x2, x3)
SUCCJ_IN_AG(x1, x2)  =  SUCCJ_IN_AG(x2)
U20_AG(x1, x2)  =  U20_AG(x1, x2)
U21_AG(x1, x2, x3)  =  U21_AG(x2, x3)
U33_AAG(x1, x2, x3)  =  U33_AAG(x2, x3)
U34_AAG(x1, x2, x3, x4)  =  U34_AAG(x3, x4)
ADDCL_IN_AAG(x1, x2, x3)  =  ADDCL_IN_AAG(x3)
U24_AAG(x1, x2, x3, x4)  =  U24_AAG(x3, x4)
U25_AAG(x1, x2)  =  U25_AAG(x1, x2)
U26_AAG(x1, x2, x3)  =  U26_AAG(x2, x3)
U27_AAG(x1, x2, x3, x4)  =  U27_AAG(x3, x4)
U28_AAG(x1, x2)  =  U28_AAG(x1, x2)
U29_AAG(x1, x2, x3)  =  U29_AAG(x2, x3)
U30_AAG(x1, x2, x3, x4)  =  U30_AAG(x3, x4)
U31_AAG(x1, x2, x3, x4)  =  U31_AAG(x3, x4)
U42_AAG(x1, x2, x3, x4)  =  U42_AAG(x3, x4)
U43_AAG(x1, x2, x3, x4)  =  U43_AAG(x3, x4)
U44_AAG(x1, x2, x3, x4)  =  U44_AAG(x3, x4)
U5_AAG(x1, x2)  =  U5_AAG(x1, x2)
U6_AAG(x1, x2)  =  U6_AAG(x1, x2)
U7_AAG(x1, x2, x3, x4)  =  U7_AAG(x3, x4)
U8_AAG(x1, x2, x3, x4)  =  U8_AAG(x3, x4)
U9_AAG(x1, x2, x3, x4)  =  U9_AAG(x3, x4)
U10_AAG(x1, x2, x3, x4)  =  U10_AAG(x3, x4)
U11_AAG(x1, x2, x3, x4)  =  U11_AAG(x3, x4)

We have to consider all (P,R,Pi)-chains

(5) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 3 SCCs with 71 less nodes.

(6) Complex Obligation (AND)

(7) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

BINARYZC_IN_G(one(T79)) → BINARYD_IN_G(T79)
BINARYD_IN_G(zero(T84)) → BINARYZC_IN_G(T84)
BINARYZC_IN_G(zero(T75)) → BINARYZC_IN_G(T75)
BINARYD_IN_G(one(T88)) → BINARYD_IN_G(T88)

The TRS R consists of the following rules:

addA_in_aag(b, b, b) → addA_out_aag(b, b, b)
addA_in_aag(zero(T69), b, zero(T69)) → U1_aag(T69, binaryZC_in_g(T69))
binaryZC_in_g(zero(T75)) → U12_g(T75, binaryZC_in_g(T75))
binaryZC_in_g(one(T79)) → U13_g(T79, binaryD_in_g(T79))
binaryD_in_g(b) → binaryD_out_g(b)
binaryD_in_g(zero(T84)) → U14_g(T84, binaryZC_in_g(T84))
U14_g(T84, binaryZC_out_g(T84)) → binaryD_out_g(zero(T84))
binaryD_in_g(one(T88)) → U15_g(T88, binaryD_in_g(T88))
U15_g(T88, binaryD_out_g(T88)) → binaryD_out_g(one(T88))
U13_g(T79, binaryD_out_g(T79)) → binaryZC_out_g(one(T79))
U12_g(T75, binaryZC_out_g(T75)) → binaryZC_out_g(zero(T75))
U1_aag(T69, binaryZC_out_g(T69)) → addA_out_aag(zero(T69), b, zero(T69))
addA_in_aag(one(T93), b, one(T93)) → U2_aag(T93, binaryD_in_g(T93))
U2_aag(T93, binaryD_out_g(T93)) → addA_out_aag(one(T93), b, one(T93))
addA_in_aag(b, T98, T98) → U3_aag(T98, binaryZC_in_g(T98))
U3_aag(T98, binaryZC_out_g(T98)) → addA_out_aag(b, T98, T98)
addA_in_aag(T114, T115, T113) → U4_aag(T114, T115, T113, addzE_in_aag(T114, T115, T113))
addzE_in_aag(zero(T134), zero(T135), zero(T133)) → U41_aag(T134, T135, T133, addzF_in_aag(T134, T135, T133))
addzF_in_aag(zero(T154), zero(T155), zero(T153)) → U16_aag(T154, T155, T153, addzF_in_aag(T154, T155, T153))
addzF_in_aag(zero(T174), one(T175), one(T173)) → U17_aag(T174, T175, T173, addxG_in_aag(T174, T175, T173))
addxG_in_aag(one(T181), b, one(T181)) → U35_aag(T181, binaryD_in_g(T181))
U35_aag(T181, binaryD_out_g(T181)) → addxG_out_aag(one(T181), b, one(T181))
addxG_in_aag(zero(T186), b, zero(T186)) → U36_aag(T186, binaryZC_in_g(T186))
U36_aag(T186, binaryZC_out_g(T186)) → addxG_out_aag(zero(T186), b, zero(T186))
addxG_in_aag(T202, T203, T201) → U37_aag(T202, T203, T201, addzF_in_aag(T202, T203, T201))
addzF_in_aag(one(T222), zero(T223), one(T221)) → U18_aag(T222, T223, T221, addyH_in_aag(T222, T223, T221))
addyH_in_aag(b, one(T229), one(T229)) → U38_aag(T229, binaryD_in_g(T229))
U38_aag(T229, binaryD_out_g(T229)) → addyH_out_aag(b, one(T229), one(T229))
addyH_in_aag(b, zero(T234), zero(T234)) → U39_aag(T234, binaryZC_in_g(T234))
U39_aag(T234, binaryZC_out_g(T234)) → addyH_out_aag(b, zero(T234), zero(T234))
addyH_in_aag(T250, T251, T249) → U40_aag(T250, T251, T249, addzF_in_aag(T250, T251, T249))
addzF_in_aag(one(T264), one(T265), zero(T263)) → U19_aag(T264, T265, T263, addcI_in_aag(T264, T265, T263))
addcI_in_aag(b, b, one(b)) → addcI_out_aag(b, b, one(b))
addcI_in_aag(T276, b, T275) → U32_aag(T276, T275, succZK_in_ag(T276, T275))
succZK_in_ag(zero(T282), one(T282)) → U22_ag(T282, binaryZC_in_g(T282))
U22_ag(T282, binaryZC_out_g(T282)) → succZK_out_ag(zero(T282), one(T282))
succZK_in_ag(one(T290), zero(T289)) → U23_ag(T290, T289, succJ_in_ag(T290, T289))
succJ_in_ag(b, one(b)) → succJ_out_ag(b, one(b))
succJ_in_ag(zero(T295), one(T295)) → U20_ag(T295, binaryZC_in_g(T295))
U20_ag(T295, binaryZC_out_g(T295)) → succJ_out_ag(zero(T295), one(T295))
succJ_in_ag(one(T303), zero(T302)) → U21_ag(T303, T302, succJ_in_ag(T303, T302))
U21_ag(T303, T302, succJ_out_ag(T303, T302)) → succJ_out_ag(one(T303), zero(T302))
U23_ag(T290, T289, succJ_out_ag(T290, T289)) → succZK_out_ag(one(T290), zero(T289))
U32_aag(T276, T275, succZK_out_ag(T276, T275)) → addcI_out_aag(T276, b, T275)
addcI_in_aag(b, T314, T313) → U33_aag(T314, T313, succZK_in_ag(T314, T313))
U33_aag(T314, T313, succZK_out_ag(T314, T313)) → addcI_out_aag(b, T314, T313)
addcI_in_aag(T330, T331, T329) → U34_aag(T330, T331, T329, addCL_in_aag(T330, T331, T329))
addCL_in_aag(zero(T350), zero(T351), one(T349)) → U24_aag(T350, T351, T349, addzF_in_aag(T350, T351, T349))
U24_aag(T350, T351, T349, addzF_out_aag(T350, T351, T349)) → addCL_out_aag(zero(T350), zero(T351), one(T349))
addCL_in_aag(zero(zero(T377)), one(b), zero(one(T377))) → U25_aag(T377, binaryZC_in_g(T377))
U25_aag(T377, binaryZC_out_g(T377)) → addCL_out_aag(zero(zero(T377)), one(b), zero(one(T377)))
addCL_in_aag(zero(one(T389)), one(b), zero(zero(T388))) → U26_aag(T389, T388, succJ_in_ag(T389, T388))
U26_aag(T389, T388, succJ_out_ag(T389, T388)) → addCL_out_aag(zero(one(T389)), one(b), zero(zero(T388)))
addCL_in_aag(zero(T404), one(T405), zero(T403)) → U27_aag(T404, T405, T403, addCL_in_aag(T404, T405, T403))
addCL_in_aag(one(b), zero(zero(T431)), zero(one(T431))) → U28_aag(T431, binaryZC_in_g(T431))
U28_aag(T431, binaryZC_out_g(T431)) → addCL_out_aag(one(b), zero(zero(T431)), zero(one(T431)))
addCL_in_aag(one(b), zero(one(T443)), zero(zero(T442))) → U29_aag(T443, T442, succJ_in_ag(T443, T442))
U29_aag(T443, T442, succJ_out_ag(T443, T442)) → addCL_out_aag(one(b), zero(one(T443)), zero(zero(T442)))
addCL_in_aag(one(T458), zero(T459), zero(T457)) → U30_aag(T458, T459, T457, addCL_in_aag(T458, T459, T457))
addCL_in_aag(one(T472), one(T473), one(T471)) → U31_aag(T472, T473, T471, addcI_in_aag(T472, T473, T471))
U31_aag(T472, T473, T471, addcI_out_aag(T472, T473, T471)) → addCL_out_aag(one(T472), one(T473), one(T471))
U30_aag(T458, T459, T457, addCL_out_aag(T458, T459, T457)) → addCL_out_aag(one(T458), zero(T459), zero(T457))
U27_aag(T404, T405, T403, addCL_out_aag(T404, T405, T403)) → addCL_out_aag(zero(T404), one(T405), zero(T403))
U34_aag(T330, T331, T329, addCL_out_aag(T330, T331, T329)) → addcI_out_aag(T330, T331, T329)
U19_aag(T264, T265, T263, addcI_out_aag(T264, T265, T263)) → addzF_out_aag(one(T264), one(T265), zero(T263))
U40_aag(T250, T251, T249, addzF_out_aag(T250, T251, T249)) → addyH_out_aag(T250, T251, T249)
U18_aag(T222, T223, T221, addyH_out_aag(T222, T223, T221)) → addzF_out_aag(one(T222), zero(T223), one(T221))
U37_aag(T202, T203, T201, addzF_out_aag(T202, T203, T201)) → addxG_out_aag(T202, T203, T201)
U17_aag(T174, T175, T173, addxG_out_aag(T174, T175, T173)) → addzF_out_aag(zero(T174), one(T175), one(T173))
U16_aag(T154, T155, T153, addzF_out_aag(T154, T155, T153)) → addzF_out_aag(zero(T154), zero(T155), zero(T153))
U41_aag(T134, T135, T133, addzF_out_aag(T134, T135, T133)) → addzE_out_aag(zero(T134), zero(T135), zero(T133))
addzE_in_aag(zero(T489), one(T490), one(T488)) → U42_aag(T489, T490, T488, addxG_in_aag(T489, T490, T488))
U42_aag(T489, T490, T488, addxG_out_aag(T489, T490, T488)) → addzE_out_aag(zero(T489), one(T490), one(T488))
addzE_in_aag(one(T507), zero(T508), one(T506)) → U43_aag(T507, T508, T506, addyH_in_aag(T507, T508, T506))
U43_aag(T507, T508, T506, addyH_out_aag(T507, T508, T506)) → addzE_out_aag(one(T507), zero(T508), one(T506))
addzE_in_aag(one(T519), one(T520), zero(T518)) → U44_aag(T519, T520, T518, addcI_in_aag(T519, T520, T518))
U44_aag(T519, T520, T518, addcI_out_aag(T519, T520, T518)) → addzE_out_aag(one(T519), one(T520), zero(T518))
U4_aag(T114, T115, T113, addzE_out_aag(T114, T115, T113)) → addA_out_aag(T114, T115, T113)
addA_in_aag(b, zero(T527), zero(T527)) → U5_aag(T527, binaryZC_in_g(T527))
U5_aag(T527, binaryZC_out_g(T527)) → addA_out_aag(b, zero(T527), zero(T527))
addA_in_aag(b, one(T533), one(T533)) → U6_aag(T533, binaryD_in_g(T533))
U6_aag(T533, binaryD_out_g(T533)) → addA_out_aag(b, one(T533), one(T533))
addA_in_aag(T548, T549, T547) → U7_aag(T548, T549, T547, addzE_in_aag(T548, T549, T547))
U7_aag(T548, T549, T547, addzE_out_aag(T548, T549, T547)) → addA_out_aag(T548, T549, T547)
addA_in_aag(zero(T576), zero(T577), zero(T575)) → U8_aag(T576, T577, T575, addzF_in_aag(T576, T577, T575))
U8_aag(T576, T577, T575, addzF_out_aag(T576, T577, T575)) → addA_out_aag(zero(T576), zero(T577), zero(T575))
addA_in_aag(zero(T596), one(T597), one(T595)) → U9_aag(T596, T597, T595, addxG_in_aag(T596, T597, T595))
U9_aag(T596, T597, T595, addxG_out_aag(T596, T597, T595)) → addA_out_aag(zero(T596), one(T597), one(T595))
addA_in_aag(one(T614), zero(T615), one(T613)) → U10_aag(T614, T615, T613, addyH_in_aag(T614, T615, T613))
U10_aag(T614, T615, T613, addyH_out_aag(T614, T615, T613)) → addA_out_aag(one(T614), zero(T615), one(T613))
addA_in_aag(one(T626), one(T627), zero(T625)) → U11_aag(T626, T627, T625, addcI_in_aag(T626, T627, T625))
U11_aag(T626, T627, T625, addcI_out_aag(T626, T627, T625)) → addA_out_aag(one(T626), one(T627), zero(T625))

The argument filtering Pi contains the following mapping:
addA_in_aag(x1, x2, x3)  =  addA_in_aag(x3)
b  =  b
addA_out_aag(x1, x2, x3)  =  addA_out_aag(x1, x2, x3)
zero(x1)  =  zero(x1)
U1_aag(x1, x2)  =  U1_aag(x1, x2)
binaryZC_in_g(x1)  =  binaryZC_in_g(x1)
U12_g(x1, x2)  =  U12_g(x1, x2)
one(x1)  =  one(x1)
U13_g(x1, x2)  =  U13_g(x1, x2)
binaryD_in_g(x1)  =  binaryD_in_g(x1)
binaryD_out_g(x1)  =  binaryD_out_g(x1)
U14_g(x1, x2)  =  U14_g(x1, x2)
binaryZC_out_g(x1)  =  binaryZC_out_g(x1)
U15_g(x1, x2)  =  U15_g(x1, x2)
U2_aag(x1, x2)  =  U2_aag(x1, x2)
U3_aag(x1, x2)  =  U3_aag(x1, x2)
U4_aag(x1, x2, x3, x4)  =  U4_aag(x3, x4)
addzE_in_aag(x1, x2, x3)  =  addzE_in_aag(x3)
U41_aag(x1, x2, x3, x4)  =  U41_aag(x3, x4)
addzF_in_aag(x1, x2, x3)  =  addzF_in_aag(x3)
U16_aag(x1, x2, x3, x4)  =  U16_aag(x3, x4)
U17_aag(x1, x2, x3, x4)  =  U17_aag(x3, x4)
addxG_in_aag(x1, x2, x3)  =  addxG_in_aag(x3)
U35_aag(x1, x2)  =  U35_aag(x1, x2)
addxG_out_aag(x1, x2, x3)  =  addxG_out_aag(x1, x2, x3)
U36_aag(x1, x2)  =  U36_aag(x1, x2)
U37_aag(x1, x2, x3, x4)  =  U37_aag(x3, x4)
U18_aag(x1, x2, x3, x4)  =  U18_aag(x3, x4)
addyH_in_aag(x1, x2, x3)  =  addyH_in_aag(x3)
U38_aag(x1, x2)  =  U38_aag(x1, x2)
addyH_out_aag(x1, x2, x3)  =  addyH_out_aag(x1, x2, x3)
U39_aag(x1, x2)  =  U39_aag(x1, x2)
U40_aag(x1, x2, x3, x4)  =  U40_aag(x3, x4)
U19_aag(x1, x2, x3, x4)  =  U19_aag(x3, x4)
addcI_in_aag(x1, x2, x3)  =  addcI_in_aag(x3)
addcI_out_aag(x1, x2, x3)  =  addcI_out_aag(x1, x2, x3)
U32_aag(x1, x2, x3)  =  U32_aag(x2, x3)
succZK_in_ag(x1, x2)  =  succZK_in_ag(x2)
U22_ag(x1, x2)  =  U22_ag(x1, x2)
succZK_out_ag(x1, x2)  =  succZK_out_ag(x1, x2)
U23_ag(x1, x2, x3)  =  U23_ag(x2, x3)
succJ_in_ag(x1, x2)  =  succJ_in_ag(x2)
succJ_out_ag(x1, x2)  =  succJ_out_ag(x1, x2)
U20_ag(x1, x2)  =  U20_ag(x1, x2)
U21_ag(x1, x2, x3)  =  U21_ag(x2, x3)
U33_aag(x1, x2, x3)  =  U33_aag(x2, x3)
U34_aag(x1, x2, x3, x4)  =  U34_aag(x3, x4)
addCL_in_aag(x1, x2, x3)  =  addCL_in_aag(x3)
U24_aag(x1, x2, x3, x4)  =  U24_aag(x3, x4)
addzF_out_aag(x1, x2, x3)  =  addzF_out_aag(x1, x2, x3)
addCL_out_aag(x1, x2, x3)  =  addCL_out_aag(x1, x2, x3)
U25_aag(x1, x2)  =  U25_aag(x1, x2)
U26_aag(x1, x2, x3)  =  U26_aag(x2, x3)
U27_aag(x1, x2, x3, x4)  =  U27_aag(x3, x4)
U28_aag(x1, x2)  =  U28_aag(x1, x2)
U29_aag(x1, x2, x3)  =  U29_aag(x2, x3)
U30_aag(x1, x2, x3, x4)  =  U30_aag(x3, x4)
U31_aag(x1, x2, x3, x4)  =  U31_aag(x3, x4)
addzE_out_aag(x1, x2, x3)  =  addzE_out_aag(x1, x2, x3)
U42_aag(x1, x2, x3, x4)  =  U42_aag(x3, x4)
U43_aag(x1, x2, x3, x4)  =  U43_aag(x3, x4)
U44_aag(x1, x2, x3, x4)  =  U44_aag(x3, x4)
U5_aag(x1, x2)  =  U5_aag(x1, x2)
U6_aag(x1, x2)  =  U6_aag(x1, x2)
U7_aag(x1, x2, x3, x4)  =  U7_aag(x3, x4)
U8_aag(x1, x2, x3, x4)  =  U8_aag(x3, x4)
U9_aag(x1, x2, x3, x4)  =  U9_aag(x3, x4)
U10_aag(x1, x2, x3, x4)  =  U10_aag(x3, x4)
U11_aag(x1, x2, x3, x4)  =  U11_aag(x3, x4)
BINARYZC_IN_G(x1)  =  BINARYZC_IN_G(x1)
BINARYD_IN_G(x1)  =  BINARYD_IN_G(x1)

We have to consider all (P,R,Pi)-chains

(8) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(9) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

BINARYZC_IN_G(one(T79)) → BINARYD_IN_G(T79)
BINARYD_IN_G(zero(T84)) → BINARYZC_IN_G(T84)
BINARYZC_IN_G(zero(T75)) → BINARYZC_IN_G(T75)
BINARYD_IN_G(one(T88)) → BINARYD_IN_G(T88)

R is empty.
Pi is empty.
We have to consider all (P,R,Pi)-chains

(10) PiDPToQDPProof (EQUIVALENT transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(11) Obligation:

Q DP problem:
The TRS P consists of the following rules:

BINARYZC_IN_G(one(T79)) → BINARYD_IN_G(T79)
BINARYD_IN_G(zero(T84)) → BINARYZC_IN_G(T84)
BINARYZC_IN_G(zero(T75)) → BINARYZC_IN_G(T75)
BINARYD_IN_G(one(T88)) → BINARYD_IN_G(T88)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(12) QDPSizeChangeProof (EQUIVALENT transformation)

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.

From the DPs we obtained the following set of size-change graphs:

  • BINARYD_IN_G(zero(T84)) → BINARYZC_IN_G(T84)
    The graph contains the following edges 1 > 1

  • BINARYD_IN_G(one(T88)) → BINARYD_IN_G(T88)
    The graph contains the following edges 1 > 1

  • BINARYZC_IN_G(zero(T75)) → BINARYZC_IN_G(T75)
    The graph contains the following edges 1 > 1

  • BINARYZC_IN_G(one(T79)) → BINARYD_IN_G(T79)
    The graph contains the following edges 1 > 1

(13) YES

(14) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

SUCCJ_IN_AG(one(T303), zero(T302)) → SUCCJ_IN_AG(T303, T302)

The TRS R consists of the following rules:

addA_in_aag(b, b, b) → addA_out_aag(b, b, b)
addA_in_aag(zero(T69), b, zero(T69)) → U1_aag(T69, binaryZC_in_g(T69))
binaryZC_in_g(zero(T75)) → U12_g(T75, binaryZC_in_g(T75))
binaryZC_in_g(one(T79)) → U13_g(T79, binaryD_in_g(T79))
binaryD_in_g(b) → binaryD_out_g(b)
binaryD_in_g(zero(T84)) → U14_g(T84, binaryZC_in_g(T84))
U14_g(T84, binaryZC_out_g(T84)) → binaryD_out_g(zero(T84))
binaryD_in_g(one(T88)) → U15_g(T88, binaryD_in_g(T88))
U15_g(T88, binaryD_out_g(T88)) → binaryD_out_g(one(T88))
U13_g(T79, binaryD_out_g(T79)) → binaryZC_out_g(one(T79))
U12_g(T75, binaryZC_out_g(T75)) → binaryZC_out_g(zero(T75))
U1_aag(T69, binaryZC_out_g(T69)) → addA_out_aag(zero(T69), b, zero(T69))
addA_in_aag(one(T93), b, one(T93)) → U2_aag(T93, binaryD_in_g(T93))
U2_aag(T93, binaryD_out_g(T93)) → addA_out_aag(one(T93), b, one(T93))
addA_in_aag(b, T98, T98) → U3_aag(T98, binaryZC_in_g(T98))
U3_aag(T98, binaryZC_out_g(T98)) → addA_out_aag(b, T98, T98)
addA_in_aag(T114, T115, T113) → U4_aag(T114, T115, T113, addzE_in_aag(T114, T115, T113))
addzE_in_aag(zero(T134), zero(T135), zero(T133)) → U41_aag(T134, T135, T133, addzF_in_aag(T134, T135, T133))
addzF_in_aag(zero(T154), zero(T155), zero(T153)) → U16_aag(T154, T155, T153, addzF_in_aag(T154, T155, T153))
addzF_in_aag(zero(T174), one(T175), one(T173)) → U17_aag(T174, T175, T173, addxG_in_aag(T174, T175, T173))
addxG_in_aag(one(T181), b, one(T181)) → U35_aag(T181, binaryD_in_g(T181))
U35_aag(T181, binaryD_out_g(T181)) → addxG_out_aag(one(T181), b, one(T181))
addxG_in_aag(zero(T186), b, zero(T186)) → U36_aag(T186, binaryZC_in_g(T186))
U36_aag(T186, binaryZC_out_g(T186)) → addxG_out_aag(zero(T186), b, zero(T186))
addxG_in_aag(T202, T203, T201) → U37_aag(T202, T203, T201, addzF_in_aag(T202, T203, T201))
addzF_in_aag(one(T222), zero(T223), one(T221)) → U18_aag(T222, T223, T221, addyH_in_aag(T222, T223, T221))
addyH_in_aag(b, one(T229), one(T229)) → U38_aag(T229, binaryD_in_g(T229))
U38_aag(T229, binaryD_out_g(T229)) → addyH_out_aag(b, one(T229), one(T229))
addyH_in_aag(b, zero(T234), zero(T234)) → U39_aag(T234, binaryZC_in_g(T234))
U39_aag(T234, binaryZC_out_g(T234)) → addyH_out_aag(b, zero(T234), zero(T234))
addyH_in_aag(T250, T251, T249) → U40_aag(T250, T251, T249, addzF_in_aag(T250, T251, T249))
addzF_in_aag(one(T264), one(T265), zero(T263)) → U19_aag(T264, T265, T263, addcI_in_aag(T264, T265, T263))
addcI_in_aag(b, b, one(b)) → addcI_out_aag(b, b, one(b))
addcI_in_aag(T276, b, T275) → U32_aag(T276, T275, succZK_in_ag(T276, T275))
succZK_in_ag(zero(T282), one(T282)) → U22_ag(T282, binaryZC_in_g(T282))
U22_ag(T282, binaryZC_out_g(T282)) → succZK_out_ag(zero(T282), one(T282))
succZK_in_ag(one(T290), zero(T289)) → U23_ag(T290, T289, succJ_in_ag(T290, T289))
succJ_in_ag(b, one(b)) → succJ_out_ag(b, one(b))
succJ_in_ag(zero(T295), one(T295)) → U20_ag(T295, binaryZC_in_g(T295))
U20_ag(T295, binaryZC_out_g(T295)) → succJ_out_ag(zero(T295), one(T295))
succJ_in_ag(one(T303), zero(T302)) → U21_ag(T303, T302, succJ_in_ag(T303, T302))
U21_ag(T303, T302, succJ_out_ag(T303, T302)) → succJ_out_ag(one(T303), zero(T302))
U23_ag(T290, T289, succJ_out_ag(T290, T289)) → succZK_out_ag(one(T290), zero(T289))
U32_aag(T276, T275, succZK_out_ag(T276, T275)) → addcI_out_aag(T276, b, T275)
addcI_in_aag(b, T314, T313) → U33_aag(T314, T313, succZK_in_ag(T314, T313))
U33_aag(T314, T313, succZK_out_ag(T314, T313)) → addcI_out_aag(b, T314, T313)
addcI_in_aag(T330, T331, T329) → U34_aag(T330, T331, T329, addCL_in_aag(T330, T331, T329))
addCL_in_aag(zero(T350), zero(T351), one(T349)) → U24_aag(T350, T351, T349, addzF_in_aag(T350, T351, T349))
U24_aag(T350, T351, T349, addzF_out_aag(T350, T351, T349)) → addCL_out_aag(zero(T350), zero(T351), one(T349))
addCL_in_aag(zero(zero(T377)), one(b), zero(one(T377))) → U25_aag(T377, binaryZC_in_g(T377))
U25_aag(T377, binaryZC_out_g(T377)) → addCL_out_aag(zero(zero(T377)), one(b), zero(one(T377)))
addCL_in_aag(zero(one(T389)), one(b), zero(zero(T388))) → U26_aag(T389, T388, succJ_in_ag(T389, T388))
U26_aag(T389, T388, succJ_out_ag(T389, T388)) → addCL_out_aag(zero(one(T389)), one(b), zero(zero(T388)))
addCL_in_aag(zero(T404), one(T405), zero(T403)) → U27_aag(T404, T405, T403, addCL_in_aag(T404, T405, T403))
addCL_in_aag(one(b), zero(zero(T431)), zero(one(T431))) → U28_aag(T431, binaryZC_in_g(T431))
U28_aag(T431, binaryZC_out_g(T431)) → addCL_out_aag(one(b), zero(zero(T431)), zero(one(T431)))
addCL_in_aag(one(b), zero(one(T443)), zero(zero(T442))) → U29_aag(T443, T442, succJ_in_ag(T443, T442))
U29_aag(T443, T442, succJ_out_ag(T443, T442)) → addCL_out_aag(one(b), zero(one(T443)), zero(zero(T442)))
addCL_in_aag(one(T458), zero(T459), zero(T457)) → U30_aag(T458, T459, T457, addCL_in_aag(T458, T459, T457))
addCL_in_aag(one(T472), one(T473), one(T471)) → U31_aag(T472, T473, T471, addcI_in_aag(T472, T473, T471))
U31_aag(T472, T473, T471, addcI_out_aag(T472, T473, T471)) → addCL_out_aag(one(T472), one(T473), one(T471))
U30_aag(T458, T459, T457, addCL_out_aag(T458, T459, T457)) → addCL_out_aag(one(T458), zero(T459), zero(T457))
U27_aag(T404, T405, T403, addCL_out_aag(T404, T405, T403)) → addCL_out_aag(zero(T404), one(T405), zero(T403))
U34_aag(T330, T331, T329, addCL_out_aag(T330, T331, T329)) → addcI_out_aag(T330, T331, T329)
U19_aag(T264, T265, T263, addcI_out_aag(T264, T265, T263)) → addzF_out_aag(one(T264), one(T265), zero(T263))
U40_aag(T250, T251, T249, addzF_out_aag(T250, T251, T249)) → addyH_out_aag(T250, T251, T249)
U18_aag(T222, T223, T221, addyH_out_aag(T222, T223, T221)) → addzF_out_aag(one(T222), zero(T223), one(T221))
U37_aag(T202, T203, T201, addzF_out_aag(T202, T203, T201)) → addxG_out_aag(T202, T203, T201)
U17_aag(T174, T175, T173, addxG_out_aag(T174, T175, T173)) → addzF_out_aag(zero(T174), one(T175), one(T173))
U16_aag(T154, T155, T153, addzF_out_aag(T154, T155, T153)) → addzF_out_aag(zero(T154), zero(T155), zero(T153))
U41_aag(T134, T135, T133, addzF_out_aag(T134, T135, T133)) → addzE_out_aag(zero(T134), zero(T135), zero(T133))
addzE_in_aag(zero(T489), one(T490), one(T488)) → U42_aag(T489, T490, T488, addxG_in_aag(T489, T490, T488))
U42_aag(T489, T490, T488, addxG_out_aag(T489, T490, T488)) → addzE_out_aag(zero(T489), one(T490), one(T488))
addzE_in_aag(one(T507), zero(T508), one(T506)) → U43_aag(T507, T508, T506, addyH_in_aag(T507, T508, T506))
U43_aag(T507, T508, T506, addyH_out_aag(T507, T508, T506)) → addzE_out_aag(one(T507), zero(T508), one(T506))
addzE_in_aag(one(T519), one(T520), zero(T518)) → U44_aag(T519, T520, T518, addcI_in_aag(T519, T520, T518))
U44_aag(T519, T520, T518, addcI_out_aag(T519, T520, T518)) → addzE_out_aag(one(T519), one(T520), zero(T518))
U4_aag(T114, T115, T113, addzE_out_aag(T114, T115, T113)) → addA_out_aag(T114, T115, T113)
addA_in_aag(b, zero(T527), zero(T527)) → U5_aag(T527, binaryZC_in_g(T527))
U5_aag(T527, binaryZC_out_g(T527)) → addA_out_aag(b, zero(T527), zero(T527))
addA_in_aag(b, one(T533), one(T533)) → U6_aag(T533, binaryD_in_g(T533))
U6_aag(T533, binaryD_out_g(T533)) → addA_out_aag(b, one(T533), one(T533))
addA_in_aag(T548, T549, T547) → U7_aag(T548, T549, T547, addzE_in_aag(T548, T549, T547))
U7_aag(T548, T549, T547, addzE_out_aag(T548, T549, T547)) → addA_out_aag(T548, T549, T547)
addA_in_aag(zero(T576), zero(T577), zero(T575)) → U8_aag(T576, T577, T575, addzF_in_aag(T576, T577, T575))
U8_aag(T576, T577, T575, addzF_out_aag(T576, T577, T575)) → addA_out_aag(zero(T576), zero(T577), zero(T575))
addA_in_aag(zero(T596), one(T597), one(T595)) → U9_aag(T596, T597, T595, addxG_in_aag(T596, T597, T595))
U9_aag(T596, T597, T595, addxG_out_aag(T596, T597, T595)) → addA_out_aag(zero(T596), one(T597), one(T595))
addA_in_aag(one(T614), zero(T615), one(T613)) → U10_aag(T614, T615, T613, addyH_in_aag(T614, T615, T613))
U10_aag(T614, T615, T613, addyH_out_aag(T614, T615, T613)) → addA_out_aag(one(T614), zero(T615), one(T613))
addA_in_aag(one(T626), one(T627), zero(T625)) → U11_aag(T626, T627, T625, addcI_in_aag(T626, T627, T625))
U11_aag(T626, T627, T625, addcI_out_aag(T626, T627, T625)) → addA_out_aag(one(T626), one(T627), zero(T625))

The argument filtering Pi contains the following mapping:
addA_in_aag(x1, x2, x3)  =  addA_in_aag(x3)
b  =  b
addA_out_aag(x1, x2, x3)  =  addA_out_aag(x1, x2, x3)
zero(x1)  =  zero(x1)
U1_aag(x1, x2)  =  U1_aag(x1, x2)
binaryZC_in_g(x1)  =  binaryZC_in_g(x1)
U12_g(x1, x2)  =  U12_g(x1, x2)
one(x1)  =  one(x1)
U13_g(x1, x2)  =  U13_g(x1, x2)
binaryD_in_g(x1)  =  binaryD_in_g(x1)
binaryD_out_g(x1)  =  binaryD_out_g(x1)
U14_g(x1, x2)  =  U14_g(x1, x2)
binaryZC_out_g(x1)  =  binaryZC_out_g(x1)
U15_g(x1, x2)  =  U15_g(x1, x2)
U2_aag(x1, x2)  =  U2_aag(x1, x2)
U3_aag(x1, x2)  =  U3_aag(x1, x2)
U4_aag(x1, x2, x3, x4)  =  U4_aag(x3, x4)
addzE_in_aag(x1, x2, x3)  =  addzE_in_aag(x3)
U41_aag(x1, x2, x3, x4)  =  U41_aag(x3, x4)
addzF_in_aag(x1, x2, x3)  =  addzF_in_aag(x3)
U16_aag(x1, x2, x3, x4)  =  U16_aag(x3, x4)
U17_aag(x1, x2, x3, x4)  =  U17_aag(x3, x4)
addxG_in_aag(x1, x2, x3)  =  addxG_in_aag(x3)
U35_aag(x1, x2)  =  U35_aag(x1, x2)
addxG_out_aag(x1, x2, x3)  =  addxG_out_aag(x1, x2, x3)
U36_aag(x1, x2)  =  U36_aag(x1, x2)
U37_aag(x1, x2, x3, x4)  =  U37_aag(x3, x4)
U18_aag(x1, x2, x3, x4)  =  U18_aag(x3, x4)
addyH_in_aag(x1, x2, x3)  =  addyH_in_aag(x3)
U38_aag(x1, x2)  =  U38_aag(x1, x2)
addyH_out_aag(x1, x2, x3)  =  addyH_out_aag(x1, x2, x3)
U39_aag(x1, x2)  =  U39_aag(x1, x2)
U40_aag(x1, x2, x3, x4)  =  U40_aag(x3, x4)
U19_aag(x1, x2, x3, x4)  =  U19_aag(x3, x4)
addcI_in_aag(x1, x2, x3)  =  addcI_in_aag(x3)
addcI_out_aag(x1, x2, x3)  =  addcI_out_aag(x1, x2, x3)
U32_aag(x1, x2, x3)  =  U32_aag(x2, x3)
succZK_in_ag(x1, x2)  =  succZK_in_ag(x2)
U22_ag(x1, x2)  =  U22_ag(x1, x2)
succZK_out_ag(x1, x2)  =  succZK_out_ag(x1, x2)
U23_ag(x1, x2, x3)  =  U23_ag(x2, x3)
succJ_in_ag(x1, x2)  =  succJ_in_ag(x2)
succJ_out_ag(x1, x2)  =  succJ_out_ag(x1, x2)
U20_ag(x1, x2)  =  U20_ag(x1, x2)
U21_ag(x1, x2, x3)  =  U21_ag(x2, x3)
U33_aag(x1, x2, x3)  =  U33_aag(x2, x3)
U34_aag(x1, x2, x3, x4)  =  U34_aag(x3, x4)
addCL_in_aag(x1, x2, x3)  =  addCL_in_aag(x3)
U24_aag(x1, x2, x3, x4)  =  U24_aag(x3, x4)
addzF_out_aag(x1, x2, x3)  =  addzF_out_aag(x1, x2, x3)
addCL_out_aag(x1, x2, x3)  =  addCL_out_aag(x1, x2, x3)
U25_aag(x1, x2)  =  U25_aag(x1, x2)
U26_aag(x1, x2, x3)  =  U26_aag(x2, x3)
U27_aag(x1, x2, x3, x4)  =  U27_aag(x3, x4)
U28_aag(x1, x2)  =  U28_aag(x1, x2)
U29_aag(x1, x2, x3)  =  U29_aag(x2, x3)
U30_aag(x1, x2, x3, x4)  =  U30_aag(x3, x4)
U31_aag(x1, x2, x3, x4)  =  U31_aag(x3, x4)
addzE_out_aag(x1, x2, x3)  =  addzE_out_aag(x1, x2, x3)
U42_aag(x1, x2, x3, x4)  =  U42_aag(x3, x4)
U43_aag(x1, x2, x3, x4)  =  U43_aag(x3, x4)
U44_aag(x1, x2, x3, x4)  =  U44_aag(x3, x4)
U5_aag(x1, x2)  =  U5_aag(x1, x2)
U6_aag(x1, x2)  =  U6_aag(x1, x2)
U7_aag(x1, x2, x3, x4)  =  U7_aag(x3, x4)
U8_aag(x1, x2, x3, x4)  =  U8_aag(x3, x4)
U9_aag(x1, x2, x3, x4)  =  U9_aag(x3, x4)
U10_aag(x1, x2, x3, x4)  =  U10_aag(x3, x4)
U11_aag(x1, x2, x3, x4)  =  U11_aag(x3, x4)
SUCCJ_IN_AG(x1, x2)  =  SUCCJ_IN_AG(x2)

We have to consider all (P,R,Pi)-chains

(15) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(16) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

SUCCJ_IN_AG(one(T303), zero(T302)) → SUCCJ_IN_AG(T303, T302)

R is empty.
The argument filtering Pi contains the following mapping:
zero(x1)  =  zero(x1)
one(x1)  =  one(x1)
SUCCJ_IN_AG(x1, x2)  =  SUCCJ_IN_AG(x2)

We have to consider all (P,R,Pi)-chains

(17) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(18) Obligation:

Q DP problem:
The TRS P consists of the following rules:

SUCCJ_IN_AG(zero(T302)) → SUCCJ_IN_AG(T302)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(19) QDPSizeChangeProof (EQUIVALENT transformation)

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.

From the DPs we obtained the following set of size-change graphs:

  • SUCCJ_IN_AG(zero(T302)) → SUCCJ_IN_AG(T302)
    The graph contains the following edges 1 > 1

(20) YES

(21) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

ADDXG_IN_AAG(T202, T203, T201) → ADDZF_IN_AAG(T202, T203, T201)
ADDZF_IN_AAG(zero(T154), zero(T155), zero(T153)) → ADDZF_IN_AAG(T154, T155, T153)
ADDZF_IN_AAG(zero(T174), one(T175), one(T173)) → ADDXG_IN_AAG(T174, T175, T173)
ADDZF_IN_AAG(one(T222), zero(T223), one(T221)) → ADDYH_IN_AAG(T222, T223, T221)
ADDYH_IN_AAG(T250, T251, T249) → ADDZF_IN_AAG(T250, T251, T249)
ADDZF_IN_AAG(one(T264), one(T265), zero(T263)) → ADDCI_IN_AAG(T264, T265, T263)
ADDCI_IN_AAG(T330, T331, T329) → ADDCL_IN_AAG(T330, T331, T329)
ADDCL_IN_AAG(zero(T350), zero(T351), one(T349)) → ADDZF_IN_AAG(T350, T351, T349)
ADDCL_IN_AAG(zero(T404), one(T405), zero(T403)) → ADDCL_IN_AAG(T404, T405, T403)
ADDCL_IN_AAG(one(T458), zero(T459), zero(T457)) → ADDCL_IN_AAG(T458, T459, T457)
ADDCL_IN_AAG(one(T472), one(T473), one(T471)) → ADDCI_IN_AAG(T472, T473, T471)

The TRS R consists of the following rules:

addA_in_aag(b, b, b) → addA_out_aag(b, b, b)
addA_in_aag(zero(T69), b, zero(T69)) → U1_aag(T69, binaryZC_in_g(T69))
binaryZC_in_g(zero(T75)) → U12_g(T75, binaryZC_in_g(T75))
binaryZC_in_g(one(T79)) → U13_g(T79, binaryD_in_g(T79))
binaryD_in_g(b) → binaryD_out_g(b)
binaryD_in_g(zero(T84)) → U14_g(T84, binaryZC_in_g(T84))
U14_g(T84, binaryZC_out_g(T84)) → binaryD_out_g(zero(T84))
binaryD_in_g(one(T88)) → U15_g(T88, binaryD_in_g(T88))
U15_g(T88, binaryD_out_g(T88)) → binaryD_out_g(one(T88))
U13_g(T79, binaryD_out_g(T79)) → binaryZC_out_g(one(T79))
U12_g(T75, binaryZC_out_g(T75)) → binaryZC_out_g(zero(T75))
U1_aag(T69, binaryZC_out_g(T69)) → addA_out_aag(zero(T69), b, zero(T69))
addA_in_aag(one(T93), b, one(T93)) → U2_aag(T93, binaryD_in_g(T93))
U2_aag(T93, binaryD_out_g(T93)) → addA_out_aag(one(T93), b, one(T93))
addA_in_aag(b, T98, T98) → U3_aag(T98, binaryZC_in_g(T98))
U3_aag(T98, binaryZC_out_g(T98)) → addA_out_aag(b, T98, T98)
addA_in_aag(T114, T115, T113) → U4_aag(T114, T115, T113, addzE_in_aag(T114, T115, T113))
addzE_in_aag(zero(T134), zero(T135), zero(T133)) → U41_aag(T134, T135, T133, addzF_in_aag(T134, T135, T133))
addzF_in_aag(zero(T154), zero(T155), zero(T153)) → U16_aag(T154, T155, T153, addzF_in_aag(T154, T155, T153))
addzF_in_aag(zero(T174), one(T175), one(T173)) → U17_aag(T174, T175, T173, addxG_in_aag(T174, T175, T173))
addxG_in_aag(one(T181), b, one(T181)) → U35_aag(T181, binaryD_in_g(T181))
U35_aag(T181, binaryD_out_g(T181)) → addxG_out_aag(one(T181), b, one(T181))
addxG_in_aag(zero(T186), b, zero(T186)) → U36_aag(T186, binaryZC_in_g(T186))
U36_aag(T186, binaryZC_out_g(T186)) → addxG_out_aag(zero(T186), b, zero(T186))
addxG_in_aag(T202, T203, T201) → U37_aag(T202, T203, T201, addzF_in_aag(T202, T203, T201))
addzF_in_aag(one(T222), zero(T223), one(T221)) → U18_aag(T222, T223, T221, addyH_in_aag(T222, T223, T221))
addyH_in_aag(b, one(T229), one(T229)) → U38_aag(T229, binaryD_in_g(T229))
U38_aag(T229, binaryD_out_g(T229)) → addyH_out_aag(b, one(T229), one(T229))
addyH_in_aag(b, zero(T234), zero(T234)) → U39_aag(T234, binaryZC_in_g(T234))
U39_aag(T234, binaryZC_out_g(T234)) → addyH_out_aag(b, zero(T234), zero(T234))
addyH_in_aag(T250, T251, T249) → U40_aag(T250, T251, T249, addzF_in_aag(T250, T251, T249))
addzF_in_aag(one(T264), one(T265), zero(T263)) → U19_aag(T264, T265, T263, addcI_in_aag(T264, T265, T263))
addcI_in_aag(b, b, one(b)) → addcI_out_aag(b, b, one(b))
addcI_in_aag(T276, b, T275) → U32_aag(T276, T275, succZK_in_ag(T276, T275))
succZK_in_ag(zero(T282), one(T282)) → U22_ag(T282, binaryZC_in_g(T282))
U22_ag(T282, binaryZC_out_g(T282)) → succZK_out_ag(zero(T282), one(T282))
succZK_in_ag(one(T290), zero(T289)) → U23_ag(T290, T289, succJ_in_ag(T290, T289))
succJ_in_ag(b, one(b)) → succJ_out_ag(b, one(b))
succJ_in_ag(zero(T295), one(T295)) → U20_ag(T295, binaryZC_in_g(T295))
U20_ag(T295, binaryZC_out_g(T295)) → succJ_out_ag(zero(T295), one(T295))
succJ_in_ag(one(T303), zero(T302)) → U21_ag(T303, T302, succJ_in_ag(T303, T302))
U21_ag(T303, T302, succJ_out_ag(T303, T302)) → succJ_out_ag(one(T303), zero(T302))
U23_ag(T290, T289, succJ_out_ag(T290, T289)) → succZK_out_ag(one(T290), zero(T289))
U32_aag(T276, T275, succZK_out_ag(T276, T275)) → addcI_out_aag(T276, b, T275)
addcI_in_aag(b, T314, T313) → U33_aag(T314, T313, succZK_in_ag(T314, T313))
U33_aag(T314, T313, succZK_out_ag(T314, T313)) → addcI_out_aag(b, T314, T313)
addcI_in_aag(T330, T331, T329) → U34_aag(T330, T331, T329, addCL_in_aag(T330, T331, T329))
addCL_in_aag(zero(T350), zero(T351), one(T349)) → U24_aag(T350, T351, T349, addzF_in_aag(T350, T351, T349))
U24_aag(T350, T351, T349, addzF_out_aag(T350, T351, T349)) → addCL_out_aag(zero(T350), zero(T351), one(T349))
addCL_in_aag(zero(zero(T377)), one(b), zero(one(T377))) → U25_aag(T377, binaryZC_in_g(T377))
U25_aag(T377, binaryZC_out_g(T377)) → addCL_out_aag(zero(zero(T377)), one(b), zero(one(T377)))
addCL_in_aag(zero(one(T389)), one(b), zero(zero(T388))) → U26_aag(T389, T388, succJ_in_ag(T389, T388))
U26_aag(T389, T388, succJ_out_ag(T389, T388)) → addCL_out_aag(zero(one(T389)), one(b), zero(zero(T388)))
addCL_in_aag(zero(T404), one(T405), zero(T403)) → U27_aag(T404, T405, T403, addCL_in_aag(T404, T405, T403))
addCL_in_aag(one(b), zero(zero(T431)), zero(one(T431))) → U28_aag(T431, binaryZC_in_g(T431))
U28_aag(T431, binaryZC_out_g(T431)) → addCL_out_aag(one(b), zero(zero(T431)), zero(one(T431)))
addCL_in_aag(one(b), zero(one(T443)), zero(zero(T442))) → U29_aag(T443, T442, succJ_in_ag(T443, T442))
U29_aag(T443, T442, succJ_out_ag(T443, T442)) → addCL_out_aag(one(b), zero(one(T443)), zero(zero(T442)))
addCL_in_aag(one(T458), zero(T459), zero(T457)) → U30_aag(T458, T459, T457, addCL_in_aag(T458, T459, T457))
addCL_in_aag(one(T472), one(T473), one(T471)) → U31_aag(T472, T473, T471, addcI_in_aag(T472, T473, T471))
U31_aag(T472, T473, T471, addcI_out_aag(T472, T473, T471)) → addCL_out_aag(one(T472), one(T473), one(T471))
U30_aag(T458, T459, T457, addCL_out_aag(T458, T459, T457)) → addCL_out_aag(one(T458), zero(T459), zero(T457))
U27_aag(T404, T405, T403, addCL_out_aag(T404, T405, T403)) → addCL_out_aag(zero(T404), one(T405), zero(T403))
U34_aag(T330, T331, T329, addCL_out_aag(T330, T331, T329)) → addcI_out_aag(T330, T331, T329)
U19_aag(T264, T265, T263, addcI_out_aag(T264, T265, T263)) → addzF_out_aag(one(T264), one(T265), zero(T263))
U40_aag(T250, T251, T249, addzF_out_aag(T250, T251, T249)) → addyH_out_aag(T250, T251, T249)
U18_aag(T222, T223, T221, addyH_out_aag(T222, T223, T221)) → addzF_out_aag(one(T222), zero(T223), one(T221))
U37_aag(T202, T203, T201, addzF_out_aag(T202, T203, T201)) → addxG_out_aag(T202, T203, T201)
U17_aag(T174, T175, T173, addxG_out_aag(T174, T175, T173)) → addzF_out_aag(zero(T174), one(T175), one(T173))
U16_aag(T154, T155, T153, addzF_out_aag(T154, T155, T153)) → addzF_out_aag(zero(T154), zero(T155), zero(T153))
U41_aag(T134, T135, T133, addzF_out_aag(T134, T135, T133)) → addzE_out_aag(zero(T134), zero(T135), zero(T133))
addzE_in_aag(zero(T489), one(T490), one(T488)) → U42_aag(T489, T490, T488, addxG_in_aag(T489, T490, T488))
U42_aag(T489, T490, T488, addxG_out_aag(T489, T490, T488)) → addzE_out_aag(zero(T489), one(T490), one(T488))
addzE_in_aag(one(T507), zero(T508), one(T506)) → U43_aag(T507, T508, T506, addyH_in_aag(T507, T508, T506))
U43_aag(T507, T508, T506, addyH_out_aag(T507, T508, T506)) → addzE_out_aag(one(T507), zero(T508), one(T506))
addzE_in_aag(one(T519), one(T520), zero(T518)) → U44_aag(T519, T520, T518, addcI_in_aag(T519, T520, T518))
U44_aag(T519, T520, T518, addcI_out_aag(T519, T520, T518)) → addzE_out_aag(one(T519), one(T520), zero(T518))
U4_aag(T114, T115, T113, addzE_out_aag(T114, T115, T113)) → addA_out_aag(T114, T115, T113)
addA_in_aag(b, zero(T527), zero(T527)) → U5_aag(T527, binaryZC_in_g(T527))
U5_aag(T527, binaryZC_out_g(T527)) → addA_out_aag(b, zero(T527), zero(T527))
addA_in_aag(b, one(T533), one(T533)) → U6_aag(T533, binaryD_in_g(T533))
U6_aag(T533, binaryD_out_g(T533)) → addA_out_aag(b, one(T533), one(T533))
addA_in_aag(T548, T549, T547) → U7_aag(T548, T549, T547, addzE_in_aag(T548, T549, T547))
U7_aag(T548, T549, T547, addzE_out_aag(T548, T549, T547)) → addA_out_aag(T548, T549, T547)
addA_in_aag(zero(T576), zero(T577), zero(T575)) → U8_aag(T576, T577, T575, addzF_in_aag(T576, T577, T575))
U8_aag(T576, T577, T575, addzF_out_aag(T576, T577, T575)) → addA_out_aag(zero(T576), zero(T577), zero(T575))
addA_in_aag(zero(T596), one(T597), one(T595)) → U9_aag(T596, T597, T595, addxG_in_aag(T596, T597, T595))
U9_aag(T596, T597, T595, addxG_out_aag(T596, T597, T595)) → addA_out_aag(zero(T596), one(T597), one(T595))
addA_in_aag(one(T614), zero(T615), one(T613)) → U10_aag(T614, T615, T613, addyH_in_aag(T614, T615, T613))
U10_aag(T614, T615, T613, addyH_out_aag(T614, T615, T613)) → addA_out_aag(one(T614), zero(T615), one(T613))
addA_in_aag(one(T626), one(T627), zero(T625)) → U11_aag(T626, T627, T625, addcI_in_aag(T626, T627, T625))
U11_aag(T626, T627, T625, addcI_out_aag(T626, T627, T625)) → addA_out_aag(one(T626), one(T627), zero(T625))

The argument filtering Pi contains the following mapping:
addA_in_aag(x1, x2, x3)  =  addA_in_aag(x3)
b  =  b
addA_out_aag(x1, x2, x3)  =  addA_out_aag(x1, x2, x3)
zero(x1)  =  zero(x1)
U1_aag(x1, x2)  =  U1_aag(x1, x2)
binaryZC_in_g(x1)  =  binaryZC_in_g(x1)
U12_g(x1, x2)  =  U12_g(x1, x2)
one(x1)  =  one(x1)
U13_g(x1, x2)  =  U13_g(x1, x2)
binaryD_in_g(x1)  =  binaryD_in_g(x1)
binaryD_out_g(x1)  =  binaryD_out_g(x1)
U14_g(x1, x2)  =  U14_g(x1, x2)
binaryZC_out_g(x1)  =  binaryZC_out_g(x1)
U15_g(x1, x2)  =  U15_g(x1, x2)
U2_aag(x1, x2)  =  U2_aag(x1, x2)
U3_aag(x1, x2)  =  U3_aag(x1, x2)
U4_aag(x1, x2, x3, x4)  =  U4_aag(x3, x4)
addzE_in_aag(x1, x2, x3)  =  addzE_in_aag(x3)
U41_aag(x1, x2, x3, x4)  =  U41_aag(x3, x4)
addzF_in_aag(x1, x2, x3)  =  addzF_in_aag(x3)
U16_aag(x1, x2, x3, x4)  =  U16_aag(x3, x4)
U17_aag(x1, x2, x3, x4)  =  U17_aag(x3, x4)
addxG_in_aag(x1, x2, x3)  =  addxG_in_aag(x3)
U35_aag(x1, x2)  =  U35_aag(x1, x2)
addxG_out_aag(x1, x2, x3)  =  addxG_out_aag(x1, x2, x3)
U36_aag(x1, x2)  =  U36_aag(x1, x2)
U37_aag(x1, x2, x3, x4)  =  U37_aag(x3, x4)
U18_aag(x1, x2, x3, x4)  =  U18_aag(x3, x4)
addyH_in_aag(x1, x2, x3)  =  addyH_in_aag(x3)
U38_aag(x1, x2)  =  U38_aag(x1, x2)
addyH_out_aag(x1, x2, x3)  =  addyH_out_aag(x1, x2, x3)
U39_aag(x1, x2)  =  U39_aag(x1, x2)
U40_aag(x1, x2, x3, x4)  =  U40_aag(x3, x4)
U19_aag(x1, x2, x3, x4)  =  U19_aag(x3, x4)
addcI_in_aag(x1, x2, x3)  =  addcI_in_aag(x3)
addcI_out_aag(x1, x2, x3)  =  addcI_out_aag(x1, x2, x3)
U32_aag(x1, x2, x3)  =  U32_aag(x2, x3)
succZK_in_ag(x1, x2)  =  succZK_in_ag(x2)
U22_ag(x1, x2)  =  U22_ag(x1, x2)
succZK_out_ag(x1, x2)  =  succZK_out_ag(x1, x2)
U23_ag(x1, x2, x3)  =  U23_ag(x2, x3)
succJ_in_ag(x1, x2)  =  succJ_in_ag(x2)
succJ_out_ag(x1, x2)  =  succJ_out_ag(x1, x2)
U20_ag(x1, x2)  =  U20_ag(x1, x2)
U21_ag(x1, x2, x3)  =  U21_ag(x2, x3)
U33_aag(x1, x2, x3)  =  U33_aag(x2, x3)
U34_aag(x1, x2, x3, x4)  =  U34_aag(x3, x4)
addCL_in_aag(x1, x2, x3)  =  addCL_in_aag(x3)
U24_aag(x1, x2, x3, x4)  =  U24_aag(x3, x4)
addzF_out_aag(x1, x2, x3)  =  addzF_out_aag(x1, x2, x3)
addCL_out_aag(x1, x2, x3)  =  addCL_out_aag(x1, x2, x3)
U25_aag(x1, x2)  =  U25_aag(x1, x2)
U26_aag(x1, x2, x3)  =  U26_aag(x2, x3)
U27_aag(x1, x2, x3, x4)  =  U27_aag(x3, x4)
U28_aag(x1, x2)  =  U28_aag(x1, x2)
U29_aag(x1, x2, x3)  =  U29_aag(x2, x3)
U30_aag(x1, x2, x3, x4)  =  U30_aag(x3, x4)
U31_aag(x1, x2, x3, x4)  =  U31_aag(x3, x4)
addzE_out_aag(x1, x2, x3)  =  addzE_out_aag(x1, x2, x3)
U42_aag(x1, x2, x3, x4)  =  U42_aag(x3, x4)
U43_aag(x1, x2, x3, x4)  =  U43_aag(x3, x4)
U44_aag(x1, x2, x3, x4)  =  U44_aag(x3, x4)
U5_aag(x1, x2)  =  U5_aag(x1, x2)
U6_aag(x1, x2)  =  U6_aag(x1, x2)
U7_aag(x1, x2, x3, x4)  =  U7_aag(x3, x4)
U8_aag(x1, x2, x3, x4)  =  U8_aag(x3, x4)
U9_aag(x1, x2, x3, x4)  =  U9_aag(x3, x4)
U10_aag(x1, x2, x3, x4)  =  U10_aag(x3, x4)
U11_aag(x1, x2, x3, x4)  =  U11_aag(x3, x4)
ADDZF_IN_AAG(x1, x2, x3)  =  ADDZF_IN_AAG(x3)
ADDXG_IN_AAG(x1, x2, x3)  =  ADDXG_IN_AAG(x3)
ADDYH_IN_AAG(x1, x2, x3)  =  ADDYH_IN_AAG(x3)
ADDCI_IN_AAG(x1, x2, x3)  =  ADDCI_IN_AAG(x3)
ADDCL_IN_AAG(x1, x2, x3)  =  ADDCL_IN_AAG(x3)

We have to consider all (P,R,Pi)-chains

(22) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(23) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

ADDXG_IN_AAG(T202, T203, T201) → ADDZF_IN_AAG(T202, T203, T201)
ADDZF_IN_AAG(zero(T154), zero(T155), zero(T153)) → ADDZF_IN_AAG(T154, T155, T153)
ADDZF_IN_AAG(zero(T174), one(T175), one(T173)) → ADDXG_IN_AAG(T174, T175, T173)
ADDZF_IN_AAG(one(T222), zero(T223), one(T221)) → ADDYH_IN_AAG(T222, T223, T221)
ADDYH_IN_AAG(T250, T251, T249) → ADDZF_IN_AAG(T250, T251, T249)
ADDZF_IN_AAG(one(T264), one(T265), zero(T263)) → ADDCI_IN_AAG(T264, T265, T263)
ADDCI_IN_AAG(T330, T331, T329) → ADDCL_IN_AAG(T330, T331, T329)
ADDCL_IN_AAG(zero(T350), zero(T351), one(T349)) → ADDZF_IN_AAG(T350, T351, T349)
ADDCL_IN_AAG(zero(T404), one(T405), zero(T403)) → ADDCL_IN_AAG(T404, T405, T403)
ADDCL_IN_AAG(one(T458), zero(T459), zero(T457)) → ADDCL_IN_AAG(T458, T459, T457)
ADDCL_IN_AAG(one(T472), one(T473), one(T471)) → ADDCI_IN_AAG(T472, T473, T471)

R is empty.
The argument filtering Pi contains the following mapping:
zero(x1)  =  zero(x1)
one(x1)  =  one(x1)
ADDZF_IN_AAG(x1, x2, x3)  =  ADDZF_IN_AAG(x3)
ADDXG_IN_AAG(x1, x2, x3)  =  ADDXG_IN_AAG(x3)
ADDYH_IN_AAG(x1, x2, x3)  =  ADDYH_IN_AAG(x3)
ADDCI_IN_AAG(x1, x2, x3)  =  ADDCI_IN_AAG(x3)
ADDCL_IN_AAG(x1, x2, x3)  =  ADDCL_IN_AAG(x3)

We have to consider all (P,R,Pi)-chains

(24) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(25) Obligation:

Q DP problem:
The TRS P consists of the following rules:

ADDXG_IN_AAG(T201) → ADDZF_IN_AAG(T201)
ADDZF_IN_AAG(zero(T153)) → ADDZF_IN_AAG(T153)
ADDZF_IN_AAG(one(T173)) → ADDXG_IN_AAG(T173)
ADDZF_IN_AAG(one(T221)) → ADDYH_IN_AAG(T221)
ADDYH_IN_AAG(T249) → ADDZF_IN_AAG(T249)
ADDZF_IN_AAG(zero(T263)) → ADDCI_IN_AAG(T263)
ADDCI_IN_AAG(T329) → ADDCL_IN_AAG(T329)
ADDCL_IN_AAG(one(T349)) → ADDZF_IN_AAG(T349)
ADDCL_IN_AAG(zero(T403)) → ADDCL_IN_AAG(T403)
ADDCL_IN_AAG(one(T471)) → ADDCI_IN_AAG(T471)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(26) QDPSizeChangeProof (EQUIVALENT transformation)

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.

From the DPs we obtained the following set of size-change graphs:

  • ADDZF_IN_AAG(one(T173)) → ADDXG_IN_AAG(T173)
    The graph contains the following edges 1 > 1

  • ADDZF_IN_AAG(zero(T153)) → ADDZF_IN_AAG(T153)
    The graph contains the following edges 1 > 1

  • ADDXG_IN_AAG(T201) → ADDZF_IN_AAG(T201)
    The graph contains the following edges 1 >= 1

  • ADDYH_IN_AAG(T249) → ADDZF_IN_AAG(T249)
    The graph contains the following edges 1 >= 1

  • ADDCL_IN_AAG(one(T349)) → ADDZF_IN_AAG(T349)
    The graph contains the following edges 1 > 1

  • ADDZF_IN_AAG(one(T221)) → ADDYH_IN_AAG(T221)
    The graph contains the following edges 1 > 1

  • ADDZF_IN_AAG(zero(T263)) → ADDCI_IN_AAG(T263)
    The graph contains the following edges 1 > 1

  • ADDCI_IN_AAG(T329) → ADDCL_IN_AAG(T329)
    The graph contains the following edges 1 >= 1

  • ADDCL_IN_AAG(one(T471)) → ADDCI_IN_AAG(T471)
    The graph contains the following edges 1 > 1

  • ADDCL_IN_AAG(zero(T403)) → ADDCL_IN_AAG(T403)
    The graph contains the following edges 1 > 1

(27) YES