(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)).

Queries:

add(a,a,g).

(1) PrologToDTProblemTransformerProof (SOUND transformation)

Built DT problem from termination graph.

(2) Obligation:

Triples:

binaryZ43(zero(T99)) :- binaryZ43(T99).
binaryZ43(one(T103)) :- binary50(T103).
binary50(zero(T108)) :- binaryZ43(T108).
binary50(one(T112)) :- binary50(T112).
addz77(zero(T178), zero(T179), zero(T177)) :- addz77(T178, T179, T177).
addz77(zero(T198), one(T199), one(T197)) :- addx86(T198, T199, T197).
addz77(one(T246), zero(T247), one(T245)) :- addy100(T246, T247, T245).
addz77(one(T288), one(T289), zero(T287)) :- addc112(T288, T289, T287).
succ129(zero(T319), one(T319)) :- binaryZ43(T319).
succ129(one(T327), zero(T326)) :- succ129(T327, T326).
succZ122(zero(T306), one(T306)) :- binaryZ43(T306).
succZ122(one(T314), zero(T313)) :- succ129(T314, T313).
addC147(zero(T374), zero(T375), one(T373)) :- addz77(T374, T375, T373).
addC147(zero(zero(T401)), one(b), zero(one(T401))) :- binaryZ43(T401).
addC147(zero(one(T413)), one(b), zero(zero(T412))) :- succ129(T413, T412).
addC147(zero(T428), one(T429), zero(T427)) :- addC147(T428, T429, T427).
addC147(one(b), zero(zero(T455)), zero(one(T455))) :- binaryZ43(T455).
addC147(one(b), zero(one(T467)), zero(zero(T466))) :- succ129(T467, T466).
addC147(one(T482), zero(T483), zero(T481)) :- addC147(T482, T483, T481).
addC147(one(T496), one(T497), one(T495)) :- addc112(T496, T497, T495).
addc112(T300, b, T299) :- succZ122(T300, T299).
addc112(b, T338, T337) :- succZ122(T338, T337).
addc112(T354, T355, T353) :- addC147(T354, T355, T353).
addx86(one(T205), b, one(T205)) :- binary50(T205).
addx86(zero(T210), b, zero(T210)) :- binaryZ43(T210).
addx86(T226, T227, T225) :- addz77(T226, T227, T225).
addy100(b, one(T253), one(T253)) :- binary50(T253).
addy100(b, zero(T258), zero(T258)) :- binaryZ43(T258).
addy100(T274, T275, T273) :- addz77(T274, T275, T273).
addz73(zero(T158), zero(T159), zero(T157)) :- addz77(T158, T159, T157).
addz73(zero(T513), one(T514), one(T512)) :- addx86(T513, T514, T512).
addz73(one(T531), zero(T532), one(T530)) :- addy100(T531, T532, T530).
addz73(one(T543), one(T544), zero(T542)) :- addc112(T543, T544, T542).
add1(T27, T28, b) :- addz19(T27, T28).
add1(T63, T64, b) :- addz19(T63, T64).
add1(zero(T93), b, zero(T93)) :- binaryZ43(T93).
add1(one(T117), b, one(T117)) :- binary50(T117).
add1(b, T122, T122) :- binaryZ43(T122).
add1(T138, T139, T137) :- addz73(T138, T139, T137).
add1(b, zero(T551), zero(T551)) :- binaryZ43(T551).
add1(b, one(T557), one(T557)) :- binary50(T557).
add1(T572, T573, T571) :- addz73(T572, T573, T571).
add1(zero(T600), zero(T601), zero(T599)) :- addz77(T600, T601, T599).
add1(zero(T620), one(T621), one(T619)) :- addx86(T620, T621, T619).
add1(one(T638), zero(T639), one(T637)) :- addy100(T638, T639, T637).
add1(one(T650), one(T651), zero(T649)) :- addc112(T650, T651, T649).

Clauses:

binaryZc43(zero(T99)) :- binaryZc43(T99).
binaryZc43(one(T103)) :- binaryc50(T103).
binaryc50(b).
binaryc50(zero(T108)) :- binaryZc43(T108).
binaryc50(one(T112)) :- binaryc50(T112).
addzc77(zero(T178), zero(T179), zero(T177)) :- addzc77(T178, T179, T177).
addzc77(zero(T198), one(T199), one(T197)) :- addxc86(T198, T199, T197).
addzc77(one(T246), zero(T247), one(T245)) :- addyc100(T246, T247, T245).
addzc77(one(T288), one(T289), zero(T287)) :- addcc112(T288, T289, T287).
succc129(b, one(b)).
succc129(zero(T319), one(T319)) :- binaryZc43(T319).
succc129(one(T327), zero(T326)) :- succc129(T327, T326).
succZc122(zero(T306), one(T306)) :- binaryZc43(T306).
succZc122(one(T314), zero(T313)) :- succc129(T314, T313).
addCc147(zero(T374), zero(T375), one(T373)) :- addzc77(T374, T375, T373).
addCc147(zero(zero(T401)), one(b), zero(one(T401))) :- binaryZc43(T401).
addCc147(zero(one(T413)), one(b), zero(zero(T412))) :- succc129(T413, T412).
addCc147(zero(T428), one(T429), zero(T427)) :- addCc147(T428, T429, T427).
addCc147(one(b), zero(zero(T455)), zero(one(T455))) :- binaryZc43(T455).
addCc147(one(b), zero(one(T467)), zero(zero(T466))) :- succc129(T467, T466).
addCc147(one(T482), zero(T483), zero(T481)) :- addCc147(T482, T483, T481).
addCc147(one(T496), one(T497), one(T495)) :- addcc112(T496, T497, T495).
addcc112(b, b, one(b)).
addcc112(T300, b, T299) :- succZc122(T300, T299).
addcc112(b, T338, T337) :- succZc122(T338, T337).
addcc112(T354, T355, T353) :- addCc147(T354, T355, T353).
addxc86(one(T205), b, one(T205)) :- binaryc50(T205).
addxc86(zero(T210), b, zero(T210)) :- binaryZc43(T210).
addxc86(T226, T227, T225) :- addzc77(T226, T227, T225).
addyc100(b, one(T253), one(T253)) :- binaryc50(T253).
addyc100(b, zero(T258), zero(T258)) :- binaryZc43(T258).
addyc100(T274, T275, T273) :- addzc77(T274, T275, T273).
addzc73(zero(T158), zero(T159), zero(T157)) :- addzc77(T158, T159, T157).
addzc73(zero(T513), one(T514), one(T512)) :- addxc86(T513, T514, T512).
addzc73(one(T531), zero(T532), one(T530)) :- addyc100(T531, T532, T530).
addzc73(one(T543), one(T544), zero(T542)) :- addcc112(T543, T544, T542).

