(* Title: HOL/Computational_Algebra/Field_as_Ring.thy Author: Manuel Eberl
*)
theory Field_as_Ring imports
Complex_Main
Euclidean_Algorithm begin
context field begin
subclass idom_divide ..
definition normalize_field :: "'a \ 'a" where [simp]: "normalize_field x = (if x = 0 then 0 else 1)" definition unit_factor_field :: "'a \ 'a" where [simp]: "unit_factor_field x = x" definition euclidean_size_field :: "'a \ nat" where [simp]: "euclidean_size_field x = (if x = 0 then 0 else 1)" definition mod_field :: "'a \ 'a \ 'a" where [simp]: "mod_field x y = (if y = 0 then x else 0)"
end
instantiation real :: "{unique_euclidean_ring, normalization_euclidean_semiring, normalization_semidom_multiplicative}" begin
instance by standard
(simp_all add: dvd_field_iff field_split_simps split: if_splits)
end
instantiation complex :: euclidean_ring_gcd begin
definition gcd_complex :: "complex \ complex \ complex" where "gcd_complex = Euclidean_Algorithm.gcd" definition lcm_complex :: "complex \ complex \ complex" where "lcm_complex = Euclidean_Algorithm.lcm" definition Gcd_complex :: "complex set \ complex" where "Gcd_complex = Euclidean_Algorithm.Gcd" definition Lcm_complex :: "complex set \ complex" where "Lcm_complex = Euclidean_Algorithm.Lcm"
instanceby standard (simp_all add: gcd_complex_def lcm_complex_def Gcd_complex_def Lcm_complex_def)
end
instance complex :: field_gcd ..
end
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.11Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.