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
↳23 PiDP
↳24 UsableRulesProof (⇔)
↳25 PiDP
↳26 PiDPToQDPProof (⇐)
↳27 QDP
↳28 QDPSizeChangeProof (⇔)
↳29 YES
rotate1_in_ga(.(X39, T12), T7) → U4_ga(X39, T12, T7, append29_in_aag(X40, X41, T12))
append29_in_aag(.(X92, X93), X94, .(X92, T21)) → U1_aag(X92, X93, X94, T21, append29_in_aag(X93, X94, T21))
append29_in_aag([], T25, T25) → append29_out_aag([], T25, T25)
U1_aag(X92, X93, X94, T21, append29_out_aag(X93, X94, T21)) → append29_out_aag(.(X92, X93), X94, .(X92, T21))
U4_ga(X39, T12, T7, append29_out_aag(X40, X41, T12)) → rotate1_out_ga(.(X39, T12), T7)
rotate1_in_ga(.(X39, T12), T7) → U5_ga(X39, T12, T7, append29_in_aag(T14, T15, T12))
U5_ga(X39, T12, T7, append29_out_aag(T14, T15, T12)) → U6_ga(X39, T12, T7, append110_in_ggga(T15, X39, T14, T7))
append110_in_ggga(.(T46, T47), X141, T48, .(T46, T50)) → U2_ggga(T46, T47, X141, T48, T50, append110_in_ggga(T47, X141, T48, T50))
append110_in_ggga([], X156, T57, .(X156, T57)) → append110_out_ggga([], X156, T57, .(X156, T57))
U2_ggga(T46, T47, X141, T48, T50, append110_out_ggga(T47, X141, T48, T50)) → append110_out_ggga(.(T46, T47), X141, T48, .(T46, T50))
U6_ga(X39, T12, T7, append110_out_ggga(T15, X39, T14, T7)) → rotate1_out_ga(.(X39, T12), T7)
rotate1_in_ga(T63, T7) → U7_ga(T63, T7, append126_in_ga(T63, T7))
append126_in_ga(.(T79, T80), .(T79, T82)) → U3_ga(T79, T80, T82, append126_in_ga(T80, T82))
append126_in_ga([], []) → append126_out_ga([], [])
U3_ga(T79, T80, T82, append126_out_ga(T80, T82)) → append126_out_ga(.(T79, T80), .(T79, T82))
U7_ga(T63, T7, append126_out_ga(T63, T7)) → rotate1_out_ga(T63, T7)
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
rotate1_in_ga(.(X39, T12), T7) → U4_ga(X39, T12, T7, append29_in_aag(X40, X41, T12))
append29_in_aag(.(X92, X93), X94, .(X92, T21)) → U1_aag(X92, X93, X94, T21, append29_in_aag(X93, X94, T21))
append29_in_aag([], T25, T25) → append29_out_aag([], T25, T25)
U1_aag(X92, X93, X94, T21, append29_out_aag(X93, X94, T21)) → append29_out_aag(.(X92, X93), X94, .(X92, T21))
U4_ga(X39, T12, T7, append29_out_aag(X40, X41, T12)) → rotate1_out_ga(.(X39, T12), T7)
rotate1_in_ga(.(X39, T12), T7) → U5_ga(X39, T12, T7, append29_in_aag(T14, T15, T12))
U5_ga(X39, T12, T7, append29_out_aag(T14, T15, T12)) → U6_ga(X39, T12, T7, append110_in_ggga(T15, X39, T14, T7))
append110_in_ggga(.(T46, T47), X141, T48, .(T46, T50)) → U2_ggga(T46, T47, X141, T48, T50, append110_in_ggga(T47, X141, T48, T50))
append110_in_ggga([], X156, T57, .(X156, T57)) → append110_out_ggga([], X156, T57, .(X156, T57))
U2_ggga(T46, T47, X141, T48, T50, append110_out_ggga(T47, X141, T48, T50)) → append110_out_ggga(.(T46, T47), X141, T48, .(T46, T50))
U6_ga(X39, T12, T7, append110_out_ggga(T15, X39, T14, T7)) → rotate1_out_ga(.(X39, T12), T7)
rotate1_in_ga(T63, T7) → U7_ga(T63, T7, append126_in_ga(T63, T7))
append126_in_ga(.(T79, T80), .(T79, T82)) → U3_ga(T79, T80, T82, append126_in_ga(T80, T82))
append126_in_ga([], []) → append126_out_ga([], [])
U3_ga(T79, T80, T82, append126_out_ga(T80, T82)) → append126_out_ga(.(T79, T80), .(T79, T82))
U7_ga(T63, T7, append126_out_ga(T63, T7)) → rotate1_out_ga(T63, T7)
ROTATE1_IN_GA(.(X39, T12), T7) → U4_GA(X39, T12, T7, append29_in_aag(X40, X41, T12))
ROTATE1_IN_GA(.(X39, T12), T7) → APPEND29_IN_AAG(X40, X41, T12)
APPEND29_IN_AAG(.(X92, X93), X94, .(X92, T21)) → U1_AAG(X92, X93, X94, T21, append29_in_aag(X93, X94, T21))
APPEND29_IN_AAG(.(X92, X93), X94, .(X92, T21)) → APPEND29_IN_AAG(X93, X94, T21)
ROTATE1_IN_GA(.(X39, T12), T7) → U5_GA(X39, T12, T7, append29_in_aag(T14, T15, T12))
U5_GA(X39, T12, T7, append29_out_aag(T14, T15, T12)) → U6_GA(X39, T12, T7, append110_in_ggga(T15, X39, T14, T7))
U5_GA(X39, T12, T7, append29_out_aag(T14, T15, T12)) → APPEND110_IN_GGGA(T15, X39, T14, T7)
APPEND110_IN_GGGA(.(T46, T47), X141, T48, .(T46, T50)) → U2_GGGA(T46, T47, X141, T48, T50, append110_in_ggga(T47, X141, T48, T50))
APPEND110_IN_GGGA(.(T46, T47), X141, T48, .(T46, T50)) → APPEND110_IN_GGGA(T47, X141, T48, T50)
ROTATE1_IN_GA(T63, T7) → U7_GA(T63, T7, append126_in_ga(T63, T7))
ROTATE1_IN_GA(T63, T7) → APPEND126_IN_GA(T63, T7)
APPEND126_IN_GA(.(T79, T80), .(T79, T82)) → U3_GA(T79, T80, T82, append126_in_ga(T80, T82))
APPEND126_IN_GA(.(T79, T80), .(T79, T82)) → APPEND126_IN_GA(T80, T82)
rotate1_in_ga(.(X39, T12), T7) → U4_ga(X39, T12, T7, append29_in_aag(X40, X41, T12))
append29_in_aag(.(X92, X93), X94, .(X92, T21)) → U1_aag(X92, X93, X94, T21, append29_in_aag(X93, X94, T21))
append29_in_aag([], T25, T25) → append29_out_aag([], T25, T25)
U1_aag(X92, X93, X94, T21, append29_out_aag(X93, X94, T21)) → append29_out_aag(.(X92, X93), X94, .(X92, T21))
U4_ga(X39, T12, T7, append29_out_aag(X40, X41, T12)) → rotate1_out_ga(.(X39, T12), T7)
rotate1_in_ga(.(X39, T12), T7) → U5_ga(X39, T12, T7, append29_in_aag(T14, T15, T12))
U5_ga(X39, T12, T7, append29_out_aag(T14, T15, T12)) → U6_ga(X39, T12, T7, append110_in_ggga(T15, X39, T14, T7))
append110_in_ggga(.(T46, T47), X141, T48, .(T46, T50)) → U2_ggga(T46, T47, X141, T48, T50, append110_in_ggga(T47, X141, T48, T50))
append110_in_ggga([], X156, T57, .(X156, T57)) → append110_out_ggga([], X156, T57, .(X156, T57))
U2_ggga(T46, T47, X141, T48, T50, append110_out_ggga(T47, X141, T48, T50)) → append110_out_ggga(.(T46, T47), X141, T48, .(T46, T50))
U6_ga(X39, T12, T7, append110_out_ggga(T15, X39, T14, T7)) → rotate1_out_ga(.(X39, T12), T7)
rotate1_in_ga(T63, T7) → U7_ga(T63, T7, append126_in_ga(T63, T7))
append126_in_ga(.(T79, T80), .(T79, T82)) → U3_ga(T79, T80, T82, append126_in_ga(T80, T82))
append126_in_ga([], []) → append126_out_ga([], [])
U3_ga(T79, T80, T82, append126_out_ga(T80, T82)) → append126_out_ga(.(T79, T80), .(T79, T82))
U7_ga(T63, T7, append126_out_ga(T63, T7)) → rotate1_out_ga(T63, T7)
ROTATE1_IN_GA(.(X39, T12), T7) → U4_GA(X39, T12, T7, append29_in_aag(X40, X41, T12))
ROTATE1_IN_GA(.(X39, T12), T7) → APPEND29_IN_AAG(X40, X41, T12)
APPEND29_IN_AAG(.(X92, X93), X94, .(X92, T21)) → U1_AAG(X92, X93, X94, T21, append29_in_aag(X93, X94, T21))
APPEND29_IN_AAG(.(X92, X93), X94, .(X92, T21)) → APPEND29_IN_AAG(X93, X94, T21)
ROTATE1_IN_GA(.(X39, T12), T7) → U5_GA(X39, T12, T7, append29_in_aag(T14, T15, T12))
U5_GA(X39, T12, T7, append29_out_aag(T14, T15, T12)) → U6_GA(X39, T12, T7, append110_in_ggga(T15, X39, T14, T7))
U5_GA(X39, T12, T7, append29_out_aag(T14, T15, T12)) → APPEND110_IN_GGGA(T15, X39, T14, T7)
APPEND110_IN_GGGA(.(T46, T47), X141, T48, .(T46, T50)) → U2_GGGA(T46, T47, X141, T48, T50, append110_in_ggga(T47, X141, T48, T50))
APPEND110_IN_GGGA(.(T46, T47), X141, T48, .(T46, T50)) → APPEND110_IN_GGGA(T47, X141, T48, T50)
ROTATE1_IN_GA(T63, T7) → U7_GA(T63, T7, append126_in_ga(T63, T7))
ROTATE1_IN_GA(T63, T7) → APPEND126_IN_GA(T63, T7)
APPEND126_IN_GA(.(T79, T80), .(T79, T82)) → U3_GA(T79, T80, T82, append126_in_ga(T80, T82))
APPEND126_IN_GA(.(T79, T80), .(T79, T82)) → APPEND126_IN_GA(T80, T82)
rotate1_in_ga(.(X39, T12), T7) → U4_ga(X39, T12, T7, append29_in_aag(X40, X41, T12))
append29_in_aag(.(X92, X93), X94, .(X92, T21)) → U1_aag(X92, X93, X94, T21, append29_in_aag(X93, X94, T21))
append29_in_aag([], T25, T25) → append29_out_aag([], T25, T25)
U1_aag(X92, X93, X94, T21, append29_out_aag(X93, X94, T21)) → append29_out_aag(.(X92, X93), X94, .(X92, T21))
U4_ga(X39, T12, T7, append29_out_aag(X40, X41, T12)) → rotate1_out_ga(.(X39, T12), T7)
rotate1_in_ga(.(X39, T12), T7) → U5_ga(X39, T12, T7, append29_in_aag(T14, T15, T12))
U5_ga(X39, T12, T7, append29_out_aag(T14, T15, T12)) → U6_ga(X39, T12, T7, append110_in_ggga(T15, X39, T14, T7))
append110_in_ggga(.(T46, T47), X141, T48, .(T46, T50)) → U2_ggga(T46, T47, X141, T48, T50, append110_in_ggga(T47, X141, T48, T50))
append110_in_ggga([], X156, T57, .(X156, T57)) → append110_out_ggga([], X156, T57, .(X156, T57))
U2_ggga(T46, T47, X141, T48, T50, append110_out_ggga(T47, X141, T48, T50)) → append110_out_ggga(.(T46, T47), X141, T48, .(T46, T50))
U6_ga(X39, T12, T7, append110_out_ggga(T15, X39, T14, T7)) → rotate1_out_ga(.(X39, T12), T7)
rotate1_in_ga(T63, T7) → U7_ga(T63, T7, append126_in_ga(T63, T7))
append126_in_ga(.(T79, T80), .(T79, T82)) → U3_ga(T79, T80, T82, append126_in_ga(T80, T82))
append126_in_ga([], []) → append126_out_ga([], [])
U3_ga(T79, T80, T82, append126_out_ga(T80, T82)) → append126_out_ga(.(T79, T80), .(T79, T82))
U7_ga(T63, T7, append126_out_ga(T63, T7)) → rotate1_out_ga(T63, T7)
APPEND126_IN_GA(.(T79, T80), .(T79, T82)) → APPEND126_IN_GA(T80, T82)
rotate1_in_ga(.(X39, T12), T7) → U4_ga(X39, T12, T7, append29_in_aag(X40, X41, T12))
append29_in_aag(.(X92, X93), X94, .(X92, T21)) → U1_aag(X92, X93, X94, T21, append29_in_aag(X93, X94, T21))
append29_in_aag([], T25, T25) → append29_out_aag([], T25, T25)
U1_aag(X92, X93, X94, T21, append29_out_aag(X93, X94, T21)) → append29_out_aag(.(X92, X93), X94, .(X92, T21))
U4_ga(X39, T12, T7, append29_out_aag(X40, X41, T12)) → rotate1_out_ga(.(X39, T12), T7)
rotate1_in_ga(.(X39, T12), T7) → U5_ga(X39, T12, T7, append29_in_aag(T14, T15, T12))
U5_ga(X39, T12, T7, append29_out_aag(T14, T15, T12)) → U6_ga(X39, T12, T7, append110_in_ggga(T15, X39, T14, T7))
append110_in_ggga(.(T46, T47), X141, T48, .(T46, T50)) → U2_ggga(T46, T47, X141, T48, T50, append110_in_ggga(T47, X141, T48, T50))
append110_in_ggga([], X156, T57, .(X156, T57)) → append110_out_ggga([], X156, T57, .(X156, T57))
U2_ggga(T46, T47, X141, T48, T50, append110_out_ggga(T47, X141, T48, T50)) → append110_out_ggga(.(T46, T47), X141, T48, .(T46, T50))
U6_ga(X39, T12, T7, append110_out_ggga(T15, X39, T14, T7)) → rotate1_out_ga(.(X39, T12), T7)
rotate1_in_ga(T63, T7) → U7_ga(T63, T7, append126_in_ga(T63, T7))
append126_in_ga(.(T79, T80), .(T79, T82)) → U3_ga(T79, T80, T82, append126_in_ga(T80, T82))
append126_in_ga([], []) → append126_out_ga([], [])
U3_ga(T79, T80, T82, append126_out_ga(T80, T82)) → append126_out_ga(.(T79, T80), .(T79, T82))
U7_ga(T63, T7, append126_out_ga(T63, T7)) → rotate1_out_ga(T63, T7)
APPEND126_IN_GA(.(T79, T80), .(T79, T82)) → APPEND126_IN_GA(T80, T82)
APPEND126_IN_GA(.(T79, T80)) → APPEND126_IN_GA(T80)
From the DPs we obtained the following set of size-change graphs:
APPEND110_IN_GGGA(.(T46, T47), X141, T48, .(T46, T50)) → APPEND110_IN_GGGA(T47, X141, T48, T50)
rotate1_in_ga(.(X39, T12), T7) → U4_ga(X39, T12, T7, append29_in_aag(X40, X41, T12))
append29_in_aag(.(X92, X93), X94, .(X92, T21)) → U1_aag(X92, X93, X94, T21, append29_in_aag(X93, X94, T21))
append29_in_aag([], T25, T25) → append29_out_aag([], T25, T25)
U1_aag(X92, X93, X94, T21, append29_out_aag(X93, X94, T21)) → append29_out_aag(.(X92, X93), X94, .(X92, T21))
U4_ga(X39, T12, T7, append29_out_aag(X40, X41, T12)) → rotate1_out_ga(.(X39, T12), T7)
rotate1_in_ga(.(X39, T12), T7) → U5_ga(X39, T12, T7, append29_in_aag(T14, T15, T12))
U5_ga(X39, T12, T7, append29_out_aag(T14, T15, T12)) → U6_ga(X39, T12, T7, append110_in_ggga(T15, X39, T14, T7))
append110_in_ggga(.(T46, T47), X141, T48, .(T46, T50)) → U2_ggga(T46, T47, X141, T48, T50, append110_in_ggga(T47, X141, T48, T50))
append110_in_ggga([], X156, T57, .(X156, T57)) → append110_out_ggga([], X156, T57, .(X156, T57))
U2_ggga(T46, T47, X141, T48, T50, append110_out_ggga(T47, X141, T48, T50)) → append110_out_ggga(.(T46, T47), X141, T48, .(T46, T50))
U6_ga(X39, T12, T7, append110_out_ggga(T15, X39, T14, T7)) → rotate1_out_ga(.(X39, T12), T7)
rotate1_in_ga(T63, T7) → U7_ga(T63, T7, append126_in_ga(T63, T7))
append126_in_ga(.(T79, T80), .(T79, T82)) → U3_ga(T79, T80, T82, append126_in_ga(T80, T82))
append126_in_ga([], []) → append126_out_ga([], [])
U3_ga(T79, T80, T82, append126_out_ga(T80, T82)) → append126_out_ga(.(T79, T80), .(T79, T82))
U7_ga(T63, T7, append126_out_ga(T63, T7)) → rotate1_out_ga(T63, T7)
APPEND110_IN_GGGA(.(T46, T47), X141, T48, .(T46, T50)) → APPEND110_IN_GGGA(T47, X141, T48, T50)
APPEND110_IN_GGGA(.(T46, T47), X141, T48) → APPEND110_IN_GGGA(T47, X141, T48)
From the DPs we obtained the following set of size-change graphs:
APPEND29_IN_AAG(.(X92, X93), X94, .(X92, T21)) → APPEND29_IN_AAG(X93, X94, T21)
rotate1_in_ga(.(X39, T12), T7) → U4_ga(X39, T12, T7, append29_in_aag(X40, X41, T12))
append29_in_aag(.(X92, X93), X94, .(X92, T21)) → U1_aag(X92, X93, X94, T21, append29_in_aag(X93, X94, T21))
append29_in_aag([], T25, T25) → append29_out_aag([], T25, T25)
U1_aag(X92, X93, X94, T21, append29_out_aag(X93, X94, T21)) → append29_out_aag(.(X92, X93), X94, .(X92, T21))
U4_ga(X39, T12, T7, append29_out_aag(X40, X41, T12)) → rotate1_out_ga(.(X39, T12), T7)
rotate1_in_ga(.(X39, T12), T7) → U5_ga(X39, T12, T7, append29_in_aag(T14, T15, T12))
U5_ga(X39, T12, T7, append29_out_aag(T14, T15, T12)) → U6_ga(X39, T12, T7, append110_in_ggga(T15, X39, T14, T7))
append110_in_ggga(.(T46, T47), X141, T48, .(T46, T50)) → U2_ggga(T46, T47, X141, T48, T50, append110_in_ggga(T47, X141, T48, T50))
append110_in_ggga([], X156, T57, .(X156, T57)) → append110_out_ggga([], X156, T57, .(X156, T57))
U2_ggga(T46, T47, X141, T48, T50, append110_out_ggga(T47, X141, T48, T50)) → append110_out_ggga(.(T46, T47), X141, T48, .(T46, T50))
U6_ga(X39, T12, T7, append110_out_ggga(T15, X39, T14, T7)) → rotate1_out_ga(.(X39, T12), T7)
rotate1_in_ga(T63, T7) → U7_ga(T63, T7, append126_in_ga(T63, T7))
append126_in_ga(.(T79, T80), .(T79, T82)) → U3_ga(T79, T80, T82, append126_in_ga(T80, T82))
append126_in_ga([], []) → append126_out_ga([], [])
U3_ga(T79, T80, T82, append126_out_ga(T80, T82)) → append126_out_ga(.(T79, T80), .(T79, T82))
U7_ga(T63, T7, append126_out_ga(T63, T7)) → rotate1_out_ga(T63, T7)
APPEND29_IN_AAG(.(X92, X93), X94, .(X92, T21)) → APPEND29_IN_AAG(X93, X94, T21)
APPEND29_IN_AAG(.(X92, T21)) → APPEND29_IN_AAG(T21)
From the DPs we obtained the following set of size-change graphs: