Families of objects #
Families of objects (Section 1.5 of the FEU paper): a common framework for spanning trees, paths, cuts, etc., each identified with its usage vector.
Everything here is stated over ℝ≥0: Density E := E → ℝ≥0 has no subtraction, only the
semiring/convexity/(intrinsic ℝ≥0-Pi) topological structure needed for Adm, Equivalent,
and FulkersonDual. The companion coercion into E → ℝ (needed to bring in real-analysis
machinery like Krein-Milman) lives in LeanModulus.Common.ToReal; anything that actually needs
that coercion belongs there instead of here.
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
- FamilyOfObjects E = Set (E → NNReal)
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
- Γ.NoZeroObject = ∀ γ ∈ Γ, γ ≠ 0
Instances For
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.
Instances For
A density ρ is admissible for a family Γ if every object in Γ has
length at least 1 with respect to ρ.
Equations
- ρ.IsAdmissible Γ = ∀ γ ∈ Γ, 1 ≤ ρ.length γ
Instances For
The length function is continuous (in the topology of densities).
The admissible set of a family Γ: all densities admissible for it.
Instances For
The admissible set Adm(Γ)of a family Γ is convex.
The admissible set Adm(Γ)of a family Γ is closed.
Two families of objects are equivalent if they have the same admissible set, i.e. they impose exactly the same constraints on densities. This avoids over-distinguishing one family from another obtained by adding or removing redundant objects (objects whose admissibility constraint is implied by the others).
Equations
- Γ.Equivalent Γ' = (Γ.Adm = Γ'.Adm)
Instances For
Equations
- FamilyOfObjects.instSetoid = { r := FamilyOfObjects.Equivalent, iseqv := ⋯ }
The Fulkerson dual family of Γ: the extreme points of its admissible
set. Set.extremePoints only needs a Semiring/SMul structure (not a full
vector space with subtraction), so this is stated directly over ℝ≥0.