@@ -517,16 +517,28 @@ lemma neg_mem_D_iff_mem_D {F : Type*} [Field F] {x : SL(2,F)} : -x ∈ D F ↔
517517 simp
518518
519519lemma D_sup_closure_w_eq_DW {F : Type *} [Field F] : DW F = (D F) ⊔ Subgroup.closure {w} := by
520+ rw [sup_eq_closure_mul]
520521 apply le_antisymm
521- · rintro x (⟨δ, rfl⟩ | ⟨δ, hδ⟩)
522- · rw [sup_eq_closure_mul, mem_closure]
523- intro K hK
524- have d_mem_mul : d δ ∈ (D F).carrier * (Subgroup.closure {w}).carrier := by
525- rw [Set.mem_mul]
526- sorry
527- sorry
528- · sorry
529- · sorry
522+ · rintro x (⟨δ, rfl⟩ | ⟨δ, rfl⟩) <;> rw [mem_closure] <;> intro K hK <;>
523+ apply hK <;> rw [Set.mem_mul] <;> use d δ <;> simp
524+ · intro x hx
525+ rw [mem_closure] at hx
526+ apply hx; rintro y ⟨_, ⟨δ, rfl⟩, w', hw', rfl⟩
527+ rw [← zpowers_eq_closure] at hw'
528+ rcases mem_zpowers_iff.mp hw' with ⟨k, rfl⟩
529+ have hw4 : (w : SL(2 ,F)) ^ (4 : ℤ) = 1 := by
530+ show w ^ (4 : ℕ) = 1
531+ simp [pow_succ, pow_zero, w_mul_w_eq_neg_one]
532+ have hk : (w : SL(2 ,F)) ^ k = w ^ (k % 4 ) := by
533+ conv_lhs => rw [← Int.emod_add_mul_ediv k 4 ]
534+ rw [zpow_add, zpow_mul, hw4, one_zpow, mul_one]
535+ have : k % 4 = 0 ∨ k % 4 = 1 ∨ k % 4 = 2 ∨ k % 4 = 3 := by omega
536+ rcases this with (h | h | h | h) <;> simp only [h, hk]
537+ · simp; left; use δ
538+ · simp; right; use δ
539+ · rw [zpow_two, w_mul_w_eq_neg_one]; left; use -δ; simp
540+ · rw [show (3 : ℤ) = 2 + 1 by norm_num, zpow_add, zpow_two, zpow_one, w_mul_w_eq_neg_one]
541+ right; use -δ; simp
530542
531543
532544section Center
0 commit comments