Definition is_ideal (I : subgroup R) :=
  forall x : R, in_part x I -> forall a : R, in_part (ring_mult a x) I.Record ideal : Type := 
  {ideal_subgroup :> subgroup R; ideal_prf : is_ideal ideal_subgroup}.Record ideal : Type := 
  {ideal_subgroup :> subgroup R; ideal_prf : is_ideal ideal_subgroup}.Record ideal : Type := 
  {ideal_subgroup :> subgroup R; ideal_prf : is_ideal ideal_subgroup}.

Lemma ideal_prop : forall (I : ideal) (x : I) (a : R), in_part (ring_mult a (I x)) I.