equal
deleted
inserted
replaced
90 |
90 |
91 locale group = monoid + |
91 locale group = monoid + |
92 assumes inv_ex: |
92 assumes inv_ex: |
93 "\<And>x. x \<in> carrier(G) \<Longrightarrow> \<exists>y \<in> carrier(G). y \<cdot> x = \<one> & x \<cdot> y = \<one>" |
93 "\<And>x. x \<in> carrier(G) \<Longrightarrow> \<exists>y \<in> carrier(G). y \<cdot> x = \<one> & x \<cdot> y = \<one>" |
94 |
94 |
95 lemma (in group) is_group [simp]: "group(G)" by fact |
95 lemma (in group) is_group [simp]: "group(G)" by (rule group_axioms) |
96 |
96 |
97 theorem groupI: |
97 theorem groupI: |
98 includes struct G |
98 includes struct G |
99 assumes m_closed [simp]: |
99 assumes m_closed [simp]: |
100 "\<And>x y. \<lbrakk>x \<in> carrier(G); y \<in> carrier(G)\<rbrakk> \<Longrightarrow> x \<cdot> y \<in> carrier(G)" |
100 "\<And>x y. \<lbrakk>x \<in> carrier(G); y \<in> carrier(G)\<rbrakk> \<Longrightarrow> x \<cdot> y \<in> carrier(G)" |
1001 lemma (in subgroup) subgroup_in_rcosets: |
1001 lemma (in subgroup) subgroup_in_rcosets: |
1002 includes group G |
1002 includes group G |
1003 shows "H \<in> rcosets H" |
1003 shows "H \<in> rcosets H" |
1004 proof - |
1004 proof - |
1005 have "H #> \<one> = H" |
1005 have "H #> \<one> = H" |
1006 using _ `subgroup(H, G)` by (rule coset_join2) simp_all |
1006 using _ subgroup_axioms by (rule coset_join2) simp_all |
1007 then show ?thesis |
1007 then show ?thesis |
1008 by (auto simp add: RCOSETS_def intro: sym) |
1008 by (auto simp add: RCOSETS_def intro: sym) |
1009 qed |
1009 qed |
1010 |
1010 |
1011 lemma (in normal) rcosets_inv_mult_group_eq: |
1011 lemma (in normal) rcosets_inv_mult_group_eq: |