0 Prolog
↳1 PrologToPrologProblemTransformerProof (⇒, 183 ms)
↳2 Prolog
↳3 PrologToPiTRSProof (⇒, 0 ms)
↳4 PiTRS
↳5 DependencyPairsProof (⇔, 44 ms)
↳6 PiDP
↳7 DependencyGraphProof (⇔, 0 ms)
↳8 AND
↳9 PiDP
↳10 UsableRulesProof (⇔, 0 ms)
↳11 PiDP
↳12 PiDPToQDPProof (⇒, 0 ms)
↳13 QDP
↳14 QDPSizeChangeProof (⇔, 0 ms)
↳15 YES
↳16 PiDP
↳17 UsableRulesProof (⇔, 0 ms)
↳18 PiDP
↳19 PiDPToQDPProof (⇒, 0 ms)
↳20 QDP
↳21 QDPSizeChangeProof (⇔, 0 ms)
↳22 YES
goalD_in_g(0) → U4_g(appendB_in_aa(X10, X11))
appendB_in_aa(X53, X53) → appendB_out_aa(X53, X53)
U4_g(appendB_out_aa(X10, X11)) → goalD_out_g(0)
goalD_in_g(s(T9)) → U5_g(T9, s2lA_in_ga(T9, X72))
s2lA_in_ga(0, []) → s2lA_out_ga(0, [])
s2lA_in_ga(s(T16), .(X111, X112)) → U1_ga(T16, X111, X112, s2lA_in_ga(T16, X112))
U1_ga(T16, X111, X112, s2lA_out_ga(T16, X112)) → s2lA_out_ga(s(T16), .(X111, X112))
U5_g(T9, s2lA_out_ga(T9, X72)) → goalD_out_g(s(T9))
goalD_in_g(s(T9)) → U6_g(T9, s2lA_in_ga(T9, T31))
U6_g(T9, s2lA_out_ga(T9, T31)) → U7_g(T9, appendC_in_gaa(T31, X151, X153))
appendC_in_gaa([], X210, X210) → appendC_out_gaa([], X210, X210)
appendC_in_gaa([], X235, .(X251, X237)) → U2_gaa(X235, X251, X237, appendB_in_aa(X235, X237))
U2_gaa(X235, X251, X237, appendB_out_aa(X235, X237)) → appendC_out_gaa([], X235, .(X251, X237))
appendC_in_gaa(.(T50, T52), X235, .(T50, X237)) → U3_gaa(T50, T52, X235, X237, appendC_in_gaa(T52, X235, X237))
U3_gaa(T50, T52, X235, X237, appendC_out_gaa(T52, X235, X237)) → appendC_out_gaa(.(T50, T52), X235, .(T50, X237))
U7_g(T9, appendC_out_gaa(T31, X151, X153)) → goalD_out_g(s(T9))
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
goalD_in_g(0) → U4_g(appendB_in_aa(X10, X11))
appendB_in_aa(X53, X53) → appendB_out_aa(X53, X53)
U4_g(appendB_out_aa(X10, X11)) → goalD_out_g(0)
goalD_in_g(s(T9)) → U5_g(T9, s2lA_in_ga(T9, X72))
s2lA_in_ga(0, []) → s2lA_out_ga(0, [])
s2lA_in_ga(s(T16), .(X111, X112)) → U1_ga(T16, X111, X112, s2lA_in_ga(T16, X112))
U1_ga(T16, X111, X112, s2lA_out_ga(T16, X112)) → s2lA_out_ga(s(T16), .(X111, X112))
U5_g(T9, s2lA_out_ga(T9, X72)) → goalD_out_g(s(T9))
goalD_in_g(s(T9)) → U6_g(T9, s2lA_in_ga(T9, T31))
U6_g(T9, s2lA_out_ga(T9, T31)) → U7_g(T9, appendC_in_gaa(T31, X151, X153))
appendC_in_gaa([], X210, X210) → appendC_out_gaa([], X210, X210)
appendC_in_gaa([], X235, .(X251, X237)) → U2_gaa(X235, X251, X237, appendB_in_aa(X235, X237))
U2_gaa(X235, X251, X237, appendB_out_aa(X235, X237)) → appendC_out_gaa([], X235, .(X251, X237))
appendC_in_gaa(.(T50, T52), X235, .(T50, X237)) → U3_gaa(T50, T52, X235, X237, appendC_in_gaa(T52, X235, X237))
U3_gaa(T50, T52, X235, X237, appendC_out_gaa(T52, X235, X237)) → appendC_out_gaa(.(T50, T52), X235, .(T50, X237))
U7_g(T9, appendC_out_gaa(T31, X151, X153)) → goalD_out_g(s(T9))
GOALD_IN_G(0) → U4_G(appendB_in_aa(X10, X11))
GOALD_IN_G(0) → APPENDB_IN_AA(X10, X11)
GOALD_IN_G(s(T9)) → U5_G(T9, s2lA_in_ga(T9, X72))
GOALD_IN_G(s(T9)) → S2LA_IN_GA(T9, X72)
S2LA_IN_GA(s(T16), .(X111, X112)) → U1_GA(T16, X111, X112, s2lA_in_ga(T16, X112))
S2LA_IN_GA(s(T16), .(X111, X112)) → S2LA_IN_GA(T16, X112)
GOALD_IN_G(s(T9)) → U6_G(T9, s2lA_in_ga(T9, T31))
U6_G(T9, s2lA_out_ga(T9, T31)) → U7_G(T9, appendC_in_gaa(T31, X151, X153))
U6_G(T9, s2lA_out_ga(T9, T31)) → APPENDC_IN_GAA(T31, X151, X153)
APPENDC_IN_GAA([], X235, .(X251, X237)) → U2_GAA(X235, X251, X237, appendB_in_aa(X235, X237))
APPENDC_IN_GAA([], X235, .(X251, X237)) → APPENDB_IN_AA(X235, X237)
APPENDC_IN_GAA(.(T50, T52), X235, .(T50, X237)) → U3_GAA(T50, T52, X235, X237, appendC_in_gaa(T52, X235, X237))
APPENDC_IN_GAA(.(T50, T52), X235, .(T50, X237)) → APPENDC_IN_GAA(T52, X235, X237)
goalD_in_g(0) → U4_g(appendB_in_aa(X10, X11))
appendB_in_aa(X53, X53) → appendB_out_aa(X53, X53)
U4_g(appendB_out_aa(X10, X11)) → goalD_out_g(0)
goalD_in_g(s(T9)) → U5_g(T9, s2lA_in_ga(T9, X72))
s2lA_in_ga(0, []) → s2lA_out_ga(0, [])
s2lA_in_ga(s(T16), .(X111, X112)) → U1_ga(T16, X111, X112, s2lA_in_ga(T16, X112))
U1_ga(T16, X111, X112, s2lA_out_ga(T16, X112)) → s2lA_out_ga(s(T16), .(X111, X112))
U5_g(T9, s2lA_out_ga(T9, X72)) → goalD_out_g(s(T9))
goalD_in_g(s(T9)) → U6_g(T9, s2lA_in_ga(T9, T31))
U6_g(T9, s2lA_out_ga(T9, T31)) → U7_g(T9, appendC_in_gaa(T31, X151, X153))
appendC_in_gaa([], X210, X210) → appendC_out_gaa([], X210, X210)
appendC_in_gaa([], X235, .(X251, X237)) → U2_gaa(X235, X251, X237, appendB_in_aa(X235, X237))
U2_gaa(X235, X251, X237, appendB_out_aa(X235, X237)) → appendC_out_gaa([], X235, .(X251, X237))
appendC_in_gaa(.(T50, T52), X235, .(T50, X237)) → U3_gaa(T50, T52, X235, X237, appendC_in_gaa(T52, X235, X237))
U3_gaa(T50, T52, X235, X237, appendC_out_gaa(T52, X235, X237)) → appendC_out_gaa(.(T50, T52), X235, .(T50, X237))
U7_g(T9, appendC_out_gaa(T31, X151, X153)) → goalD_out_g(s(T9))
GOALD_IN_G(0) → U4_G(appendB_in_aa(X10, X11))
GOALD_IN_G(0) → APPENDB_IN_AA(X10, X11)
GOALD_IN_G(s(T9)) → U5_G(T9, s2lA_in_ga(T9, X72))
GOALD_IN_G(s(T9)) → S2LA_IN_GA(T9, X72)
S2LA_IN_GA(s(T16), .(X111, X112)) → U1_GA(T16, X111, X112, s2lA_in_ga(T16, X112))
S2LA_IN_GA(s(T16), .(X111, X112)) → S2LA_IN_GA(T16, X112)
GOALD_IN_G(s(T9)) → U6_G(T9, s2lA_in_ga(T9, T31))
U6_G(T9, s2lA_out_ga(T9, T31)) → U7_G(T9, appendC_in_gaa(T31, X151, X153))
U6_G(T9, s2lA_out_ga(T9, T31)) → APPENDC_IN_GAA(T31, X151, X153)
APPENDC_IN_GAA([], X235, .(X251, X237)) → U2_GAA(X235, X251, X237, appendB_in_aa(X235, X237))
APPENDC_IN_GAA([], X235, .(X251, X237)) → APPENDB_IN_AA(X235, X237)
APPENDC_IN_GAA(.(T50, T52), X235, .(T50, X237)) → U3_GAA(T50, T52, X235, X237, appendC_in_gaa(T52, X235, X237))
APPENDC_IN_GAA(.(T50, T52), X235, .(T50, X237)) → APPENDC_IN_GAA(T52, X235, X237)
goalD_in_g(0) → U4_g(appendB_in_aa(X10, X11))
appendB_in_aa(X53, X53) → appendB_out_aa(X53, X53)
U4_g(appendB_out_aa(X10, X11)) → goalD_out_g(0)
goalD_in_g(s(T9)) → U5_g(T9, s2lA_in_ga(T9, X72))
s2lA_in_ga(0, []) → s2lA_out_ga(0, [])
s2lA_in_ga(s(T16), .(X111, X112)) → U1_ga(T16, X111, X112, s2lA_in_ga(T16, X112))
U1_ga(T16, X111, X112, s2lA_out_ga(T16, X112)) → s2lA_out_ga(s(T16), .(X111, X112))
U5_g(T9, s2lA_out_ga(T9, X72)) → goalD_out_g(s(T9))
goalD_in_g(s(T9)) → U6_g(T9, s2lA_in_ga(T9, T31))
U6_g(T9, s2lA_out_ga(T9, T31)) → U7_g(T9, appendC_in_gaa(T31, X151, X153))
appendC_in_gaa([], X210, X210) → appendC_out_gaa([], X210, X210)
appendC_in_gaa([], X235, .(X251, X237)) → U2_gaa(X235, X251, X237, appendB_in_aa(X235, X237))
U2_gaa(X235, X251, X237, appendB_out_aa(X235, X237)) → appendC_out_gaa([], X235, .(X251, X237))
appendC_in_gaa(.(T50, T52), X235, .(T50, X237)) → U3_gaa(T50, T52, X235, X237, appendC_in_gaa(T52, X235, X237))
U3_gaa(T50, T52, X235, X237, appendC_out_gaa(T52, X235, X237)) → appendC_out_gaa(.(T50, T52), X235, .(T50, X237))
U7_g(T9, appendC_out_gaa(T31, X151, X153)) → goalD_out_g(s(T9))
APPENDC_IN_GAA(.(T50, T52), X235, .(T50, X237)) → APPENDC_IN_GAA(T52, X235, X237)
goalD_in_g(0) → U4_g(appendB_in_aa(X10, X11))
appendB_in_aa(X53, X53) → appendB_out_aa(X53, X53)
U4_g(appendB_out_aa(X10, X11)) → goalD_out_g(0)
goalD_in_g(s(T9)) → U5_g(T9, s2lA_in_ga(T9, X72))
s2lA_in_ga(0, []) → s2lA_out_ga(0, [])
s2lA_in_ga(s(T16), .(X111, X112)) → U1_ga(T16, X111, X112, s2lA_in_ga(T16, X112))
U1_ga(T16, X111, X112, s2lA_out_ga(T16, X112)) → s2lA_out_ga(s(T16), .(X111, X112))
U5_g(T9, s2lA_out_ga(T9, X72)) → goalD_out_g(s(T9))
goalD_in_g(s(T9)) → U6_g(T9, s2lA_in_ga(T9, T31))
U6_g(T9, s2lA_out_ga(T9, T31)) → U7_g(T9, appendC_in_gaa(T31, X151, X153))
appendC_in_gaa([], X210, X210) → appendC_out_gaa([], X210, X210)
appendC_in_gaa([], X235, .(X251, X237)) → U2_gaa(X235, X251, X237, appendB_in_aa(X235, X237))
U2_gaa(X235, X251, X237, appendB_out_aa(X235, X237)) → appendC_out_gaa([], X235, .(X251, X237))
appendC_in_gaa(.(T50, T52), X235, .(T50, X237)) → U3_gaa(T50, T52, X235, X237, appendC_in_gaa(T52, X235, X237))
U3_gaa(T50, T52, X235, X237, appendC_out_gaa(T52, X235, X237)) → appendC_out_gaa(.(T50, T52), X235, .(T50, X237))
U7_g(T9, appendC_out_gaa(T31, X151, X153)) → goalD_out_g(s(T9))
APPENDC_IN_GAA(.(T50, T52), X235, .(T50, X237)) → APPENDC_IN_GAA(T52, X235, X237)
APPENDC_IN_GAA(.(T52)) → APPENDC_IN_GAA(T52)
From the DPs we obtained the following set of size-change graphs:
S2LA_IN_GA(s(T16), .(X111, X112)) → S2LA_IN_GA(T16, X112)
goalD_in_g(0) → U4_g(appendB_in_aa(X10, X11))
appendB_in_aa(X53, X53) → appendB_out_aa(X53, X53)
U4_g(appendB_out_aa(X10, X11)) → goalD_out_g(0)
goalD_in_g(s(T9)) → U5_g(T9, s2lA_in_ga(T9, X72))
s2lA_in_ga(0, []) → s2lA_out_ga(0, [])
s2lA_in_ga(s(T16), .(X111, X112)) → U1_ga(T16, X111, X112, s2lA_in_ga(T16, X112))
U1_ga(T16, X111, X112, s2lA_out_ga(T16, X112)) → s2lA_out_ga(s(T16), .(X111, X112))
U5_g(T9, s2lA_out_ga(T9, X72)) → goalD_out_g(s(T9))
goalD_in_g(s(T9)) → U6_g(T9, s2lA_in_ga(T9, T31))
U6_g(T9, s2lA_out_ga(T9, T31)) → U7_g(T9, appendC_in_gaa(T31, X151, X153))
appendC_in_gaa([], X210, X210) → appendC_out_gaa([], X210, X210)
appendC_in_gaa([], X235, .(X251, X237)) → U2_gaa(X235, X251, X237, appendB_in_aa(X235, X237))
U2_gaa(X235, X251, X237, appendB_out_aa(X235, X237)) → appendC_out_gaa([], X235, .(X251, X237))
appendC_in_gaa(.(T50, T52), X235, .(T50, X237)) → U3_gaa(T50, T52, X235, X237, appendC_in_gaa(T52, X235, X237))
U3_gaa(T50, T52, X235, X237, appendC_out_gaa(T52, X235, X237)) → appendC_out_gaa(.(T50, T52), X235, .(T50, X237))
U7_g(T9, appendC_out_gaa(T31, X151, X153)) → goalD_out_g(s(T9))
S2LA_IN_GA(s(T16), .(X111, X112)) → S2LA_IN_GA(T16, X112)
S2LA_IN_GA(s(T16)) → S2LA_IN_GA(T16)
From the DPs we obtained the following set of size-change graphs: