(0) Obligation:

Clauses:

times(X, Y, Z) :- mult(X, Y, 0, Z).
mult(0, Y, 0, 0).
mult(s(U), Y, 0, Z) :- mult(U, Y, Y, Z).
mult(X, Y, s(W), s(Z)) :- mult(X, Y, W, Z).

Queries:

times(g,g,a).

(1) PrologToDTProblemTransformerProof (SOUND transformation)

Built DT problem from termination graph.

(2) Obligation:

Triples:

mult22(s(T63), T65) :- mult22(T63, T65).
mult45(s(T122), s(T124)) :- mult45(T122, T124).
mult73(s(T195), s(s(T197))) :- mult73(T195, T197).
mult106(s(T279), s(s(s(T281)))) :- mult106(T279, T281).
mult144(s(T374), s(s(s(s(T376))))) :- mult144(T374, T376).
mult187(s(T480), s(s(s(s(s(T482)))))) :- mult187(T480, T482).
mult235(s(T597), s(s(s(s(s(s(T599))))))) :- mult235(T597, T599).
mult288(s(T725), s(s(s(s(s(s(s(T727)))))))) :- mult288(T725, T727).
mult12(s(T51), 0, T54) :- mult22(T51, T54).
mult12(s(T99), s(0), s(T102)) :- mult45(T99, T102).
mult12(s(T161), s(s(0)), s(s(T164))) :- mult73(T161, T164).
mult12(s(T234), s(s(s(0))), s(s(s(T237)))) :- mult106(T234, T237).
mult12(s(T318), s(s(s(s(0)))), s(s(s(s(T321))))) :- mult144(T318, T321).
mult12(s(T413), s(s(s(s(s(0))))), s(s(s(s(s(T416)))))) :- mult187(T413, T416).
mult12(s(T519), s(s(s(s(s(s(0)))))), s(s(s(s(s(s(T522))))))) :- mult235(T519, T522).
mult12(s(T636), s(s(s(s(s(s(s(0))))))), s(s(s(s(s(s(s(T639)))))))) :- mult288(T636, T639).
mult12(T740, s(s(s(s(s(s(s(s(T742)))))))), s(s(s(s(s(s(s(s(T744))))))))) :- mult338(T740, s(s(s(s(s(s(s(T742))))))), T742, T744).
mult338(s(T767), T768, 0, T770) :- mult12(T767, s(T768), T770).
mult338(T786, T787, s(T788), s(T790)) :- mult338(T786, T787, T788, T790).
times1(s(T28), T29, T31) :- mult12(T28, T29, T31).

Clauses:

multc22(0, 0).
multc22(s(T63), T65) :- multc22(T63, T65).
multc45(0, s(0)).
multc45(s(T122), s(T124)) :- multc45(T122, T124).
multc73(0, s(s(0))).
multc73(s(T195), s(s(T197))) :- multc73(T195, T197).
multc106(0, s(s(s(0)))).
multc106(s(T279), s(s(s(T281)))) :- multc106(T279, T281).
multc144(0, s(s(s(s(0))))).
multc144(s(T374), s(s(s(s(T376))))) :- multc144(T374, T376).
multc187(0, s(s(s(s(s(0)))))).
multc187(s(T480), s(s(s(s(s(T482)))))) :- multc187(T480, T482).
multc235(0, s(s(s(s(s(s(0))))))).
multc235(s(T597), s(s(s(s(s(s(T599))))))) :- multc235(T597, T599).
multc288(0, s(s(s(s(s(s(s(0)))))))).
multc288(s(T725), s(s(s(s(s(s(s(T727)))))))) :- multc288(T725, T727).
multc12(0, 0, 0).
multc12(s(T51), 0, T54) :- multc22(T51, T54).
multc12(0, s(0), s(0)).
multc12(s(T99), s(0), s(T102)) :- multc45(T99, T102).
multc12(0, s(s(0)), s(s(0))).
multc12(s(T161), s(s(0)), s(s(T164))) :- multc73(T161, T164).
multc12(0, s(s(s(0))), s(s(s(0)))).
multc12(s(T234), s(s(s(0))), s(s(s(T237)))) :- multc106(T234, T237).
multc12(0, s(s(s(s(0)))), s(s(s(s(0))))).
multc12(s(T318), s(s(s(s(0)))), s(s(s(s(T321))))) :- multc144(T318, T321).
multc12(0, s(s(s(s(s(0))))), s(s(s(s(s(0)))))).
multc12(s(T413), s(s(s(s(s(0))))), s(s(s(s(s(T416)))))) :- multc187(T413, T416).
multc12(0, s(s(s(s(s(s(0)))))), s(s(s(s(s(s(0))))))).
multc12(s(T519), s(s(s(s(s(s(0)))))), s(s(s(s(s(s(T522))))))) :- multc235(T519, T522).
multc12(0, s(s(s(s(s(s(s(0))))))), s(s(s(s(s(s(s(0)))))))).
multc12(s(T636), s(s(s(s(s(s(s(0))))))), s(s(s(s(s(s(s(T639)))))))) :- multc288(T636, T639).
multc12(T740, s(s(s(s(s(s(s(s(T742)))))))), s(s(s(s(s(s(s(s(T744))))))))) :- multc338(T740, s(s(s(s(s(s(s(T742))))))), T742, T744).
multc338(0, T754, 0, 0).
multc338(s(T767), T768, 0, T770) :- multc12(T767, s(T768), T770).
multc338(T786, T787, s(T788), s(T790)) :- multc338(T786, T787, T788, T790).

Afs:

times1(x1, x2, x3)  =  times1(x1, x2)

(3) TriplesToPiDPProof (SOUND transformation)

We use the technique of [LOPSTR]. With regard to the inferred argument filtering the predicates were used in the following modes:
times1_in: (b,b,f)
mult12_in: (b,b,f)
mult22_in: (b,f)
mult45_in: (b,f)
mult73_in: (b,f)
mult106_in: (b,f)
mult144_in: (b,f)
mult187_in: (b,f)
mult235_in: (b,f)
mult288_in: (b,f)
mult338_in: (b,b,b,f)
Transforming TRIPLES into the following Term Rewriting System:
Pi DP problem:
The TRS P consists of the following rules:

TIMES1_IN_GGA(s(T28), T29, T31) → U20_GGA(T28, T29, T31, mult12_in_gga(T28, T29, T31))
TIMES1_IN_GGA(s(T28), T29, T31) → MULT12_IN_GGA(T28, T29, T31)
MULT12_IN_GGA(s(T51), 0, T54) → U9_GGA(T51, T54, mult22_in_ga(T51, T54))
MULT12_IN_GGA(s(T51), 0, T54) → MULT22_IN_GA(T51, T54)
MULT22_IN_GA(s(T63), T65) → U1_GA(T63, T65, mult22_in_ga(T63, T65))
MULT22_IN_GA(s(T63), T65) → MULT22_IN_GA(T63, T65)
MULT12_IN_GGA(s(T99), s(0), s(T102)) → U10_GGA(T99, T102, mult45_in_ga(T99, T102))
MULT12_IN_GGA(s(T99), s(0), s(T102)) → MULT45_IN_GA(T99, T102)
MULT45_IN_GA(s(T122), s(T124)) → U2_GA(T122, T124, mult45_in_ga(T122, T124))
MULT45_IN_GA(s(T122), s(T124)) → MULT45_IN_GA(T122, T124)
MULT12_IN_GGA(s(T161), s(s(0)), s(s(T164))) → U11_GGA(T161, T164, mult73_in_ga(T161, T164))
MULT12_IN_GGA(s(T161), s(s(0)), s(s(T164))) → MULT73_IN_GA(T161, T164)
MULT73_IN_GA(s(T195), s(s(T197))) → U3_GA(T195, T197, mult73_in_ga(T195, T197))
MULT73_IN_GA(s(T195), s(s(T197))) → MULT73_IN_GA(T195, T197)
MULT12_IN_GGA(s(T234), s(s(s(0))), s(s(s(T237)))) → U12_GGA(T234, T237, mult106_in_ga(T234, T237))
MULT12_IN_GGA(s(T234), s(s(s(0))), s(s(s(T237)))) → MULT106_IN_GA(T234, T237)
MULT106_IN_GA(s(T279), s(s(s(T281)))) → U4_GA(T279, T281, mult106_in_ga(T279, T281))
MULT106_IN_GA(s(T279), s(s(s(T281)))) → MULT106_IN_GA(T279, T281)
MULT12_IN_GGA(s(T318), s(s(s(s(0)))), s(s(s(s(T321))))) → U13_GGA(T318, T321, mult144_in_ga(T318, T321))
MULT12_IN_GGA(s(T318), s(s(s(s(0)))), s(s(s(s(T321))))) → MULT144_IN_GA(T318, T321)
MULT144_IN_GA(s(T374), s(s(s(s(T376))))) → U5_GA(T374, T376, mult144_in_ga(T374, T376))
MULT144_IN_GA(s(T374), s(s(s(s(T376))))) → MULT144_IN_GA(T374, T376)
MULT12_IN_GGA(s(T413), s(s(s(s(s(0))))), s(s(s(s(s(T416)))))) → U14_GGA(T413, T416, mult187_in_ga(T413, T416))
MULT12_IN_GGA(s(T413), s(s(s(s(s(0))))), s(s(s(s(s(T416)))))) → MULT187_IN_GA(T413, T416)
MULT187_IN_GA(s(T480), s(s(s(s(s(T482)))))) → U6_GA(T480, T482, mult187_in_ga(T480, T482))
MULT187_IN_GA(s(T480), s(s(s(s(s(T482)))))) → MULT187_IN_GA(T480, T482)
MULT12_IN_GGA(s(T519), s(s(s(s(s(s(0)))))), s(s(s(s(s(s(T522))))))) → U15_GGA(T519, T522, mult235_in_ga(T519, T522))
MULT12_IN_GGA(s(T519), s(s(s(s(s(s(0)))))), s(s(s(s(s(s(T522))))))) → MULT235_IN_GA(T519, T522)
MULT235_IN_GA(s(T597), s(s(s(s(s(s(T599))))))) → U7_GA(T597, T599, mult235_in_ga(T597, T599))
MULT235_IN_GA(s(T597), s(s(s(s(s(s(T599))))))) → MULT235_IN_GA(T597, T599)
MULT12_IN_GGA(s(T636), s(s(s(s(s(s(s(0))))))), s(s(s(s(s(s(s(T639)))))))) → U16_GGA(T636, T639, mult288_in_ga(T636, T639))
MULT12_IN_GGA(s(T636), s(s(s(s(s(s(s(0))))))), s(s(s(s(s(s(s(T639)))))))) → MULT288_IN_GA(T636, T639)
MULT288_IN_GA(s(T725), s(s(s(s(s(s(s(T727)))))))) → U8_GA(T725, T727, mult288_in_ga(T725, T727))
MULT288_IN_GA(s(T725), s(s(s(s(s(s(s(T727)))))))) → MULT288_IN_GA(T725, T727)
MULT12_IN_GGA(T740, s(s(s(s(s(s(s(s(T742)))))))), s(s(s(s(s(s(s(s(T744))))))))) → U17_GGA(T740, T742, T744, mult338_in_ggga(T740, s(s(s(s(s(s(s(T742))))))), T742, T744))
MULT12_IN_GGA(T740, s(s(s(s(s(s(s(s(T742)))))))), s(s(s(s(s(s(s(s(T744))))))))) → MULT338_IN_GGGA(T740, s(s(s(s(s(s(s(T742))))))), T742, T744)
MULT338_IN_GGGA(s(T767), T768, 0, T770) → U18_GGGA(T767, T768, T770, mult12_in_gga(T767, s(T768), T770))
MULT338_IN_GGGA(s(T767), T768, 0, T770) → MULT12_IN_GGA(T767, s(T768), T770)
MULT338_IN_GGGA(T786, T787, s(T788), s(T790)) → U19_GGGA(T786, T787, T788, T790, mult338_in_ggga(T786, T787, T788, T790))
MULT338_IN_GGGA(T786, T787, s(T788), s(T790)) → MULT338_IN_GGGA(T786, T787, T788, T790)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
mult12_in_gga(x1, x2, x3)  =  mult12_in_gga(x1, x2)
0  =  0
mult22_in_ga(x1, x2)  =  mult22_in_ga(x1)
mult45_in_ga(x1, x2)  =  mult45_in_ga(x1)
mult73_in_ga(x1, x2)  =  mult73_in_ga(x1)
mult106_in_ga(x1, x2)  =  mult106_in_ga(x1)
mult144_in_ga(x1, x2)  =  mult144_in_ga(x1)
mult187_in_ga(x1, x2)  =  mult187_in_ga(x1)
mult235_in_ga(x1, x2)  =  mult235_in_ga(x1)
mult288_in_ga(x1, x2)  =  mult288_in_ga(x1)
mult338_in_ggga(x1, x2, x3, x4)  =  mult338_in_ggga(x1, x2, x3)
TIMES1_IN_GGA(x1, x2, x3)  =  TIMES1_IN_GGA(x1, x2)
U20_GGA(x1, x2, x3, x4)  =  U20_GGA(x1, x2, x4)
MULT12_IN_GGA(x1, x2, x3)  =  MULT12_IN_GGA(x1, x2)
U9_GGA(x1, x2, x3)  =  U9_GGA(x1, x3)
MULT22_IN_GA(x1, x2)  =  MULT22_IN_GA(x1)
U1_GA(x1, x2, x3)  =  U1_GA(x1, x3)
U10_GGA(x1, x2, x3)  =  U10_GGA(x1, x3)
MULT45_IN_GA(x1, x2)  =  MULT45_IN_GA(x1)
U2_GA(x1, x2, x3)  =  U2_GA(x1, x3)
U11_GGA(x1, x2, x3)  =  U11_GGA(x1, x3)
MULT73_IN_GA(x1, x2)  =  MULT73_IN_GA(x1)
U3_GA(x1, x2, x3)  =  U3_GA(x1, x3)
U12_GGA(x1, x2, x3)  =  U12_GGA(x1, x3)
MULT106_IN_GA(x1, x2)  =  MULT106_IN_GA(x1)
U4_GA(x1, x2, x3)  =  U4_GA(x1, x3)
U13_GGA(x1, x2, x3)  =  U13_GGA(x1, x3)
MULT144_IN_GA(x1, x2)  =  MULT144_IN_GA(x1)
U5_GA(x1, x2, x3)  =  U5_GA(x1, x3)
U14_GGA(x1, x2, x3)  =  U14_GGA(x1, x3)
MULT187_IN_GA(x1, x2)  =  MULT187_IN_GA(x1)
U6_GA(x1, x2, x3)  =  U6_GA(x1, x3)
U15_GGA(x1, x2, x3)  =  U15_GGA(x1, x3)
MULT235_IN_GA(x1, x2)  =  MULT235_IN_GA(x1)
U7_GA(x1, x2, x3)  =  U7_GA(x1, x3)
U16_GGA(x1, x2, x3)  =  U16_GGA(x1, x3)
MULT288_IN_GA(x1, x2)  =  MULT288_IN_GA(x1)
U8_GA(x1, x2, x3)  =  U8_GA(x1, x3)
U17_GGA(x1, x2, x3, x4)  =  U17_GGA(x1, x2, x4)
MULT338_IN_GGGA(x1, x2, x3, x4)  =  MULT338_IN_GGGA(x1, x2, x3)
U18_GGGA(x1, x2, x3, x4)  =  U18_GGGA(x1, x2, x4)
U19_GGGA(x1, x2, x3, x4, x5)  =  U19_GGGA(x1, x2, x3, x5)

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

Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES

(4) Obligation:

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

TIMES1_IN_GGA(s(T28), T29, T31) → U20_GGA(T28, T29, T31, mult12_in_gga(T28, T29, T31))
TIMES1_IN_GGA(s(T28), T29, T31) → MULT12_IN_GGA(T28, T29, T31)
MULT12_IN_GGA(s(T51), 0, T54) → U9_GGA(T51, T54, mult22_in_ga(T51, T54))
MULT12_IN_GGA(s(T51), 0, T54) → MULT22_IN_GA(T51, T54)
MULT22_IN_GA(s(T63), T65) → U1_GA(T63, T65, mult22_in_ga(T63, T65))
MULT22_IN_GA(s(T63), T65) → MULT22_IN_GA(T63, T65)
MULT12_IN_GGA(s(T99), s(0), s(T102)) → U10_GGA(T99, T102, mult45_in_ga(T99, T102))
MULT12_IN_GGA(s(T99), s(0), s(T102)) → MULT45_IN_GA(T99, T102)
MULT45_IN_GA(s(T122), s(T124)) → U2_GA(T122, T124, mult45_in_ga(T122, T124))
MULT45_IN_GA(s(T122), s(T124)) → MULT45_IN_GA(T122, T124)
MULT12_IN_GGA(s(T161), s(s(0)), s(s(T164))) → U11_GGA(T161, T164, mult73_in_ga(T161, T164))
MULT12_IN_GGA(s(T161), s(s(0)), s(s(T164))) → MULT73_IN_GA(T161, T164)
MULT73_IN_GA(s(T195), s(s(T197))) → U3_GA(T195, T197, mult73_in_ga(T195, T197))
MULT73_IN_GA(s(T195), s(s(T197))) → MULT73_IN_GA(T195, T197)
MULT12_IN_GGA(s(T234), s(s(s(0))), s(s(s(T237)))) → U12_GGA(T234, T237, mult106_in_ga(T234, T237))
MULT12_IN_GGA(s(T234), s(s(s(0))), s(s(s(T237)))) → MULT106_IN_GA(T234, T237)
MULT106_IN_GA(s(T279), s(s(s(T281)))) → U4_GA(T279, T281, mult106_in_ga(T279, T281))
MULT106_IN_GA(s(T279), s(s(s(T281)))) → MULT106_IN_GA(T279, T281)
MULT12_IN_GGA(s(T318), s(s(s(s(0)))), s(s(s(s(T321))))) → U13_GGA(T318, T321, mult144_in_ga(T318, T321))
MULT12_IN_GGA(s(T318), s(s(s(s(0)))), s(s(s(s(T321))))) → MULT144_IN_GA(T318, T321)
MULT144_IN_GA(s(T374), s(s(s(s(T376))))) → U5_GA(T374, T376, mult144_in_ga(T374, T376))
MULT144_IN_GA(s(T374), s(s(s(s(T376))))) → MULT144_IN_GA(T374, T376)
MULT12_IN_GGA(s(T413), s(s(s(s(s(0))))), s(s(s(s(s(T416)))))) → U14_GGA(T413, T416, mult187_in_ga(T413, T416))
MULT12_IN_GGA(s(T413), s(s(s(s(s(0))))), s(s(s(s(s(T416)))))) → MULT187_IN_GA(T413, T416)
MULT187_IN_GA(s(T480), s(s(s(s(s(T482)))))) → U6_GA(T480, T482, mult187_in_ga(T480, T482))
MULT187_IN_GA(s(T480), s(s(s(s(s(T482)))))) → MULT187_IN_GA(T480, T482)
MULT12_IN_GGA(s(T519), s(s(s(s(s(s(0)))))), s(s(s(s(s(s(T522))))))) → U15_GGA(T519, T522, mult235_in_ga(T519, T522))
MULT12_IN_GGA(s(T519), s(s(s(s(s(s(0)))))), s(s(s(s(s(s(T522))))))) → MULT235_IN_GA(T519, T522)
MULT235_IN_GA(s(T597), s(s(s(s(s(s(T599))))))) → U7_GA(T597, T599, mult235_in_ga(T597, T599))
MULT235_IN_GA(s(T597), s(s(s(s(s(s(T599))))))) → MULT235_IN_GA(T597, T599)
MULT12_IN_GGA(s(T636), s(s(s(s(s(s(s(0))))))), s(s(s(s(s(s(s(T639)))))))) → U16_GGA(T636, T639, mult288_in_ga(T636, T639))
MULT12_IN_GGA(s(T636), s(s(s(s(s(s(s(0))))))), s(s(s(s(s(s(s(T639)))))))) → MULT288_IN_GA(T636, T639)
MULT288_IN_GA(s(T725), s(s(s(s(s(s(s(T727)))))))) → U8_GA(T725, T727, mult288_in_ga(T725, T727))
MULT288_IN_GA(s(T725), s(s(s(s(s(s(s(T727)))))))) → MULT288_IN_GA(T725, T727)
MULT12_IN_GGA(T740, s(s(s(s(s(s(s(s(T742)))))))), s(s(s(s(s(s(s(s(T744))))))))) → U17_GGA(T740, T742, T744, mult338_in_ggga(T740, s(s(s(s(s(s(s(T742))))))), T742, T744))
MULT12_IN_GGA(T740, s(s(s(s(s(s(s(s(T742)))))))), s(s(s(s(s(s(s(s(T744))))))))) → MULT338_IN_GGGA(T740, s(s(s(s(s(s(s(T742))))))), T742, T744)
MULT338_IN_GGGA(s(T767), T768, 0, T770) → U18_GGGA(T767, T768, T770, mult12_in_gga(T767, s(T768), T770))
MULT338_IN_GGGA(s(T767), T768, 0, T770) → MULT12_IN_GGA(T767, s(T768), T770)
MULT338_IN_GGGA(T786, T787, s(T788), s(T790)) → U19_GGGA(T786, T787, T788, T790, mult338_in_ggga(T786, T787, T788, T790))
MULT338_IN_GGGA(T786, T787, s(T788), s(T790)) → MULT338_IN_GGGA(T786, T787, T788, T790)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
mult12_in_gga(x1, x2, x3)  =  mult12_in_gga(x1, x2)
0  =  0
mult22_in_ga(x1, x2)  =  mult22_in_ga(x1)
mult45_in_ga(x1, x2)  =  mult45_in_ga(x1)
mult73_in_ga(x1, x2)  =  mult73_in_ga(x1)
mult106_in_ga(x1, x2)  =  mult106_in_ga(x1)
mult144_in_ga(x1, x2)  =  mult144_in_ga(x1)
mult187_in_ga(x1, x2)  =  mult187_in_ga(x1)
mult235_in_ga(x1, x2)  =  mult235_in_ga(x1)
mult288_in_ga(x1, x2)  =  mult288_in_ga(x1)
mult338_in_ggga(x1, x2, x3, x4)  =  mult338_in_ggga(x1, x2, x3)
TIMES1_IN_GGA(x1, x2, x3)  =  TIMES1_IN_GGA(x1, x2)
U20_GGA(x1, x2, x3, x4)  =  U20_GGA(x1, x2, x4)
MULT12_IN_GGA(x1, x2, x3)  =  MULT12_IN_GGA(x1, x2)
U9_GGA(x1, x2, x3)  =  U9_GGA(x1, x3)
MULT22_IN_GA(x1, x2)  =  MULT22_IN_GA(x1)
U1_GA(x1, x2, x3)  =  U1_GA(x1, x3)
U10_GGA(x1, x2, x3)  =  U10_GGA(x1, x3)
MULT45_IN_GA(x1, x2)  =  MULT45_IN_GA(x1)
U2_GA(x1, x2, x3)  =  U2_GA(x1, x3)
U11_GGA(x1, x2, x3)  =  U11_GGA(x1, x3)
MULT73_IN_GA(x1, x2)  =  MULT73_IN_GA(x1)
U3_GA(x1, x2, x3)  =  U3_GA(x1, x3)
U12_GGA(x1, x2, x3)  =  U12_GGA(x1, x3)
MULT106_IN_GA(x1, x2)  =  MULT106_IN_GA(x1)
U4_GA(x1, x2, x3)  =  U4_GA(x1, x3)
U13_GGA(x1, x2, x3)  =  U13_GGA(x1, x3)
MULT144_IN_GA(x1, x2)  =  MULT144_IN_GA(x1)
U5_GA(x1, x2, x3)  =  U5_GA(x1, x3)
U14_GGA(x1, x2, x3)  =  U14_GGA(x1, x3)
MULT187_IN_GA(x1, x2)  =  MULT187_IN_GA(x1)
U6_GA(x1, x2, x3)  =  U6_GA(x1, x3)
U15_GGA(x1, x2, x3)  =  U15_GGA(x1, x3)
MULT235_IN_GA(x1, x2)  =  MULT235_IN_GA(x1)
U7_GA(x1, x2, x3)  =  U7_GA(x1, x3)
U16_GGA(x1, x2, x3)  =  U16_GGA(x1, x3)
MULT288_IN_GA(x1, x2)  =  MULT288_IN_GA(x1)
U8_GA(x1, x2, x3)  =  U8_GA(x1, x3)
U17_GGA(x1, x2, x3, x4)  =  U17_GGA(x1, x2, x4)
MULT338_IN_GGGA(x1, x2, x3, x4)  =  MULT338_IN_GGGA(x1, x2, x3)
U18_GGGA(x1, x2, x3, x4)  =  U18_GGGA(x1, x2, x4)
U19_GGGA(x1, x2, x3, x4, x5)  =  U19_GGGA(x1, x2, x3, x5)

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

(5) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 9 SCCs with 29 less nodes.

(6) Complex Obligation (AND)

(7) Obligation:

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

MULT288_IN_GA(s(T725), s(s(s(s(s(s(s(T727)))))))) → MULT288_IN_GA(T725, T727)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
MULT288_IN_GA(x1, x2)  =  MULT288_IN_GA(x1)

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

(8) PiDPToQDPProof (SOUND transformation)

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

(9) Obligation:

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

MULT288_IN_GA(s(T725)) → MULT288_IN_GA(T725)

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

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

  • MULT288_IN_GA(s(T725)) → MULT288_IN_GA(T725)
    The graph contains the following edges 1 > 1

(11) YES

(12) Obligation:

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

MULT235_IN_GA(s(T597), s(s(s(s(s(s(T599))))))) → MULT235_IN_GA(T597, T599)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
MULT235_IN_GA(x1, x2)  =  MULT235_IN_GA(x1)

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

(13) PiDPToQDPProof (SOUND transformation)

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

(14) Obligation:

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

MULT235_IN_GA(s(T597)) → MULT235_IN_GA(T597)

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

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

  • MULT235_IN_GA(s(T597)) → MULT235_IN_GA(T597)
    The graph contains the following edges 1 > 1

(16) YES

(17) Obligation:

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

MULT187_IN_GA(s(T480), s(s(s(s(s(T482)))))) → MULT187_IN_GA(T480, T482)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
MULT187_IN_GA(x1, x2)  =  MULT187_IN_GA(x1)

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

(18) PiDPToQDPProof (SOUND transformation)

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

(19) Obligation:

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

MULT187_IN_GA(s(T480)) → MULT187_IN_GA(T480)

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

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

  • MULT187_IN_GA(s(T480)) → MULT187_IN_GA(T480)
    The graph contains the following edges 1 > 1

(21) YES

(22) Obligation:

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

MULT144_IN_GA(s(T374), s(s(s(s(T376))))) → MULT144_IN_GA(T374, T376)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
MULT144_IN_GA(x1, x2)  =  MULT144_IN_GA(x1)

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

(23) PiDPToQDPProof (SOUND transformation)

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

(24) Obligation:

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

MULT144_IN_GA(s(T374)) → MULT144_IN_GA(T374)

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

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

  • MULT144_IN_GA(s(T374)) → MULT144_IN_GA(T374)
    The graph contains the following edges 1 > 1

(26) YES

(27) Obligation:

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

MULT106_IN_GA(s(T279), s(s(s(T281)))) → MULT106_IN_GA(T279, T281)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
MULT106_IN_GA(x1, x2)  =  MULT106_IN_GA(x1)

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

