equal
deleted
inserted
replaced
22 definition mod_field :: "'a \<Rightarrow> 'a \<Rightarrow> 'a" |
22 definition mod_field :: "'a \<Rightarrow> 'a \<Rightarrow> 'a" |
23 where [simp]: "mod_field x y = (if y = 0 then x else 0)" |
23 where [simp]: "mod_field x y = (if y = 0 then x else 0)" |
24 |
24 |
25 end |
25 end |
26 |
26 |
27 instantiation real :: unique_euclidean_ring |
27 instantiation real :: "{unique_euclidean_ring, normalization_euclidean_semiring}" |
28 begin |
28 begin |
29 |
29 |
30 definition [simp]: "normalize_real = (normalize_field :: real \<Rightarrow> _)" |
30 definition [simp]: "normalize_real = (normalize_field :: real \<Rightarrow> _)" |
31 definition [simp]: "unit_factor_real = (unit_factor_field :: real \<Rightarrow> _)" |
31 definition [simp]: "unit_factor_real = (unit_factor_field :: real \<Rightarrow> _)" |
32 definition [simp]: "euclidean_size_real = (euclidean_size_field :: real \<Rightarrow> _)" |
32 definition [simp]: "euclidean_size_real = (euclidean_size_field :: real \<Rightarrow> _)" |
53 |
53 |
54 instance by standard (simp_all add: gcd_real_def lcm_real_def Gcd_real_def Lcm_real_def) |
54 instance by standard (simp_all add: gcd_real_def lcm_real_def Gcd_real_def Lcm_real_def) |
55 |
55 |
56 end |
56 end |
57 |
57 |
58 instantiation rat :: unique_euclidean_ring |
58 instantiation rat :: "{unique_euclidean_ring, normalization_euclidean_semiring}" |
59 begin |
59 begin |
60 |
60 |
61 definition [simp]: "normalize_rat = (normalize_field :: rat \<Rightarrow> _)" |
61 definition [simp]: "normalize_rat = (normalize_field :: rat \<Rightarrow> _)" |
62 definition [simp]: "unit_factor_rat = (unit_factor_field :: rat \<Rightarrow> _)" |
62 definition [simp]: "unit_factor_rat = (unit_factor_field :: rat \<Rightarrow> _)" |
63 definition [simp]: "euclidean_size_rat = (euclidean_size_field :: rat \<Rightarrow> _)" |
63 definition [simp]: "euclidean_size_rat = (euclidean_size_field :: rat \<Rightarrow> _)" |
84 |
84 |
85 instance by standard (simp_all add: gcd_rat_def lcm_rat_def Gcd_rat_def Lcm_rat_def) |
85 instance by standard (simp_all add: gcd_rat_def lcm_rat_def Gcd_rat_def Lcm_rat_def) |
86 |
86 |
87 end |
87 end |
88 |
88 |
89 instantiation complex :: unique_euclidean_ring |
89 instantiation complex :: "{unique_euclidean_ring, normalization_euclidean_semiring}" |
90 begin |
90 begin |
91 |
91 |
92 definition [simp]: "normalize_complex = (normalize_field :: complex \<Rightarrow> _)" |
92 definition [simp]: "normalize_complex = (normalize_field :: complex \<Rightarrow> _)" |
93 definition [simp]: "unit_factor_complex = (unit_factor_field :: complex \<Rightarrow> _)" |
93 definition [simp]: "unit_factor_complex = (unit_factor_field :: complex \<Rightarrow> _)" |
94 definition [simp]: "euclidean_size_complex = (euclidean_size_field :: complex \<Rightarrow> _)" |
94 definition [simp]: "euclidean_size_complex = (euclidean_size_field :: complex \<Rightarrow> _)" |