@@ -149,9 +149,17 @@ mem_right_transversals_iff_exists_unique_quotient_mk'_eq.trans
149
149
{ rintros ⟨_, q₁, rfl⟩ ⟨_, q₂, rfl⟩ hg,
150
150
rw (q₁.out_eq'.symm.trans hg).trans q₂.out_eq' }, λ q, ⟨⟨q.out', q, rfl⟩, quotient.out_eq' q⟩⟩⟩⟩
151
151
152
- lemma is_complement_of_disjoint [fintype G] [fintype H] [fintype K]
153
- (h1 : fintype.card H * fintype.card K = fintype.card G)
154
- (h2 : disjoint H K) :
152
+ lemma is_complement.card_mul [fintype G] [fintype H] [fintype K]
153
+ (h : is_complement (H : set G) (K : set G)) :
154
+ fintype.card H * fintype.card K = fintype.card G :=
155
+ (fintype.card_prod _ _).symm.trans (fintype.card_of_bijective h)
156
+
157
+ lemma is_complement.disjoint (h : is_complement (H : set G) (K : set G)) : disjoint H K :=
158
+ λ g hg, let x : H × K := ⟨⟨g, hg.1 ⟩, 1 ⟩, y : H × K := ⟨1 , ⟨g, hg.2 ⟩⟩ in subtype.ext_iff.mp
159
+ (prod.ext_iff.mp (h.1 (show x.1 .1 * _ = y.1 .1 * _, from (mul_one g).trans (one_mul g).symm))).1
160
+
161
+ lemma is_complement_of_card_mul_and_disjoint [fintype G] [fintype H] [fintype K]
162
+ (h1 : fintype.card H * fintype.card K = fintype.card G) (h2 : disjoint H K) :
155
163
is_complement (H : set G) (K : set G) :=
156
164
begin
157
165
refine (fintype.bijective_iff_injective_and_card _).mpr
@@ -163,10 +171,15 @@ begin
163
171
exact ⟨subtype.mem ((x.1 )⁻¹ * (y.1 )), (congr_arg (∈ K) h).mp (subtype.mem (x.2 * (y.2 )⁻¹))⟩,
164
172
end
165
173
174
+ lemma is_complement_iff_card_mul_and_disjoint [fintype G] [fintype H] [fintype K] :
175
+ is_complement (H : set G) (K : set G) ↔
176
+ fintype.card H * fintype.card K = fintype.card G ∧ disjoint H K :=
177
+ ⟨λ h, ⟨h.card_mul, h.disjoint⟩, λ h, is_complement_of_card_mul_and_disjoint h.1 h.2 ⟩
178
+
166
179
lemma is_complement_of_coprime [fintype G] [fintype H] [fintype K]
167
180
(h1 : fintype.card H * fintype.card K = fintype.card G)
168
181
(h2 : nat.coprime (fintype.card H) (fintype.card K)) :
169
182
is_complement (H : set G) (K : set G) :=
170
- is_complement_of_disjoint h1 (disjoint_iff.mpr (inf_eq_bot_of_coprime h2))
183
+ is_complement_of_card_mul_and_disjoint h1 (disjoint_iff.mpr (inf_eq_bot_of_coprime h2))
171
184
172
185
end subgroup
0 commit comments