(28) PiDPToQDPProof (SOUND transformation)

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

(29) Obligation:

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

MULT106_IN_GA(s(T279)) → MULT106_IN_GA(T279)

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

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

  • MULT106_IN_GA(s(T279)) → MULT106_IN_GA(T279)
    The graph contains the following edges 1 > 1

(31) YES

(32) Obligation:

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

MULT73_IN_GA(s(T195), s(s(T197))) → MULT73_IN_GA(T195, T197)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
MULT73_IN_GA(x1, x2)  =  MULT73_IN_GA(x1)

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

(33) PiDPToQDPProof (SOUND transformation)

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

(34) Obligation:

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

MULT73_IN_GA(s(T195)) → MULT73_IN_GA(T195)

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

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

  • MULT73_IN_GA(s(T195)) → MULT73_IN_GA(T195)
    The graph contains the following edges 1 > 1

(36) YES

(37) Obligation:

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

MULT45_IN_GA(s(T122), s(T124)) → MULT45_IN_GA(T122, T124)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
MULT45_IN_GA(x1, x2)  =  MULT45_IN_GA(x1)

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

(38) PiDPToQDPProof (SOUND transformation)

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

(39) Obligation:

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

MULT45_IN_GA(s(T122)) → MULT45_IN_GA(T122)

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

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

  • MULT45_IN_GA(s(T122)) → MULT45_IN_GA(T122)
    The graph contains the following edges 1 > 1

(41) YES

(42) Obligation:

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

MULT12_IN_GGA(T740, s(s(s(s(s(s(s(s(T742)))))))), s(s(s(s(s(s(s(s(T744))))))))) → MULT338_IN_GGGA(T740, s(s(s(s(s(s(s(T742))))))), T742, T744)
MULT338_IN_GGGA(s(T767), T768, 0, T770) → MULT12_IN_GGA(T767, s(T768), T770)
MULT338_IN_GGGA(T786, T787, s(T788), s(T790)) → MULT338_IN_GGGA(T786, T787, T788, T790)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
0  =  0
MULT12_IN_GGA(x1, x2, x3)  =  MULT12_IN_GGA(x1, x2)
MULT338_IN_GGGA(x1, x2, x3, x4)  =  MULT338_IN_GGGA(x1, x2, x3)

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

(43) PiDPToQDPProof (SOUND transformation)

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

(44) Obligation:

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

MULT12_IN_GGA(T740, s(s(s(s(s(s(s(s(T742))))))))) → MULT338_IN_GGGA(T740, s(s(s(s(s(s(s(T742))))))), T742)
MULT338_IN_GGGA(s(T767), T768, 0) → MULT12_IN_GGA(T767, s(T768))
MULT338_IN_GGGA(T786, T787, s(T788)) → MULT338_IN_GGGA(T786, T787, T788)

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

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

  • MULT338_IN_GGGA(s(T767), T768, 0) → MULT12_IN_GGA(T767, s(T768))
    The graph contains the following edges 1 > 1

  • MULT338_IN_GGGA(T786, T787, s(T788)) → MULT338_IN_GGGA(T786, T787, T788)
    The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3

  • MULT12_IN_GGA(T740, s(s(s(s(s(s(s(s(T742))))))))) → MULT338_IN_GGGA(T740, s(s(s(s(s(s(s(T742))))))), T742)
    The graph contains the following edges 1 >= 1, 2 > 2, 2 > 3

(46) YES

(47) Obligation:

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

MULT22_IN_GA(s(T63), T65) → MULT22_IN_GA(T63, T65)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
MULT22_IN_GA(x1, x2)  =  MULT22_IN_GA(x1)

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

(48) PiDPToQDPProof (SOUND transformation)

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

(49) Obligation:

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

MULT22_IN_GA(s(T63)) → MULT22_IN_GA(T63)

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

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

  • MULT22_IN_GA(s(T63)) → MULT22_IN_GA(T63)
    The graph contains the following edges 1 > 1

(51) YES