(****************)
(* Type dynamic *)
(****************)
(* putting it in a module, to get a path name for typ and val *)
Module Dyn.
Record dynamic : Type := dyn {typ : Type; val : typ}.
End Dyn.
Notation dynamic := Dyn.dynamic.
Notation dyn := Dyn.dyn.

Lemma contVT B (P : B -> B -> Prop) :
(forall x x', B = B -> x =jm x' -> P x x') <-> forall x, P x x.