The constraint forms of the introspection processor, in polynomial time #
The linear-constraints processor of the tailored introspection verifier writes its constraints
through a handful of forms (Forms.lean, RegCons.lean, SourceCons.lean, AuxCons.lean).
This file builds each of them as a Cost.PolyTimeFun from already computed data: lengths and
offsets in unary, so that the output, of about Q constraints of about 2Q + 2R bits, is
polynomial in the size of the input; readable conditions as Booleans; coordinate sets
S ⊆ Fin s as their bit masks maskOf S; vectors of 𝔽₂^s as their bits CL.toBits.
placeOf,rejectF: the vectorplace n off wand the rejecting constraint;unitsF: the unit vectorsunits m, as the orbit of a shift;pairFormF: the formplace la oa e ++ place lb ob e ++ [false];eqConsF,guardConsF,projEqConsF,dualConsF:eqCons,guardCons,projEqCons,dualCons;reindexF,swapConF,swapConsF:reindex,swapConand its map over a list.
Each comes with its _apply lemma on arbitrary inputs, and the _spec lemma stating that on
the encoding of the semantic data it outputs the semantic list.
Pieces on a generic input #
Concatenation of two computed lists.
Equations
Instances For
u zeros.
Equations
Instances For
Truncated subtraction of unary numbers.
Equations
Instances For
The length of a computed list, in unary.
Equations
Instances For
A prefix of a computed bit string.
Equations
Instances For
A suffix of a computed bit string.
Equations
Instances For
The placed vector place n off w.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Whether a list is empty.
Equations
Instances For
Conjunction of two computed Booleans.
Equations
Instances For
Equality of two unary numbers.
Equations
Instances For
Unit vectors #
The shift: a zero in front, the last bit dropped.
Equations
Instances For
The shift in polynomial time.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The unit vectors of length m, in order.
Equations
Instances For
The unit vectors, as the orbit of the first under the shift.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The two-sided form #
The layout of a two-sided form: the lengths and offsets ((la, oa), (lb, ob)).
Equations
Instances For
The layout of (la, oa, lb, ob).
Equations
- MIPRE.Tailored.Intro.lay la oa lb ob = ((MIPRE.Cost.unary la, MIPRE.Cost.unary oa), MIPRE.Cost.unary lb, MIPRE.Cost.unary ob)
Instances For
The constraint ⟨e, a_{oa..}⟩ + ⟨e, b_{ob..}⟩ = 0.
Equations
- MIPRE.Tailored.Intro.pairForm la oa lb ob e = MIPRE.Tailored.Intro.place la oa e ++ MIPRE.Tailored.Intro.place lb ob e ++ [false]
Instances For
The two-sided form in polynomial time, on (e, layout).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equality of windows #
The window equality constraints eqCons, on (layout, m).
Equations
Instances For
Readable guards #
The rejecting constraint rejectConstraint d, d in unary.
Equations
Instances For
The readable guard guardCons, on (b, d).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equality on a coordinate set #
The bit mask of a coordinate set.
Instances For
The selection by a mask in polynomial time, on (l, m).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The coordinate-set equality constraints projEqCons, on (layout, mask).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equality of duals #
The bits of g masked by m.
Equations
Instances For
The masking in polynomial time, on (g, m).
Equations
Instances For
The dual equality constraints dualCons, on (layout, mask, generators).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Re-indexed input constraints #
The parameters of a re-indexing: ((Q, R), ((lRa, lLa), (lRb, lLb)), (la, lb)).
Equations
Instances For
The parameters of reindex Q R lRa lLa lRb lLb la lb.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The vector place2 n o₁ w₁ o₂ w₂.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The projections of the input (c, params) of the re-indexing.
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
The re-indexing reindex, on (c, params).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The other orientation #
The swapped constraint swapCon, on (c, (la, lb)).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The swapped constraints of a list, on (cs, (la, lb)).