proposition: Lemma prefix_pcoloring n k : prefix_coloring n k -> pcoloring n k.
proof: Proof. case=> n_k /(_ n)[k' [[k'P adj'k' /(size_pmap n k'P)[f k'f_nk']] k'nm0] Ekk'] _. have k'_k: submap k k' by move=> z1 z2 /n_k[nz1 nz2 kz12]; apply/Ekk'. split=> [|z1 z2 [n_z1 n_z2 m0k12]]; last exact/Ekk'/k'nm0. split=> [|z1 z2 adj_z12 /k'_k/adj'k'[]//|]. split=> z1 z2 /n_k[nz1 nz2 kz12] => [|z3 /n_k[_ nz3 /Ekk'-k'z23]]. exact/Ekk'/(map_sym k'P)/Ekk'. exact/Ekk'/(map_trans k'P _ (k'z23 nz2 nz3))/Ekk'. exists f => z /n_k[nz _ /k'_k-k'z]. by have [//| i lt_i_nc [nfi _ k'fiz]] := k'f_nk' z; exists i; last apply/Ekk'. Qed.
imports: mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat seq choice) mathcomp(path ssralg ssrint) fourcolor(real realplane realsyntax realprop) fourcolor(grid approx)