proposition: Lemma compg_composef f g: f \cfP g -> f \cf g = f \cg g.
proof: Proof. move => [fgf fgg srd]. set_extens t. move /funI_P => [z zd ->]; apply /compg_pP. exists (Vg g z); apply: fdomain_pr1 => //; apply: srd. apply /range_gP => //; ex_tac. move/compg_P => [pt [y Pt Qt]]; apply /funI_P; exists (P t); first by ex_tac. by move: (pr2_V fgg Pt)(pr2_V fgf Qt); aw => <- <-. Qed.
imports: mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat)