diff -r 6d0f1a5a16ea -r c027dfbfad30 src/HOL/Algebra/Coset.thy --- a/src/HOL/Algebra/Coset.thy Thu Jun 14 17:50:23 2018 +0200 +++ b/src/HOL/Algebra/Coset.thy Fri Jun 15 12:18:06 2018 +0100 @@ -303,7 +303,7 @@ shows "subgroup (H <#> K) G" proof (rule subgroup.intro) show "H <#> K \ carrier G" - by (simp add: setmult_subset_G assms subgroup_imp_subset) + by (simp add: setmult_subset_G assms subgroup.subset) next have "\ \ \ \ H <#> K" unfolding set_mult_def using assms subgroup.one_closed by blast @@ -821,7 +821,7 @@ apply (rule card_partition) apply (simp add: rcosets_subset_PowG [THEN finite_subset]) apply (simp add: rcosets_part_G) - apply (simp add: card_rcosets_equal subgroup_imp_subset) + apply (simp add: card_rcosets_equal subgroup.subset) apply (simp add: rcos_disjoint) done @@ -843,11 +843,11 @@ hence finite_rcos: "finite (rcosets H)" by simp hence "card (\(rcosets H)) = (\R\(rcosets H). card R)" using card_Union_disjoint[of "rcosets H"] finite_H rcos_disjoint[OF assms(1)] - rcosets_finite[where ?H = H] by (simp add: assms subgroup_imp_subset) + rcosets_finite[where ?H = H] by (simp add: assms subgroup.subset) hence "order G = (\R\(rcosets H). card R)" by (simp add: assms order_def rcosets_part_G) hence "order G = (\R\(rcosets H). card H)" - using card_rcosets_equal by (simp add: assms subgroup_imp_subset) + using card_rcosets_equal by (simp add: assms subgroup.subset) hence "order G = (card H) * (card (rcosets H))" by simp hence "order G \ 0" using finite_rcos finite_H assms ex_in_conv rcosets_part_G subgroup.one_closed by fastforce @@ -1094,13 +1094,13 @@ show "\x h. x \ carrier (G\\K) \ h \ H\N \ x \\<^bsub>G\\K\<^esub> h \\<^bsub>G\\K\<^esub> inv\<^bsub>G\\K\<^esub> x \ H\N" proof- fix x h assume xGK : "x \ carrier (G \\ K)" and hHN : " h \ H \ N" - hence hGK : "h \ carrier (G \\ K)" using subgroup_imp_subset[OF sub] by auto + hence hGK : "h \ carrier (G \\ K)" using subgroup.subset[OF sub] by auto from xGK obtain x1 x2 where x1x2 :"x1 \ carrier G" "x2 \ carrier K" "x = (x1,x2)" unfolding DirProd_def by fastforce from hHN obtain h1 h2 where h1h2 : "h1 \ H" "h2 \ N" "h = (h1,h2)" unfolding DirProd_def by fastforce hence h1h2GK : "h1 \ carrier G" "h2 \ carrier K" - using normal_imp_subgroup subgroup_imp_subset assms apply blast+. + using normal_imp_subgroup subgroup.subset assms apply blast+. have "inv\<^bsub>G \\ K\<^esub> x = (inv\<^bsub>G\<^esub> x1,inv\<^bsub>K\<^esub> x2)" using inv_DirProd[OF group_axioms assms(1) x1x2(1)x1x2(2)] x1x2 by auto hence "x \\<^bsub>G \\ K\<^esub> h \\<^bsub>G \\ K\<^esub> inv\<^bsub>G \\ K\<^esub> x = (x1 \ h1 \ inv x1,x2 \\<^bsub>K\<^esub> h2 \\<^bsub>K\<^esub> inv\<^bsub>K\<^esub> x2)" @@ -1160,7 +1160,7 @@ shows "(carrier G) <#> H = carrier G" proof show "(carrier G)<#>H \ carrier G" - unfolding set_mult_def using subgroup_imp_subset assms by blast + unfolding set_mult_def using subgroup.subset assms by blast next have " (carrier G) #> \ = carrier G" unfolding set_mult_def r_coset_def group_axioms by simp moreover have "(carrier G) #> \ \ (carrier G) <#> H" unfolding set_mult_def r_coset_def @@ -1173,7 +1173,7 @@ assumes "subgroup H G" and "subgroup N (G\carrier:=H\)" shows "H<#>N = H" - using group.set_mult_carrier_idem[OF subgroup_imp_group] subgroup_imp_subset assms + using group.set_mult_carrier_idem[OF subgroup_imp_group] subgroup.subset assms by (metis monoid.cases_scheme order_refl partial_object.simps(1) partial_object.update_convs(1) subgroup_set_mult_equality) @@ -1196,9 +1196,9 @@ and "subgroup K (G\carrier:=H\)" shows "K<#>N = N<#>K" proof- - have "N \ carrier (G\carrier := H\)" using assms normal_imp_subgroup subgroup_imp_subset by blast + have "N \ carrier (G\carrier := H\)" using assms normal_imp_subgroup subgroup.subset by blast hence NH : "N \ H" by simp - have "K \ carrier(G\carrier := H\)" using subgroup_imp_subset assms by blast + have "K \ carrier(G\carrier := H\)" using subgroup.subset assms by blast hence KH : "K \ H" by simp have Egal : "K <#>\<^bsub>G\carrier := H\\<^esub> N = N <#>\<^bsub>G\carrier := H\\<^esub> K" using group.commut_normal[where ?G = "G\carrier :=H\", of K N,OF subgroup_imp_group[OF assms(1)] @@ -1235,7 +1235,7 @@ show "subgroup (H\K) G" using HK_def subgroups_Inter_pair assms by auto next have "H1 \ (carrier (G\carrier:=H\))" - using assms(3) normal_imp_subgroup subgroup_imp_subset by blast + using assms(3) normal_imp_subgroup subgroup.subset by blast also have "... \ H" by simp thus "H1K \H\K" using H1K_def calculation by auto @@ -1256,7 +1256,7 @@ hence invx:"inv\<^bsub>GHK\<^esub> x = inv\<^bsub>GH\<^esub> x" using invHK assms GHK_def HK_def GH_def subgroup_inv_equality subgroups_Inter_pair by simp have "H1\carrier(GH)" - using assms GH_def normal_imp_subgroup subgroup_imp_subset by blast + using assms GH_def normal_imp_subgroup subgroup.subset by blast hence hHK:"h\HK" using p2 H1K_def HK_def GH_def by auto hence xhx_egal : "x \\<^bsub>GHK\<^esub> h \\<^bsub>GHK\<^esub> inv\<^bsub>GHK\<^esub>x = x \\<^bsub>GH\<^esub> h \\<^bsub>GH\<^esub> inv\<^bsub>GH\<^esub> x" @@ -1291,7 +1291,7 @@ moreover have "normal N (G \carrier :=K\)" using assms K_def by simp ultimately have "N \ H \ G\carrier := K \ H\" using normal_inter[of K H N] assms(1) by blast - moreover have "K \ H = H" using K_def assms subgroup_imp_subset by blast + moreover have "K \ H = H" using K_def assms subgroup.subset by blast ultimately show "normal (N\H) (G\carrier := H\)" by auto qed