Documentation

LeanModulus.Common.FamilyOfObjects

@[reducible, inline]
abbrev FamilyOfObjects (E : Type u_1) :
Type u_1

A family of objects on an edge type E: a set of usage vectors γ : E → ℝ≥0, one for each object (spanning tree, path, cut, etc.) in the family.

Equations
Instances For

    Every object in Γ has positive usage on at least one edge. This rules out the trivial all-zero object, against which no density could ever be admissible.

    Equations
    Instances For
      @[reducible, inline]
      abbrev Density (E : Type u_1) :
      Type u_1

      A density on the edge type E assigns a nonnegative cost to each edge.

      Equations
      Instances For
        noncomputable def Density.length {E : Type u_1} (ρ : Density E) (γ : ENNReal) :

        The length of an object γ with respect to a density ρ is the total cost it incurs: ∑ e, γ e * ρ e. We use finsum (rather than Finset.sum over Finset.univ) so that this doesn't need a Fintype E instance, only Finite E.

        Equations
        Instances For
          def Density.IsAdmissible {E : Type u_1} (ρ : Density E) (Γ : FamilyOfObjects E) :

          A density ρ is admissible for a family Γ if every object in Γ has length at least 1 with respect to ρ.

          Equations
          Instances For
            def FamilyOfObjects.Adm {E : Type u_1} (Γ : FamilyOfObjects E) :

            The admissible set of a family Γ: all densities admissible for it.

            Equations
            Instances For