Documentation

Matroid.Representation.Projective

@[reducible, inline]
abbrev Matroid.Rep.projFun {ฮฑ : Type u_1} {W : Type u_3} {๐”ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐”ฝ] [AddCommGroup W] [Module ๐”ฝ W] [M.OnUniv] [M.Loopless] (v : M.Rep ๐”ฝ W) (e : ฮฑ) :
Projectivization ๐”ฝ W
Equations
Instances For
    theorem Matroid.Rep.projFun_apply {ฮฑ : Type u_1} {W : Type u_3} {๐”ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐”ฝ] [AddCommGroup W] [Module ๐”ฝ W] [M.OnUniv] [M.Loopless] (v : M.Rep ๐”ฝ W) (e : ฮฑ) :
    v.projFun e = Projectivization.mk ๐”ฝ (v e) โ‹ฏ
    theorem Matroid.Rep.projFun_eq {ฮฑ : Type u_1} {W : Type u_3} {๐”ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐”ฝ] [AddCommGroup W] [Module ๐”ฝ W] [M.OnUniv] [M.Loopless] (v : M.Rep ๐”ฝ W) :
    v.projFun = fun (e : ฮฑ) => Projectivization.mk ๐”ฝ (v e) โ‹ฏ
    theorem Matroid.Rep.projFun_injective {ฮฑ : Type u_1} {W : Type u_3} {๐”ฝ : Type u_5} {M : Matroid ฮฑ} [DivisionRing ๐”ฝ] [AddCommGroup W] [Module ๐”ฝ W] [M.OnUniv] [M.Loopless] [M.Simple] (v : M.Rep ๐”ฝ W) :
    theorem Matroid.Rep.indep_iff_projFun {ฮฑ : Type u_1} {W : Type u_3} {๐”ฝ : Type u_5} {I : Set ฮฑ} {M : Matroid ฮฑ} [DivisionRing ๐”ฝ] [AddCommGroup W] [Module ๐”ฝ W] [M.OnUniv] [M.Loopless] (v : M.Rep ๐”ฝ W) :
    M.Indep I โ†” Projectivization.Independent fun (x : โ†‘I) => v.projFun โ†‘x
    @[simp]
    theorem Matroid.Rep.independent_image_projFun_iff {ฮฑ : Type u_1} {W : Type u_3} {๐”ฝ : Type u_5} {I : Set ฮฑ} {M : Matroid ฮฑ} [DivisionRing ๐”ฝ] [AddCommGroup W] [Module ๐”ฝ W] [M.OnUniv] [M.Loopless] [M.Simple] (v : M.Rep ๐”ฝ W) :
    (Projectivization.Independent fun (x : โ†‘(v.projFun '' I)) => โ†‘x) โ†” M.Indep I
    theorem Matroid.span_image_projFun_eq {ฮฑ : Type u_1} {M : Matroid ฮฑ} [M.OnUniv] [M.Loopless] {๐”ฝ : Type u_7} {W : Type u_8} [Field ๐”ฝ] [AddCommGroup W] [Module ๐”ฝ W] (v : M.Rep ๐”ฝ W) (X : Set ฮฑ) :
    theorem Matroid.Rep.closure_eq_span_image_projFun {ฮฑ : Type u_1} {M : Matroid ฮฑ} [M.OnUniv] [M.Loopless] {๐”ฝ : Type u_7} {W : Type u_8} [Field ๐”ฝ] [AddCommGroup W] [Module ๐”ฝ W] (v : M.Rep ๐”ฝ W) (X : Set ฮฑ) :
    theorem Matroid.Rep.FullRank.spanning_iff_projFun {ฮฑ : Type u_1} {M : Matroid ฮฑ} [M.OnUniv] [M.Loopless] {๐”ฝ : Type u_7} {W : Type u_8} [Field ๐”ฝ] [AddCommGroup W] [Module ๐”ฝ W] (v : M.Rep ๐”ฝ W) (hv : v.FullRank) (S : Set ฮฑ) :
    theorem Matroid.Rep.isBase_iff_proj {ฮฑ : Type u_1} {M : Matroid ฮฑ} [M.OnUniv] [M.Loopless] {๐”ฝ : Type u_7} {W : Type u_8} [Field ๐”ฝ] [AddCommGroup W] [Module ๐”ฝ W] {v : M.Rep ๐”ฝ W} (hv : v.FullRank) (B : Set ฮฑ) :
    noncomputable def Projectivization.matroid (๐”ฝ : Type u_7) (W : Type u_8) [DivisionRing ๐”ฝ] [AddCommGroup W] [Module ๐”ฝ W] :
    Matroid (Projectivization ๐”ฝ W)

    The natural ๐”ฝ-representable matroid whose ground set is a projective geometry over ๐”ฝ.

    Equations
    Instances For
      @[simp]
      theorem Projectivization.matroid_E (๐”ฝ : Type u_7) (W : Type u_8) [DivisionRing ๐”ฝ] [AddCommGroup W] [Module ๐”ฝ W] :
      noncomputable def Projectivization.matroidRep {W : Type u_3} {๐”ฝ : Type u_5} [DivisionRing ๐”ฝ] [AddCommGroup W] [Module ๐”ฝ W] :
      (Projectivization.matroid ๐”ฝ W).Rep ๐”ฝ W
      Equations
      Instances For
        instance Projectivization.matroid_onUniv {W : Type u_3} {๐”ฝ : Type u_5} [DivisionRing ๐”ฝ] [AddCommGroup W] [Module ๐”ฝ W] :
        @[simp]
        theorem Projectivization.projectiveGeometry_eq_empty {W : Type u_3} {๐”ฝ : Type u_5} [DivisionRing ๐”ฝ] [AddCommGroup W] [Module ๐”ฝ W] [Subsingleton W] :
        @[simp]
        theorem Projectivization.matroidRep_apply_eq {W : Type u_3} {๐”ฝ : Type u_5} [DivisionRing ๐”ฝ] [AddCommGroup W] [Module ๐”ฝ W] (e : Projectivization ๐”ฝ W) :
        theorem Projectivization.matroidRep_fullRank {W : Type u_3} {๐”ฝ : Type u_5} [DivisionRing ๐”ฝ] [AddCommGroup W] [Module ๐”ฝ W] :
        instance Projectivization.instLooplessMatroid {W : Type u_3} {๐”ฝ : Type u_5} [DivisionRing ๐”ฝ] [AddCommGroup W] [Module ๐”ฝ W] :
        @[simp]
        theorem Projectivization.matroidRep_indep_iff {W : Type u_3} {๐”ฝ : Type u_5} [DivisionRing ๐”ฝ] [AddCommGroup W] [Module ๐”ฝ W] {I : Set (Projectivization ๐”ฝ W)} :
        (Projectivization.matroid ๐”ฝ W).Indep I โ†” Independent fun (x : โ†‘I) => โ†‘x
        instance Projectivization.matroid_simple {W : Type u_3} {๐”ฝ : Type u_5} [DivisionRing ๐”ฝ] [AddCommGroup W] [Module ๐”ฝ W] :
        instance Projectivization.matroid_finitary {W : Type u_3} {๐”ฝ : Type u_5} [DivisionRing ๐”ฝ] [AddCommGroup W] [Module ๐”ฝ W] :
        noncomputable def Projectivization.PG (n p t : โ„•) [Fact (Nat.Prime p)] :
        Matroid (Projectivization (GaloisField p t) (Fin (n + 1) โ†’ GaloisField p t))

        The projective geometry of rank n+1 over GF(p^t).

        Equations
        Instances For
          @[simp]
          theorem Projectivization.matroid_cRank {W : Type u_3} {๐”ฝ : Type u_5} [DivisionRing ๐”ฝ] [AddCommGroup W] [Module ๐”ฝ W] :
          (Projectivization.matroid ๐”ฝ W).cRank = Module.rank ๐”ฝ W

          TODO: Generalize this to arbitrary fullrank representations

          @[simp]
          theorem Projectivization.projectiveGeometry_rank {W : Type u_3} {๐”ฝ : Type u_5} [DivisionRing ๐”ฝ] [AddCommGroup W] [Module ๐”ฝ W] :
          (Projectivization.matroid ๐”ฝ W).rank = Module.finrank ๐”ฝ W
          noncomputable def Projectivization.matroid_congr {๐”ฝ : Type u_7} {W : Type u_8} {W' : Type u_9} [Field ๐”ฝ] [AddCommGroup W] [AddCommGroup W'] [Module ๐”ฝ W] [Module ๐”ฝ W'] (i : W โ‰ƒโ‚—[๐”ฝ] W') :

          Isomorphic vector spaces give isomorphic projective geometries.

          Equations
          Instances For
            @[simp]
            theorem Projectivization.PG_rank (n p t : โ„•) [Fact (Nat.Prime p)] :
            (PG n p t).rank = n + 1
            theorem Matroid.Representable.exists_isoRestr_projectiveGeometry {ฮฑ : Type u_1} {B : Set ฮฑ} {M : Matroid ฮฑ} {๐”ฝ : Type u_7} [Field ๐”ฝ] [M.Simple] (h : M.Representable ๐”ฝ) (hB : M.IsBase B) :
            โˆƒ (i : IsoRestr M (Projectivization.matroid ๐”ฝ (โ†‘B โ†’โ‚€ ๐”ฝ))), i.Spanning

            Every simple ๐”ฝ-representable matroid is isomorphic to a spanning restriction of a projective geometry over ๐”ฝ.

            theorem Matroid.Representable.encard_le_of_simple {ฮฑ : Type u_1} {M : Matroid ฮฑ} {๐”ฝ : Type u_7} [Field ๐”ฝ] [M.RankFinite] [M.Simple] (h : M.Representable ๐”ฝ) :
            M.E.encard โ‰ค โˆ‘ i โˆˆ Finset.range M.rank, ENat.card ๐”ฝ ^ i

            A simple rank-r F-representable matroid has at most 1 + |๐”ฝ| + |๐”ฝ|^2 + ... + |๐”ฝ|^(r-1) elements. Also true for infinite ๐”ฝ.