OAI/Probability/TraceReconstruction/Oracles.lean
141 declarations, 0 contain sorry, 0 declared as axioms
Oracles
TV kernels and trace simulation, anchor costs, counted primitives, common-part lifting, concrete oracle pairs, and paired-flag metadata.
- theorem
OAI.TraceReconstruction.FiniteLaw.law_extline 23 - theorem
OAI.TraceReconstruction.FiniteLaw.tv_selfline 26 - theorem
OAI.TraceReconstruction.FiniteLaw.tv_le_oneline 28 - theorem
OAI.TraceReconstruction.FiniteLaw.expect_bindline 37 - theorem
OAI.TraceReconstruction.FiniteLaw.bind_assocline 48 - theorem
OAI.TraceReconstruction.FiniteLaw.tv_bind_kernel_leline 60 - theorem
OAI.TraceReconstruction.FiniteLaw.tv_bind_fit_leline 88Source documentation
An invalid layout is charged only its unconditional probability.
theorem tv_bind_fit_le (P : FiniteLaw α) (K L : α → FiniteLaw β) (good : α → Prop) [DecidablePred good] (E : ℝ) (hfit : ∀a,good a → (K a).tv (L a)≤E) : (P.bind K).tv (P.bind L) ≤ P.expect (fun a => if good a then E else 1) := by …Mentions: OAI.TraceReconstruction.FiniteLaw, OAI.TraceReconstruction.FiniteLaw.tv
- theorem
OAI.TraceReconstruction.FiniteLaw.tv_prod_eq_leftline 99 - theorem
OAI.TraceReconstruction.FiniteLaw.tv_prod_eq_rightline 108 - theorem
OAI.TraceReconstruction.FiniteLaw.tv_prod_leline 116 - theorem
OAI.TraceReconstruction.FiniteLaw.coordinateProduct_succ_tvline 129 - theorem
OAI.TraceReconstruction.FiniteLaw.tv_coordinateProduct_leline 141 - theorem
OAI.TraceReconstruction.FiniteLaw.expect_coordinateProduct_succline 149 - theorem
OAI.TraceReconstruction.FiniteLaw.expect_subline 167 - theorem
OAI.TraceReconstruction.FiniteLaw.abs_expect_leline 171 - def
OAI.TraceReconstruction.SimulatesTraceline 179Source documentation
A finite auxiliary observation, decoded by a fixed function, simulates the usual deletion channel on a literal binary word. Test functions range over the observable traces only, never latent boundaries.
def SimulatesTrace {α : Type*} [Fintype α] (q : ℝ) (P : FiniteLaw α) (decode : α → List Bool) (w : List Bool) : Prop := …Mentions: OAI.TraceReconstruction.FiniteLaw
- def
OAI.TraceReconstruction.ApproximatesTraceline 183 - theorem
OAI.TraceReconstruction.listDeletionExpectation_constline 188 - theorem
OAI.TraceReconstruction.listDeletionExpectation_linearline 194 - theorem
OAI.TraceReconstruction.listDeletionExpectation_monoline 202 - theorem
OAI.TraceReconstruction.listDeletionExpectation_rangeline 211 - theorem
OAI.TraceReconstruction.listDeletionExpectation_sumline 220 - theorem
OAI.TraceReconstruction.FiniteLaw.expect_listDeletionExpectationline 229 - theorem
OAI.TraceReconstruction.SimulatesTrace.appendline 240 - theorem
OAI.TraceReconstruction.SimulatesTrace.approximateline 253 - theorem
OAI.TraceReconstruction.ApproximatesTrace.appendline 259 - theorem
OAI.TraceReconstruction.SimulatesTrace.random_partitionline 279Source documentation
Any randomized partition into exactly the same literal word gives exactly its usual trace after boundaries are forgotten. No fit conditioning occurs.
theorem SimulatesTrace.random_partition {α Ω : Type*} [Fintype α] [Fintype Ω] {q : ℝ} (P : FiniteLaw Ω) (K : Ω → FiniteLaw α) (decode : α → List Bool) (w : List Bool) (h : ∀ω,SimulatesTrace q (K ω) decode w) : SimulatesTrace q (P.bind K) decode w := by …Mentions: OAI.TraceReconstruction.FiniteLaw, OAI.TraceReconstruction.SimulatesTrace
- theorem
OAI.TraceReconstruction.ApproximatesTrace.random_partitionline 291Source documentation
A failed deterministic layout is charged its unconditional probability; the conditional law on all metadata, not a fit-conditioned law, is used.
theorem ApproximatesTrace.random_partition {α Ω : Type*} [Fintype α] [Fintype Ω] {q : ℝ} (hq : q∈Set.Icc 0 1) (P : FiniteLaw Ω) (K : Ω → FiniteLaw α) (decode : α → List Bool) (w : List Bool) (good : Ω → Prop) [DecidablePred good] (E : ℝ) (h : ∀ω,good ω → ApproximatesTrace q (K ω) decode w E) : ApproximatesTrace q (P.bind K) decode w (P.expect (fun ω => if good ω then E else 1)) := by …Mentions: OAI.TraceReconstruction.FiniteLaw, OAI.TraceReconstruction.ApproximatesTrace
- def
OAI.TraceReconstruction.closeLabelsline 318Source documentation
Admissible close child labels, without relaxing any plateau restrictions on the anchor. An arbitrary finite label domain is retained.
def closeLabels (A : Finset ℤ) (L : ℕ) (a : ℤ) : Finset ℤ := …
- theorem
OAI.TraceReconstruction.closeLabels_cardline 321 - theorem
OAI.TraceReconstruction.root_anchor_energyline 333Source documentation
Root anchor and close-child energy. This keeps the actual labels finite, including any additional source plateau cutoff.
theorem root_anchor_energy (n L : ℕ) (A B : Finset ℤ) (c : ℤ) : (∑ a∈A, ∑ _d∈closeLabels B L a, windowKernel n L (a-c)^2) ≤ 2*L^3*binomialBound n := by …Mentions: OAI.TraceReconstruction.closeLabels, OAI.TraceReconstruction.windowKernel, OAI.TraceReconstruction.binomialBound
- theorem
OAI.TraceReconstruction.sibling_anchor_energyline 349Source documentation
The shared global jitter stays in the joint kernel until after squaring. The two close labels cost only (2L)^2, uniformly in parent labels.
theorem sibling_anchor_energy (g n₁ n₂ L : ℕ) (A B C D : Finset ℤ) (c₁ c₂ : ℤ) : (∑ a∈A, ∑ b∈B, ∑ _c∈closeLabels C L a, ∑ _d∈closeLabels D L b, jointWindowKernel g n₁ n₂ L (a-c₁) (b-c₂)^2) ≤ 4*L^6*binomialBound g*binomialBound n₂ := by …Mentions: OAI.TraceReconstruction.closeLabels, OAI.TraceReconstruction.jointWindowKernel, OAI.TraceReconstruction.binomialBound
- def
OAI.TraceReconstruction.binaryTreeSumline 373Source documentation
Exact bottom-up summation of any finite binary anchor model. The state contains its actual index path, so group-dependent kernels are allowed.
def binaryTreeSum {α : Type*} [Fintype α] (K : ℕ → α → α × α → ℝ) : ℕ → α → ℝ | 0, _ => 1 | n+1, a => ∑b, K n a b*binaryTreeSum K n b.1*binaryTreeSum K n b.2 - def
OAI.TraceReconstruction.binaryTreeBudgetline 377 - theorem
OAI.TraceReconstruction.binaryTreeBudget_nonnegline 381 - theorem
OAI.TraceReconstruction.binaryTreeSum_nonnegline 387 - theorem
OAI.TraceReconstruction.binaryTreeSum_leline 397Source documentation
Uniform local anchor square sums multiply without decoupling the two correlated offsets of a sibling group. Domain/plateau indicators can be included in K and are never removed by conditioning.
theorem binaryTreeSum_le {α : Type*} [Fintype α] (K : ℕ → α → α × α → ℝ) (hK : ∀n a b,0≤K n a b) (C : ℕ → ℝ) (hC : ∀n,0≤C n) (hlocal : ∀n a, (∑b,K n a b)≤C n) (n : ℕ) (a : α) : binaryTreeSum K n a≤binaryTreeBudget C n := by …Mentions: OAI.TraceReconstruction.binaryTreeSum, OAI.TraceReconstruction.binaryTreeBudget
- theorem
OAI.TraceReconstruction.hypergeomMass_middle_sqline 420 - theorem
OAI.TraceReconstruction.hypergeomMass_middle_leline 442 - theorem
OAI.TraceReconstruction.sum_range_extend_zeroline 453 - theorem
OAI.TraceReconstruction.hypergeomMass_above_totalline 460 - def
OAI.TraceReconstruction.hypergeomLawline 463 - theorem
OAI.TraceReconstruction.hypergeomMass_complementline 472 - theorem
OAI.TraceReconstruction.hypergeomLaw_adjacent_tvline 477 - theorem
OAI.TraceReconstruction.adjacentHypergeomTV_middle_leline 512 - theorem
OAI.TraceReconstruction.hypergeomLaw_adjacent_middleline 521 - theorem
OAI.TraceReconstruction.FiniteLaw.tv_chainline 537 - theorem
OAI.TraceReconstruction.hypergeomLaw_stepsline 545 - def
OAI.TraceReconstruction.visibleFiberEquivline 573 - def
OAI.TraceReconstruction.visibleScheduleLawline 585 - theorem
OAI.TraceReconstruction.visibleScheduleLaw_massline 588 - theorem
OAI.TraceReconstruction.sum_finset_cardline 614 - theorem
OAI.TraceReconstruction.visibleScheduleLaw_tvline 643 - theorem
OAI.TraceReconstruction.visibleScheduleLaw_stepsline 678 - theorem
OAI.TraceReconstruction.FiniteLaw.ext_expectline 695 - theorem
OAI.TraceReconstruction.FiniteLaw.expect_mapline 701 - theorem
OAI.TraceReconstruction.FiniteLaw.map_mapline 704 - theorem
OAI.TraceReconstruction.FiniteLaw.map_idline 711 - theorem
OAI.TraceReconstruction.FiniteLaw.map_equiv_massline 717 - theorem
OAI.TraceReconstruction.FiniteLaw.tv_map_equivline 722 - def
OAI.TraceReconstruction.fixedSubsetEquivline 732 - theorem
OAI.TraceReconstruction.uniformSubsetLaw_mapline 738 - abbrev
OAI.TraceReconstruction.HiddenIndexline 752 - abbrev
OAI.TraceReconstruction.VisibleIndexline 753 - def
OAI.TraceReconstruction.splitIndexEquivline 755 - theorem
OAI.TraceReconstruction.card_splitIndexline 758 - theorem
OAI.TraceReconstruction.card_hiddenIndexline 763 - def
OAI.TraceReconstruction.eraseScheduleLawline 766 - theorem
OAI.TraceReconstruction.erase_splitIndexline 770 - theorem
OAI.TraceReconstruction.eraseScheduleLaw_eqline 796 - theorem
OAI.TraceReconstruction.eraseScheduleLaw_stepsline 809 - def
OAI.TraceReconstruction.FiniteLaw.sigmaline 833 - theorem
OAI.TraceReconstruction.FiniteLaw.expect_sigmaline 841 - theorem
OAI.TraceReconstruction.FiniteLaw.overlap_sigma_lowerline 845 - theorem
OAI.TraceReconstruction.sum_binomialMass_cutoffline 857 - def
OAI.TraceReconstruction.boundedCountLawline 867 - abbrev
OAI.TraceReconstruction.BoundedMarksline 872 - def
OAI.TraceReconstruction.boundedConditionalPrimitiveLawline 874 - theorem
OAI.TraceReconstruction.primitiveRetention_memline 878 - def
OAI.TraceReconstruction.countedPrimitiveLawline 884 - def
OAI.TraceReconstruction.decodeBoundedMarksline 889 - theorem
OAI.TraceReconstruction.countedPrimitiveLaw_expectline 891 - theorem
OAI.TraceReconstruction.countedPrimitiveLaw_simulatesline 919 - theorem
OAI.TraceReconstruction.subsetLaw_expect_cardline 935 - theorem
OAI.TraceReconstruction.subsetLaw_varianceline 946 - def
OAI.TraceReconstruction.hiddenScheduleLawline 952 - theorem
OAI.TraceReconstruction.hiddenScheduleLaw_tvline 956 - theorem
OAI.TraceReconstruction.good_hiddenSchedule_boundline 967 - theorem
OAI.TraceReconstruction.bad_hiddenSchedule_varianceline 985 - theorem
OAI.TraceReconstruction.hiddenScheduleLaw_stepsline 996 - theorem
OAI.TraceReconstruction.FiniteLaw.expect_commline 1046 - theorem
OAI.TraceReconstruction.FiniteLaw.bind_mapline 1056 - theorem
OAI.TraceReconstruction.FiniteLaw.map_bindline 1063 - theorem
OAI.TraceReconstruction.FiniteLaw.bind_commline 1069 - theorem
OAI.TraceReconstruction.subsetWeight_maskline 1079 - theorem
OAI.TraceReconstruction.coordinateProduct_common_flagsline 1084 - def
OAI.TraceReconstruction.schedulePayloadline 1114 - def
OAI.TraceReconstruction.uniformSchedulePayloadline 1118 - theorem
OAI.TraceReconstruction.hiddenSchedule_payload_exactline 1123 - theorem
OAI.TraceReconstruction.uniformSchedulePayload_stepsline 1151 - def
OAI.TraceReconstruction.coordinateWordline 1169 - theorem
OAI.TraceReconstruction.coordinateWord_succline 1171 - theorem
OAI.TraceReconstruction.coordinateWord_consline 1175 - theorem
OAI.TraceReconstruction.coordinateProduct_simulatesline 1180 - theorem
OAI.TraceReconstruction.sum_subset_choicesline 1207 - theorem
OAI.TraceReconstruction.coordinateWord_pureAtomRunline 1215 - theorem
OAI.TraceReconstruction.uniform_schedule_wordline 1220 - theorem
OAI.TraceReconstruction.lifting_count_scaleline 1232 - theorem
OAI.TraceReconstruction.lifting_scale_validline 1256 - theorem
OAI.TraceReconstruction.lifting_numeric_boundline 1267 - theorem
OAI.TraceReconstruction.maskLaw_simulatesline 1293 - theorem
OAI.TraceReconstruction.uniformSchedulePayload_simulatesline 1300 - theorem
OAI.TraceReconstruction.adjacent_power_liftline 1317Source documentation
Explicit source common-part lifting, using finite auxiliary observations that decode exactly to ordinary complete traces of the adjacent pure powers.
theorem adjacent_power_lift {F k R : ℕ} {C p q : ℝ} (hk : 1≤k) (hR : 1≤R) (hp : p∈Set.Ioc 0 (1/8)) (hq : q∈Set.Icc 0 1) (hC : 1073741824≤p*C) (hF : C*k*R≤F) (P Q : FiniteLaw α) (f : α→List Bool) (w : List Bool) (hP : SimulatesTrace q P f (pureAtomRun w k)) (hQ : SimulatesTrace q Q f (pureAtomRun w (k+1))) (hov : p≤FiniteLaw.overlap P Q) : ∃ (β : Type u) (_ : Fintype β) (P' Q' : FiniteLaw β) (g : β→List Bool), SimulatesTrace q P' g (pureAtomRun w (F*R)) ∧ SimulatesTrace q Q' g (pureAtomRun w (F*R+R)) ∧ (2/3:ℝ)≤FiniteLaw.overlap P' Q' := by …Mentions: OAI.TraceReconstruction.FiniteLaw, OAI.TraceReconstruction.SimulatesTrace, OAI.TraceReconstruction.pureAtomRun, OAI.TraceReconstruction.FiniteLaw.overlap
- theorem
OAI.TraceReconstruction.FiniteLaw.tv_eq_positive_testline 1373Source documentation
The maximizing test for total variation on a finite sample space.
theorem tv_eq_positive_test (P Q : FiniteLaw α) : P.tv Q = P.expect (fun a => if Q.mass a ≤ P.mass a then 1 else 0) - Q.expect (fun a => if Q.mass a ≤ P.mass a then 1 else 0) := by …Mentions: OAI.TraceReconstruction.FiniteLaw
- theorem
OAI.TraceReconstruction.FiniteLaw.tv_le_of_testsline 1392Source documentation
Dual characterization, sufficient for simulators with different latent spaces.
theorem tv_le_of_tests (P Q : FiniteLaw α) {E : ℝ} (h : ∀ f : α → ℝ, (∀ a, f a ∈ Set.Icc 0 1) → P.expect f-Q.expect f ≤ E) : P.tv Q ≤ E := by …Mentions: OAI.TraceReconstruction.FiniteLaw
- theorem
OAI.TraceReconstruction.FiniteLaw.abs_expect_sub_le_tvline 1398 - def
OAI.TraceReconstruction.listTraceLawline 1411Source documentation
The genuine complete-trace law embedded in a specified finite trace space. The extra elements have mass zero, not a cemetery mass.
def listTraceLaw (q : ℝ) (hq : q ∈ Set.Icc 0 1) (w : List Bool) (M : ℕ) (hw : w.length ≤ M) : FiniteLaw (BoundedTrace M) := …Mentions: OAI.TraceReconstruction.FiniteLaw, OAI.TraceReconstruction.BoundedTrace
- theorem
OAI.TraceReconstruction.listTraceLaw_expectline 1417 - theorem
OAI.TraceReconstruction.listTraceLaw_simulatesline 1426 - def
OAI.TraceReconstruction.listTraceOverlapline 1432Source documentation
Ordinary overlap of complete traces, including unequal input lengths.
def listTraceOverlap (q : ℝ) (hq : q ∈ Set.Icc 0 1) (x y : List Bool) : ℝ := …
- theorem
OAI.TraceReconstruction.approximations_trace_tvline 1439Source documentation
Common approximate simulation transfers distinguishability to genuine complete traces, without revealing the latent partition.
theorem approximations_trace_tv {α : Type*} [Fintype α] {q : ℝ} (hq : q ∈ Set.Icc 0 1) (P Q : FiniteLaw α) (decode : α → List Bool) (x y : List Bool) (Ex Ey : ℝ) (M : ℕ) (hx : x.length ≤ M) (hy : y.length ≤ M) (hP : ApproximatesTrace q P decode x Ex) (hQ : ApproximatesTrace q Q decode y Ey) : (listTraceLaw q hq x M hx).tv (listTraceLaw q hq y M hy) ≤ P.tv Q+Ex+Ey := by …Mentions: OAI.TraceReconstruction.FiniteLaw, OAI.TraceReconstruction.ApproximatesTrace, OAI.TraceReconstruction.listTraceLaw
- structure
OAI.TraceReconstruction.ConcreteLevelPairline 1476Source documentation
A literal witness of the source level invariant.
halfOrderis half its positive even moment order.countFactoris the prescribed upper multiplierC^(2*B*i+O_B(1)), to be instantiated uniformly in the actual construction. Finite outcomes suffice for the source's finite latent experiments, and any randomized common decoder can be included as an additional latent draw.structure ConcreteLevelPair (q : ℝ) (hq : q ∈ Set.Icc 0 1) (N Δ d ω countFactor : ℝ) (i halfOrder : ℕ) where … - def
OAI.TraceReconstruction.FiniteLaw.jointline 1518Source documentation
A joint law retaining both the latent variable and its conditional draw.
def joint (P : FiniteLaw α) (K : α → FiniteLaw β) : FiniteLaw (α × β) where …
Mentions: OAI.TraceReconstruction.FiniteLaw
- theorem
OAI.TraceReconstruction.FiniteLaw.expect_jointline 1526 - theorem
OAI.TraceReconstruction.FiniteLaw.expect_mixtureline 1530 - theorem
OAI.TraceReconstruction.FiniteLaw.mixture_eq_bindline 1535 - theorem
OAI.TraceReconstruction.FiniteLaw.coordinateProduct_mapline 1539Source documentation
Independent maps commute with the literal finite product law.
theorem coordinateProduct_map {n : ℕ} (P : Fin n → FiniteLaw α) (f : Fin n → α → β) : (coordinateProduct P).map (fun a i => f i (a i)) = coordinateProduct (fun i => (P i).map (f i)) := by …Mentions: OAI.TraceReconstruction.FiniteLaw, OAI.TraceReconstruction.FiniteLaw.coordinateProduct, OAI.TraceReconstruction.FiniteLaw.map
- theorem
OAI.TraceReconstruction.FiniteLaw.pairedFlagLaw_mapline 1567Source documentation
Forgetting the report recovers the two independent side emissions.
theorem pairedFlagLaw_map (P Q H : FiniteLaw α) {ω : ℝ} (hω : 0 ≤ ω) (hP : ∀ a, ω*H.mass a ≤ P.mass a) (hQ : ∀ a, ω*H.mass a ≤ Q.mass a) (b : Bool) : (pairedFlagLaw P Q H hω hP hQ b).map Prod.snd = orientedProd P Q b := by …Mentions: OAI.TraceReconstruction.FiniteLaw, OAI.TraceReconstruction.FiniteLaw.pairedFlagLaw, OAI.TraceReconstruction.FiniteLaw.map, OAI.TraceReconstruction.FiniteLaw.orientedProd
- structure
OAI.TraceReconstruction.PairedMechanismsline 1585Source documentation
Data of the paired mechanisms, with common submass proved for each side. All words and their actual trace laws will be substituted in these fields.
structure PairedMechanisms (Side : Type*) [Fintype Side] (m : ℕ) where …
- abbrev
OAI.TraceReconstruction.Reportsline 1594 - def
OAI.TraceReconstruction.PairedMechanisms.reportsline 1599 - def
OAI.TraceReconstruction.PairedMechanisms.reportsGivenline 1603 - def
OAI.TraceReconstruction.PairedMechanisms.fairOrientationsline 1608Source documentation
Bit orientations, prior to generating any emissions.
def fairOrientations (m : ℕ) : FiniteLaw (Fin m → Bool) := …
Mentions: OAI.TraceReconstruction.FiniteLaw
- def
OAI.TraceReconstruction.PairedMechanisms.orientationsGivenline 1613Source documentation
Exact posterior, with zero-mass metadata treated by the same canonical formula. In particular unseen orientations are independent fair bits.
def orientationsGiven (z : Reports Side m) : FiniteLaw (Fin m → Bool) := …
Mentions: OAI.TraceReconstruction.Reports, OAI.TraceReconstruction.FiniteLaw
- def
OAI.TraceReconstruction.PairedMechanisms.selectedLeafLawline 1616 - def
OAI.TraceReconstruction.PairedMechanisms.orientationOracleline 1621Source documentation
Actual orientation-first, unconditioned augmented observation.
def orientationOracle (P Q : FiniteLaw Leaf) (θ : (Fin m → Bool) → Fin n → Bool) : FiniteLaw (Reports Side m × (Fin n → Leaf)) := …Mentions: OAI.TraceReconstruction.FiniteLaw, OAI.TraceReconstruction.Reports
- def
OAI.TraceReconstruction.PairedMechanisms.canonicalOracleline 1626Source documentation
Metadata-first factorization of exactly the same law, not a new oracle.
def canonicalOracle (P Q : FiniteLaw Leaf) (θ : (Fin m → Bool) → Fin n → Bool) : FiniteLaw (Reports Side m × (Fin n → Leaf)) := …Mentions: OAI.TraceReconstruction.FiniteLaw, OAI.TraceReconstruction.Reports
- theorem
OAI.TraceReconstruction.PairedMechanisms.oracle_factorizationline 1630 - theorem
OAI.TraceReconstruction.PairedMechanisms.canonicalOracle_densityline 1649Source documentation
The reference is independent old-first-law emissions, even after reporting all side traces. This equality is exact for every metadata value.
theorem canonicalOracle_density (P Q : FiniteLaw Leaf) (Z : Leaf → ℝ) (hZ : ∀ a, Q.mass a = P.mass a*(1+Z a)) (θ : (Fin m → Bool) → Fin n → Bool) (z : Reports Side m) (x : Fin n → Leaf) : (M.canonicalOracle P Q θ).mass (z,x) = (M.reports.prod (P.product n)).mass (z,x) * averagedDensity (orientationsGiven z) θ Z x := by …Mentions: OAI.TraceReconstruction.FiniteLaw, OAI.TraceReconstruction.Reports, OAI.TraceReconstruction.averagedDensity, OAI.TraceReconstruction.PairedMechanisms.orientationsGiven
- theorem
OAI.TraceReconstruction.PairedMechanisms.canonicalOracle_metadataline 1662Source documentation
The full side metadata has a common law for both hypotheses.
theorem canonicalOracle_metadata (P Q : FiniteLaw Leaf) (θ : (Fin m → Bool) → Fin n → Bool) (F : Reports Side m → ℝ) : (M.canonicalOracle P Q θ).expect (fun z => F z.1) = M.reports.expect F := by …Mentions: OAI.TraceReconstruction.FiniteLaw, OAI.TraceReconstruction.Reports
- theorem
OAI.TraceReconstruction.PairedMechanisms.reportsGiven_forgetline 1670Source documentation
Conditional on every orientation, forgetting flags gives independent side emissions. This is the unconditional simulation side of the construction.
theorem reportsGiven_forget (b : Fin m → Bool) : (M.reportsGiven b).map (fun z i => (z i).2) = FiniteLaw.coordinateProduct (fun i => FiniteLaw.orientedProd (M.first i) (M.second i) (b i)) := by …Mentions: OAI.TraceReconstruction.FiniteLaw.coordinateProduct, OAI.TraceReconstruction.FiniteLaw.orientedProd