equal
deleted
inserted
replaced
201 have "\<one> \<in> H" using assms(2) subgroup_def by blast |
201 have "\<one> \<in> H" using assms(2) subgroup_def by blast |
202 hence "N #> \<one> \<subseteq> N <#> H" unfolding set_mult_def r_coset_def by blast |
202 hence "N #> \<one> \<subseteq> N <#> H" unfolding set_mult_def r_coset_def by blast |
203 hence N_incl : "N \<subseteq> N <#> H" |
203 hence N_incl : "N \<subseteq> N <#> H" |
204 by (metis assms(1) normal_imp_subgroup coset_mult_one subgroup_def) |
204 by (metis assms(1) normal_imp_subgroup coset_mult_one subgroup_def) |
205 thus "normal N (G\<lparr>carrier := N <#> H\<rparr>)" |
205 thus "normal N (G\<lparr>carrier := N <#> H\<rparr>)" |
206 using normal_inter_subgroup[OF mult_norm_subgroup[OF assms] assms(1)] |
206 using normal_Int_subgroup[OF mult_norm_subgroup[OF assms] assms(1)] |
207 by (simp add : inf_absorb1) |
207 by (simp add : inf_absorb1) |
208 qed |
208 qed |
209 |
209 |
210 |
210 |
211 proposition (in group) weak_snd_iso_thme: |
211 proposition (in group) weak_snd_iso_thme: |
306 by simp |
306 by simp |
307 qed |
307 qed |
308 ultimately have "(G\<lparr>carrier := H\<rparr> Mod N \<inter> H) \<cong> (G\<lparr>carrier := N <#> H\<rparr> Mod N)" |
308 ultimately have "(G\<lparr>carrier := H\<rparr> Mod N \<inter> H) \<cong> (G\<lparr>carrier := N <#> H\<rparr> Mod N)" |
309 using group_hom.FactGroup_iso[OF homomorphism im_f] by auto |
309 using group_hom.FactGroup_iso[OF homomorphism im_f] by auto |
310 hence "G\<lparr>carrier := N <#> H\<rparr> Mod N \<cong> G\<lparr>carrier := H\<rparr> Mod N \<inter> H" |
310 hence "G\<lparr>carrier := N <#> H\<rparr> Mod N \<cong> G\<lparr>carrier := H\<rparr> Mod N \<inter> H" |
311 by (simp add: group.iso_sym assms normal.factorgroup_is_group normal_inter_subgroup) |
311 by (simp add: group.iso_sym assms normal.factorgroup_is_group normal_Int_subgroup) |
312 thus "G\<lparr>carrier := N <#> H\<rparr> Mod N \<cong> G\<lparr>carrier := H\<rparr> Mod N \<inter> H" by auto |
312 thus "G\<lparr>carrier := N <#> H\<rparr> Mod N \<cong> G\<lparr>carrier := H\<rparr> Mod N \<inter> H" by auto |
313 qed |
313 qed |
314 |
314 |
315 |
315 |
316 theorem (in group) snd_iso_thme: |
316 theorem (in group) snd_iso_thme: |
634 show "subgroup (K \<inter> H1) (G\<lparr>carrier := H \<inter> K\<rparr>)" |
634 show "subgroup (K \<inter> H1) (G\<lparr>carrier := H \<inter> K\<rparr>)" |
635 using subgroup_incl by (simp add: assms inf_commute normal_imp_subgroup normal_inter) |
635 using subgroup_incl by (simp add: assms inf_commute normal_imp_subgroup normal_inter) |
636 qed |
636 qed |
637 hence "Gmod3 = Gmod4" using Hp Gmod4_def by simp |
637 hence "Gmod3 = Gmod4" using Hp Gmod4_def by simp |
638 hence "Gmod1 \<cong> Gmod2" |
638 hence "Gmod1 \<cong> Gmod2" |
639 using group.iso_sym group.iso_trans Hyp normal.factorgroup_is_group |
639 by (metis assms group.iso_sym iso_trans Hyp normal.factorgroup_is_group Gmod2_def preliminary2) |
640 by (metis assms Gmod1_def Gmod2_def preliminary2) |
|
641 thus ?thesis using Gmod1_def Gmod2_def by (simp add: inf_commute) |
640 thus ?thesis using Gmod1_def Gmod2_def by (simp add: inf_commute) |
642 qed |
641 qed |
643 |
642 |
644 end |
643 end |