(* Partial injection on dart, Df giving the domain of f: *)
Definition inj_dart(Df:dart->Prop)(f:dart->dart):Prop:=
forall x x':dart,
(Df x)->(Df x')->(f x)=(f x')->x=x'.
(* (A m k) is an injection on (succ m k): OK *)

(* Specifications: *)
Lemma inj_A:
forall (m:fmap)(k:dim), inv_hmap m ->
inj_dart (succ m k) (A m k).