Definition fpm_bij (A B B': Type) (bij: bijection B B') : bijection (fpm A B) (fpm A B').
destruct bij as [f g fg gf].
unfold fpm.
apply (Bijection _ _
(fun x: sig (@finMap A B) => exist (@finMap A B') _ (fpm_bij_aux f (proj2_sig x)))
(fun x: sig (@finMap A B') => exist (@finMap A B) _ (fpm_bij_aux g (proj2_sig x)))).
intros [x Hx]. simpl in *. apply exist_ext. extensionality i. destruct (x i); auto.
rewrite fg; auto.
intros [x Hx]. simpl in *. apply exist_ext. extensionality i. destruct (x i); auto.
rewrite gf; auto.
Defined.

Lemma lift_prod_aux1 {A}{JA: Join A}{B}:
forall x,   @nonunit (A * B) (Join_prod A JA B (Join_equiv B)) x -> nonunit (fst x).