0 Prolog
↳1 PrologToPiTRSViaGraphTransformerProof (⇒, 63 ms)
↳2 PiTRS
↳3 DependencyPairsProof (⇔, 42 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 (⇔, 9 ms)
↳18 QDP
↳19 MRRProof (⇔, 160 ms)
↳20 QDP
↳21 DependencyGraphProof (⇔, 0 ms)
↳22 TRUE
↳23 PiDP
↳24 UsableRulesProof (⇔, 0 ms)
↳25 PiDP
↳26 PiDPToQDPProof (⇔, 0 ms)
↳27 QDP
↳28 QDPSizeChangeProof (⇔, 0 ms)
↳29 YES
orderedA_in_g([]) → orderedA_out_g([])
orderedA_in_g(.(T3, [])) → orderedA_out_g(.(T3, []))
orderedA_in_g(.(s(T19), .(s(T20), T10))) → U1_g(T19, T20, T10, pB_in_ggg(T19, T20, T10))
pB_in_ggg(T19, T20, T10) → U5_ggg(T19, T20, T10, leC_in_gg(T19, T20))
leC_in_gg(s(T33), s(T34)) → U4_gg(T33, T34, leC_in_gg(T33, T34))
leC_in_gg(0, s(0)) → leC_out_gg(0, s(0))
leC_in_gg(0, 0) → leC_out_gg(0, 0)
U4_gg(T33, T34, leC_out_gg(T33, T34)) → leC_out_gg(s(T33), s(T34))
U5_ggg(T19, T20, T10, leC_out_gg(T19, T20)) → U6_ggg(T19, T20, T10, orderedA_in_g(.(s(T20), T10)))
orderedA_in_g(.(0, .(s(0), T10))) → U2_g(T10, orderedA_in_g(.(s(0), T10)))
orderedA_in_g(.(0, .(0, T10))) → U3_g(T10, orderedA_in_g(.(0, T10)))
U3_g(T10, orderedA_out_g(.(0, T10))) → orderedA_out_g(.(0, .(0, T10)))
U2_g(T10, orderedA_out_g(.(s(0), T10))) → orderedA_out_g(.(0, .(s(0), T10)))
U6_ggg(T19, T20, T10, orderedA_out_g(.(s(T20), T10))) → pB_out_ggg(T19, T20, T10)
U1_g(T19, T20, T10, pB_out_ggg(T19, T20, T10)) → orderedA_out_g(.(s(T19), .(s(T20), T10)))
ORDEREDA_IN_G(.(s(T19), .(s(T20), T10))) → U1_G(T19, T20, T10, pB_in_ggg(T19, T20, T10))
ORDEREDA_IN_G(.(s(T19), .(s(T20), T10))) → PB_IN_GGG(T19, T20, T10)
PB_IN_GGG(T19, T20, T10) → U5_GGG(T19, T20, T10, leC_in_gg(T19, T20))
PB_IN_GGG(T19, T20, T10) → LEC_IN_GG(T19, T20)
LEC_IN_GG(s(T33), s(T34)) → U4_GG(T33, T34, leC_in_gg(T33, T34))
LEC_IN_GG(s(T33), s(T34)) → LEC_IN_GG(T33, T34)
U5_GGG(T19, T20, T10, leC_out_gg(T19, T20)) → U6_GGG(T19, T20, T10, orderedA_in_g(.(s(T20), T10)))
U5_GGG(T19, T20, T10, leC_out_gg(T19, T20)) → ORDEREDA_IN_G(.(s(T20), T10))
ORDEREDA_IN_G(.(0, .(s(0), T10))) → U2_G(T10, orderedA_in_g(.(s(0), T10)))
ORDEREDA_IN_G(.(0, .(s(0), T10))) → ORDEREDA_IN_G(.(s(0), T10))
ORDEREDA_IN_G(.(0, .(0, T10))) → U3_G(T10, orderedA_in_g(.(0, T10)))
ORDEREDA_IN_G(.(0, .(0, T10))) → ORDEREDA_IN_G(.(0, T10))
orderedA_in_g([]) → orderedA_out_g([])
orderedA_in_g(.(T3, [])) → orderedA_out_g(.(T3, []))
orderedA_in_g(.(s(T19), .(s(T20), T10))) → U1_g(T19, T20, T10, pB_in_ggg(T19, T20, T10))
pB_in_ggg(T19, T20, T10) → U5_ggg(T19, T20, T10, leC_in_gg(T19, T20))
leC_in_gg(s(T33), s(T34)) → U4_gg(T33, T34, leC_in_gg(T33, T34))
leC_in_gg(0, s(0)) → leC_out_gg(0, s(0))
leC_in_gg(0, 0) → leC_out_gg(0, 0)
U4_gg(T33, T34, leC_out_gg(T33, T34)) → leC_out_gg(s(T33), s(T34))
U5_ggg(T19, T20, T10, leC_out_gg(T19, T20)) → U6_ggg(T19, T20, T10, orderedA_in_g(.(s(T20), T10)))
orderedA_in_g(.(0, .(s(0), T10))) → U2_g(T10, orderedA_in_g(.(s(0), T10)))
orderedA_in_g(.(0, .(0, T10))) → U3_g(T10, orderedA_in_g(.(0, T10)))
U3_g(T10, orderedA_out_g(.(0, T10))) → orderedA_out_g(.(0, .(0, T10)))
U2_g(T10, orderedA_out_g(.(s(0), T10))) → orderedA_out_g(.(0, .(s(0), T10)))
U6_ggg(T19, T20, T10, orderedA_out_g(.(s(T20), T10))) → pB_out_ggg(T19, T20, T10)
U1_g(T19, T20, T10, pB_out_ggg(T19, T20, T10)) → orderedA_out_g(.(s(T19), .(s(T20), T10)))
ORDEREDA_IN_G(.(s(T19), .(s(T20), T10))) → U1_G(T19, T20, T10, pB_in_ggg(T19, T20, T10))
ORDEREDA_IN_G(.(s(T19), .(s(T20), T10))) → PB_IN_GGG(T19, T20, T10)
PB_IN_GGG(T19, T20, T10) → U5_GGG(T19, T20, T10, leC_in_gg(T19, T20))
PB_IN_GGG(T19, T20, T10) → LEC_IN_GG(T19, T20)
LEC_IN_GG(s(T33), s(T34)) → U4_GG(T33, T34, leC_in_gg(T33, T34))
LEC_IN_GG(s(T33), s(T34)) → LEC_IN_GG(T33, T34)
U5_GGG(T19, T20, T10, leC_out_gg(T19, T20)) → U6_GGG(T19, T20, T10, orderedA_in_g(.(s(T20), T10)))
U5_GGG(T19, T20, T10, leC_out_gg(T19, T20)) → ORDEREDA_IN_G(.(s(T20), T10))
ORDEREDA_IN_G(.(0, .(s(0), T10))) → U2_G(T10, orderedA_in_g(.(s(0), T10)))
ORDEREDA_IN_G(.(0, .(s(0), T10))) → ORDEREDA_IN_G(.(s(0), T10))
ORDEREDA_IN_G(.(0, .(0, T10))) → U3_G(T10, orderedA_in_g(.(0, T10)))
ORDEREDA_IN_G(.(0, .(0, T10))) → ORDEREDA_IN_G(.(0, T10))
orderedA_in_g([]) → orderedA_out_g([])
orderedA_in_g(.(T3, [])) → orderedA_out_g(.(T3, []))
orderedA_in_g(.(s(T19), .(s(T20), T10))) → U1_g(T19, T20, T10, pB_in_ggg(T19, T20, T10))
pB_in_ggg(T19, T20, T10) → U5_ggg(T19, T20, T10, leC_in_gg(T19, T20))
leC_in_gg(s(T33), s(T34)) → U4_gg(T33, T34, leC_in_gg(T33, T34))
leC_in_gg(0, s(0)) → leC_out_gg(0, s(0))
leC_in_gg(0, 0) → leC_out_gg(0, 0)
U4_gg(T33, T34, leC_out_gg(T33, T34)) → leC_out_gg(s(T33), s(T34))
U5_ggg(T19, T20, T10, leC_out_gg(T19, T20)) → U6_ggg(T19, T20, T10, orderedA_in_g(.(s(T20), T10)))
orderedA_in_g(.(0, .(s(0), T10))) → U2_g(T10, orderedA_in_g(.(s(0), T10)))
orderedA_in_g(.(0, .(0, T10))) → U3_g(T10, orderedA_in_g(.(0, T10)))
U3_g(T10, orderedA_out_g(.(0, T10))) → orderedA_out_g(.(0, .(0, T10)))
U2_g(T10, orderedA_out_g(.(s(0), T10))) → orderedA_out_g(.(0, .(s(0), T10)))
U6_ggg(T19, T20, T10, orderedA_out_g(.(s(T20), T10))) → pB_out_ggg(T19, T20, T10)
U1_g(T19, T20, T10, pB_out_ggg(T19, T20, T10)) → orderedA_out_g(.(s(T19), .(s(T20), T10)))
LEC_IN_GG(s(T33), s(T34)) → LEC_IN_GG(T33, T34)
orderedA_in_g([]) → orderedA_out_g([])
orderedA_in_g(.(T3, [])) → orderedA_out_g(.(T3, []))
orderedA_in_g(.(s(T19), .(s(T20), T10))) → U1_g(T19, T20, T10, pB_in_ggg(T19, T20, T10))
pB_in_ggg(T19, T20, T10) → U5_ggg(T19, T20, T10, leC_in_gg(T19, T20))
leC_in_gg(s(T33), s(T34)) → U4_gg(T33, T34, leC_in_gg(T33, T34))
leC_in_gg(0, s(0)) → leC_out_gg(0, s(0))
leC_in_gg(0, 0) → leC_out_gg(0, 0)
U4_gg(T33, T34, leC_out_gg(T33, T34)) → leC_out_gg(s(T33), s(T34))
U5_ggg(T19, T20, T10, leC_out_gg(T19, T20)) → U6_ggg(T19, T20, T10, orderedA_in_g(.(s(T20), T10)))
orderedA_in_g(.(0, .(s(0), T10))) → U2_g(T10, orderedA_in_g(.(s(0), T10)))
orderedA_in_g(.(0, .(0, T10))) → U3_g(T10, orderedA_in_g(.(0, T10)))
U3_g(T10, orderedA_out_g(.(0, T10))) → orderedA_out_g(.(0, .(0, T10)))
U2_g(T10, orderedA_out_g(.(s(0), T10))) → orderedA_out_g(.(0, .(s(0), T10)))
U6_ggg(T19, T20, T10, orderedA_out_g(.(s(T20), T10))) → pB_out_ggg(T19, T20, T10)
U1_g(T19, T20, T10, pB_out_ggg(T19, T20, T10)) → orderedA_out_g(.(s(T19), .(s(T20), T10)))
LEC_IN_GG(s(T33), s(T34)) → LEC_IN_GG(T33, T34)
LEC_IN_GG(s(T33), s(T34)) → LEC_IN_GG(T33, T34)
From the DPs we obtained the following set of size-change graphs:
ORDEREDA_IN_G(.(s(T19), .(s(T20), T10))) → PB_IN_GGG(T19, T20, T10)
PB_IN_GGG(T19, T20, T10) → U5_GGG(T19, T20, T10, leC_in_gg(T19, T20))
U5_GGG(T19, T20, T10, leC_out_gg(T19, T20)) → ORDEREDA_IN_G(.(s(T20), T10))
orderedA_in_g([]) → orderedA_out_g([])
orderedA_in_g(.(T3, [])) → orderedA_out_g(.(T3, []))
orderedA_in_g(.(s(T19), .(s(T20), T10))) → U1_g(T19, T20, T10, pB_in_ggg(T19, T20, T10))
pB_in_ggg(T19, T20, T10) → U5_ggg(T19, T20, T10, leC_in_gg(T19, T20))
leC_in_gg(s(T33), s(T34)) → U4_gg(T33, T34, leC_in_gg(T33, T34))
leC_in_gg(0, s(0)) → leC_out_gg(0, s(0))
leC_in_gg(0, 0) → leC_out_gg(0, 0)
U4_gg(T33, T34, leC_out_gg(T33, T34)) → leC_out_gg(s(T33), s(T34))
U5_ggg(T19, T20, T10, leC_out_gg(T19, T20)) → U6_ggg(T19, T20, T10, orderedA_in_g(.(s(T20), T10)))
orderedA_in_g(.(0, .(s(0), T10))) → U2_g(T10, orderedA_in_g(.(s(0), T10)))
orderedA_in_g(.(0, .(0, T10))) → U3_g(T10, orderedA_in_g(.(0, T10)))
U3_g(T10, orderedA_out_g(.(0, T10))) → orderedA_out_g(.(0, .(0, T10)))
U2_g(T10, orderedA_out_g(.(s(0), T10))) → orderedA_out_g(.(0, .(s(0), T10)))
U6_ggg(T19, T20, T10, orderedA_out_g(.(s(T20), T10))) → pB_out_ggg(T19, T20, T10)
U1_g(T19, T20, T10, pB_out_ggg(T19, T20, T10)) → orderedA_out_g(.(s(T19), .(s(T20), T10)))
ORDEREDA_IN_G(.(s(T19), .(s(T20), T10))) → PB_IN_GGG(T19, T20, T10)
PB_IN_GGG(T19, T20, T10) → U5_GGG(T19, T20, T10, leC_in_gg(T19, T20))
U5_GGG(T19, T20, T10, leC_out_gg(T19, T20)) → ORDEREDA_IN_G(.(s(T20), T10))
leC_in_gg(s(T33), s(T34)) → U4_gg(T33, T34, leC_in_gg(T33, T34))
leC_in_gg(0, s(0)) → leC_out_gg(0, s(0))
leC_in_gg(0, 0) → leC_out_gg(0, 0)
U4_gg(T33, T34, leC_out_gg(T33, T34)) → leC_out_gg(s(T33), s(T34))
ORDEREDA_IN_G(.(s(T19), .(s(T20), T10))) → PB_IN_GGG(T19, T20, T10)
PB_IN_GGG(T19, T20, T10) → U5_GGG(T19, T20, T10, leC_in_gg(T19, T20))
U5_GGG(T19, T20, T10, leC_out_gg(T19, T20)) → ORDEREDA_IN_G(.(s(T20), T10))
leC_in_gg(s(T33), s(T34)) → U4_gg(T33, T34, leC_in_gg(T33, T34))
leC_in_gg(0, s(0)) → leC_out_gg(0, s(0))
leC_in_gg(0, 0) → leC_out_gg(0, 0)
U4_gg(T33, T34, leC_out_gg(T33, T34)) → leC_out_gg(s(T33), s(T34))
leC_in_gg(x0, x1)
U4_gg(x0, x1, x2)
ORDEREDA_IN_G(.(s(T19), .(s(T20), T10))) → PB_IN_GGG(T19, T20, T10)
leC_in_gg(0, s(0)) → leC_out_gg(0, s(0))
leC_in_gg(0, 0) → leC_out_gg(0, 0)
POL(.(x1, x2)) = x1 + 2·x2
POL(0) = 0
POL(ORDEREDA_IN_G(x1)) = x1
POL(PB_IN_GGG(x1, x2, x3)) = 2 + 2·x1 + 2·x2 + 2·x3
POL(U4_gg(x1, x2, x3)) = 2 + x1 + x2 + x3
POL(U5_GGG(x1, x2, x3, x4)) = 1 + x1 + x2 + 2·x3 + x4
POL(leC_in_gg(x1, x2)) = 1 + x1 + x2
POL(leC_out_gg(x1, x2)) = x1 + x2
POL(s(x1)) = 1 + 2·x1
PB_IN_GGG(T19, T20, T10) → U5_GGG(T19, T20, T10, leC_in_gg(T19, T20))
U5_GGG(T19, T20, T10, leC_out_gg(T19, T20)) → ORDEREDA_IN_G(.(s(T20), T10))
leC_in_gg(s(T33), s(T34)) → U4_gg(T33, T34, leC_in_gg(T33, T34))
U4_gg(T33, T34, leC_out_gg(T33, T34)) → leC_out_gg(s(T33), s(T34))
leC_in_gg(x0, x1)
U4_gg(x0, x1, x2)
ORDEREDA_IN_G(.(0, .(0, T10))) → ORDEREDA_IN_G(.(0, T10))
orderedA_in_g([]) → orderedA_out_g([])
orderedA_in_g(.(T3, [])) → orderedA_out_g(.(T3, []))
orderedA_in_g(.(s(T19), .(s(T20), T10))) → U1_g(T19, T20, T10, pB_in_ggg(T19, T20, T10))
pB_in_ggg(T19, T20, T10) → U5_ggg(T19, T20, T10, leC_in_gg(T19, T20))
leC_in_gg(s(T33), s(T34)) → U4_gg(T33, T34, leC_in_gg(T33, T34))
leC_in_gg(0, s(0)) → leC_out_gg(0, s(0))
leC_in_gg(0, 0) → leC_out_gg(0, 0)
U4_gg(T33, T34, leC_out_gg(T33, T34)) → leC_out_gg(s(T33), s(T34))
U5_ggg(T19, T20, T10, leC_out_gg(T19, T20)) → U6_ggg(T19, T20, T10, orderedA_in_g(.(s(T20), T10)))
orderedA_in_g(.(0, .(s(0), T10))) → U2_g(T10, orderedA_in_g(.(s(0), T10)))
orderedA_in_g(.(0, .(0, T10))) → U3_g(T10, orderedA_in_g(.(0, T10)))
U3_g(T10, orderedA_out_g(.(0, T10))) → orderedA_out_g(.(0, .(0, T10)))
U2_g(T10, orderedA_out_g(.(s(0), T10))) → orderedA_out_g(.(0, .(s(0), T10)))
U6_ggg(T19, T20, T10, orderedA_out_g(.(s(T20), T10))) → pB_out_ggg(T19, T20, T10)
U1_g(T19, T20, T10, pB_out_ggg(T19, T20, T10)) → orderedA_out_g(.(s(T19), .(s(T20), T10)))
ORDEREDA_IN_G(.(0, .(0, T10))) → ORDEREDA_IN_G(.(0, T10))
ORDEREDA_IN_G(.(0, .(0, T10))) → ORDEREDA_IN_G(.(0, T10))
From the DPs we obtained the following set of size-change graphs: