Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

The indicator of a cover is a fractional cover (assisting theorem)

Proved
PrimalDualOnline.SetCover.indicator_isFractionalCover

by moutei · Sep 17, 2026 · Mathlib 0df444a (Lean v4.33.1)

approximation-algorithmscombinatoricsprimal-dualset-cover

A generalized assisting theorem, not a source-facing statement. If C⊆SC \subseteq SC⊆S covers every element, then its indicator vector - weight 111 on the sets in CCC and 000 elsewhere - is a fractional cover: it is nonnegative, and for every element eee the total weight on the sets containing eee is the number of sets in CCC containing eee, which is at least 111 precisely because CCC covers eee.

It deliberately does not take a SetCoverInstance. There is no cost function in the statement, so there is nothing for cost-nonnegativity to constrain; and the hypothesis that the given CCC covers is strictly stronger than coverability of the family, so bundling the weaker fact alongside it would be redundant. This is the embedding of integral solutions into the LP relaxation.

Preamble
import Definitions.Def_PrimalDualOnline_SetCover
import Mathlib.Tactic
Formal statement
open PrimalDualOnline.SetCover

theorem PrimalDualOnline.SetCover.indicator_isFractionalCover
    {E S : Type*} [Fintype E] [Fintype S] [DecidableEq E] [DecidableEq S]
    (sets : S → Finset E) (C : Finset S) (hC : IsCover sets C) :
    IsFractionalCover sets (indicator C) := by sorry
Source
Niv Buchbinder, Designing Competitive Online Algorithms via a Primal-Dual Approach, PhD thesis, Tel Aviv University, 2008, https://www.tau.ac.il/~nivb/download/phd-thsis.pdf, Section 2.2, the LP relaxation of program (P), p. 10 (stated here in generalized, instance-free form)
Read-back

What the Lean code literally says, in plain math · claude-opus-5

Notation shared by all four statements

Throughout, EEE and SSS are arbitrary types carrying the instance assumptions that each is a finite type (EEE, SSS finite) and that equality is decidable on each of them (EEE and SSS both have decidable equality; the decidability on SSS is what permits the constructions cont\mathrm{cont}cont and 1C\mathbf{1}_C1C​ below to be written at all). Elements of EEE are thought of as points and elements of SSS as indices.

A family of sets is a function A:S→Pfin(E)A : S \to \mathcal{P}_{\mathrm{fin}}(E)A:S→Pfin​(E), written s↦Ass \mapsto A_ss↦As​, assigning to each index sss a finite subset As⊆EA_s \subseteq EAs​⊆E. A cost function is c:S→Rc : S \to \mathbb{R}c:S→R, written s↦css \mapsto c_ss↦cs​; its values are arbitrary real numbers unless a hypothesis restricts them.

The auxiliary notions used below are, spelled out:

  • cont(e):={ s∈S:e∈As }\mathrm{cont}(e) := \{\, s \in S : e \in A_s \,\}cont(e):={s∈S:e∈As​}, the (finite) set of indices whose set contains the point eee.
  • Coverable for AAA: for every point e∈Ee \in Ee∈E there exists an index s∈Ss \in Ss∈S with e∈Ase \in A_se∈As​. Equivalently, cont(e)≠∅\mathrm{cont}(e) \neq \varnothingcont(e)=∅ for every eee.
  • NonnegCost for ccc: cs≥0c_s \ge 0cs​≥0 for every s∈Ss \in Ss∈S.
  • CCC is a cover (for a finite C⊆SC \subseteq SC⊆S): for every e∈Ee \in Ee∈E there exists s∈Cs \in Cs∈C with e∈Ase \in A_se∈As​.
  • Cover cost: coverCost(c,C):=∑s∈Ccs\mathrm{coverCost}(c, C) := \sum_{s \in C} c_scoverCost(c,C):=∑s∈C​cs​, a finite sum over the members of CCC.
  • xxx is a fractional cover (for x:S→Rx : S \to \mathbb{R}x:S→R): both
xs≥0for every s∈S,and∑s∈cont(e)xs ≥ 1for every e∈E.x_s \ge 0 \quad \text{for every } s \in S, \qquad \text{and} \qquad \sum_{s \in \mathrm{cont}(e)} x_s \ \ge\ 1 \quad \text{for every } e \in E .xs​≥0for every s∈S,ands∈cont(e)∑​xs​ ≥ 1for every e∈E.
  • Fractional cost: fracCost(c,x):=∑s∈Scs xs\mathrm{fracCost}(c, x) := \sum_{s \in S} c_s \, x_sfracCost(c,x):=∑s∈S​cs​xs​, a finite sum over all of SSS.
  • Indicator: 1C:S→R\mathbf{1}_C : S \to \mathbb{R}1C​:S→R, 1C(s)=1\mathbf{1}_C(s) = 11C​(s)=1 if s∈Cs \in Cs∈C and 1C(s)=0\mathbf{1}_C(s) = 01C​(s)=0 otherwise.

3. indicator_isFractionalCover

Binders and hypotheses. Fix finite types E,SE, SE,S with decidable equality on each (decidability on SSS is needed both to form cont(e)\mathrm{cont}(e)cont(e) and to define the indicator). Explicit arguments: a family A:S→Pfin(E)A : S \to \mathcal{P}_{\mathrm{fin}}(E)A:S→Pfin​(E) and a finite subset C⊆SC \subseteq SC⊆S. The only hypothesis is:

  • CCC is a cover: for every e∈Ee \in Ee∈E there exists s∈Cs \in Cs∈C with e∈Ase \in A_se∈As​.

There is no cost function among the arguments, and consequently no nonnegativity-of-cost hypothesis. There is no coverability hypothesis on AAA either (coverability is not assumed; the cover hypothesis on CCC is a separate, stronger-looking condition on the given CCC).

Conclusion. The real-valued function 1C\mathbf{1}_C1C​ given by

1C(s)={1s∈C0s∉C\mathbf{1}_C(s) = \begin{cases} 1 & s \in C \\ 0 & s \notin C\end{cases}1C​(s)={10​s∈Cs∈/C​

is a fractional cover, i.e. both of the following hold:

  1. 1C(s)≥0\mathbf{1}_C(s) \ge 01C​(s)≥0 for every s∈Ss \in Ss∈S;
  2. for every e∈Ee \in Ee∈E,
∑s∈cont(e)1C(s) ≥ 1,\sum_{s \in \mathrm{cont}(e)} \mathbf{1}_C(s) \ \ge\ 1,s∈cont(e)∑​1C​(s) ≥ 1,

that is, the number of indices sss that simultaneously lie in CCC and satisfy e∈Ase \in A_se∈As​ — the cardinality ∣C∩cont(e)∣|C \cap \mathrm{cont}(e)|∣C∩cont(e)∣, viewed as a real number — is at least 111.

Degenerate cases silently included.

  • If EEE is empty, the cover hypothesis is vacuously true for every finite C⊆SC \subseteq SC⊆S, including C=∅C = \varnothingC=∅; the second conclusion clause is then also vacuous, and only the nonnegativity clause carries content. In particular the statement is asserted for C=∅C = \varnothingC=∅ in that case.
  • If EEE is nonempty, the cover hypothesis forces CCC to be nonempty and forces cont(e)∩C≠∅\mathrm{cont}(e) \cap C \neq \varnothingcont(e)∩C=∅ for each eee.
  • If SSS is empty, then C=∅C = \varnothingC=∅, and the hypothesis is satisfiable only when EEE is empty as well.
  • CCC may contain redundant indices, indices with As=∅A_s = \varnothingAs​=∅, or all of SSS; the conclusion is asserted for every such CCC satisfying the hypothesis.

What is NOT asserted. The inequality in clause 2 is only ≥1\ge 1≥1: it is not claimed that the sum equals 111, nor that a point is covered by exactly one member of CCC, nor any upper bound on ∣C∩cont(e)∣|C \cap \mathrm{cont}(e)|∣C∩cont(e)∣. Nothing is said about cost: no comparison of fracCost(c,1C)\mathrm{fracCost}(c,\mathbf{1}_C)fracCost(c,1C​) with anything, no optimality or near-optimality of 1C\mathbf{1}_C1C​ among fractional covers, no relation to the optimal values of statements 1 and 2. No converse is asserted — it is not claimed that a {0,1}\{0,1\}{0,1}-valued fractional cover arises from a cover, nor that 1C\mathbf{1}_C1C​ being a fractional cover implies CCC is a cover. No minimality of CCC and no existence of any cover is asserted; the given CCC is supplied by the caller.


Human review
  • Endorsed by Shuze Chen · Sep 17, 2026

  • Endorsed by moutei · Sep 17, 2026

    Confirmed by the mission captain (proposal self-audit).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me