Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Lemma 2.3 — union of two independently sampled subsets

Proved
NonmonotoneSubmod.Nonadaptive.lemma_2_3_two_samples

by mikedeng1 · Sep 27, 2026 · Mathlib 0df444a (Lean v4.33.1)

p2o-batch-p100ap2o-gran-per-chapterp2o-plan-paperp2o-v1probabilitysubmodular-functions

Let f:2X→Rf : 2^X \to \mathbb{R}f:2X→R be submodular, let A,B⊆XA, B \subseteq XA,B⊆X be two (not necessarily disjoint) sets, and let A(p)A(p)A(p) and B(q)B(q)B(q) be independently sampled subsets, where each element of AAA appears in A(p)A(p)A(p) independently with probability ppp and each element of BBB appears in B(q)B(q)B(q) independently with probability qqq, with p,q∈[0,1]p, q \in [0,1]p,q∈[0,1]. Then

E[f(A(p)∪B(q))]≥(1−p)(1−q) f(∅)+p(1−q) f(A)+(1−p)q f(B)+pq f(A∪B).\mathbf{E}[f(A(p) \cup B(q))] \ge (1-p)(1-q)\, f(\emptyset) + p(1-q)\, f(A) + (1-p)q\, f(B) + pq\, f(A \cup B).E[f(A(p)∪B(q))]≥(1−p)(1−q)f(∅)+p(1−q)f(A)+(1−p)qf(B)+pqf(A∪B).

It is the two-set version of Lemma 2.2 and is the tool used to bound the expected value of fff on a uniformly random set from below by values of fff at a few deterministic sets.

Formalization Note The expectation over the pair of independent samples is the exact double sum ∑S⊆A∑T⊆Bp∣S∣(1−p)∣A∖S∣ q∣T∣(1−q)∣B∖T∣ f(S∪T)\sum_{S \subseteq A}\sum_{T \subseteq B} p^{|S|}(1-p)^{|A\setminus S|}\, q^{|T|}(1-q)^{|B\setminus T|}\, f(S \cup T)∑S⊆A​∑T⊆B​p∣S∣(1−p)∣A∖S∣q∣T∣(1−q)∣B∖T∣f(S∪T), which is correct also when AAA and BBB overlap. The ranges 0≤p,q≤10 \le p, q \le 10≤p,q≤1 are stated explicitly. No sign condition on fff is assumed.

Preamble
import Mathlib
import Definitions.Def_NonmonotoneSubmod_Shared_Submodular
Formal statement
namespace NonmonotoneSubmod.Nonadaptive

/-- Lemma 2.3 (Feige–Mirrokni–Vondrák 2011, p. 1137). Let `f : 2^X → ℝ` be submodular, let
`A, B ⊆ X` be two (not necessarily disjoint) sets, and let `A(p)`, `B(q)` be independently sampled
subsets (each element of `A` in `A(p)` with probability `p`, each element of `B` in `B(q)` with
probability `q`). Then
`E[f(A(p) ∪ B(q))] ≥ (1-p)(1-q) f(∅) + p(1-q) f(A) + (1-p)q f(B) + pq f(A ∪ B)`.
The expectation over the pair of independent samples is the exact double sum over `S ⊆ A`,
`T ⊆ B` with weights `p^|S| (1-p)^|A \ S|` and `q^|T| (1-q)^|B \ T|`. -/
theorem lemma_2_3_two_samples {X : Type} [Fintype X] [DecidableEq X]
    (f : Finset X → ℝ) (hf : NonmonotoneSubmod.Shared.Submodular f) (A B : Finset X) (p q : ℝ)
    (hp0 : 0 ≤ p) (hp1 : p ≤ 1) (hq0 : 0 ≤ q) (hq1 : q ≤ 1) :
    (1 - p) * (1 - q) * f ∅ + p * (1 - q) * f A + (1 - p) * q * f B + p * q * f (A ∪ B) ≤
      ∑ S ∈ A.powerset, ∑ T ∈ B.powerset,
        (p ^ S.card * (1 - p) ^ (A \ S).card) * (q ^ T.card * (1 - q) ^ (B \ T).card) *
          f (S ∪ T) := by sorry

end NonmonotoneSubmod.Nonadaptive
Source
Feige, Mirrokni, Vondrák, Maximizing Non-Monotone Submodular Functions, SIAM J. Comput. 40(4), 2011, p. 1137, Lemma 2.3
Read-back

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

This theorem uses:

  • a finite type XXX with decidable equality;
  • a set function f:2X→Rf : 2^X \to \mathbb{R}f:2X→R that satisfies the external predicate NonmonotoneSubmod.Shared.Submodular (body not shown; its name indicates submodularity);
  • two arbitrary subsets A,B⊆XA, B \subseteq XA,B⊆X, which may overlap or coincide;
  • two reals p,qp, qp,q with 0≤p≤10 \le p \le 10≤p≤1 and 0≤q≤10 \le q \le 10≤q≤1.

It asserts

(1−p)(1−q) f(∅)+p(1−q) f(A)+(1−p)q f(B)+pq f(A∪B)  ≤  ∑S⊆A ∑T⊆B(p∣S∣(1−p)∣A∖S∣)(q∣T∣(1−q)∣B∖T∣) f(S∪T).(1-p)(1-q)\,f(\emptyset) + p(1-q)\,f(A) + (1-p)q\,f(B) + pq\,f(A\cup B) \;\le\; \sum_{S \subseteq A}\ \sum_{T \subseteq B} \Big(p^{|S|}(1-p)^{|A\setminus S|}\Big)\Big(q^{|T|}(1-q)^{|B\setminus T|}\Big)\, f(S \cup T).(1−p)(1−q)f(∅)+p(1−q)f(A)+(1−p)qf(B)+pqf(A∪B)≤S⊆A∑​ T⊆B∑​(p∣S∣(1−p)∣A∖S∣)(q∣T∣(1−q)∣B∖T∣)f(S∪T).

The right side is an explicit double sum over all pairs (S,T)(S, T)(S,T) with S⊆AS \subseteq AS⊆A and T⊆BT \subseteq BT⊆B. No probability measure is used.

Degenerate cases, with the convention 00=10^0 = 100=1:

  • p,q∈{0,1}p, q \in \{0,1\}p,q∈{0,1}: each sum collapses to one term (S=∅S = \emptysetS=∅ or S=AS = AS=A, and T=∅T = \emptysetT=∅ or T=BT = BT=B). Both sides then equal the same single value of fff: f(∅)f(\emptyset)f(∅), f(A)f(A)f(A), f(B)f(B)f(B) or f(A∪B)f(A\cup B)f(A∪B).
  • A=B=∅A = B = \emptysetA=B=∅, including XXX empty: both sides equal f(∅)f(\emptyset)f(∅).
  • A=BA = BA=B: this is allowed. Then f(A∪B)=f(A)f(A \cup B) = f(A)f(A∪B)=f(A), and the pairs (S,T)(S, T)(S,T) range independently over subsets of the same set.
  • Hypotheses: they are always satisfiable.
Human review
  • Endorsed by Shuze Chen · Sep 27, 2026

    Confirmed by the moderator at approval.

  • Endorsed by mikedeng1 · Sep 27, 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