Shared syntax for pulling operator formulas back to tuples #
A full-tuple interpretation represents each target element by d source elements. Pulling an
operator formula back along it replaces each target variable by d coordinates and each
relation argument by a block of d coordinates. This module holds the operator-independent part
of that translation: named term values, existential coordinate blocks, scaled relation
variables, and the block bijection between flattened tuples and target tuples. The
least-fixed-point and transitive-closure pullbacks build on it.
Main definitions #
Operator.RelVar.scale: multiply the arity of every relation variable byd.Operator.Tuple.FOMap: an ordinary first-order tuple pullback.Operator.Tuple.termGraph,Operator.Tuple.applyTerms: name target term values by fresh coordinates.Operator.Tuple.exBlock: bind thedcoordinates of a newly quantified target variable.Operator.Tuple.blockEquiv: read a flattened tuple ofkcoordinate blocks asktargets.
Main results #
Operator.Tuple.realize_applyTerms: the named coordinates have a unique witness.Operator.Tuple.realize_applyTerms_rel: pulled-back relation atoms read the related tuple.Operator.Tuple.realize_exBlock: a coordinate block quantifies over the target universe.
The ordinary first-order part of a full-tuple syntax translation.
Instances For
Translate the graph of a tuple of terms, using fresh coordinates for their values.
Instances For
Apply a formula with fresh coordinate arguments to translated target terms.
Instances For
Naming term values does not change dependence on scoped relations.
Naming term values does not change formation conditions.
Binding a coordinate block does not change dependence on scoped relations.
The translated term graph identifies precisely the encoded values of its arguments.
Existential term naming has a unique coordinate witness, even for constants and nullary argument tuples.
A pulled-back relation atom holds exactly when the related target valuation contains the evaluated target arguments.
A coordinate block ranges over the target universe through the element bijection.