Property 3.4 — the Net mechanism is (2α, δ)-useful once α ≥ (2Δ/ε) log(|N_α(C)|/δ)
ProvedPrivateRelease.NetMechanism.property_3_4Let be a finite data universe, the input size, and any class of real-valued queries on databases (not necessarily counting queries). Let be an upper bound on the global sensitivities, for every ; the paper takes . Let be a minimum -net for , and assume the Net mechanism's quality score is real-valued (the family , , is bounded for each input and each ) and has positive sensitivity. If , and
then the Net mechanism run on is -useful for : for every input , with probability at least its output satisfies for all .
This is the paper's general reduction: the accuracy of the Net mechanism is governed only by the sensitivity of the queries and the size of the smallest α-net.
Formalization Note The paper's "" is the logarithm of . Stating the result for every common upper bound of the sensitivities contains the paper's case and avoids a junk supremum when the class is infinite. The boundedness hypothesis is the paper's typing ; the hypothesis is where the exponential mechanism's formula is defined. Neighbours differ in exactly one entry.
import Mathlib import Definitions.Def_PrivateRelease_NetMechanism_ExpMech
namespace PrivateRelease.NetMechanism
/-- Property 3.4 (p. 8): for any class `QC` of real queries on databases (not necessarily
counting queries) whose sensitivities are all at most `Δ`, the Net mechanism run on a minimum
α-net `N` is `(2α, δ)`-useful whenever `α ≥ (2Δ/ε) log(|N|/δ)`. The quality score is assumed
real-valued (the family `|Q(z) − Q(D′)|`, `Q ∈ QC`, is bounded) and of positive sensitivity, as
Definition 3.1 and Algorithm 1 require. -/
theorem property_3_4 {X : Type} [Fintype X] {n : ℕ} (hn : 1 ≤ n) (QC : Set (Multiset X → ℝ))
(ε α δ Δ : ℝ) (N : Finset (Database X)) (hε : 0 < ε) (hδ : 0 < δ) (hδ1 : δ ≤ 1)
(hN : IsMinNet QC α N) (hsens : 0 < netSens n QC N)
(hΔ : ∀ Q ∈ QC, GS (fun z : Fin n → X => Q (inputDB z)) ≤ Δ)
(hbdd : ∀ (z : Fin n → X), ∀ D' ∈ N,
BddAbove (Set.range fun Q : QC => |Q.1 (inputDB z) - Q.1 D'.1|))
(hα : 2 * Δ / ε * Real.log ((N.card : ℝ) / δ) ≤ α) :
Useful QC (2 * α) δ (netMech (n := n) QC ε N) := by sorry
end PrivateRelease.NetMechanism
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.