Differential Privacy #
This file defines a notion of a differential private system.
Product of mechanisms.
Note that the second mechanism does not depend on the output of the first; this is in currently in contrast to the notions of composition found in the DP literature.
Equations
- SLang.privCompose nq1 nq2 l = do let A ← nq1 l let B ← nq2 l pure (A, B)
Instances For
Mechanism obtained by applying a post-processing function to a mechanism.
Equations
- SLang.privPostProcess nq pp l = do let A ← nq l pure (pp A)
Instances For
Abstract definition of a differentially private systemm.
- prop : {Z : Type} → SLang.Mechanism T Z → ℝ → Prop
Notion of differential privacy with a paramater (ε-DP, ε-zCDP, etc)
- noise : SLang.Query T ℤ → ℕ+ → ℕ+ → ℕ+ → SLang.Mechanism T ℤ
Noise mechanism (eg. Laplace, Discrete Gaussian, etc) Paramaterized by a query, sensitivity, and the numerator/denominator ofa (rational) security paramater.
- noise_prop : ∀ (q : List T → ℤ) (Δ εn εd : ℕ+), sensitivity q ↑Δ → SLang.DPSystem.prop (SLang.DPSystem.noise q Δ εn εd) (↑↑εn / ↑↑εd)
Adding noise to a query makes it differentially private.
- compose_prop : ∀ {U V : Type} [inst : MeasurableSpace U] [inst_1 : Countable U] [inst : DiscreteMeasurableSpace U] [inst : Inhabited U] [inst : MeasurableSpace V] [inst_2 : Countable V] [inst : DiscreteMeasurableSpace V] [inst : Inhabited V] (m₁ : SLang.Mechanism T U) (m₂ : SLang.Mechanism T V) (ε₁ ε₂ ε₃ ε₄ : ℕ+), SLang.DPSystem.prop m₁ (↑↑ε₁ / ↑↑ε₂) → SLang.DPSystem.prop m₂ (↑↑ε₃ / ↑↑ε₄) → SLang.DPSystem.prop (SLang.privCompose m₁ m₂) (↑↑ε₁ / ↑↑ε₂ + ↑↑ε₃ / ↑↑ε₄)
Notion of privacy composes by addition.
- postprocess_prop : ∀ {V U : Type} [inst : MeasurableSpace U] [inst_1 : Countable U] [inst : DiscreteMeasurableSpace U] [inst : Inhabited U] {pp : U → V}, Function.Surjective pp → ∀ (m : SLang.Mechanism T U) (ε₁ ε₂ : ℕ+), SLang.DPSystem.prop m (↑↑ε₁ / ↑↑ε₂) → SLang.DPSystem.prop (SLang.privPostProcess m pp) (↑↑ε₁ / ↑↑ε₂)
Notion of privacy is invariant under post-processing.
Instances
Adding noise to a query makes it differentially private.
Notion of privacy composes by addition.
Notion of privacy is invariant under post-processing.