Documentation

LeanPool.ErdosTuzaValtr.Config.Lemmas

LeanPool.ErdosTuzaValtr.Config.Lemmas #

Imported Lean Pool material for LeanPool.ErdosTuzaValtr.Config.Lemmas.

@[simp]
theorem Config.Cap.nil {α : Type u_1} [LinearOrder α] {C : Config α} :
@[simp]
theorem Config.Cap.singleton {α : Type u_1} [LinearOrder α] {C : Config α} (a : α) :
C.Cap [a]
@[simp]
theorem Config.Cap.pair {α : Type u_1} [LinearOrder α] {C : Config α} {a b : α} :
C.Cap [a, b] a < b
@[simp]
theorem Config.Cap.cons3 {α : Type u_1} [LinearOrder α] {C : Config α} {a b c : α} {l : List α} :
C.Cap (a :: b :: c :: l) a < b C.Cap3 a b c C.Cap (b :: c :: l)
@[simp]
theorem Config.Cap.append_cons3 {α : Type u_1} [LinearOrder α] {C : Config α} {a b c : α} {l1 l2 : List α} :
C.Cap (l1 ++ a :: b :: c :: l2) C.Cap (l1 ++ [a, b]) C.Cap3 a b c C.Cap (b :: c :: l2)
theorem Config.Cap.dropLast {α : Type u_1} [LinearOrder α] {C : Config α} {l : List α} (h : C.Cap l) :
theorem Config.Cap.tail {α : Type u_1} [LinearOrder α] {C : Config α} {l : List α} (h : C.Cap l) :
C.Cap l.tail
theorem Config.NCap.dropLast {α : Type u_1} [LinearOrder α] {C : Config α} {n : } {l : List α} (h : C.NCap (n + 1) l) :
theorem Config.NCap.tail {α : Type u_1} [LinearOrder α] {C : Config α} {n : } {l : List α} (h : C.NCap (n + 1) l) :
C.NCap n l.tail
@[simp]
theorem Config.Cup.nil {α : Type u_1} [LinearOrder α] {C : Config α} :
@[simp]
theorem Config.Cup.singleton {α : Type u_1} [LinearOrder α] {C : Config α} (a : α) :
C.Cup [a]
@[simp]
theorem Config.Cup.pair {α : Type u_1} [LinearOrder α] {C : Config α} {a b : α} :
C.Cup [a, b] a < b
@[simp]
theorem Config.Cup.cons3 {α : Type u_1} [LinearOrder α] {C : Config α} {a b c : α} {l : List α} :
C.Cup (a :: b :: c :: l) a < b C.Cup3 a b c C.Cup (b :: c :: l)
@[simp]
theorem Config.Cup.append_cons3 {α : Type u_1} [LinearOrder α] {C : Config α} {a b c : α} {l1 l2 : List α} :
C.Cup (l1 ++ a :: b :: c :: l2) C.Cup (l1 ++ [a, b]) C.Cup3 a b c C.Cup (b :: c :: l2)
theorem Config.Cup.dropLast {α : Type u_1} [LinearOrder α] {C : Config α} {l : List α} (h : C.Cup l) :
theorem Config.Cup.take {α : Type u_1} [LinearOrder α] {C : Config α} {l : List α} (h : C.Cup l) (n : ) :
C.Cup (List.take n l)
theorem Config.Cup.drop {α : Type u_1} [LinearOrder α] {C : Config α} {l : List α} (h : C.Cup l) (n : ) :
C.Cup (List.drop n l)
theorem Config.Cup.tail {α : Type u_1} [LinearOrder α] {C : Config α} {l : List α} (h : C.Cup l) :
C.Cup l.tail
theorem Config.Cup.head_lt_getLast {α : Type u_1} [LinearOrder α] {C : Config α} {l : List α} (l_cup : C.Cup l) (p q : α) (hl : 2 l.length) (hp : p l.head?) (hq : q l.getLast?) :
p < q
theorem Config.Cup.head?_lt_getLast? {α : Type u_1} [LinearOrder α] {C : Config α} {l : List α} (l_cup : C.Cup l) (p q : α) (hl : 2 l.length) (hp : p l.head?) (hq : q l.getLast?) :
p < q

Compatibility alias for the upstream theorem name.

