fact: Record invariant_context := InvariantContext { invar : T -> pred T; Hinvar_refl : forall x, invar x x; Hinvar_all : forall x0 x, invar x0 x -> all (invar x0) (rule x); bound : T -> nat; Hbound: forall x s, all (invar x) s -> uniq s -> size s <= bound x }.
imports: HB(structures) mathcomp(all_ssreflect) Recdef permcomp permuted multinomial vectNK