Afs:

add1(x1, x2, x3)  =  add1(x3)

(3) UndefinedPredicateInTriplesTransformerProof (SOUND transformation)

Deleted triples and predicates having undefined goals [UNKNOWN].

(4) Obligation:

Triples:

binaryZ43(zero(T99)) :- binaryZ43(T99).
binaryZ43(one(T103)) :- binary50(T103).
binary50(zero(T108)) :- binaryZ43(T108).
binary50(one(T112)) :- binary50(T112).
addz77(zero(T178), zero(T179), zero(T177)) :- addz77(T178, T179, T177).
addz77(zero(T198), one(T199), one(T197)) :- addx86(T198, T199, T197).
addz77(one(T246), zero(T247), one(T245)) :- addy100(T246, T247, T245).
addz77(one(T288), one(T289), zero(T287)) :- addc112(T288, T289, T287).
succ129(zero(T319), one(T319)) :- binaryZ43(T319).
succ129(one(T327), zero(T326)) :- succ129(T327, T326).
succZ122(zero(T306), one(T306)) :- binaryZ43(T306).
succZ122(one(T314), zero(T313)) :- succ129(T314, T313).
addC147(zero(T374), zero(T375), one(T373)) :- addz77(T374, T375, T373).
addC147(zero(zero(T401)), one(b), zero(one(T401))) :- binaryZ43(T401).
addC147(zero(one(T413)), one(b), zero(zero(T412))) :- succ129(T413, T412).
addC147(zero(T428), one(T429), zero(T427)) :- addC147(T428, T429, T427).
addC147(one(b), zero(zero(T455)), zero(one(T455))) :- binaryZ43(T455).
addC147(one(b), zero(one(T467)), zero(zero(T466))) :- succ129(T467, T466).
addC147(one(T482), zero(T483), zero(T481)) :- addC147(T482, T483, T481).
addC147(one(T496), one(T497), one(T495)) :- addc112(T496, T497, T495).
addc112(T300, b, T299) :- succZ122(T300, T299).
addc112(b, T338, T337) :- succZ122(T338, T337).
addc112(T354, T355, T353) :- addC147(T354, T355, T353).
addx86(one(T205), b, one(T205)) :- binary50(T205).
addx86(zero(T210), b, zero(T210)) :- binaryZ43(T210).
addx86(T226, T227, T225) :- addz77(T226, T227, T225).
addy100(b, one(T253), one(T253)) :- binary50(T253).
addy100(b, zero(T258), zero(T258)) :- binaryZ43(T258).
addy100(T274, T275, T273) :- addz77(T274, T275, T273).
addz73(zero(T158), zero(T159), zero(T157)) :- addz77(T158, T159, T157).
addz73(zero(T513), one(T514), one(T512)) :- addx86(T513, T514, T512).
addz73(one(T531), zero(T532), one(T530)) :- addy100(T531, T532, T530).
addz73(one(T543), one(T544), zero(T542)) :- addc112(T543, T544, T542).
add1(zero(T93), b, zero(T93)) :- binaryZ43(T93).
add1(one(T117), b, one(T117)) :- binary50(T117).
add1(b, T122, T122) :- binaryZ43(T122).
add1(T138, T139, T137) :- addz73(T138, T139, T137).
add1(b, zero(T551), zero(T551)) :- binaryZ43(T551).
add1(b, one(T557), one(T557)) :- binary50(T557).
add1(T572, T573, T571) :- addz73(T572, T573, T571).
add1(zero(T600), zero(T601), zero(T599)) :- addz77(T600, T601, T599).
add1(zero(T620), one(T621), one(T619)) :- addx86(T620, T621, T619).
add1(one(T638), zero(T639), one(T637)) :- addy100(T638, T639, T637).
add1(one(T650), one(T651), zero(T649)) :- addc112(T650, T651, T649).

Clauses:

binaryZc43(zero(T99)) :- binaryZc43(T99).
binaryZc43(one(T103)) :- binaryc50(T103).
binaryc50(b).
binaryc50(zero(T108)) :- binaryZc43(T108).
binaryc50(one(T112)) :- binaryc50(T112).
addzc77(zero(T178), zero(T179), zero(T177)) :- addzc77(T178, T179, T177).
addzc77(zero(T198), one(T199), one(T197)) :- addxc86(T198, T199, T197).
addzc77(one(T246), zero(T247), one(T245)) :- addyc100(T246, T247, T245).
addzc77(one(T288), one(T289), zero(T287)) :- addcc112(T288, T289, T287).
succc129(b, one(b)).
succc129(zero(T319), one(T319)) :- binaryZc43(T319).
succc129(one(T327), zero(T326)) :- succc129(T327, T326).
succZc122(zero(T306), one(T306)) :- binaryZc43(T306).
succZc122(one(T314), zero(T313)) :- succc129(T314, T313).
addCc147(zero(T374), zero(T375), one(T373)) :- addzc77(T374, T375, T373).
addCc147(zero(zero(T401)), one(b), zero(one(T401))) :- binaryZc43(T401).
addCc147(zero(one(T413)), one(b), zero(zero(T412))) :- succc129(T413, T412).
addCc147(zero(T428), one(T429), zero(T427)) :- addCc147(T428, T429, T427).
addCc147(one(b), zero(zero(T455)), zero(one(T455))) :- binaryZc43(T455).
addCc147(one(b), zero(one(T467)), zero(zero(T466))) :- succc129(T467, T466).
addCc147(one(T482), zero(T483), zero(T481)) :- addCc147(T482, T483, T481).
addCc147(one(T496), one(T497), one(T495)) :- addcc112(T496, T497, T495).
addcc112(b, b, one(b)).
addcc112(T300, b, T299) :- succZc122(T300, T299).
addcc112(b, T338, T337) :- succZc122(T338, T337).
addcc112(T354, T355, T353) :- addCc147(T354, T355, T353).
addxc86(one(T205), b, one(T205)) :- binaryc50(T205).
addxc86(zero(T210), b, zero(T210)) :- binaryZc43(T210).
addxc86(T226, T227, T225) :- addzc77(T226, T227, T225).
addyc100(b, one(T253), one(T253)) :- binaryc50(T253).
addyc100(b, zero(T258), zero(T258)) :- binaryZc43(T258).
addyc100(T274, T275, T273) :- addzc77(T274, T275, T273).
addzc73(zero(T158), zero(T159), zero(T157)) :- addzc77(T158, T159, T157).
addzc73(zero(T513), one(T514), one(T512)) :- addxc86(T513, T514, T512).
addzc73(one(T531), zero(T532), one(T530)) :- addyc100(T531, T532, T530).
addzc73(one(T543), one(T544), zero(T542)) :- addcc112(T543, T544, T542).

