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 QDPSizeChangeProof (⇔)
↳15 YES
↳16 PiDP
↳17 UsableRulesProof (⇔)
↳18 PiDP
↳19 PiDPToQDPProof (⇐)
↳20 QDP
↳21 QDPSizeChangeProof (⇔)
↳22 YES
max1_in_gaa(s(T13), 0, s(T13)) → max1_out_gaa(s(T13), 0, s(T13))
max1_in_gaa(s(T23), s(T24), s(T23)) → U3_gaa(T23, T24, less13_in_ag(T24, T23))
less13_in_ag(0, s(T31)) → less13_out_ag(0, s(T31))
less13_in_ag(s(T38), s(T37)) → U1_ag(T38, T37, less13_in_ag(T38, T37))
U1_ag(T38, T37, less13_out_ag(T38, T37)) → less13_out_ag(s(T38), s(T37))
U3_gaa(T23, T24, less13_out_ag(T24, T23)) → max1_out_gaa(s(T23), s(T24), s(T23))
max1_in_gaa(0, T54, T54) → max1_out_gaa(0, T54, T54)
max1_in_gaa(s(T59), T61, T61) → U4_gaa(T59, T61, less32_in_ga(T59, T61))
less32_in_ga(0, s(T68)) → less32_out_ga(0, s(T68))
less32_in_ga(s(T73), s(T75)) → U2_ga(T73, T75, less32_in_ga(T73, T75))
U2_ga(T73, T75, less32_out_ga(T73, T75)) → less32_out_ga(s(T73), s(T75))
U4_gaa(T59, T61, less32_out_ga(T59, T61)) → max1_out_gaa(s(T59), T61, T61)
max1_in_gaa(s(T92), T94, T94) → U5_gaa(T92, T94, less32_in_ga(T92, T94))
U5_gaa(T92, T94, less32_out_ga(T92, T94)) → max1_out_gaa(s(T92), T94, T94)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
max1_in_gaa(s(T13), 0, s(T13)) → max1_out_gaa(s(T13), 0, s(T13))
max1_in_gaa(s(T23), s(T24), s(T23)) → U3_gaa(T23, T24, less13_in_ag(T24, T23))
less13_in_ag(0, s(T31)) → less13_out_ag(0, s(T31))
less13_in_ag(s(T38), s(T37)) → U1_ag(T38, T37, less13_in_ag(T38, T37))
U1_ag(T38, T37, less13_out_ag(T38, T37)) → less13_out_ag(s(T38), s(T37))
U3_gaa(T23, T24, less13_out_ag(T24, T23)) → max1_out_gaa(s(T23), s(T24), s(T23))
max1_in_gaa(0, T54, T54) → max1_out_gaa(0, T54, T54)
max1_in_gaa(s(T59), T61, T61) → U4_gaa(T59, T61, less32_in_ga(T59, T61))
less32_in_ga(0, s(T68)) → less32_out_ga(0, s(T68))
less32_in_ga(s(T73), s(T75)) → U2_ga(T73, T75, less32_in_ga(T73, T75))
U2_ga(T73, T75, less32_out_ga(T73, T75)) → less32_out_ga(s(T73), s(T75))
U4_gaa(T59, T61, less32_out_ga(T59, T61)) → max1_out_gaa(s(T59), T61, T61)
max1_in_gaa(s(T92), T94, T94) → U5_gaa(T92, T94, less32_in_ga(T92, T94))
U5_gaa(T92, T94, less32_out_ga(T92, T94)) → max1_out_gaa(s(T92), T94, T94)
MAX1_IN_GAA(s(T23), s(T24), s(T23)) → U3_GAA(T23, T24, less13_in_ag(T24, T23))
MAX1_IN_GAA(s(T23), s(T24), s(T23)) → LESS13_IN_AG(T24, T23)
LESS13_IN_AG(s(T38), s(T37)) → U1_AG(T38, T37, less13_in_ag(T38, T37))
LESS13_IN_AG(s(T38), s(T37)) → LESS13_IN_AG(T38, T37)
MAX1_IN_GAA(s(T59), T61, T61) → U4_GAA(T59, T61, less32_in_ga(T59, T61))
MAX1_IN_GAA(s(T59), T61, T61) → LESS32_IN_GA(T59, T61)
LESS32_IN_GA(s(T73), s(T75)) → U2_GA(T73, T75, less32_in_ga(T73, T75))
LESS32_IN_GA(s(T73), s(T75)) → LESS32_IN_GA(T73, T75)
MAX1_IN_GAA(s(T92), T94, T94) → U5_GAA(T92, T94, less32_in_ga(T92, T94))
max1_in_gaa(s(T13), 0, s(T13)) → max1_out_gaa(s(T13), 0, s(T13))
max1_in_gaa(s(T23), s(T24), s(T23)) → U3_gaa(T23, T24, less13_in_ag(T24, T23))
less13_in_ag(0, s(T31)) → less13_out_ag(0, s(T31))
less13_in_ag(s(T38), s(T37)) → U1_ag(T38, T37, less13_in_ag(T38, T37))
U1_ag(T38, T37, less13_out_ag(T38, T37)) → less13_out_ag(s(T38), s(T37))
U3_gaa(T23, T24, less13_out_ag(T24, T23)) → max1_out_gaa(s(T23), s(T24), s(T23))
max1_in_gaa(0, T54, T54) → max1_out_gaa(0, T54, T54)
max1_in_gaa(s(T59), T61, T61) → U4_gaa(T59, T61, less32_in_ga(T59, T61))
less32_in_ga(0, s(T68)) → less32_out_ga(0, s(T68))
less32_in_ga(s(T73), s(T75)) → U2_ga(T73, T75, less32_in_ga(T73, T75))
U2_ga(T73, T75, less32_out_ga(T73, T75)) → less32_out_ga(s(T73), s(T75))
U4_gaa(T59, T61, less32_out_ga(T59, T61)) → max1_out_gaa(s(T59), T61, T61)
max1_in_gaa(s(T92), T94, T94) → U5_gaa(T92, T94, less32_in_ga(T92, T94))
U5_gaa(T92, T94, less32_out_ga(T92, T94)) → max1_out_gaa(s(T92), T94, T94)
MAX1_IN_GAA(s(T23), s(T24), s(T23)) → U3_GAA(T23, T24, less13_in_ag(T24, T23))
MAX1_IN_GAA(s(T23), s(T24), s(T23)) → LESS13_IN_AG(T24, T23)
LESS13_IN_AG(s(T38), s(T37)) → U1_AG(T38, T37, less13_in_ag(T38, T37))
LESS13_IN_AG(s(T38), s(T37)) → LESS13_IN_AG(T38, T37)
MAX1_IN_GAA(s(T59), T61, T61) → U4_GAA(T59, T61, less32_in_ga(T59, T61))
MAX1_IN_GAA(s(T59), T61, T61) → LESS32_IN_GA(T59, T61)
LESS32_IN_GA(s(T73), s(T75)) → U2_GA(T73, T75, less32_in_ga(T73, T75))
LESS32_IN_GA(s(T73), s(T75)) → LESS32_IN_GA(T73, T75)
MAX1_IN_GAA(s(T92), T94, T94) → U5_GAA(T92, T94, less32_in_ga(T92, T94))
max1_in_gaa(s(T13), 0, s(T13)) → max1_out_gaa(s(T13), 0, s(T13))
max1_in_gaa(s(T23), s(T24), s(T23)) → U3_gaa(T23, T24, less13_in_ag(T24, T23))
less13_in_ag(0, s(T31)) → less13_out_ag(0, s(T31))
less13_in_ag(s(T38), s(T37)) → U1_ag(T38, T37, less13_in_ag(T38, T37))
U1_ag(T38, T37, less13_out_ag(T38, T37)) → less13_out_ag(s(T38), s(T37))
U3_gaa(T23, T24, less13_out_ag(T24, T23)) → max1_out_gaa(s(T23), s(T24), s(T23))
max1_in_gaa(0, T54, T54) → max1_out_gaa(0, T54, T54)
max1_in_gaa(s(T59), T61, T61) → U4_gaa(T59, T61, less32_in_ga(T59, T61))
less32_in_ga(0, s(T68)) → less32_out_ga(0, s(T68))
less32_in_ga(s(T73), s(T75)) → U2_ga(T73, T75, less32_in_ga(T73, T75))
U2_ga(T73, T75, less32_out_ga(T73, T75)) → less32_out_ga(s(T73), s(T75))
U4_gaa(T59, T61, less32_out_ga(T59, T61)) → max1_out_gaa(s(T59), T61, T61)
max1_in_gaa(s(T92), T94, T94) → U5_gaa(T92, T94, less32_in_ga(T92, T94))
U5_gaa(T92, T94, less32_out_ga(T92, T94)) → max1_out_gaa(s(T92), T94, T94)
LESS32_IN_GA(s(T73), s(T75)) → LESS32_IN_GA(T73, T75)
max1_in_gaa(s(T13), 0, s(T13)) → max1_out_gaa(s(T13), 0, s(T13))
max1_in_gaa(s(T23), s(T24), s(T23)) → U3_gaa(T23, T24, less13_in_ag(T24, T23))
less13_in_ag(0, s(T31)) → less13_out_ag(0, s(T31))
less13_in_ag(s(T38), s(T37)) → U1_ag(T38, T37, less13_in_ag(T38, T37))
U1_ag(T38, T37, less13_out_ag(T38, T37)) → less13_out_ag(s(T38), s(T37))
U3_gaa(T23, T24, less13_out_ag(T24, T23)) → max1_out_gaa(s(T23), s(T24), s(T23))
max1_in_gaa(0, T54, T54) → max1_out_gaa(0, T54, T54)
max1_in_gaa(s(T59), T61, T61) → U4_gaa(T59, T61, less32_in_ga(T59, T61))
less32_in_ga(0, s(T68)) → less32_out_ga(0, s(T68))
less32_in_ga(s(T73), s(T75)) → U2_ga(T73, T75, less32_in_ga(T73, T75))
U2_ga(T73, T75, less32_out_ga(T73, T75)) → less32_out_ga(s(T73), s(T75))
U4_gaa(T59, T61, less32_out_ga(T59, T61)) → max1_out_gaa(s(T59), T61, T61)
max1_in_gaa(s(T92), T94, T94) → U5_gaa(T92, T94, less32_in_ga(T92, T94))
U5_gaa(T92, T94, less32_out_ga(T92, T94)) → max1_out_gaa(s(T92), T94, T94)
LESS32_IN_GA(s(T73), s(T75)) → LESS32_IN_GA(T73, T75)
LESS32_IN_GA(s(T73)) → LESS32_IN_GA(T73)
From the DPs we obtained the following set of size-change graphs:
LESS13_IN_AG(s(T38), s(T37)) → LESS13_IN_AG(T38, T37)
max1_in_gaa(s(T13), 0, s(T13)) → max1_out_gaa(s(T13), 0, s(T13))
max1_in_gaa(s(T23), s(T24), s(T23)) → U3_gaa(T23, T24, less13_in_ag(T24, T23))
less13_in_ag(0, s(T31)) → less13_out_ag(0, s(T31))
less13_in_ag(s(T38), s(T37)) → U1_ag(T38, T37, less13_in_ag(T38, T37))
U1_ag(T38, T37, less13_out_ag(T38, T37)) → less13_out_ag(s(T38), s(T37))
U3_gaa(T23, T24, less13_out_ag(T24, T23)) → max1_out_gaa(s(T23), s(T24), s(T23))
max1_in_gaa(0, T54, T54) → max1_out_gaa(0, T54, T54)
max1_in_gaa(s(T59), T61, T61) → U4_gaa(T59, T61, less32_in_ga(T59, T61))
less32_in_ga(0, s(T68)) → less32_out_ga(0, s(T68))
less32_in_ga(s(T73), s(T75)) → U2_ga(T73, T75, less32_in_ga(T73, T75))
U2_ga(T73, T75, less32_out_ga(T73, T75)) → less32_out_ga(s(T73), s(T75))
U4_gaa(T59, T61, less32_out_ga(T59, T61)) → max1_out_gaa(s(T59), T61, T61)
max1_in_gaa(s(T92), T94, T94) → U5_gaa(T92, T94, less32_in_ga(T92, T94))
U5_gaa(T92, T94, less32_out_ga(T92, T94)) → max1_out_gaa(s(T92), T94, T94)
LESS13_IN_AG(s(T38), s(T37)) → LESS13_IN_AG(T38, T37)
LESS13_IN_AG(s(T37)) → LESS13_IN_AG(T37)
From the DPs we obtained the following set of size-change graphs: