Extremal noncrossing partitions: discrete and indiscrete
TheoremThe discrete partition is noncrossing#✓fully proved
For every natural number \(n\), the discrete partition of \(\{0, \dots, n-1\}\), whose blocks are the singletons, is noncrossing.
theorem isNoncrossing_bot (n : ℕ) : IsNoncrossing (⊥ : SetPartition n)
def IsNoncrossing {n : ℕ} (P : SetPartition n) : Prop :=
¬ HasCrossing P
MathlibExt/Combinatorics/NoncrossingPartition/Basic.lean:45
abbrev SetPartition (n : ℕ) :=
Finpartition (Finset.univ : Finset (Fin n))
MathlibExt/Combinatorics/NoncrossingPartition/Basic.lean:34
Uses 3 · Used by 1
TheoremThe indiscrete partition is noncrossing#✓fully proved
For every natural number \(n\), the indiscrete partition of \(\{0, \dots, n-1\}\), the coarsest partition of this set, is noncrossing.
theorem isNoncrossing_top (n : ℕ) : IsNoncrossing (⊤ : SetPartition n)
def IsNoncrossing {n : ℕ} (P : SetPartition n) : Prop :=
¬ HasCrossing P
MathlibExt/Combinatorics/NoncrossingPartition/Basic.lean:45
abbrev SetPartition (n : ℕ) :=
Finpartition (Finset.univ : Finset (Fin n))
MathlibExt/Combinatorics/NoncrossingPartition/Basic.lean:34
Uses 3 · Used by 1
DefinitionDiscrete noncrossing partition#✓fully proved
For a natural number \(n\), the discrete noncrossing partition of \(\{0, \dots, n-1\}\) is the finest partition of this set, whose blocks are the singletons \(\{a\}\) for \(a \in \{0, \dots, n-1\}\); it is noncrossing.
def discrete (n : ℕ) : NoncrossingPartition n :=
⟨⊥, isNoncrossing_bot n⟩
def NoncrossingPartition (n : ℕ) :=
{ P : NoncrossingPartition.SetPartition n // NoncrossingPartition.IsNoncrossing P }
MathlibExt/Combinatorics/NoncrossingPartition/Basic.lean:59
theorem isNoncrossing_bot (n : ℕ) : IsNoncrossing (⊥ : SetPartition n)
MathlibExt/Combinatorics/NoncrossingPartition/Operations.lean:34
Uses 4 · Used by 14
DefinitionThe indiscrete noncrossing partition#✓fully proved
For a natural number \(n\), the indiscrete noncrossing partition of \(\{0, \dots, n-1\}\) is the coarsest partition of this set: its only block is the whole set when \(n > 0\), and it has no blocks when \(n = 0\). It is noncrossing.
def indiscrete (n : ℕ) : NoncrossingPartition n :=
⟨⊤, isNoncrossing_top n⟩
def NoncrossingPartition (n : ℕ) :=
{ P : NoncrossingPartition.SetPartition n // NoncrossingPartition.IsNoncrossing P }
MathlibExt/Combinatorics/NoncrossingPartition/Basic.lean:59
theorem isNoncrossing_top (n : ℕ) : IsNoncrossing (⊤ : SetPartition n)
MathlibExt/Combinatorics/NoncrossingPartition/Operations.lean:67
Uses 4 · Used by 21
TheoremThe block of a point in the discrete noncrossing partition#✓fully proved
For every natural number \(n\) and every \(a \in \{0, \dots, n-1\}\), the block containing \(a\) in the discrete noncrossing partition of \(\{0, \dots, n-1\}\) is the singleton \(\{a\}\).
@[simp]
theorem block_discrete (n : ℕ) (a : Fin n) : block (discrete n) a = {a}
def block {n : ℕ} (P : _root_.NoncrossingPartition n) (a : Fin n) : Finset (Fin n) :=
P.val.part a
MathlibExt/Combinatorics/NoncrossingPartition/Basic.lean:74
def discrete (n : ℕ) : NoncrossingPartition n :=
⟨⊥, isNoncrossing_bot n⟩
MathlibExt/Combinatorics/NoncrossingPartition/Operations.lean:91
Uses 3
TheoremThe block of a point in the indiscrete noncrossing partition#✓fully proved
For every natural number \(n\) and every \(a \in \{0, \dots, n-1\}\), the block containing \(a\) in the indiscrete noncrossing partition of \(\{0, \dots, n-1\}\) is the whole set \(\{0, \dots, n-1\}\).
For \(n = 0\) there is no such \(a\), so the statement is vacuous.
@[simp]
theorem block_indiscrete (n : ℕ) (a : Fin n) : block (indiscrete n) a = Finset.univ
def block {n : ℕ} (P : _root_.NoncrossingPartition n) (a : Fin n) : Finset (Fin n) :=
P.val.part a
MathlibExt/Combinatorics/NoncrossingPartition/Basic.lean:74
def indiscrete (n : ℕ) : NoncrossingPartition n :=
⟨⊤, isNoncrossing_top n⟩
MathlibExt/Combinatorics/NoncrossingPartition/Operations.lean:95
Uses 3
TheoremThe discrete noncrossing partition consists of the singletons#✓fully proved
For every natural number \(n\), the set of blocks of the discrete noncrossing partition of \(\{0, \dots, n-1\}\) is exactly the set of singletons \(\{a\}\) with \(a \in \{0, \dots, n-1\}\).
@[simp]
theorem discrete_parts (n : ℕ) :
(discrete n).val.parts =
(Finset.univ : Finset (Fin n)).map ⟨singleton, singleton_injective⟩
def discrete (n : ℕ) : NoncrossingPartition n :=
⟨⊥, isNoncrossing_bot n⟩
MathlibExt/Combinatorics/NoncrossingPartition/Operations.lean:91
Uses 3 · Used by 3
TheoremThe indiscrete partition of the empty set has no blocks#✓fully proved
For \(n = 0\), the set of blocks of the indiscrete noncrossing partition of \(\{0, \dots, n-1\}\), the empty set, is empty.
@[simp]
theorem indiscrete_parts_zero : (indiscrete 0).val.parts = ∅
def indiscrete (n : ℕ) : NoncrossingPartition n :=
⟨⊤, isNoncrossing_top n⟩
MathlibExt/Combinatorics/NoncrossingPartition/Operations.lean:95
Uses 3 · Used by 2
TheoremThe discrete partition of the empty set has no blocks#✓fully proved
For \(n = 0\), the discrete noncrossing partition of the empty set \(\{0, \dots, n-1\}\) has no blocks: its set of blocks is empty.
@[simp]
theorem discrete_parts_zero : (discrete 0).val.parts = ∅
def discrete (n : ℕ) : NoncrossingPartition n :=
⟨⊥, isNoncrossing_bot n⟩
MathlibExt/Combinatorics/NoncrossingPartition/Operations.lean:91
Uses 3
TheoremThe indiscrete partition of a nonempty set has a single block#✓fully proved
For a natural number \(n\) with \(0 < n\), the set of blocks of the indiscrete noncrossing partition of \(\{0, \dots, n-1\}\) is \(\{\{0, \dots, n-1\}\}\): its only block is the whole set.
theorem indiscrete_parts_pos {n : ℕ} (hn : 0 < n) :
(indiscrete n).val.parts = {Finset.univ}
def indiscrete (n : ℕ) : NoncrossingPartition n :=
⟨⊤, isNoncrossing_top n⟩
MathlibExt/Combinatorics/NoncrossingPartition/Operations.lean:95
Uses 3 · Used by 4
TheoremCharacterization of the discrete noncrossing partition#✓fully proved
Let \(n\) be a natural number. A noncrossing partition \(P\) of \(\{0, \dots, n-1\}\) equals the discrete noncrossing partition if and only if \(P\), viewed as a set partition, is the finest partition of \(\{0, \dots, n-1\}\).
theorem eq_discrete_iff_val_eq_bot {n : ℕ} {P : NoncrossingPartition n} :
P = discrete n ↔ P.val = ⊥
def NoncrossingPartition (n : ℕ) :=
{ P : NoncrossingPartition.SetPartition n // NoncrossingPartition.IsNoncrossing P }
MathlibExt/Combinatorics/NoncrossingPartition/Basic.lean:59
def discrete (n : ℕ) : NoncrossingPartition n :=
⟨⊥, isNoncrossing_bot n⟩
MathlibExt/Combinatorics/NoncrossingPartition/Operations.lean:91
TheoremCharacterization of the indiscrete noncrossing partition#✓fully proved
Let \(n\) be a natural number. A noncrossing partition \(P\) of \(\{0, \dots, n-1\}\) equals the indiscrete noncrossing partition if and only if \(P\), viewed as a set partition, is the coarsest partition of \(\{0, \dots, n-1\}\).
theorem eq_indiscrete_iff_val_eq_top {n : ℕ} {P : NoncrossingPartition n} :
P = indiscrete n ↔ P.val = ⊤
def NoncrossingPartition (n : ℕ) :=
{ P : NoncrossingPartition.SetPartition n // NoncrossingPartition.IsNoncrossing P }
MathlibExt/Combinatorics/NoncrossingPartition/Basic.lean:59
def indiscrete (n : ℕ) : NoncrossingPartition n :=
⟨⊤, isNoncrossing_top n⟩
MathlibExt/Combinatorics/NoncrossingPartition/Operations.lean:95
Uses 4 · Used by 4
TheoremA partition whose blocks are all the whole set is indiscrete#✓fully proved
Let \(n\) be a natural number and let \(P\) be a noncrossing partition of \(\{0, \dots, n-1\}\). If for every \(a \in \{0, \dots, n-1\}\) the block of \(P\) containing \(a\) is the whole set \(\{0, \dots, n-1\}\), then \(P\) is the indiscrete noncrossing partition.
theorem eq_indiscrete_of_forall_block_eq_univ {n : ℕ} (P : NoncrossingPartition n)
(h : ∀ a : Fin n, block P a = Finset.univ) : P = indiscrete n
def NoncrossingPartition (n : ℕ) :=
{ P : NoncrossingPartition.SetPartition n // NoncrossingPartition.IsNoncrossing P }
MathlibExt/Combinatorics/NoncrossingPartition/Basic.lean:59
def block {n : ℕ} (P : _root_.NoncrossingPartition n) (a : Fin n) : Finset (Fin n) :=
P.val.part a
MathlibExt/Combinatorics/NoncrossingPartition/Basic.lean:74
def indiscrete (n : ℕ) : NoncrossingPartition n :=
⟨⊤, isNoncrossing_top n⟩
MathlibExt/Combinatorics/NoncrossingPartition/Operations.lean:95
Uses 7
TheoremThe empty set has a unique noncrossing partition#✓fully proved
For \(n = 0\), every noncrossing partition of \(\{0, \dots, n-1\}\), the empty set, equals the indiscrete noncrossing partition of this set.
theorem eq_indiscrete_zero (P : NoncrossingPartition 0) : P = indiscrete 0
def NoncrossingPartition (n : ℕ) :=
{ P : NoncrossingPartition.SetPartition n // NoncrossingPartition.IsNoncrossing P }
MathlibExt/Combinatorics/NoncrossingPartition/Basic.lean:59
def indiscrete (n : ℕ) : NoncrossingPartition n :=
⟨⊤, isNoncrossing_top n⟩
MathlibExt/Combinatorics/NoncrossingPartition/Operations.lean:95
Uses 5 · Used by 2
TheoremDiscrete and indiscrete partitions agree on the empty set#✓fully proved
For \(n = 0\), the discrete and the indiscrete noncrossing partitions of the empty set \(\{0, \dots, n-1\}\) are equal.
@[simp]
theorem discrete_zero_eq_indiscrete_zero : discrete 0 = indiscrete 0
def discrete (n : ℕ) : NoncrossingPartition n :=
⟨⊥, isNoncrossing_bot n⟩
MathlibExt/Combinatorics/NoncrossingPartition/Operations.lean:91
def indiscrete (n : ℕ) : NoncrossingPartition n :=
⟨⊤, isNoncrossing_top n⟩
MathlibExt/Combinatorics/NoncrossingPartition/Operations.lean:95
Uses 4 · Used by 1
TheoremThe only noncrossing partition of the empty set is the discrete one#✓fully proved
For \(n = 0\), every noncrossing partition of the empty set \(\{0, \dots, n-1\}\) equals the discrete noncrossing partition.
theorem eq_discrete_zero (P : NoncrossingPartition 0) : P = discrete 0
def NoncrossingPartition (n : ℕ) :=
{ P : NoncrossingPartition.SetPartition n // NoncrossingPartition.IsNoncrossing P }
MathlibExt/Combinatorics/NoncrossingPartition/Basic.lean:59
def discrete (n : ℕ) : NoncrossingPartition n :=
⟨⊥, isNoncrossing_bot n⟩
MathlibExt/Combinatorics/NoncrossingPartition/Operations.lean:91
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.