0 Prolog
↳1 PrologToDTProblemTransformerProof (⇐)
↳2 TRIPLES
↳3 UndefinedPredicateInTriplesTransformerProof (⇐)
↳4 TRIPLES
↳5 TriplesToPiDPProof (⇐)
↳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
↳23 PiDP
↳24 PiDPToQDPProof (⇐)
↳25 QDP
↳26 QDPSizeChangeProof (⇔)
↳27 YES
FRONT1_IN_GA(tree(T25, void, tree(T42, T43, T44)), T29) → U10_GA(T25, T42, T43, T44, T29, p54_in_gagaa(T43, X84, T44, X85, X86))
FRONT1_IN_GA(tree(T25, void, tree(T42, T43, T44)), T29) → P54_IN_GAGAA(T43, X84, T44, X85, X86)
P54_IN_GAGAA(T43, X84, T44, X85, X86) → U1_GAGAA(T43, X84, T44, X85, X86, front56_in_ga(T43, X84))
P54_IN_GAGAA(T43, X84, T44, X85, X86) → FRONT56_IN_GA(T43, X84)
FRONT56_IN_GA(tree(T57, T58, T59), X115) → U7_GA(T57, T58, T59, X115, p54_in_gagaa(T58, X113, T59, X114, X115))
FRONT56_IN_GA(tree(T57, T58, T59), X115) → P54_IN_GAGAA(T58, X113, T59, X114, X115)
P54_IN_GAGAA(T43, T45, T44, X85, X86) → U2_GAGAA(T43, T45, T44, X85, X86, frontc56_in_ga(T43, T45))
U2_GAGAA(T43, T45, T44, X85, X86, frontc56_out_ga(T43, T45)) → U3_GAGAA(T43, T45, T44, X85, X86, front56_in_ga(T44, X85))
U2_GAGAA(T43, T45, T44, X85, X86, frontc56_out_ga(T43, T45)) → FRONT56_IN_GA(T44, X85)
P54_IN_GAGAA(T43, T45, T44, T60, X86) → U4_GAGAA(T43, T45, T44, T60, X86, frontc56_in_ga(T43, T45))
U4_GAGAA(T43, T45, T44, T60, X86, frontc56_out_ga(T43, T45)) → U5_GAGAA(T43, T45, T44, T60, X86, frontc56_in_ga(T44, T60))
U5_GAGAA(T43, T45, T44, T60, X86, frontc56_out_ga(T44, T60)) → U6_GAGAA(T43, T45, T44, T60, X86, app72_in_gga(T45, T60, X86))
U5_GAGAA(T43, T45, T44, T60, X86, frontc56_out_ga(T44, T60)) → APP72_IN_GGA(T45, T60, X86)
APP72_IN_GGA(.(T74, T75), T76, .(T74, X142)) → U8_GGA(T74, T75, T76, X142, app72_in_gga(T75, T76, X142))
APP72_IN_GGA(.(T74, T75), T76, .(T74, X142)) → APP72_IN_GGA(T75, T76, X142)
FRONT1_IN_GA(tree(T25, tree(T85, void, void), T27), T29) → U11_GA(T25, T85, T27, T29, front56_in_ga(T27, X57))
FRONT1_IN_GA(tree(T25, tree(T85, void, void), T27), T29) → FRONT56_IN_GA(T27, X57)
FRONT1_IN_GA(tree(T25, tree(T108, T109, T110), T27), T29) → U12_GA(T25, T108, T109, T110, T27, T29, front56_in_ga(T109, X198))
FRONT1_IN_GA(tree(T25, tree(T108, T109, T110), T27), T29) → FRONT56_IN_GA(T109, X198)
FRONT1_IN_GA(tree(T25, tree(T108, T109, T110), T27), T29) → U13_GA(T25, T108, T109, T110, T27, T29, frontc56_in_ga(T109, T111))
U13_GA(T25, T108, T109, T110, T27, T29, frontc56_out_ga(T109, T111)) → U14_GA(T25, T108, T109, T110, T27, T29, front56_in_ga(T110, X199))
U13_GA(T25, T108, T109, T110, T27, T29, frontc56_out_ga(T109, T111)) → FRONT56_IN_GA(T110, X199)
U13_GA(T25, T108, T109, T110, T27, T29, frontc56_out_ga(T109, T111)) → U15_GA(T25, T108, T109, T110, T27, T29, T111, frontc56_in_ga(T110, T112))
U15_GA(T25, T108, T109, T110, T27, T29, T111, frontc56_out_ga(T110, T112)) → U16_GA(T25, T108, T109, T110, T27, T29, app72_in_gga(T111, T112, X200))
U15_GA(T25, T108, T109, T110, T27, T29, T111, frontc56_out_ga(T110, T112)) → APP72_IN_GGA(T111, T112, X200)
U15_GA(T25, T108, T109, T110, T27, T29, T111, frontc56_out_ga(T110, T112)) → U17_GA(T25, T108, T109, T110, T27, T29, appc72_in_gga(T111, T112, T115))
U17_GA(T25, T108, T109, T110, T27, T29, appc72_out_gga(T111, T112, T115)) → U18_GA(T25, T108, T109, T110, T27, T29, front56_in_ga(T27, X57))
U17_GA(T25, T108, T109, T110, T27, T29, appc72_out_gga(T111, T112, T115)) → FRONT56_IN_GA(T27, X57)
U17_GA(T25, T108, T109, T110, T27, T29, appc72_out_gga(T111, T112, T115)) → U19_GA(T25, T108, T109, T110, T27, T29, T115, frontc56_in_ga(T27, T118))
U19_GA(T25, T108, T109, T110, T27, T29, T115, frontc56_out_ga(T27, T118)) → U20_GA(T25, T108, T109, T110, T27, T29, app100_in_gga(T115, T118, T29))
U19_GA(T25, T108, T109, T110, T27, T29, T115, frontc56_out_ga(T27, T118)) → APP100_IN_GGA(T115, T118, T29)
APP100_IN_GGA(.(T134, T135), T136, .(T134, T138)) → U9_GGA(T134, T135, T136, T138, app100_in_gga(T135, T136, T138))
APP100_IN_GGA(.(T134, T135), T136, .(T134, T138)) → APP100_IN_GGA(T135, T136, T138)
frontc56_in_ga(void, []) → frontc56_out_ga(void, [])
frontc56_in_ga(tree(T50, void, void), .(T50, [])) → frontc56_out_ga(tree(T50, void, void), .(T50, []))
frontc56_in_ga(tree(T57, T58, T59), X115) → U25_ga(T57, T58, T59, X115, qc54_in_gagaa(T58, X113, T59, X114, X115))
qc54_in_gagaa(T43, T45, T44, T60, X86) → U22_gagaa(T43, T45, T44, T60, X86, frontc56_in_ga(T43, T45))
U22_gagaa(T43, T45, T44, T60, X86, frontc56_out_ga(T43, T45)) → U23_gagaa(T43, T45, T44, T60, X86, frontc56_in_ga(T44, T60))
U23_gagaa(T43, T45, T44, T60, X86, frontc56_out_ga(T44, T60)) → U24_gagaa(T43, T45, T44, T60, X86, appc72_in_gga(T45, T60, X86))
appc72_in_gga([], T67, T67) → appc72_out_gga([], T67, T67)
appc72_in_gga(.(T74, T75), T76, .(T74, X142)) → U26_gga(T74, T75, T76, X142, appc72_in_gga(T75, T76, X142))
U26_gga(T74, T75, T76, X142, appc72_out_gga(T75, T76, X142)) → appc72_out_gga(.(T74, T75), T76, .(T74, X142))
U24_gagaa(T43, T45, T44, T60, X86, appc72_out_gga(T45, T60, X86)) → qc54_out_gagaa(T43, T45, T44, T60, X86)
U25_ga(T57, T58, T59, X115, qc54_out_gagaa(T58, X113, T59, X114, X115)) → frontc56_out_ga(tree(T57, T58, T59), X115)
Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES
FRONT1_IN_GA(tree(T25, void, tree(T42, T43, T44)), T29) → U10_GA(T25, T42, T43, T44, T29, p54_in_gagaa(T43, X84, T44, X85, X86))
FRONT1_IN_GA(tree(T25, void, tree(T42, T43, T44)), T29) → P54_IN_GAGAA(T43, X84, T44, X85, X86)
P54_IN_GAGAA(T43, X84, T44, X85, X86) → U1_GAGAA(T43, X84, T44, X85, X86, front56_in_ga(T43, X84))
P54_IN_GAGAA(T43, X84, T44, X85, X86) → FRONT56_IN_GA(T43, X84)
FRONT56_IN_GA(tree(T57, T58, T59), X115) → U7_GA(T57, T58, T59, X115, p54_in_gagaa(T58, X113, T59, X114, X115))
FRONT56_IN_GA(tree(T57, T58, T59), X115) → P54_IN_GAGAA(T58, X113, T59, X114, X115)
P54_IN_GAGAA(T43, T45, T44, X85, X86) → U2_GAGAA(T43, T45, T44, X85, X86, frontc56_in_ga(T43, T45))
U2_GAGAA(T43, T45, T44, X85, X86, frontc56_out_ga(T43, T45)) → U3_GAGAA(T43, T45, T44, X85, X86, front56_in_ga(T44, X85))
U2_GAGAA(T43, T45, T44, X85, X86, frontc56_out_ga(T43, T45)) → FRONT56_IN_GA(T44, X85)
P54_IN_GAGAA(T43, T45, T44, T60, X86) → U4_GAGAA(T43, T45, T44, T60, X86, frontc56_in_ga(T43, T45))
U4_GAGAA(T43, T45, T44, T60, X86, frontc56_out_ga(T43, T45)) → U5_GAGAA(T43, T45, T44, T60, X86, frontc56_in_ga(T44, T60))
U5_GAGAA(T43, T45, T44, T60, X86, frontc56_out_ga(T44, T60)) → U6_GAGAA(T43, T45, T44, T60, X86, app72_in_gga(T45, T60, X86))
U5_GAGAA(T43, T45, T44, T60, X86, frontc56_out_ga(T44, T60)) → APP72_IN_GGA(T45, T60, X86)
APP72_IN_GGA(.(T74, T75), T76, .(T74, X142)) → U8_GGA(T74, T75, T76, X142, app72_in_gga(T75, T76, X142))
APP72_IN_GGA(.(T74, T75), T76, .(T74, X142)) → APP72_IN_GGA(T75, T76, X142)
FRONT1_IN_GA(tree(T25, tree(T85, void, void), T27), T29) → U11_GA(T25, T85, T27, T29, front56_in_ga(T27, X57))
FRONT1_IN_GA(tree(T25, tree(T85, void, void), T27), T29) → FRONT56_IN_GA(T27, X57)
FRONT1_IN_GA(tree(T25, tree(T108, T109, T110), T27), T29) → U12_GA(T25, T108, T109, T110, T27, T29, front56_in_ga(T109, X198))
FRONT1_IN_GA(tree(T25, tree(T108, T109, T110), T27), T29) → FRONT56_IN_GA(T109, X198)
FRONT1_IN_GA(tree(T25, tree(T108, T109, T110), T27), T29) → U13_GA(T25, T108, T109, T110, T27, T29, frontc56_in_ga(T109, T111))
U13_GA(T25, T108, T109, T110, T27, T29, frontc56_out_ga(T109, T111)) → U14_GA(T25, T108, T109, T110, T27, T29, front56_in_ga(T110, X199))
U13_GA(T25, T108, T109, T110, T27, T29, frontc56_out_ga(T109, T111)) → FRONT56_IN_GA(T110, X199)
U13_GA(T25, T108, T109, T110, T27, T29, frontc56_out_ga(T109, T111)) → U15_GA(T25, T108, T109, T110, T27, T29, T111, frontc56_in_ga(T110, T112))
U15_GA(T25, T108, T109, T110, T27, T29, T111, frontc56_out_ga(T110, T112)) → U16_GA(T25, T108, T109, T110, T27, T29, app72_in_gga(T111, T112, X200))
U15_GA(T25, T108, T109, T110, T27, T29, T111, frontc56_out_ga(T110, T112)) → APP72_IN_GGA(T111, T112, X200)
U15_GA(T25, T108, T109, T110, T27, T29, T111, frontc56_out_ga(T110, T112)) → U17_GA(T25, T108, T109, T110, T27, T29, appc72_in_gga(T111, T112, T115))
U17_GA(T25, T108, T109, T110, T27, T29, appc72_out_gga(T111, T112, T115)) → U18_GA(T25, T108, T109, T110, T27, T29, front56_in_ga(T27, X57))
U17_GA(T25, T108, T109, T110, T27, T29, appc72_out_gga(T111, T112, T115)) → FRONT56_IN_GA(T27, X57)
U17_GA(T25, T108, T109, T110, T27, T29, appc72_out_gga(T111, T112, T115)) → U19_GA(T25, T108, T109, T110, T27, T29, T115, frontc56_in_ga(T27, T118))
U19_GA(T25, T108, T109, T110, T27, T29, T115, frontc56_out_ga(T27, T118)) → U20_GA(T25, T108, T109, T110, T27, T29, app100_in_gga(T115, T118, T29))
U19_GA(T25, T108, T109, T110, T27, T29, T115, frontc56_out_ga(T27, T118)) → APP100_IN_GGA(T115, T118, T29)
APP100_IN_GGA(.(T134, T135), T136, .(T134, T138)) → U9_GGA(T134, T135, T136, T138, app100_in_gga(T135, T136, T138))
APP100_IN_GGA(.(T134, T135), T136, .(T134, T138)) → APP100_IN_GGA(T135, T136, T138)
frontc56_in_ga(void, []) → frontc56_out_ga(void, [])
frontc56_in_ga(tree(T50, void, void), .(T50, [])) → frontc56_out_ga(tree(T50, void, void), .(T50, []))
frontc56_in_ga(tree(T57, T58, T59), X115) → U25_ga(T57, T58, T59, X115, qc54_in_gagaa(T58, X113, T59, X114, X115))
qc54_in_gagaa(T43, T45, T44, T60, X86) → U22_gagaa(T43, T45, T44, T60, X86, frontc56_in_ga(T43, T45))
U22_gagaa(T43, T45, T44, T60, X86, frontc56_out_ga(T43, T45)) → U23_gagaa(T43, T45, T44, T60, X86, frontc56_in_ga(T44, T60))
U23_gagaa(T43, T45, T44, T60, X86, frontc56_out_ga(T44, T60)) → U24_gagaa(T43, T45, T44, T60, X86, appc72_in_gga(T45, T60, X86))
appc72_in_gga([], T67, T67) → appc72_out_gga([], T67, T67)
appc72_in_gga(.(T74, T75), T76, .(T74, X142)) → U26_gga(T74, T75, T76, X142, appc72_in_gga(T75, T76, X142))
U26_gga(T74, T75, T76, X142, appc72_out_gga(T75, T76, X142)) → appc72_out_gga(.(T74, T75), T76, .(T74, X142))
U24_gagaa(T43, T45, T44, T60, X86, appc72_out_gga(T45, T60, X86)) → qc54_out_gagaa(T43, T45, T44, T60, X86)
U25_ga(T57, T58, T59, X115, qc54_out_gagaa(T58, X113, T59, X114, X115)) → frontc56_out_ga(tree(T57, T58, T59), X115)
APP100_IN_GGA(.(T134, T135), T136, .(T134, T138)) → APP100_IN_GGA(T135, T136, T138)
frontc56_in_ga(void, []) → frontc56_out_ga(void, [])
frontc56_in_ga(tree(T50, void, void), .(T50, [])) → frontc56_out_ga(tree(T50, void, void), .(T50, []))
frontc56_in_ga(tree(T57, T58, T59), X115) → U25_ga(T57, T58, T59, X115, qc54_in_gagaa(T58, X113, T59, X114, X115))
qc54_in_gagaa(T43, T45, T44, T60, X86) → U22_gagaa(T43, T45, T44, T60, X86, frontc56_in_ga(T43, T45))
U22_gagaa(T43, T45, T44, T60, X86, frontc56_out_ga(T43, T45)) → U23_gagaa(T43, T45, T44, T60, X86, frontc56_in_ga(T44, T60))
U23_gagaa(T43, T45, T44, T60, X86, frontc56_out_ga(T44, T60)) → U24_gagaa(T43, T45, T44, T60, X86, appc72_in_gga(T45, T60, X86))
appc72_in_gga([], T67, T67) → appc72_out_gga([], T67, T67)
appc72_in_gga(.(T74, T75), T76, .(T74, X142)) → U26_gga(T74, T75, T76, X142, appc72_in_gga(T75, T76, X142))
U26_gga(T74, T75, T76, X142, appc72_out_gga(T75, T76, X142)) → appc72_out_gga(.(T74, T75), T76, .(T74, X142))
U24_gagaa(T43, T45, T44, T60, X86, appc72_out_gga(T45, T60, X86)) → qc54_out_gagaa(T43, T45, T44, T60, X86)
U25_ga(T57, T58, T59, X115, qc54_out_gagaa(T58, X113, T59, X114, X115)) → frontc56_out_ga(tree(T57, T58, T59), X115)
APP100_IN_GGA(.(T134, T135), T136, .(T134, T138)) → APP100_IN_GGA(T135, T136, T138)
APP100_IN_GGA(.(T134, T135), T136) → APP100_IN_GGA(T135, T136)
From the DPs we obtained the following set of size-change graphs:
APP72_IN_GGA(.(T74, T75), T76, .(T74, X142)) → APP72_IN_GGA(T75, T76, X142)
frontc56_in_ga(void, []) → frontc56_out_ga(void, [])
frontc56_in_ga(tree(T50, void, void), .(T50, [])) → frontc56_out_ga(tree(T50, void, void), .(T50, []))
frontc56_in_ga(tree(T57, T58, T59), X115) → U25_ga(T57, T58, T59, X115, qc54_in_gagaa(T58, X113, T59, X114, X115))
qc54_in_gagaa(T43, T45, T44, T60, X86) → U22_gagaa(T43, T45, T44, T60, X86, frontc56_in_ga(T43, T45))
U22_gagaa(T43, T45, T44, T60, X86, frontc56_out_ga(T43, T45)) → U23_gagaa(T43, T45, T44, T60, X86, frontc56_in_ga(T44, T60))
U23_gagaa(T43, T45, T44, T60, X86, frontc56_out_ga(T44, T60)) → U24_gagaa(T43, T45, T44, T60, X86, appc72_in_gga(T45, T60, X86))
appc72_in_gga([], T67, T67) → appc72_out_gga([], T67, T67)
appc72_in_gga(.(T74, T75), T76, .(T74, X142)) → U26_gga(T74, T75, T76, X142, appc72_in_gga(T75, T76, X142))
U26_gga(T74, T75, T76, X142, appc72_out_gga(T75, T76, X142)) → appc72_out_gga(.(T74, T75), T76, .(T74, X142))
U24_gagaa(T43, T45, T44, T60, X86, appc72_out_gga(T45, T60, X86)) → qc54_out_gagaa(T43, T45, T44, T60, X86)
U25_ga(T57, T58, T59, X115, qc54_out_gagaa(T58, X113, T59, X114, X115)) → frontc56_out_ga(tree(T57, T58, T59), X115)
APP72_IN_GGA(.(T74, T75), T76, .(T74, X142)) → APP72_IN_GGA(T75, T76, X142)
APP72_IN_GGA(.(T74, T75), T76) → APP72_IN_GGA(T75, T76)
From the DPs we obtained the following set of size-change graphs:
P54_IN_GAGAA(T43, X84, T44, X85, X86) → FRONT56_IN_GA(T43, X84)
FRONT56_IN_GA(tree(T57, T58, T59), X115) → P54_IN_GAGAA(T58, X113, T59, X114, X115)
P54_IN_GAGAA(T43, T45, T44, X85, X86) → U2_GAGAA(T43, T45, T44, X85, X86, frontc56_in_ga(T43, T45))
U2_GAGAA(T43, T45, T44, X85, X86, frontc56_out_ga(T43, T45)) → FRONT56_IN_GA(T44, X85)
frontc56_in_ga(void, []) → frontc56_out_ga(void, [])
frontc56_in_ga(tree(T50, void, void), .(T50, [])) → frontc56_out_ga(tree(T50, void, void), .(T50, []))
frontc56_in_ga(tree(T57, T58, T59), X115) → U25_ga(T57, T58, T59, X115, qc54_in_gagaa(T58, X113, T59, X114, X115))
qc54_in_gagaa(T43, T45, T44, T60, X86) → U22_gagaa(T43, T45, T44, T60, X86, frontc56_in_ga(T43, T45))
U22_gagaa(T43, T45, T44, T60, X86, frontc56_out_ga(T43, T45)) → U23_gagaa(T43, T45, T44, T60, X86, frontc56_in_ga(T44, T60))
U23_gagaa(T43, T45, T44, T60, X86, frontc56_out_ga(T44, T60)) → U24_gagaa(T43, T45, T44, T60, X86, appc72_in_gga(T45, T60, X86))
appc72_in_gga([], T67, T67) → appc72_out_gga([], T67, T67)
appc72_in_gga(.(T74, T75), T76, .(T74, X142)) → U26_gga(T74, T75, T76, X142, appc72_in_gga(T75, T76, X142))
U26_gga(T74, T75, T76, X142, appc72_out_gga(T75, T76, X142)) → appc72_out_gga(.(T74, T75), T76, .(T74, X142))
U24_gagaa(T43, T45, T44, T60, X86, appc72_out_gga(T45, T60, X86)) → qc54_out_gagaa(T43, T45, T44, T60, X86)
U25_ga(T57, T58, T59, X115, qc54_out_gagaa(T58, X113, T59, X114, X115)) → frontc56_out_ga(tree(T57, T58, T59), X115)
P54_IN_GAGAA(T43, T44) → FRONT56_IN_GA(T43)
FRONT56_IN_GA(tree(T57, T58, T59)) → P54_IN_GAGAA(T58, T59)
P54_IN_GAGAA(T43, T44) → U2_GAGAA(T43, T44, frontc56_in_ga(T43))
U2_GAGAA(T43, T44, frontc56_out_ga(T43, T45)) → FRONT56_IN_GA(T44)
frontc56_in_ga(void) → frontc56_out_ga(void, [])
frontc56_in_ga(tree(T50, void, void)) → frontc56_out_ga(tree(T50, void, void), .(T50, []))
frontc56_in_ga(tree(T57, T58, T59)) → U25_ga(T57, T58, T59, qc54_in_gagaa(T58, T59))
qc54_in_gagaa(T43, T44) → U22_gagaa(T43, T44, frontc56_in_ga(T43))
U22_gagaa(T43, T44, frontc56_out_ga(T43, T45)) → U23_gagaa(T43, T45, T44, frontc56_in_ga(T44))
U23_gagaa(T43, T45, T44, frontc56_out_ga(T44, T60)) → U24_gagaa(T43, T45, T44, T60, appc72_in_gga(T45, T60))
appc72_in_gga([], T67) → appc72_out_gga([], T67, T67)
appc72_in_gga(.(T74, T75), T76) → U26_gga(T74, T75, T76, appc72_in_gga(T75, T76))
U26_gga(T74, T75, T76, appc72_out_gga(T75, T76, X142)) → appc72_out_gga(.(T74, T75), T76, .(T74, X142))
U24_gagaa(T43, T45, T44, T60, appc72_out_gga(T45, T60, X86)) → qc54_out_gagaa(T43, T45, T44, T60, X86)
U25_ga(T57, T58, T59, qc54_out_gagaa(T58, X113, T59, X114, X115)) → frontc56_out_ga(tree(T57, T58, T59), X115)
frontc56_in_ga(x0)
qc54_in_gagaa(x0, x1)
U22_gagaa(x0, x1, x2)
U23_gagaa(x0, x1, x2, x3)
appc72_in_gga(x0, x1)
U26_gga(x0, x1, x2, x3)
U24_gagaa(x0, x1, x2, x3, x4)
U25_ga(x0, x1, x2, x3)
From the DPs we obtained the following set of size-change graphs: