(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