@[simp]
theorem Config.NCup.nil {α : Type u_1} [LinearOrder α] {C : Config α} :
C.NCup 0 []
@[simp]
theorem Config.NCup.singleton {α : Type u_1} [LinearOrder α] {C : Config α} (a : α) :
C.NCup 1 [a]
@[simp]
theorem Config.NCup.pair {α : Type u_1} [LinearOrder α] {C : Config α} {a b : α} :
C.NCup 2 [a, b] a < b
@[simp]
theorem Config.NCup.cons3 {α : Type u_1} [LinearOrder α] {C : Config α} {n : } {a b c : α} {l : List α} :
C.NCup (n + 1) (a :: b :: c :: l) a < b C.Cup3 a b c C.NCup n (b :: c :: l)
theorem Config.NCup.dropLast {α : Type u_1} [LinearOrder α] {C : Config α} {n : } {l : List α} (h : C.NCup (n + 1) l) :
theorem Config.NCup.dropLast_append_last {α : Type u_1} [LinearOrder α] {C : Config α} {n : } {l : List α} (h : C.NCup (n + 1) l) :
∃ (l' : List α) (a : α), l = l' ++ [a] C.NCup n l'
theorem Config.NCup.tail {α : Type u_1} [LinearOrder α] {C : Config α} {n : } {l : List α} (h : C.NCup (n + 1) l) :
C.NCup n l.tail
theorem Config.NCup.cons_head_tail {α : Type u_1} [LinearOrder α] {C : Config α} {n : } {l : List α} (h : C.NCup (n + 1) l) :
∃ (a : α) (l' : List α), l = a :: l' C.NCup n l'
theorem Config.NCup.take_head_last {α : Type u_1} [LinearOrder α] {C : Config α} {n : } {l : List α} (h : C.NCup (n + 2) l) :
∃ (a : α) (l' : List α) (b : α), l = a :: l' ++ [b] C.NCup n l'
theorem Config.NCup.take_left_with_head {α : Type u_1} [LinearOrder α] {C : Config α} {n : } {l : List α} (h : C.NCup n l) (m : ) (p : α) :
1 mm np l.head?l'l, C.NCup m l' p l'.head?
theorem Config.NCup.take_right_with_last {α : Type u_1} [LinearOrder α] {C : Config α} {n : } {l : List α} (h : C.NCup n l) (m : ) (p : α) :
1 mm np l.getLast?l'l, C.NCup m l' p l'.getLast?
theorem Config.NCup.head_lt_getLast {α : Type u_1} [LinearOrder α] {C : Config α} {n : } {l : List α} (l_ncup : C.NCup (n + 2) l) (p q : α) (hp : p l.head?) (hq : q l.getLast?) :
p < q
theorem Config.NCup.head?_lt_getLast? {α : Type u_1} [LinearOrder α] {C : Config α} {n : } {l : List α} (l_ncup : C.NCup (n + 2) l) (p q : α) (hp : p l.head?) (hq : q l.getLast?) :
p < q

Compatibility alias for the upstream theorem name.

theorem Config.NCup.head_le_getLast {α : Type u_1} [LinearOrder α] {C : Config α} {n : } {l : List α} (l_ncup : C.NCup n l) (p q : α) (hp : p l.head?) (hq : q l.getLast?) :
p q
theorem Config.NCup.head?_le_getLast? {α : Type u_1} [LinearOrder α] {C : Config α} {n : } {l : List α} (l_ncup : C.NCup n l) (p q : α) (hp : p l.head?) (hq : q l.getLast?) :
p q

Compatibility alias for the upstream theorem name.

theorem ncup_is_ngon {α : Type u_1} [LinearOrder α] {C : Config α} {n : } {S : Finset α} (hn : 2 n) (h : C.HasNCup n S) :
C.HasNGon n S
theorem hasNCap_supset {α : Type u_1} [LinearOrder α] {C : Config α} {n : } {S1 S2 : Finset α} (h : S1 S2) (h1 : C.HasNCap n S1) :
C.HasNCap n S2
theorem hasNCup_supset {α : Type u_1} [LinearOrder α] {C : Config α} {n : } {S1 S2 : Finset α} (h : S1 S2) (h1 : C.HasNCup n S1) :
C.HasNCup n S2
theorem hasNGon_supset {α : Type u_1} [LinearOrder α] {C : Config α} {n : } {S1 S2 : Finset α} (h : S1 S2) (h1 : C.HasNGon n S1) :
C.HasNGon n S2
theorem hasNCup_le {α : Type u_1} [LinearOrder α] {C : Config α} {n m : } {S : Finset α} (h : n m) :
C.HasNCup m SC.HasNCup n S