0 Prolog
↳1 PrologToPiTRSViaGraphTransformerProof (⇒, 110 ms)
↳2 PiTRS
↳3 DependencyPairsProof (⇔, 33 ms)
↳4 PiDP
↳5 DependencyGraphProof (⇔, 0 ms)
↳6 AND
↳7 PiDP
↳8 UsableRulesProof (⇔, 0 ms)
↳9 PiDP
↳10 PiDPToQDPProof (⇔, 20 ms)
↳11 QDP
↳12 QDPSizeChangeProof (⇔, 0 ms)
↳13 YES
↳14 PiDP
↳15 UsableRulesProof (⇔, 0 ms)
↳16 PiDP
↳17 PiDPToQDPProof (⇔, 0 ms)
↳18 QDP
↳19 MRRProof (⇔, 37 ms)
↳20 QDP
↳21 DependencyGraphProof (⇔, 0 ms)
↳22 QDP
↳23 UsableRulesProof (⇔, 0 ms)
↳24 QDP
↳25 QReductionProof (⇔, 0 ms)
↳26 QDP
↳27 QDPSizeChangeProof (⇔, 0 ms)
↳28 YES
orderedA_in_g([]) → orderedA_out_g([])
orderedA_in_g(.(T3, [])) → orderedA_out_g(.(T3, []))
orderedA_in_g(.(0, .(T15, T10))) → U1_g(T15, T10, orderedA_in_g(.(T15, T10)))
orderedA_in_g(.(s(T20), .(T21, T10))) → U2_g(T20, T21, T10, pB_in_ggg(T20, T21, T10))
pB_in_ggg(T20, T21, T10) → U4_ggg(T20, T21, T10, lessC_in_gg(T20, T21))
lessC_in_gg(0, s(T30)) → lessC_out_gg(0, s(T30))
lessC_in_gg(s(T35), s(T36)) → U3_gg(T35, T36, lessC_in_gg(T35, T36))
U3_gg(T35, T36, lessC_out_gg(T35, T36)) → lessC_out_gg(s(T35), s(T36))
U4_ggg(T20, T21, T10, lessC_out_gg(T20, T21)) → U5_ggg(T20, T21, T10, orderedA_in_g(.(T21, T10)))
U5_ggg(T20, T21, T10, orderedA_out_g(.(T21, T10))) → pB_out_ggg(T20, T21, T10)
U2_g(T20, T21, T10, pB_out_ggg(T20, T21, T10)) → orderedA_out_g(.(s(T20), .(T21, T10)))
U1_g(T15, T10, orderedA_out_g(.(T15, T10))) → orderedA_out_g(.(0, .(T15, T10)))
ORDEREDA_IN_G(.(0, .(T15, T10))) → U1_G(T15, T10, orderedA_in_g(.(T15, T10)))
ORDEREDA_IN_G(.(0, .(T15, T10))) → ORDEREDA_IN_G(.(T15, T10))
ORDEREDA_IN_G(.(s(T20), .(T21, T10))) → U2_G(T20, T21, T10, pB_in_ggg(T20, T21, T10))
ORDEREDA_IN_G(.(s(T20), .(T21, T10))) → PB_IN_GGG(T20, T21, T10)
PB_IN_GGG(T20, T21, T10) → U4_GGG(T20, T21, T10, lessC_in_gg(T20, T21))
PB_IN_GGG(T20, T21, T10) → LESSC_IN_GG(T20, T21)
LESSC_IN_GG(s(T35), s(T36)) → U3_GG(T35, T36, lessC_in_gg(T35, T36))
LESSC_IN_GG(s(T35), s(T36)) → LESSC_IN_GG(T35, T36)
U4_GGG(T20, T21, T10, lessC_out_gg(T20, T21)) → U5_GGG(T20, T21, T10, orderedA_in_g(.(T21, T10)))
U4_GGG(T20, T21, T10, lessC_out_gg(T20, T21)) → ORDEREDA_IN_G(.(T21, T10))
orderedA_in_g([]) → orderedA_out_g([])
orderedA_in_g(.(T3, [])) → orderedA_out_g(.(T3, []))
orderedA_in_g(.(0, .(T15, T10))) → U1_g(T15, T10, orderedA_in_g(.(T15, T10)))
orderedA_in_g(.(s(T20), .(T21, T10))) → U2_g(T20, T21, T10, pB_in_ggg(T20, T21, T10))
pB_in_ggg(T20, T21, T10) → U4_ggg(T20, T21, T10, lessC_in_gg(T20, T21))
lessC_in_gg(0, s(T30)) → lessC_out_gg(0, s(T30))
lessC_in_gg(s(T35), s(T36)) → U3_gg(T35, T36, lessC_in_gg(T35, T36))
U3_gg(T35, T36, lessC_out_gg(T35, T36)) → lessC_out_gg(s(T35), s(T36))
U4_ggg(T20, T21, T10, lessC_out_gg(T20, T21)) → U5_ggg(T20, T21, T10, orderedA_in_g(.(T21, T10)))
U5_ggg(T20, T21, T10, orderedA_out_g(.(T21, T10))) → pB_out_ggg(T20, T21, T10)
U2_g(T20, T21, T10, pB_out_ggg(T20, T21, T10)) → orderedA_out_g(.(s(T20), .(T21, T10)))
U1_g(T15, T10, orderedA_out_g(.(T15, T10))) → orderedA_out_g(.(0, .(T15, T10)))
ORDEREDA_IN_G(.(0, .(T15, T10))) → U1_G(T15, T10, orderedA_in_g(.(T15, T10)))
ORDEREDA_IN_G(.(0, .(T15, T10))) → ORDEREDA_IN_G(.(T15, T10))
ORDEREDA_IN_G(.(s(T20), .(T21, T10))) → U2_G(T20, T21, T10, pB_in_ggg(T20, T21, T10))
ORDEREDA_IN_G(.(s(T20), .(T21, T10))) → PB_IN_GGG(T20, T21, T10)
PB_IN_GGG(T20, T21, T10) → U4_GGG(T20, T21, T10, lessC_in_gg(T20, T21))
PB_IN_GGG(T20, T21, T10) → LESSC_IN_GG(T20, T21)
LESSC_IN_GG(s(T35), s(T36)) → U3_GG(T35, T36, lessC_in_gg(T35, T36))
LESSC_IN_GG(s(T35), s(T36)) → LESSC_IN_GG(T35, T36)
U4_GGG(T20, T21, T10, lessC_out_gg(T20, T21)) → U5_GGG(T20, T21, T10, orderedA_in_g(.(T21, T10)))
U4_GGG(T20, T21, T10, lessC_out_gg(T20, T21)) → ORDEREDA_IN_G(.(T21, T10))
orderedA_in_g([]) → orderedA_out_g([])
orderedA_in_g(.(T3, [])) → orderedA_out_g(.(T3, []))
orderedA_in_g(.(0, .(T15, T10))) → U1_g(T15, T10, orderedA_in_g(.(T15, T10)))
orderedA_in_g(.(s(T20), .(T21, T10))) → U2_g(T20, T21, T10, pB_in_ggg(T20, T21, T10))
pB_in_ggg(T20, T21, T10) → U4_ggg(T20, T21, T10, lessC_in_gg(T20, T21))
lessC_in_gg(0, s(T30)) → lessC_out_gg(0, s(T30))
lessC_in_gg(s(T35), s(T36)) → U3_gg(T35, T36, lessC_in_gg(T35, T36))
U3_gg(T35, T36, lessC_out_gg(T35, T36)) → lessC_out_gg(s(T35), s(T36))
U4_ggg(T20, T21, T10, lessC_out_gg(T20, T21)) → U5_ggg(T20, T21, T10, orderedA_in_g(.(T21, T10)))
U5_ggg(T20, T21, T10, orderedA_out_g(.(T21, T10))) → pB_out_ggg(T20, T21, T10)
U2_g(T20, T21, T10, pB_out_ggg(T20, T21, T10)) → orderedA_out_g(.(s(T20), .(T21, T10)))
U1_g(T15, T10, orderedA_out_g(.(T15, T10))) → orderedA_out_g(.(0, .(T15, T10)))
LESSC_IN_GG(s(T35), s(T36)) → LESSC_IN_GG(T35, T36)
orderedA_in_g([]) → orderedA_out_g([])
orderedA_in_g(.(T3, [])) → orderedA_out_g(.(T3, []))
orderedA_in_g(.(0, .(T15, T10))) → U1_g(T15, T10, orderedA_in_g(.(T15, T10)))
orderedA_in_g(.(s(T20), .(T21, T10))) → U2_g(T20, T21, T10, pB_in_ggg(T20, T21, T10))
pB_in_ggg(T20, T21, T10) → U4_ggg(T20, T21, T10, lessC_in_gg(T20, T21))
lessC_in_gg(0, s(T30)) → lessC_out_gg(0, s(T30))
lessC_in_gg(s(T35), s(T36)) → U3_gg(T35, T36, lessC_in_gg(T35, T36))
U3_gg(T35, T36, lessC_out_gg(T35, T36)) → lessC_out_gg(s(T35), s(T36))
U4_ggg(T20, T21, T10, lessC_out_gg(T20, T21)) → U5_ggg(T20, T21, T10, orderedA_in_g(.(T21, T10)))
U5_ggg(T20, T21, T10, orderedA_out_g(.(T21, T10))) → pB_out_ggg(T20, T21, T10)
U2_g(T20, T21, T10, pB_out_ggg(T20, T21, T10)) → orderedA_out_g(.(s(T20), .(T21, T10)))
U1_g(T15, T10, orderedA_out_g(.(T15, T10))) → orderedA_out_g(.(0, .(T15, T10)))
LESSC_IN_GG(s(T35), s(T36)) → LESSC_IN_GG(T35, T36)
LESSC_IN_GG(s(T35), s(T36)) → LESSC_IN_GG(T35, T36)
From the DPs we obtained the following set of size-change graphs:
ORDEREDA_IN_G(.(s(T20), .(T21, T10))) → PB_IN_GGG(T20, T21, T10)
PB_IN_GGG(T20, T21, T10) → U4_GGG(T20, T21, T10, lessC_in_gg(T20, T21))
U4_GGG(T20, T21, T10, lessC_out_gg(T20, T21)) → ORDEREDA_IN_G(.(T21, T10))
ORDEREDA_IN_G(.(0, .(T15, T10))) → ORDEREDA_IN_G(.(T15, T10))
orderedA_in_g([]) → orderedA_out_g([])
orderedA_in_g(.(T3, [])) → orderedA_out_g(.(T3, []))
orderedA_in_g(.(0, .(T15, T10))) → U1_g(T15, T10, orderedA_in_g(.(T15, T10)))
orderedA_in_g(.(s(T20), .(T21, T10))) → U2_g(T20, T21, T10, pB_in_ggg(T20, T21, T10))
pB_in_ggg(T20, T21, T10) → U4_ggg(T20, T21, T10, lessC_in_gg(T20, T21))
lessC_in_gg(0, s(T30)) → lessC_out_gg(0, s(T30))
lessC_in_gg(s(T35), s(T36)) → U3_gg(T35, T36, lessC_in_gg(T35, T36))
U3_gg(T35, T36, lessC_out_gg(T35, T36)) → lessC_out_gg(s(T35), s(T36))
U4_ggg(T20, T21, T10, lessC_out_gg(T20, T21)) → U5_ggg(T20, T21, T10, orderedA_in_g(.(T21, T10)))
U5_ggg(T20, T21, T10, orderedA_out_g(.(T21, T10))) → pB_out_ggg(T20, T21, T10)
U2_g(T20, T21, T10, pB_out_ggg(T20, T21, T10)) → orderedA_out_g(.(s(T20), .(T21, T10)))
U1_g(T15, T10, orderedA_out_g(.(T15, T10))) → orderedA_out_g(.(0, .(T15, T10)))
ORDEREDA_IN_G(.(s(T20), .(T21, T10))) → PB_IN_GGG(T20, T21, T10)
PB_IN_GGG(T20, T21, T10) → U4_GGG(T20, T21, T10, lessC_in_gg(T20, T21))
U4_GGG(T20, T21, T10, lessC_out_gg(T20, T21)) → ORDEREDA_IN_G(.(T21, T10))
ORDEREDA_IN_G(.(0, .(T15, T10))) → ORDEREDA_IN_G(.(T15, T10))
lessC_in_gg(0, s(T30)) → lessC_out_gg(0, s(T30))
lessC_in_gg(s(T35), s(T36)) → U3_gg(T35, T36, lessC_in_gg(T35, T36))
U3_gg(T35, T36, lessC_out_gg(T35, T36)) → lessC_out_gg(s(T35), s(T36))
ORDEREDA_IN_G(.(s(T20), .(T21, T10))) → PB_IN_GGG(T20, T21, T10)
PB_IN_GGG(T20, T21, T10) → U4_GGG(T20, T21, T10, lessC_in_gg(T20, T21))
U4_GGG(T20, T21, T10, lessC_out_gg(T20, T21)) → ORDEREDA_IN_G(.(T21, T10))
ORDEREDA_IN_G(.(0, .(T15, T10))) → ORDEREDA_IN_G(.(T15, T10))
lessC_in_gg(0, s(T30)) → lessC_out_gg(0, s(T30))
lessC_in_gg(s(T35), s(T36)) → U3_gg(T35, T36, lessC_in_gg(T35, T36))
U3_gg(T35, T36, lessC_out_gg(T35, T36)) → lessC_out_gg(s(T35), s(T36))
lessC_in_gg(x0, x1)
U3_gg(x0, x1, x2)
ORDEREDA_IN_G(.(s(T20), .(T21, T10))) → PB_IN_GGG(T20, T21, T10)
PB_IN_GGG(T20, T21, T10) → U4_GGG(T20, T21, T10, lessC_in_gg(T20, T21))
POL(.(x1, x2)) = 2·x1 + x2
POL(0) = 0
POL(ORDEREDA_IN_G(x1)) = x1
POL(PB_IN_GGG(x1, x2, x3)) = 1 + 2·x1 + 2·x2 + x3
POL(U3_gg(x1, x2, x3)) = 2 + x1 + x2 + x3
POL(U4_GGG(x1, x2, x3, x4)) = x1 + x2 + x3 + x4
POL(lessC_in_gg(x1, x2)) = x1 + x2
POL(lessC_out_gg(x1, x2)) = x1 + x2
POL(s(x1)) = 1 + 2·x1
U4_GGG(T20, T21, T10, lessC_out_gg(T20, T21)) → ORDEREDA_IN_G(.(T21, T10))
ORDEREDA_IN_G(.(0, .(T15, T10))) → ORDEREDA_IN_G(.(T15, T10))
lessC_in_gg(0, s(T30)) → lessC_out_gg(0, s(T30))
lessC_in_gg(s(T35), s(T36)) → U3_gg(T35, T36, lessC_in_gg(T35, T36))
U3_gg(T35, T36, lessC_out_gg(T35, T36)) → lessC_out_gg(s(T35), s(T36))
lessC_in_gg(x0, x1)
U3_gg(x0, x1, x2)
ORDEREDA_IN_G(.(0, .(T15, T10))) → ORDEREDA_IN_G(.(T15, T10))
lessC_in_gg(0, s(T30)) → lessC_out_gg(0, s(T30))
lessC_in_gg(s(T35), s(T36)) → U3_gg(T35, T36, lessC_in_gg(T35, T36))
U3_gg(T35, T36, lessC_out_gg(T35, T36)) → lessC_out_gg(s(T35), s(T36))
lessC_in_gg(x0, x1)
U3_gg(x0, x1, x2)
ORDEREDA_IN_G(.(0, .(T15, T10))) → ORDEREDA_IN_G(.(T15, T10))
lessC_in_gg(x0, x1)
U3_gg(x0, x1, x2)
lessC_in_gg(x0, x1)
U3_gg(x0, x1, x2)
ORDEREDA_IN_G(.(0, .(T15, T10))) → ORDEREDA_IN_G(.(T15, T10))
From the DPs we obtained the following set of size-change graphs: