0 Prolog
↳1 PrologToPrologProblemTransformerProof (⇐)
↳2 Prolog
↳3 PrologToPiTRSProof (⇐)
↳4 PiTRS
↳5 DependencyPairsProof (⇔)
↳6 PiDP
↳7 DependencyGraphProof (⇔)
↳8 AND
↳9 PiDP
↳10 UsableRulesProof (⇔)
↳11 PiDP
↳12 PiDPToQDPProof (⇐)
↳13 QDP
↳14 NonTerminationProof (⇔)
↳15 NO
↳16 PiDP
↳17 UsableRulesProof (⇔)
↳18 PiDP
↳19 PiDPToQDPProof (⇐)
↳20 QDP
↳21 QDPSizeChangeProof (⇔)
↳22 YES
↳23 PiDP
↳24 UsableRulesProof (⇔)
↳25 PiDP
↳26 PiDPToQDPProof (⇐)
↳27 QDP
↳28 MRRProof (⇔)
↳29 QDP
↳30 PisEmptyProof (⇔)
↳31 YES
↳32 PiDP
↳33 UsableRulesProof (⇔)
↳34 PiDP
↳35 PiDPToQDPProof (⇐)
↳36 QDP
↳37 QDPOrderProof (⇔)
↳38 QDP
↳39 DependencyGraphProof (⇔)
↳40 TRUE
↳41 PrologToPiTRSProof (⇐)
↳42 PiTRS
↳43 DependencyPairsProof (⇔)
↳44 PiDP
↳45 DependencyGraphProof (⇔)
↳46 AND
↳47 PiDP
↳48 UsableRulesProof (⇔)
↳49 PiDP
↳50 PiDPToQDPProof (⇐)
↳51 QDP
↳52 NonTerminationProof (⇔)
↳53 NO
↳54 PiDP
↳55 UsableRulesProof (⇔)
↳56 PiDP
↳57 PiDPToQDPProof (⇐)
↳58 QDP
↳59 QDPSizeChangeProof (⇔)
↳60 YES
↳61 PiDP
↳62 UsableRulesProof (⇔)
↳63 PiDP
↳64 PiDPToQDPProof (⇐)
↳65 QDP
↳66 MRRProof (⇔)
↳67 QDP
↳68 PisEmptyProof (⇔)
↳69 YES
↳70 PiDP
↳71 UsableRulesProof (⇔)
↳72 PiDP
↳73 PiDPToQDPProof (⇐)
↳74 QDP
↳75 QDPOrderProof (⇔)
↳76 QDP
↳77 DependencyGraphProof (⇔)
↳78 TRUE
factor1_in_ga(.(T4, []), T4) → factor1_out_ga(.(T4, []), T4)
factor1_in_ga(.(0, .(T19, T12)), T14) → U5_ga(T19, T12, T14, factor1_in_ga(.(0, T12), T14))
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U6_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, X41))
times16_in_gga(0, T35, 0) → times16_out_gga(0, T35, 0)
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) → U2_gga(T40, T41, X69, times16_in_gga(T40, T41, T44))
U2_gga(T40, T41, X69, times16_out_gga(T40, T41, T44)) → U3_gga(T40, T41, X69, plus27_in_aga(T44, T41, X69))
plus27_in_aga(0, T53, T53) → plus27_out_aga(0, T53, T53)
plus27_in_aga(s(T58), T59, s(X96)) → U4_aga(T58, T59, X96, plus27_in_aga(T58, T59, X96))
U4_aga(T58, T59, X96, plus27_out_aga(T58, T59, X96)) → plus27_out_aga(s(T58), T59, s(X96))
U3_gga(T40, T41, X69, plus27_out_aga(T44, T41, X69)) → times16_out_gga(s(T40), T41, X69)
U1_gga(T40, T41, X69, times16_out_gga(T40, T41, X68)) → times16_out_gga(s(T40), T41, X69)
U6_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, X41)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U7_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, T28))
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U8_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, X42))
U8_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, X42)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U9_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, T64))
U9_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, T64)) → U10_ga(T24, T25, T12, T14, factor1_in_ga(.(T64, T12), T14))
U10_ga(T24, T25, T12, T14, factor1_out_ga(.(T64, T12), T14)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U5_ga(T19, T12, T14, factor1_out_ga(.(0, T12), T14)) → factor1_out_ga(.(0, .(T19, T12)), T14)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
factor1_in_ga(.(T4, []), T4) → factor1_out_ga(.(T4, []), T4)
factor1_in_ga(.(0, .(T19, T12)), T14) → U5_ga(T19, T12, T14, factor1_in_ga(.(0, T12), T14))
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U6_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, X41))
times16_in_gga(0, T35, 0) → times16_out_gga(0, T35, 0)
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) → U2_gga(T40, T41, X69, times16_in_gga(T40, T41, T44))
U2_gga(T40, T41, X69, times16_out_gga(T40, T41, T44)) → U3_gga(T40, T41, X69, plus27_in_aga(T44, T41, X69))
plus27_in_aga(0, T53, T53) → plus27_out_aga(0, T53, T53)
plus27_in_aga(s(T58), T59, s(X96)) → U4_aga(T58, T59, X96, plus27_in_aga(T58, T59, X96))
U4_aga(T58, T59, X96, plus27_out_aga(T58, T59, X96)) → plus27_out_aga(s(T58), T59, s(X96))
U3_gga(T40, T41, X69, plus27_out_aga(T44, T41, X69)) → times16_out_gga(s(T40), T41, X69)
U1_gga(T40, T41, X69, times16_out_gga(T40, T41, X68)) → times16_out_gga(s(T40), T41, X69)
U6_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, X41)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U7_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, T28))
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U8_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, X42))
U8_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, X42)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U9_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, T64))
U9_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, T64)) → U10_ga(T24, T25, T12, T14, factor1_in_ga(.(T64, T12), T14))
U10_ga(T24, T25, T12, T14, factor1_out_ga(.(T64, T12), T14)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U5_ga(T19, T12, T14, factor1_out_ga(.(0, T12), T14)) → factor1_out_ga(.(0, .(T19, T12)), T14)
FACTOR1_IN_GA(.(0, .(T19, T12)), T14) → U5_GA(T19, T12, T14, factor1_in_ga(.(0, T12), T14))
FACTOR1_IN_GA(.(0, .(T19, T12)), T14) → FACTOR1_IN_GA(.(0, T12), T14)
FACTOR1_IN_GA(.(s(T24), .(T25, T12)), T14) → U6_GA(T24, T25, T12, T14, times16_in_gga(T24, T25, X41))
FACTOR1_IN_GA(.(s(T24), .(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, times16_in_gga(T40, T41, T44))
U2_GGA(T40, T41, X69, times16_out_gga(T40, T41, T44)) → U3_GGA(T40, T41, X69, plus27_in_aga(T44, T41, X69))
U2_GGA(T40, T41, X69, times16_out_gga(T40, T41, T44)) → PLUS27_IN_AGA(T44, T41, X69)
PLUS27_IN_AGA(s(T58), T59, s(X96)) → U4_AGA(T58, T59, X96, plus27_in_aga(T58, T59, X96))
PLUS27_IN_AGA(s(T58), T59, s(X96)) → PLUS27_IN_AGA(T58, T59, X96)
FACTOR1_IN_GA(.(s(T24), .(T25, T12)), T14) → U7_GA(T24, T25, T12, T14, times16_in_gga(T24, T25, T28))
U7_GA(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U8_GA(T24, T25, T12, T14, plus27_in_aga(T28, T25, X42))
U7_GA(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → PLUS27_IN_AGA(T28, T25, X42)
U7_GA(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U9_GA(T24, T25, T12, T14, plus27_in_aga(T28, T25, T64))
U9_GA(T24, T25, T12, T14, plus27_out_aga(T28, T25, T64)) → U10_GA(T24, T25, T12, T14, factor1_in_ga(.(T64, T12), T14))
U9_GA(T24, T25, T12, T14, plus27_out_aga(T28, T25, T64)) → FACTOR1_IN_GA(.(T64, T12), T14)
factor1_in_ga(.(T4, []), T4) → factor1_out_ga(.(T4, []), T4)
factor1_in_ga(.(0, .(T19, T12)), T14) → U5_ga(T19, T12, T14, factor1_in_ga(.(0, T12), T14))
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U6_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, X41))
times16_in_gga(0, T35, 0) → times16_out_gga(0, T35, 0)
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) → U2_gga(T40, T41, X69, times16_in_gga(T40, T41, T44))
U2_gga(T40, T41, X69, times16_out_gga(T40, T41, T44)) → U3_gga(T40, T41, X69, plus27_in_aga(T44, T41, X69))
plus27_in_aga(0, T53, T53) → plus27_out_aga(0, T53, T53)
plus27_in_aga(s(T58), T59, s(X96)) → U4_aga(T58, T59, X96, plus27_in_aga(T58, T59, X96))
U4_aga(T58, T59, X96, plus27_out_aga(T58, T59, X96)) → plus27_out_aga(s(T58), T59, s(X96))
U3_gga(T40, T41, X69, plus27_out_aga(T44, T41, X69)) → times16_out_gga(s(T40), T41, X69)
U1_gga(T40, T41, X69, times16_out_gga(T40, T41, X68)) → times16_out_gga(s(T40), T41, X69)
U6_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, X41)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U7_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, T28))
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U8_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, X42))
U8_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, X42)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U9_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, T64))
U9_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, T64)) → U10_ga(T24, T25, T12, T14, factor1_in_ga(.(T64, T12), T14))
U10_ga(T24, T25, T12, T14, factor1_out_ga(.(T64, T12), T14)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U5_ga(T19, T12, T14, factor1_out_ga(.(0, T12), T14)) → factor1_out_ga(.(0, .(T19, T12)), T14)
FACTOR1_IN_GA(.(0, .(T19, T12)), T14) → U5_GA(T19, T12, T14, factor1_in_ga(.(0, T12), T14))
FACTOR1_IN_GA(.(0, .(T19, T12)), T14) → FACTOR1_IN_GA(.(0, T12), T14)
FACTOR1_IN_GA(.(s(T24), .(T25, T12)), T14) → U6_GA(T24, T25, T12, T14, times16_in_gga(T24, T25, X41))
FACTOR1_IN_GA(.(s(T24), .(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, times16_in_gga(T40, T41, T44))
U2_GGA(T40, T41, X69, times16_out_gga(T40, T41, T44)) → U3_GGA(T40, T41, X69, plus27_in_aga(T44, T41, X69))
U2_GGA(T40, T41, X69, times16_out_gga(T40, T41, T44)) → PLUS27_IN_AGA(T44, T41, X69)
PLUS27_IN_AGA(s(T58), T59, s(X96)) → U4_AGA(T58, T59, X96, plus27_in_aga(T58, T59, X96))
PLUS27_IN_AGA(s(T58), T59, s(X96)) → PLUS27_IN_AGA(T58, T59, X96)
FACTOR1_IN_GA(.(s(T24), .(T25, T12)), T14) → U7_GA(T24, T25, T12, T14, times16_in_gga(T24, T25, T28))
U7_GA(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U8_GA(T24, T25, T12, T14, plus27_in_aga(T28, T25, X42))
U7_GA(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → PLUS27_IN_AGA(T28, T25, X42)
U7_GA(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U9_GA(T24, T25, T12, T14, plus27_in_aga(T28, T25, T64))
U9_GA(T24, T25, T12, T14, plus27_out_aga(T28, T25, T64)) → U10_GA(T24, T25, T12, T14, factor1_in_ga(.(T64, T12), T14))
U9_GA(T24, T25, T12, T14, plus27_out_aga(T28, T25, T64)) → FACTOR1_IN_GA(.(T64, T12), T14)
factor1_in_ga(.(T4, []), T4) → factor1_out_ga(.(T4, []), T4)
factor1_in_ga(.(0, .(T19, T12)), T14) → U5_ga(T19, T12, T14, factor1_in_ga(.(0, T12), T14))
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U6_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, X41))
times16_in_gga(0, T35, 0) → times16_out_gga(0, T35, 0)
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) → U2_gga(T40, T41, X69, times16_in_gga(T40, T41, T44))
U2_gga(T40, T41, X69, times16_out_gga(T40, T41, T44)) → U3_gga(T40, T41, X69, plus27_in_aga(T44, T41, X69))
plus27_in_aga(0, T53, T53) → plus27_out_aga(0, T53, T53)
plus27_in_aga(s(T58), T59, s(X96)) → U4_aga(T58, T59, X96, plus27_in_aga(T58, T59, X96))
U4_aga(T58, T59, X96, plus27_out_aga(T58, T59, X96)) → plus27_out_aga(s(T58), T59, s(X96))
U3_gga(T40, T41, X69, plus27_out_aga(T44, T41, X69)) → times16_out_gga(s(T40), T41, X69)
U1_gga(T40, T41, X69, times16_out_gga(T40, T41, X68)) → times16_out_gga(s(T40), T41, X69)
U6_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, X41)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U7_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, T28))
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U8_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, X42))
U8_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, X42)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U9_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, T64))
U9_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, T64)) → U10_ga(T24, T25, T12, T14, factor1_in_ga(.(T64, T12), T14))
U10_ga(T24, T25, T12, T14, factor1_out_ga(.(T64, T12), T14)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U5_ga(T19, T12, T14, factor1_out_ga(.(0, T12), T14)) → factor1_out_ga(.(0, .(T19, T12)), T14)
PLUS27_IN_AGA(s(T58), T59, s(X96)) → PLUS27_IN_AGA(T58, T59, X96)
factor1_in_ga(.(T4, []), T4) → factor1_out_ga(.(T4, []), T4)
factor1_in_ga(.(0, .(T19, T12)), T14) → U5_ga(T19, T12, T14, factor1_in_ga(.(0, T12), T14))
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U6_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, X41))
times16_in_gga(0, T35, 0) → times16_out_gga(0, T35, 0)
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) → U2_gga(T40, T41, X69, times16_in_gga(T40, T41, T44))
U2_gga(T40, T41, X69, times16_out_gga(T40, T41, T44)) → U3_gga(T40, T41, X69, plus27_in_aga(T44, T41, X69))
plus27_in_aga(0, T53, T53) → plus27_out_aga(0, T53, T53)
plus27_in_aga(s(T58), T59, s(X96)) → U4_aga(T58, T59, X96, plus27_in_aga(T58, T59, X96))
U4_aga(T58, T59, X96, plus27_out_aga(T58, T59, X96)) → plus27_out_aga(s(T58), T59, s(X96))
U3_gga(T40, T41, X69, plus27_out_aga(T44, T41, X69)) → times16_out_gga(s(T40), T41, X69)
U1_gga(T40, T41, X69, times16_out_gga(T40, T41, X68)) → times16_out_gga(s(T40), T41, X69)
U6_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, X41)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U7_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, T28))
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U8_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, X42))
U8_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, X42)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U9_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, T64))
U9_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, T64)) → U10_ga(T24, T25, T12, T14, factor1_in_ga(.(T64, T12), T14))
U10_ga(T24, T25, T12, T14, factor1_out_ga(.(T64, T12), T14)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U5_ga(T19, T12, T14, factor1_out_ga(.(0, T12), T14)) → factor1_out_ga(.(0, .(T19, T12)), T14)
PLUS27_IN_AGA(s(T58), T59, s(X96)) → PLUS27_IN_AGA(T58, T59, X96)
PLUS27_IN_AGA(T59) → PLUS27_IN_AGA(T59)
TIMES16_IN_GGA(s(T40), T41, X69) → TIMES16_IN_GGA(T40, T41, X68)
factor1_in_ga(.(T4, []), T4) → factor1_out_ga(.(T4, []), T4)
factor1_in_ga(.(0, .(T19, T12)), T14) → U5_ga(T19, T12, T14, factor1_in_ga(.(0, T12), T14))
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U6_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, X41))
times16_in_gga(0, T35, 0) → times16_out_gga(0, T35, 0)
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) → U2_gga(T40, T41, X69, times16_in_gga(T40, T41, T44))
U2_gga(T40, T41, X69, times16_out_gga(T40, T41, T44)) → U3_gga(T40, T41, X69, plus27_in_aga(T44, T41, X69))
plus27_in_aga(0, T53, T53) → plus27_out_aga(0, T53, T53)
plus27_in_aga(s(T58), T59, s(X96)) → U4_aga(T58, T59, X96, plus27_in_aga(T58, T59, X96))
U4_aga(T58, T59, X96, plus27_out_aga(T58, T59, X96)) → plus27_out_aga(s(T58), T59, s(X96))
U3_gga(T40, T41, X69, plus27_out_aga(T44, T41, X69)) → times16_out_gga(s(T40), T41, X69)
U1_gga(T40, T41, X69, times16_out_gga(T40, T41, X68)) → times16_out_gga(s(T40), T41, X69)
U6_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, X41)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U7_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, T28))
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U8_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, X42))
U8_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, X42)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U9_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, T64))
U9_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, T64)) → U10_ga(T24, T25, T12, T14, factor1_in_ga(.(T64, T12), T14))
U10_ga(T24, T25, T12, T14, factor1_out_ga(.(T64, T12), T14)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U5_ga(T19, T12, T14, factor1_out_ga(.(0, T12), T14)) → factor1_out_ga(.(0, .(T19, T12)), T14)
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(.(0, .(T19, T12)), T14) → FACTOR1_IN_GA(.(0, T12), T14)
factor1_in_ga(.(T4, []), T4) → factor1_out_ga(.(T4, []), T4)
factor1_in_ga(.(0, .(T19, T12)), T14) → U5_ga(T19, T12, T14, factor1_in_ga(.(0, T12), T14))
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U6_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, X41))
times16_in_gga(0, T35, 0) → times16_out_gga(0, T35, 0)
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) → U2_gga(T40, T41, X69, times16_in_gga(T40, T41, T44))
U2_gga(T40, T41, X69, times16_out_gga(T40, T41, T44)) → U3_gga(T40, T41, X69, plus27_in_aga(T44, T41, X69))
plus27_in_aga(0, T53, T53) → plus27_out_aga(0, T53, T53)
plus27_in_aga(s(T58), T59, s(X96)) → U4_aga(T58, T59, X96, plus27_in_aga(T58, T59, X96))
U4_aga(T58, T59, X96, plus27_out_aga(T58, T59, X96)) → plus27_out_aga(s(T58), T59, s(X96))
U3_gga(T40, T41, X69, plus27_out_aga(T44, T41, X69)) → times16_out_gga(s(T40), T41, X69)
U1_gga(T40, T41, X69, times16_out_gga(T40, T41, X68)) → times16_out_gga(s(T40), T41, X69)
U6_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, X41)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U7_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, T28))
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U8_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, X42))
U8_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, X42)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U9_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, T64))
U9_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, T64)) → U10_ga(T24, T25, T12, T14, factor1_in_ga(.(T64, T12), T14))
U10_ga(T24, T25, T12, T14, factor1_out_ga(.(T64, T12), T14)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U5_ga(T19, T12, T14, factor1_out_ga(.(0, T12), T14)) → factor1_out_ga(.(0, .(T19, T12)), T14)
FACTOR1_IN_GA(.(0, .(T19, T12)), T14) → FACTOR1_IN_GA(.(0, T12), T14)
FACTOR1_IN_GA(.(0, .(T19, T12))) → FACTOR1_IN_GA(.(0, T12))
FACTOR1_IN_GA(.(0, .(T19, T12))) → FACTOR1_IN_GA(.(0, T12))
POL(.(x1, x2)) = 1 + x1 + 2·x2
POL(0) = 0
POL(FACTOR1_IN_GA(x1)) = 2·x1
FACTOR1_IN_GA(.(s(T24), .(T25, T12)), T14) → U7_GA(T24, T25, T12, T14, times16_in_gga(T24, T25, T28))
U7_GA(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U9_GA(T24, T25, T12, T14, plus27_in_aga(T28, T25, T64))
U9_GA(T24, T25, T12, T14, plus27_out_aga(T28, T25, T64)) → FACTOR1_IN_GA(.(T64, T12), T14)
factor1_in_ga(.(T4, []), T4) → factor1_out_ga(.(T4, []), T4)
factor1_in_ga(.(0, .(T19, T12)), T14) → U5_ga(T19, T12, T14, factor1_in_ga(.(0, T12), T14))
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U6_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, X41))
times16_in_gga(0, T35, 0) → times16_out_gga(0, T35, 0)
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) → U2_gga(T40, T41, X69, times16_in_gga(T40, T41, T44))
U2_gga(T40, T41, X69, times16_out_gga(T40, T41, T44)) → U3_gga(T40, T41, X69, plus27_in_aga(T44, T41, X69))
plus27_in_aga(0, T53, T53) → plus27_out_aga(0, T53, T53)
plus27_in_aga(s(T58), T59, s(X96)) → U4_aga(T58, T59, X96, plus27_in_aga(T58, T59, X96))
U4_aga(T58, T59, X96, plus27_out_aga(T58, T59, X96)) → plus27_out_aga(s(T58), T59, s(X96))
U3_gga(T40, T41, X69, plus27_out_aga(T44, T41, X69)) → times16_out_gga(s(T40), T41, X69)
U1_gga(T40, T41, X69, times16_out_gga(T40, T41, X68)) → times16_out_gga(s(T40), T41, X69)
U6_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, X41)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U7_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, T28))
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U8_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, X42))
U8_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, X42)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U9_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, T64))
U9_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, T64)) → U10_ga(T24, T25, T12, T14, factor1_in_ga(.(T64, T12), T14))
U10_ga(T24, T25, T12, T14, factor1_out_ga(.(T64, T12), T14)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U5_ga(T19, T12, T14, factor1_out_ga(.(0, T12), T14)) → factor1_out_ga(.(0, .(T19, T12)), T14)
FACTOR1_IN_GA(.(s(T24), .(T25, T12)), T14) → U7_GA(T24, T25, T12, T14, times16_in_gga(T24, T25, T28))
U7_GA(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U9_GA(T24, T25, T12, T14, plus27_in_aga(T28, T25, T64))
U9_GA(T24, T25, T12, T14, plus27_out_aga(T28, T25, T64)) → FACTOR1_IN_GA(.(T64, T12), T14)
times16_in_gga(0, T35, 0) → times16_out_gga(0, T35, 0)
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) → U2_gga(T40, T41, X69, times16_in_gga(T40, T41, T44))
plus27_in_aga(0, T53, T53) → plus27_out_aga(0, T53, T53)
plus27_in_aga(s(T58), T59, s(X96)) → U4_aga(T58, T59, X96, plus27_in_aga(T58, T59, X96))
U1_gga(T40, T41, X69, times16_out_gga(T40, T41, X68)) → times16_out_gga(s(T40), T41, X69)
U2_gga(T40, T41, X69, times16_out_gga(T40, T41, T44)) → U3_gga(T40, T41, X69, plus27_in_aga(T44, T41, X69))
U4_aga(T58, T59, X96, plus27_out_aga(T58, T59, X96)) → plus27_out_aga(s(T58), T59, s(X96))
U3_gga(T40, T41, X69, plus27_out_aga(T44, T41, X69)) → times16_out_gga(s(T40), T41, X69)
FACTOR1_IN_GA(.(s(T24), .(T25, T12))) → U7_GA(T25, T12, times16_in_gga(T24, T25))
U7_GA(T25, T12, times16_out_gga) → U9_GA(T12, plus27_in_aga(T25))
U9_GA(T12, plus27_out_aga(T28, T64)) → FACTOR1_IN_GA(.(T64, T12))
times16_in_gga(0, T35) → times16_out_gga
times16_in_gga(s(T40), T41) → U1_gga(times16_in_gga(T40, T41))
times16_in_gga(s(T40), T41) → U2_gga(T41, times16_in_gga(T40, T41))
plus27_in_aga(T53) → plus27_out_aga(0, T53)
plus27_in_aga(T59) → U4_aga(plus27_in_aga(T59))
U1_gga(times16_out_gga) → times16_out_gga
U2_gga(T41, times16_out_gga) → U3_gga(plus27_in_aga(T41))
U4_aga(plus27_out_aga(T58, X96)) → plus27_out_aga(s(T58), s(X96))
U3_gga(plus27_out_aga(T44, X69)) → times16_out_gga
times16_in_gga(x0, x1)
plus27_in_aga(x0)
U1_gga(x0)
U2_gga(x0, x1)
U4_aga(x0)
U3_gga(x0)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
FACTOR1_IN_GA(.(s(T24), .(T25, T12))) → U7_GA(T25, T12, times16_in_gga(T24, T25))
POL(.(x1, x2)) = 1 + x2
POL(0) = 0
POL(FACTOR1_IN_GA(x1)) = x1
POL(U1_gga(x1)) = 0
POL(U2_gga(x1, x2)) = 0
POL(U3_gga(x1)) = 0
POL(U4_aga(x1)) = 0
POL(U7_GA(x1, x2, x3)) = 1 + x2
POL(U9_GA(x1, x2)) = 1 + x1
POL(plus27_in_aga(x1)) = 0
POL(plus27_out_aga(x1, x2)) = 0
POL(s(x1)) = 0
POL(times16_in_gga(x1, x2)) = 0
POL(times16_out_gga) = 0
U7_GA(T25, T12, times16_out_gga) → U9_GA(T12, plus27_in_aga(T25))
U9_GA(T12, plus27_out_aga(T28, T64)) → FACTOR1_IN_GA(.(T64, T12))
times16_in_gga(0, T35) → times16_out_gga
times16_in_gga(s(T40), T41) → U1_gga(times16_in_gga(T40, T41))
times16_in_gga(s(T40), T41) → U2_gga(T41, times16_in_gga(T40, T41))
plus27_in_aga(T53) → plus27_out_aga(0, T53)
plus27_in_aga(T59) → U4_aga(plus27_in_aga(T59))
U1_gga(times16_out_gga) → times16_out_gga
U2_gga(T41, times16_out_gga) → U3_gga(plus27_in_aga(T41))
U4_aga(plus27_out_aga(T58, X96)) → plus27_out_aga(s(T58), s(X96))
U3_gga(plus27_out_aga(T44, X69)) → times16_out_gga
times16_in_gga(x0, x1)
plus27_in_aga(x0)
U1_gga(x0)
U2_gga(x0, x1)
U4_aga(x0)
U3_gga(x0)
factor1_in_ga(.(T4, []), T4) → factor1_out_ga(.(T4, []), T4)
factor1_in_ga(.(0, .(T19, T12)), T14) → U5_ga(T19, T12, T14, factor1_in_ga(.(0, T12), T14))
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U6_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, X41))
times16_in_gga(0, T35, 0) → times16_out_gga(0, T35, 0)
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) → U2_gga(T40, T41, X69, times16_in_gga(T40, T41, T44))
U2_gga(T40, T41, X69, times16_out_gga(T40, T41, T44)) → U3_gga(T40, T41, X69, plus27_in_aga(T44, T41, X69))
plus27_in_aga(0, T53, T53) → plus27_out_aga(0, T53, T53)
plus27_in_aga(s(T58), T59, s(X96)) → U4_aga(T58, T59, X96, plus27_in_aga(T58, T59, X96))
U4_aga(T58, T59, X96, plus27_out_aga(T58, T59, X96)) → plus27_out_aga(s(T58), T59, s(X96))
U3_gga(T40, T41, X69, plus27_out_aga(T44, T41, X69)) → times16_out_gga(s(T40), T41, X69)
U1_gga(T40, T41, X69, times16_out_gga(T40, T41, X68)) → times16_out_gga(s(T40), T41, X69)
U6_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, X41)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U7_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, T28))
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U8_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, X42))
U8_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, X42)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U9_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, T64))
U9_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, T64)) → U10_ga(T24, T25, T12, T14, factor1_in_ga(.(T64, T12), T14))
U10_ga(T24, T25, T12, T14, factor1_out_ga(.(T64, T12), T14)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U5_ga(T19, T12, T14, factor1_out_ga(.(0, T12), T14)) → factor1_out_ga(.(0, .(T19, T12)), T14)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
factor1_in_ga(.(T4, []), T4) → factor1_out_ga(.(T4, []), T4)
factor1_in_ga(.(0, .(T19, T12)), T14) → U5_ga(T19, T12, T14, factor1_in_ga(.(0, T12), T14))
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U6_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, X41))
times16_in_gga(0, T35, 0) → times16_out_gga(0, T35, 0)
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) → U2_gga(T40, T41, X69, times16_in_gga(T40, T41, T44))
U2_gga(T40, T41, X69, times16_out_gga(T40, T41, T44)) → U3_gga(T40, T41, X69, plus27_in_aga(T44, T41, X69))
plus27_in_aga(0, T53, T53) → plus27_out_aga(0, T53, T53)
plus27_in_aga(s(T58), T59, s(X96)) → U4_aga(T58, T59, X96, plus27_in_aga(T58, T59, X96))
U4_aga(T58, T59, X96, plus27_out_aga(T58, T59, X96)) → plus27_out_aga(s(T58), T59, s(X96))
U3_gga(T40, T41, X69, plus27_out_aga(T44, T41, X69)) → times16_out_gga(s(T40), T41, X69)
U1_gga(T40, T41, X69, times16_out_gga(T40, T41, X68)) → times16_out_gga(s(T40), T41, X69)
U6_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, X41)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U7_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, T28))
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U8_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, X42))
U8_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, X42)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U9_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, T64))
U9_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, T64)) → U10_ga(T24, T25, T12, T14, factor1_in_ga(.(T64, T12), T14))
U10_ga(T24, T25, T12, T14, factor1_out_ga(.(T64, T12), T14)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U5_ga(T19, T12, T14, factor1_out_ga(.(0, T12), T14)) → factor1_out_ga(.(0, .(T19, T12)), T14)
FACTOR1_IN_GA(.(0, .(T19, T12)), T14) → U5_GA(T19, T12, T14, factor1_in_ga(.(0, T12), T14))
FACTOR1_IN_GA(.(0, .(T19, T12)), T14) → FACTOR1_IN_GA(.(0, T12), T14)
FACTOR1_IN_GA(.(s(T24), .(T25, T12)), T14) → U6_GA(T24, T25, T12, T14, times16_in_gga(T24, T25, X41))
FACTOR1_IN_GA(.(s(T24), .(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, times16_in_gga(T40, T41, T44))
U2_GGA(T40, T41, X69, times16_out_gga(T40, T41, T44)) → U3_GGA(T40, T41, X69, plus27_in_aga(T44, T41, X69))
U2_GGA(T40, T41, X69, times16_out_gga(T40, T41, T44)) → PLUS27_IN_AGA(T44, T41, X69)
PLUS27_IN_AGA(s(T58), T59, s(X96)) → U4_AGA(T58, T59, X96, plus27_in_aga(T58, T59, X96))
PLUS27_IN_AGA(s(T58), T59, s(X96)) → PLUS27_IN_AGA(T58, T59, X96)
FACTOR1_IN_GA(.(s(T24), .(T25, T12)), T14) → U7_GA(T24, T25, T12, T14, times16_in_gga(T24, T25, T28))
U7_GA(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U8_GA(T24, T25, T12, T14, plus27_in_aga(T28, T25, X42))
U7_GA(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → PLUS27_IN_AGA(T28, T25, X42)
U7_GA(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U9_GA(T24, T25, T12, T14, plus27_in_aga(T28, T25, T64))
U9_GA(T24, T25, T12, T14, plus27_out_aga(T28, T25, T64)) → U10_GA(T24, T25, T12, T14, factor1_in_ga(.(T64, T12), T14))
U9_GA(T24, T25, T12, T14, plus27_out_aga(T28, T25, T64)) → FACTOR1_IN_GA(.(T64, T12), T14)
factor1_in_ga(.(T4, []), T4) → factor1_out_ga(.(T4, []), T4)
factor1_in_ga(.(0, .(T19, T12)), T14) → U5_ga(T19, T12, T14, factor1_in_ga(.(0, T12), T14))
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U6_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, X41))
times16_in_gga(0, T35, 0) → times16_out_gga(0, T35, 0)
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) → U2_gga(T40, T41, X69, times16_in_gga(T40, T41, T44))
U2_gga(T40, T41, X69, times16_out_gga(T40, T41, T44)) → U3_gga(T40, T41, X69, plus27_in_aga(T44, T41, X69))
plus27_in_aga(0, T53, T53) → plus27_out_aga(0, T53, T53)
plus27_in_aga(s(T58), T59, s(X96)) → U4_aga(T58, T59, X96, plus27_in_aga(T58, T59, X96))
U4_aga(T58, T59, X96, plus27_out_aga(T58, T59, X96)) → plus27_out_aga(s(T58), T59, s(X96))
U3_gga(T40, T41, X69, plus27_out_aga(T44, T41, X69)) → times16_out_gga(s(T40), T41, X69)
U1_gga(T40, T41, X69, times16_out_gga(T40, T41, X68)) → times16_out_gga(s(T40), T41, X69)
U6_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, X41)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U7_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, T28))
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U8_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, X42))
U8_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, X42)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U9_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, T64))
U9_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, T64)) → U10_ga(T24, T25, T12, T14, factor1_in_ga(.(T64, T12), T14))
U10_ga(T24, T25, T12, T14, factor1_out_ga(.(T64, T12), T14)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U5_ga(T19, T12, T14, factor1_out_ga(.(0, T12), T14)) → factor1_out_ga(.(0, .(T19, T12)), T14)
FACTOR1_IN_GA(.(0, .(T19, T12)), T14) → U5_GA(T19, T12, T14, factor1_in_ga(.(0, T12), T14))
FACTOR1_IN_GA(.(0, .(T19, T12)), T14) → FACTOR1_IN_GA(.(0, T12), T14)
FACTOR1_IN_GA(.(s(T24), .(T25, T12)), T14) → U6_GA(T24, T25, T12, T14, times16_in_gga(T24, T25, X41))
FACTOR1_IN_GA(.(s(T24), .(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, times16_in_gga(T40, T41, T44))
U2_GGA(T40, T41, X69, times16_out_gga(T40, T41, T44)) → U3_GGA(T40, T41, X69, plus27_in_aga(T44, T41, X69))
U2_GGA(T40, T41, X69, times16_out_gga(T40, T41, T44)) → PLUS27_IN_AGA(T44, T41, X69)
PLUS27_IN_AGA(s(T58), T59, s(X96)) → U4_AGA(T58, T59, X96, plus27_in_aga(T58, T59, X96))
PLUS27_IN_AGA(s(T58), T59, s(X96)) → PLUS27_IN_AGA(T58, T59, X96)
FACTOR1_IN_GA(.(s(T24), .(T25, T12)), T14) → U7_GA(T24, T25, T12, T14, times16_in_gga(T24, T25, T28))
U7_GA(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U8_GA(T24, T25, T12, T14, plus27_in_aga(T28, T25, X42))
U7_GA(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → PLUS27_IN_AGA(T28, T25, X42)
U7_GA(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U9_GA(T24, T25, T12, T14, plus27_in_aga(T28, T25, T64))
U9_GA(T24, T25, T12, T14, plus27_out_aga(T28, T25, T64)) → U10_GA(T24, T25, T12, T14, factor1_in_ga(.(T64, T12), T14))
U9_GA(T24, T25, T12, T14, plus27_out_aga(T28, T25, T64)) → FACTOR1_IN_GA(.(T64, T12), T14)
factor1_in_ga(.(T4, []), T4) → factor1_out_ga(.(T4, []), T4)
factor1_in_ga(.(0, .(T19, T12)), T14) → U5_ga(T19, T12, T14, factor1_in_ga(.(0, T12), T14))
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U6_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, X41))
times16_in_gga(0, T35, 0) → times16_out_gga(0, T35, 0)
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) → U2_gga(T40, T41, X69, times16_in_gga(T40, T41, T44))
U2_gga(T40, T41, X69, times16_out_gga(T40, T41, T44)) → U3_gga(T40, T41, X69, plus27_in_aga(T44, T41, X69))
plus27_in_aga(0, T53, T53) → plus27_out_aga(0, T53, T53)
plus27_in_aga(s(T58), T59, s(X96)) → U4_aga(T58, T59, X96, plus27_in_aga(T58, T59, X96))
U4_aga(T58, T59, X96, plus27_out_aga(T58, T59, X96)) → plus27_out_aga(s(T58), T59, s(X96))
U3_gga(T40, T41, X69, plus27_out_aga(T44, T41, X69)) → times16_out_gga(s(T40), T41, X69)
U1_gga(T40, T41, X69, times16_out_gga(T40, T41, X68)) → times16_out_gga(s(T40), T41, X69)
U6_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, X41)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U7_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, T28))
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U8_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, X42))
U8_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, X42)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U9_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, T64))
U9_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, T64)) → U10_ga(T24, T25, T12, T14, factor1_in_ga(.(T64, T12), T14))
U10_ga(T24, T25, T12, T14, factor1_out_ga(.(T64, T12), T14)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U5_ga(T19, T12, T14, factor1_out_ga(.(0, T12), T14)) → factor1_out_ga(.(0, .(T19, T12)), T14)
PLUS27_IN_AGA(s(T58), T59, s(X96)) → PLUS27_IN_AGA(T58, T59, X96)
factor1_in_ga(.(T4, []), T4) → factor1_out_ga(.(T4, []), T4)
factor1_in_ga(.(0, .(T19, T12)), T14) → U5_ga(T19, T12, T14, factor1_in_ga(.(0, T12), T14))
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U6_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, X41))
times16_in_gga(0, T35, 0) → times16_out_gga(0, T35, 0)
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) → U2_gga(T40, T41, X69, times16_in_gga(T40, T41, T44))
U2_gga(T40, T41, X69, times16_out_gga(T40, T41, T44)) → U3_gga(T40, T41, X69, plus27_in_aga(T44, T41, X69))
plus27_in_aga(0, T53, T53) → plus27_out_aga(0, T53, T53)
plus27_in_aga(s(T58), T59, s(X96)) → U4_aga(T58, T59, X96, plus27_in_aga(T58, T59, X96))
U4_aga(T58, T59, X96, plus27_out_aga(T58, T59, X96)) → plus27_out_aga(s(T58), T59, s(X96))
U3_gga(T40, T41, X69, plus27_out_aga(T44, T41, X69)) → times16_out_gga(s(T40), T41, X69)
U1_gga(T40, T41, X69, times16_out_gga(T40, T41, X68)) → times16_out_gga(s(T40), T41, X69)
U6_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, X41)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U7_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, T28))
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U8_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, X42))
U8_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, X42)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U9_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, T64))
U9_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, T64)) → U10_ga(T24, T25, T12, T14, factor1_in_ga(.(T64, T12), T14))
U10_ga(T24, T25, T12, T14, factor1_out_ga(.(T64, T12), T14)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U5_ga(T19, T12, T14, factor1_out_ga(.(0, T12), T14)) → factor1_out_ga(.(0, .(T19, T12)), T14)
PLUS27_IN_AGA(s(T58), T59, s(X96)) → PLUS27_IN_AGA(T58, T59, X96)
PLUS27_IN_AGA(T59) → PLUS27_IN_AGA(T59)
TIMES16_IN_GGA(s(T40), T41, X69) → TIMES16_IN_GGA(T40, T41, X68)
factor1_in_ga(.(T4, []), T4) → factor1_out_ga(.(T4, []), T4)
factor1_in_ga(.(0, .(T19, T12)), T14) → U5_ga(T19, T12, T14, factor1_in_ga(.(0, T12), T14))
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U6_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, X41))
times16_in_gga(0, T35, 0) → times16_out_gga(0, T35, 0)
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) → U2_gga(T40, T41, X69, times16_in_gga(T40, T41, T44))
U2_gga(T40, T41, X69, times16_out_gga(T40, T41, T44)) → U3_gga(T40, T41, X69, plus27_in_aga(T44, T41, X69))
plus27_in_aga(0, T53, T53) → plus27_out_aga(0, T53, T53)
plus27_in_aga(s(T58), T59, s(X96)) → U4_aga(T58, T59, X96, plus27_in_aga(T58, T59, X96))
U4_aga(T58, T59, X96, plus27_out_aga(T58, T59, X96)) → plus27_out_aga(s(T58), T59, s(X96))
U3_gga(T40, T41, X69, plus27_out_aga(T44, T41, X69)) → times16_out_gga(s(T40), T41, X69)
U1_gga(T40, T41, X69, times16_out_gga(T40, T41, X68)) → times16_out_gga(s(T40), T41, X69)
U6_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, X41)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U7_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, T28))
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U8_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, X42))
U8_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, X42)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U9_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, T64))
U9_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, T64)) → U10_ga(T24, T25, T12, T14, factor1_in_ga(.(T64, T12), T14))
U10_ga(T24, T25, T12, T14, factor1_out_ga(.(T64, T12), T14)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U5_ga(T19, T12, T14, factor1_out_ga(.(0, T12), T14)) → factor1_out_ga(.(0, .(T19, T12)), T14)
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(.(0, .(T19, T12)), T14) → FACTOR1_IN_GA(.(0, T12), T14)
factor1_in_ga(.(T4, []), T4) → factor1_out_ga(.(T4, []), T4)
factor1_in_ga(.(0, .(T19, T12)), T14) → U5_ga(T19, T12, T14, factor1_in_ga(.(0, T12), T14))
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U6_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, X41))
times16_in_gga(0, T35, 0) → times16_out_gga(0, T35, 0)
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) → U2_gga(T40, T41, X69, times16_in_gga(T40, T41, T44))
U2_gga(T40, T41, X69, times16_out_gga(T40, T41, T44)) → U3_gga(T40, T41, X69, plus27_in_aga(T44, T41, X69))
plus27_in_aga(0, T53, T53) → plus27_out_aga(0, T53, T53)
plus27_in_aga(s(T58), T59, s(X96)) → U4_aga(T58, T59, X96, plus27_in_aga(T58, T59, X96))
U4_aga(T58, T59, X96, plus27_out_aga(T58, T59, X96)) → plus27_out_aga(s(T58), T59, s(X96))
U3_gga(T40, T41, X69, plus27_out_aga(T44, T41, X69)) → times16_out_gga(s(T40), T41, X69)
U1_gga(T40, T41, X69, times16_out_gga(T40, T41, X68)) → times16_out_gga(s(T40), T41, X69)
U6_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, X41)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U7_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, T28))
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U8_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, X42))
U8_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, X42)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U9_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, T64))
U9_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, T64)) → U10_ga(T24, T25, T12, T14, factor1_in_ga(.(T64, T12), T14))
U10_ga(T24, T25, T12, T14, factor1_out_ga(.(T64, T12), T14)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U5_ga(T19, T12, T14, factor1_out_ga(.(0, T12), T14)) → factor1_out_ga(.(0, .(T19, T12)), T14)
FACTOR1_IN_GA(.(0, .(T19, T12)), T14) → FACTOR1_IN_GA(.(0, T12), T14)
FACTOR1_IN_GA(.(0, .(T19, T12))) → FACTOR1_IN_GA(.(0, T12))
FACTOR1_IN_GA(.(0, .(T19, T12))) → FACTOR1_IN_GA(.(0, T12))
POL(.(x1, x2)) = 1 + x1 + x2
POL(0) = 0
POL(FACTOR1_IN_GA(x1)) = x1
FACTOR1_IN_GA(.(s(T24), .(T25, T12)), T14) → U7_GA(T24, T25, T12, T14, times16_in_gga(T24, T25, T28))
U7_GA(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U9_GA(T24, T25, T12, T14, plus27_in_aga(T28, T25, T64))
U9_GA(T24, T25, T12, T14, plus27_out_aga(T28, T25, T64)) → FACTOR1_IN_GA(.(T64, T12), T14)
factor1_in_ga(.(T4, []), T4) → factor1_out_ga(.(T4, []), T4)
factor1_in_ga(.(0, .(T19, T12)), T14) → U5_ga(T19, T12, T14, factor1_in_ga(.(0, T12), T14))
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U6_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, X41))
times16_in_gga(0, T35, 0) → times16_out_gga(0, T35, 0)
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) → U2_gga(T40, T41, X69, times16_in_gga(T40, T41, T44))
U2_gga(T40, T41, X69, times16_out_gga(T40, T41, T44)) → U3_gga(T40, T41, X69, plus27_in_aga(T44, T41, X69))
plus27_in_aga(0, T53, T53) → plus27_out_aga(0, T53, T53)
plus27_in_aga(s(T58), T59, s(X96)) → U4_aga(T58, T59, X96, plus27_in_aga(T58, T59, X96))
U4_aga(T58, T59, X96, plus27_out_aga(T58, T59, X96)) → plus27_out_aga(s(T58), T59, s(X96))
U3_gga(T40, T41, X69, plus27_out_aga(T44, T41, X69)) → times16_out_gga(s(T40), T41, X69)
U1_gga(T40, T41, X69, times16_out_gga(T40, T41, X68)) → times16_out_gga(s(T40), T41, X69)
U6_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, X41)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
factor1_in_ga(.(s(T24), .(T25, T12)), T14) → U7_ga(T24, T25, T12, T14, times16_in_gga(T24, T25, T28))
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U8_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, X42))
U8_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, X42)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U7_ga(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U9_ga(T24, T25, T12, T14, plus27_in_aga(T28, T25, T64))
U9_ga(T24, T25, T12, T14, plus27_out_aga(T28, T25, T64)) → U10_ga(T24, T25, T12, T14, factor1_in_ga(.(T64, T12), T14))
U10_ga(T24, T25, T12, T14, factor1_out_ga(.(T64, T12), T14)) → factor1_out_ga(.(s(T24), .(T25, T12)), T14)
U5_ga(T19, T12, T14, factor1_out_ga(.(0, T12), T14)) → factor1_out_ga(.(0, .(T19, T12)), T14)
FACTOR1_IN_GA(.(s(T24), .(T25, T12)), T14) → U7_GA(T24, T25, T12, T14, times16_in_gga(T24, T25, T28))
U7_GA(T24, T25, T12, T14, times16_out_gga(T24, T25, T28)) → U9_GA(T24, T25, T12, T14, plus27_in_aga(T28, T25, T64))
U9_GA(T24, T25, T12, T14, plus27_out_aga(T28, T25, T64)) → FACTOR1_IN_GA(.(T64, T12), T14)
times16_in_gga(0, T35, 0) → times16_out_gga(0, T35, 0)
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) → U2_gga(T40, T41, X69, times16_in_gga(T40, T41, T44))
plus27_in_aga(0, T53, T53) → plus27_out_aga(0, T53, T53)
plus27_in_aga(s(T58), T59, s(X96)) → U4_aga(T58, T59, X96, plus27_in_aga(T58, T59, X96))
U1_gga(T40, T41, X69, times16_out_gga(T40, T41, X68)) → times16_out_gga(s(T40), T41, X69)
U2_gga(T40, T41, X69, times16_out_gga(T40, T41, T44)) → U3_gga(T40, T41, X69, plus27_in_aga(T44, T41, X69))
U4_aga(T58, T59, X96, plus27_out_aga(T58, T59, X96)) → plus27_out_aga(s(T58), T59, s(X96))
U3_gga(T40, T41, X69, plus27_out_aga(T44, T41, X69)) → times16_out_gga(s(T40), T41, X69)
FACTOR1_IN_GA(.(s(T24), .(T25, T12))) → U7_GA(T24, T25, T12, times16_in_gga(T24, T25))
U7_GA(T24, T25, T12, times16_out_gga(T24, T25)) → U9_GA(T24, T25, T12, plus27_in_aga(T25))
U9_GA(T24, T25, T12, plus27_out_aga(T28, T25, T64)) → FACTOR1_IN_GA(.(T64, T12))
times16_in_gga(0, T35) → times16_out_gga(0, T35)
times16_in_gga(s(T40), T41) → U1_gga(T40, T41, times16_in_gga(T40, T41))
times16_in_gga(s(T40), T41) → U2_gga(T40, T41, times16_in_gga(T40, T41))
plus27_in_aga(T53) → plus27_out_aga(0, T53, T53)
plus27_in_aga(T59) → U4_aga(T59, plus27_in_aga(T59))
U1_gga(T40, T41, times16_out_gga(T40, T41)) → times16_out_gga(s(T40), T41)
U2_gga(T40, T41, times16_out_gga(T40, T41)) → U3_gga(T40, T41, plus27_in_aga(T41))
U4_aga(T59, plus27_out_aga(T58, T59, X96)) → plus27_out_aga(s(T58), T59, s(X96))
U3_gga(T40, T41, plus27_out_aga(T44, T41, X69)) → times16_out_gga(s(T40), T41)
times16_in_gga(x0, x1)
plus27_in_aga(x0)
U1_gga(x0, x1, x2)
U2_gga(x0, x1, x2)
U4_aga(x0, x1)
U3_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(.(s(T24), .(T25, T12))) → U7_GA(T24, T25, T12, times16_in_gga(T24, T25))
POL(.(x1, x2)) = 1 + x2
POL(0) = 0
POL(FACTOR1_IN_GA(x1)) = x1
POL(U1_gga(x1, x2, x3)) = 0
POL(U2_gga(x1, x2, x3)) = 0
POL(U3_gga(x1, x2, x3)) = 0
POL(U4_aga(x1, x2)) = 0
POL(U7_GA(x1, x2, x3, x4)) = 1 + x3
POL(U9_GA(x1, x2, x3, x4)) = 1 + x3
POL(plus27_in_aga(x1)) = 0
POL(plus27_out_aga(x1, x2, x3)) = 0
POL(s(x1)) = 0
POL(times16_in_gga(x1, x2)) = 0
POL(times16_out_gga(x1, x2)) = 0
U7_GA(T24, T25, T12, times16_out_gga(T24, T25)) → U9_GA(T24, T25, T12, plus27_in_aga(T25))
U9_GA(T24, T25, T12, plus27_out_aga(T28, T25, T64)) → FACTOR1_IN_GA(.(T64, T12))
times16_in_gga(0, T35) → times16_out_gga(0, T35)
times16_in_gga(s(T40), T41) → U1_gga(T40, T41, times16_in_gga(T40, T41))
times16_in_gga(s(T40), T41) → U2_gga(T40, T41, times16_in_gga(T40, T41))
plus27_in_aga(T53) → plus27_out_aga(0, T53, T53)
plus27_in_aga(T59) → U4_aga(T59, plus27_in_aga(T59))
U1_gga(T40, T41, times16_out_gga(T40, T41)) → times16_out_gga(s(T40), T41)
U2_gga(T40, T41, times16_out_gga(T40, T41)) → U3_gga(T40, T41, plus27_in_aga(T41))
U4_aga(T59, plus27_out_aga(T58, T59, X96)) → plus27_out_aga(s(T58), T59, s(X96))
U3_gga(T40, T41, plus27_out_aga(T44, T41, X69)) → times16_out_gga(s(T40), T41)
times16_in_gga(x0, x1)
plus27_in_aga(x0)
U1_gga(x0, x1, x2)
U2_gga(x0, x1, x2)
U4_aga(x0, x1)
U3_gga(x0, x1, x2)