Arity-preserving renaming of second-order relation variables #
A relation renaming maps indices while preserving their arities. Lifting fixes the newly bound relation and renames the older variables. Formula renaming thus avoids capture under both sorts of second-order quantifier. Element variables and vocabulary symbols are unchanged.
A map between relation contexts that preserves the arity of every variable.
The target index of each source relation variable.
Renaming preserves the relation's arity.
Instances For
The identity renaming.
Equations
Instances For
Successive renamings compose in application order.
Instances For
Lift a renaming through a relation binder of arity k.
Equations
Instances For
Make room for a fresh relation variable at index zero.
Equations
- Complexity.DescriptiveComplexity.RelRenaming.weaken rctx k = { index := Fin.succ, arity := ⋯ }
Instances For
Read a target relation environment at the renamed source indices.
Equations
Instances For
Rename the free relation variables, lifting the map beneath SO binders.
Equations
- One or more equations did not get rendered due to their size.
- Complexity.DescriptiveComplexity.SOFormula.renameRel x✝ (Complexity.DescriptiveComplexity.SOFormula.relApp i args) = Complexity.DescriptiveComplexity.SOFormula.relApp i args
- Complexity.DescriptiveComplexity.SOFormula.renameRel x✝ (Complexity.DescriptiveComplexity.SOFormula.eq a b) = Complexity.DescriptiveComplexity.SOFormula.eq a b
- Complexity.DescriptiveComplexity.SOFormula.renameRel x✝ φ.neg = (Complexity.DescriptiveComplexity.SOFormula.renameRel x✝ φ).neg
- Complexity.DescriptiveComplexity.SOFormula.renameRel x✝ (φ.conj ψ) = (Complexity.DescriptiveComplexity.SOFormula.renameRel x✝ φ).conj (Complexity.DescriptiveComplexity.SOFormula.renameRel x✝ ψ)
- Complexity.DescriptiveComplexity.SOFormula.renameRel x✝ (φ.disj ψ) = (Complexity.DescriptiveComplexity.SOFormula.renameRel x✝ φ).disj (Complexity.DescriptiveComplexity.SOFormula.renameRel x✝ ψ)
- Complexity.DescriptiveComplexity.SOFormula.renameRel x✝ φ.exist = (Complexity.DescriptiveComplexity.SOFormula.renameRel x✝ φ).exist
- Complexity.DescriptiveComplexity.SOFormula.renameRel x✝ φ.all = (Complexity.DescriptiveComplexity.SOFormula.renameRel x✝ φ).all