Changing and tabulating constraint descriptors #
g.mapConstraints f changes the descriptor on every edge while retaining all endpoints and
edge indices. At a fixed finite alphabet, g.mapConstraints eval materializes each executable
constraint as its complete Boolean table, encoded with encPi (encPi encBool). This returns
successive graph transformations to the same descriptor type α → α → Bool.
Tabulation requires an efficient evaluator jointly in the descriptor and both alphabet symbols. The table certificate charges every entry; the alphabet is fixed independently of the input. No decidability or efficiency is inferred for arbitrary proposition-valued constraints.
Main definitions #
Cslib.PCP.Encoded.Graph.mapConstraints: transform every edge's constraint descriptor.
Main results #
Cslib.PCP.Encoded.Graph.toGraph_mapConstraints: exact interpretation after descriptor change.Cslib.PCP.Encoded.Graph.isPolyTime_tabulateConstraints: materializing all finite tables is polynomial-time, including the unchanged endpoints and graph storage.
References #
Change each constraint descriptor, preserving the vertex count, edge order, and endpoints.
Instances For
Applying the identity descriptor map leaves the graph unchanged.
Successive descriptor changes compose without changing graph indices.
The vertex count is unchanged.
Every original edge produces exactly one new edge.
Changing descriptors preserves exactly the same endpoint bounds.
The new graph interprets each original constraint through the descriptor map. The finite edge-index cast retains its numerical index.
Changing descriptor representation preserves the exact constraint-violation value.
Changing descriptor representation preserves satisfiability.
Changing every descriptor charges the transformation, copying endpoints, and the output list.
Materialize every value of an efficiently evaluable constraint at a fixed finite alphabet.
A fixed finite alphabet lets an efficient evaluator be materialized as its entire table. The source descriptor may have unbounded encoded size.
Evaluate a stored constraint table at both runtime alphabet symbols.
The full two-dimensional constraint table has bounded encoded size, including its framing.
Normalization to fixed-alphabet tables adds at most a constant number of bits per edge.