Afs:

add1(x1, x2, x3)  =  add1(x3)

(5) TriplesToPiDPProof (SOUND transformation)

We use the technique of [LOPSTR]. With regard to the inferred argument filtering the predicates were used in the following modes:
add1_in: (f,f,b)
binaryZ43_in: (b)
binary50_in: (b)
addz73_in: (f,f,b)
addz77_in: (f,f,b)
addx86_in: (f,f,b)
addy100_in: (f,f,b)
addc112_in: (f,f,b)
succZ122_in: (f,b)
succ129_in: (f,b)
addC147_in: (f,f,b)
Transforming TRIPLES into the following Term Rewriting System:
Pi DP problem:
The TRS P consists of the following rules:

ADD1_IN_AAG(zero(T93), b, zero(T93)) → U34_AAG(T93, binaryZ43_in_g(T93))
ADD1_IN_AAG(zero(T93), b, zero(T93)) → BINARYZ43_IN_G(T93)
BINARYZ43_IN_G(zero(T99)) → U1_G(T99, binaryZ43_in_g(T99))
BINARYZ43_IN_G(zero(T99)) → BINARYZ43_IN_G(T99)
BINARYZ43_IN_G(one(T103)) → U2_G(T103, binary50_in_g(T103))
BINARYZ43_IN_G(one(T103)) → BINARY50_IN_G(T103)
BINARY50_IN_G(zero(T108)) → U3_G(T108, binaryZ43_in_g(T108))
BINARY50_IN_G(zero(T108)) → BINARYZ43_IN_G(T108)
BINARY50_IN_G(one(T112)) → U4_G(T112, binary50_in_g(T112))
BINARY50_IN_G(one(T112)) → BINARY50_IN_G(T112)
ADD1_IN_AAG(one(T117), b, one(T117)) → U35_AAG(T117, binary50_in_g(T117))
ADD1_IN_AAG(one(T117), b, one(T117)) → BINARY50_IN_G(T117)
ADD1_IN_AAG(b, T122, T122) → U36_AAG(T122, binaryZ43_in_g(T122))
ADD1_IN_AAG(b, T122, T122) → BINARYZ43_IN_G(T122)
ADD1_IN_AAG(T138, T139, T137) → U37_AAG(T138, T139, T137, addz73_in_aag(T138, T139, T137))
ADD1_IN_AAG(T138, T139, T137) → ADDZ73_IN_AAG(T138, T139, T137)
ADDZ73_IN_AAG(zero(T158), zero(T159), zero(T157)) → U30_AAG(T158, T159, T157, addz77_in_aag(T158, T159, T157))
ADDZ73_IN_AAG(zero(T158), zero(T159), zero(T157)) → ADDZ77_IN_AAG(T158, T159, T157)
ADDZ77_IN_AAG(zero(T178), zero(T179), zero(T177)) → U5_AAG(T178, T179, T177, addz77_in_aag(T178, T179, T177))
ADDZ77_IN_AAG(zero(T178), zero(T179), zero(T177)) → ADDZ77_IN_AAG(T178, T179, T177)
ADDZ77_IN_AAG(zero(T198), one(T199), one(T197)) → U6_AAG(T198, T199, T197, addx86_in_aag(T198, T199, T197))
ADDZ77_IN_AAG(zero(T198), one(T199), one(T197)) → ADDX86_IN_AAG(T198, T199, T197)
ADDX86_IN_AAG(one(T205), b, one(T205)) → U24_AAG(T205, binary50_in_g(T205))
ADDX86_IN_AAG(one(T205), b, one(T205)) → BINARY50_IN_G(T205)
ADDX86_IN_AAG(zero(T210), b, zero(T210)) → U25_AAG(T210, binaryZ43_in_g(T210))
ADDX86_IN_AAG(zero(T210), b, zero(T210)) → BINARYZ43_IN_G(T210)
ADDX86_IN_AAG(T226, T227, T225) → U26_AAG(T226, T227, T225, addz77_in_aag(T226, T227, T225))
ADDX86_IN_AAG(T226, T227, T225) → ADDZ77_IN_AAG(T226, T227, T225)
ADDZ77_IN_AAG(one(T246), zero(T247), one(T245)) → U7_AAG(T246, T247, T245, addy100_in_aag(T246, T247, T245))
ADDZ77_IN_AAG(one(T246), zero(T247), one(T245)) → ADDY100_IN_AAG(T246, T247, T245)
ADDY100_IN_AAG(b, one(T253), one(T253)) → U27_AAG(T253, binary50_in_g(T253))
ADDY100_IN_AAG(b, one(T253), one(T253)) → BINARY50_IN_G(T253)
ADDY100_IN_AAG(b, zero(T258), zero(T258)) → U28_AAG(T258, binaryZ43_in_g(T258))
ADDY100_IN_AAG(b, zero(T258), zero(T258)) → BINARYZ43_IN_G(T258)
ADDY100_IN_AAG(T274, T275, T273) → U29_AAG(T274, T275, T273, addz77_in_aag(T274, T275, T273))
ADDY100_IN_AAG(T274, T275, T273) → ADDZ77_IN_AAG(T274, T275, T273)
ADDZ77_IN_AAG(one(T288), one(T289), zero(T287)) → U8_AAG(T288, T289, T287, addc112_in_aag(T288, T289, T287))
ADDZ77_IN_AAG(one(T288), one(T289), zero(T287)) → ADDC112_IN_AAG(T288, T289, T287)
ADDC112_IN_AAG(T300, b, T299) → U21_AAG(T300, T299, succZ122_in_ag(T300, T299))
ADDC112_IN_AAG(T300, b, T299) → SUCCZ122_IN_AG(T300, T299)
SUCCZ122_IN_AG(zero(T306), one(T306)) → U11_AG(T306, binaryZ43_in_g(T306))
SUCCZ122_IN_AG(zero(T306), one(T306)) → BINARYZ43_IN_G(T306)
SUCCZ122_IN_AG(one(T314), zero(T313)) → U12_AG(T314, T313, succ129_in_ag(T314, T313))
SUCCZ122_IN_AG(one(T314), zero(T313)) → SUCC129_IN_AG(T314, T313)
SUCC129_IN_AG(zero(T319), one(T319)) → U9_AG(T319, binaryZ43_in_g(T319))
SUCC129_IN_AG(zero(T319), one(T319)) → BINARYZ43_IN_G(T319)
SUCC129_IN_AG(one(T327), zero(T326)) → U10_AG(T327, T326, succ129_in_ag(T327, T326))
SUCC129_IN_AG(one(T327), zero(T326)) → SUCC129_IN_AG(T327, T326)
ADDC112_IN_AAG(b, T338, T337) → U22_AAG(T338, T337, succZ122_in_ag(T338, T337))
ADDC112_IN_AAG(b, T338, T337) → SUCCZ122_IN_AG(T338, T337)
ADDC112_IN_AAG(T354, T355, T353) → U23_AAG(T354, T355, T353, addC147_in_aag(T354, T355, T353))
ADDC112_IN_AAG(T354, T355, T353) → ADDC147_IN_AAG(T354, T355, T353)
ADDC147_IN_AAG(zero(T374), zero(T375), one(T373)) → U13_AAG(T374, T375, T373, addz77_in_aag(T374, T375, T373))
ADDC147_IN_AAG(zero(T374), zero(T375), one(T373)) → ADDZ77_IN_AAG(T374, T375, T373)
ADDC147_IN_AAG(zero(zero(T401)), one(b), zero(one(T401))) → U14_AAG(T401, binaryZ43_in_g(T401))
ADDC147_IN_AAG(zero(zero(T401)), one(b), zero(one(T401))) → BINARYZ43_IN_G(T401)
ADDC147_IN_AAG(zero(one(T413)), one(b), zero(zero(T412))) → U15_AAG(T413, T412, succ129_in_ag(T413, T412))
ADDC147_IN_AAG(zero(one(T413)), one(b), zero(zero(T412))) → SUCC129_IN_AG(T413, T412)
ADDC147_IN_AAG(zero(T428), one(T429), zero(T427)) → U16_AAG(T428, T429, T427, addC147_in_aag(T428, T429, T427))
ADDC147_IN_AAG(zero(T428), one(T429), zero(T427)) → ADDC147_IN_AAG(T428, T429, T427)
ADDC147_IN_AAG(one(b), zero(zero(T455)), zero(one(T455))) → U17_AAG(T455, binaryZ43_in_g(T455))
ADDC147_IN_AAG(one(b), zero(zero(T455)), zero(one(T455))) → BINARYZ43_IN_G(T455)
ADDC147_IN_AAG(one(b), zero(one(T467)), zero(zero(T466))) → U18_AAG(T467, T466, succ129_in_ag(T467, T466))
ADDC147_IN_AAG(one(b), zero(one(T467)), zero(zero(T466))) → SUCC129_IN_AG(T467, T466)
ADDC147_IN_AAG(one(T482), zero(T483), zero(T481)) → U19_AAG(T482, T483, T481, addC147_in_aag(T482, T483, T481))
ADDC147_IN_AAG(one(T482), zero(T483), zero(T481)) → ADDC147_IN_AAG(T482, T483, T481)
ADDC147_IN_AAG(one(T496), one(T497), one(T495)) → U20_AAG(T496, T497, T495, addc112_in_aag(T496, T497, T495))
ADDC147_IN_AAG(one(T496), one(T497), one(T495)) → ADDC112_IN_AAG(T496, T497, T495)
ADDZ73_IN_AAG(zero(T513), one(T514), one(T512)) → U31_AAG(T513, T514, T512, addx86_in_aag(T513, T514, T512))
ADDZ73_IN_AAG(zero(T513), one(T514), one(T512)) → ADDX86_IN_AAG(T513, T514, T512)
ADDZ73_IN_AAG(one(T531), zero(T532), one(T530)) → U32_AAG(T531, T532, T530, addy100_in_aag(T531, T532, T530))
ADDZ73_IN_AAG(one(T531), zero(T532), one(T530)) → ADDY100_IN_AAG(T531, T532, T530)
ADDZ73_IN_AAG(one(T543), one(T544), zero(T542)) → U33_AAG(T543, T544, T542, addc112_in_aag(T543, T544, T542))
ADDZ73_IN_AAG(one(T543), one(T544), zero(T542)) → ADDC112_IN_AAG(T543, T544, T542)
ADD1_IN_AAG(b, zero(T551), zero(T551)) → U38_AAG(T551, binaryZ43_in_g(T551))
ADD1_IN_AAG(b, zero(T551), zero(T551)) → BINARYZ43_IN_G(T551)
ADD1_IN_AAG(b, one(T557), one(T557)) → U39_AAG(T557, binary50_in_g(T557))
ADD1_IN_AAG(b, one(T557), one(T557)) → BINARY50_IN_G(T557)
ADD1_IN_AAG(T572, T573, T571) → U40_AAG(T572, T573, T571, addz73_in_aag(T572, T573, T571))
ADD1_IN_AAG(zero(T600), zero(T601), zero(T599)) → U41_AAG(T600, T601, T599, addz77_in_aag(T600, T601, T599))
ADD1_IN_AAG(zero(T600), zero(T601), zero(T599)) → ADDZ77_IN_AAG(T600, T601, T599)
ADD1_IN_AAG(zero(T620), one(T621), one(T619)) → U42_AAG(T620, T621, T619, addx86_in_aag(T620, T621, T619))
ADD1_IN_AAG(zero(T620), one(T621), one(T619)) → ADDX86_IN_AAG(T620, T621, T619)
ADD1_IN_AAG(one(T638), zero(T639), one(T637)) → U43_AAG(T638, T639, T637, addy100_in_aag(T638, T639, T637))
ADD1_IN_AAG(one(T638), zero(T639), one(T637)) → ADDY100_IN_AAG(T638, T639, T637)
ADD1_IN_AAG(one(T650), one(T651), zero(T649)) → U44_AAG(T650, T651, T649, addc112_in_aag(T650, T651, T649))
ADD1_IN_AAG(one(T650), one(T651), zero(T649)) → ADDC112_IN_AAG(T650, T651, T649)

