proposition: Lemma mem_elt_enum p : p \in elt_enum.
proof: Proof. rewrite mem_pmap; apply/mapP. case: p => [|x y e]; first by exists None; rewrite ?mem_enum. exists (Some (x, y)) => /=; first by rewrite mem_enum. by case: eqP => // e1; congr (Some _); apply: curve_elt_irr. Qed.
imports: HB(structures) mathcomp(all_ssreflect all_algebra ring)