0 CpxTRS
↳1 TrsToWeightedTrsProof (BOTH BOUNDS(ID, ID), 0 ms)
↳2 CpxWeightedTrs
↳3 TypeInferenceProof (BOTH BOUNDS(ID, ID), 0 ms)
↳4 CpxTypedWeightedTrs
↳5 CompletionProof (UPPER BOUND(ID), 0 ms)
↳6 CpxTypedWeightedCompleteTrs
↳7 NarrowingProof (BOTH BOUNDS(ID, ID), 0 ms)
↳8 CpxTypedWeightedCompleteTrs
↳9 CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID), 0 ms)
↳10 CpxRNTS
↳11 SimplificationProof (BOTH BOUNDS(ID, ID), 0 ms)
↳12 CpxRNTS
↳13 CpxRntsAnalysisOrderProof (BOTH BOUNDS(ID, ID), 0 ms)
↳14 CpxRNTS
↳15 IntTrsBoundProof (UPPER BOUND(ID), 493 ms)
↳16 CpxRNTS
↳17 IntTrsBoundProof (UPPER BOUND(ID), 138 ms)
↳18 CpxRNTS
↳19 ResultPropagationProof (UPPER BOUND(ID), 0 ms)
↳20 CpxRNTS
↳21 IntTrsBoundProof (UPPER BOUND(ID), 936 ms)
↳22 CpxRNTS
↳23 IntTrsBoundProof (UPPER BOUND(ID), 354 ms)
↳24 CpxRNTS
↳25 ResultPropagationProof (UPPER BOUND(ID), 0 ms)
↳26 CpxRNTS
↳27 IntTrsBoundProof (UPPER BOUND(ID), 290 ms)
↳28 CpxRNTS
↳29 IntTrsBoundProof (UPPER BOUND(ID), 116 ms)
↳30 CpxRNTS
↳31 FinalProof (⇔, 0 ms)
↳32 BOUNDS(1, n^3)
eq(0, 0) → true
eq(0, s(X)) → false
eq(s(X), 0) → false
eq(s(X), s(Y)) → eq(X, Y)
rm(N, nil) → nil
rm(N, add(M, X)) → ifrm(eq(N, M), N, add(M, X))
ifrm(true, N, add(M, X)) → rm(N, X)
ifrm(false, N, add(M, X)) → add(M, rm(N, X))
purge(nil) → nil
purge(add(N, X)) → add(N, purge(rm(N, X)))
eq(0, 0) → true [1]
eq(0, s(X)) → false [1]
eq(s(X), 0) → false [1]
eq(s(X), s(Y)) → eq(X, Y) [1]
rm(N, nil) → nil [1]
rm(N, add(M, X)) → ifrm(eq(N, M), N, add(M, X)) [1]
ifrm(true, N, add(M, X)) → rm(N, X) [1]
ifrm(false, N, add(M, X)) → add(M, rm(N, X)) [1]
purge(nil) → nil [1]
purge(add(N, X)) → add(N, purge(rm(N, X))) [1]
eq(0, 0) → true [1]
eq(0, s(X)) → false [1]
eq(s(X), 0) → false [1]
eq(s(X), s(Y)) → eq(X, Y) [1]
rm(N, nil) → nil [1]
rm(N, add(M, X)) → ifrm(eq(N, M), N, add(M, X)) [1]
ifrm(true, N, add(M, X)) → rm(N, X) [1]
ifrm(false, N, add(M, X)) → add(M, rm(N, X)) [1]
purge(nil) → nil [1]
purge(add(N, X)) → add(N, purge(rm(N, X))) [1]
eq :: 0:s → 0:s → true:false 0 :: 0:s true :: true:false s :: 0:s → 0:s false :: true:false rm :: 0:s → nil:add → nil:add nil :: nil:add add :: 0:s → nil:add → nil:add ifrm :: true:false → 0:s → nil:add → nil:add purge :: nil:add → nil:add |
(a) The obligation is a constructor system where every type has a constant constructor,
(b) The following defined symbols do not have to be completely defined, as they can never occur inside other defined symbols:
purge
eq
rm
ifrm
ifrm(v0, v1, v2) → nil [0]
Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules:
The TRS has the following type information:
Rewrite Strategy: INNERMOST |
Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules:
The TRS has the following type information:
Rewrite Strategy: INNERMOST |
0 => 0
true => 1
false => 0
nil => 0
eq(z, z') -{ 1 }→ eq(X, Y) :|: z = 1 + X, Y >= 0, z' = 1 + Y, X >= 0
eq(z, z') -{ 1 }→ 1 :|: z = 0, z' = 0
eq(z, z') -{ 1 }→ 0 :|: z' = 1 + X, X >= 0, z = 0
eq(z, z') -{ 1 }→ 0 :|: z = 1 + X, X >= 0, z' = 0
ifrm(z, z', z'') -{ 1 }→ rm(N, X) :|: z'' = 1 + M + X, z = 1, X >= 0, z' = N, M >= 0, N >= 0
ifrm(z, z', z'') -{ 0 }→ 0 :|: v0 >= 0, z'' = v2, v1 >= 0, z = v0, z' = v1, v2 >= 0
ifrm(z, z', z'') -{ 1 }→ 1 + M + rm(N, X) :|: z'' = 1 + M + X, X >= 0, z' = N, z = 0, M >= 0, N >= 0
purge(z) -{ 1 }→ 0 :|: z = 0
purge(z) -{ 2 }→ 1 + N + purge(ifrm(eq(N, M'), N, 1 + M' + X2)) :|: M' >= 0, X2 >= 0, z = 1 + N + (1 + M' + X2), N >= 0
purge(z) -{ 2 }→ 1 + N + purge(0) :|: z = 1 + N + 0, N >= 0
rm(z, z') -{ 2 }→ ifrm(eq(X1, Y'), 1 + X1, 1 + (1 + Y') + X) :|: X1 >= 0, Y' >= 0, z = 1 + X1, X >= 0, z' = 1 + (1 + Y') + X
rm(z, z') -{ 2 }→ ifrm(1, 0, 1 + 0 + X) :|: z' = 1 + 0 + X, X >= 0, z = 0
rm(z, z') -{ 2 }→ ifrm(0, 0, 1 + (1 + X') + X) :|: X >= 0, X' >= 0, z' = 1 + (1 + X') + X, z = 0
rm(z, z') -{ 2 }→ ifrm(0, 1 + X'', 1 + 0 + X) :|: z = 1 + X'', z' = 1 + 0 + X, X >= 0, X'' >= 0
rm(z, z') -{ 1 }→ 0 :|: z = N, z' = 0, N >= 0
eq(z, z') -{ 1 }→ eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0
eq(z, z') -{ 1 }→ 1 :|: z = 0, z' = 0
eq(z, z') -{ 1 }→ 0 :|: z' - 1 >= 0, z = 0
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' = 0
ifrm(z, z', z'') -{ 1 }→ rm(z', X) :|: z'' = 1 + M + X, z = 1, X >= 0, M >= 0, z' >= 0
ifrm(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
ifrm(z, z', z'') -{ 1 }→ 1 + M + rm(z', X) :|: z'' = 1 + M + X, X >= 0, z = 0, M >= 0, z' >= 0
purge(z) -{ 1 }→ 0 :|: z = 0
purge(z) -{ 2 }→ 1 + N + purge(ifrm(eq(N, M'), N, 1 + M' + X2)) :|: M' >= 0, X2 >= 0, z = 1 + N + (1 + M' + X2), N >= 0
purge(z) -{ 2 }→ 1 + (z - 1) + purge(0) :|: z - 1 >= 0
rm(z, z') -{ 2 }→ ifrm(eq(z - 1, Y'), 1 + (z - 1), 1 + (1 + Y') + X) :|: z - 1 >= 0, Y' >= 0, X >= 0, z' = 1 + (1 + Y') + X
rm(z, z') -{ 2 }→ ifrm(1, 0, 1 + 0 + (z' - 1)) :|: z' - 1 >= 0, z = 0
rm(z, z') -{ 2 }→ ifrm(0, 0, 1 + (1 + X') + X) :|: X >= 0, X' >= 0, z' = 1 + (1 + X') + X, z = 0
rm(z, z') -{ 2 }→ ifrm(0, 1 + (z - 1), 1 + 0 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0
rm(z, z') -{ 1 }→ 0 :|: z' = 0, z >= 0
{ eq } { ifrm, rm } { purge } |
eq(z, z') -{ 1 }→ eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0
eq(z, z') -{ 1 }→ 1 :|: z = 0, z' = 0
eq(z, z') -{ 1 }→ 0 :|: z' - 1 >= 0, z = 0
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' = 0
ifrm(z, z', z'') -{ 1 }→ rm(z', X) :|: z'' = 1 + M + X, z = 1, X >= 0, M >= 0, z' >= 0
ifrm(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
ifrm(z, z', z'') -{ 1 }→ 1 + M + rm(z', X) :|: z'' = 1 + M + X, X >= 0, z = 0, M >= 0, z' >= 0
purge(z) -{ 1 }→ 0 :|: z = 0
purge(z) -{ 2 }→ 1 + N + purge(ifrm(eq(N, M'), N, 1 + M' + X2)) :|: M' >= 0, X2 >= 0, z = 1 + N + (1 + M' + X2), N >= 0
purge(z) -{ 2 }→ 1 + (z - 1) + purge(0) :|: z - 1 >= 0
rm(z, z') -{ 2 }→ ifrm(eq(z - 1, Y'), 1 + (z - 1), 1 + (1 + Y') + X) :|: z - 1 >= 0, Y' >= 0, X >= 0, z' = 1 + (1 + Y') + X
rm(z, z') -{ 2 }→ ifrm(1, 0, 1 + 0 + (z' - 1)) :|: z' - 1 >= 0, z = 0
rm(z, z') -{ 2 }→ ifrm(0, 0, 1 + (1 + X') + X) :|: X >= 0, X' >= 0, z' = 1 + (1 + X') + X, z = 0
rm(z, z') -{ 2 }→ ifrm(0, 1 + (z - 1), 1 + 0 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0
rm(z, z') -{ 1 }→ 0 :|: z' = 0, z >= 0
eq(z, z') -{ 1 }→ eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0
eq(z, z') -{ 1 }→ 1 :|: z = 0, z' = 0
eq(z, z') -{ 1 }→ 0 :|: z' - 1 >= 0, z = 0
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' = 0
ifrm(z, z', z'') -{ 1 }→ rm(z', X) :|: z'' = 1 + M + X, z = 1, X >= 0, M >= 0, z' >= 0
ifrm(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
ifrm(z, z', z'') -{ 1 }→ 1 + M + rm(z', X) :|: z'' = 1 + M + X, X >= 0, z = 0, M >= 0, z' >= 0
purge(z) -{ 1 }→ 0 :|: z = 0
purge(z) -{ 2 }→ 1 + N + purge(ifrm(eq(N, M'), N, 1 + M' + X2)) :|: M' >= 0, X2 >= 0, z = 1 + N + (1 + M' + X2), N >= 0
purge(z) -{ 2 }→ 1 + (z - 1) + purge(0) :|: z - 1 >= 0
rm(z, z') -{ 2 }→ ifrm(eq(z - 1, Y'), 1 + (z - 1), 1 + (1 + Y') + X) :|: z - 1 >= 0, Y' >= 0, X >= 0, z' = 1 + (1 + Y') + X
rm(z, z') -{ 2 }→ ifrm(1, 0, 1 + 0 + (z' - 1)) :|: z' - 1 >= 0, z = 0
rm(z, z') -{ 2 }→ ifrm(0, 0, 1 + (1 + X') + X) :|: X >= 0, X' >= 0, z' = 1 + (1 + X') + X, z = 0
rm(z, z') -{ 2 }→ ifrm(0, 1 + (z - 1), 1 + 0 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0
rm(z, z') -{ 1 }→ 0 :|: z' = 0, z >= 0
eq: runtime: ?, size: O(1) [1] |
eq(z, z') -{ 1 }→ eq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0
eq(z, z') -{ 1 }→ 1 :|: z = 0, z' = 0
eq(z, z') -{ 1 }→ 0 :|: z' - 1 >= 0, z = 0
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' = 0
ifrm(z, z', z'') -{ 1 }→ rm(z', X) :|: z'' = 1 + M + X, z = 1, X >= 0, M >= 0, z' >= 0
ifrm(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
ifrm(z, z', z'') -{ 1 }→ 1 + M + rm(z', X) :|: z'' = 1 + M + X, X >= 0, z = 0, M >= 0, z' >= 0
purge(z) -{ 1 }→ 0 :|: z = 0
purge(z) -{ 2 }→ 1 + N + purge(ifrm(eq(N, M'), N, 1 + M' + X2)) :|: M' >= 0, X2 >= 0, z = 1 + N + (1 + M' + X2), N >= 0
purge(z) -{ 2 }→ 1 + (z - 1) + purge(0) :|: z - 1 >= 0
rm(z, z') -{ 2 }→ ifrm(eq(z - 1, Y'), 1 + (z - 1), 1 + (1 + Y') + X) :|: z - 1 >= 0, Y' >= 0, X >= 0, z' = 1 + (1 + Y') + X
rm(z, z') -{ 2 }→ ifrm(1, 0, 1 + 0 + (z' - 1)) :|: z' - 1 >= 0, z = 0
rm(z, z') -{ 2 }→ ifrm(0, 0, 1 + (1 + X') + X) :|: X >= 0, X' >= 0, z' = 1 + (1 + X') + X, z = 0
rm(z, z') -{ 2 }→ ifrm(0, 1 + (z - 1), 1 + 0 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0
rm(z, z') -{ 1 }→ 0 :|: z' = 0, z >= 0
eq: runtime: O(n1) [1 + z'], size: O(1) [1] |
eq(z, z') -{ 1 + z' }→ s :|: s >= 0, s <= 1, z' - 1 >= 0, z - 1 >= 0
eq(z, z') -{ 1 }→ 1 :|: z = 0, z' = 0
eq(z, z') -{ 1 }→ 0 :|: z' - 1 >= 0, z = 0
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' = 0
ifrm(z, z', z'') -{ 1 }→ rm(z', X) :|: z'' = 1 + M + X, z = 1, X >= 0, M >= 0, z' >= 0
ifrm(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
ifrm(z, z', z'') -{ 1 }→ 1 + M + rm(z', X) :|: z'' = 1 + M + X, X >= 0, z = 0, M >= 0, z' >= 0
purge(z) -{ 1 }→ 0 :|: z = 0
purge(z) -{ 3 + M' }→ 1 + N + purge(ifrm(s'', N, 1 + M' + X2)) :|: s'' >= 0, s'' <= 1, M' >= 0, X2 >= 0, z = 1 + N + (1 + M' + X2), N >= 0
purge(z) -{ 2 }→ 1 + (z - 1) + purge(0) :|: z - 1 >= 0
rm(z, z') -{ 3 + Y' }→ ifrm(s', 1 + (z - 1), 1 + (1 + Y') + X) :|: s' >= 0, s' <= 1, z - 1 >= 0, Y' >= 0, X >= 0, z' = 1 + (1 + Y') + X
rm(z, z') -{ 2 }→ ifrm(1, 0, 1 + 0 + (z' - 1)) :|: z' - 1 >= 0, z = 0
rm(z, z') -{ 2 }→ ifrm(0, 0, 1 + (1 + X') + X) :|: X >= 0, X' >= 0, z' = 1 + (1 + X') + X, z = 0
rm(z, z') -{ 2 }→ ifrm(0, 1 + (z - 1), 1 + 0 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0
rm(z, z') -{ 1 }→ 0 :|: z' = 0, z >= 0
eq: runtime: O(n1) [1 + z'], size: O(1) [1] |
eq(z, z') -{ 1 + z' }→ s :|: s >= 0, s <= 1, z' - 1 >= 0, z - 1 >= 0
eq(z, z') -{ 1 }→ 1 :|: z = 0, z' = 0
eq(z, z') -{ 1 }→ 0 :|: z' - 1 >= 0, z = 0
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' = 0
ifrm(z, z', z'') -{ 1 }→ rm(z', X) :|: z'' = 1 + M + X, z = 1, X >= 0, M >= 0, z' >= 0
ifrm(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
ifrm(z, z', z'') -{ 1 }→ 1 + M + rm(z', X) :|: z'' = 1 + M + X, X >= 0, z = 0, M >= 0, z' >= 0
purge(z) -{ 1 }→ 0 :|: z = 0
purge(z) -{ 3 + M' }→ 1 + N + purge(ifrm(s'', N, 1 + M' + X2)) :|: s'' >= 0, s'' <= 1, M' >= 0, X2 >= 0, z = 1 + N + (1 + M' + X2), N >= 0
purge(z) -{ 2 }→ 1 + (z - 1) + purge(0) :|: z - 1 >= 0
rm(z, z') -{ 3 + Y' }→ ifrm(s', 1 + (z - 1), 1 + (1 + Y') + X) :|: s' >= 0, s' <= 1, z - 1 >= 0, Y' >= 0, X >= 0, z' = 1 + (1 + Y') + X
rm(z, z') -{ 2 }→ ifrm(1, 0, 1 + 0 + (z' - 1)) :|: z' - 1 >= 0, z = 0
rm(z, z') -{ 2 }→ ifrm(0, 0, 1 + (1 + X') + X) :|: X >= 0, X' >= 0, z' = 1 + (1 + X') + X, z = 0
rm(z, z') -{ 2 }→ ifrm(0, 1 + (z - 1), 1 + 0 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0
rm(z, z') -{ 1 }→ 0 :|: z' = 0, z >= 0
eq: runtime: O(n1) [1 + z'], size: O(1) [1] ifrm: runtime: ?, size: O(n1) [z''] rm: runtime: ?, size: O(n1) [z'] |
eq(z, z') -{ 1 + z' }→ s :|: s >= 0, s <= 1, z' - 1 >= 0, z - 1 >= 0
eq(z, z') -{ 1 }→ 1 :|: z = 0, z' = 0
eq(z, z') -{ 1 }→ 0 :|: z' - 1 >= 0, z = 0
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' = 0
ifrm(z, z', z'') -{ 1 }→ rm(z', X) :|: z'' = 1 + M + X, z = 1, X >= 0, M >= 0, z' >= 0
ifrm(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
ifrm(z, z', z'') -{ 1 }→ 1 + M + rm(z', X) :|: z'' = 1 + M + X, X >= 0, z = 0, M >= 0, z' >= 0
purge(z) -{ 1 }→ 0 :|: z = 0
purge(z) -{ 3 + M' }→ 1 + N + purge(ifrm(s'', N, 1 + M' + X2)) :|: s'' >= 0, s'' <= 1, M' >= 0, X2 >= 0, z = 1 + N + (1 + M' + X2), N >= 0
purge(z) -{ 2 }→ 1 + (z - 1) + purge(0) :|: z - 1 >= 0
rm(z, z') -{ 3 + Y' }→ ifrm(s', 1 + (z - 1), 1 + (1 + Y') + X) :|: s' >= 0, s' <= 1, z - 1 >= 0, Y' >= 0, X >= 0, z' = 1 + (1 + Y') + X
rm(z, z') -{ 2 }→ ifrm(1, 0, 1 + 0 + (z' - 1)) :|: z' - 1 >= 0, z = 0
rm(z, z') -{ 2 }→ ifrm(0, 0, 1 + (1 + X') + X) :|: X >= 0, X' >= 0, z' = 1 + (1 + X') + X, z = 0
rm(z, z') -{ 2 }→ ifrm(0, 1 + (z - 1), 1 + 0 + (z' - 1)) :|: z' - 1 >= 0, z - 1 >= 0
rm(z, z') -{ 1 }→ 0 :|: z' = 0, z >= 0
eq: runtime: O(n1) [1 + z'], size: O(1) [1] ifrm: runtime: O(n2) [1 + 22·z'' + 2·z''2], size: O(n1) [z''] rm: runtime: O(n2) [118 + 165·z' + 20·z'2], size: O(n1) [z'] |
eq(z, z') -{ 1 + z' }→ s :|: s >= 0, s <= 1, z' - 1 >= 0, z - 1 >= 0
eq(z, z') -{ 1 }→ 1 :|: z = 0, z' = 0
eq(z, z') -{ 1 }→ 0 :|: z' - 1 >= 0, z = 0
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' = 0
ifrm(z, z', z'') -{ 119 + 165·X + 20·X2 }→ s5 :|: s5 >= 0, s5 <= 1 * X, z'' = 1 + M + X, z = 1, X >= 0, M >= 0, z' >= 0
ifrm(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
ifrm(z, z', z'') -{ 119 + 165·X + 20·X2 }→ 1 + M + s6 :|: s6 >= 0, s6 <= 1 * X, z'' = 1 + M + X, X >= 0, z = 0, M >= 0, z' >= 0
purge(z) -{ 1 }→ 0 :|: z = 0
purge(z) -{ 28 + 27·M' + 4·M'·X2 + 2·M'2 + 26·X2 + 2·X22 }→ 1 + N + purge(s7) :|: s7 >= 0, s7 <= 1 * (1 + M' + X2), s'' >= 0, s'' <= 1, M' >= 0, X2 >= 0, z = 1 + N + (1 + M' + X2), N >= 0
purge(z) -{ 2 }→ 1 + (z - 1) + purge(0) :|: z - 1 >= 0
rm(z, z') -{ 3 + 22·z' + 2·z'2 }→ s1 :|: s1 >= 0, s1 <= 1 * (1 + 0 + (z' - 1)), z' - 1 >= 0, z = 0
rm(z, z') -{ 55 + 30·X + 4·X·X' + 2·X2 + 30·X' + 2·X'2 }→ s2 :|: s2 >= 0, s2 <= 1 * (1 + (1 + X') + X), X >= 0, X' >= 0, z' = 1 + (1 + X') + X, z = 0
rm(z, z') -{ 3 + 22·z' + 2·z'2 }→ s3 :|: s3 >= 0, s3 <= 1 * (1 + 0 + (z' - 1)), z' - 1 >= 0, z - 1 >= 0
rm(z, z') -{ 56 + 30·X + 4·X·Y' + 2·X2 + 31·Y' + 2·Y'2 }→ s4 :|: s4 >= 0, s4 <= 1 * (1 + (1 + Y') + X), s' >= 0, s' <= 1, z - 1 >= 0, Y' >= 0, X >= 0, z' = 1 + (1 + Y') + X
rm(z, z') -{ 1 }→ 0 :|: z' = 0, z >= 0
eq: runtime: O(n1) [1 + z'], size: O(1) [1] ifrm: runtime: O(n2) [1 + 22·z'' + 2·z''2], size: O(n1) [z''] rm: runtime: O(n2) [118 + 165·z' + 20·z'2], size: O(n1) [z'] |
eq(z, z') -{ 1 + z' }→ s :|: s >= 0, s <= 1, z' - 1 >= 0, z - 1 >= 0
eq(z, z') -{ 1 }→ 1 :|: z = 0, z' = 0
eq(z, z') -{ 1 }→ 0 :|: z' - 1 >= 0, z = 0
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' = 0
ifrm(z, z', z'') -{ 119 + 165·X + 20·X2 }→ s5 :|: s5 >= 0, s5 <= 1 * X, z'' = 1 + M + X, z = 1, X >= 0, M >= 0, z' >= 0
ifrm(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
ifrm(z, z', z'') -{ 119 + 165·X + 20·X2 }→ 1 + M + s6 :|: s6 >= 0, s6 <= 1 * X, z'' = 1 + M + X, X >= 0, z = 0, M >= 0, z' >= 0
purge(z) -{ 1 }→ 0 :|: z = 0
purge(z) -{ 28 + 27·M' + 4·M'·X2 + 2·M'2 + 26·X2 + 2·X22 }→ 1 + N + purge(s7) :|: s7 >= 0, s7 <= 1 * (1 + M' + X2), s'' >= 0, s'' <= 1, M' >= 0, X2 >= 0, z = 1 + N + (1 + M' + X2), N >= 0
purge(z) -{ 2 }→ 1 + (z - 1) + purge(0) :|: z - 1 >= 0
rm(z, z') -{ 3 + 22·z' + 2·z'2 }→ s1 :|: s1 >= 0, s1 <= 1 * (1 + 0 + (z' - 1)), z' - 1 >= 0, z = 0
rm(z, z') -{ 55 + 30·X + 4·X·X' + 2·X2 + 30·X' + 2·X'2 }→ s2 :|: s2 >= 0, s2 <= 1 * (1 + (1 + X') + X), X >= 0, X' >= 0, z' = 1 + (1 + X') + X, z = 0
rm(z, z') -{ 3 + 22·z' + 2·z'2 }→ s3 :|: s3 >= 0, s3 <= 1 * (1 + 0 + (z' - 1)), z' - 1 >= 0, z - 1 >= 0
rm(z, z') -{ 56 + 30·X + 4·X·Y' + 2·X2 + 31·Y' + 2·Y'2 }→ s4 :|: s4 >= 0, s4 <= 1 * (1 + (1 + Y') + X), s' >= 0, s' <= 1, z - 1 >= 0, Y' >= 0, X >= 0, z' = 1 + (1 + Y') + X
rm(z, z') -{ 1 }→ 0 :|: z' = 0, z >= 0
eq: runtime: O(n1) [1 + z'], size: O(1) [1] ifrm: runtime: O(n2) [1 + 22·z'' + 2·z''2], size: O(n1) [z''] rm: runtime: O(n2) [118 + 165·z' + 20·z'2], size: O(n1) [z'] purge: runtime: ?, size: O(n1) [z] |
eq(z, z') -{ 1 + z' }→ s :|: s >= 0, s <= 1, z' - 1 >= 0, z - 1 >= 0
eq(z, z') -{ 1 }→ 1 :|: z = 0, z' = 0
eq(z, z') -{ 1 }→ 0 :|: z' - 1 >= 0, z = 0
eq(z, z') -{ 1 }→ 0 :|: z - 1 >= 0, z' = 0
ifrm(z, z', z'') -{ 119 + 165·X + 20·X2 }→ s5 :|: s5 >= 0, s5 <= 1 * X, z'' = 1 + M + X, z = 1, X >= 0, M >= 0, z' >= 0
ifrm(z, z', z'') -{ 0 }→ 0 :|: z >= 0, z' >= 0, z'' >= 0
ifrm(z, z', z'') -{ 119 + 165·X + 20·X2 }→ 1 + M + s6 :|: s6 >= 0, s6 <= 1 * X, z'' = 1 + M + X, X >= 0, z = 0, M >= 0, z' >= 0
purge(z) -{ 1 }→ 0 :|: z = 0
purge(z) -{ 28 + 27·M' + 4·M'·X2 + 2·M'2 + 26·X2 + 2·X22 }→ 1 + N + purge(s7) :|: s7 >= 0, s7 <= 1 * (1 + M' + X2), s'' >= 0, s'' <= 1, M' >= 0, X2 >= 0, z = 1 + N + (1 + M' + X2), N >= 0
purge(z) -{ 2 }→ 1 + (z - 1) + purge(0) :|: z - 1 >= 0
rm(z, z') -{ 3 + 22·z' + 2·z'2 }→ s1 :|: s1 >= 0, s1 <= 1 * (1 + 0 + (z' - 1)), z' - 1 >= 0, z = 0
rm(z, z') -{ 55 + 30·X + 4·X·X' + 2·X2 + 30·X' + 2·X'2 }→ s2 :|: s2 >= 0, s2 <= 1 * (1 + (1 + X') + X), X >= 0, X' >= 0, z' = 1 + (1 + X') + X, z = 0
rm(z, z') -{ 3 + 22·z' + 2·z'2 }→ s3 :|: s3 >= 0, s3 <= 1 * (1 + 0 + (z' - 1)), z' - 1 >= 0, z - 1 >= 0
rm(z, z') -{ 56 + 30·X + 4·X·Y' + 2·X2 + 31·Y' + 2·Y'2 }→ s4 :|: s4 >= 0, s4 <= 1 * (1 + (1 + Y') + X), s' >= 0, s' <= 1, z - 1 >= 0, Y' >= 0, X >= 0, z' = 1 + (1 + Y') + X
rm(z, z') -{ 1 }→ 0 :|: z' = 0, z >= 0
eq: runtime: O(n1) [1 + z'], size: O(1) [1] ifrm: runtime: O(n2) [1 + 22·z'' + 2·z''2], size: O(n1) [z''] rm: runtime: O(n2) [118 + 165·z' + 20·z'2], size: O(n1) [z'] purge: runtime: O(n3) [1 + 30·z + 53·z2 + 8·z3], size: O(n1) [z] |