Bound-variable relabelling and weakening of infinitary formulas #
A bounded formula with m bound-variable slots can be relabelled along any map
f : Fin m → Fin n of slots. A quantifier binds the last slot, so the relabelling extends f
past each quantifier by sending the newly quantified slot to the new last slot. Quantified
variables therefore move with their binders, and the relabelled formula is realized at a valuation
xs exactly when the original is realized at xs ∘ f. The map f need not be injective:
relabelling along it may identify bound variables.
Weakening castLE along m ≤ n is relabelling along Fin.castLE. It corresponds to Mathlib's
finitary weakening BoundedFormula.liftAt that inserts the new slots after the m existing ones,
not to Mathlib's finitary BoundedFormula.castLE, which keeps a quantified variable at its old
slot and so preserves realization only when m = n.
Main definitions #
FirstOrder.Language.BoundedFormulaInf.mapBound: relabelling of bound-variable slots.FirstOrder.Language.BoundedFormulaInf.castLE: weakening alongm ≤ n.
Main results #
FirstOrder.Language.BoundedFormulaInf.realize_mapBound: relabelling alongfis realization atxs ∘ f.FirstOrder.Language.BoundedFormulaInf.realize_castLE: weakening is realization atxs ∘ Fin.castLE h, for everym ≤ n.FirstOrder.Language.BoundedFormulaInf.mapBound_id,FirstOrder.Language.BoundedFormulaInf.mapBound_mapBound,FirstOrder.Language.BoundedFormulaInf.castLE_rflandFirstOrder.Language.BoundedFormulaInf.castLE_castLE: identity and composition.
References #
cameronfreer/infinitary-logicat commit9f82bd572af2d79a043c6bc3f1b745f14e0bcaa4hascastLEat carrierℕinInfinitaryLogic/Lomega1omega/Operations.lean, with realization only for equal slot counts.- Divergences from that source: weakening is defined for every carrier, through the general
relabelling
mapBound, which moves quantified variables with their binders, so that realization holds for everym ≤ n.
Relabel the bound-variable slots of an infinitary formula along f : Fin m → Fin n. Past a
quantifier, f is extended by sending the quantified slot to the new last slot, so quantified
variables move with their binders.
Instances For
Past a quantifier, relabelling sends the quantified slot to the new last slot.
Relabelling commutes with disjunctions over the carrier.
Relabelling commutes with conjunctions over the carrier.
Relabelling is realization along the slot map: the relabelled formula is realized at xs
exactly when the original is realized at xs ∘ f.
Relabelling along the identity is the identity.
Relabelling along f and then g is relabelling along g ∘ f.
Weakening #
Weakening an infinitary formula from m to n ≥ m bound-variable slots, by relabelling
along Fin.castLE. Quantified variables move with their binders, so the result has the same
meaning at every valuation of the n slots that agrees on the first m. This corresponds to
Mathlib's finitary BoundedFormula.liftAt inserting the new slots after the existing ones, not
to Mathlib's finitary BoundedFormula.castLE.
Instances For
Weakening is relabelling along Fin.castLE.
Weakening preserves meaning, for every m ≤ n: the weakened formula is realized at xs
exactly when the original is realized at the first m slots of xs.
Weakening along m ≤ m is the identity.