proposition: Fact inj_skip : injective skip.
proof: Proof. case=> [x z'x] [y z'y]; apply: contra_eq; rewrite -!val_eqE /= => y'x. have [Dfx | _] := f x =P z; last by case: ifP; rewrite (inj_eq injf). by rewrite -[in f y == z]Dfx ifN (inj_eq injf) eq_sym. Qed.
imports: mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat seq choice) mathcomp(fintype path fingraph) fourcolor(hypermap)