equal
deleted
inserted
replaced
714 |
714 |
715 instantiation finite_2 :: "{normalization_semidom, unique_euclidean_semiring}" begin |
715 instantiation finite_2 :: "{normalization_semidom, unique_euclidean_semiring}" begin |
716 definition [simp]: "normalize = (id :: finite_2 \<Rightarrow> _)" |
716 definition [simp]: "normalize = (id :: finite_2 \<Rightarrow> _)" |
717 definition [simp]: "unit_factor = (id :: finite_2 \<Rightarrow> _)" |
717 definition [simp]: "unit_factor = (id :: finite_2 \<Rightarrow> _)" |
718 definition [simp]: "euclidean_size x = (case x of a\<^sub>1 \<Rightarrow> 0 | a\<^sub>2 \<Rightarrow> 1)" |
718 definition [simp]: "euclidean_size x = (case x of a\<^sub>1 \<Rightarrow> 0 | a\<^sub>2 \<Rightarrow> 1)" |
719 definition [simp]: "uniqueness_constraint = (\<top> :: finite_2 \<Rightarrow> _)" |
719 definition [simp]: "division_segment (x :: finite_2) = 1" |
720 instance |
720 instance |
721 by standard |
721 by standard |
722 (auto simp add: divide_finite_2_def times_finite_2_def dvd_finite_2_unfold |
722 (auto simp add: divide_finite_2_def times_finite_2_def dvd_finite_2_unfold |
723 split: finite_2.splits) |
723 split: finite_2.splits) |
724 end |
724 end |
866 |
866 |
867 instantiation finite_3 :: "{normalization_semidom, unique_euclidean_semiring}" begin |
867 instantiation finite_3 :: "{normalization_semidom, unique_euclidean_semiring}" begin |
868 definition [simp]: "normalize x = (case x of a\<^sub>3 \<Rightarrow> a\<^sub>2 | _ \<Rightarrow> x)" |
868 definition [simp]: "normalize x = (case x of a\<^sub>3 \<Rightarrow> a\<^sub>2 | _ \<Rightarrow> x)" |
869 definition [simp]: "unit_factor = (id :: finite_3 \<Rightarrow> _)" |
869 definition [simp]: "unit_factor = (id :: finite_3 \<Rightarrow> _)" |
870 definition [simp]: "euclidean_size x = (case x of a\<^sub>1 \<Rightarrow> 0 | _ \<Rightarrow> 1)" |
870 definition [simp]: "euclidean_size x = (case x of a\<^sub>1 \<Rightarrow> 0 | _ \<Rightarrow> 1)" |
871 definition [simp]: "uniqueness_constraint = (\<top> :: finite_3 \<Rightarrow> _)" |
871 definition [simp]: "division_segment (x :: finite_3) = 1" |
872 instance proof |
872 instance proof |
873 fix x :: finite_3 |
873 fix x :: finite_3 |
874 assume "x \<noteq> 0" |
874 assume "x \<noteq> 0" |
875 then show "is_unit (unit_factor x)" |
875 then show "is_unit (unit_factor x)" |
876 by (cases x) (simp_all add: dvd_finite_3_unfold) |
876 by (cases x) (simp_all add: dvd_finite_3_unfold) |