0 Prolog
↳1 PrologToDTProblemTransformerProof (⇐)
↳2 TRIPLES
↳3 TriplesToPiDPProof (⇐)
↳4 PiDP
↳5 DependencyGraphProof (⇔)
↳6 AND
↳7 PiDP
↳8 UsableRulesProof (⇔)
↳9 PiDP
↳10 PiDPToQDPProof (⇐)
↳11 QDP
↳12 QDPSizeChangeProof (⇔)
↳13 YES
↳14 PiDP
↳15 UsableRulesProof (⇔)
↳16 PiDP
↳17 PiDPToQDPProof (⇐)
↳18 QDP
↳19 QDPSizeChangeProof (⇔)
↳20 YES
↳21 PiDP
↳22 UsableRulesProof (⇔)
↳23 PiDP
↳24 PiDPToQDPProof (⇐)
↳25 QDP
↳26 MRRProof (⇔)
↳27 QDP
↳28 PisEmptyProof (⇔)
↳29 YES
↳30 PiDP
↳31 PiDPToQDPProof (⇐)
↳32 QDP
↳33 QDPOrderProof (⇔)
↳34 QDP
↳35 DependencyGraphProof (⇔)
↳36 TRUE
FACTOR1_IN_GA(cons(0, cons(T19, T12)), T14) → U5_GA(T19, T12, T14, factor1_in_ga(cons(0, T12), T14))
FACTOR1_IN_GA(cons(0, cons(T19, T12)), T14) → FACTOR1_IN_GA(cons(0, T12), T14)
FACTOR1_IN_GA(cons(s(T24), cons(T25, T12)), T14) → U6_GA(T24, T25, T12, T14, times16_in_gga(T24, T25, X41))
FACTOR1_IN_GA(cons(s(T24), cons(T25, T12)), T14) → TIMES16_IN_GGA(T24, T25, X41)
TIMES16_IN_GGA(s(T40), T41, X69) → U1_GGA(T40, T41, X69, times16_in_gga(T40, T41, X68))
TIMES16_IN_GGA(s(T40), T41, X69) → TIMES16_IN_GGA(T40, T41, X68)
TIMES16_IN_GGA(s(T40), T41, X69) → U2_GGA(T40, T41, X69, timesc16_in_gga(T40, T41, T44))
U2_GGA(T40, T41, X69, timesc16_out_gga(T40, T41, T44)) → U3_GGA(T40, T41, X69, plus27_in_gga(T44, T41, X69))
U2_GGA(T40, T41, X69, timesc16_out_gga(T40, T41, T44)) → PLUS27_IN_GGA(T44, T41, X69)
PLUS27_IN_GGA(s(T58), T59, s(X96)) → U4_GGA(T58, T59, X96, plus27_in_gga(T58, T59, X96))
PLUS27_IN_GGA(s(T58), T59, s(X96)) → PLUS27_IN_GGA(T58, T59, X96)
FACTOR1_IN_GA(cons(s(T24), cons(T25, T12)), T14) → U7_GA(T24, T25, T12, T14, timesc16_in_gga(T24, T25, T28))
U7_GA(T24, T25, T12, T14, timesc16_out_gga(T24, T25, T28)) → U8_GA(T24, T25, T12, T14, plus27_in_gga(T28, T25, X42))
U7_GA(T24, T25, T12, T14, timesc16_out_gga(T24, T25, T28)) → PLUS27_IN_GGA(T28, T25, X42)
U7_GA(T24, T25, T12, T14, timesc16_out_gga(T24, T25, T28)) → U9_GA(T24, T25, T12, T14, plusc27_in_gga(T28, T25, T64))
U9_GA(T24, T25, T12, T14, plusc27_out_gga(T28, T25, T64)) → U10_GA(T24, T25, T12, T14, factor1_in_ga(cons(T64, T12), T14))
U9_GA(T24, T25, T12, T14, plusc27_out_gga(T28, T25, T64)) → FACTOR1_IN_GA(cons(T64, T12), T14)
timesc16_in_gga(0, T35, 0) → timesc16_out_gga(0, T35, 0)
timesc16_in_gga(s(T40), T41, X69) → U16_gga(T40, T41, X69, timesc16_in_gga(T40, T41, T44))
U16_gga(T40, T41, X69, timesc16_out_gga(T40, T41, T44)) → U17_gga(T40, T41, X69, plusc27_in_gga(T44, T41, X69))
plusc27_in_gga(0, T53, T53) → plusc27_out_gga(0, T53, T53)
plusc27_in_gga(s(T58), T59, s(X96)) → U18_gga(T58, T59, X96, plusc27_in_gga(T58, T59, X96))
U18_gga(T58, T59, X96, plusc27_out_gga(T58, T59, X96)) → plusc27_out_gga(s(T58), T59, s(X96))
U17_gga(T40, T41, X69, plusc27_out_gga(T44, T41, X69)) → timesc16_out_gga(s(T40), T41, X69)
Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES
FACTOR1_IN_GA(cons(0, cons(T19, T12)), T14) → U5_GA(T19, T12, T14, factor1_in_ga(cons(0, T12), T14))
FACTOR1_IN_GA(cons(0, cons(T19, T12)), T14) → FACTOR1_IN_GA(cons(0, T12), T14)
FACTOR1_IN_GA(cons(s(T24), cons(T25, T12)), T14) → U6_GA(T24, T25, T12, T14, times16_in_gga(T24, T25, X41))
FACTOR1_IN_GA(cons(s(T24), cons(T25, T12)), T14) → TIMES16_IN_GGA(T24, T25, X41)
TIMES16_IN_GGA(s(T40), T41, X69) → U1_GGA(T40, T41, X69, times16_in_gga(T40, T41, X68))
TIMES16_IN_GGA(s(T40), T41, X69) → TIMES16_IN_GGA(T40, T41, X68)
TIMES16_IN_GGA(s(T40), T41, X69) → U2_GGA(T40, T41, X69, timesc16_in_gga(T40, T41, T44))
U2_GGA(T40, T41, X69, timesc16_out_gga(T40, T41, T44)) → U3_GGA(T40, T41, X69, plus27_in_gga(T44, T41, X69))
U2_GGA(T40, T41, X69, timesc16_out_gga(T40, T41, T44)) → PLUS27_IN_GGA(T44, T41, X69)
PLUS27_IN_GGA(s(T58), T59, s(X96)) → U4_GGA(T58, T59, X96, plus27_in_gga(T58, T59, X96))
PLUS27_IN_GGA(s(T58), T59, s(X96)) → PLUS27_IN_GGA(T58, T59, X96)
FACTOR1_IN_GA(cons(s(T24), cons(T25, T12)), T14) → U7_GA(T24, T25, T12, T14, timesc16_in_gga(T24, T25, T28))
U7_GA(T24, T25, T12, T14, timesc16_out_gga(T24, T25, T28)) → U8_GA(T24, T25, T12, T14, plus27_in_gga(T28, T25, X42))
U7_GA(T24, T25, T12, T14, timesc16_out_gga(T24, T25, T28)) → PLUS27_IN_GGA(T28, T25, X42)
U7_GA(T24, T25, T12, T14, timesc16_out_gga(T24, T25, T28)) → U9_GA(T24, T25, T12, T14, plusc27_in_gga(T28, T25, T64))
U9_GA(T24, T25, T12, T14, plusc27_out_gga(T28, T25, T64)) → U10_GA(T24, T25, T12, T14, factor1_in_ga(cons(T64, T12), T14))
U9_GA(T24, T25, T12, T14, plusc27_out_gga(T28, T25, T64)) → FACTOR1_IN_GA(cons(T64, T12), T14)
timesc16_in_gga(0, T35, 0) → timesc16_out_gga(0, T35, 0)
timesc16_in_gga(s(T40), T41, X69) → U16_gga(T40, T41, X69, timesc16_in_gga(T40, T41, T44))
U16_gga(T40, T41, X69, timesc16_out_gga(T40, T41, T44)) → U17_gga(T40, T41, X69, plusc27_in_gga(T44, T41, X69))
plusc27_in_gga(0, T53, T53) → plusc27_out_gga(0, T53, T53)
plusc27_in_gga(s(T58), T59, s(X96)) → U18_gga(T58, T59, X96, plusc27_in_gga(T58, T59, X96))
U18_gga(T58, T59, X96, plusc27_out_gga(T58, T59, X96)) → plusc27_out_gga(s(T58), T59, s(X96))
U17_gga(T40, T41, X69, plusc27_out_gga(T44, T41, X69)) → timesc16_out_gga(s(T40), T41, X69)
PLUS27_IN_GGA(s(T58), T59, s(X96)) → PLUS27_IN_GGA(T58, T59, X96)
timesc16_in_gga(0, T35, 0) → timesc16_out_gga(0, T35, 0)
timesc16_in_gga(s(T40), T41, X69) → U16_gga(T40, T41, X69, timesc16_in_gga(T40, T41, T44))
U16_gga(T40, T41, X69, timesc16_out_gga(T40, T41, T44)) → U17_gga(T40, T41, X69, plusc27_in_gga(T44, T41, X69))
plusc27_in_gga(0, T53, T53) → plusc27_out_gga(0, T53, T53)
plusc27_in_gga(s(T58), T59, s(X96)) → U18_gga(T58, T59, X96, plusc27_in_gga(T58, T59, X96))
U18_gga(T58, T59, X96, plusc27_out_gga(T58, T59, X96)) → plusc27_out_gga(s(T58), T59, s(X96))
U17_gga(T40, T41, X69, plusc27_out_gga(T44, T41, X69)) → timesc16_out_gga(s(T40), T41, X69)
PLUS27_IN_GGA(s(T58), T59, s(X96)) → PLUS27_IN_GGA(T58, T59, X96)
PLUS27_IN_GGA(s(T58), T59) → PLUS27_IN_GGA(T58, T59)
From the DPs we obtained the following set of size-change graphs:
TIMES16_IN_GGA(s(T40), T41, X69) → TIMES16_IN_GGA(T40, T41, X68)
timesc16_in_gga(0, T35, 0) → timesc16_out_gga(0, T35, 0)
timesc16_in_gga(s(T40), T41, X69) → U16_gga(T40, T41, X69, timesc16_in_gga(T40, T41, T44))
U16_gga(T40, T41, X69, timesc16_out_gga(T40, T41, T44)) → U17_gga(T40, T41, X69, plusc27_in_gga(T44, T41, X69))
plusc27_in_gga(0, T53, T53) → plusc27_out_gga(0, T53, T53)
plusc27_in_gga(s(T58), T59, s(X96)) → U18_gga(T58, T59, X96, plusc27_in_gga(T58, T59, X96))
U18_gga(T58, T59, X96, plusc27_out_gga(T58, T59, X96)) → plusc27_out_gga(s(T58), T59, s(X96))
U17_gga(T40, T41, X69, plusc27_out_gga(T44, T41, X69)) → timesc16_out_gga(s(T40), T41, X69)
TIMES16_IN_GGA(s(T40), T41, X69) → TIMES16_IN_GGA(T40, T41, X68)
TIMES16_IN_GGA(s(T40), T41) → TIMES16_IN_GGA(T40, T41)
From the DPs we obtained the following set of size-change graphs:
FACTOR1_IN_GA(cons(0, cons(T19, T12)), T14) → FACTOR1_IN_GA(cons(0, T12), T14)
timesc16_in_gga(0, T35, 0) → timesc16_out_gga(0, T35, 0)
timesc16_in_gga(s(T40), T41, X69) → U16_gga(T40, T41, X69, timesc16_in_gga(T40, T41, T44))
U16_gga(T40, T41, X69, timesc16_out_gga(T40, T41, T44)) → U17_gga(T40, T41, X69, plusc27_in_gga(T44, T41, X69))
plusc27_in_gga(0, T53, T53) → plusc27_out_gga(0, T53, T53)
plusc27_in_gga(s(T58), T59, s(X96)) → U18_gga(T58, T59, X96, plusc27_in_gga(T58, T59, X96))
U18_gga(T58, T59, X96, plusc27_out_gga(T58, T59, X96)) → plusc27_out_gga(s(T58), T59, s(X96))
U17_gga(T40, T41, X69, plusc27_out_gga(T44, T41, X69)) → timesc16_out_gga(s(T40), T41, X69)
FACTOR1_IN_GA(cons(0, cons(T19, T12)), T14) → FACTOR1_IN_GA(cons(0, T12), T14)
FACTOR1_IN_GA(cons(0, cons(T19, T12))) → FACTOR1_IN_GA(cons(0, T12))
FACTOR1_IN_GA(cons(0, cons(T19, T12))) → FACTOR1_IN_GA(cons(0, T12))
POL(0) = 0
POL(FACTOR1_IN_GA(x1)) = 2·x1
POL(cons(x1, x2)) = 1 + x1 + 2·x2
FACTOR1_IN_GA(cons(s(T24), cons(T25, T12)), T14) → U7_GA(T24, T25, T12, T14, timesc16_in_gga(T24, T25, T28))
U7_GA(T24, T25, T12, T14, timesc16_out_gga(T24, T25, T28)) → U9_GA(T24, T25, T12, T14, plusc27_in_gga(T28, T25, T64))
U9_GA(T24, T25, T12, T14, plusc27_out_gga(T28, T25, T64)) → FACTOR1_IN_GA(cons(T64, T12), T14)
timesc16_in_gga(0, T35, 0) → timesc16_out_gga(0, T35, 0)
timesc16_in_gga(s(T40), T41, X69) → U16_gga(T40, T41, X69, timesc16_in_gga(T40, T41, T44))
U16_gga(T40, T41, X69, timesc16_out_gga(T40, T41, T44)) → U17_gga(T40, T41, X69, plusc27_in_gga(T44, T41, X69))
plusc27_in_gga(0, T53, T53) → plusc27_out_gga(0, T53, T53)
plusc27_in_gga(s(T58), T59, s(X96)) → U18_gga(T58, T59, X96, plusc27_in_gga(T58, T59, X96))
U18_gga(T58, T59, X96, plusc27_out_gga(T58, T59, X96)) → plusc27_out_gga(s(T58), T59, s(X96))
U17_gga(T40, T41, X69, plusc27_out_gga(T44, T41, X69)) → timesc16_out_gga(s(T40), T41, X69)
FACTOR1_IN_GA(cons(s(T24), cons(T25, T12))) → U7_GA(T24, T25, T12, timesc16_in_gga(T24, T25))
U7_GA(T24, T25, T12, timesc16_out_gga(T24, T25, T28)) → U9_GA(T24, T25, T12, plusc27_in_gga(T28, T25))
U9_GA(T24, T25, T12, plusc27_out_gga(T28, T25, T64)) → FACTOR1_IN_GA(cons(T64, T12))
timesc16_in_gga(0, T35) → timesc16_out_gga(0, T35, 0)
timesc16_in_gga(s(T40), T41) → U16_gga(T40, T41, timesc16_in_gga(T40, T41))
U16_gga(T40, T41, timesc16_out_gga(T40, T41, T44)) → U17_gga(T40, T41, plusc27_in_gga(T44, T41))
plusc27_in_gga(0, T53) → plusc27_out_gga(0, T53, T53)
plusc27_in_gga(s(T58), T59) → U18_gga(T58, T59, plusc27_in_gga(T58, T59))
U18_gga(T58, T59, plusc27_out_gga(T58, T59, X96)) → plusc27_out_gga(s(T58), T59, s(X96))
U17_gga(T40, T41, plusc27_out_gga(T44, T41, X69)) → timesc16_out_gga(s(T40), T41, X69)
timesc16_in_gga(x0, x1)
U16_gga(x0, x1, x2)
plusc27_in_gga(x0, x1)
U18_gga(x0, x1, x2)
U17_gga(x0, x1, x2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
FACTOR1_IN_GA(cons(s(T24), cons(T25, T12))) → U7_GA(T24, T25, T12, timesc16_in_gga(T24, T25))
POL(0) = 0
POL(FACTOR1_IN_GA(x1)) = x1
POL(U16_gga(x1, x2, x3)) = 0
POL(U17_gga(x1, x2, x3)) = 0
POL(U18_gga(x1, x2, x3)) = 1
POL(U7_GA(x1, x2, x3, x4)) = 1 + x3
POL(U9_GA(x1, x2, x3, x4)) = x3 + x4
POL(cons(x1, x2)) = 1 + x2
POL(plusc27_in_gga(x1, x2)) = 1
POL(plusc27_out_gga(x1, x2, x3)) = 1
POL(s(x1)) = 0
POL(timesc16_in_gga(x1, x2)) = 0
POL(timesc16_out_gga(x1, x2, x3)) = 0
plusc27_in_gga(0, T53) → plusc27_out_gga(0, T53, T53)
plusc27_in_gga(s(T58), T59) → U18_gga(T58, T59, plusc27_in_gga(T58, T59))
U18_gga(T58, T59, plusc27_out_gga(T58, T59, X96)) → plusc27_out_gga(s(T58), T59, s(X96))
U7_GA(T24, T25, T12, timesc16_out_gga(T24, T25, T28)) → U9_GA(T24, T25, T12, plusc27_in_gga(T28, T25))
U9_GA(T24, T25, T12, plusc27_out_gga(T28, T25, T64)) → FACTOR1_IN_GA(cons(T64, T12))
timesc16_in_gga(0, T35) → timesc16_out_gga(0, T35, 0)
timesc16_in_gga(s(T40), T41) → U16_gga(T40, T41, timesc16_in_gga(T40, T41))
U16_gga(T40, T41, timesc16_out_gga(T40, T41, T44)) → U17_gga(T40, T41, plusc27_in_gga(T44, T41))
plusc27_in_gga(0, T53) → plusc27_out_gga(0, T53, T53)
plusc27_in_gga(s(T58), T59) → U18_gga(T58, T59, plusc27_in_gga(T58, T59))
U18_gga(T58, T59, plusc27_out_gga(T58, T59, X96)) → plusc27_out_gga(s(T58), T59, s(X96))
U17_gga(T40, T41, plusc27_out_gga(T44, T41, X69)) → timesc16_out_gga(s(T40), T41, X69)
timesc16_in_gga(x0, x1)
U16_gga(x0, x1, x2)
plusc27_in_gga(x0, x1)
U18_gga(x0, x1, x2)
U17_gga(x0, x1, x2)