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 TRUE
↳16 PiDP
↳17 UsableRulesProof (⇔)
↳18 PiDP
↳19 PiDPToQDPProof (⇐)
↳20 QDP
↳21 QDPSizeChangeProof (⇔)
↳22 TRUE
↳23 PiDP
↳24 UsableRulesProof (⇔)
↳25 PiDP
↳26 PiDPToQDPProof (⇐)
↳27 QDP
↳28 QDPSizeChangeProof (⇔)
↳29 TRUE
goal1_in_g(T2) → U4_g(T2, s2l4_in_ga(T2, X6))
s2l4_in_ga(0, []) → s2l4_out_ga(0, [])
s2l4_in_ga(s(T7), .(X14, X15)) → U1_ga(T7, X14, X15, s2l4_in_ga(T7, X15))
U1_ga(T7, X14, X15, s2l4_out_ga(T7, X15)) → s2l4_out_ga(s(T7), .(X14, X15))
U4_g(T2, s2l4_out_ga(T2, X6)) → goal1_out_g(T2)
goal1_in_g(T2) → U5_g(T2, s2l4_in_gg(T2, []))
s2l4_in_gg(0, []) → s2l4_out_gg(0, [])
s2l4_in_gg(s(T7), .(X14, X15)) → U1_gg(T7, X14, X15, s2l4_in_gg(T7, X15))
U1_gg(T7, X14, X15, s2l4_out_gg(T7, X15)) → s2l4_out_gg(s(T7), .(X14, X15))
U5_g(T2, s2l4_out_gg(T2, [])) → goal1_out_g(T2)
goal1_in_g(T2) → U6_g(T2, s2l4_in_ga(T2, .(T14, T16)))
U6_g(T2, s2l4_out_ga(T2, .(T14, T16))) → U7_g(T2, list5_in_g(T16))
list5_in_g([]) → list5_out_g([])
list5_in_g(.(T14, T16)) → U2_g(T14, T16, list5_in_g(T16))
list5_in_g(.(T17, T19)) → U3_g(T17, T19, list5_in_g(T19))
U3_g(T17, T19, list5_out_g(T19)) → list5_out_g(.(T17, T19))
U2_g(T14, T16, list5_out_g(T16)) → list5_out_g(.(T14, T16))
U7_g(T2, list5_out_g(T16)) → goal1_out_g(T2)
goal1_in_g(T2) → U8_g(T2, s2l4_in_ga(T2, .(T17, T19)))
U8_g(T2, s2l4_out_ga(T2, .(T17, T19))) → U9_g(T2, list5_in_g(T19))
U9_g(T2, list5_out_g(T19)) → goal1_out_g(T2)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
goal1_in_g(T2) → U4_g(T2, s2l4_in_ga(T2, X6))
s2l4_in_ga(0, []) → s2l4_out_ga(0, [])
s2l4_in_ga(s(T7), .(X14, X15)) → U1_ga(T7, X14, X15, s2l4_in_ga(T7, X15))
U1_ga(T7, X14, X15, s2l4_out_ga(T7, X15)) → s2l4_out_ga(s(T7), .(X14, X15))
U4_g(T2, s2l4_out_ga(T2, X6)) → goal1_out_g(T2)
goal1_in_g(T2) → U5_g(T2, s2l4_in_gg(T2, []))
s2l4_in_gg(0, []) → s2l4_out_gg(0, [])
s2l4_in_gg(s(T7), .(X14, X15)) → U1_gg(T7, X14, X15, s2l4_in_gg(T7, X15))
U1_gg(T7, X14, X15, s2l4_out_gg(T7, X15)) → s2l4_out_gg(s(T7), .(X14, X15))
U5_g(T2, s2l4_out_gg(T2, [])) → goal1_out_g(T2)
goal1_in_g(T2) → U6_g(T2, s2l4_in_ga(T2, .(T14, T16)))
U6_g(T2, s2l4_out_ga(T2, .(T14, T16))) → U7_g(T2, list5_in_g(T16))
list5_in_g([]) → list5_out_g([])
list5_in_g(.(T14, T16)) → U2_g(T14, T16, list5_in_g(T16))
list5_in_g(.(T17, T19)) → U3_g(T17, T19, list5_in_g(T19))
U3_g(T17, T19, list5_out_g(T19)) → list5_out_g(.(T17, T19))
U2_g(T14, T16, list5_out_g(T16)) → list5_out_g(.(T14, T16))
U7_g(T2, list5_out_g(T16)) → goal1_out_g(T2)
goal1_in_g(T2) → U8_g(T2, s2l4_in_ga(T2, .(T17, T19)))
U8_g(T2, s2l4_out_ga(T2, .(T17, T19))) → U9_g(T2, list5_in_g(T19))
U9_g(T2, list5_out_g(T19)) → goal1_out_g(T2)
GOAL1_IN_G(T2) → U4_G(T2, s2l4_in_ga(T2, X6))
GOAL1_IN_G(T2) → S2L4_IN_GA(T2, X6)
S2L4_IN_GA(s(T7), .(X14, X15)) → U1_GA(T7, X14, X15, s2l4_in_ga(T7, X15))
S2L4_IN_GA(s(T7), .(X14, X15)) → S2L4_IN_GA(T7, X15)
GOAL1_IN_G(T2) → U5_G(T2, s2l4_in_gg(T2, []))
GOAL1_IN_G(T2) → S2L4_IN_GG(T2, [])
S2L4_IN_GG(s(T7), .(X14, X15)) → U1_GG(T7, X14, X15, s2l4_in_gg(T7, X15))
S2L4_IN_GG(s(T7), .(X14, X15)) → S2L4_IN_GG(T7, X15)
GOAL1_IN_G(T2) → U6_G(T2, s2l4_in_ga(T2, .(T14, T16)))
GOAL1_IN_G(T2) → S2L4_IN_GA(T2, .(T14, T16))
U6_G(T2, s2l4_out_ga(T2, .(T14, T16))) → U7_G(T2, list5_in_g(T16))
U6_G(T2, s2l4_out_ga(T2, .(T14, T16))) → LIST5_IN_G(T16)
LIST5_IN_G(.(T14, T16)) → U2_G(T14, T16, list5_in_g(T16))
LIST5_IN_G(.(T14, T16)) → LIST5_IN_G(T16)
LIST5_IN_G(.(T17, T19)) → U3_G(T17, T19, list5_in_g(T19))
GOAL1_IN_G(T2) → U8_G(T2, s2l4_in_ga(T2, .(T17, T19)))
U8_G(T2, s2l4_out_ga(T2, .(T17, T19))) → U9_G(T2, list5_in_g(T19))
U8_G(T2, s2l4_out_ga(T2, .(T17, T19))) → LIST5_IN_G(T19)
goal1_in_g(T2) → U4_g(T2, s2l4_in_ga(T2, X6))
s2l4_in_ga(0, []) → s2l4_out_ga(0, [])
s2l4_in_ga(s(T7), .(X14, X15)) → U1_ga(T7, X14, X15, s2l4_in_ga(T7, X15))
U1_ga(T7, X14, X15, s2l4_out_ga(T7, X15)) → s2l4_out_ga(s(T7), .(X14, X15))
U4_g(T2, s2l4_out_ga(T2, X6)) → goal1_out_g(T2)
goal1_in_g(T2) → U5_g(T2, s2l4_in_gg(T2, []))
s2l4_in_gg(0, []) → s2l4_out_gg(0, [])
s2l4_in_gg(s(T7), .(X14, X15)) → U1_gg(T7, X14, X15, s2l4_in_gg(T7, X15))
U1_gg(T7, X14, X15, s2l4_out_gg(T7, X15)) → s2l4_out_gg(s(T7), .(X14, X15))
U5_g(T2, s2l4_out_gg(T2, [])) → goal1_out_g(T2)
goal1_in_g(T2) → U6_g(T2, s2l4_in_ga(T2, .(T14, T16)))
U6_g(T2, s2l4_out_ga(T2, .(T14, T16))) → U7_g(T2, list5_in_g(T16))
list5_in_g([]) → list5_out_g([])
list5_in_g(.(T14, T16)) → U2_g(T14, T16, list5_in_g(T16))
list5_in_g(.(T17, T19)) → U3_g(T17, T19, list5_in_g(T19))
U3_g(T17, T19, list5_out_g(T19)) → list5_out_g(.(T17, T19))
U2_g(T14, T16, list5_out_g(T16)) → list5_out_g(.(T14, T16))
U7_g(T2, list5_out_g(T16)) → goal1_out_g(T2)
goal1_in_g(T2) → U8_g(T2, s2l4_in_ga(T2, .(T17, T19)))
U8_g(T2, s2l4_out_ga(T2, .(T17, T19))) → U9_g(T2, list5_in_g(T19))
U9_g(T2, list5_out_g(T19)) → goal1_out_g(T2)
GOAL1_IN_G(T2) → U4_G(T2, s2l4_in_ga(T2, X6))
GOAL1_IN_G(T2) → S2L4_IN_GA(T2, X6)
S2L4_IN_GA(s(T7), .(X14, X15)) → U1_GA(T7, X14, X15, s2l4_in_ga(T7, X15))
S2L4_IN_GA(s(T7), .(X14, X15)) → S2L4_IN_GA(T7, X15)
GOAL1_IN_G(T2) → U5_G(T2, s2l4_in_gg(T2, []))
GOAL1_IN_G(T2) → S2L4_IN_GG(T2, [])
S2L4_IN_GG(s(T7), .(X14, X15)) → U1_GG(T7, X14, X15, s2l4_in_gg(T7, X15))
S2L4_IN_GG(s(T7), .(X14, X15)) → S2L4_IN_GG(T7, X15)
GOAL1_IN_G(T2) → U6_G(T2, s2l4_in_ga(T2, .(T14, T16)))
GOAL1_IN_G(T2) → S2L4_IN_GA(T2, .(T14, T16))
U6_G(T2, s2l4_out_ga(T2, .(T14, T16))) → U7_G(T2, list5_in_g(T16))
U6_G(T2, s2l4_out_ga(T2, .(T14, T16))) → LIST5_IN_G(T16)
LIST5_IN_G(.(T14, T16)) → U2_G(T14, T16, list5_in_g(T16))
LIST5_IN_G(.(T14, T16)) → LIST5_IN_G(T16)
LIST5_IN_G(.(T17, T19)) → U3_G(T17, T19, list5_in_g(T19))
GOAL1_IN_G(T2) → U8_G(T2, s2l4_in_ga(T2, .(T17, T19)))
U8_G(T2, s2l4_out_ga(T2, .(T17, T19))) → U9_G(T2, list5_in_g(T19))
U8_G(T2, s2l4_out_ga(T2, .(T17, T19))) → LIST5_IN_G(T19)
goal1_in_g(T2) → U4_g(T2, s2l4_in_ga(T2, X6))
s2l4_in_ga(0, []) → s2l4_out_ga(0, [])
s2l4_in_ga(s(T7), .(X14, X15)) → U1_ga(T7, X14, X15, s2l4_in_ga(T7, X15))
U1_ga(T7, X14, X15, s2l4_out_ga(T7, X15)) → s2l4_out_ga(s(T7), .(X14, X15))
U4_g(T2, s2l4_out_ga(T2, X6)) → goal1_out_g(T2)
goal1_in_g(T2) → U5_g(T2, s2l4_in_gg(T2, []))
s2l4_in_gg(0, []) → s2l4_out_gg(0, [])
s2l4_in_gg(s(T7), .(X14, X15)) → U1_gg(T7, X14, X15, s2l4_in_gg(T7, X15))
U1_gg(T7, X14, X15, s2l4_out_gg(T7, X15)) → s2l4_out_gg(s(T7), .(X14, X15))
U5_g(T2, s2l4_out_gg(T2, [])) → goal1_out_g(T2)
goal1_in_g(T2) → U6_g(T2, s2l4_in_ga(T2, .(T14, T16)))
U6_g(T2, s2l4_out_ga(T2, .(T14, T16))) → U7_g(T2, list5_in_g(T16))
list5_in_g([]) → list5_out_g([])
list5_in_g(.(T14, T16)) → U2_g(T14, T16, list5_in_g(T16))
list5_in_g(.(T17, T19)) → U3_g(T17, T19, list5_in_g(T19))
U3_g(T17, T19, list5_out_g(T19)) → list5_out_g(.(T17, T19))
U2_g(T14, T16, list5_out_g(T16)) → list5_out_g(.(T14, T16))
U7_g(T2, list5_out_g(T16)) → goal1_out_g(T2)
goal1_in_g(T2) → U8_g(T2, s2l4_in_ga(T2, .(T17, T19)))
U8_g(T2, s2l4_out_ga(T2, .(T17, T19))) → U9_g(T2, list5_in_g(T19))
U9_g(T2, list5_out_g(T19)) → goal1_out_g(T2)
LIST5_IN_G(.(T14, T16)) → LIST5_IN_G(T16)
goal1_in_g(T2) → U4_g(T2, s2l4_in_ga(T2, X6))
s2l4_in_ga(0, []) → s2l4_out_ga(0, [])
s2l4_in_ga(s(T7), .(X14, X15)) → U1_ga(T7, X14, X15, s2l4_in_ga(T7, X15))
U1_ga(T7, X14, X15, s2l4_out_ga(T7, X15)) → s2l4_out_ga(s(T7), .(X14, X15))
U4_g(T2, s2l4_out_ga(T2, X6)) → goal1_out_g(T2)
goal1_in_g(T2) → U5_g(T2, s2l4_in_gg(T2, []))
s2l4_in_gg(0, []) → s2l4_out_gg(0, [])
s2l4_in_gg(s(T7), .(X14, X15)) → U1_gg(T7, X14, X15, s2l4_in_gg(T7, X15))
U1_gg(T7, X14, X15, s2l4_out_gg(T7, X15)) → s2l4_out_gg(s(T7), .(X14, X15))
U5_g(T2, s2l4_out_gg(T2, [])) → goal1_out_g(T2)
goal1_in_g(T2) → U6_g(T2, s2l4_in_ga(T2, .(T14, T16)))
U6_g(T2, s2l4_out_ga(T2, .(T14, T16))) → U7_g(T2, list5_in_g(T16))
list5_in_g([]) → list5_out_g([])
list5_in_g(.(T14, T16)) → U2_g(T14, T16, list5_in_g(T16))
list5_in_g(.(T17, T19)) → U3_g(T17, T19, list5_in_g(T19))
U3_g(T17, T19, list5_out_g(T19)) → list5_out_g(.(T17, T19))
U2_g(T14, T16, list5_out_g(T16)) → list5_out_g(.(T14, T16))
U7_g(T2, list5_out_g(T16)) → goal1_out_g(T2)
goal1_in_g(T2) → U8_g(T2, s2l4_in_ga(T2, .(T17, T19)))
U8_g(T2, s2l4_out_ga(T2, .(T17, T19))) → U9_g(T2, list5_in_g(T19))
U9_g(T2, list5_out_g(T19)) → goal1_out_g(T2)
LIST5_IN_G(.(T14, T16)) → LIST5_IN_G(T16)
LIST5_IN_G(.(T16)) → LIST5_IN_G(T16)
From the DPs we obtained the following set of size-change graphs:
S2L4_IN_GG(s(T7), .(X14, X15)) → S2L4_IN_GG(T7, X15)
goal1_in_g(T2) → U4_g(T2, s2l4_in_ga(T2, X6))
s2l4_in_ga(0, []) → s2l4_out_ga(0, [])
s2l4_in_ga(s(T7), .(X14, X15)) → U1_ga(T7, X14, X15, s2l4_in_ga(T7, X15))
U1_ga(T7, X14, X15, s2l4_out_ga(T7, X15)) → s2l4_out_ga(s(T7), .(X14, X15))
U4_g(T2, s2l4_out_ga(T2, X6)) → goal1_out_g(T2)
goal1_in_g(T2) → U5_g(T2, s2l4_in_gg(T2, []))
s2l4_in_gg(0, []) → s2l4_out_gg(0, [])
s2l4_in_gg(s(T7), .(X14, X15)) → U1_gg(T7, X14, X15, s2l4_in_gg(T7, X15))
U1_gg(T7, X14, X15, s2l4_out_gg(T7, X15)) → s2l4_out_gg(s(T7), .(X14, X15))
U5_g(T2, s2l4_out_gg(T2, [])) → goal1_out_g(T2)
goal1_in_g(T2) → U6_g(T2, s2l4_in_ga(T2, .(T14, T16)))
U6_g(T2, s2l4_out_ga(T2, .(T14, T16))) → U7_g(T2, list5_in_g(T16))
list5_in_g([]) → list5_out_g([])
list5_in_g(.(T14, T16)) → U2_g(T14, T16, list5_in_g(T16))
list5_in_g(.(T17, T19)) → U3_g(T17, T19, list5_in_g(T19))
U3_g(T17, T19, list5_out_g(T19)) → list5_out_g(.(T17, T19))
U2_g(T14, T16, list5_out_g(T16)) → list5_out_g(.(T14, T16))
U7_g(T2, list5_out_g(T16)) → goal1_out_g(T2)
goal1_in_g(T2) → U8_g(T2, s2l4_in_ga(T2, .(T17, T19)))
U8_g(T2, s2l4_out_ga(T2, .(T17, T19))) → U9_g(T2, list5_in_g(T19))
U9_g(T2, list5_out_g(T19)) → goal1_out_g(T2)
S2L4_IN_GG(s(T7), .(X14, X15)) → S2L4_IN_GG(T7, X15)
S2L4_IN_GG(s(T7), .(X15)) → S2L4_IN_GG(T7, X15)
From the DPs we obtained the following set of size-change graphs:
S2L4_IN_GA(s(T7), .(X14, X15)) → S2L4_IN_GA(T7, X15)
goal1_in_g(T2) → U4_g(T2, s2l4_in_ga(T2, X6))
s2l4_in_ga(0, []) → s2l4_out_ga(0, [])
s2l4_in_ga(s(T7), .(X14, X15)) → U1_ga(T7, X14, X15, s2l4_in_ga(T7, X15))
U1_ga(T7, X14, X15, s2l4_out_ga(T7, X15)) → s2l4_out_ga(s(T7), .(X14, X15))
U4_g(T2, s2l4_out_ga(T2, X6)) → goal1_out_g(T2)
goal1_in_g(T2) → U5_g(T2, s2l4_in_gg(T2, []))
s2l4_in_gg(0, []) → s2l4_out_gg(0, [])
s2l4_in_gg(s(T7), .(X14, X15)) → U1_gg(T7, X14, X15, s2l4_in_gg(T7, X15))
U1_gg(T7, X14, X15, s2l4_out_gg(T7, X15)) → s2l4_out_gg(s(T7), .(X14, X15))
U5_g(T2, s2l4_out_gg(T2, [])) → goal1_out_g(T2)
goal1_in_g(T2) → U6_g(T2, s2l4_in_ga(T2, .(T14, T16)))
U6_g(T2, s2l4_out_ga(T2, .(T14, T16))) → U7_g(T2, list5_in_g(T16))
list5_in_g([]) → list5_out_g([])
list5_in_g(.(T14, T16)) → U2_g(T14, T16, list5_in_g(T16))
list5_in_g(.(T17, T19)) → U3_g(T17, T19, list5_in_g(T19))
U3_g(T17, T19, list5_out_g(T19)) → list5_out_g(.(T17, T19))
U2_g(T14, T16, list5_out_g(T16)) → list5_out_g(.(T14, T16))
U7_g(T2, list5_out_g(T16)) → goal1_out_g(T2)
goal1_in_g(T2) → U8_g(T2, s2l4_in_ga(T2, .(T17, T19)))
U8_g(T2, s2l4_out_ga(T2, .(T17, T19))) → U9_g(T2, list5_in_g(T19))
U9_g(T2, list5_out_g(T19)) → goal1_out_g(T2)
S2L4_IN_GA(s(T7), .(X14, X15)) → S2L4_IN_GA(T7, X15)
S2L4_IN_GA(s(T7)) → S2L4_IN_GA(T7)
From the DPs we obtained the following set of size-change graphs: