Section ideals.
Variable R : RING.
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}.
intros I x a; try assumption.
apply (ideal_prf (i:=I)).
case x; simpl in |- *; auto with algebra.
Qed.
intros I x a H'; try assumption.
apply (ideal_prf (i:=I)); auto with algebra.
Qed.

Lemma ideal_prop3 :
forall (I : ideal) (x y : R),
in_part x I -> in_part y I -> in_part (sgroup_law R x y) I.