Extracting arithmetic inputs from Pauli questions #
Basis index zero selects X and one selects Z. Axis directions are constructed from the explicit binary seed selector; diagonal directions are already present in the question's direction field.
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
@[simp]
theorem
MIPRE.Introspection.FieldQuestionProgram.selectedPoint_zero
(fields : PauliStageProgram.Fields)
:
@[simp]
theorem
MIPRE.Introspection.FieldQuestionProgram.selectedPoint_one
(fields : PauliStageProgram.Fields)
:
@[simp]
theorem
MIPRE.Introspection.FieldQuestionProgram.selectedScalar_zero
(fields : PauliStageProgram.Fields)
:
@[simp]
theorem
MIPRE.Introspection.FieldQuestionProgram.selectedScalar_one
(fields : PauliStageProgram.Fields)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
MIPRE.Introspection.FieldQuestionProgram.unitEntryProg_correct
(k : ℕ)
(hk : 1 ≤ k)
(i j : ℕ)
:
Width, dimension, and selected axis index.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
MIPRE.Introspection.FieldQuestionProgram.unitDirectionProg_correct
(k : ℕ)
(hk : 1 ≤ k)
{m : ℕ}
(i : Fin m)
:
unitDirectionProg.toFun (Cost.unary k, Cost.unary m, ↑i) = (SAT.shoupBinField k hk).vecBits (Pi.single i 1)
Field width, selector width, dimension, followed by the canonical seed.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
MIPRE.Introspection.FieldQuestionProgram.axisDirectionProg_correct
(k : ℕ)
(hk : 1 ≤ k)
(j : ℕ)
(hj : j ≤ k)
(seed : (SAT.shoupBinField k hk).carrier)
:
axisDirectionProg.toFun ((Cost.unary k, Cost.unary j, Cost.unary (2 ^ j)), (SAT.shoupBinField k hk).toBits seed) = (SAT.shoupBinField k hk).vecBits (Pi.single (SeedProgram.selector (SAT.shoupBinField k hk) j hj seed) 1)