R is empty.
The argument filtering Pi contains the following mapping:
zero(x1)  =  zero(x1)
binaryZ43_in_g(x1)  =  binaryZ43_in_g(x1)
one(x1)  =  one(x1)
binary50_in_g(x1)  =  binary50_in_g(x1)
addz73_in_aag(x1, x2, x3)  =  addz73_in_aag(x3)
addz77_in_aag(x1, x2, x3)  =  addz77_in_aag(x3)
addx86_in_aag(x1, x2, x3)  =  addx86_in_aag(x3)
addy100_in_aag(x1, x2, x3)  =  addy100_in_aag(x3)
addc112_in_aag(x1, x2, x3)  =  addc112_in_aag(x3)
succZ122_in_ag(x1, x2)  =  succZ122_in_ag(x2)
succ129_in_ag(x1, x2)  =  succ129_in_ag(x2)
addC147_in_aag(x1, x2, x3)  =  addC147_in_aag(x3)
b  =  b
ADD1_IN_AAG(x1, x2, x3)  =  ADD1_IN_AAG(x3)
U34_AAG(x1, x2)  =  U34_AAG(x1, x2)
BINARYZ43_IN_G(x1)  =  BINARYZ43_IN_G(x1)
U1_G(x1, x2)  =  U1_G(x1, x2)
U2_G(x1, x2)  =  U2_G(x1, x2)
BINARY50_IN_G(x1)  =  BINARY50_IN_G(x1)
U3_G(x1, x2)  =  U3_G(x1, x2)
U4_G(x1, x2)  =  U4_G(x1, x2)
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)
ADDZ73_IN_AAG(x1, x2, x3)  =  ADDZ73_IN_AAG(x3)
U30_AAG(x1, x2, x3, x4)  =  U30_AAG(x3, x4)
ADDZ77_IN_AAG(x1, x2, x3)  =  ADDZ77_IN_AAG(x3)
U5_AAG(x1, x2, x3, x4)  =  U5_AAG(x3, x4)
U6_AAG(x1, x2, x3, x4)  =  U6_AAG(x3, x4)
ADDX86_IN_AAG(x1, x2, x3)  =  ADDX86_IN_AAG(x3)
U24_AAG(x1, x2)  =  U24_AAG(x1, x2)
U25_AAG(x1, x2)  =  U25_AAG(x1, x2)
U26_AAG(x1, x2, x3, x4)  =  U26_AAG(x3, x4)
U7_AAG(x1, x2, x3, x4)  =  U7_AAG(x3, x4)
ADDY100_IN_AAG(x1, x2, x3)  =  ADDY100_IN_AAG(x3)
U27_AAG(x1, x2)  =  U27_AAG(x1, x2)
U28_AAG(x1, x2)  =  U28_AAG(x1, x2)
U29_AAG(x1, x2, x3, x4)  =  U29_AAG(x3, x4)
U8_AAG(x1, x2, x3, x4)  =  U8_AAG(x3, x4)
ADDC112_IN_AAG(x1, x2, x3)  =  ADDC112_IN_AAG(x3)
U21_AAG(x1, x2, x3)  =  U21_AAG(x2, x3)
SUCCZ122_IN_AG(x1, x2)  =  SUCCZ122_IN_AG(x2)
U11_AG(x1, x2)  =  U11_AG(x1, x2)
U12_AG(x1, x2, x3)  =  U12_AG(x2, x3)
SUCC129_IN_AG(x1, x2)  =  SUCC129_IN_AG(x2)
U9_AG(x1, x2)  =  U9_AG(x1, x2)
U10_AG(x1, x2, x3)  =  U10_AG(x2, x3)
U22_AAG(x1, x2, x3)  =  U22_AAG(x2, x3)
U23_AAG(x1, x2, x3, x4)  =  U23_AAG(x3, x4)
ADDC147_IN_AAG(x1, x2, x3)  =  ADDC147_IN_AAG(x3)
U13_AAG(x1, x2, x3, x4)  =  U13_AAG(x3, x4)
U14_AAG(x1, x2)  =  U14_AAG(x1, x2)
U15_AAG(x1, x2, x3)  =  U15_AAG(x2, x3)
U16_AAG(x1, x2, x3, x4)  =  U16_AAG(x3, x4)
U17_AAG(x1, x2)  =  U17_AAG(x1, x2)
U18_AAG(x1, x2, x3)  =  U18_AAG(x2, x3)
U19_AAG(x1, x2, x3, x4)  =  U19_AAG(x3, x4)
U20_AAG(x1, x2, x3, x4)  =  U20_AAG(x3, x4)
U31_AAG(x1, x2, x3, x4)  =  U31_AAG(x3, x4)
U32_AAG(x1, x2, x3, x4)  =  U32_AAG(x3, x4)
U33_AAG(x1, x2, x3, x4)  =  U33_AAG(x3, x4)
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)
U41_AAG(x1, x2, x3, x4)  =  U41_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)

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

Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES

(6) Obligation:

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

ADD1_IN_AAG(zero(T93), b, zero(T93)) → U34_AAG(T93, binaryZ43_in_g(T93))
ADD1_IN_AAG(zero(T93), b, zero(T93)) → BINARYZ43_IN_G(T93)
BINARYZ43_IN_G(zero(T99)) → U1_G(T99, binaryZ43_in_g(T99))
BINARYZ43_IN_G(zero(T99)) → BINARYZ43_IN_G(T99)
BINARYZ43_IN_G(one(T103)) → U2_G(T103, binary50_in_g(T103))
BINARYZ43_IN_G(one(T103)) → BINARY50_IN_G(T103)
BINARY50_IN_G(zero(T108)) → U3_G(T108, binaryZ43_in_g(T108))
BINARY50_IN_G(zero(T108)) → BINARYZ43_IN_G(T108)
BINARY50_IN_G(one(T112)) → U4_G(T112, binary50_in_g(T112))
BINARY50_IN_G(one(T112)) → BINARY50_IN_G(T112)
ADD1_IN_AAG(one(T117), b, one(T117)) → U35_AAG(T117, binary50_in_g(T117))
ADD1_IN_AAG(one(T117), b, one(T117)) → BINARY50_IN_G(T117)
ADD1_IN_AAG(b, T122, T122) → U36_AAG(T122, binaryZ43_in_g(T122))
ADD1_IN_AAG(b, T122, T122) → BINARYZ43_IN_G(T122)
ADD1_IN_AAG(T138, T139, T137) → U37_AAG(T138, T139, T137, addz73_in_aag(T138, T139, T137))
ADD1_IN_AAG(T138, T139, T137) → ADDZ73_IN_AAG(T138, T139, T137)
ADDZ73_IN_AAG(zero(T158), zero(T159), zero(T157)) → U30_AAG(T158, T159, T157, addz77_in_aag(T158, T159, T157))
ADDZ73_IN_AAG(zero(T158), zero(T159), zero(T157)) → ADDZ77_IN_AAG(T158, T159, T157)
ADDZ77_IN_AAG(zero(T178), zero(T179), zero(T177)) → U5_AAG(T178, T179, T177, addz77_in_aag(T178, T179, T177))
ADDZ77_IN_AAG(zero(T178), zero(T179), zero(T177)) → ADDZ77_IN_AAG(T178, T179, T177)
ADDZ77_IN_AAG(zero(T198), one(T199), one(T197)) → U6_AAG(T198, T199, T197, addx86_in_aag(T198, T199, T197))
ADDZ77_IN_AAG(zero(T198), one(T199), one(T197)) → ADDX86_IN_AAG(T198, T199, T197)
ADDX86_IN_AAG(one(T205), b, one(T205)) → U24_AAG(T205, binary50_in_g(T205))
ADDX86_IN_AAG(one(T205), b, one(T205)) → BINARY50_IN_G(T205)
ADDX86_IN_AAG(zero(T210), b, zero(T210)) → U25_AAG(T210, binaryZ43_in_g(T210))
ADDX86_IN_AAG(zero(T210), b, zero(T210)) → BINARYZ43_IN_G(T210)
ADDX86_IN_AAG(T226, T227, T225) → U26_AAG(T226, T227, T225, addz77_in_aag(T226, T227, T225))
ADDX86_IN_AAG(T226, T227, T225) → ADDZ77_IN_AAG(T226, T227, T225)
ADDZ77_IN_AAG(one(T246), zero(T247), one(T245)) → U7_AAG(T246, T247, T245, addy100_in_aag(T246, T247, T245))
ADDZ77_IN_AAG(one(T246), zero(T247), one(T245)) → ADDY100_IN_AAG(T246, T247, T245)
ADDY100_IN_AAG(b, one(T253), one(T253)) → U27_AAG(T253, binary50_in_g(T253))
ADDY100_IN_AAG(b, one(T253), one(T253)) → BINARY50_IN_G(T253)
ADDY100_IN_AAG(b, zero(T258), zero(T258)) → U28_AAG(T258, binaryZ43_in_g(T258))
ADDY100_IN_AAG(b, zero(T258), zero(T258)) → BINARYZ43_IN_G(T258)
ADDY100_IN_AAG(T274, T275, T273) → U29_AAG(T274, T275, T273, addz77_in_aag(T274, T275, T273))
ADDY100_IN_AAG(T274, T275, T273) → ADDZ77_IN_AAG(T274, T275, T273)
ADDZ77_IN_AAG(one(T288), one(T289), zero(T287)) → U8_AAG(T288, T289, T287, addc112_in_aag(T288, T289, T287))
ADDZ77_IN_AAG(one(T288), one(T289), zero(T287)) → ADDC112_IN_AAG(T288, T289, T287)
ADDC112_IN_AAG(T300, b, T299) → U21_AAG(T300, T299, succZ122_in_ag(T300, T299))
ADDC112_IN_AAG(T300, b, T299) → SUCCZ122_IN_AG(T300, T299)
SUCCZ122_IN_AG(zero(T306), one(T306)) → U11_AG(T306, binaryZ43_in_g(T306))
SUCCZ122_IN_AG(zero(T306), one(T306)) → BINARYZ43_IN_G(T306)
SUCCZ122_IN_AG(one(T314), zero(T313)) → U12_AG(T314, T313, succ129_in_ag(T314, T313))
SUCCZ122_IN_AG(one(T314), zero(T313)) → SUCC129_IN_AG(T314, T313)
SUCC129_IN_AG(zero(T319), one(T319)) → U9_AG(T319, binaryZ43_in_g(T319))
SUCC129_IN_AG(zero(T319), one(T319)) → BINARYZ43_IN_G(T319)
SUCC129_IN_AG(one(T327), zero(T326)) → U10_AG(T327, T326, succ129_in_ag(T327, T326))
SUCC129_IN_AG(one(T327), zero(T326)) → SUCC129_IN_AG(T327, T326)
ADDC112_IN_AAG(b, T338, T337) → U22_AAG(T338, T337, succZ122_in_ag(T338, T337))
ADDC112_IN_AAG(b, T338, T337) → SUCCZ122_IN_AG(T338, T337)
ADDC112_IN_AAG(T354, T355, T353) → U23_AAG(T354, T355, T353, addC147_in_aag(T354, T355, T353))
ADDC112_IN_AAG(T354, T355, T353) → ADDC147_IN_AAG(T354, T355, T353)
ADDC147_IN_AAG(zero(T374), zero(T375), one(T373)) → U13_AAG(T374, T375, T373, addz77_in_aag(T374, T375, T373))
ADDC147_IN_AAG(zero(T374), zero(T375), one(T373)) → ADDZ77_IN_AAG(T374, T375, T373)
ADDC147_IN_AAG(zero(zero(T401)), one(b), zero(one(T401))) → U14_AAG(T401, binaryZ43_in_g(T401))
ADDC147_IN_AAG(zero(zero(T401)), one(b), zero(one(T401))) → BINARYZ43_IN_G(T401)
ADDC147_IN_AAG(zero(one(T413)), one(b), zero(zero(T412))) → U15_AAG(T413, T412, succ129_in_ag(T413, T412))
ADDC147_IN_AAG(zero(one(T413)), one(b), zero(zero(T412))) → SUCC129_IN_AG(T413, T412)
ADDC147_IN_AAG(zero(T428), one(T429), zero(T427)) → U16_AAG(T428, T429, T427, addC147_in_aag(T428, T429, T427))
ADDC147_IN_AAG(zero(T428), one(T429), zero(T427)) → ADDC147_IN_AAG(T428, T429, T427)
ADDC147_IN_AAG(one(b), zero(zero(T455)), zero(one(T455))) → U17_AAG(T455, binaryZ43_in_g(T455))
ADDC147_IN_AAG(one(b), zero(zero(T455)), zero(one(T455))) → BINARYZ43_IN_G(T455)
ADDC147_IN_AAG(one(b), zero(one(T467)), zero(zero(T466))) → U18_AAG(T467, T466, succ129_in_ag(T467, T466))
ADDC147_IN_AAG(one(b), zero(one(T467)), zero(zero(T466))) → SUCC129_IN_AG(T467, T466)
ADDC147_IN_AAG(one(T482), zero(T483), zero(T481)) → U19_AAG(T482, T483, T481, addC147_in_aag(T482, T483, T481))
ADDC147_IN_AAG(one(T482), zero(T483), zero(T481)) → ADDC147_IN_AAG(T482, T483, T481)
ADDC147_IN_AAG(one(T496), one(T497), one(T495)) → U20_AAG(T496, T497, T495, addc112_in_aag(T496, T497, T495))
ADDC147_IN_AAG(one(T496), one(T497), one(T495)) → ADDC112_IN_AAG(T496, T497, T495)
ADDZ73_IN_AAG(zero(T513), one(T514), one(T512)) → U31_AAG(T513, T514, T512, addx86_in_aag(T513, T514, T512))
ADDZ73_IN_AAG(zero(T513), one(T514), one(T512)) → ADDX86_IN_AAG(T513, T514, T512)
ADDZ73_IN_AAG(one(T531), zero(T532), one(T530)) → U32_AAG(T531, T532, T530, addy100_in_aag(T531, T532, T530))
ADDZ73_IN_AAG(one(T531), zero(T532), one(T530)) → ADDY100_IN_AAG(T531, T532, T530)
ADDZ73_IN_AAG(one(T543), one(T544), zero(T542)) → U33_AAG(T543, T544, T542, addc112_in_aag(T543, T544, T542))
ADDZ73_IN_AAG(one(T543), one(T544), zero(T542)) → ADDC112_IN_AAG(T543, T544, T542)
ADD1_IN_AAG(b, zero(T551), zero(T551)) → U38_AAG(T551, binaryZ43_in_g(T551))
ADD1_IN_AAG(b, zero(T551), zero(T551)) → BINARYZ43_IN_G(T551)
ADD1_IN_AAG(b, one(T557), one(T557)) → U39_AAG(T557, binary50_in_g(T557))
ADD1_IN_AAG(b, one(T557), one(T557)) → BINARY50_IN_G(T557)
ADD1_IN_AAG(T572, T573, T571) → U40_AAG(T572, T573, T571, addz73_in_aag(T572, T573, T571))
ADD1_IN_AAG(zero(T600), zero(T601), zero(T599)) → U41_AAG(T600, T601, T599, addz77_in_aag(T600, T601, T599))
ADD1_IN_AAG(zero(T600), zero(T601), zero(T599)) → ADDZ77_IN_AAG(T600, T601, T599)
ADD1_IN_AAG(zero(T620), one(T621), one(T619)) → U42_AAG(T620, T621, T619, addx86_in_aag(T620, T621, T619))
ADD1_IN_AAG(zero(T620), one(T621), one(T619)) → ADDX86_IN_AAG(T620, T621, T619)
ADD1_IN_AAG(one(T638), zero(T639), one(T637)) → U43_AAG(T638, T639, T637, addy100_in_aag(T638, T639, T637))
ADD1_IN_AAG(one(T638), zero(T639), one(T637)) → ADDY100_IN_AAG(T638, T639, T637)
ADD1_IN_AAG(one(T650), one(T651), zero(T649)) → U44_AAG(T650, T651, T649, addc112_in_aag(T650, T651, T649))
ADD1_IN_AAG(one(T650), one(T651), zero(T649)) → ADDC112_IN_AAG(T650, T651, T649)

