proposition: Lemma Vrel1_cast_intro : forall m n (h : m=n) (v1 v2 : vector A m), Vrel1 R v1 v2 -> Vrel1 R (Vcast v1 h) (Vcast v2 h).
proof: Proof. induction v1; intros; destruct n; intros. contr. discr. discr. assert (n0 = n). apply eq_add_S. hyp. subst n0. assert (h = eq_refl (S n)). apply eq_unique. subst h. rewrite (Vcast_refl (Vcons h0 v1)), (Vcast_refl v2). hyp. Qed.
imports: CoLoR(LogicUtil VecUtil RelUtil NatUtil SN)