proposition: Lemma setX1_canon_fb x a: bijection (product1_canon x a).
proof: Proof. apply: lf_bijective. + by apply: setX1_canon_axiom. + move=> u v ux vx /(congr1 (Vg ^~a)); rewrite !LgV; fprops. + move=> y /setX1_P [fy dy Vx]; ex_tac. rewrite -dy; apply: fgraph_exten; aww. by rewrite dy ;move=> z zd /=; rewrite LgV //; move /set1_P: zd => ->. Qed.
imports: mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat)