(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