0 Prolog
↳1 PrologToDTProblemTransformerProof (⇐)
↳2 TRIPLES
↳3 TriplesToPiDPProof (⇐)
↳4 PiDP
↳5 DependencyGraphProof (⇔)
↳6 AND
↳7 PiDP
↳8 UsableRulesProof (⇔)
↳9 PiDP
↳10 PiDPToQDPProof (⇔)
↳11 QDP
↳12 QDPSizeChangeProof (⇔)
↳13 YES
↳14 PiDP
↳15 PiDPToQDPProof (⇔)
↳16 QDP
↳17 MRRProof (⇔)
↳18 QDP
↳19 DependencyGraphProof (⇔)
↳20 TRUE
ORDERED1_IN_G(.(0, .(T15, T10))) → U2_G(T15, T10, ordered1_in_g(.(T15, T10)))
ORDERED1_IN_G(.(0, .(T15, T10))) → ORDERED1_IN_G(.(T15, T10))
ORDERED1_IN_G(.(s(T22), .(T23, T10))) → U3_G(T22, T23, T10, less21_in_gg(T22, T23))
ORDERED1_IN_G(.(s(T22), .(T23, T10))) → LESS21_IN_GG(T22, T23)
LESS21_IN_GG(s(T37), s(T38)) → U1_GG(T37, T38, less21_in_gg(T37, T38))
LESS21_IN_GG(s(T37), s(T38)) → LESS21_IN_GG(T37, T38)
ORDERED1_IN_G(.(s(T22), .(T23, T10))) → U4_G(T22, T23, T10, lessc21_in_gg(T22, T23))
U4_G(T22, T23, T10, lessc21_out_gg(T22, T23)) → U5_G(T22, T23, T10, ordered1_in_g(.(T23, T10)))
U4_G(T22, T23, T10, lessc21_out_gg(T22, T23)) → ORDERED1_IN_G(.(T23, T10))
lessc21_in_gg(0, s(T32)) → lessc21_out_gg(0, s(T32))
lessc21_in_gg(s(T37), s(T38)) → U10_gg(T37, T38, lessc21_in_gg(T37, T38))
U10_gg(T37, T38, lessc21_out_gg(T37, T38)) → lessc21_out_gg(s(T37), s(T38))
Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES
ORDERED1_IN_G(.(0, .(T15, T10))) → U2_G(T15, T10, ordered1_in_g(.(T15, T10)))
ORDERED1_IN_G(.(0, .(T15, T10))) → ORDERED1_IN_G(.(T15, T10))
ORDERED1_IN_G(.(s(T22), .(T23, T10))) → U3_G(T22, T23, T10, less21_in_gg(T22, T23))
ORDERED1_IN_G(.(s(T22), .(T23, T10))) → LESS21_IN_GG(T22, T23)
LESS21_IN_GG(s(T37), s(T38)) → U1_GG(T37, T38, less21_in_gg(T37, T38))
LESS21_IN_GG(s(T37), s(T38)) → LESS21_IN_GG(T37, T38)
ORDERED1_IN_G(.(s(T22), .(T23, T10))) → U4_G(T22, T23, T10, lessc21_in_gg(T22, T23))
U4_G(T22, T23, T10, lessc21_out_gg(T22, T23)) → U5_G(T22, T23, T10, ordered1_in_g(.(T23, T10)))
U4_G(T22, T23, T10, lessc21_out_gg(T22, T23)) → ORDERED1_IN_G(.(T23, T10))
lessc21_in_gg(0, s(T32)) → lessc21_out_gg(0, s(T32))
lessc21_in_gg(s(T37), s(T38)) → U10_gg(T37, T38, lessc21_in_gg(T37, T38))
U10_gg(T37, T38, lessc21_out_gg(T37, T38)) → lessc21_out_gg(s(T37), s(T38))
LESS21_IN_GG(s(T37), s(T38)) → LESS21_IN_GG(T37, T38)
lessc21_in_gg(0, s(T32)) → lessc21_out_gg(0, s(T32))
lessc21_in_gg(s(T37), s(T38)) → U10_gg(T37, T38, lessc21_in_gg(T37, T38))
U10_gg(T37, T38, lessc21_out_gg(T37, T38)) → lessc21_out_gg(s(T37), s(T38))
LESS21_IN_GG(s(T37), s(T38)) → LESS21_IN_GG(T37, T38)
LESS21_IN_GG(s(T37), s(T38)) → LESS21_IN_GG(T37, T38)
From the DPs we obtained the following set of size-change graphs:
ORDERED1_IN_G(.(s(T22), .(T23, T10))) → U4_G(T22, T23, T10, lessc21_in_gg(T22, T23))
U4_G(T22, T23, T10, lessc21_out_gg(T22, T23)) → ORDERED1_IN_G(.(T23, T10))
ORDERED1_IN_G(.(0, .(T15, T10))) → ORDERED1_IN_G(.(T15, T10))
lessc21_in_gg(0, s(T32)) → lessc21_out_gg(0, s(T32))
lessc21_in_gg(s(T37), s(T38)) → U10_gg(T37, T38, lessc21_in_gg(T37, T38))
U10_gg(T37, T38, lessc21_out_gg(T37, T38)) → lessc21_out_gg(s(T37), s(T38))
ORDERED1_IN_G(.(s(T22), .(T23, T10))) → U4_G(T22, T23, T10, lessc21_in_gg(T22, T23))
U4_G(T22, T23, T10, lessc21_out_gg(T22, T23)) → ORDERED1_IN_G(.(T23, T10))
ORDERED1_IN_G(.(0, .(T15, T10))) → ORDERED1_IN_G(.(T15, T10))
lessc21_in_gg(0, s(T32)) → lessc21_out_gg(0, s(T32))
lessc21_in_gg(s(T37), s(T38)) → U10_gg(T37, T38, lessc21_in_gg(T37, T38))
U10_gg(T37, T38, lessc21_out_gg(T37, T38)) → lessc21_out_gg(s(T37), s(T38))
lessc21_in_gg(x0, x1)
U10_gg(x0, x1, x2)
ORDERED1_IN_G(.(s(T22), .(T23, T10))) → U4_G(T22, T23, T10, lessc21_in_gg(T22, T23))
ORDERED1_IN_G(.(0, .(T15, T10))) → ORDERED1_IN_G(.(T15, T10))
POL(.(x1, x2)) = 1 + 2·x1 + 2·x2
POL(0) = 0
POL(ORDERED1_IN_G(x1)) = x1
POL(U10_gg(x1, x2, x3)) = x1 + x2 + x3
POL(U4_G(x1, x2, x3, x4)) = 1 + 2·x1 + x2 + 2·x3 + 2·x4
POL(lessc21_in_gg(x1, x2)) = x1 + x2
POL(lessc21_out_gg(x1, x2)) = x1 + x2
POL(s(x1)) = 2·x1
U4_G(T22, T23, T10, lessc21_out_gg(T22, T23)) → ORDERED1_IN_G(.(T23, T10))
lessc21_in_gg(0, s(T32)) → lessc21_out_gg(0, s(T32))
lessc21_in_gg(s(T37), s(T38)) → U10_gg(T37, T38, lessc21_in_gg(T37, T38))
U10_gg(T37, T38, lessc21_out_gg(T37, T38)) → lessc21_out_gg(s(T37), s(T38))
lessc21_in_gg(x0, x1)
U10_gg(x0, x1, x2)