src/HOL/Algebra/Sylow.thy
changeset 63537 831816778409
parent 63534 523b488b15c9
child 64912 68f0465d956b
equal deleted inserted replaced
63536:8cecf0100996 63537:831816778409
    58 subsection\<open>Main Part of the Proof\<close>
    58 subsection\<open>Main Part of the Proof\<close>
    59 
    59 
    60 locale sylow_central = sylow +
    60 locale sylow_central = sylow +
    61   fixes H and M1 and M
    61   fixes H and M1 and M
    62   assumes M_in_quot:  "M \<in> calM // RelM"
    62   assumes M_in_quot:  "M \<in> calM // RelM"
    63       and not_dvd_M:  "~(p ^ Suc(exponent p m) dvd card(M))"
    63       and not_dvd_M:  "~(p ^ Suc(multiplicity p m) dvd card(M))"
    64       and M1_in_M:    "M1 \<in> M"
    64       and M1_in_M:    "M1 \<in> M"
    65   defines "H == {g. g\<in>carrier G & M1 #> g = M1}"
    65   defines "H == {g. g\<in>carrier G & M1 #> g = M1}"
    66 
    66 
    67 begin
    67 begin
    68 
    68 
   126 
   126 
   127 lemma zero_less_card_calM: "card calM > 0"
   127 lemma zero_less_card_calM: "card calM > 0"
   128 by (simp add: card_calM zero_less_binomial le_extend_mult zero_less_m)
   128 by (simp add: card_calM zero_less_binomial le_extend_mult zero_less_m)
   129 
   129 
   130 lemma max_p_div_calM:
   130 lemma max_p_div_calM:
   131      "~ (p ^ Suc(exponent p m) dvd card(calM))"
   131      "~ (p ^ Suc(multiplicity p m) dvd card(calM))"
   132 proof
   132 proof
   133   assume "p ^ Suc (multiplicity p m) dvd card calM"
   133   assume "p ^ Suc (multiplicity p m) dvd card calM"
   134   with zero_less_card_calM prime_p 
   134   with zero_less_card_calM prime_p 
   135   have "Suc (multiplicity p m) \<le> multiplicity p (card calM)"
   135   have "Suc (multiplicity p m) \<le> multiplicity p (card calM)"
   136     by (intro multiplicity_geI) auto
   136     by (intro multiplicity_geI) auto
   143 lemma finite_calM: "finite calM"
   143 lemma finite_calM: "finite calM"
   144   unfolding calM_def
   144   unfolding calM_def
   145   by (rule_tac B = "Pow (carrier G) " in finite_subset) auto
   145   by (rule_tac B = "Pow (carrier G) " in finite_subset) auto
   146 
   146 
   147 lemma lemma_A1:
   147 lemma lemma_A1:
   148      "\<exists>M \<in> calM // RelM. ~ (p ^ Suc(exponent p m) dvd card(M))"
   148      "\<exists>M \<in> calM // RelM. ~ (p ^ Suc(multiplicity p m) dvd card(M))"
   149   using RelM_equiv equiv_imp_dvd_card finite_calM max_p_div_calM by blast
   149   using RelM_equiv equiv_imp_dvd_card finite_calM max_p_div_calM by blast
   150 
   150 
   151 end
   151 end
   152 
   152 
   153 subsubsection\<open>Introduction and Destruct Rules for @{term H}\<close>
   153 subsubsection\<open>Introduction and Destruct Rules for @{term H}\<close>
   305 lemma (in sylow_central) index_lem: "card(M) * card(H) = order(G)"
   305 lemma (in sylow_central) index_lem: "card(M) * card(H) = order(G)"
   306 by (simp add: cardMeqIndexH lagrange H_is_subgroup)
   306 by (simp add: cardMeqIndexH lagrange H_is_subgroup)
   307 
   307 
   308 lemma (in sylow_central) lemma_leq1: "p^a \<le> card(H)"
   308 lemma (in sylow_central) lemma_leq1: "p^a \<le> card(H)"
   309 apply (rule dvd_imp_le)
   309 apply (rule dvd_imp_le)
   310  apply (rule div_combine [OF prime_p not_dvd_M])
   310  apply (rule div_combine [OF prime_imp_prime_elem[OF prime_p] not_dvd_M])
   311  prefer 2 apply (blast intro: subgroup.finite_imp_card_positive H_is_subgroup)
   311  prefer 2 apply (blast intro: subgroup.finite_imp_card_positive H_is_subgroup)
   312 apply (simp add: index_lem order_G power_add mult_dvd_mono multiplicity_dvd
   312 apply (simp add: index_lem order_G power_add mult_dvd_mono multiplicity_dvd
   313                  zero_less_m)
   313                  zero_less_m)
   314 done
   314 done
   315 
   315