Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

Primitive-positive definitions and preservation

Abstract

Generator-preserving operations preserve primitive-positive definitions.

Definition 1.1 (Finite atoms with repeated variables).

Formalization. D5/S3/Combinatorics/ConstraintRelations/PrimitivePositive.Atom (✓ std3).

Citation. David Geiger (1968). Closed systems of functions and predicates. DOI: 10.2140/pjm.1968.27.95. URL: https://msp.org/pjm/1968/27-1/p08.xhtml.

Commentary.

A symbol s has arity q(s). An atom consists of s and a function from Fin(q(s)) to Fin(n). There is no injectivity condition: an argument variable may occur several times. Sigma here means the dependent collection of symbols and their argument functions. The carrier and the symbol type can be arbitrary.

Definition 1.2 (Interpretation of an atom).

Formalization. D5/S3/Combinatorics/ConstraintRelations/PrimitivePositive.Holds (✓ std3).

Citation. David Geiger (1968). Closed systems of functions and predicates. DOI: 10.2140/pjm.1968.27.95. URL: https://msp.org/pjm/1968/27-1/p08.xhtml.

Commentary.

Relations assigns each symbol s a predicate on Fin(q(s)) to D. ApplyAtom means R(s) applied to the tuple whose ith entry is v(b.arguments(i)).

Definition 1.3 (Finite conjunction).

Formalization. D5/S3/Combinatorics/ConstraintRelations/PrimitivePositive.HoldsAll (✓ std3).

Citation. David Geiger (1968). Closed systems of functions and predicates. DOI: 10.2140/pjm.1968.27.95. URL: https://msp.org/pjm/1968/27-1/p08.xhtml.

Commentary.

Conjunction is true on the empty list and is the conjunction of the head atom and the remaining list otherwise. Lists are finite and may contain duplicate atoms.

Definition 1.4 (Existentially hidden variables).

Formalization. D5/S3/Combinatorics/ConstraintRelations/PrimitivePositive.Defines (✓ std3).

Citation. David Geiger (1968). Closed systems of functions and predicates. DOI: 10.2140/pjm.1968.27.95. URL: https://msp.org/pjm/1968/27-1/p08.xhtml.

Commentary.

Variables 0 through n-1 are free. The following m variables are hidden. Defines is the existence of one hidden assignment satisfying every atom under the concatenated assignment. No equality or constants are implicit; they must be supplied as relation symbols when desired.

Definition 1.5 (Coordinatewise preservation).

Formalization. D5/S3/Combinatorics/ConstraintRelations/PrimitivePositive.Preserves (✓ std3).

Citation. David Geiger (1968). Closed systems of functions and predicates. DOI: 10.2140/pjm.1968.27.95. URL: https://msp.org/pjm/1968/27-1/p08.xhtml.

Commentary.

For every family of k tuples in R, applying f at each coordinate yields another tuple in R. Both k and the relation arity n may be zero. This is preservation by an operation, also called a relational polymorphism.

Theorem 1.6 (Polymorphisms preserve pp definitions).

Proof. Machine-checked in Lean as D5/S3/Combinatorics/ConstraintRelations/PrimitivePositive.polymorphism_preserves_pp (✓ std3). ∎

Citation. David Geiger (1968). Closed systems of functions and predicates. DOI: 10.2140/pjm.1968.27.95. URL: https://msp.org/pjm/1968/27-1/p08.xhtml.

Commentary.

For arbitrary carrier D, symbol type S, arities q, operation arity k, free arity n and hidden arity m, an operation preserving each generating relation preserves every relation defined by a finite atom list. Induction on the list proves preservation of its conjunction. Choose one hidden assignment for each input tuple and apply the same operation to those assignments. Variable substitution commutes with this coordinatewise operation, including repeated arguments. The concatenated free and hidden assignments therefore satisfy the entire list. This is the preservation direction of the classical pp/polymorphism correspondence; no converse is asserted.

References