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 on the upper half plane.

      Equations
      Instances For
        @[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

            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.

                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
                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