Documentation

Mathlib.Analysis.Complex.UpperHalfPlane.Basic

The upper half plane #

This file defines UpperHalfPlane to be the upper half plane in .

We define the notation for the upper half plane available in the locale UpperHalfPlane so as not to conflict with the quaternions.

structure UpperHalfPlane :

The open upper half plane, denoted as within the UpperHalfPlane namespace

  • coe :

    Canonical embedding of the upper half-plane into .

  • coe_im_pos : 0 < (↑self).im
Instances For
    theorem UpperHalfPlane.ext_iff {x y : UpperHalfPlane} :
    x = y x = y
    theorem UpperHalfPlane.ext {x y : UpperHalfPlane} (coe : x = y) :
    x = y

    The open upper half plane, denoted as within the UpperHalfPlane namespace

    Equations
    Instances For

      Define I := √-1 as an element of the upper half plane.

      Equations
      Instances For

        Define the cube root of unity ρ := (-1 + √-3) / 2 as an element of the upper half plane.

        Equations
        Instances For
          theorem UpperHalfPlane.ρ_sq :
          ρ ^ 2 = -ρ - 1
          @[simp]
          theorem UpperHalfPlane.coe_inj {a b : UpperHalfPlane} :
          a = b a = b
          @[deprecated UpperHalfPlane.coe_inj (since := "2026-01-31")]
          theorem UpperHalfPlane.ext_iff' {a b : UpperHalfPlane} :
          a = b a = b

          Alias of UpperHalfPlane.coe_inj.

          theorem UpperHalfPlane.forall {P : UpperHalfPlaneProp} :
          (∀ (z : UpperHalfPlane), P z) ∀ (z : ) (hz : 0 < z.im), P { coe := z, coe_im_pos := hz }
          theorem UpperHalfPlane.exists {P : UpperHalfPlaneProp} :
          (∃ (z : UpperHalfPlane), P z) ∃ (z : ) (hz : 0 < z.im), P { coe := z, coe_im_pos := hz }

          Imaginary part

          Equations
          Instances For

            Real part

            Equations
            Instances For
              theorem UpperHalfPlane.ext_re_im {a b : UpperHalfPlane} (hre : a.re = b.re) (him : a.im = b.im) :
              a = b

              Extensionality lemma in terms of UpperHalfPlane.re and UpperHalfPlane.im.

              @[deprecated UpperHalfPlane.ext_re_im (since := "2026-01-29")]
              theorem UpperHalfPlane.ext' {a b : UpperHalfPlane} (hre : a.re = b.re) (him : a.im = b.im) :
              a = b

              Alias of UpperHalfPlane.ext_re_im.


              Extensionality lemma in terms of UpperHalfPlane.re and UpperHalfPlane.im.

              @[simp]
              theorem UpperHalfPlane.coe_im (z : UpperHalfPlane) :
              (↑z).im = z.im
              @[simp]
              theorem UpperHalfPlane.coe_re (z : UpperHalfPlane) :
              (↑z).re = z.re
              @[simp]
              theorem UpperHalfPlane.mk_re (z : ) (h : 0 < z.im) :
              { coe := z, coe_im_pos := h }.re = z.re
              @[simp]
              theorem UpperHalfPlane.mk_im (z : ) (h : 0 < z.im) :
              { coe := z, coe_im_pos := h }.im = z.im
              theorem UpperHalfPlane.coe_mk (z : ) (h : 0 < z.im) :
              { coe := z, coe_im_pos := h } = z
              @[simp]
              theorem UpperHalfPlane.mk_coe (z : UpperHalfPlane) (h : 0 < (↑z).im := ) :
              { coe := z, coe_im_pos := h } = z
              @[simp]
              @[simp]
              @[deprecated UpperHalfPlane.coe_mk (since := "2026-01-29")]
              theorem UpperHalfPlane.coe_mk_subtype {z : } (hz : 0 < z.im) :
              { coe := z, coe_im_pos := hz } = z
              theorem UpperHalfPlane.eq_of_re_of_norm {τ τ' : UpperHalfPlane} (hre : τ.re = τ'.re) (hnorm : τ = τ') :
              τ = τ'

              Criterion for equality in terms of real part and norm. Useful when working with the geometry of the fundamental domain.

              Extension for the positivity tactic: UpperHalfPlane.im.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                Extension for the positivity tactic: UpperHalfPlane.coe.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  theorem UpperHalfPlane.im_pnat_div_pos (n : ) [NeZero n] (z : UpperHalfPlane) :
                  0 < (-n / z).im
                  theorem UpperHalfPlane.ne_ofReal (z : UpperHalfPlane) (x : ) :
                  z x
                  theorem UpperHalfPlane.ne_intCast (z : UpperHalfPlane) (n : ) :
                  z n
                  @[deprecated UpperHalfPlane.ne_intCast (since := "2026-01-29")]
                  theorem UpperHalfPlane.ne_int (z : UpperHalfPlane) (n : ) :
                  z n

                  Alias of UpperHalfPlane.ne_intCast.

                  theorem UpperHalfPlane.ne_natCast (z : UpperHalfPlane) (n : ) :
                  z n
                  @[deprecated UpperHalfPlane.ne_natCast (since := "2026-01-29")]
                  theorem UpperHalfPlane.ne_nat (z : UpperHalfPlane) (n : ) :
                  z n

                  Alias of UpperHalfPlane.ne_natCast.

                  @[implicit_reducible]
                  Equations
                  • One or more equations did not get rendered due to their size.
                  @[simp]
                  theorem UpperHalfPlane.coe_pos_real_smul (x : { x : // 0 < x }) (z : UpperHalfPlane) :
                  ↑(x z) = x z
                  @[simp]
                  theorem UpperHalfPlane.pos_real_im (x : { x : // 0 < x }) (z : UpperHalfPlane) :
                  (x z).im = x * z.im
                  @[simp]
                  theorem UpperHalfPlane.pos_real_re (x : { x : // 0 < x }) (z : UpperHalfPlane) :
                  (x z).re = x * z.re
                  @[implicit_reducible]
                  Equations
                  @[simp]
                  theorem UpperHalfPlane.coe_vadd (x : ) (z : UpperHalfPlane) :
                  ↑(x +ᵥ z) = x + z
                  @[simp]
                  theorem UpperHalfPlane.vadd_re (x : ) (z : UpperHalfPlane) :
                  (x +ᵥ z).re = x + z.re
                  @[simp]
                  theorem UpperHalfPlane.vadd_im (x : ) (z : UpperHalfPlane) :
                  (x +ᵥ z).im = z.im
                  @[simp]
                  @[reducible, inline]

                  The upper half plane as a subset of . This is convenient for taking derivatives of functions on the upper half plane.

                  Equations
                  Instances For