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
som31_in_gaa([], T5, T5) → som31_out_gaa([], T5, T5)
som31_in_gaa([], [], []) → som31_out_gaa([], [], [])
som31_in_gaa(T7, [], T7) → som31_out_gaa(T7, [], T7)
som31_in_gaa(.(T13, []), .(T15, T24), .(+(T13, T15), T24)) → som31_out_gaa(.(T13, []), .(T15, T24), .(+(T13, T15), T24))
som31_in_gaa(.(T13, T29), .(T15, []), .(+(T13, T15), T29)) → som31_out_gaa(.(T13, T29), .(T15, []), .(+(T13, T15), T29))
som31_in_gaa(.(T13, .(T40, T41)), .(T15, .(T42, T45)), .(+(T13, T15), .(+(T40, T42), T46))) → U1_gaa(T13, T40, T41, T15, T42, T45, T46, som31_in_gaa(T41, T45, T46))
som31_in_gaa(.(T54, .(T81, T82)), .(T56, .(T83, T86)), .(+(T54, T56), .(+(T81, T83), T87))) → U2_gaa(T54, T81, T82, T56, T83, T86, T87, som31_in_gaa(T82, T86, T87))
U2_gaa(T54, T81, T82, T56, T83, T86, T87, som31_out_gaa(T82, T86, T87)) → som31_out_gaa(.(T54, .(T81, T82)), .(T56, .(T83, T86)), .(+(T54, T56), .(+(T81, T83), T87)))
U1_gaa(T13, T40, T41, T15, T42, T45, T46, som31_out_gaa(T41, T45, T46)) → som31_out_gaa(.(T13, .(T40, T41)), .(T15, .(T42, T45)), .(+(T13, T15), .(+(T40, T42), T46)))
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
som31_in_gaa([], T5, T5) → som31_out_gaa([], T5, T5)
som31_in_gaa([], [], []) → som31_out_gaa([], [], [])
som31_in_gaa(T7, [], T7) → som31_out_gaa(T7, [], T7)
som31_in_gaa(.(T13, []), .(T15, T24), .(+(T13, T15), T24)) → som31_out_gaa(.(T13, []), .(T15, T24), .(+(T13, T15), T24))
som31_in_gaa(.(T13, T29), .(T15, []), .(+(T13, T15), T29)) → som31_out_gaa(.(T13, T29), .(T15, []), .(+(T13, T15), T29))
som31_in_gaa(.(T13, .(T40, T41)), .(T15, .(T42, T45)), .(+(T13, T15), .(+(T40, T42), T46))) → U1_gaa(T13, T40, T41, T15, T42, T45, T46, som31_in_gaa(T41, T45, T46))
som31_in_gaa(.(T54, .(T81, T82)), .(T56, .(T83, T86)), .(+(T54, T56), .(+(T81, T83), T87))) → U2_gaa(T54, T81, T82, T56, T83, T86, T87, som31_in_gaa(T82, T86, T87))
U2_gaa(T54, T81, T82, T56, T83, T86, T87, som31_out_gaa(T82, T86, T87)) → som31_out_gaa(.(T54, .(T81, T82)), .(T56, .(T83, T86)), .(+(T54, T56), .(+(T81, T83), T87)))
U1_gaa(T13, T40, T41, T15, T42, T45, T46, som31_out_gaa(T41, T45, T46)) → som31_out_gaa(.(T13, .(T40, T41)), .(T15, .(T42, T45)), .(+(T13, T15), .(+(T40, T42), T46)))
SOM31_IN_GAA(.(T13, .(T40, T41)), .(T15, .(T42, T45)), .(+(T13, T15), .(+(T40, T42), T46))) → U1_GAA(T13, T40, T41, T15, T42, T45, T46, som31_in_gaa(T41, T45, T46))
SOM31_IN_GAA(.(T13, .(T40, T41)), .(T15, .(T42, T45)), .(+(T13, T15), .(+(T40, T42), T46))) → SOM31_IN_GAA(T41, T45, T46)
SOM31_IN_GAA(.(T54, .(T81, T82)), .(T56, .(T83, T86)), .(+(T54, T56), .(+(T81, T83), T87))) → U2_GAA(T54, T81, T82, T56, T83, T86, T87, som31_in_gaa(T82, T86, T87))
som31_in_gaa([], T5, T5) → som31_out_gaa([], T5, T5)
som31_in_gaa([], [], []) → som31_out_gaa([], [], [])
som31_in_gaa(T7, [], T7) → som31_out_gaa(T7, [], T7)
som31_in_gaa(.(T13, []), .(T15, T24), .(+(T13, T15), T24)) → som31_out_gaa(.(T13, []), .(T15, T24), .(+(T13, T15), T24))
som31_in_gaa(.(T13, T29), .(T15, []), .(+(T13, T15), T29)) → som31_out_gaa(.(T13, T29), .(T15, []), .(+(T13, T15), T29))
som31_in_gaa(.(T13, .(T40, T41)), .(T15, .(T42, T45)), .(+(T13, T15), .(+(T40, T42), T46))) → U1_gaa(T13, T40, T41, T15, T42, T45, T46, som31_in_gaa(T41, T45, T46))
som31_in_gaa(.(T54, .(T81, T82)), .(T56, .(T83, T86)), .(+(T54, T56), .(+(T81, T83), T87))) → U2_gaa(T54, T81, T82, T56, T83, T86, T87, som31_in_gaa(T82, T86, T87))
U2_gaa(T54, T81, T82, T56, T83, T86, T87, som31_out_gaa(T82, T86, T87)) → som31_out_gaa(.(T54, .(T81, T82)), .(T56, .(T83, T86)), .(+(T54, T56), .(+(T81, T83), T87)))
U1_gaa(T13, T40, T41, T15, T42, T45, T46, som31_out_gaa(T41, T45, T46)) → som31_out_gaa(.(T13, .(T40, T41)), .(T15, .(T42, T45)), .(+(T13, T15), .(+(T40, T42), T46)))
SOM31_IN_GAA(.(T13, .(T40, T41)), .(T15, .(T42, T45)), .(+(T13, T15), .(+(T40, T42), T46))) → U1_GAA(T13, T40, T41, T15, T42, T45, T46, som31_in_gaa(T41, T45, T46))
SOM31_IN_GAA(.(T13, .(T40, T41)), .(T15, .(T42, T45)), .(+(T13, T15), .(+(T40, T42), T46))) → SOM31_IN_GAA(T41, T45, T46)
SOM31_IN_GAA(.(T54, .(T81, T82)), .(T56, .(T83, T86)), .(+(T54, T56), .(+(T81, T83), T87))) → U2_GAA(T54, T81, T82, T56, T83, T86, T87, som31_in_gaa(T82, T86, T87))
som31_in_gaa([], T5, T5) → som31_out_gaa([], T5, T5)
som31_in_gaa([], [], []) → som31_out_gaa([], [], [])
som31_in_gaa(T7, [], T7) → som31_out_gaa(T7, [], T7)
som31_in_gaa(.(T13, []), .(T15, T24), .(+(T13, T15), T24)) → som31_out_gaa(.(T13, []), .(T15, T24), .(+(T13, T15), T24))
som31_in_gaa(.(T13, T29), .(T15, []), .(+(T13, T15), T29)) → som31_out_gaa(.(T13, T29), .(T15, []), .(+(T13, T15), T29))
som31_in_gaa(.(T13, .(T40, T41)), .(T15, .(T42, T45)), .(+(T13, T15), .(+(T40, T42), T46))) → U1_gaa(T13, T40, T41, T15, T42, T45, T46, som31_in_gaa(T41, T45, T46))
som31_in_gaa(.(T54, .(T81, T82)), .(T56, .(T83, T86)), .(+(T54, T56), .(+(T81, T83), T87))) → U2_gaa(T54, T81, T82, T56, T83, T86, T87, som31_in_gaa(T82, T86, T87))
U2_gaa(T54, T81, T82, T56, T83, T86, T87, som31_out_gaa(T82, T86, T87)) → som31_out_gaa(.(T54, .(T81, T82)), .(T56, .(T83, T86)), .(+(T54, T56), .(+(T81, T83), T87)))
U1_gaa(T13, T40, T41, T15, T42, T45, T46, som31_out_gaa(T41, T45, T46)) → som31_out_gaa(.(T13, .(T40, T41)), .(T15, .(T42, T45)), .(+(T13, T15), .(+(T40, T42), T46)))
SOM31_IN_GAA(.(T13, .(T40, T41)), .(T15, .(T42, T45)), .(+(T13, T15), .(+(T40, T42), T46))) → SOM31_IN_GAA(T41, T45, T46)
som31_in_gaa([], T5, T5) → som31_out_gaa([], T5, T5)
som31_in_gaa([], [], []) → som31_out_gaa([], [], [])
som31_in_gaa(T7, [], T7) → som31_out_gaa(T7, [], T7)
som31_in_gaa(.(T13, []), .(T15, T24), .(+(T13, T15), T24)) → som31_out_gaa(.(T13, []), .(T15, T24), .(+(T13, T15), T24))
som31_in_gaa(.(T13, T29), .(T15, []), .(+(T13, T15), T29)) → som31_out_gaa(.(T13, T29), .(T15, []), .(+(T13, T15), T29))
som31_in_gaa(.(T13, .(T40, T41)), .(T15, .(T42, T45)), .(+(T13, T15), .(+(T40, T42), T46))) → U1_gaa(T13, T40, T41, T15, T42, T45, T46, som31_in_gaa(T41, T45, T46))
som31_in_gaa(.(T54, .(T81, T82)), .(T56, .(T83, T86)), .(+(T54, T56), .(+(T81, T83), T87))) → U2_gaa(T54, T81, T82, T56, T83, T86, T87, som31_in_gaa(T82, T86, T87))
U2_gaa(T54, T81, T82, T56, T83, T86, T87, som31_out_gaa(T82, T86, T87)) → som31_out_gaa(.(T54, .(T81, T82)), .(T56, .(T83, T86)), .(+(T54, T56), .(+(T81, T83), T87)))
U1_gaa(T13, T40, T41, T15, T42, T45, T46, som31_out_gaa(T41, T45, T46)) → som31_out_gaa(.(T13, .(T40, T41)), .(T15, .(T42, T45)), .(+(T13, T15), .(+(T40, T42), T46)))
SOM31_IN_GAA(.(T13, .(T40, T41)), .(T15, .(T42, T45)), .(+(T13, T15), .(+(T40, T42), T46))) → SOM31_IN_GAA(T41, T45, T46)
SOM31_IN_GAA(.(T13, .(T40, T41))) → SOM31_IN_GAA(T41)
From the DPs we obtained the following set of size-change graphs: