OAI/Probability/CriticalZ3/PlanarBoundary.lean
53 declarations, 0 contain sorry, 0 declared as axioms
Oriented planar edge boundary with exact nearest-neighbor conventions.
- abbrev
OAI.PlanarBoundary.Pointline 12 - abbrev
OAI.PlanarBoundary.Directionline 13 - def
OAI.PlanarBoundary.tailOffsetline 15 - def
OAI.PlanarBoundary.headOffsetline 16 - def
OAI.PlanarBoundary.outwardline 17 - abbrev
OAI.PlanarBoundary.Boundaryline 19 - instance
OAI.PlanarBoundary.(instance at line 21)line 21 - def
OAI.PlanarBoundary.tailline 25 - def
OAI.PlanarBoundary.headline 26 - def
OAI.PlanarBoundary.atVertexline 28 - theorem
OAI.PlanarBoundary.balancedline 45Source documentation
At each dual vertex incoming and outgoing boundary degrees agree.
theorem balanced (X : Finset Point) (v : Point) : Fintype.card {e : Boundary X // head e = v} = Fintype.card {e : Boundary X // tail e = v} := by …Mentions: OAI.PlanarBoundary.Point, OAI.PlanarBoundary.Boundary, OAI.PlanarBoundary.head, OAI.PlanarBoundary.tail
- theorem
OAI.PlanarBoundary.head_ne_tailline 65 - def
OAI.PlanarBoundary.oppositeline 71 - theorem
OAI.PlanarBoundary.opposite_oppositeline 73 - theorem
OAI.PlanarBoundary.outward_oppositeline 76 - theorem
OAI.PlanarBoundary.reverse_tailline 79 - theorem
OAI.PlanarBoundary.reverse_headline 82 - def
OAI.PlanarBoundary.rayFluxline 87Source documentation
Signed intersections with the positive horizontal ray; dual vertex (a,b) represents the point (a-1/2,b-1/2).
def rayFlux (a b : Point) : ℤ := …
Mentions: OAI.PlanarBoundary.Point
- theorem
OAI.PlanarBoundary.rayFlux_reverseline 91 - def
OAI.PlanarBoundary.sideFluxline 95 - theorem
OAI.PlanarBoundary.sideFlux_reverseline 98 - theorem
OAI.PlanarBoundary.cell_fluxline 106Source documentation
The oriented boundary of one unit cell has ray intersection number one exactly when it contains the ray's origin. No Jordan curve theorem is assumed.
theorem cell_flux (cell : Point) : (∑ d : Direction, sideFlux cell d) = if cell = (0,0) then 1 else 0 := by …Mentions: OAI.PlanarBoundary.Point, OAI.PlanarBoundary.Direction, OAI.PlanarBoundary.sideFlux
- abbrev
OAI.PlanarBoundary.FullSideline 113 - def
OAI.PlanarBoundary.isInternalline 115 - def
OAI.PlanarBoundary.internalReverseline 117 - theorem
OAI.PlanarBoundary.internal_flux_zeroline 133 - def
OAI.PlanarBoundary.boundaryEquivline 146 - theorem
OAI.PlanarBoundary.boundary_fluxline 154Source documentation
The whole finite boundary has nonzero positive-ray intersection number.
theorem boundary_flux (X : Finset Point) : (∑ e : Boundary X, rayFlux (tail e) (head e)) = if (0,0) ∈ X then 1 else 0 := by …Mentions: OAI.PlanarBoundary.Point, OAI.PlanarBoundary.Boundary, OAI.PlanarBoundary.rayFlux, OAI.PlanarBoundary.tail, OAI.PlanarBoundary.head
- def
OAI.PlanarBoundary.Neighborline 181 - theorem
OAI.PlanarBoundary.side_neighborline 183 - theorem
OAI.PlanarBoundary.head_neighborline 188 - theorem
OAI.PlanarBoundary.neighbor_coordline 191 - def
OAI.PlanarBoundary.lineFluxline 195 - theorem
OAI.PlanarBoundary.rayFlux_eq_lineFluxline 197 - theorem
OAI.PlanarBoundary.next_eq_rotateline 203 - theorem
OAI.PlanarBoundary.lineFlux_sum_zeroline 208 - theorem
OAI.PlanarBoundary.two_sidesline 214Source documentation
Nonzero positive-ray flux forces a crossing on each side of the vertical axis.
theorem two_sides {n : ℕ} (hn : 0 < n) (v : Fin n → Point) (hedge : ∀ i, Neighbor (v i) (v (FiniteTrails.next hn i))) (hw : (∑ i, rayFlux (v i) (v (FiniteTrails.next hn i))) ≠ 0) : (∃ i, 0 < (v i).1 ∧ rayFlux (v i) (v (FiniteTrails.next hn i)) ≠ 0) ∧ ∃ j, (v j).1 ≤ 0 := by …Mentions: OAI.PlanarBoundary.Point, OAI.PlanarBoundary.Neighbor, OAI.FiniteTrails.next, OAI.PlanarBoundary.rayFlux
- theorem
OAI.PlanarBoundary.coordinate_diameterline 231Source documentation
A coarse diameter bound adequate for the same Peierls argument.
theorem coordinate_diameter {n : ℕ} (hn : 0 < n) (v : Fin n → Point) (hedge : ∀ i, Neighbor (v i) (v (FiniteTrails.next hn i))) (i j : Fin n) : (v i).1-(v j).1 < 2*(n : ℤ) := by …Mentions: OAI.PlanarBoundary.Point, OAI.PlanarBoundary.Neighbor, OAI.FiniteTrails.next
- theorem
OAI.PlanarBoundary.exists_anchored_trailline 260Source documentation
Every finite region containing zero contains an edge-simple closed boundary trail with a positive-ray anchor of coordinate less than 2n. This deliberately uses a harmless overcount rather than an unformalized Jordan theorem.
theorem exists_anchored_trail (X : Finset Point) (hX : (0,0) ∈ X) : ∃ n : ℕ, ∃ hn : 0 < n, ∃ e : Fin n → Boundary X, Function.Injective e ∧ (∀ i, tail (e (FiniteTrails.next hn i)) = head (e i)) ∧ ∃ i, 0 < (tail (e i)).1 ∧ (tail (e i)).1 < 2*(n : ℤ) ∧ rayFlux (tail (e i)) (head (e i)) ≠ 0 := by …Mentions: OAI.PlanarBoundary.Point, OAI.PlanarBoundary.Boundary, OAI.PlanarBoundary.tail, OAI.FiniteTrails.next, OAI.PlanarBoundary.head, OAI.PlanarBoundary.rayFlux
- abbrev
OAI.PlanarBoundary.Codeline 292 - def
OAI.PlanarBoundary.anchorline 294 - def
OAI.PlanarBoundary.wordAtline 296 - def
OAI.PlanarBoundary.displacementline 299 - def
OAI.PlanarBoundary.tracePositionline 301 - def
OAI.PlanarBoundary.traceSideline 304 - theorem
OAI.PlanarBoundary.trace_succline 307 - theorem
OAI.PlanarBoundary.trace_reconstructline 311 - def
OAI.PlanarBoundary.shiftIndexline 337 - theorem
OAI.PlanarBoundary.shiftIndex_injectiveline 340 - theorem
OAI.PlanarBoundary.shiftIndex_nextline 348 - theorem
OAI.PlanarBoundary.rayFlux_ne_zero_heightline 355 - theorem
OAI.PlanarBoundary.card_codeline 360Source documentation
The finite deterministic code family has at most 4n4^n members.
theorem card_code (n : ℕ) : Fintype.card (Code n) = 4*n*4^n := by …
Mentions: OAI.PlanarBoundary.Code
- theorem
OAI.PlanarBoundary.exists_boundary_codeline 365Source documentation
Every actual boundary supplies one of these finitely encoded trails.
theorem exists_boundary_code (X : Finset Point) (hX : (0,0) ∈ X) : ∃ n : ℕ, ∃ _hn : 0 < n, ∃ c : Code n, ∃ e : Fin n → Boundary X, Function.Injective e ∧ ∀ i, traceSide c i = (e i).val := by …Mentions: OAI.PlanarBoundary.Point, OAI.PlanarBoundary.Code, OAI.PlanarBoundary.Boundary, OAI.PlanarBoundary.traceSide