Theory Real_Ring_Definition
section ‹The Real Ring definition›
theory Real_Ring_Definition
imports
"HOL-Algebra.Module"
"HOL-Algebra.RingHom"
HOL.Real
"HOL-Computational_Algebra.Formal_Power_Series"
begin
text ‹Defining real ring for examples on Noetherian Rings.›
definition
REAL :: "real ring"
where "REAL = ⦇carrier = UNIV, monoid.mult = (*), one = 1, zero = 0, add = (+)⦈"
lemma REAL_ring:‹ring REAL›
apply(rule ringI)
apply(rule abelian_groupI)
by (auto simp:REAL_def monoidI ab_group_add_class.ab_left_minus distrib_right distrib_left
intro: exI[of _ "- x" for x])
lemma REAL_cring:‹cring REAL›
unfolding cring_def apply(safe)
apply (simp add: REAL_ring)
apply(rule comm_monoidI)
by(auto simp:REAL_def)
lemma REAL_field: ‹field REAL›
unfolding field_def domain_def field_axioms_def
apply(safe)
apply(simp add:REAL_cring)
unfolding domain_axioms_def
by(auto simp:REAL_def Units_def mult.commute nonzero_divide_eq_eq)
(metis mult.commute nonzero_divide_eq_eq)
end