F2 — given A nonempty, BlackwellEquivalent (learnerExperiment K) publicOnlyExperiment ↔ AuditSealed K (blackwell1953).
∀ {S : Type uS} {A : Type uA} {Y : Type uY} [Nonempty A] (K : AuditCP.AuditChannel S A Y),
AuditCP.BlackwellEquivalent (AuditCP.learnerExperiment K) AuditCP.publicOnlyExperiment ↔ AuditCP.AuditSealed K- DeclAuditCP.blackwellEquivalent_publicOnly_iff_auditSealedDeclaration kindtheorem
∀ {S : Type uS} {A : Type uA} {Y : Type uY} [Nonempty A] (K : AuditCP.AuditChannel S A Y), AuditCP.BlackwellEquivalent (AuditCP.learnerExperiment K) AuditCP.publicOnlyExperiment ↔ AuditCP.AuditSealed K - DeclAuditCP.publicOnly_blackwellBelow_learnerDeclaration kindtheorem
F2a — public information is Blackwell-below the complete learner view:
BlackwellBelow publicOnlyExperiment (learnerExperiment K).∀ {S : Type uS} {A : Type uA} {Y : Type uY} (K : AuditCP.AuditChannel S A Y), AuditCP.BlackwellBelow AuditCP.publicOnlyExperiment (AuditCP.learnerExperiment K) - DeclAuditCP.learner_blackwellBelow_publicOnly_iff_auditSealedDeclaration kindtheorem
F2b — given
Anonempty,BlackwellBelow (learnerExperiment K) publicOnlyExperiment ↔ AuditSealed K(blackwell1953).∀ {S : Type uS} {A : Type uA} {Y : Type uY} [Nonempty A] (K : AuditCP.AuditChannel S A Y), AuditCP.BlackwellBelow (AuditCP.learnerExperiment K) AuditCP.publicOnlyExperiment ↔ AuditCP.AuditSealed K - DeclAuditCP.pmf_map_publicTag_injectiveDeclaration kindtheorem
Pushing a PMF on
Ythrough the tagy ↦ (s, y)is injective.∀ {S : Type uS} {Y : Type uY} (s : S), Function.Injective fun p => PMF.map (fun y => (s, y)) p - DeclAuditCP.auditSealed_iff_factorsThroughPublicDeclaration kindtheorem
F1 — given
Anonempty,AuditSealed K ↔ FactorsThroughPublic K.∀ {S : Type uS} {A : Type uA} {Y : Type uY} [Nonempty A] (K : AuditCP.AuditChannel S A Y), AuditCP.AuditSealed K ↔ AuditCP.FactorsThroughPublic K - DefinitionAuditCP.AuditChanneldef
B6 —
AuditChannel S A YisAuditExperiment (S × A) Y, an experiment whose parameter is split into a public coordinateSand an audit coordinateA.AuditCP.AuditIndex → AuditCP.AuditIndex → AuditCP.AuditIndex → Type (max u v w)
- DefinitionAuditCP.AuditExperimentdef
B5 —
AuditExperiment Θ Xis the type of parameter-indexed discrete observation lawsΘ → PMF X.AuditCP.AuditIndex → AuditCP.AuditIndex → Type (max u v)
- DefinitionAuditCP.AuditSealeddef
The channel
Kis audit-sealed: its output law at fixed public statesdoes not depend on the audit statea.{S : Type uS} → {A : Type uA} → {Y : Type uY} → AuditCP.AuditChannel S A Y → Prop - DefinitionAuditCP.BlackwellBelowdef
E₀is Blackwell-belowE₁when some garblingGofE₁'s output reproducesE₀:∃ G, ∀ θ, E₀ θ = (E₁ θ).bind G(blackwell1953).{Θ : Type uΘ} → {X₀ : Type uX₀} → {X₁ : Type uX₁} → AuditCP.AuditExperiment Θ X₀ → AuditCP.AuditExperiment Θ X₁ → Prop - DefinitionAuditCP.BlackwellEquivalentdef
E₀andE₁are Blackwell-equivalent when each is Blackwell-below the other (blackwell1953).{Θ : Type uΘ} → {X₀ : Type uX₀} → {X₁ : Type uX₁} → AuditCP.AuditExperiment Θ X₀ → AuditCP.AuditExperiment Θ X₁ → Prop - DefinitionAuditCP.FactorsThroughPublicdef
The channel
Kfactors through the public coordinate:∃ H, ∀ s a, K (s, a) = H s.{S : Type uS} → {A : Type uA} → {Y : Type uY} → AuditCP.AuditChannel S A Y → Prop - DefinitionAuditCP.learnerExperimentdef
The channel revealing the public state together with
K's output,fun sa => (K sa).map (fun y => (sa.1, y)).{S : Type uS} → {A : Type uA} → {Y : Type uY} → AuditCP.AuditChannel S A Y → AuditCP.AuditChannel S A (S × Y) - DefinitionAuditCP.publicOnlyExperimentdef
The channel revealing exactly the public state
sand nothing else,fun (s, a) => PMF.pure s.{S : Type uS} → {A : Type uA} → AuditCP.AuditChannel S A S
Verification
- Replay
- accepted
- Axioms
- Classical.choiceQuot.soundpropext
- Statement identity
- not-applicable
- Substrate
- Lean 4 kernel v4.31.0
- Dictionary pin
- design-lab@5802df4 · initial
- Frozen export
- 304b019f2077
- Verified
- 2026-09-24T00:00:00Z