Record dynamic : Type := dyn {typ : Type; val : typ}.Record dynamic : Type := dyn {typ : Type; val : typ}.Record dynamic : Type := dyn {typ : Type; val : typ}.Record dynamic : Type := dyn {typ : Type; val : typ}.Notation dynamic := Dyn.dynamic.Notation dyn := Dyn.dyn.

(* Specifications: *)
Lemma dyn_inj A (x y : A) : dyn x = dyn y -> x = y.
Lemma dyn_eta d : d = dyn (Dyn.val d).
Lemma dyn_injT A1 A2 (x1 : A1) (x2 : A2) : dyn x1 = dyn x2 -> A1 = A2.
Lemma eqc A (x : T A) (pf : A = A) : coerce x pf = x.