proposition: Lemma Vfilter_head_false_eq : forall n (bs : bools (S n)) x (v : vec n), Vhead bs = false -> forall h : Vtrue (Vtail bs) = Vtrue bs, Vfilter bs (Vcons x v) = Vcast (Vfilter (Vtail bs) v) h.
proof: Proof. intros n bs x v H. VSntac bs. rewrite H. simpl Vtrue. intro. rewrite Vcast_refl. refl. Qed.
imports: Coq(Arith) CoLoR(VecUtil LogicUtil EqUtil)