Algebraic UC Emulation: Explicit Simulator Constructions #
This file upgrades existential UC emulation (∀ A, ∃ S, ...) to a version
that records the simulator as an explicit function A ↦ Sim(A) of the
adversary. Most concrete UC proofs already build S as a concrete
function of A, so this is the natural formulation; UCEmulatesAlg.forget
re-extracts the existential UCEmulates when needed.
Main definitions #
SimConstruction— function(leak → SPComp view) → (sim_if → SPComp view)mapping each adversary to a simulator.UCEmulatesAlg— UC emulation with the explicitSimConstructionwitness.
Main results #
UCEmulatesAlg.forget— algebraic implies existential (→ UCEmulates)UCEmulatesAlg_of_sdist— from sdist (same-interface,Sim = id)UCEmulatesAlg.refl— reflexivity (Sim = id)UCEmulatesAlg.trans— same-interface transitivity (composition ofSim)UCEmulatesAlg.trans_general— general transitivity through different interfacesSimConstruction.id_comp,comp_id,comp_assoc— composition laws (allrfl)
Composition structure #
SimConstruction.id and SimConstruction.comp give a unit and an
associative composition with both unit laws — these hold by rfl because
SimConstruction is just a function and comp is function composition.
Errors compose additively under the ℝ≥0∞ grading via UCEmulatesAlg.trans.
The earlier framing of this structure as an "approximate algebraic weak factorization system" was rhetorical: the small-object argument and genuine algebra structure of an AWFS are not used here — the content is "explicit simulator + sdist bound, composed pointwise".
Simulator Construction #
A simulator construction: a function from adversaries to simulators.
Given an adversary A : leak → SPComp view, produces a simulator
Sim(A) : sim_if → SPComp view.
Equations
- CatCrypt.Crypto.UCAlg.SimConstruction spec = ((spec.leak → CatCrypt.Core.SPComp spec.view) → spec.sim_if → CatCrypt.Core.SPComp spec.view)
Instances For
Identity simulator construction (same-interface: leak = sim_if).
The adversary IS the simulator.
Equations
Instances For
Composition of simulator constructions.
comp Sim₁ Sim₂ first applies Sim₁ then Sim₂: given adversary A,
the composed simulator is Sim₂(Sim₁(A)).
Instances For
Composition Laws (all rfl since SimConstruction is a function) #
Algebraic UC Emulation #
UC emulation with explicit simulator construction.
Upgrades the existential ∀ A, ∃ S in UCEmulates to a concrete
witness Sim : A ↦ S(A) satisfying the sdist bound uniformly.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Basic Properties #
Forget the algebraic witness: UCEmulatesAlg → UCEmulates.
Monotonicity: tighter bound implies looser bound (same simulator).
Same-Interface Constructions #
Reflexivity: any protocol emulates itself with Sim = id.
From sdist: same-interface with Sim = id.
Transitivity (Simulator Composition) #
Same-interface transitivity via simulator composition.
Errors compose additively: ε₁ + ε₂.
General transitivity through different interface types.
Chains π₁ ⟶^{Sim₁} π₂ ⟶^{Sim₂} π₃ via SimConstruction.comp.