Documentation

LeanPool.Monsky.SegmentCounting

LeanPool.Monsky.SegmentCounting #

Imported Lean Pool material for LeanPool.Monsky.SegmentCounting.

The set of nondegenerate segments with both endpoints in X.

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

    The segments of segmentSet X whose open hull avoids the set A.

    Equations
    Instances For

      The avoiding segments of X that are basic, i.e. contain no point of X in their interior.

      Equations
      Instances For

        An inductively defined chain of collinear segments between two points.

        Instances For
          noncomputable def LeanPool.Monsky.glueChains {u v w : EuclideanSpace (Fin 2)} (hCollinear : colin u v w) :
          Chain u vChain v wChain u w

          Concatenates two chains sharing an endpoint into a single chain.

          Equations
          Instances For
            noncomputable def LeanPool.Monsky.chainToBigSegment {u v : EuclideanSpace (Fin 2)} (C : Chain u v) :

            The single segment from the start to the end of a chain.

            Equations
            Instances For
              theorem LeanPool.Monsky.chainToBigSegment_glue {u v w : EuclideanSpace (Fin 2)} (h : colin u v w) (CL : Chain u v) (CR : Chain v w) :
              theorem LeanPool.Monsky.glueChains_assoc {u v w x : EuclideanSpace (Fin 2)} (C₁ : Chain u v) (C₂ : Chain v w) (C₃ : Chain w x) (h₁ : colin u v w) (h₂ : colin v w x) :
              glueChains (glueChains h₁ C₁ C₂) C₃ = glueChains C₁ (glueChains h₂ C₂ C₃)
              theorem LeanPool.Monsky.reverseChain_glue {u v w : EuclideanSpace (Fin 2)} (h : colin u v w) (CL : Chain u v) (CR : Chain v w) :
              theorem LeanPool.Monsky.segmentSet_vertex {X : Finset (EuclideanSpace (Fin 2))} {S : Fin 2EuclideanSpace (Fin 2)} (hS : S segmentSet X) (i : Fin 2) :
              S i X

              A function on segments that is additive modulo 2 along collinear splits.

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

                A function on segments invariant under reversing the segment.

                Equations
                Instances For
                  theorem LeanPool.Monsky.twoModFunction_chains {f : (Fin 2EuclideanSpace (Fin 2))} (hf : twoModFunction f) {u v : EuclideanSpace (Fin 2)} (C : Chain u v) :
                  (∑ StoBasicSegments C, f S) % 2 = f (toSegment u v) % 2
                  theorem LeanPool.Monsky.symmFunction_reverse_sum {f : (Fin 2EuclideanSpace (Fin 2))} (hf : symmFun f) {u v : EuclideanSpace (Fin 2)} (C : Chain u v) :
                  StoBasicSegments (reverseChain C), f S = StoBasicSegments C, f S
                  theorem LeanPool.Monsky.mod_two_mul {a b : } (h : a % 2 = b % 2) :
                  2 * a % 4 = 2 * b % 4
                  theorem LeanPool.Monsky.sum_two_mod_fun_seg {A : Set (EuclideanSpace (Fin 2))} {X : Finset (EuclideanSpace (Fin 2))} {S : Fin 2EuclideanSpace (Fin 2)} (hS : S avoidingSegmentSet X A) {f : (Fin 2EuclideanSpace (Fin 2))} (hf₁ : twoModFunction f) (hf₂ : symmFun f) :
                  (∑ TbasicAvoidingSegmentSet X A with closedHull T closedHull S, f T) % 4 = 2 * f S % 4
                  noncomputable def LeanPool.Monsky.isPurple {Γ₀ : Type} [LinearOrderedCommGroupWithZero Γ₀] (v : Valuation Γ₀) :
                  (Fin 2EuclideanSpace (Fin 2))

                  Indicator (0 or 1) of whether a segment is purple, i.e. red-blue colored.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    noncomputable def LeanPool.Monsky.isRainbow {Γ₀ : Type} [LinearOrderedCommGroupWithZero Γ₀] (v : Valuation Γ₀) :
                    (Fin 3EuclideanSpace (Fin 2))

                    Indicator (0 or 1) of whether a triangle is rainbow.

                    Equations
                    Instances For

                      The finite set of all vertices appearing in a triangulation.

                      Equations
                      Instances For

                        The set of triangulation vertices, viewed as a set of points of the plane.

                        Equations
                        Instances For
                          theorem LeanPool.Monsky.triangulationPoints_mem {Δ : Finset (Fin 3EuclideanSpace (Fin 2))} {T : Fin 3EuclideanSpace (Fin 2)} (hT : T Δ) (i : Fin 3) :

                          The union of triangle interiors that basic segments of the triangulation must avoid.

                          Equations
                          Instances For
                            noncomputable def LeanPool.Monsky.isTriangulation (Δ : Finset (Fin 3EuclideanSpace (Fin 2))) :

                            isTriangulation Δ states that Δ is a disjoint cover of the unit square by triangles.

                            Equations
                            Instances For

                              Every vertex of a triangulation lies in the closed unit square.

                              theorem LeanPool.Monsky.segment_in_interior_aux {Δ : Finset (Fin 3EuclideanSpace (Fin 2))} (hCover : isTriangulation Δ) (non_degen : PΔ, det P 0) {L : Fin 2EuclideanSpace (Fin 2)} (hL : L triangulationBasicSegments Δ) :
                              TΔ, closedHull L closedHull T
                              noncomputable def LeanPool.Monsky.purpleSum {Γ₀ : Type} [LinearOrderedCommGroupWithZero Γ₀] (v : Valuation Γ₀) (Δ : Finset (Fin 3EuclideanSpace (Fin 2))) :

                              The total number of purple segments in a triangulation.

                              Equations
                              Instances For
                                noncomputable def LeanPool.Monsky.rainbowSum {Γ₀ : Type} [LinearOrderedCommGroupWithZero Γ₀] (v : Valuation Γ₀) (Δ : Finset (Fin 3EuclideanSpace (Fin 2))) :

                                The total number of rainbow triangles in a triangulation.

                                Equations
                                Instances For
                                  noncomputable def LeanPool.Monsky.rainbowTriangles {Γ₀ : Type} [LinearOrderedCommGroupWithZero Γ₀] (v : Valuation Γ₀) (Δ : Finset (Fin 3EuclideanSpace (Fin 2))) :

                                  The finite set of rainbow triangles of a triangulation.

                                  Equations
                                  Instances For
                                    noncomputable def LeanPool.Monsky.basicSegmentSegments (X : Finset (Fin 2EuclideanSpace (Fin 2))) (S : Fin 2EuclideanSpace (Fin 2)) :

                                    The basic segments of a segment family contained in a given side.

                                    Equations
                                    Instances For
                                      theorem LeanPool.Monsky.segment_sum_splitting (A : Finset (Fin 2EuclideanSpace (Fin 2))) (AVOID : Set (EuclideanSpace (Fin 2))) (X : Finset (EuclideanSpace (Fin 2))) (hA : A avoidingSegmentSet X AVOID) (hDisj : ∀ (S T : Fin 2EuclideanSpace (Fin 2)), S AT AS TopenHull S openHull T = ) (f : (Fin 2EuclideanSpace (Fin 2))) (hfTwoMod : twoModFunction f) (hSymm : symmFun f) :
                                      (∑ SbasicAvoidingSegmentSet X AVOID with closedHull S TA, closedHull T, f S) % 4 = (2 * TA, f T) % 4
                                      noncomputable def LeanPool.Monsky.p (x y : ) :

                                      Auxiliary index function used in the square boundary decomposition.

                                      Equations
                                      Instances For
                                        noncomputable def LeanPool.Monsky.squareBoundaryBasic (Δ : Finset (Fin 3EuclideanSpace (Fin 2))) :
                                        Fin 4Finset (Fin 2EuclideanSpace (Fin 2))

                                        The basic boundary segments of the unit square lying on side i.

                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For
                                          theorem LeanPool.Monsky.open_triangle_in_open_square {Δ : Finset (Fin 3EuclideanSpace (Fin 2))} {T : Fin 3EuclideanSpace (Fin 2)} (hT : T Δ) (non_degen : det T 0) (hCovering : isTriangulation Δ) :
                                          theorem LeanPool.Monsky.segment_sum_odd {Γ₀ : Type} [LinearOrderedCommGroupWithZero Γ₀] (v : Valuation Γ₀) (Δ : Finset (Fin 3EuclideanSpace (Fin 2))) (hCovering : isTriangulation Δ) (non_degen : PΔ, det P 0) :
                                          purpleSum v Δ % 4 = 2
                                          noncomputable def LeanPool.Monsky.triangleBasicBoundary (Δ : Finset (Fin 3EuclideanSpace (Fin 2))) (T : Fin 3EuclideanSpace (Fin 2)) :

                                          The basic segments of a triangulation lying on the boundary of triangle T.

                                          Equations
                                          Instances For
                                            theorem LeanPool.Monsky.triangle_edges_disjoint (T : Fin 3EuclideanSpace (Fin 2)) (i j : Fin 3) (h : i j) (hdet : det T 0) :
                                            noncomputable def LeanPool.Monsky.triangleBoundary (T : Fin 3EuclideanSpace (Fin 2)) :

                                            The three sides of a triangle T, as a set of segments.

                                            Equations
                                            Instances For
                                              theorem LeanPool.Monsky.different_points (T : Fin 3EuclideanSpace (Fin 2)) (h_det : det T 0) (i j : Fin 3) (hneq : i j) :
                                              T i T j

                                              The number (0, 1 or 2) of purple edges among the edges with two given colors.

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

                                                Indicator of whether the three given colors form a rainbow triangle.

                                                Equations
                                                Instances For
                                                  theorem LeanPool.Monsky.isRainbow_eq_colors {Γ₀ : Type} [LinearOrderedCommGroupWithZero Γ₀] (v : Valuation Γ₀) (T : Fin 3EuclideanSpace (Fin 2)) :
                                                  isRainbow v T = rainbowB (coloring v (T 0)) (coloring v (T 1)) (coloring v (T 2))
                                                  theorem LeanPool.Monsky.rainbow_purple_color_identity (c0 c1 c2 : Color) :
                                                  2 * rainbowB c0 c1 c2 % 4 = 2 * (purpleB c1 c2 + purpleB c2 c0 + purpleB c0 c1) % 4
                                                  theorem LeanPool.Monsky.rainbowTriangle_purpleSum {Γ₀ : Type} [LinearOrderedCommGroupWithZero Γ₀] (v : Valuation Γ₀) {Δ : Finset (Fin 3EuclideanSpace (Fin 2))} (non_degen : PΔ, det P 0) (hDisjointCover : isDisjointCover (closedHull unitSquare) Δ) (T : Fin 3EuclideanSpace (Fin 2)) :
                                                  T Δ2 * isRainbow v T % 4 = (∑ StriangleBasicBoundary Δ T, isPurple v S) % 4
                                                  noncomputable def LeanPool.Monsky.boundaryIndicator (T : Fin 3EuclideanSpace (Fin 2)) (S : Fin 2EuclideanSpace (Fin 2)) :

                                                  Indicator of whether a segment lies on the boundary of the unit square.

                                                  Equations
                                                  Instances For
                                                    theorem LeanPool.Monsky.split_segment_sum (Δ : Finset (Fin 3EuclideanSpace (Fin 2))) (hDisjointCover : isDisjointCover (closedHull unitSquare) Δ) (f : (Fin 2EuclideanSpace (Fin 2))) (non_degen : PΔ, det P 0) :
                                                    TΔ, StriangleBasicBoundary Δ T, f S = StriangulationBoundaryBasicSegments Δ, f S + 2 * StriangulationInteriorBasicSegments Δ, f S
                                                    theorem LeanPool.Monsky.rainbowSum_is_purpleSum {Γ₀ : Type} [LinearOrderedCommGroupWithZero Γ₀] (v : Valuation Γ₀) (Δ : Finset (Fin 3EuclideanSpace (Fin 2))) (hDisjointCover : isDisjointCover (closedHull unitSquare) Δ) (non_degen : PΔ, det P 0) :
                                                    2 * rainbowSum v Δ % 4 = purpleSum v Δ % 4
                                                    theorem LeanPool.Monsky.monsky_rainbow {Γ₀ : Type} [LinearOrderedCommGroupWithZero Γ₀] (v : Valuation Γ₀) (Δ : Finset (Fin 3EuclideanSpace (Fin 2))) (hDisjointCover : isDisjointCover (closedHull unitSquare) Δ) (non_degen : PΔ, det P 0) :
                                                    TΔ, rainbowTriangle v T