Documentation

SampCert.DifferentialPrivacy.Abstract

Differential Privacy #

This file defines an abstract system of differentially private operators.

Typeclass synonym for the classes we use for probaility

Instances
    @[implicit_reducible]
    Equations
    class SLang.DPSystem (T : Type) :

    Abstract definition of a differentially private systemm.

    Instances
      theorem SLang.DPSystem.compose_prop {T U V : Type} [dps : DPSystem T] [DiscProbSpace U] [DiscProbSpace V] {m₁ : Mechanism T U} {m₂ : Mechanism T V} {ε₁ ε₂ ε : NNReal} :
      ε₁ + ε₂ = εprop m₁ ε₁prop m₂ ε₂prop (privCompose m₁ m₂) ε
      theorem SLang.DPSystem_prop_ext {T U : Type} [dps : DPSystem T] {ε₁ ε₂ : NNReal} (m : Mechanism T U) ( : ε₁ = ε₂) (H : DPSystem.prop m ε₁) :
      @[simp]
      theorem SLang.bind_bind_indep {T U V A : Type} (p : Mechanism T U) (q : Mechanism T V) (h : UVPMF A) :
      (fun (l : List T) => do let ap l let bq l h a b) = fun (l : List T) => do let zprivCompose p q l h z.1 z.2
      class SLang.DPNoise {T : Type} (dps : DPSystem T) :

      A noise function for a differential privacy system

      • noise : Query T (sensitivity num den : ℕ+) → Mechanism T

        A noise mechanism (eg. Laplace, Discrete Gaussian, etc) Paramaterized by a query, sensitivity, and a (rational) security paramater.

      • noise_priv (num den : ℕ+) (priv : NNReal) : Prop

        Relationship between arguments to noise and resulting privacy amount

      • noise_prop {q : List T} {Δ εn εd : ℕ+} {ε : NNReal} : noise_priv dps εn εd εsensitivity q ΔDPSystem.prop (noise dps q Δ εn εd) ε

        Adding noise to a query makes it private

      Instances
        class SLang.DPPar (T : Type) extends SLang.DPSystem T :
        Instances