Documentation

LeanPool.DrossFractionalTriangleDecomposition.Internal.DrossNetwork

Dross's auxiliary network #

The nodes are graph edges, a source, and a sink. We use Lean Pool's existing finite max-flow/min-cut structures rather than porting a second copy of that development.

An edge node, source, or sink in Dross's auxiliary network.

Instances For
    @[instance_reducible]
    Equations
    • One or more equations did not get rendered due to their size.

    Two disjoint graph edges whose four endpoints form a clique.

    Equations
    Instances For

      Per-arc capacity on the edge-to-edge arcs.

      Equations
      Instances For
        noncomputable def LeanPool.DrossFractionalTriangleDecomposition.dcap {V : Type u_1} [DecidableEq V] [Fintype V] (G : SimpleGraph V) [DecidableRel G.Adj] (wΔ : ℝ) :
        Ghat V → Ghat V → ℝ

        Capacities of the auxiliary network.

        Equations
        Instances For

          Dross's network in the already pooled finite-network API.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For

            Total source-arc capacity, the demand that a maximum flow must meet.

            Equations
            Instances For

              Summing the number of triangles through each edge counts each triangle three times.

              theorem LeanPool.DrossFractionalTriangleDecomposition.balance {V : Type u_1} [DecidableEq V] [Fintype V] (G : SimpleGraph V) [DecidableRel G.Adj] {wΔ : ℝ} (hT : 0 < (G.cliqueFinset 3).card) (hwΔ : wΔ = ↑G.edgeFinset.card / (3 * ↑(G.cliqueFinset 3).card)) :
              ∑ e ∈ G.edgeFinset, (↑(triThrough G e) * wΔ - 1) = 0

              The balanced initial weight makes the signed source excess sum to zero.

              theorem LeanPool.DrossFractionalTriangleDecomposition.sum_Ghat {V : Type u_1} [DecidableEq V] [Fintype V] (f : Ghat V → ℝ) :
              ∑ v : Ghat V, f v = f Ghat.src + f Ghat.snk + ∑ e : Sym2 V, f (Ghat.edge e)

              A sum over network nodes splits into source, sink, and edge nodes.

              A nonedge lies in no graph triangle.

              The flow value is the sum of the source-to-edge flows.

              If total source flow meets demand, every source arc is saturated.

              The flow value also equals the total flow into the sink from edge nodes.