0 Prolog
↳1 PrologToDTProblemTransformerProof (⇒, 182 ms)
↳2 TRIPLES
↳3 TriplesToPiDPProof (⇒, 0 ms)
↳4 PiDP
↳5 DependencyGraphProof (⇔, 0 ms)
↳6 AND
↳7 PiDP
↳8 UsableRulesProof (⇔, 0 ms)
↳9 PiDP
↳10 PiDPToQDPProof (⇔, 0 ms)
↳11 QDP
↳12 QDPSizeChangeProof (⇔, 0 ms)
↳13 YES
↳14 PiDP
↳15 UsableRulesProof (⇔, 0 ms)
↳16 PiDP
↳17 PiDPToQDPProof (⇔, 0 ms)
↳18 QDP
↳19 QDPSizeChangeProof (⇔, 0 ms)
↳20 YES
↳21 PiDP
↳22 PiDPToQDPProof (⇔, 0 ms)
↳23 QDP
↳24 MRRProof (⇔, 133 ms)
↳25 QDP
↳26 MRRProof (⇔, 18 ms)
↳27 QDP
↳28 DependencyGraphProof (⇔, 0 ms)
↳29 TRUE
ORDEREDA_IN_G(.(s(X1), .(X2, X3))) → U4_G(X1, X2, X3, lessD_in_gg(X1, X2))
ORDEREDA_IN_G(.(s(X1), .(X2, X3))) → LESSD_IN_GG(X1, X2)
LESSD_IN_GG(s(X1), 0) → U2_GG(X1, lessC_in_g(X1))
LESSD_IN_GG(s(X1), 0) → LESSC_IN_G(X1)
LESSC_IN_G(s(X1)) → U1_G(X1, lessC_in_g(X1))
LESSC_IN_G(s(X1)) → LESSC_IN_G(X1)
LESSD_IN_GG(s(X1), s(X2)) → U3_GG(X1, X2, lessD_in_gg(X1, X2))
LESSD_IN_GG(s(X1), s(X2)) → LESSD_IN_GG(X1, X2)
ORDEREDA_IN_G(.(X1, .(X2, X3))) → U5_G(X1, X2, X3, lesscB_in_gg(X1, X2))
U5_G(X1, X2, X3, lesscB_out_gg(X1, X2)) → U6_G(X1, X2, X3, orderedA_in_g(.(X2, X3)))
U5_G(X1, X2, X3, lesscB_out_gg(X1, X2)) → ORDEREDA_IN_G(.(X2, X3))
lesscB_in_gg(0, X1) → lesscB_out_gg(0, X1)
lesscB_in_gg(s(X1), X2) → U13_gg(X1, X2, lesscD_in_gg(X1, X2))
lesscD_in_gg(0, s(X1)) → lesscD_out_gg(0, s(X1))
lesscD_in_gg(s(X1), 0) → U11_gg(X1, lesscC_in_g(X1))
lesscC_in_g(s(X1)) → U10_g(X1, lesscC_in_g(X1))
U10_g(X1, lesscC_out_g(X1)) → lesscC_out_g(s(X1))
U11_gg(X1, lesscC_out_g(X1)) → lesscD_out_gg(s(X1), 0)
lesscD_in_gg(s(X1), s(X2)) → U12_gg(X1, X2, lesscD_in_gg(X1, X2))
U12_gg(X1, X2, lesscD_out_gg(X1, X2)) → lesscD_out_gg(s(X1), s(X2))
U13_gg(X1, X2, lesscD_out_gg(X1, X2)) → lesscB_out_gg(s(X1), X2)
Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES
ORDEREDA_IN_G(.(s(X1), .(X2, X3))) → U4_G(X1, X2, X3, lessD_in_gg(X1, X2))
ORDEREDA_IN_G(.(s(X1), .(X2, X3))) → LESSD_IN_GG(X1, X2)
LESSD_IN_GG(s(X1), 0) → U2_GG(X1, lessC_in_g(X1))
LESSD_IN_GG(s(X1), 0) → LESSC_IN_G(X1)
LESSC_IN_G(s(X1)) → U1_G(X1, lessC_in_g(X1))
LESSC_IN_G(s(X1)) → LESSC_IN_G(X1)
LESSD_IN_GG(s(X1), s(X2)) → U3_GG(X1, X2, lessD_in_gg(X1, X2))
LESSD_IN_GG(s(X1), s(X2)) → LESSD_IN_GG(X1, X2)
ORDEREDA_IN_G(.(X1, .(X2, X3))) → U5_G(X1, X2, X3, lesscB_in_gg(X1, X2))
U5_G(X1, X2, X3, lesscB_out_gg(X1, X2)) → U6_G(X1, X2, X3, orderedA_in_g(.(X2, X3)))
U5_G(X1, X2, X3, lesscB_out_gg(X1, X2)) → ORDEREDA_IN_G(.(X2, X3))
lesscB_in_gg(0, X1) → lesscB_out_gg(0, X1)
lesscB_in_gg(s(X1), X2) → U13_gg(X1, X2, lesscD_in_gg(X1, X2))
lesscD_in_gg(0, s(X1)) → lesscD_out_gg(0, s(X1))
lesscD_in_gg(s(X1), 0) → U11_gg(X1, lesscC_in_g(X1))
lesscC_in_g(s(X1)) → U10_g(X1, lesscC_in_g(X1))
U10_g(X1, lesscC_out_g(X1)) → lesscC_out_g(s(X1))
U11_gg(X1, lesscC_out_g(X1)) → lesscD_out_gg(s(X1), 0)
lesscD_in_gg(s(X1), s(X2)) → U12_gg(X1, X2, lesscD_in_gg(X1, X2))
U12_gg(X1, X2, lesscD_out_gg(X1, X2)) → lesscD_out_gg(s(X1), s(X2))
U13_gg(X1, X2, lesscD_out_gg(X1, X2)) → lesscB_out_gg(s(X1), X2)
LESSC_IN_G(s(X1)) → LESSC_IN_G(X1)
lesscB_in_gg(0, X1) → lesscB_out_gg(0, X1)
lesscB_in_gg(s(X1), X2) → U13_gg(X1, X2, lesscD_in_gg(X1, X2))
lesscD_in_gg(0, s(X1)) → lesscD_out_gg(0, s(X1))
lesscD_in_gg(s(X1), 0) → U11_gg(X1, lesscC_in_g(X1))
lesscC_in_g(s(X1)) → U10_g(X1, lesscC_in_g(X1))
U10_g(X1, lesscC_out_g(X1)) → lesscC_out_g(s(X1))
U11_gg(X1, lesscC_out_g(X1)) → lesscD_out_gg(s(X1), 0)
lesscD_in_gg(s(X1), s(X2)) → U12_gg(X1, X2, lesscD_in_gg(X1, X2))
U12_gg(X1, X2, lesscD_out_gg(X1, X2)) → lesscD_out_gg(s(X1), s(X2))
U13_gg(X1, X2, lesscD_out_gg(X1, X2)) → lesscB_out_gg(s(X1), X2)
LESSC_IN_G(s(X1)) → LESSC_IN_G(X1)
LESSC_IN_G(s(X1)) → LESSC_IN_G(X1)
From the DPs we obtained the following set of size-change graphs:
LESSD_IN_GG(s(X1), s(X2)) → LESSD_IN_GG(X1, X2)
lesscB_in_gg(0, X1) → lesscB_out_gg(0, X1)
lesscB_in_gg(s(X1), X2) → U13_gg(X1, X2, lesscD_in_gg(X1, X2))
lesscD_in_gg(0, s(X1)) → lesscD_out_gg(0, s(X1))
lesscD_in_gg(s(X1), 0) → U11_gg(X1, lesscC_in_g(X1))
lesscC_in_g(s(X1)) → U10_g(X1, lesscC_in_g(X1))
U10_g(X1, lesscC_out_g(X1)) → lesscC_out_g(s(X1))
U11_gg(X1, lesscC_out_g(X1)) → lesscD_out_gg(s(X1), 0)
lesscD_in_gg(s(X1), s(X2)) → U12_gg(X1, X2, lesscD_in_gg(X1, X2))
U12_gg(X1, X2, lesscD_out_gg(X1, X2)) → lesscD_out_gg(s(X1), s(X2))
U13_gg(X1, X2, lesscD_out_gg(X1, X2)) → lesscB_out_gg(s(X1), X2)
LESSD_IN_GG(s(X1), s(X2)) → LESSD_IN_GG(X1, X2)
LESSD_IN_GG(s(X1), s(X2)) → LESSD_IN_GG(X1, X2)
From the DPs we obtained the following set of size-change graphs:
ORDEREDA_IN_G(.(X1, .(X2, X3))) → U5_G(X1, X2, X3, lesscB_in_gg(X1, X2))
U5_G(X1, X2, X3, lesscB_out_gg(X1, X2)) → ORDEREDA_IN_G(.(X2, X3))
lesscB_in_gg(0, X1) → lesscB_out_gg(0, X1)
lesscB_in_gg(s(X1), X2) → U13_gg(X1, X2, lesscD_in_gg(X1, X2))
lesscD_in_gg(0, s(X1)) → lesscD_out_gg(0, s(X1))
lesscD_in_gg(s(X1), 0) → U11_gg(X1, lesscC_in_g(X1))
lesscC_in_g(s(X1)) → U10_g(X1, lesscC_in_g(X1))
U10_g(X1, lesscC_out_g(X1)) → lesscC_out_g(s(X1))
U11_gg(X1, lesscC_out_g(X1)) → lesscD_out_gg(s(X1), 0)
lesscD_in_gg(s(X1), s(X2)) → U12_gg(X1, X2, lesscD_in_gg(X1, X2))
U12_gg(X1, X2, lesscD_out_gg(X1, X2)) → lesscD_out_gg(s(X1), s(X2))
U13_gg(X1, X2, lesscD_out_gg(X1, X2)) → lesscB_out_gg(s(X1), X2)
ORDEREDA_IN_G(.(X1, .(X2, X3))) → U5_G(X1, X2, X3, lesscB_in_gg(X1, X2))
U5_G(X1, X2, X3, lesscB_out_gg(X1, X2)) → ORDEREDA_IN_G(.(X2, X3))
lesscB_in_gg(0, X1) → lesscB_out_gg(0, X1)
lesscB_in_gg(s(X1), X2) → U13_gg(X1, X2, lesscD_in_gg(X1, X2))
lesscD_in_gg(0, s(X1)) → lesscD_out_gg(0, s(X1))
lesscD_in_gg(s(X1), 0) → U11_gg(X1, lesscC_in_g(X1))
lesscC_in_g(s(X1)) → U10_g(X1, lesscC_in_g(X1))
U10_g(X1, lesscC_out_g(X1)) → lesscC_out_g(s(X1))
U11_gg(X1, lesscC_out_g(X1)) → lesscD_out_gg(s(X1), 0)
lesscD_in_gg(s(X1), s(X2)) → U12_gg(X1, X2, lesscD_in_gg(X1, X2))
U12_gg(X1, X2, lesscD_out_gg(X1, X2)) → lesscD_out_gg(s(X1), s(X2))
U13_gg(X1, X2, lesscD_out_gg(X1, X2)) → lesscB_out_gg(s(X1), X2)
lesscB_in_gg(x0, x1)
lesscD_in_gg(x0, x1)
lesscC_in_g(x0)
U10_g(x0, x1)
U11_gg(x0, x1)
U12_gg(x0, x1, x2)
U13_gg(x0, x1, x2)
U11_gg(X1, lesscC_out_g(X1)) → lesscD_out_gg(s(X1), 0)
POL(.(x1, x2)) = 2·x1 + x2
POL(0) = 0
POL(ORDEREDA_IN_G(x1)) = 2·x1
POL(U10_g(x1, x2)) = x1 + x2
POL(U11_gg(x1, x2)) = x1 + x2
POL(U12_gg(x1, x2, x3)) = x1 + x2 + x3
POL(U13_gg(x1, x2, x3)) = x1 + x2 + x3
POL(U5_G(x1, x2, x3, x4)) = 2·x1 + 2·x2 + 2·x3 + x4
POL(lesscB_in_gg(x1, x2)) = x1 + 2·x2
POL(lesscB_out_gg(x1, x2)) = x1 + 2·x2
POL(lesscC_in_g(x1)) = x1
POL(lesscC_out_g(x1)) = 1 + x1
POL(lesscD_in_gg(x1, x2)) = x1 + x2
POL(lesscD_out_gg(x1, x2)) = x1 + x2
POL(s(x1)) = 2·x1
ORDEREDA_IN_G(.(X1, .(X2, X3))) → U5_G(X1, X2, X3, lesscB_in_gg(X1, X2))
U5_G(X1, X2, X3, lesscB_out_gg(X1, X2)) → ORDEREDA_IN_G(.(X2, X3))
lesscB_in_gg(0, X1) → lesscB_out_gg(0, X1)
lesscB_in_gg(s(X1), X2) → U13_gg(X1, X2, lesscD_in_gg(X1, X2))
lesscD_in_gg(0, s(X1)) → lesscD_out_gg(0, s(X1))
lesscD_in_gg(s(X1), 0) → U11_gg(X1, lesscC_in_g(X1))
lesscC_in_g(s(X1)) → U10_g(X1, lesscC_in_g(X1))
U10_g(X1, lesscC_out_g(X1)) → lesscC_out_g(s(X1))
lesscD_in_gg(s(X1), s(X2)) → U12_gg(X1, X2, lesscD_in_gg(X1, X2))
U12_gg(X1, X2, lesscD_out_gg(X1, X2)) → lesscD_out_gg(s(X1), s(X2))
U13_gg(X1, X2, lesscD_out_gg(X1, X2)) → lesscB_out_gg(s(X1), X2)
lesscB_in_gg(x0, x1)
lesscD_in_gg(x0, x1)
lesscC_in_g(x0)
U10_g(x0, x1)
U11_gg(x0, x1)
U12_gg(x0, x1, x2)
U13_gg(x0, x1, x2)
ORDEREDA_IN_G(.(X1, .(X2, X3))) → U5_G(X1, X2, X3, lesscB_in_gg(X1, X2))
POL(.(x1, x2)) = 1 + 2·x1 + 2·x2
POL(0) = 0
POL(ORDEREDA_IN_G(x1)) = x1
POL(U10_g(x1, x2)) = x1 + x2
POL(U11_gg(x1, x2)) = x1 + x2
POL(U12_gg(x1, x2, x3)) = x1 + x2 + x3
POL(U13_gg(x1, x2, x3)) = x1 + x2 + x3
POL(U5_G(x1, x2, x3, x4)) = 1 + x1 + 2·x2 + 2·x3 + x4
POL(lesscB_in_gg(x1, x2)) = x1 + 2·x2
POL(lesscB_out_gg(x1, x2)) = x1 + 2·x2
POL(lesscC_in_g(x1)) = x1
POL(lesscC_out_g(x1)) = x1
POL(lesscD_in_gg(x1, x2)) = x1 + x2
POL(lesscD_out_gg(x1, x2)) = x1 + x2
POL(s(x1)) = 2·x1
U5_G(X1, X2, X3, lesscB_out_gg(X1, X2)) → ORDEREDA_IN_G(.(X2, X3))
lesscB_in_gg(0, X1) → lesscB_out_gg(0, X1)
lesscB_in_gg(s(X1), X2) → U13_gg(X1, X2, lesscD_in_gg(X1, X2))
lesscD_in_gg(0, s(X1)) → lesscD_out_gg(0, s(X1))
lesscD_in_gg(s(X1), 0) → U11_gg(X1, lesscC_in_g(X1))
lesscC_in_g(s(X1)) → U10_g(X1, lesscC_in_g(X1))
U10_g(X1, lesscC_out_g(X1)) → lesscC_out_g(s(X1))
lesscD_in_gg(s(X1), s(X2)) → U12_gg(X1, X2, lesscD_in_gg(X1, X2))
U12_gg(X1, X2, lesscD_out_gg(X1, X2)) → lesscD_out_gg(s(X1), s(X2))
U13_gg(X1, X2, lesscD_out_gg(X1, X2)) → lesscB_out_gg(s(X1), X2)
lesscB_in_gg(x0, x1)
lesscD_in_gg(x0, x1)
lesscC_in_g(x0)
U10_g(x0, x1)
U11_gg(x0, x1)
U12_gg(x0, x1, x2)
U13_gg(x0, x1, x2)