Notation nA := gen_dim.
Definition gen_base : 'rV_nA := odflt 0 [pick B | row_free (subbase B)].
Definition base := subbase gen_base.

(* Specifications: *)
Lemma base_free : row_free base.
Lemma base_full : row_full base.
Lemma gen_dim_factor : (nA * d)%N = n.
Lemma val_genK : cancel val_gen in_gen.
Lemma in_gen0 : in_gen 0 = 0.
Lemma val_genN : {morph val_gen : W / - W}.
Lemma val_genD : {morph val_gen : U V / U + V}.
End Bijection.