Documentation

LeanPool.ErdosTuzaValtr.Etv.Label

LeanPool.ErdosTuzaValtr.Etv.Label #

Imported Lean Pool material for LeanPool.ErdosTuzaValtr.Etv.Label.

structure Config.Label {α : Type u_1} [LinearOrder α] (C : Config α) (S : Finset α) :
Type u_1

A labeling of the edges of S by a slope predicate compatible with the cup relation.

  • Slope : ααProp

    The slope predicate assigning a direction to each ordered edge.

  • extend_left {a b : α} : a Sb Sa < b¬self.Slope a b∀ {c : α}, c Sb < cC.Cup3 a b c

    An edge of negative slope extends to the left into a 3-cup.

  • extend_right {a b : α} : a Sb Sa < bself.Slope a b∀ {c : α}, c Sc < aC.Cup3 c a b

    An edge of positive slope extends to the right into a 3-cup.

Instances For
    def Cap4FreeSlope {α : Type u_1} [LinearOrder α] (C : Config α) (S : Finset α) (a b : α) :

    The canonical slope on a finset: a, b has this slope when every earlier point forms a 3-cup with a, b.

    Equations
    Instances For
      @[implicit_reducible]
      instance decidableCap4FreeSlope {α : Type u_1} [LinearOrder α] (C : Config α) (S : Finset α) :
      Equations
      def cap4FreeLabel {α : Type u_1} [LinearOrder α] {C : Config α} {S : Finset α} (h : ¬C.HasNCap 4 S) :
      C.Label S

      The canonical labeling of a cap-4-free finset by Cap4FreeSlope.

      Equations
      Instances For
        theorem Config.Cup.extend_left {α : Type u_1} [LinearOrder α] {C : Config α} {S : Finset α} {label : C.Label S} {l : List α} (l_cup : C.Cup l) {a b : α} (s_ab : ¬label.Slope a b) (ha : a S) (hab : a < b) (l_in_S : l.In S) (b_head_l : b l.head?) :
        C.Cup (a :: l)
        theorem Config.Cup.extend_right {α : Type u_1} [LinearOrder α] {C : Config α} {S : Finset α} {label : C.Label S} {l : List α} (l_cup : C.Cup l) {a b : α} (s_ab : label.Slope a b) (hab : a < b) (hb : b S) (l_in_S : l.In S) (a_last_l : a l.getLast?) :
        C.Cup (l ++ [b])
        theorem Config.NCup.extend_left {α : Type u_1} [LinearOrder α] {C : Config α} {S : Finset α} {label : C.Label S} {n : } {l : List α} (l_ncup : C.NCup n l) {a b : α} (s_ab : ¬label.Slope a b) (ha : a S) (hab : a < b) (l_in_S : l.In S) (b_head_l : b l.head?) :
        C.NCup (n + 1) (a :: l)
        theorem Config.NCup.extend_right {α : Type u_1} [LinearOrder α] {C : Config α} {S : Finset α} {label : C.Label S} {n : } {l : List α} (l_ncup : C.NCup n l) {a b : α} (s_ab : label.Slope a b) (hab : a < b) (hb : b S) (l_in_S : l.In S) (a_last_l : a l.getLast?) :
        C.NCup (n + 1) (l ++ [b])
        def Config.Label.Mirror {α : Type u_1} [LinearOrder α] {C : Config α} {S : Finset α} (label : C.Label S) :

        The mirror labeling on the order dual, induced by negating the mirrored slope.

        Equations
        Instances For
          theorem Mirror_slope {α : Type u_1} [LinearOrder α] {C : Config α} {S : Finset α} {label : C.Label S} {a b : α} :