The uniform matroid with ground set E, whose independent sets are the finite sets of size
at most k.
Equations
- Matroid.unifOn E k = (Matroid.freeOn E).truncateTo ↑k
Instances For
The canonical finite uniform matroid on ground type Fin b,
whose independent sets are those of cardinality at most a.
Equations
- Matroid.unif a b = Matroid.unifOn Set.univ a
Instances For
Uniformity as a predicate ; a matroid is uniform if every subset of the ground set is independent or spanning. This is mainly useful for infinite matroids, where uniformity is structurally nontrivial.
Instances For
theorem Matroid.IsUniform.indep_of_nonspanning {α : Type u_1} {M : Matroid α} {X : Set α} (hM : M.IsUniform) (h : M.Nonspanning X) :
M.Indep X
theorem Matroid.IsUniform.not_isCircuitHyperplane {α : Type u_1} {M : Matroid α} (hM : M.IsUniform) (C : Set α) :
theorem Matroid.IsUniform.isFreeBase {α : Type u_1} {M : Matroid α} {B : Set α} (hM : M.IsUniform) (hB : M.IsBase B) :
M.IsFreeBase B
theorem Matroid.maximal_right_of_forall_ge {α : Type u_2} {P Q : α → Prop} {a : α} [PartialOrder α] (hP : ∀ ⦃x y : α⦄, P x → x ≤ y → P y) (h : Maximal (fun (x : α) => P x ∧ Q x) a) :
Maximal Q a
def Matroid.uniformMatroidOfBase {α : Type u_1} (E : Set α) (IsBase : Set α → Prop) (exists_isBase : ∃ (B : Set α), IsBase B) (antichain : IsAntichain (fun (x1 x2 : Set α) => x1 ⊆ x2) (Set.ofPred IsBase)) (exchange : ∀ ⦃B : Set α⦄ ⦃e f : α⦄, IsBase B → e ∈ B → f ∈ E \ B → IsBase (insert f (B \ {e}))) (contain :
∀ ⦃I X : Set α⦄, I ⊆ X → X ⊆ E → (X \ I).Infinite → ∃ (B : Set α), IsBase B ∧ (B ⊆ I ∨ I ⊆ B ∧ B ⊆ X ∨ X ⊆ B)) (subset_ground : ∀ ⦃B : Set α⦄, IsBase B → B ⊆ E) :
Matroid α
Equations
- Matroid.uniformMatroidOfBase E IsBase exists_isBase antichain exchange contain subset_ground = Matroid.ofBase E IsBase exists_isBase ⋯ ⋯ subset_ground
Instances For
@[simp]
theorem Matroid.uniformMatroidOfBase_Indep {α : Type u_1} (E : Set α) (IsBase : Set α → Prop) (exists_isBase : ∃ (B : Set α), IsBase B) (antichain : IsAntichain (fun (x1 x2 : Set α) => x1 ⊆ x2) (Set.ofPred IsBase)) (exchange : ∀ ⦃B : Set α⦄ ⦃e f : α⦄, IsBase B → e ∈ B → f ∈ E \ B → IsBase (insert f (B \ {e}))) (contain :
∀ ⦃I X : Set α⦄, I ⊆ X → X ⊆ E → (X \ I).Infinite → ∃ (B : Set α), IsBase B ∧ (B ⊆ I ∨ I ⊆ B ∧ B ⊆ X ∨ X ⊆ B)) (subset_ground : ∀ ⦃B : Set α⦄, IsBase B → B ⊆ E) (I : Set α) :
(uniformMatroidOfBase E IsBase exists_isBase antichain exchange contain subset_ground).Indep I = ∃ (B : Set α), IsBase B ∧ I ⊆ B
@[simp]
theorem Matroid.uniformMatroidOfBase_IsBase {α : Type u_1} (E : Set α) (IsBase : Set α → Prop) (exists_isBase : ∃ (B : Set α), IsBase B) (antichain : IsAntichain (fun (x1 x2 : Set α) => x1 ⊆ x2) (Set.ofPred IsBase)) (exchange : ∀ ⦃B : Set α⦄ ⦃e f : α⦄, IsBase B → e ∈ B → f ∈ E \ B → IsBase (insert f (B \ {e}))) (contain :
∀ ⦃I X : Set α⦄, I ⊆ X → X ⊆ E → (X \ I).Infinite → ∃ (B : Set α), IsBase B ∧ (B ⊆ I ∨ I ⊆ B ∧ B ⊆ X ∨ X ⊆ B)) (subset_ground : ∀ ⦃B : Set α⦄, IsBase B → B ⊆ E) (a✝ : Set α) :
(uniformMatroidOfBase E IsBase exists_isBase antichain exchange contain subset_ground).IsBase a✝ = IsBase a✝
@[simp]
theorem Matroid.uniformMatroidOfBase_E {α : Type u_1} (E : Set α) (IsBase : Set α → Prop) (exists_isBase : ∃ (B : Set α), IsBase B) (antichain : IsAntichain (fun (x1 x2 : Set α) => x1 ⊆ x2) (Set.ofPred IsBase)) (exchange : ∀ ⦃B : Set α⦄ ⦃e f : α⦄, IsBase B → e ∈ B → f ∈ E \ B → IsBase (insert f (B \ {e}))) (contain :
∀ ⦃I X : Set α⦄, I ⊆ X → X ⊆ E → (X \ I).Infinite → ∃ (B : Set α), IsBase B ∧ (B ⊆ I ∨ I ⊆ B ∧ B ⊆ X ∨ X ⊆ B)) (subset_ground : ∀ ⦃B : Set α⦄, IsBase B → B ⊆ E) :
theorem Matroid.uniformMatroidOfBase_uniform {α : Type u_1} (E : Set α) (IsBase : Set α → Prop) {exists_isBase : ∃ (B : Set α), IsBase B} {ac : IsAntichain (fun (x1 x2 : Set α) => x1 ⊆ x2) (Set.ofPred IsBase)} {exch : ∀ ⦃B : Set α⦄ ⦃e f : α⦄, IsBase B → e ∈ B → f ∈ E \ B → IsBase (insert f (B \ {e}))} {contain :
∀ ⦃I X : Set α⦄, I ⊆ X → X ⊆ E → (X \ I).Infinite → ∃ (B : Set α), IsBase B ∧ (B ⊆ I ∨ I ⊆ B ∧ B ⊆ X ∨ X ⊆ B)} {subset_ground : ∀ ⦃B : Set α⦄, IsBase B → B ⊆ E} :
(uniformMatroidOfBase E IsBase exists_isBase ac exch contain subset_ground).IsUniform