summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHelmut Grohne <helmut@subdivi.de>2012-11-19 13:33:40 +0100
committerHelmut Grohne <helmut@subdivi.de>2012-11-19 13:33:40 +0100
commitdb5938ed22dc815720b88b62a51b5067e2b02740 (patch)
tree326e87dfef7003b4e85fdb912614b10c1aaf7c39
parentee0eef66fc69ac614726e4b48c2997f14707a483 (diff)
downloadbidiragda-db5938ed22dc815720b88b62a51b5067e2b02740.tar.gz
strip prose from assoc-enough
-rw-r--r--Precond.agda16
1 files changed, 4 insertions, 12 deletions
diff --git a/Precond.agda b/Precond.agda
index a6d2d37..134c359 100644
--- a/Precond.agda
+++ b/Precond.agda
@@ -24,18 +24,10 @@ open Bidir Carrier deq using (lemma-∉-lookupM-assoc)
open BFF.VecBFF Carrier deq using (get-type ; assoc ; enumerate ; denumerate ; bff)
assoc-enough : {getlen : ℕ → ℕ} (get : get-type getlen) → {m : ℕ} → (s : Vec Carrier m) → (v : Vec Carrier (getlen m)) → (h : FinMapMaybe m Carrier) → assoc (get (enumerate s)) v ≡ just h → ∃ λ u → bff get s v ≡ just u
-assoc-enough get {m} s v h p = map (flip lookup (union h g)) s′ , (begin
- bff get s v
- ≡⟨ refl ⟩
- fmap (flip map s′ ∘ flip lookup) (fmap (flip union g) (assoc (get s′) v))
- ≡⟨ cong (fmap (flip map s′ ∘ flip lookup)) (cong (fmap (flip union g)) p) ⟩
- fmap (flip map s′ ∘ flip lookup) (fmap (flip union g) (just h))
- ≡⟨ refl ⟩
- just (map (flip lookup (union h g)) s′) ∎)
- where s′ : Vec (Fin m) m
- s′ = enumerate s
- g : FinMap m Carrier
- g = fromFunc (denumerate s)
+assoc-enough get {m} s v h p = u , cong (fmap (flip map s′ ∘ flip lookup) ∘ (fmap (flip union g))) p
+ where s′ = enumerate s
+ g = fromFunc (denumerate s)
+ u = map (flip lookup (union h g)) s′
all-different : {A : Set} {n : ℕ} → Vec A n → Set
all-different {_} {n} v = (i : Fin n) → (j : Fin n) → i ≢ j → lookup i v ≢ lookup j v