The triangle specialization #
Statements split from the original Statements.lean skeleton (one file per proving task).
See AUDIT-NOTES for the mathematics.
The triangle specialization #
triangleGraph = cycle 3 is the scenario of TriangleInflation, with vertex 0 the
party A, vertex 1 the party B and vertex 2 the party C.
The triangle bridge #
The named sources of C₃, the induced bijections of copied observations, assignments, sets
and copied latent sources, and the transport lemmas used by the four theorems below. The
naming follows the file header of InflationGraph.Defs: the source {0,1} is the paper's
X, the source {1,2} is Y and the source {0,2} is Z.
The triangle source shared by parties A and B.
Instances For
The triangle source shared by parties B and C.
Instances For
The triangle source shared by parties A and C.
Instances For
Source X viewed as an edge incident to vertex 0.
Equations
Instances For
Source Z viewed as an edge incident to vertex 0.
Equations
Instances For
Source X viewed as an edge incident to vertex 1.
Equations
Instances For
Source Y viewed as an edge incident to vertex 1.
Equations
Instances For
Source Z viewed as an edge incident to vertex 2.
Equations
Instances For
Source Y viewed as an edge incident to vertex 2.
Equations
Instances For
Translate a graph observation into the named triangle observation.
Equations
- TriangleInflation.Graph.triObs ⟨⟨0, isLt⟩, f⟩ = TriangleInflation.Obs.A (f TriangleInflation.Graph.triInc0X) (f TriangleInflation.Graph.triInc0Z)
- TriangleInflation.Graph.triObs ⟨⟨1, isLt⟩, f⟩ = TriangleInflation.Obs.B (f TriangleInflation.Graph.triInc1X) (f TriangleInflation.Graph.triInc1Y)
- TriangleInflation.Graph.triObs ⟨⟨2, isLt⟩, f⟩ = TriangleInflation.Obs.C (f TriangleInflation.Graph.triInc2Z) (f TriangleInflation.Graph.triInc2Y)
- TriangleInflation.Graph.triObs ⟨⟨n.succ.succ.succ, h⟩, snd⟩ = absurd h ⋯
Instances For
Translate a named triangle observation into its graph representation.
Equations
- TriangleInflation.Graph.triObsInv (TriangleInflation.Obs.A i j) = ⟨0, fun (e : ↥(TriangleInflation.Graph.triangleGraph.inc 0)) => if e = TriangleInflation.Graph.triInc0X then i else j⟩
- TriangleInflation.Graph.triObsInv (TriangleInflation.Obs.B i k) = ⟨1, fun (e : ↥(TriangleInflation.Graph.triangleGraph.inc 1)) => if e = TriangleInflation.Graph.triInc1X then i else k⟩
- TriangleInflation.Graph.triObsInv (TriangleInflation.Obs.C j k) = ⟨2, fun (e : ↥(TriangleInflation.Graph.triangleGraph.inc 2)) => if e = TriangleInflation.Graph.triInc2Z then j else k⟩
Instances For
Identify graph observations with the named triangle observations.
Equations
- TriangleInflation.Graph.triEquiv t = { toFun := TriangleInflation.Graph.triObs, invFun := TriangleInflation.Graph.triObsInv, left_inv := ⋯, right_inv := ⋯ }
Instances For
The permutation correspondence #
Identify an edge-indexed latent assignment with its X, Z, Y coordinates.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The three copy-index permutation families of the triangle.
Equations
Instances For
Transport of witnesses #
The induced bijection of assignments.
Equations
Instances For
The bijection of diagonal reads.
Equations
Instances For
Sets of copied observations #
Transport finite observation sets to the named triangle representation.
Equations
Instances For
Identify observations in a finite graph set with their triangle counterparts.
Equations
Instances For
Transport Boolean assignments on a finite observation set.
Equations
Instances For
Copied latent sources #
Identify copied graph sources with named triangle latent sources.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Transport of the injectable and ancestral prescriptions #
Transport families of Boolean assignments on finite observation sets.
Equations
- TriangleInflation.Graph.triPiEquiv S = Equiv.piCongrRight fun (m : Fin n) => TriangleInflation.Graph.triBoolEquiv (S m)
Instances For
Identify the latent inputs at vertex 0 with its two named sources.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Identify the latent inputs at vertex 1 with its two named sources.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Identify the latent inputs at vertex 2 with its two named sources.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The observed law of a triangle GModel, as a triple sum.
The triangle model of a triangle GModel.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The latent alphabets of the triangle GModel of a triangle model.
Equations
- TriangleInflation.Graph.triL A B C e = if e = TriangleInflation.Graph.triEdgeX then A else if e = TriangleInflation.Graph.triEdgeZ then B else C
Instances For
The triangle GModel of a triangle model.
Equations
- One or more equations did not get rendered due to their size.
Instances For
AUDIT-NOTES A1/A2. The copied observations of the order-t inflation of C₃ are in
bijection with TriangleInflation.Obs t, by a bijection that intertwines the per-source
copy-index
actions and matches the vertex of a copied observation with the party of its image.
The pair-source Navascués–Wolfe test on C₃ is the triangle test of
TriangleInflation, under the re-encoding threeBitEquiv of three-bit outcomes as
functions on Fin 3.
The pair-source AI test on C₃ is the triangle AI test.
The pair-source compatible set of C₃ is TriangleInflation.TriangleCompatible, both
with finite
latent alphabets (AUDIT-NOTES D1).