def Matroid.Rep.comp {ฮฑ : Type u_1} {W : Type u_3} {W' : Type u_4} {๐ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] [AddCommGroup W'] [Module ๐ฝ W'] (v : M.Rep ๐ฝ W) (ฯ : W โโ[๐ฝ] W') (h_inj : Disjoint (Submodule.span ๐ฝ (Set.range โv)) ฯ.ker) :
M.Rep ๐ฝ W'
Compose a representation v with a linear map that is injective on the range of v
Instances For
Maps between representations #
def Matroid.Rep.comp' {ฮฑ : Type u_1} {W : Type u_3} {W' : Type u_4} {๐ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] [AddCommGroup W'] [Module ๐ฝ W'] (v : M.Rep ๐ฝ W) (ฯ : W โโ[๐ฝ] W') (hฯ : ฯ.ker = โฅ) :
M.Rep ๐ฝ W'
Compose a representation with a linear injection.
Instances For
def Matroid.Rep.compEquiv {ฮฑ : Type u_1} {W : Type u_3} {W' : Type u_4} {๐ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] [AddCommGroup W'] [Module ๐ฝ W'] (v : M.Rep ๐ฝ W) (ฯ : W โโ[๐ฝ] W') :
M.Rep ๐ฝ W'
Compose a representation with a linear equivalence.
Instances For
@[simp]
theorem Matroid.Rep.comp_apply {ฮฑ : Type u_1} {W : Type u_3} {W' : Type u_4} {๐ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] [AddCommGroup W'] [Module ๐ฝ W'] (v : M.Rep ๐ฝ W) (ฯ : W โโ[๐ฝ] W') (h_inj : Disjoint (Submodule.span ๐ฝ (Set.range โv)) ฯ.ker) (e : ฮฑ) :
@[simp]
theorem Matroid.Rep.comp_coeFun {ฮฑ : Type u_1} {W : Type u_3} {W' : Type u_4} {๐ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] [AddCommGroup W'] [Module ๐ฝ W'] (v : M.Rep ๐ฝ W) (ฯ : W โโ[๐ฝ] W') (h_inj : Disjoint (Submodule.span ๐ฝ (Set.range โv)) ฯ.ker) :
@[simp]
theorem Matroid.Rep.comp'_apply {ฮฑ : Type u_1} {W : Type u_3} {W' : Type u_4} {๐ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] [AddCommGroup W'] [Module ๐ฝ W'] (v : M.Rep ๐ฝ W) (ฯ : W โโ[๐ฝ] W') (hฯ : ฯ.ker = โฅ) (e : ฮฑ) :
@[simp]
theorem Matroid.Rep.comp'_coeFun {ฮฑ : Type u_1} {W : Type u_3} {W' : Type u_4} {๐ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] [AddCommGroup W'] [Module ๐ฝ W'] (v : M.Rep ๐ฝ W) (ฯ : W โโ[๐ฝ] W') (h_inj : ฯ.ker = โฅ) :
@[simp]
theorem Matroid.Rep.compEquiv_apply {ฮฑ : Type u_1} {W : Type u_3} {W' : Type u_4} {๐ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] [AddCommGroup W'] [Module ๐ฝ W'] (v : M.Rep ๐ฝ W) (ฯ : W โโ[๐ฝ] W') (e : ฮฑ) :
@[simp]
theorem Matroid.Rep.compEquiv_coeFun {ฮฑ : Type u_1} {W : Type u_3} {W' : Type u_4} {๐ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] [AddCommGroup W'] [Module ๐ฝ W'] (v : M.Rep ๐ฝ W) (ฯ : W โโ[๐ฝ] W') :
@[simp]
theorem Matroid.Rep.compEquiv_compEquiv_symm {ฮฑ : Type u_1} {W : Type u_3} {W' : Type u_4} {๐ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] [AddCommGroup W'] [Module ๐ฝ W'] (v : M.Rep ๐ฝ W) (ฯ : W โโ[๐ฝ] W') :
@[simp]
theorem Matroid.Rep.compEquiv_symm_compEquiv {ฮฑ : Type u_1} {W : Type u_3} {W' : Type u_4} {๐ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] [AddCommGroup W'] [Module ๐ฝ W'] (v : M.Rep ๐ฝ W') (ฯ : W โโ[๐ฝ] W') :
def Matroid.Rep.subtype_ofEq {ฮฑ : Type u_1} {W : Type u_3} {๐ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] {Wโ Wโ : Submodule ๐ฝ W} (v : M.Rep ๐ฝ โฅWโ) (h : Wโ = Wโ) :
M.Rep ๐ฝ โฅWโ
Compose a representation with a module equality
Equations
- v.subtype_ofEq h = v.compEquiv (LinearEquiv.ofEq Wโ Wโ h)
Instances For
@[simp]
theorem Matroid.Rep.subtype_ofEq_apply {ฮฑ : Type u_1} {W : Type u_3} {๐ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] {Wโ Wโ : Submodule ๐ฝ W} (v : M.Rep ๐ฝ โฅWโ) (h : Wโ = Wโ) (e : ฮฑ) :
noncomputable def Matroid.Rep.finsuppToFun {ฮฑ : Type u_1} {ฮฒ : Type u_2} {๐ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] (v : M.Rep ๐ฝ (ฮฒ โโ ๐ฝ)) :
M.Rep ๐ฝ (ฮฒ โ ๐ฝ)
Equations
- v.finsuppToFun = v.comp' Finsupp.lcoeFun โฏ
Instances For
@[simp]
theorem Matroid.Rep.finsuppToFun_to_fun {ฮฑ : Type u_1} {ฮฒ : Type u_2} {๐ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] (v : M.Rep ๐ฝ (ฮฒ โโ ๐ฝ)) (aโ : ฮฑ) (aโยน : ฮฒ) :
def Matroid.Rep.comap {ฮฑ : Type u_1} {ฮฒ : Type u_2} {W : Type u_3} {๐ฝ : Type u_5} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] {M : Matroid ฮฒ} (v : M.Rep ๐ฝ W) (f : ฮฑ โ ฮฒ) :
A representation gives a representation of a comap
Instances For
@[simp]
theorem Matroid.Rep.comap_to_fun {ฮฑ : Type u_1} {ฮฒ : Type u_2} {W : Type u_3} {๐ฝ : Type u_5} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] {M : Matroid ฮฒ} (v : M.Rep ๐ฝ W) (f : ฮฑ โ ฮฒ) (aโ : ฮฑ) :
theorem Matroid.Rep.comap_coeFun_eq {ฮฑ : Type u_1} {ฮฒ : Type u_2} {W : Type u_3} {๐ฝ : Type u_5} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] {M : Matroid ฮฒ} (f : ฮฑ โ ฮฒ) (v : M.Rep ๐ฝ W) :
@[simp]
theorem Matroid.Rep.comap_apply {ฮฑ : Type u_1} {ฮฒ : Type u_2} {W : Type u_3} {๐ฝ : Type u_5} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] {M : Matroid ฮฒ} (f : ฮฑ โ ฮฒ) (v : M.Rep ๐ฝ W) (a : ฮฑ) :
@[simp]
theorem Matroid.Rep.ofEq_to_fun {ฮฑ : Type u_1} {W : Type u_3} {๐ฝ : Type u_5} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] {M N : Matroid ฮฑ} (v : M.Rep ๐ฝ W) (h : M = N) (a : ฮฑ) :
@[simp]
theorem Matroid.Rep.ofEq_apply {ฮฑ : Type u_1} {W : Type u_3} {๐ฝ : Type u_5} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] {M N : Matroid ฮฑ} (v : M.Rep ๐ฝ W) (h : M = N) :
noncomputable def Matroid.Rep.restrictSubtype {ฮฑ : Type u_1} {W : Type u_3} {๐ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] (v : M.Rep ๐ฝ W) (X : Set ฮฑ) :
(M.restrictSubtype X).Rep ๐ฝ W
Equations
- v.restrictSubtype X = (v.restrict X).comap Subtype.val
Instances For
noncomputable def Matroid.Rep.map {ฮฑ : Type u_1} {ฮฒ : Type u_2} {W : Type u_3} {๐ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] (v : M.Rep ๐ฝ W) (f : ฮฑ โ ฮฒ) (hf : Set.InjOn f M.E) [DecidablePred fun (x : ฮฒ) => โ y โ M.E, f y = x] :
Transfer a Rep along a matroid map. The definition involves extending a function with zero,
so requires a DecidablePred assumption.
Equations
Instances For
theorem Matroid.Rep.matroidMap_apply {ฮฑ : Type u_1} {ฮฒ : Type u_2} {W : Type u_3} {๐ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] (v : M.Rep ๐ฝ W) {f : ฮฑ โ ฮฒ} {hf : Set.InjOn f M.E} [DecidablePred fun (x : ฮฒ) => โ y โ M.E, f y = x] {x : ฮฑ} (hx : x โ M.E) :
theorem Matroid.Rep.matroidMap_image {ฮฑ : Type u_1} {ฮฒ : Type u_2} {W : Type u_3} {๐ฝ : Type u_5} {X : Set ฮฑ} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] (v : M.Rep ๐ฝ W) (f : ฮฑ โ ฮฒ) (hf : Set.InjOn f M.E) [DecidablePred fun (x : ฮฒ) => โ y โ M.E, f y = x] (hX : X โ M.E) :
def Matroid.Rep.scale {ฮฑ : Type u_1} {W : Type u_3} {๐ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] (v : M.Rep ๐ฝ W) (c : ฮฑ โ ๐ฝหฃ) :
M.Rep ๐ฝ W
Scale a representation by an invertible scalar for each element of ฮฑ.
Instances For
@[simp]
theorem Matroid.Rep.scale_to_fun {ฮฑ : Type u_1} {W : Type u_3} {๐ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] (v : M.Rep ๐ฝ W) (c : ฮฑ โ ๐ฝหฃ) (a : ฮฑ) :
def Module.matroid (๐ฝ : Type u_7) (W : Type u_8) [AddCommGroup W] [DivisionRing ๐ฝ] [Module ๐ฝ W] :
Matroid W
The ๐ฝ-representable matroid whose ground set is a vector space W over ๐ฝ,
and independence is linear independence.
Equations
- Module.matroid ๐ฝ W = (IndepMatroid.ofFinitaryCardAugment Set.univ (fun (I : Set W) => LinearIndepOn ๐ฝ id I) โฏ โฏ โฏ โฏ โฏ).matroid
Instances For
def Module.matroidRep (๐ฝ : Type u_7) (W : Type u_8) [AddCommGroup W] [DivisionRing ๐ฝ] [Module ๐ฝ W] :
(Module.matroid ๐ฝ W).Rep ๐ฝ W
Equations
- Module.matroidRep ๐ฝ W = { to_fun := id, indep_iff' := โฏ }
Instances For
@[simp]
theorem Module.matroidRep_to_fun (๐ฝ : Type u_7) (W : Type u_8) [AddCommGroup W] [DivisionRing ๐ฝ] [Module ๐ฝ W] (a : W) :
@[simp]
theorem Module.matroid_subsingleton (๐ฝ : Type u_7) (W : Type u_8) [AddCommGroup W] [DivisionRing ๐ฝ] [Module ๐ฝ W] [Subsingleton W] :
instance Module.matroid_finitary {W : Type u_3} {๐ฝ : Type u_5} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] :
(Module.matroid ๐ฝ W).Finitary
theorem Matroid.Rep.eq_comap {ฮฑ : Type u_1} {W : Type u_3} {๐ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] (v : M.Rep ๐ฝ W) :
theorem Matroid.Rep.finitary {ฮฑ : Type u_1} {W : Type u_3} {๐ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] (v : M.Rep ๐ฝ W) :
M.Finitary
Representations from functions #
def Matroid.ofFun {ฮฑ : Type u_1} {W : Type u_3} [AddCommGroup W] (๐ฝ : Type u_7) [DivisionRing ๐ฝ] [Module ๐ฝ W] (E : Set ฮฑ) (f : ฮฑ โ W) :
Matroid ฮฑ
The ๐ฝ-representable matroid given by a function f : ฮฑ โ W for a vector space W over ๐ฝ,
and a ground set E : Set ฮฑ.
Equations
- Matroid.ofFun ๐ฝ E f = (Module.matroid ๐ฝ W).comapOn E f
Instances For
theorem Matroid.ofFun_congr {ฮฑ : Type u_1} {W : Type u_3} {๐ฝ : Type u_5} {E : Set ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] {v v' : ฮฑ โ W} (hvv' : Set.EqOn v v' E) :
@[simp]
theorem Matroid.ofFun_indicator {ฮฑ : Type u_1} {W : Type u_3} {๐ฝ : Type u_5} {E : Set ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] {v : ฮฑ โ W} :
noncomputable def Matroid.repOfFun {ฮฑ : Type u_1} {W : Type u_3} [AddCommGroup W] (๐ฝ : Type u_7) [DivisionRing ๐ฝ] [Module ๐ฝ W] (E : Set ฮฑ) (f : ฮฑ โ W) :
(Matroid.ofFun ๐ฝ E f).Rep ๐ฝ W
Equations
- Matroid.repOfFun ๐ฝ E f = ((Module.matroidRep ๐ฝ W).comap f).restrict E
Instances For
theorem Matroid.repOfFun_coeFun_eq {ฮฑ : Type u_1} {W : Type u_3} [AddCommGroup W] (๐ฝ : Type u_7) [DivisionRing ๐ฝ] [Module ๐ฝ W] (E : Set ฮฑ) (f : ฮฑ โ W) :
theorem Matroid.repOfFun_coeFun_eq' {ฮฑ : Type u_1} {W : Type u_3} [AddCommGroup W] (๐ฝ : Type u_7) [DivisionRing ๐ฝ] [Module ๐ฝ W] (E : Set ฮฑ) (f : ฮฑ โ W) (hf : Function.support f โ E) :
@[simp]
theorem Matroid.repOfFun_image_eq {ฮฑ : Type u_1} {W : Type u_3} [AddCommGroup W] (๐ฝ : Type u_7) [DivisionRing ๐ฝ] [Module ๐ฝ W] (E : Set ฮฑ) (f : ฮฑ โ W) :
theorem Matroid.repOfFun_apply {ฮฑ : Type u_1} {W : Type u_3} {e : ฮฑ} {E : Set ฮฑ} [AddCommGroup W] (๐ฝ : Type u_7) [DivisionRing ๐ฝ] [Module ๐ฝ W] {v : ฮฑ โ W} (he : e โ E) :
instance Matroid.matroidOfFun_finitary {ฮฑ : Type u_1} {W : Type u_3} [AddCommGroup W] (๐ฝ : Type u_7) [DivisionRing ๐ฝ] [Module ๐ฝ W] (f : ฮฑ โ W) (E : Set ฮฑ) :
(Matroid.ofFun ๐ฝ E f).Finitary
theorem Matroid.ofFun_finite {ฮฑ : Type u_1} {W : Type u_3} {๐ฝ : Type u_5} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] (f : ฮฑ โ W) (E : Set ฮฑ) (hfin : E.Finite) :
(Matroid.ofFun ๐ฝ E f).Finite
@[simp]
theorem Matroid.ofFun_ground_eq {ฮฑ : Type u_1} {W : Type u_3} {๐ฝ : Type u_5} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] {v : ฮฑ โ W} {E : Set ฮฑ} :
@[simp]
theorem Matroid.ofFun_indep_iff {ฮฑ : Type u_1} {W : Type u_3} {๐ฝ : Type u_5} {I : Set ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] {v : ฮฑ โ W} {E : Set ฮฑ} :
@[simp]
theorem Matroid.Rep.ofFun_self {ฮฑ : Type u_1} {W : Type u_3} {๐ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] (v : M.Rep ๐ฝ W) :
theorem Matroid.ofFun_closure_eq {ฮฑ : Type u_1} {W : Type u_3} {๐ฝ : Type u_5} {X : Set ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] {v : ฮฑ โ W} {E : Set ฮฑ} (hvE : Function.support v โ E) :
theorem Matroid.ofFun_closure_eq_of_subset_ground {ฮฑ : Type u_1} {W : Type u_3} {๐ฝ : Type u_5} {X : Set ฮฑ} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] {v : ฮฑ โ W} {E : Set ฮฑ} (hXE : X โ E) :
theorem Module.Basis.ofFun_isBase {ฮฑ : Type u_1} {W : Type u_3} {๐ฝ : Type u_5} [DivisionRing ๐ฝ] [AddCommGroup W] [Module ๐ฝ W] {v : ฮฑ โ W} {E B : Set ฮฑ} (b : Basis (โB) ๐ฝ W) (hfb : โ (x : โB), v โx = b x) (hBE : B โ E) :
(Matroid.ofFun ๐ฝ E v).IsBase B
@[simp]
theorem Matroid.ofFun_zero {ฮฑ : Type u_1} {W : Type u_3} [AddCommGroup W] (๐ฝ : Type u_7) [Field ๐ฝ] [Module ๐ฝ W] (E : Set ฮฑ) :