equal
deleted
inserted
replaced
11 |
11 |
12 section \<open>Algebraic Closure\<close> |
12 section \<open>Algebraic Closure\<close> |
13 |
13 |
14 subsection \<open>Definitions\<close> |
14 subsection \<open>Definitions\<close> |
15 |
15 |
16 inductive iso_incl :: "'a ring \<Rightarrow> 'a ring \<Rightarrow> bool" (infixl "\<lesssim>" 65) for A B |
16 inductive iso_incl :: "'a ring \<Rightarrow> 'a ring \<Rightarrow> bool" (infixl \<open>\<lesssim>\<close> 65) for A B |
17 where iso_inclI [intro]: "id \<in> ring_hom A B \<Longrightarrow> iso_incl A B" |
17 where iso_inclI [intro]: "id \<in> ring_hom A B \<Longrightarrow> iso_incl A B" |
18 |
18 |
19 definition law_restrict :: "('a, 'b) ring_scheme \<Rightarrow> 'a ring" |
19 definition law_restrict :: "('a, 'b) ring_scheme \<Rightarrow> 'a ring" |
20 where "law_restrict R \<equiv> (ring.truncate R) |
20 where "law_restrict R \<equiv> (ring.truncate R) |
21 \<lparr> mult := (\<lambda>a \<in> carrier R. \<lambda>b \<in> carrier R. a \<otimes>\<^bsub>R\<^esub> b), |
21 \<lparr> mult := (\<lambda>a \<in> carrier R. \<lambda>b \<in> carrier R. a \<otimes>\<^bsub>R\<^esub> b), |
31 \<comment> \<open>iii\<close> (\<forall>\<P> \<in> carrier L. carrier_coeff \<P>) \<and> |
31 \<comment> \<open>iii\<close> (\<forall>\<P> \<in> carrier L. carrier_coeff \<P>) \<and> |
32 \<comment> \<open>iv\<close> (\<forall>\<P> \<in> carrier L. \<forall>P \<in> carrier (poly_ring R). \<forall>i. |
32 \<comment> \<open>iv\<close> (\<forall>\<P> \<in> carrier L. \<forall>P \<in> carrier (poly_ring R). \<forall>i. |
33 \<not> index_free \<P> (P, i) \<longrightarrow> |
33 \<not> index_free \<P> (P, i) \<longrightarrow> |
34 \<X>\<^bsub>(P, i)\<^esub> \<in> carrier L \<and> (ring.eval L) (\<sigma> P) \<X>\<^bsub>(P, i)\<^esub> = \<zero>\<^bsub>L\<^esub>) }" |
34 \<X>\<^bsub>(P, i)\<^esub> \<in> carrier L \<and> (ring.eval L) (\<sigma> P) \<X>\<^bsub>(P, i)\<^esub> = \<zero>\<^bsub>L\<^esub>) }" |
35 |
35 |
36 abbreviation (in ring) restrict_extensions :: "((('a list \<times> nat) multiset) \<Rightarrow> 'a) ring set" ("\<S>") |
36 abbreviation (in ring) restrict_extensions :: "((('a list \<times> nat) multiset) \<Rightarrow> 'a) ring set" (\<open>\<S>\<close>) |
37 where "\<S> \<equiv> law_restrict ` extensions" |
37 where "\<S> \<equiv> law_restrict ` extensions" |
38 |
38 |
39 |
39 |
40 subsection \<open>Basic Properties\<close> |
40 subsection \<open>Basic Properties\<close> |
41 |
41 |