Definition empty_fpm : fpm.Instance Sep_fpm : @Sep_alg fpm Join_fpm.Instance Sing_fpm:  @Sing_alg fpm _ _.Instance Canc_fpm {CA_B: Canc_alg B}: Canc_alg fpm.Instance Disj_fpm {DA_B: Disj_alg B}: Disj_alg fpm.Definition lookup_fpm (f:fpm) : A -> Rng := proj1_sig f.Definition insert_fpm (a:A) (b: B) (f:fpm) : fpm.Definition insert'_fpm (a:A)(b: option B) (f: fpm) : fpm.Definition remove_fpm (a:A) (f:fpm) : fpm.

Lemma fpm_bij_aux: forall A B B' (f: B -> B') (rho: A -> option B), @finMap A B rho -> @finMap A B' (fun i => match rho i with None => None | Some j => Some (f j) end).