Flypitch.FOL.Bounded packages terms and formulas together with proofs that their free
variables stay below a prescribed bound. These bounded wrappers are used to represent
closed syntax and to build Henkin witnesses later in the development.
Terms with free variables bounded by n.
Equations
- Flypitch.fol.bounded_preterm L n l = { t : Flypitch.fol.preterm L l // Flypitch.fol.bounded_term_at t n }
Instances For
Closed terms with free variables bounded by n.
Equations
Instances For
Closed partially applied terms.
Equations
Instances For
Closed terms, i.e. terms with no free variables.
Equations
Instances For
Equations
Instances For
Eta-expansion for bounded terms as subtypes.
Reinterpret a bounded term at a larger variable bound.
Equations
- Flypitch.fol.bounded_preterm.cast h t = ⟨↑t, ⋯⟩
Instances For
A bounded term remains bounded when the bound is increased by one.
Equations
Instances For
A function symbol viewed as a bounded partially applied term.
Equations
Instances For
Application of bounded terms preserves boundedness.
Equations
- Flypitch.fol.bd_app t s = ⟨(↑t).app ↑s, ⋯⟩
Instances For
Constants are exactly bounded nullary function symbols.
Equations
Instances For
Fully apply a bounded partially applied term to bounded arguments.
Equations
Instances For
Formulas with free variables bounded by n.
Equations
- Flypitch.fol.bounded_preformula L n l = { f : Flypitch.fol.preformula L l // Flypitch.fol.bounded_formula_at f n }
Instances For
Closed formulas with free variables bounded by n.
Equations
Instances For
Closed partially applied formulas.
Equations
Instances For
Equations
Instances For
Eta-expansion for bounded formulas as subtypes.
Reinterpret a bounded formula at a larger free-variable bound.
Equations
- Flypitch.fol.bounded_preformula.cast h f = ⟨↑f, ⋯⟩
Instances For
A bounded formula remains bounded when the bound is increased by one.
Equations
Instances For
The bounded version of falsum.
Instances For
Equality of bounded terms as a bounded formula.
Equations
- Flypitch.fol.bd_equal t₁ t₂ = ⟨↑t₁ ≃ ↑t₂, ⋯⟩
Instances For
A relation symbol viewed as a bounded partially applied formula.
Equations
Instances For
Apply a bounded partially applied formula to a bounded term.
Equations
- Flypitch.fol.bd_apprel f t = ⟨(↑f).apprel ↑t, ⋯⟩
Instances For
Universal quantification lowers the free-variable bound by one.
Equations
- Flypitch.fol.bd_all f = ⟨∀' ↑f, ⋯⟩
Instances For
Equations
Negation on bounded formulas.
Equations
Instances For
Conjunction on bounded formulas.
Equations
- Flypitch.fol.bd_and f₁ f₂ = Flypitch.fol.bd_not (Flypitch.fol.bd_imp f₁ (Flypitch.fol.bd_not f₂))
Instances For
Disjunction on bounded formulas.
Equations
- Flypitch.fol.bd_or f₁ f₂ = Flypitch.fol.bd_imp (Flypitch.fol.bd_not f₁) f₂
Instances For
Biconditional on bounded formulas.
Equations
- Flypitch.fol.bd_biimp f₁ f₂ = Flypitch.fol.bd_and (Flypitch.fol.bd_imp f₁ f₂) (Flypitch.fol.bd_imp f₂ f₁)
Instances For
Existential quantification on bounded formulas.
Equations
Instances For
Fully apply a bounded relation formula to bounded arguments.