0 Prolog
↳1 PrologToPrologProblemTransformerProof (⇐)
↳2 Prolog
↳3 PrologToPiTRSProof (⇐)
↳4 PiTRS
↳5 DependencyPairsProof (⇔)
↳6 PiDP
↳7 DependencyGraphProof (⇔)
↳8 PiDP
↳9 UsableRulesProof (⇔)
↳10 PiDP
↳11 PiDPToQDPProof (⇐)
↳12 QDP
↳13 QDPSizeChangeProof (⇔)
↳14 YES
len11_in_ga([], 0) → len11_out_ga([], 0)
len11_in_ga(.(T6, []), s(0)) → len11_out_ga(.(T6, []), s(0))
len11_in_ga(.(T6, .(T17, T18)), T9) → U3_ga(T6, T17, T18, T9, len120_in_ga(T18, X31))
len120_in_ga([], 0) → len120_out_ga([], 0)
len120_in_ga(.(T24, T25), X49) → U1_ga(T24, T25, X49, len120_in_ga(T25, X48))
len120_in_ga(.(T24, T25), s(T29)) → U2_ga(T24, T25, T29, len120_in_ga(T25, T29))
U2_ga(T24, T25, T29, len120_out_ga(T25, T29)) → len120_out_ga(.(T24, T25), s(T29))
U1_ga(T24, T25, X49, len120_out_ga(T25, X48)) → len120_out_ga(.(T24, T25), X49)
U3_ga(T6, T17, T18, T9, len120_out_ga(T18, X31)) → len11_out_ga(.(T6, .(T17, T18)), T9)
len11_in_ga(.(T6, .(T17, T18)), s(s(T38))) → U4_ga(T6, T17, T18, T38, len120_in_ga(T18, T38))
U4_ga(T6, T17, T18, T38, len120_out_ga(T18, T38)) → len11_out_ga(.(T6, .(T17, T18)), s(s(T38)))
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
len11_in_ga([], 0) → len11_out_ga([], 0)
len11_in_ga(.(T6, []), s(0)) → len11_out_ga(.(T6, []), s(0))
len11_in_ga(.(T6, .(T17, T18)), T9) → U3_ga(T6, T17, T18, T9, len120_in_ga(T18, X31))
len120_in_ga([], 0) → len120_out_ga([], 0)
len120_in_ga(.(T24, T25), X49) → U1_ga(T24, T25, X49, len120_in_ga(T25, X48))
len120_in_ga(.(T24, T25), s(T29)) → U2_ga(T24, T25, T29, len120_in_ga(T25, T29))
U2_ga(T24, T25, T29, len120_out_ga(T25, T29)) → len120_out_ga(.(T24, T25), s(T29))
U1_ga(T24, T25, X49, len120_out_ga(T25, X48)) → len120_out_ga(.(T24, T25), X49)
U3_ga(T6, T17, T18, T9, len120_out_ga(T18, X31)) → len11_out_ga(.(T6, .(T17, T18)), T9)
len11_in_ga(.(T6, .(T17, T18)), s(s(T38))) → U4_ga(T6, T17, T18, T38, len120_in_ga(T18, T38))
U4_ga(T6, T17, T18, T38, len120_out_ga(T18, T38)) → len11_out_ga(.(T6, .(T17, T18)), s(s(T38)))
LEN11_IN_GA(.(T6, .(T17, T18)), T9) → U3_GA(T6, T17, T18, T9, len120_in_ga(T18, X31))
LEN11_IN_GA(.(T6, .(T17, T18)), T9) → LEN120_IN_GA(T18, X31)
LEN120_IN_GA(.(T24, T25), X49) → U1_GA(T24, T25, X49, len120_in_ga(T25, X48))
LEN120_IN_GA(.(T24, T25), X49) → LEN120_IN_GA(T25, X48)
LEN120_IN_GA(.(T24, T25), s(T29)) → U2_GA(T24, T25, T29, len120_in_ga(T25, T29))
LEN120_IN_GA(.(T24, T25), s(T29)) → LEN120_IN_GA(T25, T29)
LEN11_IN_GA(.(T6, .(T17, T18)), s(s(T38))) → U4_GA(T6, T17, T18, T38, len120_in_ga(T18, T38))
LEN11_IN_GA(.(T6, .(T17, T18)), s(s(T38))) → LEN120_IN_GA(T18, T38)
len11_in_ga([], 0) → len11_out_ga([], 0)
len11_in_ga(.(T6, []), s(0)) → len11_out_ga(.(T6, []), s(0))
len11_in_ga(.(T6, .(T17, T18)), T9) → U3_ga(T6, T17, T18, T9, len120_in_ga(T18, X31))
len120_in_ga([], 0) → len120_out_ga([], 0)
len120_in_ga(.(T24, T25), X49) → U1_ga(T24, T25, X49, len120_in_ga(T25, X48))
len120_in_ga(.(T24, T25), s(T29)) → U2_ga(T24, T25, T29, len120_in_ga(T25, T29))
U2_ga(T24, T25, T29, len120_out_ga(T25, T29)) → len120_out_ga(.(T24, T25), s(T29))
U1_ga(T24, T25, X49, len120_out_ga(T25, X48)) → len120_out_ga(.(T24, T25), X49)
U3_ga(T6, T17, T18, T9, len120_out_ga(T18, X31)) → len11_out_ga(.(T6, .(T17, T18)), T9)
len11_in_ga(.(T6, .(T17, T18)), s(s(T38))) → U4_ga(T6, T17, T18, T38, len120_in_ga(T18, T38))
U4_ga(T6, T17, T18, T38, len120_out_ga(T18, T38)) → len11_out_ga(.(T6, .(T17, T18)), s(s(T38)))
LEN11_IN_GA(.(T6, .(T17, T18)), T9) → U3_GA(T6, T17, T18, T9, len120_in_ga(T18, X31))
LEN11_IN_GA(.(T6, .(T17, T18)), T9) → LEN120_IN_GA(T18, X31)
LEN120_IN_GA(.(T24, T25), X49) → U1_GA(T24, T25, X49, len120_in_ga(T25, X48))
LEN120_IN_GA(.(T24, T25), X49) → LEN120_IN_GA(T25, X48)
LEN120_IN_GA(.(T24, T25), s(T29)) → U2_GA(T24, T25, T29, len120_in_ga(T25, T29))
LEN120_IN_GA(.(T24, T25), s(T29)) → LEN120_IN_GA(T25, T29)
LEN11_IN_GA(.(T6, .(T17, T18)), s(s(T38))) → U4_GA(T6, T17, T18, T38, len120_in_ga(T18, T38))
LEN11_IN_GA(.(T6, .(T17, T18)), s(s(T38))) → LEN120_IN_GA(T18, T38)
len11_in_ga([], 0) → len11_out_ga([], 0)
len11_in_ga(.(T6, []), s(0)) → len11_out_ga(.(T6, []), s(0))
len11_in_ga(.(T6, .(T17, T18)), T9) → U3_ga(T6, T17, T18, T9, len120_in_ga(T18, X31))
len120_in_ga([], 0) → len120_out_ga([], 0)
len120_in_ga(.(T24, T25), X49) → U1_ga(T24, T25, X49, len120_in_ga(T25, X48))
len120_in_ga(.(T24, T25), s(T29)) → U2_ga(T24, T25, T29, len120_in_ga(T25, T29))
U2_ga(T24, T25, T29, len120_out_ga(T25, T29)) → len120_out_ga(.(T24, T25), s(T29))
U1_ga(T24, T25, X49, len120_out_ga(T25, X48)) → len120_out_ga(.(T24, T25), X49)
U3_ga(T6, T17, T18, T9, len120_out_ga(T18, X31)) → len11_out_ga(.(T6, .(T17, T18)), T9)
len11_in_ga(.(T6, .(T17, T18)), s(s(T38))) → U4_ga(T6, T17, T18, T38, len120_in_ga(T18, T38))
U4_ga(T6, T17, T18, T38, len120_out_ga(T18, T38)) → len11_out_ga(.(T6, .(T17, T18)), s(s(T38)))
LEN120_IN_GA(.(T24, T25), s(T29)) → LEN120_IN_GA(T25, T29)
LEN120_IN_GA(.(T24, T25), X49) → LEN120_IN_GA(T25, X48)
len11_in_ga([], 0) → len11_out_ga([], 0)
len11_in_ga(.(T6, []), s(0)) → len11_out_ga(.(T6, []), s(0))
len11_in_ga(.(T6, .(T17, T18)), T9) → U3_ga(T6, T17, T18, T9, len120_in_ga(T18, X31))
len120_in_ga([], 0) → len120_out_ga([], 0)
len120_in_ga(.(T24, T25), X49) → U1_ga(T24, T25, X49, len120_in_ga(T25, X48))
len120_in_ga(.(T24, T25), s(T29)) → U2_ga(T24, T25, T29, len120_in_ga(T25, T29))
U2_ga(T24, T25, T29, len120_out_ga(T25, T29)) → len120_out_ga(.(T24, T25), s(T29))
U1_ga(T24, T25, X49, len120_out_ga(T25, X48)) → len120_out_ga(.(T24, T25), X49)
U3_ga(T6, T17, T18, T9, len120_out_ga(T18, X31)) → len11_out_ga(.(T6, .(T17, T18)), T9)
len11_in_ga(.(T6, .(T17, T18)), s(s(T38))) → U4_ga(T6, T17, T18, T38, len120_in_ga(T18, T38))
U4_ga(T6, T17, T18, T38, len120_out_ga(T18, T38)) → len11_out_ga(.(T6, .(T17, T18)), s(s(T38)))
LEN120_IN_GA(.(T24, T25), s(T29)) → LEN120_IN_GA(T25, T29)
LEN120_IN_GA(.(T24, T25), X49) → LEN120_IN_GA(T25, X48)
LEN120_IN_GA(.(T24, T25)) → LEN120_IN_GA(T25)
From the DPs we obtained the following set of size-change graphs: