@@ -70,7 +70,7 @@ module QuickSort (M : Comparable) where
70
70
let open ≤⁻-Reasoning cost in
71
71
begin
72
72
branch (F unit) (bind (F unit) (choose (x' ∷ xs)) λ _ → ret triv) (ret triv)
73
- ≤ ⟨ ≤⁻-mono (λ e → branch (F unit) (bind (F unit) e λ _ → ret triv) (ret triv)) (choose/is-bounded x' xs) ⟩
73
+ ≲ ⟨ ≤⁻-mono (λ e → branch (F unit) (bind (F unit) e λ _ → ret triv) (ret triv)) (choose/is-bounded x' xs) ⟩
74
74
branch (F unit) (ret triv) (ret triv)
75
75
≡⟨ branch/idem ⟩
76
76
ret triv
@@ -128,7 +128,7 @@ module QuickSort (M : Comparable) where
128
128
bind (F unit) (x ≤? pivot) λ _ →
129
129
ret triv
130
130
)
131
- ≤ ⟨
131
+ ≲ ⟨
132
132
( ≤⁻-mono
133
133
{Π (Σ⁺ (list A) λ l₁ → Σ⁺ (list A) λ l₂ → meta⁺ (All (_≤ pivot) l₁) ×⁺ meta⁺ (All (pivot ≤_) l₂) ×⁺ meta⁺ (l₁ ++ l₂ ↭ xs)) λ _ → F unit}
134
134
(bind (F unit) (partition pivot xs)) $
@@ -143,7 +143,7 @@ module QuickSort (M : Comparable) where
143
143
( bind (F unit) (bind (F unit) (partition pivot xs) λ _ → ret triv) λ _ →
144
144
step⋆ 1
145
145
)
146
- ≤ ⟨ ≤⁻-mono (λ e → bind (F unit) (bind (F unit) e λ _ → ret triv) λ _ → step (F unit) 1 (ret triv)) (partition/is-bounded pivot xs) ⟩
146
+ ≲ ⟨ ≤⁻-mono (λ e → bind (F unit) (bind (F unit) e λ _ → ret triv) λ _ → step (F unit) 1 (ret triv)) (partition/is-bounded pivot xs) ⟩
147
147
( bind (F unit) (step (F unit) (length xs) (ret triv)) λ _ →
148
148
step⋆ 1
149
149
)
@@ -191,7 +191,7 @@ module QuickSort (M : Comparable) where
191
191
bind (F _) (sort l₂) λ _ →
192
192
ret triv
193
193
)
194
- ≤ ⟨
194
+ ≲ ⟨
195
195
( ≤⁻-mono
196
196
{Π (Σ⁺ A λ pivot → Σ⁺ (list A) λ l' → meta⁺ (x ∷ xs ↭ pivot ∷ l')) λ _ → F unit}
197
197
{F unit}
@@ -220,7 +220,7 @@ module QuickSort (M : Comparable) where
220
220
bind (F _) (sort l₁) λ _ →
221
221
step⋆ (length l₂ ²)
222
222
)
223
- ≤ ⟨
223
+ ≲ ⟨
224
224
( ≤⁻-mono
225
225
{Π (Σ⁺ A λ pivot → Σ⁺ (list A) λ l' → meta⁺ (x ∷ xs ↭ pivot ∷ l')) λ _ → F unit}
226
226
{F unit}
@@ -245,7 +245,7 @@ module QuickSort (M : Comparable) where
245
245
bind (F _) (partition pivot l) λ (l₁ , l₂ , h₁ , h₂ , l₁++l₂↭l) →
246
246
step⋆ (length l₁ ² + length l₂ ²)
247
247
)
248
- ≤ ⟨
248
+ ≲ ⟨
249
249
( ≤⁻-mono
250
250
{Π (Σ⁺ A λ pivot → Σ⁺ (list A) λ l' → meta⁺ (x ∷ xs ↭ pivot ∷ l')) λ _ → F unit}
251
251
{F unit}
@@ -270,7 +270,7 @@ module QuickSort (M : Comparable) where
270
270
bind (F _) (partition pivot l) λ _ →
271
271
step⋆ (length l ²)
272
272
)
273
- ≤ ⟨
273
+ ≲ ⟨
274
274
( ≤⁻-mono
275
275
{Π (Σ⁺ A λ pivot → Σ⁺ (list A) λ l' → meta⁺ (x ∷ xs ↭ pivot ∷ l')) λ _ → F unit}
276
276
{F unit}
@@ -295,9 +295,9 @@ module QuickSort (M : Comparable) where
295
295
( bind (F _) (choose (x ∷ xs)) λ _ →
296
296
step⋆ (length xs + length xs ²)
297
297
)
298
- ≤ ⟨ bind-irr-monoˡ-≤⁻ (choose/is-bounded x xs) ⟩
298
+ ≲ ⟨ bind-irr-monoˡ-≤⁻ (choose/is-bounded x xs) ⟩
299
299
step⋆ (length xs + length xs ²)
300
- ≤ ⟨ step⋆-mono-≤⁻ (Nat.+-mono-≤ (Nat.n≤1+n (length xs)) (Nat.*-monoʳ-≤ (length xs) (Nat.n≤1+n (length xs)))) ⟩
300
+ ≲ ⟨ step⋆-mono-≤⁻ (Nat.+-mono-≤ (Nat.n≤1+n (length xs)) (Nat.*-monoʳ-≤ (length xs) (Nat.n≤1+n (length xs)))) ⟩
301
301
step⋆ (length (x ∷ xs) + length xs * length (x ∷ xs))
302
302
≡⟨⟩
303
303
step⋆ (length (x ∷ xs) ²)
@@ -330,7 +330,7 @@ module Lookup {A : tp⁺} where
330
330
let open ≤⁻-Reasoning (F _) in
331
331
begin
332
332
step (F _) 1 (lookup xs i)
333
- ≤ ⟨ ≤⁻-mono (step (F _) 1 ) (lemma xs i p) ⟩
333
+ ≲ ⟨ ≤⁻-mono (step (F _) 1 ) (lemma xs i p) ⟩
334
334
step (F _) 1 (fail (F _))
335
335
≡⟨ fail/step 1 ⟩
336
336
fail (F _)
@@ -353,7 +353,7 @@ module Pervasive where
353
353
branch (F bool)
354
354
(step (F bool) 3 (ret true))
355
355
(step (F bool) 12 (ret false))
356
- ≤ ⟨
356
+ ≲ ⟨
357
357
≤⁻-mono
358
358
(λ e → branch (F bool) e (step (F bool) 12 (ret false)))
359
359
(step-monoˡ-≤⁻ {F bool} (ret true) (Nat.s≤s (Nat.s≤s (Nat.s≤s Nat.z≤n))))
@@ -370,7 +370,7 @@ module Pervasive where
370
370
let open ≤⁻-Reasoning (F unit) in
371
371
begin
372
372
bind (F unit) e (λ _ → ret triv)
373
- ≤ ⟨ ≤⁻-mono (λ e → bind (F _) e (λ _ → ret triv)) e/is-bounded ⟩
373
+ ≲ ⟨ ≤⁻-mono (λ e → bind (F _) e (λ _ → ret triv)) e/is-bounded ⟩
374
374
bind (F unit) (step (F bool) 12 (branch (F bool) (ret true) (ret false))) (λ _ → ret triv)
375
375
≡⟨⟩
376
376
step (F unit) 12 (branch (F unit) (ret triv) (ret triv))
0 commit comments