equal
deleted
inserted
replaced
20 and order_G: "order G = (p^a) * m" |
20 and order_G: "order G = (p^a) * m" |
21 and finite_G[iff]: "finite (carrier G)" |
21 and finite_G[iff]: "finite (carrier G)" |
22 defines "calM \<equiv> {s. s \<subseteq> carrier G \<and> card s = p^a}" |
22 defines "calM \<equiv> {s. s \<subseteq> carrier G \<and> card s = p^a}" |
23 and "RelM \<equiv> {(N1, N2). N1 \<in> calM \<and> N2 \<in> calM \<and> (\<exists>g \<in> carrier G. N1 = N2 #> g)}" |
23 and "RelM \<equiv> {(N1, N2). N1 \<in> calM \<and> N2 \<in> calM \<and> (\<exists>g \<in> carrier G. N1 = N2 #> g)}" |
24 begin |
24 begin |
|
25 |
|
26 lemma RelM_subset: "RelM \<subseteq> calM \<times> calM" |
|
27 by (auto simp only: RelM_def) |
25 |
28 |
26 lemma RelM_refl_on: "refl_on calM RelM" |
29 lemma RelM_refl_on: "refl_on calM RelM" |
27 by (auto simp: refl_on_def RelM_def calM_def) (blast intro!: coset_mult_one [symmetric]) |
30 by (auto simp: refl_on_def RelM_def calM_def) (blast intro!: coset_mult_one [symmetric]) |
28 |
31 |
29 lemma RelM_sym: "sym RelM" |
32 lemma RelM_sym: "sym RelM" |
39 |
42 |
40 lemma RelM_trans: "trans RelM" |
43 lemma RelM_trans: "trans RelM" |
41 by (auto simp add: trans_def RelM_def calM_def coset_mult_assoc) |
44 by (auto simp add: trans_def RelM_def calM_def coset_mult_assoc) |
42 |
45 |
43 lemma RelM_equiv: "equiv calM RelM" |
46 lemma RelM_equiv: "equiv calM RelM" |
44 unfolding equiv_def by (blast intro: RelM_refl_on RelM_sym RelM_trans) |
47 using RelM_subset RelM_refl_on RelM_sym RelM_trans by (intro equivI) |
45 |
48 |
46 lemma M_subset_calM_prep: "M' \<in> calM // RelM \<Longrightarrow> M' \<subseteq> calM" |
49 lemma M_subset_calM_prep: "M' \<in> calM // RelM \<Longrightarrow> M' \<subseteq> calM" |
47 unfolding RelM_def by (blast elim!: quotientE) |
50 unfolding RelM_def by (blast elim!: quotientE) |
48 |
51 |
49 end |
52 end |