R is empty.
The argument filtering Pi contains the following mapping:
zero(x1)  =  zero(x1)
binaryZ43_in_g(x1)  =  binaryZ43_in_g(x1)
one(x1)  =  one(x1)
binary50_in_g(x1)  =  binary50_in_g(x1)
addz73_in_aag(x1, x2, x3)  =  addz73_in_aag(x3)
addz77_in_aag(x1, x2, x3)  =  addz77_in_aag(x3)
addx86_in_aag(x1, x2, x3)  =  addx86_in_aag(x3)
addy100_in_aag(x1, x2, x3)  =  addy100_in_aag(x3)
addc112_in_aag(x1, x2, x3)  =  addc112_in_aag(x3)
succZ122_in_ag(x1, x2)  =  succZ122_in_ag(x2)
succ129_in_ag(x1, x2)  =  succ129_in_ag(x2)
addC147_in_aag(x1, x2, x3)  =  addC147_in_aag(x3)
b  =  b
ADD1_IN_AAG(x1, x2, x3)  =  ADD1_IN_AAG(x3)
U34_AAG(x1, x2)  =  U34_AAG(x1, x2)
BINARYZ43_IN_G(x1)  =  BINARYZ43_IN_G(x1)
U1_G(x1, x2)  =  U1_G(x1, x2)
U2_G(x1, x2)  =  U2_G(x1, x2)
BINARY50_IN_G(x1)  =  BINARY50_IN_G(x1)
U3_G(x1, x2)  =  U3_G(x1, x2)
U4_G(x1, x2)  =  U4_G(x1, x2)
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)
ADDZ73_IN_AAG(x1, x2, x3)  =  ADDZ73_IN_AAG(x3)
U30_AAG(x1, x2, x3, x4)  =  U30_AAG(x3, x4)
ADDZ77_IN_AAG(x1, x2, x3)  =  ADDZ77_IN_AAG(x3)
U5_AAG(x1, x2, x3, x4)  =  U5_AAG(x3, x4)
U6_AAG(x1, x2, x3, x4)  =  U6_AAG(x3, x4)
ADDX86_IN_AAG(x1, x2, x3)  =  ADDX86_IN_AAG(x3)
U24_AAG(x1, x2)  =  U24_AAG(x1, x2)
U25_AAG(x1, x2)  =  U25_AAG(x1, x2)
U26_AAG(x1, x2, x3, x4)  =  U26_AAG(x3, x4)
U7_AAG(x1, x2, x3, x4)  =  U7_AAG(x3, x4)
ADDY100_IN_AAG(x1, x2, x3)  =  ADDY100_IN_AAG(x3)
U27_AAG(x1, x2)  =  U27_AAG(x1, x2)
U28_AAG(x1, x2)  =  U28_AAG(x1, x2)
U29_AAG(x1, x2, x3, x4)  =  U29_AAG(x3, x4)
U8_AAG(x1, x2, x3, x4)  =  U8_AAG(x3, x4)
ADDC112_IN_AAG(x1, x2, x3)  =  ADDC112_IN_AAG(x3)
U21_AAG(x1, x2, x3)  =  U21_AAG(x2, x3)
SUCCZ122_IN_AG(x1, x2)  =  SUCCZ122_IN_AG(x2)
U11_AG(x1, x2)  =  U11_AG(x1, x2)
U12_AG(x1, x2, x3)  =  U12_AG(x2, x3)
SUCC129_IN_AG(x1, x2)  =  SUCC129_IN_AG(x2)
U9_AG(x1, x2)  =  U9_AG(x1, x2)
U10_AG(x1, x2, x3)  =  U10_AG(x2, x3)
U22_AAG(x1, x2, x3)  =  U22_AAG(x2, x3)
U23_AAG(x1, x2, x3, x4)  =  U23_AAG(x3, x4)
ADDC147_IN_AAG(x1, x2, x3)  =  ADDC147_IN_AAG(x3)
U13_AAG(x1, x2, x3, x4)  =  U13_AAG(x3, x4)
U14_AAG(x1, x2)  =  U14_AAG(x1, x2)
U15_AAG(x1, x2, x3)  =  U15_AAG(x2, x3)
U16_AAG(x1, x2, x3, x4)  =  U16_AAG(x3, x4)
U17_AAG(x1, x2)  =  U17_AAG(x1, x2)
U18_AAG(x1, x2, x3)  =  U18_AAG(x2, x3)
U19_AAG(x1, x2, x3, x4)  =  U19_AAG(x3, x4)
U20_AAG(x1, x2, x3, x4)  =  U20_AAG(x3, x4)
U31_AAG(x1, x2, x3, x4)  =  U31_AAG(x3, x4)
U32_AAG(x1, x2, x3, x4)  =  U32_AAG(x3, x4)
U33_AAG(x1, x2, x3, x4)  =  U33_AAG(x3, x4)
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)
U41_AAG(x1, x2, x3, x4)  =  U41_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)

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

(7) DependencyGraphProof (EQUIVALENT transformation)

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

(8) Complex Obligation (AND)

(9) Obligation:

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

BINARYZ43_IN_G(one(T103)) → BINARY50_IN_G(T103)
BINARY50_IN_G(zero(T108)) → BINARYZ43_IN_G(T108)
BINARYZ43_IN_G(zero(T99)) → BINARYZ43_IN_G(T99)
BINARY50_IN_G(one(T112)) → BINARY50_IN_G(T112)

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:

BINARYZ43_IN_G(one(T103)) → BINARY50_IN_G(T103)
BINARY50_IN_G(zero(T108)) → BINARYZ43_IN_G(T108)
BINARYZ43_IN_G(zero(T99)) → BINARYZ43_IN_G(T99)
BINARY50_IN_G(one(T112)) → BINARY50_IN_G(T112)

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:

  • BINARY50_IN_G(zero(T108)) → BINARYZ43_IN_G(T108)
    The graph contains the following edges 1 > 1

  • BINARY50_IN_G(one(T112)) → BINARY50_IN_G(T112)
    The graph contains the following edges 1 > 1

  • BINARYZ43_IN_G(zero(T99)) → BINARYZ43_IN_G(T99)
    The graph contains the following edges 1 > 1

  • BINARYZ43_IN_G(one(T103)) → BINARY50_IN_G(T103)
    The graph contains the following edges 1 > 1

