An executable fixed graph sampler #
Every fixed finite CL presentation has a total ambient sampler program: a finite table covers its valid queries, with a fixed output on other inputs. We instantiate this construction with the two-level graph presentation used by detyping. Its dimension, all query answers and halting on malformed inputs are proved. This finite-table construction is polynomial in query size for each fixed graph; it does not claim polynomial compilation in graph size.
Equations
- MIPRE.CL.FixedSampler.QueryIndex d ℓ = (Fin 3 × Bool × Fin (ℓ + 1) × (Fin d → MIPRE.CL.𝔽₂) × (Fin d → MIPRE.CL.𝔽₂))
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- MIPRE.CL.FixedSampler.answer P MIPRE.CL.Sampler.Query.dimension = MIPRE.Cost.encode d
- MIPRE.CL.FixedSampler.answer P (MIPRE.CL.Sampler.Query.marginal w j z) = MIPRE.Cost.encode (MIPRE.CL.toBits ((MIPRE.CL.CLFun.truncate j (P w)).eval (MIPRE.CL.ofBits d z)))
- MIPRE.CL.FixedSampler.answer P (MIPRE.CL.Sampler.Query.linear w j u y) = MIPRE.Cost.encode (MIPRE.CL.toBits (((P w).mapOfPrefix (j - 1) (MIPRE.CL.ofBits d u)) (MIPRE.CL.ofBits d y)))
- MIPRE.CL.FixedSampler.answer P (MIPRE.CL.Sampler.Query.factor w j u) = MIPRE.Cost.encode (MIPRE.CL.indicatorBits ((P w).factorOfPrefix (j - 1) (MIPRE.CL.ofBits d u)))
Instances For
Drop the index without traversing it and run the finite query table.
Equations
Instances For
A single polynomial bounds every index, because the program never traverses the index. Its coefficients depend on the fixed finite presentation.
Numbering the four finite graph blocks in the standard sampler interface.
Equations
Instances For
The fixed graph sampler is an actual total program with all four query clauses.