X-Git-Url: http://git.megacz.com/?p=coq-hetmet.git;a=blobdiff_plain;f=src%2FGeneral.v;h=25856d12ca0fc44fea4683093dfd46ba2114acaf;hp=6cb18becc1f882df7b938e6e015c6a2ee2083e79;hb=af99d5aecd2222d7ca2fe23b10acaaa4a2a02c9a;hpb=97552c1a6dfb32098d4491951929ab1d4aca96a0 diff --git a/src/General.v b/src/General.v index 6cb18be..25856d1 100644 --- a/src/General.v +++ b/src/General.v @@ -906,14 +906,9 @@ Lemma unleaves_injective : forall T (t1 t2:list T), unleaves t1 = unleaves t2 -> reflexivity. Qed. -Lemma fst_zip : forall T Q n (v1:vec T n)(v2:vec Q n), vec_map (@fst _ _) (vec_zip v1 v2) = v1. - admit. - Defined. - -Lemma snd_zip : forall T Q n (v1:vec T n)(v2:vec Q n), vec_map (@snd _ _) (vec_zip v1 v2) = v2. - admit. - Defined. - +(* gee I wish I knew how to get Coq to accept these... *) +Axiom fst_zip : forall T Q n (v1:vec T n)(v2:vec Q n), vec_map (@fst _ _) (vec_zip v1 v2) = v1. +Axiom snd_zip : forall T Q n (v1:vec T n)(v2:vec Q n), vec_map (@snd _ _) (vec_zip v1 v2) = v2. Fixpoint mapM {M}{mon:Monad M}{T}(ml:list (M T)) : M (list T) := match ml with