(13) YES

(14) Obligation:

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

SUCC129_IN_AG(one(T327), zero(T326)) → SUCC129_IN_AG(T327, T326)

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

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

(15) PiDPToQDPProof (SOUND transformation)

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

(16) Obligation:

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

SUCC129_IN_AG(zero(T326)) → SUCC129_IN_AG(T326)

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

(17) 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:

  • SUCC129_IN_AG(zero(T326)) → SUCC129_IN_AG(T326)
    The graph contains the following edges 1 > 1

(18) YES

(19) Obligation:

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

ADDX86_IN_AAG(T226, T227, T225) → ADDZ77_IN_AAG(T226, T227, T225)
ADDZ77_IN_AAG(zero(T178), zero(T179), zero(T177)) → ADDZ77_IN_AAG(T178, T179, T177)
ADDZ77_IN_AAG(zero(T198), one(T199), one(T197)) → ADDX86_IN_AAG(T198, T199, T197)
ADDZ77_IN_AAG(one(T246), zero(T247), one(T245)) → ADDY100_IN_AAG(T246, T247, T245)
ADDY100_IN_AAG(T274, T275, T273) → ADDZ77_IN_AAG(T274, T275, T273)
ADDZ77_IN_AAG(one(T288), one(T289), zero(T287)) → ADDC112_IN_AAG(T288, T289, T287)
ADDC112_IN_AAG(T354, T355, T353) → ADDC147_IN_AAG(T354, T355, T353)
ADDC147_IN_AAG(zero(T374), zero(T375), one(T373)) → ADDZ77_IN_AAG(T374, T375, T373)
ADDC147_IN_AAG(zero(T428), one(T429), zero(T427)) → ADDC147_IN_AAG(T428, T429, T427)
ADDC147_IN_AAG(one(T482), zero(T483), zero(T481)) → ADDC147_IN_AAG(T482, T483, T481)
ADDC147_IN_AAG(one(T496), one(T497), one(T495)) → ADDC112_IN_AAG(T496, T497, T495)

R is empty.
The argument filtering Pi contains the following mapping:
zero(x1)  =  zero(x1)
one(x1)  =  one(x1)
ADDZ77_IN_AAG(x1, x2, x3)  =  ADDZ77_IN_AAG(x3)
ADDX86_IN_AAG(x1, x2, x3)  =  ADDX86_IN_AAG(x3)
ADDY100_IN_AAG(x1, x2, x3)  =  ADDY100_IN_AAG(x3)
ADDC112_IN_AAG(x1, x2, x3)  =  ADDC112_IN_AAG(x3)
ADDC147_IN_AAG(x1, x2, x3)  =  ADDC147_IN_AAG(x3)

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

(20) PiDPToQDPProof (SOUND transformation)

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

(21) Obligation:

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

ADDX86_IN_AAG(T225) → ADDZ77_IN_AAG(T225)
ADDZ77_IN_AAG(zero(T177)) → ADDZ77_IN_AAG(T177)
ADDZ77_IN_AAG(one(T197)) → ADDX86_IN_AAG(T197)
ADDZ77_IN_AAG(one(T245)) → ADDY100_IN_AAG(T245)
ADDY100_IN_AAG(T273) → ADDZ77_IN_AAG(T273)
ADDZ77_IN_AAG(zero(T287)) → ADDC112_IN_AAG(T287)
ADDC112_IN_AAG(T353) → ADDC147_IN_AAG(T353)
ADDC147_IN_AAG(one(T373)) → ADDZ77_IN_AAG(T373)
ADDC147_IN_AAG(zero(T427)) → ADDC147_IN_AAG(T427)
ADDC147_IN_AAG(one(T495)) → ADDC112_IN_AAG(T495)

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

(22) 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:

  • ADDZ77_IN_AAG(one(T197)) → ADDX86_IN_AAG(T197)
    The graph contains the following edges 1 > 1

  • ADDZ77_IN_AAG(zero(T177)) → ADDZ77_IN_AAG(T177)
    The graph contains the following edges 1 > 1

  • ADDX86_IN_AAG(T225) → ADDZ77_IN_AAG(T225)
    The graph contains the following edges 1 >= 1

  • ADDY100_IN_AAG(T273) → ADDZ77_IN_AAG(T273)
    The graph contains the following edges 1 >= 1

  • ADDC147_IN_AAG(one(T373)) → ADDZ77_IN_AAG(T373)
    The graph contains the following edges 1 > 1

  • ADDZ77_IN_AAG(one(T245)) → ADDY100_IN_AAG(T245)
    The graph contains the following edges 1 > 1

  • ADDZ77_IN_AAG(zero(T287)) → ADDC112_IN_AAG(T287)
    The graph contains the following edges 1 > 1

  • ADDC112_IN_AAG(T353) → ADDC147_IN_AAG(T353)
    The graph contains the following edges 1 >= 1

  • ADDC147_IN_AAG(one(T495)) → ADDC112_IN_AAG(T495)
    The graph contains the following edges 1 > 1

  • ADDC147_IN_AAG(zero(T427)) → ADDC147_IN_AAG(T427)
    The graph contains the following edges 1 > 1

(23) YES