@@ -364,43 +364,55 @@ namespace ModularGroup -- results specific to `SL(2, ℤ)`
364364section ModularScalarTowers
365365
366366/-- Canonical embedding of `SL(2, ℤ)` into `GL(2, ℝ)⁺`. -/
367- @[coe ]
367+ @ [deprecated "use GL(2, ℝ)" (since := "2026-04-29" ) ]
368368def coe (g : SL(2 , ℤ)) : GL(2 , ℝ)⁺ := ((g : SL(2 , ℝ)) : GL(2 , ℝ)⁺)
369369
370- @[simp]
370+ set_option linter.deprecated false in
371+ @ [deprecated "use GL(2, ℝ)" (since := "2026-04-29" )]
371372lemma coe_inj (a b : SL(2 , ℤ)) : coe a = coe b ↔ a = b := by
372373 refine ⟨fun h ↦ a.ext b fun i j ↦ ?_, congr_arg _⟩
373374 simp only [Subtype.ext_iff, GeneralLinearGroup.ext_iff] at h
374375 simpa [coe] using h i j
375376
376- instance : Coe SL(2 , ℤ) GL(2 , ℝ)⁺ :=
377- ⟨coe⟩
378-
379377/-- Canonical embedding of `SL(2, ℤ)` into `GL(2, ℝ)⁺`, bundled as a group hom. -/
378+ @ [deprecated "use GL(2, ℝ)" (since := "2026-04-29" )]
380379def coeHom : SL(2 , ℤ) →* GL(2 , ℝ)⁺ := toGLPos.comp <| map <| Int.castRingHom _
381380
382- @[simp] lemma coeHom_apply (g : SL(2 , ℤ)) : coeHom g = coe g := rfl
381+ set_option linter.deprecated false in
382+ @ [deprecated "use GL(2, ℝ)" (since := "2026-04-29" )]
383+ lemma coeHom_apply (g : SL(2 , ℤ)) : coeHom g = coe g := rfl
383384
384- @[simp]
385+ set_option linter.deprecated false in
386+ @ [deprecated "use GL(2, ℝ)" (since := "2026-04-29" )]
385387theorem coe_apply_complex {g : SL(2 , ℤ)} {i j : Fin 2 } :
386388 (Units.val <| Subtype.val <| coe g) i j = (Subtype.val g i j : ℂ) :=
387389 rfl
388390
389- @[simp]
391+ set_option linter.deprecated false in
392+ @ [deprecated "use GL(2, ℝ)" (since := "2026-04-29" )]
390393theorem det_coe {g : SL(2 , ℤ)} : det (Units.val <| Subtype.val <| coe g) = 1 := by
391394 simp only [SpecialLinearGroup.coe_GLPos_coe_GL_coe_matrix, SpecialLinearGroup.det_coe, coe]
392395
396+ set_option linter.deprecated false in
397+ @ [deprecated "use GL(2, ℝ)" (since := "2026-04-29" )]
393398lemma coe_one : coe 1 = 1 := by
394399 simp only [coe, map_one]
395400
396- instance SLOnGLPos : SMul SL(2 , ℤ) GL(2 , ℝ)⁺ :=
401+ /-- Multiplication action of `SL(2, ℤ)` on `GL(2, ℝ)⁺`. -/
402+ @ [reducible, deprecated "use GL(2, ℝ)" (since := "2026-04-29" )]
403+ def SLOnGLPos : SMul SL(2 , ℤ) GL(2 , ℝ)⁺ :=
397404 ⟨fun s g => s * g⟩
398405
406+ attribute [local instance ] SLOnGLPos
407+
408+ @ [deprecated "use GL(2, ℝ)" (since := "2026-04-29" )]
399409theorem SLOnGLPos_smul_apply (s : SL(2 , ℤ)) (g : GL(2 , ℝ)⁺) (z : ℍ) :
400410 (s • g) • z = ((s : GL(2 , ℝ)⁺) * g) • z :=
401411 rfl
402412
403- instance SL_to_GL_tower : IsScalarTower SL(2 , ℤ) GL(2 , ℝ)⁺ ℍ where
413+ set_option linter.deprecated false in
414+ @ [deprecated "use GL(2, ℝ)" (since := "2026-04-29" )]
415+ lemma SL_to_GL_tower : IsScalarTower SL(2 , ℤ) GL(2 , ℝ)⁺ ℍ where
404416 smul_assoc s g z := by
405417 simp only [SLOnGLPos_smul_apply]
406418 apply mul_smul'
0 commit comments