src/ZF/ex/Group.thy
changeset 26199 04817a8802f2
parent 22931 11cc1ccad58e
child 27618 72fe9939a2ab
equal deleted inserted replaced
26198:865bca530d4c 26199:04817a8802f2
    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: