fact: Fixpoint hubcap_cover_rec (v : seq nat) (b : int) (hc : hubcap) : bool := match hc with | Hubcap1 i b' hc' => (nth 0 v i == 1) && hubcap_cover_rec v (b' *+ 2 + b) hc' | Hubcap2 i j b' hc' => let n_i := nth 0 v i in let n_j := nth 0 v j in [&& n_i == n_j, n_i <= 2 & hubcap_cover_rec v (b' *+ (n_i == 1).+1 + b) hc'] | Hubcap0 => ~~ (0 < b)%R end.
imports: mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat seq choice) mathcomp(fintype path fingraph) mathcomp(bigop order ssralg ssrnum ssrint) fourcolor(hypermap geometry quiztree part discharge)