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
star1_in_gg(T3, []) → star1_out_gg(T3, [])
star1_in_gg(.(T4, T5), .(T4, T6)) → U6_gg(T4, T5, T6, app10_in_gag(T5, X11, T6))
app10_in_gag([], T8, T8) → app10_out_gag([], T8, T8)
app10_in_gag(.(T9, T10), X24, .(T9, T11)) → U1_gag(T9, T10, X24, T11, app10_in_gag(T10, X24, T11))
U1_gag(T9, T10, X24, T11, app10_out_gag(T10, X24, T11)) → app10_out_gag(.(T9, T10), X24, .(T9, T11))
U6_gg(T4, T5, T6, app10_out_gag(T5, X11, T6)) → star1_out_gg(.(T4, T5), .(T4, T6))
star1_in_gg(.(T12, T13), .(T12, [])) → U7_gg(T12, T13, app10_in_gag(T13, T7, []))
U7_gg(T12, T13, app10_out_gag(T13, T7, [])) → star1_out_gg(.(T12, T13), .(T12, []))
star1_in_gg(.(T14, T15), .(T14, .(T14, T16))) → U8_gg(T14, T15, T16, app10_in_gag(T15, T7, .(T14, T16)))
U8_gg(T14, T15, T16, app10_out_gag(T15, T7, .(T14, T16))) → U9_gg(T14, T15, T16, p8_in_gagg(T15, X34, T16, T14))
p8_in_gagg(T5, X11, T6, T4) → U2_gagg(T5, X11, T6, T4, app10_in_gag(T5, X11, T6))
U2_gagg(T5, X11, T6, T4, app10_out_gag(T5, X11, T6)) → p8_out_gagg(T5, X11, T6, T4)
p8_in_gagg(T13, T7, [], T12) → U3_gagg(T13, T7, T12, app10_in_gag(T13, T7, []))
U3_gagg(T13, T7, T12, app10_out_gag(T13, T7, [])) → p8_out_gagg(T13, T7, [], T12)
p8_in_gagg(T15, T7, .(T14, T16), T14) → U4_gagg(T15, T7, T14, T16, app10_in_gag(T15, T7, .(T14, T16)))
U4_gagg(T15, T7, T14, T16, app10_out_gag(T15, T7, .(T14, T16))) → U5_gagg(T15, T7, T14, T16, p8_in_gagg(T15, X34, T16, T14))
U5_gagg(T15, T7, T14, T16, p8_out_gagg(T15, X34, T16, T14)) → p8_out_gagg(T15, T7, .(T14, T16), T14)
U9_gg(T14, T15, T16, p8_out_gagg(T15, X34, T16, T14)) → star1_out_gg(.(T14, T15), .(T14, .(T14, T16)))
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
star1_in_gg(T3, []) → star1_out_gg(T3, [])
star1_in_gg(.(T4, T5), .(T4, T6)) → U6_gg(T4, T5, T6, app10_in_gag(T5, X11, T6))
app10_in_gag([], T8, T8) → app10_out_gag([], T8, T8)
app10_in_gag(.(T9, T10), X24, .(T9, T11)) → U1_gag(T9, T10, X24, T11, app10_in_gag(T10, X24, T11))
U1_gag(T9, T10, X24, T11, app10_out_gag(T10, X24, T11)) → app10_out_gag(.(T9, T10), X24, .(T9, T11))
U6_gg(T4, T5, T6, app10_out_gag(T5, X11, T6)) → star1_out_gg(.(T4, T5), .(T4, T6))
star1_in_gg(.(T12, T13), .(T12, [])) → U7_gg(T12, T13, app10_in_gag(T13, T7, []))
U7_gg(T12, T13, app10_out_gag(T13, T7, [])) → star1_out_gg(.(T12, T13), .(T12, []))
star1_in_gg(.(T14, T15), .(T14, .(T14, T16))) → U8_gg(T14, T15, T16, app10_in_gag(T15, T7, .(T14, T16)))
U8_gg(T14, T15, T16, app10_out_gag(T15, T7, .(T14, T16))) → U9_gg(T14, T15, T16, p8_in_gagg(T15, X34, T16, T14))
p8_in_gagg(T5, X11, T6, T4) → U2_gagg(T5, X11, T6, T4, app10_in_gag(T5, X11, T6))
U2_gagg(T5, X11, T6, T4, app10_out_gag(T5, X11, T6)) → p8_out_gagg(T5, X11, T6, T4)
p8_in_gagg(T13, T7, [], T12) → U3_gagg(T13, T7, T12, app10_in_gag(T13, T7, []))
U3_gagg(T13, T7, T12, app10_out_gag(T13, T7, [])) → p8_out_gagg(T13, T7, [], T12)
p8_in_gagg(T15, T7, .(T14, T16), T14) → U4_gagg(T15, T7, T14, T16, app10_in_gag(T15, T7, .(T14, T16)))
U4_gagg(T15, T7, T14, T16, app10_out_gag(T15, T7, .(T14, T16))) → U5_gagg(T15, T7, T14, T16, p8_in_gagg(T15, X34, T16, T14))
U5_gagg(T15, T7, T14, T16, p8_out_gagg(T15, X34, T16, T14)) → p8_out_gagg(T15, T7, .(T14, T16), T14)
U9_gg(T14, T15, T16, p8_out_gagg(T15, X34, T16, T14)) → star1_out_gg(.(T14, T15), .(T14, .(T14, T16)))
STAR1_IN_GG(.(T4, T5), .(T4, T6)) → U6_GG(T4, T5, T6, app10_in_gag(T5, X11, T6))
STAR1_IN_GG(.(T4, T5), .(T4, T6)) → APP10_IN_GAG(T5, X11, T6)
APP10_IN_GAG(.(T9, T10), X24, .(T9, T11)) → U1_GAG(T9, T10, X24, T11, app10_in_gag(T10, X24, T11))
APP10_IN_GAG(.(T9, T10), X24, .(T9, T11)) → APP10_IN_GAG(T10, X24, T11)
STAR1_IN_GG(.(T12, T13), .(T12, [])) → U7_GG(T12, T13, app10_in_gag(T13, T7, []))
STAR1_IN_GG(.(T12, T13), .(T12, [])) → APP10_IN_GAG(T13, T7, [])
STAR1_IN_GG(.(T14, T15), .(T14, .(T14, T16))) → U8_GG(T14, T15, T16, app10_in_gag(T15, T7, .(T14, T16)))
STAR1_IN_GG(.(T14, T15), .(T14, .(T14, T16))) → APP10_IN_GAG(T15, T7, .(T14, T16))
U8_GG(T14, T15, T16, app10_out_gag(T15, T7, .(T14, T16))) → U9_GG(T14, T15, T16, p8_in_gagg(T15, X34, T16, T14))
U8_GG(T14, T15, T16, app10_out_gag(T15, T7, .(T14, T16))) → P8_IN_GAGG(T15, X34, T16, T14)
P8_IN_GAGG(T5, X11, T6, T4) → U2_GAGG(T5, X11, T6, T4, app10_in_gag(T5, X11, T6))
P8_IN_GAGG(T5, X11, T6, T4) → APP10_IN_GAG(T5, X11, T6)
P8_IN_GAGG(T13, T7, [], T12) → U3_GAGG(T13, T7, T12, app10_in_gag(T13, T7, []))
P8_IN_GAGG(T13, T7, [], T12) → APP10_IN_GAG(T13, T7, [])
P8_IN_GAGG(T15, T7, .(T14, T16), T14) → U4_GAGG(T15, T7, T14, T16, app10_in_gag(T15, T7, .(T14, T16)))
P8_IN_GAGG(T15, T7, .(T14, T16), T14) → APP10_IN_GAG(T15, T7, .(T14, T16))
U4_GAGG(T15, T7, T14, T16, app10_out_gag(T15, T7, .(T14, T16))) → U5_GAGG(T15, T7, T14, T16, p8_in_gagg(T15, X34, T16, T14))
U4_GAGG(T15, T7, T14, T16, app10_out_gag(T15, T7, .(T14, T16))) → P8_IN_GAGG(T15, X34, T16, T14)
star1_in_gg(T3, []) → star1_out_gg(T3, [])
star1_in_gg(.(T4, T5), .(T4, T6)) → U6_gg(T4, T5, T6, app10_in_gag(T5, X11, T6))
app10_in_gag([], T8, T8) → app10_out_gag([], T8, T8)
app10_in_gag(.(T9, T10), X24, .(T9, T11)) → U1_gag(T9, T10, X24, T11, app10_in_gag(T10, X24, T11))
U1_gag(T9, T10, X24, T11, app10_out_gag(T10, X24, T11)) → app10_out_gag(.(T9, T10), X24, .(T9, T11))
U6_gg(T4, T5, T6, app10_out_gag(T5, X11, T6)) → star1_out_gg(.(T4, T5), .(T4, T6))
star1_in_gg(.(T12, T13), .(T12, [])) → U7_gg(T12, T13, app10_in_gag(T13, T7, []))
U7_gg(T12, T13, app10_out_gag(T13, T7, [])) → star1_out_gg(.(T12, T13), .(T12, []))
star1_in_gg(.(T14, T15), .(T14, .(T14, T16))) → U8_gg(T14, T15, T16, app10_in_gag(T15, T7, .(T14, T16)))
U8_gg(T14, T15, T16, app10_out_gag(T15, T7, .(T14, T16))) → U9_gg(T14, T15, T16, p8_in_gagg(T15, X34, T16, T14))
p8_in_gagg(T5, X11, T6, T4) → U2_gagg(T5, X11, T6, T4, app10_in_gag(T5, X11, T6))
U2_gagg(T5, X11, T6, T4, app10_out_gag(T5, X11, T6)) → p8_out_gagg(T5, X11, T6, T4)
p8_in_gagg(T13, T7, [], T12) → U3_gagg(T13, T7, T12, app10_in_gag(T13, T7, []))
U3_gagg(T13, T7, T12, app10_out_gag(T13, T7, [])) → p8_out_gagg(T13, T7, [], T12)
p8_in_gagg(T15, T7, .(T14, T16), T14) → U4_gagg(T15, T7, T14, T16, app10_in_gag(T15, T7, .(T14, T16)))
U4_gagg(T15, T7, T14, T16, app10_out_gag(T15, T7, .(T14, T16))) → U5_gagg(T15, T7, T14, T16, p8_in_gagg(T15, X34, T16, T14))
U5_gagg(T15, T7, T14, T16, p8_out_gagg(T15, X34, T16, T14)) → p8_out_gagg(T15, T7, .(T14, T16), T14)
U9_gg(T14, T15, T16, p8_out_gagg(T15, X34, T16, T14)) → star1_out_gg(.(T14, T15), .(T14, .(T14, T16)))
STAR1_IN_GG(.(T4, T5), .(T4, T6)) → U6_GG(T4, T5, T6, app10_in_gag(T5, X11, T6))
STAR1_IN_GG(.(T4, T5), .(T4, T6)) → APP10_IN_GAG(T5, X11, T6)
APP10_IN_GAG(.(T9, T10), X24, .(T9, T11)) → U1_GAG(T9, T10, X24, T11, app10_in_gag(T10, X24, T11))
APP10_IN_GAG(.(T9, T10), X24, .(T9, T11)) → APP10_IN_GAG(T10, X24, T11)
STAR1_IN_GG(.(T12, T13), .(T12, [])) → U7_GG(T12, T13, app10_in_gag(T13, T7, []))
STAR1_IN_GG(.(T12, T13), .(T12, [])) → APP10_IN_GAG(T13, T7, [])
STAR1_IN_GG(.(T14, T15), .(T14, .(T14, T16))) → U8_GG(T14, T15, T16, app10_in_gag(T15, T7, .(T14, T16)))
STAR1_IN_GG(.(T14, T15), .(T14, .(T14, T16))) → APP10_IN_GAG(T15, T7, .(T14, T16))
U8_GG(T14, T15, T16, app10_out_gag(T15, T7, .(T14, T16))) → U9_GG(T14, T15, T16, p8_in_gagg(T15, X34, T16, T14))
U8_GG(T14, T15, T16, app10_out_gag(T15, T7, .(T14, T16))) → P8_IN_GAGG(T15, X34, T16, T14)
P8_IN_GAGG(T5, X11, T6, T4) → U2_GAGG(T5, X11, T6, T4, app10_in_gag(T5, X11, T6))
P8_IN_GAGG(T5, X11, T6, T4) → APP10_IN_GAG(T5, X11, T6)
P8_IN_GAGG(T13, T7, [], T12) → U3_GAGG(T13, T7, T12, app10_in_gag(T13, T7, []))
P8_IN_GAGG(T13, T7, [], T12) → APP10_IN_GAG(T13, T7, [])
P8_IN_GAGG(T15, T7, .(T14, T16), T14) → U4_GAGG(T15, T7, T14, T16, app10_in_gag(T15, T7, .(T14, T16)))
P8_IN_GAGG(T15, T7, .(T14, T16), T14) → APP10_IN_GAG(T15, T7, .(T14, T16))
U4_GAGG(T15, T7, T14, T16, app10_out_gag(T15, T7, .(T14, T16))) → U5_GAGG(T15, T7, T14, T16, p8_in_gagg(T15, X34, T16, T14))
U4_GAGG(T15, T7, T14, T16, app10_out_gag(T15, T7, .(T14, T16))) → P8_IN_GAGG(T15, X34, T16, T14)
star1_in_gg(T3, []) → star1_out_gg(T3, [])
star1_in_gg(.(T4, T5), .(T4, T6)) → U6_gg(T4, T5, T6, app10_in_gag(T5, X11, T6))
app10_in_gag([], T8, T8) → app10_out_gag([], T8, T8)
app10_in_gag(.(T9, T10), X24, .(T9, T11)) → U1_gag(T9, T10, X24, T11, app10_in_gag(T10, X24, T11))
U1_gag(T9, T10, X24, T11, app10_out_gag(T10, X24, T11)) → app10_out_gag(.(T9, T10), X24, .(T9, T11))
U6_gg(T4, T5, T6, app10_out_gag(T5, X11, T6)) → star1_out_gg(.(T4, T5), .(T4, T6))
star1_in_gg(.(T12, T13), .(T12, [])) → U7_gg(T12, T13, app10_in_gag(T13, T7, []))
U7_gg(T12, T13, app10_out_gag(T13, T7, [])) → star1_out_gg(.(T12, T13), .(T12, []))
star1_in_gg(.(T14, T15), .(T14, .(T14, T16))) → U8_gg(T14, T15, T16, app10_in_gag(T15, T7, .(T14, T16)))
U8_gg(T14, T15, T16, app10_out_gag(T15, T7, .(T14, T16))) → U9_gg(T14, T15, T16, p8_in_gagg(T15, X34, T16, T14))
p8_in_gagg(T5, X11, T6, T4) → U2_gagg(T5, X11, T6, T4, app10_in_gag(T5, X11, T6))
U2_gagg(T5, X11, T6, T4, app10_out_gag(T5, X11, T6)) → p8_out_gagg(T5, X11, T6, T4)
p8_in_gagg(T13, T7, [], T12) → U3_gagg(T13, T7, T12, app10_in_gag(T13, T7, []))
U3_gagg(T13, T7, T12, app10_out_gag(T13, T7, [])) → p8_out_gagg(T13, T7, [], T12)
p8_in_gagg(T15, T7, .(T14, T16), T14) → U4_gagg(T15, T7, T14, T16, app10_in_gag(T15, T7, .(T14, T16)))
U4_gagg(T15, T7, T14, T16, app10_out_gag(T15, T7, .(T14, T16))) → U5_gagg(T15, T7, T14, T16, p8_in_gagg(T15, X34, T16, T14))
U5_gagg(T15, T7, T14, T16, p8_out_gagg(T15, X34, T16, T14)) → p8_out_gagg(T15, T7, .(T14, T16), T14)
U9_gg(T14, T15, T16, p8_out_gagg(T15, X34, T16, T14)) → star1_out_gg(.(T14, T15), .(T14, .(T14, T16)))
APP10_IN_GAG(.(T9, T10), X24, .(T9, T11)) → APP10_IN_GAG(T10, X24, T11)
star1_in_gg(T3, []) → star1_out_gg(T3, [])
star1_in_gg(.(T4, T5), .(T4, T6)) → U6_gg(T4, T5, T6, app10_in_gag(T5, X11, T6))
app10_in_gag([], T8, T8) → app10_out_gag([], T8, T8)
app10_in_gag(.(T9, T10), X24, .(T9, T11)) → U1_gag(T9, T10, X24, T11, app10_in_gag(T10, X24, T11))
U1_gag(T9, T10, X24, T11, app10_out_gag(T10, X24, T11)) → app10_out_gag(.(T9, T10), X24, .(T9, T11))
U6_gg(T4, T5, T6, app10_out_gag(T5, X11, T6)) → star1_out_gg(.(T4, T5), .(T4, T6))
star1_in_gg(.(T12, T13), .(T12, [])) → U7_gg(T12, T13, app10_in_gag(T13, T7, []))
U7_gg(T12, T13, app10_out_gag(T13, T7, [])) → star1_out_gg(.(T12, T13), .(T12, []))
star1_in_gg(.(T14, T15), .(T14, .(T14, T16))) → U8_gg(T14, T15, T16, app10_in_gag(T15, T7, .(T14, T16)))
U8_gg(T14, T15, T16, app10_out_gag(T15, T7, .(T14, T16))) → U9_gg(T14, T15, T16, p8_in_gagg(T15, X34, T16, T14))
p8_in_gagg(T5, X11, T6, T4) → U2_gagg(T5, X11, T6, T4, app10_in_gag(T5, X11, T6))
U2_gagg(T5, X11, T6, T4, app10_out_gag(T5, X11, T6)) → p8_out_gagg(T5, X11, T6, T4)
p8_in_gagg(T13, T7, [], T12) → U3_gagg(T13, T7, T12, app10_in_gag(T13, T7, []))
U3_gagg(T13, T7, T12, app10_out_gag(T13, T7, [])) → p8_out_gagg(T13, T7, [], T12)
p8_in_gagg(T15, T7, .(T14, T16), T14) → U4_gagg(T15, T7, T14, T16, app10_in_gag(T15, T7, .(T14, T16)))
U4_gagg(T15, T7, T14, T16, app10_out_gag(T15, T7, .(T14, T16))) → U5_gagg(T15, T7, T14, T16, p8_in_gagg(T15, X34, T16, T14))
U5_gagg(T15, T7, T14, T16, p8_out_gagg(T15, X34, T16, T14)) → p8_out_gagg(T15, T7, .(T14, T16), T14)
U9_gg(T14, T15, T16, p8_out_gagg(T15, X34, T16, T14)) → star1_out_gg(.(T14, T15), .(T14, .(T14, T16)))
APP10_IN_GAG(.(T9, T10), X24, .(T9, T11)) → APP10_IN_GAG(T10, X24, T11)
APP10_IN_GAG(.(T9, T10), .(T9, T11)) → APP10_IN_GAG(T10, T11)
From the DPs we obtained the following set of size-change graphs:
P8_IN_GAGG(T15, T7, .(T14, T16), T14) → U4_GAGG(T15, T7, T14, T16, app10_in_gag(T15, T7, .(T14, T16)))
U4_GAGG(T15, T7, T14, T16, app10_out_gag(T15, T7, .(T14, T16))) → P8_IN_GAGG(T15, X34, T16, T14)
star1_in_gg(T3, []) → star1_out_gg(T3, [])
star1_in_gg(.(T4, T5), .(T4, T6)) → U6_gg(T4, T5, T6, app10_in_gag(T5, X11, T6))
app10_in_gag([], T8, T8) → app10_out_gag([], T8, T8)
app10_in_gag(.(T9, T10), X24, .(T9, T11)) → U1_gag(T9, T10, X24, T11, app10_in_gag(T10, X24, T11))
U1_gag(T9, T10, X24, T11, app10_out_gag(T10, X24, T11)) → app10_out_gag(.(T9, T10), X24, .(T9, T11))
U6_gg(T4, T5, T6, app10_out_gag(T5, X11, T6)) → star1_out_gg(.(T4, T5), .(T4, T6))
star1_in_gg(.(T12, T13), .(T12, [])) → U7_gg(T12, T13, app10_in_gag(T13, T7, []))
U7_gg(T12, T13, app10_out_gag(T13, T7, [])) → star1_out_gg(.(T12, T13), .(T12, []))
star1_in_gg(.(T14, T15), .(T14, .(T14, T16))) → U8_gg(T14, T15, T16, app10_in_gag(T15, T7, .(T14, T16)))
U8_gg(T14, T15, T16, app10_out_gag(T15, T7, .(T14, T16))) → U9_gg(T14, T15, T16, p8_in_gagg(T15, X34, T16, T14))
p8_in_gagg(T5, X11, T6, T4) → U2_gagg(T5, X11, T6, T4, app10_in_gag(T5, X11, T6))
U2_gagg(T5, X11, T6, T4, app10_out_gag(T5, X11, T6)) → p8_out_gagg(T5, X11, T6, T4)
p8_in_gagg(T13, T7, [], T12) → U3_gagg(T13, T7, T12, app10_in_gag(T13, T7, []))
U3_gagg(T13, T7, T12, app10_out_gag(T13, T7, [])) → p8_out_gagg(T13, T7, [], T12)
p8_in_gagg(T15, T7, .(T14, T16), T14) → U4_gagg(T15, T7, T14, T16, app10_in_gag(T15, T7, .(T14, T16)))
U4_gagg(T15, T7, T14, T16, app10_out_gag(T15, T7, .(T14, T16))) → U5_gagg(T15, T7, T14, T16, p8_in_gagg(T15, X34, T16, T14))
U5_gagg(T15, T7, T14, T16, p8_out_gagg(T15, X34, T16, T14)) → p8_out_gagg(T15, T7, .(T14, T16), T14)
U9_gg(T14, T15, T16, p8_out_gagg(T15, X34, T16, T14)) → star1_out_gg(.(T14, T15), .(T14, .(T14, T16)))
P8_IN_GAGG(T15, T7, .(T14, T16), T14) → U4_GAGG(T15, T7, T14, T16, app10_in_gag(T15, T7, .(T14, T16)))
U4_GAGG(T15, T7, T14, T16, app10_out_gag(T15, T7, .(T14, T16))) → P8_IN_GAGG(T15, X34, T16, T14)
app10_in_gag([], T8, T8) → app10_out_gag([], T8, T8)
app10_in_gag(.(T9, T10), X24, .(T9, T11)) → U1_gag(T9, T10, X24, T11, app10_in_gag(T10, X24, T11))
U1_gag(T9, T10, X24, T11, app10_out_gag(T10, X24, T11)) → app10_out_gag(.(T9, T10), X24, .(T9, T11))
P8_IN_GAGG(T15, .(T14, T16), T14) → U4_GAGG(T15, T14, T16, app10_in_gag(T15, .(T14, T16)))
U4_GAGG(T15, T14, T16, app10_out_gag(T7)) → P8_IN_GAGG(T15, T16, T14)
app10_in_gag([], T8) → app10_out_gag(T8)
app10_in_gag(.(T9, T10), .(T9, T11)) → U1_gag(app10_in_gag(T10, T11))
U1_gag(app10_out_gag(X24)) → app10_out_gag(X24)
app10_in_gag(x0, x1)
U1_gag(x0)
From the DPs we obtained the following set of size-change graphs: