0 CpxTRS
↳1 TrsToWeightedTrsProof (BOTH BOUNDS(ID, ID), 0 ms)
↳2 CpxWeightedTrs
↳3 TypeInferenceProof (BOTH BOUNDS(ID, ID), 3 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), 936 ms)
↳16 CpxRNTS
↳17 IntTrsBoundProof (UPPER BOUND(ID), 134 ms)
↳18 CpxRNTS
↳19 ResultPropagationProof (UPPER BOUND(ID), 0 ms)
↳20 CpxRNTS
↳21 IntTrsBoundProof (UPPER BOUND(ID), 209 ms)
↳22 CpxRNTS
↳23 IntTrsBoundProof (UPPER BOUND(ID), 110 ms)
↳24 CpxRNTS
↳25 ResultPropagationProof (UPPER BOUND(ID), 0 ms)
↳26 CpxRNTS
↳27 IntTrsBoundProof (UPPER BOUND(ID), 178 ms)
↳28 CpxRNTS
↳29 IntTrsBoundProof (UPPER BOUND(ID), 6 ms)
↳30 CpxRNTS
↳31 ResultPropagationProof (UPPER BOUND(ID), 0 ms)
↳32 CpxRNTS
↳33 IntTrsBoundProof (UPPER BOUND(ID), 157 ms)
↳34 CpxRNTS
↳35 IntTrsBoundProof (UPPER BOUND(ID), 29 ms)
↳36 CpxRNTS
↳37 ResultPropagationProof (UPPER BOUND(ID), 0 ms)
↳38 CpxRNTS
↳39 IntTrsBoundProof (UPPER BOUND(ID), 195 ms)
↳40 CpxRNTS
↳41 IntTrsBoundProof (UPPER BOUND(ID), 147 ms)
↳42 CpxRNTS
↳43 ResultPropagationProof (UPPER BOUND(ID), 0 ms)
↳44 CpxRNTS
↳45 IntTrsBoundProof (UPPER BOUND(ID), 63 ms)
↳46 CpxRNTS
↳47 IntTrsBoundProof (UPPER BOUND(ID), 57 ms)
↳48 CpxRNTS
↳49 ResultPropagationProof (UPPER BOUND(ID), 0 ms)
↳50 CpxRNTS
↳51 IntTrsBoundProof (UPPER BOUND(ID), 21 ms)
↳52 CpxRNTS
↳53 IntTrsBoundProof (UPPER BOUND(ID), 57 ms)
↳54 CpxRNTS
↳55 FinalProof (⇔, 0 ms)
↳56 BOUNDS(1, n^1)
append(@l1, @l2) → append#1(@l1, @l2)
append#1(::(@x, @xs), @l2) → ::(@x, append(@xs, @l2))
append#1(nil, @l2) → @l2
appendAll(@l) → appendAll#1(@l)
appendAll#1(::(@l1, @ls)) → append(@l1, appendAll(@ls))
appendAll#1(nil) → nil
appendAll2(@l) → appendAll2#1(@l)
appendAll2#1(::(@l1, @ls)) → append(appendAll(@l1), appendAll2(@ls))
appendAll2#1(nil) → nil
appendAll3(@l) → appendAll3#1(@l)
appendAll3#1(::(@l1, @ls)) → append(appendAll2(@l1), appendAll3(@ls))
appendAll3#1(nil) → nil
append(@l1, @l2) → append#1(@l1, @l2) [1]
append#1(::(@x, @xs), @l2) → ::(@x, append(@xs, @l2)) [1]
append#1(nil, @l2) → @l2 [1]
appendAll(@l) → appendAll#1(@l) [1]
appendAll#1(::(@l1, @ls)) → append(@l1, appendAll(@ls)) [1]
appendAll#1(nil) → nil [1]
appendAll2(@l) → appendAll2#1(@l) [1]
appendAll2#1(::(@l1, @ls)) → append(appendAll(@l1), appendAll2(@ls)) [1]
appendAll2#1(nil) → nil [1]
appendAll3(@l) → appendAll3#1(@l) [1]
appendAll3#1(::(@l1, @ls)) → append(appendAll2(@l1), appendAll3(@ls)) [1]
appendAll3#1(nil) → nil [1]
append(@l1, @l2) → append#1(@l1, @l2) [1]
append#1(::(@x, @xs), @l2) → ::(@x, append(@xs, @l2)) [1]
append#1(nil, @l2) → @l2 [1]
appendAll(@l) → appendAll#1(@l) [1]
appendAll#1(::(@l1, @ls)) → append(@l1, appendAll(@ls)) [1]
appendAll#1(nil) → nil [1]
appendAll2(@l) → appendAll2#1(@l) [1]
appendAll2#1(::(@l1, @ls)) → append(appendAll(@l1), appendAll2(@ls)) [1]
appendAll2#1(nil) → nil [1]
appendAll3(@l) → appendAll3#1(@l) [1]
appendAll3#1(::(@l1, @ls)) → append(appendAll2(@l1), appendAll3(@ls)) [1]
appendAll3#1(nil) → nil [1]
append :: :::nil → :::nil → :::nil append#1 :: :::nil → :::nil → :::nil :: :: :::nil → :::nil → :::nil nil :: :::nil appendAll :: :::nil → :::nil appendAll#1 :: :::nil → :::nil appendAll2 :: :::nil → :::nil appendAll2#1 :: :::nil → :::nil appendAll3 :: :::nil → :::nil appendAll3#1 :: :::nil → :::nil |
(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:
none
(c) The following functions are completely defined:
appendAll2
appendAll3
appendAll
appendAll#1
appendAll2#1
append
appendAll3#1
append#1
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 |
nil => 0
append(z, z') -{ 1 }→ append#1(@l1, @l2) :|: @l1 >= 0, z' = @l2, @l2 >= 0, z = @l1
append#1(z, z') -{ 1 }→ @l2 :|: z' = @l2, @l2 >= 0, z = 0
append#1(z, z') -{ 1 }→ 1 + @x + append(@xs, @l2) :|: z' = @l2, @x >= 0, z = 1 + @x + @xs, @l2 >= 0, @xs >= 0
appendAll(z) -{ 1 }→ appendAll#1(@l) :|: z = @l, @l >= 0
appendAll#1(z) -{ 2 }→ append(@l1, appendAll#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll#1(z) -{ 1 }→ 0 :|: z = 0
appendAll2(z) -{ 1 }→ appendAll2#1(@l) :|: z = @l, @l >= 0
appendAll2#1(z) -{ 3 }→ append(appendAll#1(@l1), appendAll2#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll2#1(z) -{ 1 }→ 0 :|: z = 0
appendAll3(z) -{ 1 }→ appendAll3#1(@l) :|: z = @l, @l >= 0
appendAll3#1(z) -{ 3 }→ append(appendAll2#1(@l1), appendAll3#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll3#1(z) -{ 1 }→ 0 :|: z = 0
append(z, z') -{ 1 }→ append#1(z, z') :|: z >= 0, z' >= 0
append#1(z, z') -{ 1 }→ z' :|: z' >= 0, z = 0
append#1(z, z') -{ 1 }→ 1 + @x + append(@xs, z') :|: @x >= 0, z = 1 + @x + @xs, z' >= 0, @xs >= 0
appendAll(z) -{ 1 }→ appendAll#1(z) :|: z >= 0
appendAll#1(z) -{ 2 }→ append(@l1, appendAll#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll#1(z) -{ 1 }→ 0 :|: z = 0
appendAll2(z) -{ 1 }→ appendAll2#1(z) :|: z >= 0
appendAll2#1(z) -{ 3 }→ append(appendAll#1(@l1), appendAll2#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll2#1(z) -{ 1 }→ 0 :|: z = 0
appendAll3(z) -{ 1 }→ appendAll3#1(z) :|: z >= 0
appendAll3#1(z) -{ 3 }→ append(appendAll2#1(@l1), appendAll3#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll3#1(z) -{ 1 }→ 0 :|: z = 0
{ append#1, append } { appendAll#1 } { appendAll } { appendAll2#1 } { appendAll3#1 } { appendAll2 } { appendAll3 } |
append(z, z') -{ 1 }→ append#1(z, z') :|: z >= 0, z' >= 0
append#1(z, z') -{ 1 }→ z' :|: z' >= 0, z = 0
append#1(z, z') -{ 1 }→ 1 + @x + append(@xs, z') :|: @x >= 0, z = 1 + @x + @xs, z' >= 0, @xs >= 0
appendAll(z) -{ 1 }→ appendAll#1(z) :|: z >= 0
appendAll#1(z) -{ 2 }→ append(@l1, appendAll#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll#1(z) -{ 1 }→ 0 :|: z = 0
appendAll2(z) -{ 1 }→ appendAll2#1(z) :|: z >= 0
appendAll2#1(z) -{ 3 }→ append(appendAll#1(@l1), appendAll2#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll2#1(z) -{ 1 }→ 0 :|: z = 0
appendAll3(z) -{ 1 }→ appendAll3#1(z) :|: z >= 0
appendAll3#1(z) -{ 3 }→ append(appendAll2#1(@l1), appendAll3#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll3#1(z) -{ 1 }→ 0 :|: z = 0
append(z, z') -{ 1 }→ append#1(z, z') :|: z >= 0, z' >= 0
append#1(z, z') -{ 1 }→ z' :|: z' >= 0, z = 0
append#1(z, z') -{ 1 }→ 1 + @x + append(@xs, z') :|: @x >= 0, z = 1 + @x + @xs, z' >= 0, @xs >= 0
appendAll(z) -{ 1 }→ appendAll#1(z) :|: z >= 0
appendAll#1(z) -{ 2 }→ append(@l1, appendAll#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll#1(z) -{ 1 }→ 0 :|: z = 0
appendAll2(z) -{ 1 }→ appendAll2#1(z) :|: z >= 0
appendAll2#1(z) -{ 3 }→ append(appendAll#1(@l1), appendAll2#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll2#1(z) -{ 1 }→ 0 :|: z = 0
appendAll3(z) -{ 1 }→ appendAll3#1(z) :|: z >= 0
appendAll3#1(z) -{ 3 }→ append(appendAll2#1(@l1), appendAll3#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll3#1(z) -{ 1 }→ 0 :|: z = 0
append#1: runtime: ?, size: O(n1) [z + z'] append: runtime: ?, size: O(n1) [z + z'] |
append(z, z') -{ 1 }→ append#1(z, z') :|: z >= 0, z' >= 0
append#1(z, z') -{ 1 }→ z' :|: z' >= 0, z = 0
append#1(z, z') -{ 1 }→ 1 + @x + append(@xs, z') :|: @x >= 0, z = 1 + @x + @xs, z' >= 0, @xs >= 0
appendAll(z) -{ 1 }→ appendAll#1(z) :|: z >= 0
appendAll#1(z) -{ 2 }→ append(@l1, appendAll#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll#1(z) -{ 1 }→ 0 :|: z = 0
appendAll2(z) -{ 1 }→ appendAll2#1(z) :|: z >= 0
appendAll2#1(z) -{ 3 }→ append(appendAll#1(@l1), appendAll2#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll2#1(z) -{ 1 }→ 0 :|: z = 0
appendAll3(z) -{ 1 }→ appendAll3#1(z) :|: z >= 0
appendAll3#1(z) -{ 3 }→ append(appendAll2#1(@l1), appendAll3#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll3#1(z) -{ 1 }→ 0 :|: z = 0
append#1: runtime: O(n1) [1 + 2·z], size: O(n1) [z + z'] append: runtime: O(n1) [2 + 2·z], size: O(n1) [z + z'] |
append(z, z') -{ 2 + 2·z }→ s :|: s >= 0, s <= 1 * z + 1 * z', z >= 0, z' >= 0
append#1(z, z') -{ 1 }→ z' :|: z' >= 0, z = 0
append#1(z, z') -{ 3 + 2·@xs }→ 1 + @x + s' :|: s' >= 0, s' <= 1 * @xs + 1 * z', @x >= 0, z = 1 + @x + @xs, z' >= 0, @xs >= 0
appendAll(z) -{ 1 }→ appendAll#1(z) :|: z >= 0
appendAll#1(z) -{ 2 }→ append(@l1, appendAll#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll#1(z) -{ 1 }→ 0 :|: z = 0
appendAll2(z) -{ 1 }→ appendAll2#1(z) :|: z >= 0
appendAll2#1(z) -{ 3 }→ append(appendAll#1(@l1), appendAll2#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll2#1(z) -{ 1 }→ 0 :|: z = 0
appendAll3(z) -{ 1 }→ appendAll3#1(z) :|: z >= 0
appendAll3#1(z) -{ 3 }→ append(appendAll2#1(@l1), appendAll3#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll3#1(z) -{ 1 }→ 0 :|: z = 0
append#1: runtime: O(n1) [1 + 2·z], size: O(n1) [z + z'] append: runtime: O(n1) [2 + 2·z], size: O(n1) [z + z'] |
append(z, z') -{ 2 + 2·z }→ s :|: s >= 0, s <= 1 * z + 1 * z', z >= 0, z' >= 0
append#1(z, z') -{ 1 }→ z' :|: z' >= 0, z = 0
append#1(z, z') -{ 3 + 2·@xs }→ 1 + @x + s' :|: s' >= 0, s' <= 1 * @xs + 1 * z', @x >= 0, z = 1 + @x + @xs, z' >= 0, @xs >= 0
appendAll(z) -{ 1 }→ appendAll#1(z) :|: z >= 0
appendAll#1(z) -{ 2 }→ append(@l1, appendAll#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll#1(z) -{ 1 }→ 0 :|: z = 0
appendAll2(z) -{ 1 }→ appendAll2#1(z) :|: z >= 0
appendAll2#1(z) -{ 3 }→ append(appendAll#1(@l1), appendAll2#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll2#1(z) -{ 1 }→ 0 :|: z = 0
appendAll3(z) -{ 1 }→ appendAll3#1(z) :|: z >= 0
appendAll3#1(z) -{ 3 }→ append(appendAll2#1(@l1), appendAll3#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll3#1(z) -{ 1 }→ 0 :|: z = 0
append#1: runtime: O(n1) [1 + 2·z], size: O(n1) [z + z'] append: runtime: O(n1) [2 + 2·z], size: O(n1) [z + z'] appendAll#1: runtime: ?, size: O(n1) [z] |
append(z, z') -{ 2 + 2·z }→ s :|: s >= 0, s <= 1 * z + 1 * z', z >= 0, z' >= 0
append#1(z, z') -{ 1 }→ z' :|: z' >= 0, z = 0
append#1(z, z') -{ 3 + 2·@xs }→ 1 + @x + s' :|: s' >= 0, s' <= 1 * @xs + 1 * z', @x >= 0, z = 1 + @x + @xs, z' >= 0, @xs >= 0
appendAll(z) -{ 1 }→ appendAll#1(z) :|: z >= 0
appendAll#1(z) -{ 2 }→ append(@l1, appendAll#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll#1(z) -{ 1 }→ 0 :|: z = 0
appendAll2(z) -{ 1 }→ appendAll2#1(z) :|: z >= 0
appendAll2#1(z) -{ 3 }→ append(appendAll#1(@l1), appendAll2#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll2#1(z) -{ 1 }→ 0 :|: z = 0
appendAll3(z) -{ 1 }→ appendAll3#1(z) :|: z >= 0
appendAll3#1(z) -{ 3 }→ append(appendAll2#1(@l1), appendAll3#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll3#1(z) -{ 1 }→ 0 :|: z = 0
append#1: runtime: O(n1) [1 + 2·z], size: O(n1) [z + z'] append: runtime: O(n1) [2 + 2·z], size: O(n1) [z + z'] appendAll#1: runtime: O(n1) [1 + 4·z], size: O(n1) [z] |
append(z, z') -{ 2 + 2·z }→ s :|: s >= 0, s <= 1 * z + 1 * z', z >= 0, z' >= 0
append#1(z, z') -{ 1 }→ z' :|: z' >= 0, z = 0
append#1(z, z') -{ 3 + 2·@xs }→ 1 + @x + s' :|: s' >= 0, s' <= 1 * @xs + 1 * z', @x >= 0, z = 1 + @x + @xs, z' >= 0, @xs >= 0
appendAll(z) -{ 2 + 4·z }→ s'' :|: s'' >= 0, s'' <= 1 * z, z >= 0
appendAll#1(z) -{ 5 + 2·@l1 + 4·@ls }→ s2 :|: s1 >= 0, s1 <= 1 * @ls, s2 >= 0, s2 <= 1 * @l1 + 1 * s1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll#1(z) -{ 1 }→ 0 :|: z = 0
appendAll2(z) -{ 1 }→ appendAll2#1(z) :|: z >= 0
appendAll2#1(z) -{ 4 + 4·@l1 }→ append(s3, appendAll2#1(@ls)) :|: s3 >= 0, s3 <= 1 * @l1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll2#1(z) -{ 1 }→ 0 :|: z = 0
appendAll3(z) -{ 1 }→ appendAll3#1(z) :|: z >= 0
appendAll3#1(z) -{ 3 }→ append(appendAll2#1(@l1), appendAll3#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll3#1(z) -{ 1 }→ 0 :|: z = 0
append#1: runtime: O(n1) [1 + 2·z], size: O(n1) [z + z'] append: runtime: O(n1) [2 + 2·z], size: O(n1) [z + z'] appendAll#1: runtime: O(n1) [1 + 4·z], size: O(n1) [z] |
append(z, z') -{ 2 + 2·z }→ s :|: s >= 0, s <= 1 * z + 1 * z', z >= 0, z' >= 0
append#1(z, z') -{ 1 }→ z' :|: z' >= 0, z = 0
append#1(z, z') -{ 3 + 2·@xs }→ 1 + @x + s' :|: s' >= 0, s' <= 1 * @xs + 1 * z', @x >= 0, z = 1 + @x + @xs, z' >= 0, @xs >= 0
appendAll(z) -{ 2 + 4·z }→ s'' :|: s'' >= 0, s'' <= 1 * z, z >= 0
appendAll#1(z) -{ 5 + 2·@l1 + 4·@ls }→ s2 :|: s1 >= 0, s1 <= 1 * @ls, s2 >= 0, s2 <= 1 * @l1 + 1 * s1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll#1(z) -{ 1 }→ 0 :|: z = 0
appendAll2(z) -{ 1 }→ appendAll2#1(z) :|: z >= 0
appendAll2#1(z) -{ 4 + 4·@l1 }→ append(s3, appendAll2#1(@ls)) :|: s3 >= 0, s3 <= 1 * @l1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll2#1(z) -{ 1 }→ 0 :|: z = 0
appendAll3(z) -{ 1 }→ appendAll3#1(z) :|: z >= 0
appendAll3#1(z) -{ 3 }→ append(appendAll2#1(@l1), appendAll3#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll3#1(z) -{ 1 }→ 0 :|: z = 0
append#1: runtime: O(n1) [1 + 2·z], size: O(n1) [z + z'] append: runtime: O(n1) [2 + 2·z], size: O(n1) [z + z'] appendAll#1: runtime: O(n1) [1 + 4·z], size: O(n1) [z] appendAll: runtime: ?, size: O(n1) [z] |
append(z, z') -{ 2 + 2·z }→ s :|: s >= 0, s <= 1 * z + 1 * z', z >= 0, z' >= 0
append#1(z, z') -{ 1 }→ z' :|: z' >= 0, z = 0
append#1(z, z') -{ 3 + 2·@xs }→ 1 + @x + s' :|: s' >= 0, s' <= 1 * @xs + 1 * z', @x >= 0, z = 1 + @x + @xs, z' >= 0, @xs >= 0
appendAll(z) -{ 2 + 4·z }→ s'' :|: s'' >= 0, s'' <= 1 * z, z >= 0
appendAll#1(z) -{ 5 + 2·@l1 + 4·@ls }→ s2 :|: s1 >= 0, s1 <= 1 * @ls, s2 >= 0, s2 <= 1 * @l1 + 1 * s1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll#1(z) -{ 1 }→ 0 :|: z = 0
appendAll2(z) -{ 1 }→ appendAll2#1(z) :|: z >= 0
appendAll2#1(z) -{ 4 + 4·@l1 }→ append(s3, appendAll2#1(@ls)) :|: s3 >= 0, s3 <= 1 * @l1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll2#1(z) -{ 1 }→ 0 :|: z = 0
appendAll3(z) -{ 1 }→ appendAll3#1(z) :|: z >= 0
appendAll3#1(z) -{ 3 }→ append(appendAll2#1(@l1), appendAll3#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll3#1(z) -{ 1 }→ 0 :|: z = 0
append#1: runtime: O(n1) [1 + 2·z], size: O(n1) [z + z'] append: runtime: O(n1) [2 + 2·z], size: O(n1) [z + z'] appendAll#1: runtime: O(n1) [1 + 4·z], size: O(n1) [z] appendAll: runtime: O(n1) [2 + 4·z], size: O(n1) [z] |
append(z, z') -{ 2 + 2·z }→ s :|: s >= 0, s <= 1 * z + 1 * z', z >= 0, z' >= 0
append#1(z, z') -{ 1 }→ z' :|: z' >= 0, z = 0
append#1(z, z') -{ 3 + 2·@xs }→ 1 + @x + s' :|: s' >= 0, s' <= 1 * @xs + 1 * z', @x >= 0, z = 1 + @x + @xs, z' >= 0, @xs >= 0
appendAll(z) -{ 2 + 4·z }→ s'' :|: s'' >= 0, s'' <= 1 * z, z >= 0
appendAll#1(z) -{ 5 + 2·@l1 + 4·@ls }→ s2 :|: s1 >= 0, s1 <= 1 * @ls, s2 >= 0, s2 <= 1 * @l1 + 1 * s1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll#1(z) -{ 1 }→ 0 :|: z = 0
appendAll2(z) -{ 1 }→ appendAll2#1(z) :|: z >= 0
appendAll2#1(z) -{ 4 + 4·@l1 }→ append(s3, appendAll2#1(@ls)) :|: s3 >= 0, s3 <= 1 * @l1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll2#1(z) -{ 1 }→ 0 :|: z = 0
appendAll3(z) -{ 1 }→ appendAll3#1(z) :|: z >= 0
appendAll3#1(z) -{ 3 }→ append(appendAll2#1(@l1), appendAll3#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll3#1(z) -{ 1 }→ 0 :|: z = 0
append#1: runtime: O(n1) [1 + 2·z], size: O(n1) [z + z'] append: runtime: O(n1) [2 + 2·z], size: O(n1) [z + z'] appendAll#1: runtime: O(n1) [1 + 4·z], size: O(n1) [z] appendAll: runtime: O(n1) [2 + 4·z], size: O(n1) [z] |
append(z, z') -{ 2 + 2·z }→ s :|: s >= 0, s <= 1 * z + 1 * z', z >= 0, z' >= 0
append#1(z, z') -{ 1 }→ z' :|: z' >= 0, z = 0
append#1(z, z') -{ 3 + 2·@xs }→ 1 + @x + s' :|: s' >= 0, s' <= 1 * @xs + 1 * z', @x >= 0, z = 1 + @x + @xs, z' >= 0, @xs >= 0
appendAll(z) -{ 2 + 4·z }→ s'' :|: s'' >= 0, s'' <= 1 * z, z >= 0
appendAll#1(z) -{ 5 + 2·@l1 + 4·@ls }→ s2 :|: s1 >= 0, s1 <= 1 * @ls, s2 >= 0, s2 <= 1 * @l1 + 1 * s1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll#1(z) -{ 1 }→ 0 :|: z = 0
appendAll2(z) -{ 1 }→ appendAll2#1(z) :|: z >= 0
appendAll2#1(z) -{ 4 + 4·@l1 }→ append(s3, appendAll2#1(@ls)) :|: s3 >= 0, s3 <= 1 * @l1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll2#1(z) -{ 1 }→ 0 :|: z = 0
appendAll3(z) -{ 1 }→ appendAll3#1(z) :|: z >= 0
appendAll3#1(z) -{ 3 }→ append(appendAll2#1(@l1), appendAll3#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll3#1(z) -{ 1 }→ 0 :|: z = 0
append#1: runtime: O(n1) [1 + 2·z], size: O(n1) [z + z'] append: runtime: O(n1) [2 + 2·z], size: O(n1) [z + z'] appendAll#1: runtime: O(n1) [1 + 4·z], size: O(n1) [z] appendAll: runtime: O(n1) [2 + 4·z], size: O(n1) [z] appendAll2#1: runtime: ?, size: O(n1) [z] |
append(z, z') -{ 2 + 2·z }→ s :|: s >= 0, s <= 1 * z + 1 * z', z >= 0, z' >= 0
append#1(z, z') -{ 1 }→ z' :|: z' >= 0, z = 0
append#1(z, z') -{ 3 + 2·@xs }→ 1 + @x + s' :|: s' >= 0, s' <= 1 * @xs + 1 * z', @x >= 0, z = 1 + @x + @xs, z' >= 0, @xs >= 0
appendAll(z) -{ 2 + 4·z }→ s'' :|: s'' >= 0, s'' <= 1 * z, z >= 0
appendAll#1(z) -{ 5 + 2·@l1 + 4·@ls }→ s2 :|: s1 >= 0, s1 <= 1 * @ls, s2 >= 0, s2 <= 1 * @l1 + 1 * s1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll#1(z) -{ 1 }→ 0 :|: z = 0
appendAll2(z) -{ 1 }→ appendAll2#1(z) :|: z >= 0
appendAll2#1(z) -{ 4 + 4·@l1 }→ append(s3, appendAll2#1(@ls)) :|: s3 >= 0, s3 <= 1 * @l1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll2#1(z) -{ 1 }→ 0 :|: z = 0
appendAll3(z) -{ 1 }→ appendAll3#1(z) :|: z >= 0
appendAll3#1(z) -{ 3 }→ append(appendAll2#1(@l1), appendAll3#1(@ls)) :|: @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll3#1(z) -{ 1 }→ 0 :|: z = 0
append#1: runtime: O(n1) [1 + 2·z], size: O(n1) [z + z'] append: runtime: O(n1) [2 + 2·z], size: O(n1) [z + z'] appendAll#1: runtime: O(n1) [1 + 4·z], size: O(n1) [z] appendAll: runtime: O(n1) [2 + 4·z], size: O(n1) [z] appendAll2#1: runtime: O(n1) [1 + 6·z], size: O(n1) [z] |
append(z, z') -{ 2 + 2·z }→ s :|: s >= 0, s <= 1 * z + 1 * z', z >= 0, z' >= 0
append#1(z, z') -{ 1 }→ z' :|: z' >= 0, z = 0
append#1(z, z') -{ 3 + 2·@xs }→ 1 + @x + s' :|: s' >= 0, s' <= 1 * @xs + 1 * z', @x >= 0, z = 1 + @x + @xs, z' >= 0, @xs >= 0
appendAll(z) -{ 2 + 4·z }→ s'' :|: s'' >= 0, s'' <= 1 * z, z >= 0
appendAll#1(z) -{ 5 + 2·@l1 + 4·@ls }→ s2 :|: s1 >= 0, s1 <= 1 * @ls, s2 >= 0, s2 <= 1 * @l1 + 1 * s1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll#1(z) -{ 1 }→ 0 :|: z = 0
appendAll2(z) -{ 2 + 6·z }→ s4 :|: s4 >= 0, s4 <= 1 * z, z >= 0
appendAll2#1(z) -{ 7 + 4·@l1 + 6·@ls + 2·s3 }→ s6 :|: s5 >= 0, s5 <= 1 * @ls, s6 >= 0, s6 <= 1 * s3 + 1 * s5, s3 >= 0, s3 <= 1 * @l1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll2#1(z) -{ 1 }→ 0 :|: z = 0
appendAll3(z) -{ 1 }→ appendAll3#1(z) :|: z >= 0
appendAll3#1(z) -{ 4 + 6·@l1 }→ append(s7, appendAll3#1(@ls)) :|: s7 >= 0, s7 <= 1 * @l1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll3#1(z) -{ 1 }→ 0 :|: z = 0
append#1: runtime: O(n1) [1 + 2·z], size: O(n1) [z + z'] append: runtime: O(n1) [2 + 2·z], size: O(n1) [z + z'] appendAll#1: runtime: O(n1) [1 + 4·z], size: O(n1) [z] appendAll: runtime: O(n1) [2 + 4·z], size: O(n1) [z] appendAll2#1: runtime: O(n1) [1 + 6·z], size: O(n1) [z] |
append(z, z') -{ 2 + 2·z }→ s :|: s >= 0, s <= 1 * z + 1 * z', z >= 0, z' >= 0
append#1(z, z') -{ 1 }→ z' :|: z' >= 0, z = 0
append#1(z, z') -{ 3 + 2·@xs }→ 1 + @x + s' :|: s' >= 0, s' <= 1 * @xs + 1 * z', @x >= 0, z = 1 + @x + @xs, z' >= 0, @xs >= 0
appendAll(z) -{ 2 + 4·z }→ s'' :|: s'' >= 0, s'' <= 1 * z, z >= 0
appendAll#1(z) -{ 5 + 2·@l1 + 4·@ls }→ s2 :|: s1 >= 0, s1 <= 1 * @ls, s2 >= 0, s2 <= 1 * @l1 + 1 * s1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll#1(z) -{ 1 }→ 0 :|: z = 0
appendAll2(z) -{ 2 + 6·z }→ s4 :|: s4 >= 0, s4 <= 1 * z, z >= 0
appendAll2#1(z) -{ 7 + 4·@l1 + 6·@ls + 2·s3 }→ s6 :|: s5 >= 0, s5 <= 1 * @ls, s6 >= 0, s6 <= 1 * s3 + 1 * s5, s3 >= 0, s3 <= 1 * @l1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll2#1(z) -{ 1 }→ 0 :|: z = 0
appendAll3(z) -{ 1 }→ appendAll3#1(z) :|: z >= 0
appendAll3#1(z) -{ 4 + 6·@l1 }→ append(s7, appendAll3#1(@ls)) :|: s7 >= 0, s7 <= 1 * @l1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll3#1(z) -{ 1 }→ 0 :|: z = 0
append#1: runtime: O(n1) [1 + 2·z], size: O(n1) [z + z'] append: runtime: O(n1) [2 + 2·z], size: O(n1) [z + z'] appendAll#1: runtime: O(n1) [1 + 4·z], size: O(n1) [z] appendAll: runtime: O(n1) [2 + 4·z], size: O(n1) [z] appendAll2#1: runtime: O(n1) [1 + 6·z], size: O(n1) [z] appendAll3#1: runtime: ?, size: O(n1) [z] |
append(z, z') -{ 2 + 2·z }→ s :|: s >= 0, s <= 1 * z + 1 * z', z >= 0, z' >= 0
append#1(z, z') -{ 1 }→ z' :|: z' >= 0, z = 0
append#1(z, z') -{ 3 + 2·@xs }→ 1 + @x + s' :|: s' >= 0, s' <= 1 * @xs + 1 * z', @x >= 0, z = 1 + @x + @xs, z' >= 0, @xs >= 0
appendAll(z) -{ 2 + 4·z }→ s'' :|: s'' >= 0, s'' <= 1 * z, z >= 0
appendAll#1(z) -{ 5 + 2·@l1 + 4·@ls }→ s2 :|: s1 >= 0, s1 <= 1 * @ls, s2 >= 0, s2 <= 1 * @l1 + 1 * s1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll#1(z) -{ 1 }→ 0 :|: z = 0
appendAll2(z) -{ 2 + 6·z }→ s4 :|: s4 >= 0, s4 <= 1 * z, z >= 0
appendAll2#1(z) -{ 7 + 4·@l1 + 6·@ls + 2·s3 }→ s6 :|: s5 >= 0, s5 <= 1 * @ls, s6 >= 0, s6 <= 1 * s3 + 1 * s5, s3 >= 0, s3 <= 1 * @l1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll2#1(z) -{ 1 }→ 0 :|: z = 0
appendAll3(z) -{ 1 }→ appendAll3#1(z) :|: z >= 0
appendAll3#1(z) -{ 4 + 6·@l1 }→ append(s7, appendAll3#1(@ls)) :|: s7 >= 0, s7 <= 1 * @l1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll3#1(z) -{ 1 }→ 0 :|: z = 0
append#1: runtime: O(n1) [1 + 2·z], size: O(n1) [z + z'] append: runtime: O(n1) [2 + 2·z], size: O(n1) [z + z'] appendAll#1: runtime: O(n1) [1 + 4·z], size: O(n1) [z] appendAll: runtime: O(n1) [2 + 4·z], size: O(n1) [z] appendAll2#1: runtime: O(n1) [1 + 6·z], size: O(n1) [z] appendAll3#1: runtime: O(n1) [1 + 8·z], size: O(n1) [z] |
append(z, z') -{ 2 + 2·z }→ s :|: s >= 0, s <= 1 * z + 1 * z', z >= 0, z' >= 0
append#1(z, z') -{ 1 }→ z' :|: z' >= 0, z = 0
append#1(z, z') -{ 3 + 2·@xs }→ 1 + @x + s' :|: s' >= 0, s' <= 1 * @xs + 1 * z', @x >= 0, z = 1 + @x + @xs, z' >= 0, @xs >= 0
appendAll(z) -{ 2 + 4·z }→ s'' :|: s'' >= 0, s'' <= 1 * z, z >= 0
appendAll#1(z) -{ 5 + 2·@l1 + 4·@ls }→ s2 :|: s1 >= 0, s1 <= 1 * @ls, s2 >= 0, s2 <= 1 * @l1 + 1 * s1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll#1(z) -{ 1 }→ 0 :|: z = 0
appendAll2(z) -{ 2 + 6·z }→ s4 :|: s4 >= 0, s4 <= 1 * z, z >= 0
appendAll2#1(z) -{ 7 + 4·@l1 + 6·@ls + 2·s3 }→ s6 :|: s5 >= 0, s5 <= 1 * @ls, s6 >= 0, s6 <= 1 * s3 + 1 * s5, s3 >= 0, s3 <= 1 * @l1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll2#1(z) -{ 1 }→ 0 :|: z = 0
appendAll3(z) -{ 2 + 8·z }→ s8 :|: s8 >= 0, s8 <= 1 * z, z >= 0
appendAll3#1(z) -{ 7 + 6·@l1 + 8·@ls + 2·s7 }→ s10 :|: s9 >= 0, s9 <= 1 * @ls, s10 >= 0, s10 <= 1 * s7 + 1 * s9, s7 >= 0, s7 <= 1 * @l1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll3#1(z) -{ 1 }→ 0 :|: z = 0
append#1: runtime: O(n1) [1 + 2·z], size: O(n1) [z + z'] append: runtime: O(n1) [2 + 2·z], size: O(n1) [z + z'] appendAll#1: runtime: O(n1) [1 + 4·z], size: O(n1) [z] appendAll: runtime: O(n1) [2 + 4·z], size: O(n1) [z] appendAll2#1: runtime: O(n1) [1 + 6·z], size: O(n1) [z] appendAll3#1: runtime: O(n1) [1 + 8·z], size: O(n1) [z] |
append(z, z') -{ 2 + 2·z }→ s :|: s >= 0, s <= 1 * z + 1 * z', z >= 0, z' >= 0
append#1(z, z') -{ 1 }→ z' :|: z' >= 0, z = 0
append#1(z, z') -{ 3 + 2·@xs }→ 1 + @x + s' :|: s' >= 0, s' <= 1 * @xs + 1 * z', @x >= 0, z = 1 + @x + @xs, z' >= 0, @xs >= 0
appendAll(z) -{ 2 + 4·z }→ s'' :|: s'' >= 0, s'' <= 1 * z, z >= 0
appendAll#1(z) -{ 5 + 2·@l1 + 4·@ls }→ s2 :|: s1 >= 0, s1 <= 1 * @ls, s2 >= 0, s2 <= 1 * @l1 + 1 * s1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll#1(z) -{ 1 }→ 0 :|: z = 0
appendAll2(z) -{ 2 + 6·z }→ s4 :|: s4 >= 0, s4 <= 1 * z, z >= 0
appendAll2#1(z) -{ 7 + 4·@l1 + 6·@ls + 2·s3 }→ s6 :|: s5 >= 0, s5 <= 1 * @ls, s6 >= 0, s6 <= 1 * s3 + 1 * s5, s3 >= 0, s3 <= 1 * @l1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll2#1(z) -{ 1 }→ 0 :|: z = 0
appendAll3(z) -{ 2 + 8·z }→ s8 :|: s8 >= 0, s8 <= 1 * z, z >= 0
appendAll3#1(z) -{ 7 + 6·@l1 + 8·@ls + 2·s7 }→ s10 :|: s9 >= 0, s9 <= 1 * @ls, s10 >= 0, s10 <= 1 * s7 + 1 * s9, s7 >= 0, s7 <= 1 * @l1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll3#1(z) -{ 1 }→ 0 :|: z = 0
append#1: runtime: O(n1) [1 + 2·z], size: O(n1) [z + z'] append: runtime: O(n1) [2 + 2·z], size: O(n1) [z + z'] appendAll#1: runtime: O(n1) [1 + 4·z], size: O(n1) [z] appendAll: runtime: O(n1) [2 + 4·z], size: O(n1) [z] appendAll2#1: runtime: O(n1) [1 + 6·z], size: O(n1) [z] appendAll3#1: runtime: O(n1) [1 + 8·z], size: O(n1) [z] appendAll2: runtime: ?, size: O(n1) [z] |
append(z, z') -{ 2 + 2·z }→ s :|: s >= 0, s <= 1 * z + 1 * z', z >= 0, z' >= 0
append#1(z, z') -{ 1 }→ z' :|: z' >= 0, z = 0
append#1(z, z') -{ 3 + 2·@xs }→ 1 + @x + s' :|: s' >= 0, s' <= 1 * @xs + 1 * z', @x >= 0, z = 1 + @x + @xs, z' >= 0, @xs >= 0
appendAll(z) -{ 2 + 4·z }→ s'' :|: s'' >= 0, s'' <= 1 * z, z >= 0
appendAll#1(z) -{ 5 + 2·@l1 + 4·@ls }→ s2 :|: s1 >= 0, s1 <= 1 * @ls, s2 >= 0, s2 <= 1 * @l1 + 1 * s1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll#1(z) -{ 1 }→ 0 :|: z = 0
appendAll2(z) -{ 2 + 6·z }→ s4 :|: s4 >= 0, s4 <= 1 * z, z >= 0
appendAll2#1(z) -{ 7 + 4·@l1 + 6·@ls + 2·s3 }→ s6 :|: s5 >= 0, s5 <= 1 * @ls, s6 >= 0, s6 <= 1 * s3 + 1 * s5, s3 >= 0, s3 <= 1 * @l1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll2#1(z) -{ 1 }→ 0 :|: z = 0
appendAll3(z) -{ 2 + 8·z }→ s8 :|: s8 >= 0, s8 <= 1 * z, z >= 0
appendAll3#1(z) -{ 7 + 6·@l1 + 8·@ls + 2·s7 }→ s10 :|: s9 >= 0, s9 <= 1 * @ls, s10 >= 0, s10 <= 1 * s7 + 1 * s9, s7 >= 0, s7 <= 1 * @l1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll3#1(z) -{ 1 }→ 0 :|: z = 0
append#1: runtime: O(n1) [1 + 2·z], size: O(n1) [z + z'] append: runtime: O(n1) [2 + 2·z], size: O(n1) [z + z'] appendAll#1: runtime: O(n1) [1 + 4·z], size: O(n1) [z] appendAll: runtime: O(n1) [2 + 4·z], size: O(n1) [z] appendAll2#1: runtime: O(n1) [1 + 6·z], size: O(n1) [z] appendAll3#1: runtime: O(n1) [1 + 8·z], size: O(n1) [z] appendAll2: runtime: O(n1) [2 + 6·z], size: O(n1) [z] |
append(z, z') -{ 2 + 2·z }→ s :|: s >= 0, s <= 1 * z + 1 * z', z >= 0, z' >= 0
append#1(z, z') -{ 1 }→ z' :|: z' >= 0, z = 0
append#1(z, z') -{ 3 + 2·@xs }→ 1 + @x + s' :|: s' >= 0, s' <= 1 * @xs + 1 * z', @x >= 0, z = 1 + @x + @xs, z' >= 0, @xs >= 0
appendAll(z) -{ 2 + 4·z }→ s'' :|: s'' >= 0, s'' <= 1 * z, z >= 0
appendAll#1(z) -{ 5 + 2·@l1 + 4·@ls }→ s2 :|: s1 >= 0, s1 <= 1 * @ls, s2 >= 0, s2 <= 1 * @l1 + 1 * s1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll#1(z) -{ 1 }→ 0 :|: z = 0
appendAll2(z) -{ 2 + 6·z }→ s4 :|: s4 >= 0, s4 <= 1 * z, z >= 0
appendAll2#1(z) -{ 7 + 4·@l1 + 6·@ls + 2·s3 }→ s6 :|: s5 >= 0, s5 <= 1 * @ls, s6 >= 0, s6 <= 1 * s3 + 1 * s5, s3 >= 0, s3 <= 1 * @l1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll2#1(z) -{ 1 }→ 0 :|: z = 0
appendAll3(z) -{ 2 + 8·z }→ s8 :|: s8 >= 0, s8 <= 1 * z, z >= 0
appendAll3#1(z) -{ 7 + 6·@l1 + 8·@ls + 2·s7 }→ s10 :|: s9 >= 0, s9 <= 1 * @ls, s10 >= 0, s10 <= 1 * s7 + 1 * s9, s7 >= 0, s7 <= 1 * @l1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll3#1(z) -{ 1 }→ 0 :|: z = 0
append#1: runtime: O(n1) [1 + 2·z], size: O(n1) [z + z'] append: runtime: O(n1) [2 + 2·z], size: O(n1) [z + z'] appendAll#1: runtime: O(n1) [1 + 4·z], size: O(n1) [z] appendAll: runtime: O(n1) [2 + 4·z], size: O(n1) [z] appendAll2#1: runtime: O(n1) [1 + 6·z], size: O(n1) [z] appendAll3#1: runtime: O(n1) [1 + 8·z], size: O(n1) [z] appendAll2: runtime: O(n1) [2 + 6·z], size: O(n1) [z] |
append(z, z') -{ 2 + 2·z }→ s :|: s >= 0, s <= 1 * z + 1 * z', z >= 0, z' >= 0
append#1(z, z') -{ 1 }→ z' :|: z' >= 0, z = 0
append#1(z, z') -{ 3 + 2·@xs }→ 1 + @x + s' :|: s' >= 0, s' <= 1 * @xs + 1 * z', @x >= 0, z = 1 + @x + @xs, z' >= 0, @xs >= 0
appendAll(z) -{ 2 + 4·z }→ s'' :|: s'' >= 0, s'' <= 1 * z, z >= 0
appendAll#1(z) -{ 5 + 2·@l1 + 4·@ls }→ s2 :|: s1 >= 0, s1 <= 1 * @ls, s2 >= 0, s2 <= 1 * @l1 + 1 * s1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll#1(z) -{ 1 }→ 0 :|: z = 0
appendAll2(z) -{ 2 + 6·z }→ s4 :|: s4 >= 0, s4 <= 1 * z, z >= 0
appendAll2#1(z) -{ 7 + 4·@l1 + 6·@ls + 2·s3 }→ s6 :|: s5 >= 0, s5 <= 1 * @ls, s6 >= 0, s6 <= 1 * s3 + 1 * s5, s3 >= 0, s3 <= 1 * @l1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll2#1(z) -{ 1 }→ 0 :|: z = 0
appendAll3(z) -{ 2 + 8·z }→ s8 :|: s8 >= 0, s8 <= 1 * z, z >= 0
appendAll3#1(z) -{ 7 + 6·@l1 + 8·@ls + 2·s7 }→ s10 :|: s9 >= 0, s9 <= 1 * @ls, s10 >= 0, s10 <= 1 * s7 + 1 * s9, s7 >= 0, s7 <= 1 * @l1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll3#1(z) -{ 1 }→ 0 :|: z = 0
append#1: runtime: O(n1) [1 + 2·z], size: O(n1) [z + z'] append: runtime: O(n1) [2 + 2·z], size: O(n1) [z + z'] appendAll#1: runtime: O(n1) [1 + 4·z], size: O(n1) [z] appendAll: runtime: O(n1) [2 + 4·z], size: O(n1) [z] appendAll2#1: runtime: O(n1) [1 + 6·z], size: O(n1) [z] appendAll3#1: runtime: O(n1) [1 + 8·z], size: O(n1) [z] appendAll2: runtime: O(n1) [2 + 6·z], size: O(n1) [z] appendAll3: runtime: ?, size: O(n1) [z] |
append(z, z') -{ 2 + 2·z }→ s :|: s >= 0, s <= 1 * z + 1 * z', z >= 0, z' >= 0
append#1(z, z') -{ 1 }→ z' :|: z' >= 0, z = 0
append#1(z, z') -{ 3 + 2·@xs }→ 1 + @x + s' :|: s' >= 0, s' <= 1 * @xs + 1 * z', @x >= 0, z = 1 + @x + @xs, z' >= 0, @xs >= 0
appendAll(z) -{ 2 + 4·z }→ s'' :|: s'' >= 0, s'' <= 1 * z, z >= 0
appendAll#1(z) -{ 5 + 2·@l1 + 4·@ls }→ s2 :|: s1 >= 0, s1 <= 1 * @ls, s2 >= 0, s2 <= 1 * @l1 + 1 * s1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll#1(z) -{ 1 }→ 0 :|: z = 0
appendAll2(z) -{ 2 + 6·z }→ s4 :|: s4 >= 0, s4 <= 1 * z, z >= 0
appendAll2#1(z) -{ 7 + 4·@l1 + 6·@ls + 2·s3 }→ s6 :|: s5 >= 0, s5 <= 1 * @ls, s6 >= 0, s6 <= 1 * s3 + 1 * s5, s3 >= 0, s3 <= 1 * @l1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll2#1(z) -{ 1 }→ 0 :|: z = 0
appendAll3(z) -{ 2 + 8·z }→ s8 :|: s8 >= 0, s8 <= 1 * z, z >= 0
appendAll3#1(z) -{ 7 + 6·@l1 + 8·@ls + 2·s7 }→ s10 :|: s9 >= 0, s9 <= 1 * @ls, s10 >= 0, s10 <= 1 * s7 + 1 * s9, s7 >= 0, s7 <= 1 * @l1, @ls >= 0, @l1 >= 0, z = 1 + @l1 + @ls
appendAll3#1(z) -{ 1 }→ 0 :|: z = 0
append#1: runtime: O(n1) [1 + 2·z], size: O(n1) [z + z'] append: runtime: O(n1) [2 + 2·z], size: O(n1) [z + z'] appendAll#1: runtime: O(n1) [1 + 4·z], size: O(n1) [z] appendAll: runtime: O(n1) [2 + 4·z], size: O(n1) [z] appendAll2#1: runtime: O(n1) [1 + 6·z], size: O(n1) [z] appendAll3#1: runtime: O(n1) [1 + 8·z], size: O(n1) [z] appendAll2: runtime: O(n1) [2 + 6·z], size: O(n1) [z] appendAll3: runtime: O(n1) [2 + 8·z], size: O(n1) [z] |