0 Prolog
↳1 PrologToPiTRSViaGraphTransformerProof (⇒, 165 ms)
↳2 PiTRS
↳3 DependencyPairsProof (⇔, 16 ms)
↳4 PiDP
↳5 DependencyGraphProof (⇔, 10 ms)
↳6 AND
↳7 PiDP
↳8 UsableRulesProof (⇔, 0 ms)
↳9 PiDP
↳10 PiDPToQDPProof (⇔, 22 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 UsableRulesProof (⇔, 0 ms)
↳23 PiDP
↳24 PiDPToQDPProof (⇔, 0 ms)
↳25 QDP
↳26 QDPOrderProof (⇔, 98 ms)
↳27 QDP
↳28 DependencyGraphProof (⇔, 0 ms)
↳29 TRUE
orderedA_in_g([]) → orderedA_out_g([])
orderedA_in_g(.(T3, [])) → orderedA_out_g(.(T3, []))
orderedA_in_g(.(T16, .(T30, T31))) → U1_g(T16, T30, T31, pB_in_ggg(T16, T30, T31))
pB_in_ggg(T16, T30, T31) → U6_ggg(T16, T30, T31, lessE_in_gg(T16, T30))
lessE_in_gg(0, T39) → lessE_out_gg(0, T39)
lessE_in_gg(s(T48), T52) → U5_gg(T48, T52, lessD_in_gg(T48, T52))
lessD_in_gg(0, s(T62)) → lessD_out_gg(0, s(T62))
lessD_in_gg(s(T71), 0) → U3_gg(T71, lessC_in_g(T71))
lessC_in_g(s(T77)) → U2_g(T77, lessC_in_g(T77))
U2_g(T77, lessC_out_g(T77)) → lessC_out_g(s(T77))
U3_gg(T71, lessC_out_g(T71)) → lessD_out_gg(s(T71), 0)
lessD_in_gg(s(T71), s(T80)) → U4_gg(T71, T80, lessD_in_gg(T71, T80))
U4_gg(T71, T80, lessD_out_gg(T71, T80)) → lessD_out_gg(s(T71), s(T80))
U5_gg(T48, T52, lessD_out_gg(T48, T52)) → lessE_out_gg(s(T48), T52)
U6_ggg(T16, T30, T31, lessE_out_gg(T16, T30)) → U7_ggg(T16, T30, T31, orderedA_in_g(.(T30, T31)))
U7_ggg(T16, T30, T31, orderedA_out_g(.(T30, T31))) → pB_out_ggg(T16, T30, T31)
U1_g(T16, T30, T31, pB_out_ggg(T16, T30, T31)) → orderedA_out_g(.(T16, .(T30, T31)))
ORDEREDA_IN_G(.(T16, .(T30, T31))) → U1_G(T16, T30, T31, pB_in_ggg(T16, T30, T31))
ORDEREDA_IN_G(.(T16, .(T30, T31))) → PB_IN_GGG(T16, T30, T31)
PB_IN_GGG(T16, T30, T31) → U6_GGG(T16, T30, T31, lessE_in_gg(T16, T30))
PB_IN_GGG(T16, T30, T31) → LESSE_IN_GG(T16, T30)
LESSE_IN_GG(s(T48), T52) → U5_GG(T48, T52, lessD_in_gg(T48, T52))
LESSE_IN_GG(s(T48), T52) → LESSD_IN_GG(T48, T52)
LESSD_IN_GG(s(T71), 0) → U3_GG(T71, lessC_in_g(T71))
LESSD_IN_GG(s(T71), 0) → LESSC_IN_G(T71)
LESSC_IN_G(s(T77)) → U2_G(T77, lessC_in_g(T77))
LESSC_IN_G(s(T77)) → LESSC_IN_G(T77)
LESSD_IN_GG(s(T71), s(T80)) → U4_GG(T71, T80, lessD_in_gg(T71, T80))
LESSD_IN_GG(s(T71), s(T80)) → LESSD_IN_GG(T71, T80)
U6_GGG(T16, T30, T31, lessE_out_gg(T16, T30)) → U7_GGG(T16, T30, T31, orderedA_in_g(.(T30, T31)))
U6_GGG(T16, T30, T31, lessE_out_gg(T16, T30)) → ORDEREDA_IN_G(.(T30, T31))
orderedA_in_g([]) → orderedA_out_g([])
orderedA_in_g(.(T3, [])) → orderedA_out_g(.(T3, []))
orderedA_in_g(.(T16, .(T30, T31))) → U1_g(T16, T30, T31, pB_in_ggg(T16, T30, T31))
pB_in_ggg(T16, T30, T31) → U6_ggg(T16, T30, T31, lessE_in_gg(T16, T30))
lessE_in_gg(0, T39) → lessE_out_gg(0, T39)
lessE_in_gg(s(T48), T52) → U5_gg(T48, T52, lessD_in_gg(T48, T52))
lessD_in_gg(0, s(T62)) → lessD_out_gg(0, s(T62))
lessD_in_gg(s(T71), 0) → U3_gg(T71, lessC_in_g(T71))
lessC_in_g(s(T77)) → U2_g(T77, lessC_in_g(T77))
U2_g(T77, lessC_out_g(T77)) → lessC_out_g(s(T77))
U3_gg(T71, lessC_out_g(T71)) → lessD_out_gg(s(T71), 0)
lessD_in_gg(s(T71), s(T80)) → U4_gg(T71, T80, lessD_in_gg(T71, T80))
U4_gg(T71, T80, lessD_out_gg(T71, T80)) → lessD_out_gg(s(T71), s(T80))
U5_gg(T48, T52, lessD_out_gg(T48, T52)) → lessE_out_gg(s(T48), T52)
U6_ggg(T16, T30, T31, lessE_out_gg(T16, T30)) → U7_ggg(T16, T30, T31, orderedA_in_g(.(T30, T31)))
U7_ggg(T16, T30, T31, orderedA_out_g(.(T30, T31))) → pB_out_ggg(T16, T30, T31)
U1_g(T16, T30, T31, pB_out_ggg(T16, T30, T31)) → orderedA_out_g(.(T16, .(T30, T31)))
ORDEREDA_IN_G(.(T16, .(T30, T31))) → U1_G(T16, T30, T31, pB_in_ggg(T16, T30, T31))
ORDEREDA_IN_G(.(T16, .(T30, T31))) → PB_IN_GGG(T16, T30, T31)
PB_IN_GGG(T16, T30, T31) → U6_GGG(T16, T30, T31, lessE_in_gg(T16, T30))
PB_IN_GGG(T16, T30, T31) → LESSE_IN_GG(T16, T30)
LESSE_IN_GG(s(T48), T52) → U5_GG(T48, T52, lessD_in_gg(T48, T52))
LESSE_IN_GG(s(T48), T52) → LESSD_IN_GG(T48, T52)
LESSD_IN_GG(s(T71), 0) → U3_GG(T71, lessC_in_g(T71))
LESSD_IN_GG(s(T71), 0) → LESSC_IN_G(T71)
LESSC_IN_G(s(T77)) → U2_G(T77, lessC_in_g(T77))
LESSC_IN_G(s(T77)) → LESSC_IN_G(T77)
LESSD_IN_GG(s(T71), s(T80)) → U4_GG(T71, T80, lessD_in_gg(T71, T80))
LESSD_IN_GG(s(T71), s(T80)) → LESSD_IN_GG(T71, T80)
U6_GGG(T16, T30, T31, lessE_out_gg(T16, T30)) → U7_GGG(T16, T30, T31, orderedA_in_g(.(T30, T31)))
U6_GGG(T16, T30, T31, lessE_out_gg(T16, T30)) → ORDEREDA_IN_G(.(T30, T31))
orderedA_in_g([]) → orderedA_out_g([])
orderedA_in_g(.(T3, [])) → orderedA_out_g(.(T3, []))
orderedA_in_g(.(T16, .(T30, T31))) → U1_g(T16, T30, T31, pB_in_ggg(T16, T30, T31))
pB_in_ggg(T16, T30, T31) → U6_ggg(T16, T30, T31, lessE_in_gg(T16, T30))
lessE_in_gg(0, T39) → lessE_out_gg(0, T39)
lessE_in_gg(s(T48), T52) → U5_gg(T48, T52, lessD_in_gg(T48, T52))
lessD_in_gg(0, s(T62)) → lessD_out_gg(0, s(T62))
lessD_in_gg(s(T71), 0) → U3_gg(T71, lessC_in_g(T71))
lessC_in_g(s(T77)) → U2_g(T77, lessC_in_g(T77))
U2_g(T77, lessC_out_g(T77)) → lessC_out_g(s(T77))
U3_gg(T71, lessC_out_g(T71)) → lessD_out_gg(s(T71), 0)
lessD_in_gg(s(T71), s(T80)) → U4_gg(T71, T80, lessD_in_gg(T71, T80))
U4_gg(T71, T80, lessD_out_gg(T71, T80)) → lessD_out_gg(s(T71), s(T80))
U5_gg(T48, T52, lessD_out_gg(T48, T52)) → lessE_out_gg(s(T48), T52)
U6_ggg(T16, T30, T31, lessE_out_gg(T16, T30)) → U7_ggg(T16, T30, T31, orderedA_in_g(.(T30, T31)))
U7_ggg(T16, T30, T31, orderedA_out_g(.(T30, T31))) → pB_out_ggg(T16, T30, T31)
U1_g(T16, T30, T31, pB_out_ggg(T16, T30, T31)) → orderedA_out_g(.(T16, .(T30, T31)))
LESSC_IN_G(s(T77)) → LESSC_IN_G(T77)
orderedA_in_g([]) → orderedA_out_g([])
orderedA_in_g(.(T3, [])) → orderedA_out_g(.(T3, []))
orderedA_in_g(.(T16, .(T30, T31))) → U1_g(T16, T30, T31, pB_in_ggg(T16, T30, T31))
pB_in_ggg(T16, T30, T31) → U6_ggg(T16, T30, T31, lessE_in_gg(T16, T30))
lessE_in_gg(0, T39) → lessE_out_gg(0, T39)
lessE_in_gg(s(T48), T52) → U5_gg(T48, T52, lessD_in_gg(T48, T52))
lessD_in_gg(0, s(T62)) → lessD_out_gg(0, s(T62))
lessD_in_gg(s(T71), 0) → U3_gg(T71, lessC_in_g(T71))
lessC_in_g(s(T77)) → U2_g(T77, lessC_in_g(T77))
U2_g(T77, lessC_out_g(T77)) → lessC_out_g(s(T77))
U3_gg(T71, lessC_out_g(T71)) → lessD_out_gg(s(T71), 0)
lessD_in_gg(s(T71), s(T80)) → U4_gg(T71, T80, lessD_in_gg(T71, T80))
U4_gg(T71, T80, lessD_out_gg(T71, T80)) → lessD_out_gg(s(T71), s(T80))
U5_gg(T48, T52, lessD_out_gg(T48, T52)) → lessE_out_gg(s(T48), T52)
U6_ggg(T16, T30, T31, lessE_out_gg(T16, T30)) → U7_ggg(T16, T30, T31, orderedA_in_g(.(T30, T31)))
U7_ggg(T16, T30, T31, orderedA_out_g(.(T30, T31))) → pB_out_ggg(T16, T30, T31)
U1_g(T16, T30, T31, pB_out_ggg(T16, T30, T31)) → orderedA_out_g(.(T16, .(T30, T31)))
LESSC_IN_G(s(T77)) → LESSC_IN_G(T77)
LESSC_IN_G(s(T77)) → LESSC_IN_G(T77)
From the DPs we obtained the following set of size-change graphs:
LESSD_IN_GG(s(T71), s(T80)) → LESSD_IN_GG(T71, T80)
orderedA_in_g([]) → orderedA_out_g([])
orderedA_in_g(.(T3, [])) → orderedA_out_g(.(T3, []))
orderedA_in_g(.(T16, .(T30, T31))) → U1_g(T16, T30, T31, pB_in_ggg(T16, T30, T31))
pB_in_ggg(T16, T30, T31) → U6_ggg(T16, T30, T31, lessE_in_gg(T16, T30))
lessE_in_gg(0, T39) → lessE_out_gg(0, T39)
lessE_in_gg(s(T48), T52) → U5_gg(T48, T52, lessD_in_gg(T48, T52))
lessD_in_gg(0, s(T62)) → lessD_out_gg(0, s(T62))
lessD_in_gg(s(T71), 0) → U3_gg(T71, lessC_in_g(T71))
lessC_in_g(s(T77)) → U2_g(T77, lessC_in_g(T77))
U2_g(T77, lessC_out_g(T77)) → lessC_out_g(s(T77))
U3_gg(T71, lessC_out_g(T71)) → lessD_out_gg(s(T71), 0)
lessD_in_gg(s(T71), s(T80)) → U4_gg(T71, T80, lessD_in_gg(T71, T80))
U4_gg(T71, T80, lessD_out_gg(T71, T80)) → lessD_out_gg(s(T71), s(T80))
U5_gg(T48, T52, lessD_out_gg(T48, T52)) → lessE_out_gg(s(T48), T52)
U6_ggg(T16, T30, T31, lessE_out_gg(T16, T30)) → U7_ggg(T16, T30, T31, orderedA_in_g(.(T30, T31)))
U7_ggg(T16, T30, T31, orderedA_out_g(.(T30, T31))) → pB_out_ggg(T16, T30, T31)
U1_g(T16, T30, T31, pB_out_ggg(T16, T30, T31)) → orderedA_out_g(.(T16, .(T30, T31)))
LESSD_IN_GG(s(T71), s(T80)) → LESSD_IN_GG(T71, T80)
LESSD_IN_GG(s(T71), s(T80)) → LESSD_IN_GG(T71, T80)
From the DPs we obtained the following set of size-change graphs:
ORDEREDA_IN_G(.(T16, .(T30, T31))) → PB_IN_GGG(T16, T30, T31)
PB_IN_GGG(T16, T30, T31) → U6_GGG(T16, T30, T31, lessE_in_gg(T16, T30))
U6_GGG(T16, T30, T31, lessE_out_gg(T16, T30)) → ORDEREDA_IN_G(.(T30, T31))
orderedA_in_g([]) → orderedA_out_g([])
orderedA_in_g(.(T3, [])) → orderedA_out_g(.(T3, []))
orderedA_in_g(.(T16, .(T30, T31))) → U1_g(T16, T30, T31, pB_in_ggg(T16, T30, T31))
pB_in_ggg(T16, T30, T31) → U6_ggg(T16, T30, T31, lessE_in_gg(T16, T30))
lessE_in_gg(0, T39) → lessE_out_gg(0, T39)
lessE_in_gg(s(T48), T52) → U5_gg(T48, T52, lessD_in_gg(T48, T52))
lessD_in_gg(0, s(T62)) → lessD_out_gg(0, s(T62))
lessD_in_gg(s(T71), 0) → U3_gg(T71, lessC_in_g(T71))
lessC_in_g(s(T77)) → U2_g(T77, lessC_in_g(T77))
U2_g(T77, lessC_out_g(T77)) → lessC_out_g(s(T77))
U3_gg(T71, lessC_out_g(T71)) → lessD_out_gg(s(T71), 0)
lessD_in_gg(s(T71), s(T80)) → U4_gg(T71, T80, lessD_in_gg(T71, T80))
U4_gg(T71, T80, lessD_out_gg(T71, T80)) → lessD_out_gg(s(T71), s(T80))
U5_gg(T48, T52, lessD_out_gg(T48, T52)) → lessE_out_gg(s(T48), T52)
U6_ggg(T16, T30, T31, lessE_out_gg(T16, T30)) → U7_ggg(T16, T30, T31, orderedA_in_g(.(T30, T31)))
U7_ggg(T16, T30, T31, orderedA_out_g(.(T30, T31))) → pB_out_ggg(T16, T30, T31)
U1_g(T16, T30, T31, pB_out_ggg(T16, T30, T31)) → orderedA_out_g(.(T16, .(T30, T31)))
ORDEREDA_IN_G(.(T16, .(T30, T31))) → PB_IN_GGG(T16, T30, T31)
PB_IN_GGG(T16, T30, T31) → U6_GGG(T16, T30, T31, lessE_in_gg(T16, T30))
U6_GGG(T16, T30, T31, lessE_out_gg(T16, T30)) → ORDEREDA_IN_G(.(T30, T31))
lessE_in_gg(0, T39) → lessE_out_gg(0, T39)
lessE_in_gg(s(T48), T52) → U5_gg(T48, T52, lessD_in_gg(T48, T52))
U5_gg(T48, T52, lessD_out_gg(T48, T52)) → lessE_out_gg(s(T48), T52)
lessD_in_gg(0, s(T62)) → lessD_out_gg(0, s(T62))
lessD_in_gg(s(T71), 0) → U3_gg(T71, lessC_in_g(T71))
lessD_in_gg(s(T71), s(T80)) → U4_gg(T71, T80, lessD_in_gg(T71, T80))
U3_gg(T71, lessC_out_g(T71)) → lessD_out_gg(s(T71), 0)
U4_gg(T71, T80, lessD_out_gg(T71, T80)) → lessD_out_gg(s(T71), s(T80))
lessC_in_g(s(T77)) → U2_g(T77, lessC_in_g(T77))
U2_g(T77, lessC_out_g(T77)) → lessC_out_g(s(T77))
ORDEREDA_IN_G(.(T16, .(T30, T31))) → PB_IN_GGG(T16, T30, T31)
PB_IN_GGG(T16, T30, T31) → U6_GGG(T16, T30, T31, lessE_in_gg(T16, T30))
U6_GGG(T16, T30, T31, lessE_out_gg(T16, T30)) → ORDEREDA_IN_G(.(T30, T31))
lessE_in_gg(0, T39) → lessE_out_gg(0, T39)
lessE_in_gg(s(T48), T52) → U5_gg(T48, T52, lessD_in_gg(T48, T52))
U5_gg(T48, T52, lessD_out_gg(T48, T52)) → lessE_out_gg(s(T48), T52)
lessD_in_gg(0, s(T62)) → lessD_out_gg(0, s(T62))
lessD_in_gg(s(T71), 0) → U3_gg(T71, lessC_in_g(T71))
lessD_in_gg(s(T71), s(T80)) → U4_gg(T71, T80, lessD_in_gg(T71, T80))
U3_gg(T71, lessC_out_g(T71)) → lessD_out_gg(s(T71), 0)
U4_gg(T71, T80, lessD_out_gg(T71, T80)) → lessD_out_gg(s(T71), s(T80))
lessC_in_g(s(T77)) → U2_g(T77, lessC_in_g(T77))
U2_g(T77, lessC_out_g(T77)) → lessC_out_g(s(T77))
lessE_in_gg(x0, x1)
U5_gg(x0, x1, x2)
lessD_in_gg(x0, x1)
U3_gg(x0, x1)
U4_gg(x0, x1, x2)
lessC_in_g(x0)
U2_g(x0, x1)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ORDEREDA_IN_G(.(T16, .(T30, T31))) → PB_IN_GGG(T16, T30, T31)
POL(.(x1, x2)) = 1 + x2
POL(0) = 0
POL(ORDEREDA_IN_G(x1)) = x1
POL(PB_IN_GGG(x1, x2, x3)) = 1 + x3
POL(U2_g(x1, x2)) = 0
POL(U3_gg(x1, x2)) = 0
POL(U4_gg(x1, x2, x3)) = 0
POL(U5_gg(x1, x2, x3)) = 0
POL(U6_GGG(x1, x2, x3, x4)) = 1 + x3
POL(lessC_in_g(x1)) = 0
POL(lessC_out_g(x1)) = 0
POL(lessD_in_gg(x1, x2)) = 0
POL(lessD_out_gg(x1, x2)) = 0
POL(lessE_in_gg(x1, x2)) = 0
POL(lessE_out_gg(x1, x2)) = 0
POL(s(x1)) = 0
PB_IN_GGG(T16, T30, T31) → U6_GGG(T16, T30, T31, lessE_in_gg(T16, T30))
U6_GGG(T16, T30, T31, lessE_out_gg(T16, T30)) → ORDEREDA_IN_G(.(T30, T31))
lessE_in_gg(0, T39) → lessE_out_gg(0, T39)
lessE_in_gg(s(T48), T52) → U5_gg(T48, T52, lessD_in_gg(T48, T52))
U5_gg(T48, T52, lessD_out_gg(T48, T52)) → lessE_out_gg(s(T48), T52)
lessD_in_gg(0, s(T62)) → lessD_out_gg(0, s(T62))
lessD_in_gg(s(T71), 0) → U3_gg(T71, lessC_in_g(T71))
lessD_in_gg(s(T71), s(T80)) → U4_gg(T71, T80, lessD_in_gg(T71, T80))
U3_gg(T71, lessC_out_g(T71)) → lessD_out_gg(s(T71), 0)
U4_gg(T71, T80, lessD_out_gg(T71, T80)) → lessD_out_gg(s(T71), s(T80))
lessC_in_g(s(T77)) → U2_g(T77, lessC_in_g(T77))
U2_g(T77, lessC_out_g(T77)) → lessC_out_g(s(T77))
lessE_in_gg(x0, x1)
U5_gg(x0, x1, x2)
lessD_in_gg(x0, x1)
U3_gg(x0, x1)
U4_gg(x0, x1, x2)
lessC_in_g(x0)
U2_g(x0, x1)