src/HOL/Algebra/Ring.thy
changeset 69272 15e9ed5b28fb
parent 68673 22d10f94811e
child 69605 a96320074298
equal deleted inserted replaced
69271:4cb70e7e36b9 69272:15e9ed5b28fb
   805 
   805 
   806 lemma ring_hom_trans:
   806 lemma ring_hom_trans:
   807   "\<lbrakk> f \<in> ring_hom R S; g \<in> ring_hom S T \<rbrakk> \<Longrightarrow> g \<circ> f \<in> ring_hom R T"
   807   "\<lbrakk> f \<in> ring_hom R S; g \<in> ring_hom S T \<rbrakk> \<Longrightarrow> g \<circ> f \<in> ring_hom R T"
   808   by (rule ring_hom_memI) (auto simp add: ring_hom_closed ring_hom_mult ring_hom_add ring_hom_one)
   808   by (rule ring_hom_memI) (auto simp add: ring_hom_closed ring_hom_mult ring_hom_add ring_hom_one)
   809 
   809 
   810 subsection\<open>Jeremy Avigad's @{text"More_Finite_Product"} material\<close>
   810 subsection\<open>Jeremy Avigad's \<open>More_Finite_Product\<close> material\<close>
   811 
   811 
   812 (* need better simplification rules for rings *)
   812 (* need better simplification rules for rings *)
   813 (* the next one holds more generally for abelian groups *)
   813 (* the next one holds more generally for abelian groups *)
   814 
   814 
   815 lemma (in cring) sum_zero_eq_neg: "x \<in> carrier R \<Longrightarrow> y \<in> carrier R \<Longrightarrow> x \<oplus> y = \<zero> \<Longrightarrow> x = \<ominus> y"
   815 lemma (in cring) sum_zero_eq_neg: "x \<in> carrier R \<Longrightarrow> y \<in> carrier R \<Longrightarrow> x \<oplus> y = \<zero> \<Longrightarrow> x = \<ominus> y"
   855 
   855 
   856 lemma (in cring) units_power_order_eq_one:
   856 lemma (in cring) units_power_order_eq_one:
   857   "finite (Units R) \<Longrightarrow> a \<in> Units R \<Longrightarrow> a [^] card(Units R) = \<one>"
   857   "finite (Units R) \<Longrightarrow> a \<in> Units R \<Longrightarrow> a [^] card(Units R) = \<one>"
   858   by (metis comm_group.power_order_eq_one units_comm_group units_of_carrier units_of_one units_of_pow)
   858   by (metis comm_group.power_order_eq_one units_comm_group units_of_carrier units_of_one units_of_pow)
   859 
   859 
   860 subsection\<open>Jeremy Avigad's @{text"More_Ring"} material\<close>
   860 subsection\<open>Jeremy Avigad's \<open>More_Ring\<close> material\<close>
   861 
   861 
   862 lemma (in cring) field_intro2: 
   862 lemma (in cring) field_intro2: 
   863   assumes "\<zero>\<^bsub>R\<^esub> \<noteq> \<one>\<^bsub>R\<^esub>" and un: "\<And>x. x \<in> carrier R - {\<zero>\<^bsub>R\<^esub>} \<Longrightarrow> x \<in> Units R"
   863   assumes "\<zero>\<^bsub>R\<^esub> \<noteq> \<one>\<^bsub>R\<^esub>" and un: "\<And>x. x \<in> carrier R - {\<zero>\<^bsub>R\<^esub>} \<Longrightarrow> x \<in> Units R"
   864   shows "field R"
   864   shows "field R"
   865 proof unfold_locales
   865 proof unfold_locales