Documentation

LeanPool.Monsky.Square

LeanPool.Monsky.Square #

Imported Lean Pool material for LeanPool.Monsky.Square.

theorem LeanPool.Monsky.boundary_unitSquare_eq :
boundary unitSquare = {x : EuclideanSpace ℝ (Fin 2) | (∀ (i : Fin 2), 0 ≤ x.ofLp i ∧ x.ofLp i ≤ 1) ∧ ∃ (i : Fin 2), x.ofLp i = 0 ∨ x.ofLp i = 1}
theorem LeanPool.Monsky.open_unitSquare_open_dir {x : EuclideanSpace ℝ (Fin 2)} (y : EuclideanSpace ℝ (Fin 2)) (hx : x ∈ openHull unitSquare) :
∃ ε > 0, ∀ (n : ℕ), x + (1 / ↑n) • ε • y ∈ openHull unitSquare
theorem LeanPool.Monsky.el_boundary_square_triangle_dir {x : EuclideanSpace ℝ (Fin 2)} (hx : x ∈ boundary unitSquare) :
∃ σ ∈ {-1, 1}, ∀ (Δ : Fin 3 → EuclideanSpace ℝ (Fin 2)), det Δ ≠ 0 → closedHull Δ ⊆ closedHull unitSquare → (∃ (i : Fin 3), x ∈ openHull (Tside Δ i)) → ∃ εΔ > 0, ∀ (y : ℝ), 0 < y → y ≤ εΔ → x + (σ * y) • v 1 1 ∈ openHull Δ
theorem LeanPool.Monsky.boundary_leave_dir {x : EuclideanSpace ℝ (Fin 2)} (hx : x ∈ boundary unitSquare) :
∃ σ ∈ {1, -1}, ∀ ε > 0, x + (σ * ε) • v 1 1 ∉ closedHull unitSquare
theorem LeanPool.Monsky.segment_triangle_pairing_int (S : Finset (Fin 3 → EuclideanSpace ℝ (Fin 2))) (hCover : isDisjointCover (closedHull unitSquare) ↑S) (hArea : ∀ Δ ∈ S, det Δ ≠ 0) (L : Fin 2 → EuclideanSpace ℝ (Fin 2)) (hInt : ∀ Δ ∈ S, openHull Δ ∩ closedHull L = ∅) (hLunit : openHull L ⊆ openHull unitSquare) (hv : ∀ Δ ∈ S, ∀ (i : Fin 3), Δ i ∉ openHull L) :
{Δ ∈ S | closedHull L ⊆ boundary Δ}.card = 2
theorem LeanPool.Monsky.segment_triangle_pairing_boundary (S : Finset (Fin 3 → EuclideanSpace ℝ (Fin 2))) (hCover : isDisjointCover (closedHull unitSquare) ↑S) (hArea : ∀ Δ ∈ S, det Δ ≠ 0) (L : Fin 2 → EuclideanSpace ℝ (Fin 2)) (hL : L 0 ≠ L 1) (hInt : ∀ Δ ∈ S, openHull Δ ∩ closedHull L = ∅) (hLunit : openHull L ⊆ boundary unitSquare) (hv : ∀ Δ ∈ S, ∀ (i : Fin 3), Δ i ∉ openHull L) :
{Δ ∈ S | closedHull L ⊆ boundary Δ}.card = 1

The i-th side of the unit square, as a segment.

Equations
Instances For

    The four sides of the unit square, as a set of segments.

    Equations
    Instances For

      The index of the coordinate that is constant along side i of the square.

      Equations
      Instances For

        The constant coordinate value along side i of the unit square.

        Equations
        Instances For
          @[simp]
          theorem LeanPool.Monsky.boundaryLine_rw {i : Fin 4} :
          boundaryLine i = (fun (x : Fin 4) => match x with | 0 => 0 | 1 => 1 | 2 => 0 | 3 => 1) i
          @[simp]
          theorem LeanPool.Monsky.boundary_constant_rw {i : Fin 4} :
          bc i = (fun (x : Fin 4) => match x with | 0 => 0 | 1 => 1 | 2 => 1 | 3 => 0) i
          theorem LeanPool.Monsky.squareBoundaryBig_inter_seg_aux₁ {a b c d : ℝ} (ha : 0 < a) (hb : 0 ≤ b) (hc : 0 < c) (hd : 0 ≤ d) (habcd : a * b + c * d = 0) :
          b = 0 ∧ d = 0
          theorem LeanPool.Monsky.squareBoundaryBig_inter_seg_aux₂ {a b c d : ℝ} (hac : a + c = 1) (ha : 0 < a) (hb : b ≤ 1) (hc : 0 < c) (hd : d ≤ 1) (habcd : a * b + c * d = 1) :
          b = 1 ∧ d = 1
          theorem LeanPool.Monsky.cover_imples_corner_in_triangle {S : Finset (Fin 3 → EuclideanSpace ℝ (Fin 2))} (hCover : isCover (closedHull unitSquare) ↑S) (i : Fin 4) :
          ∃ T ∈ S, ∃ (j : Fin 3), unitSquare i = T j
          theorem LeanPool.Monsky.unitSquare_is_convex_open {S : Fin 2 → EuclideanSpace ℝ (Fin 2)} (hS : closedHull S ⊆ boundary unitSquare) (hNondegen : S 0 ≠ S 1) :
          ∃ (i : Fin 4), openHull S ⊆ openHull (squareBoundaryBig i)