src/HOL/Algebra/CRing.thy
changeset 15696 1da4ce092c0b
parent 15328 35951e6a7855
child 15763 b901a127ac73
equal deleted inserted replaced
15695:f072119afa4e 15696:1da4ce092c0b
   572   shows "h \<in> ring_hom R S ==> h \<one> = \<one>\<^bsub>S\<^esub>"
   572   shows "h \<in> ring_hom R S ==> h \<one> = \<one>\<^bsub>S\<^esub>"
   573   by (simp add: ring_hom_def)
   573   by (simp add: ring_hom_def)
   574 
   574 
   575 locale ring_hom_cring = cring R + cring S + var h +
   575 locale ring_hom_cring = cring R + cring S + var h +
   576   assumes homh [simp, intro]: "h \<in> ring_hom R S"
   576   assumes homh [simp, intro]: "h \<in> ring_hom R S"
       
   577 (*
   577   notes hom_closed [simp, intro] = ring_hom_closed [OF homh]
   578   notes hom_closed [simp, intro] = ring_hom_closed [OF homh]
   578     and hom_mult [simp] = ring_hom_mult [OF homh]
   579     and hom_mult [simp] = ring_hom_mult [OF homh]
   579     and hom_add [simp] = ring_hom_add [OF homh]
   580     and hom_add [simp] = ring_hom_add [OF homh]
   580     and hom_one [simp] = ring_hom_one [OF homh]
   581     and hom_one [simp] = ring_hom_one [OF homh]
       
   582 *)
       
   583 
       
   584 lemma (in ring_hom_cring) hom_closed [simp, intro]:
       
   585   "x \<in> carrier R ==> h x \<in> carrier S"
       
   586   by (simp add: ring_hom_closed [OF homh])
       
   587 
       
   588 lemma (in ring_hom_cring) hom_mult [simp]:
       
   589   "[| x \<in> carrier R; y \<in> carrier R |] ==> h (x \<otimes> y) = h x \<otimes>\<^bsub>S\<^esub> h y"
       
   590   by (simp add: ring_hom_mult [OF homh])
       
   591 
       
   592 lemma (in ring_hom_cring) hom_add [simp]:
       
   593   "[| x \<in> carrier R; y \<in> carrier R |] ==> h (x \<oplus> y) = h x \<oplus>\<^bsub>S\<^esub> h y"
       
   594   by (simp add: ring_hom_add [OF homh])
       
   595 
       
   596 lemma (in ring_hom_cring) hom_one [simp]:
       
   597   "h \<one> = \<one>\<^bsub>S\<^esub>"
       
   598   by (simp add: ring_hom_one [OF homh])
   581 
   599 
   582 lemma (in ring_hom_cring) hom_zero [simp]:
   600 lemma (in ring_hom_cring) hom_zero [simp]:
   583   "h \<zero> = \<zero>\<^bsub>S\<^esub>"
   601   "h \<zero> = \<zero>\<^bsub>S\<^esub>"
   584 proof -
   602 proof -
   585   have "h \<zero> \<oplus>\<^bsub>S\<^esub> h \<zero> = h \<zero> \<oplus>\<^bsub>S\<^esub> \<zero>\<^bsub>S\<^esub>"
   603   have "h \<zero> \<oplus>\<^bsub>S\<^esub> h \<zero> = h \<zero> \<oplus>\<^bsub>S\<^esub> \<zero>\<^bsub>S\<^esub>"