src/HOL/Algebra/Sylow.thy
changeset 30240 5b25fee0362c
parent 27717 21bbd410ba04
child 31754 b5260f5272a4
equal deleted inserted replaced
30239:179ff9cb160b 30240:5b25fee0362c
    18       and finite_G [iff]:  "finite (carrier G)"
    18       and finite_G [iff]:  "finite (carrier G)"
    19   defines "calM == {s. s \<subseteq> carrier(G) & card(s) = p^a}"
    19   defines "calM == {s. s \<subseteq> carrier(G) & card(s) = p^a}"
    20       and "RelM == {(N1,N2). N1 \<in> calM & N2 \<in> calM &
    20       and "RelM == {(N1,N2). N1 \<in> calM & N2 \<in> calM &
    21                              (\<exists>g \<in> carrier(G). N1 = (N2 #> g) )}"
    21                              (\<exists>g \<in> carrier(G). N1 = (N2 #> g) )}"
    22 
    22 
    23 lemma (in sylow) RelM_refl: "refl calM RelM"
    23 lemma (in sylow) RelM_refl_on: "refl_on calM RelM"
    24 apply (auto simp add: refl_def RelM_def calM_def)
    24 apply (auto simp add: refl_on_def RelM_def calM_def)
    25 apply (blast intro!: coset_mult_one [symmetric])
    25 apply (blast intro!: coset_mult_one [symmetric])
    26 done
    26 done
    27 
    27 
    28 lemma (in sylow) RelM_sym: "sym RelM"
    28 lemma (in sylow) RelM_sym: "sym RelM"
    29 proof (unfold sym_def RelM_def, clarify)
    29 proof (unfold sym_def RelM_def, clarify)
    38 lemma (in sylow) RelM_trans: "trans RelM"
    38 lemma (in sylow) RelM_trans: "trans RelM"
    39 by (auto simp add: trans_def RelM_def calM_def coset_mult_assoc)
    39 by (auto simp add: trans_def RelM_def calM_def coset_mult_assoc)
    40 
    40 
    41 lemma (in sylow) RelM_equiv: "equiv calM RelM"
    41 lemma (in sylow) RelM_equiv: "equiv calM RelM"
    42 apply (unfold equiv_def)
    42 apply (unfold equiv_def)
    43 apply (blast intro: RelM_refl RelM_sym RelM_trans)
    43 apply (blast intro: RelM_refl_on RelM_sym RelM_trans)
    44 done
    44 done
    45 
    45 
    46 lemma (in sylow) M_subset_calM_prep: "M' \<in> calM // RelM  ==> M' \<subseteq> calM"
    46 lemma (in sylow) M_subset_calM_prep: "M' \<in> calM // RelM  ==> M' \<subseteq> calM"
    47 apply (unfold RelM_def)
    47 apply (unfold RelM_def)
    48 apply (blast elim!: quotientE)
    48 apply (blast elim!: quotientE)