Supporting results for pointwise provable equality.
Finite sublanguage #
def
PointwiseComposition.FFL.FirstOrder.Language.unsub
(L : Language)
{pf : (k : ℕ) → L.Func k → Prop}
{pr : (k : ℕ) → L.Rel k → Prop}
:
(L.sublanguage pf pr).Hom L
The unsub construction in FFL.FirstOrder.Language.
Equations
- L.unsub = { func := fun {k : ℕ} => Subtype.val, rel := fun {k : ℕ} => Subtype.val }
Instances For
def
PointwiseComposition.FFL.FirstOrder.Semiterm.symbols
{L : Language}
[(k : ℕ) → DecidableEq (L.Func k)]
{ξ : Type u_1}
{n : ℕ}
:
The symbols construction in FFL.FirstOrder.Semiterm.
Equations
- (PointwiseComposition.FFL.FirstOrder.Semiterm.bvar a).symbols = ∅
- (PointwiseComposition.FFL.FirstOrder.Semiterm.fvar a).symbols = ∅
- (PointwiseComposition.FFL.FirstOrder.Semiterm.func f v).symbols = insert ⟨arity, f⟩ (Finset.univ.biUnion fun (i : Fin arity) => (v i).symbols)
Instances For
def
PointwiseComposition.FFL.FirstOrder.Semiterm.toSublanguage
{L : Language}
[(k : ℕ) → DecidableEq (L.Func k)]
{ξ : Type u_1}
{n : ℕ}
(pf : (k : ℕ) → L.Func k → Prop)
(pr : (k : ℕ) → L.Rel k → Prop)
(t : Semiterm L ξ n)
:
The to Sublanguage construction in FFL.FirstOrder.Semiterm.
Equations
- One or more equations did not get rendered due to their size.
- PointwiseComposition.FFL.FirstOrder.Semiterm.toSublanguage pf pr (PointwiseComposition.FFL.FirstOrder.Semiterm.bvar x_2) x_3 = PointwiseComposition.FFL.FirstOrder.Semiterm.bvar x_2
- PointwiseComposition.FFL.FirstOrder.Semiterm.toSublanguage pf pr (PointwiseComposition.FFL.FirstOrder.Semiterm.fvar x_2) x_3 = PointwiseComposition.FFL.FirstOrder.Semiterm.fvar x_2
Instances For
@[simp]
noncomputable def
PointwiseComposition.FFL.FirstOrder.Semiformula.functionSymbols
{L : Language}
[L.DecidableEq]
{ξ : Type u_1}
{n : ℕ}
:
Semiformula L ξ n → Finset ((k : ℕ) × L.Func k)
The function Symbols construction in FFL.FirstOrder.Semiformula.
Equations
- (PointwiseComposition.FFL.FirstOrder.Semiformula.rel a v).functionSymbols = Finset.univ.biUnion fun (i : Fin arity) => (v i).symbols
- (PointwiseComposition.FFL.FirstOrder.Semiformula.nrel a v).functionSymbols = Finset.univ.biUnion fun (i : Fin arity) => (v i).symbols
- PointwiseComposition.FFL.FirstOrder.Semiformula.verum.functionSymbols = ∅
- PointwiseComposition.FFL.FirstOrder.Semiformula.falsum.functionSymbols = ∅
- (φ.and ψ).functionSymbols = φ.functionSymbols ∪ ψ.functionSymbols
- (φ.or ψ).functionSymbols = φ.functionSymbols ∪ ψ.functionSymbols
- φ.all.functionSymbols = φ.functionSymbols
- φ.exs.functionSymbols = φ.functionSymbols
Instances For
noncomputable def
PointwiseComposition.FFL.FirstOrder.Semiformula.relationSymbols
{L : Language}
[L.DecidableEq]
{ξ : Type u_1}
{n : ℕ}
:
Semiformula L ξ n → Finset ((k : ℕ) × L.Rel k)
The relation Symbols construction in FFL.FirstOrder.Semiformula.
Equations
- (PointwiseComposition.FFL.FirstOrder.Semiformula.rel a v).relationSymbols = {⟨arity, a⟩}
- (PointwiseComposition.FFL.FirstOrder.Semiformula.nrel a v).relationSymbols = {⟨arity, a⟩}
- PointwiseComposition.FFL.FirstOrder.Semiformula.verum.relationSymbols = ∅
- PointwiseComposition.FFL.FirstOrder.Semiformula.falsum.relationSymbols = ∅
- (φ.and ψ).relationSymbols = φ.relationSymbols ∪ ψ.relationSymbols
- (φ.or ψ).relationSymbols = φ.relationSymbols ∪ ψ.relationSymbols
- φ.all.relationSymbols = φ.relationSymbols
- φ.exs.relationSymbols = φ.relationSymbols
Instances For
theorem
PointwiseComposition.FFL.FirstOrder.Semiformula.functionSymbols_rel_ss
{L : Language}
[L.DecidableEq]
{ξ : Type u_1}
{n k : ℕ}
(r : L.Rel k)
(v : Fin k → Semiterm L ξ n)
(i : Fin k)
:
(v i).symbols ⊆ (rel r v).functionSymbols
def
PointwiseComposition.FFL.FirstOrder.Semiformula.toSublanguage
{L : Language}
[L.DecidableEq]
{ξ : Type u_1}
(pf : (k : ℕ) → L.Func k → Prop)
(pr : (k : ℕ) → L.Rel k → Prop)
{n : ℕ}
(φ : Semiformula L ξ n)
:
(∀ (k : ℕ) (f : L.Func k), ⟨k, f⟩ ∈ φ.functionSymbols → pf k f) →
(∀ (k : ℕ) (r : L.Rel k), ⟨k, r⟩ ∈ φ.relationSymbols → pr k r) → Semiformula (L.sublanguage pf pr) ξ n
The to Sublanguage construction in FFL.FirstOrder.Semiformula.
Equations
- One or more equations did not get rendered due to their size.
- PointwiseComposition.FFL.FirstOrder.Semiformula.toSublanguage pf pr PointwiseComposition.FFL.FirstOrder.Semiformula.verum x_3 x_4 = ⊤
- PointwiseComposition.FFL.FirstOrder.Semiformula.toSublanguage pf pr PointwiseComposition.FFL.FirstOrder.Semiformula.falsum x_3 x_4 = ⊥
- PointwiseComposition.FFL.FirstOrder.Semiformula.toSublanguage pf pr φ.all hf hr = ∀¹ PointwiseComposition.FFL.FirstOrder.Semiformula.toSublanguage pf pr φ hf hr
- PointwiseComposition.FFL.FirstOrder.Semiformula.toSublanguage pf pr φ.exs hf hr = ∃¹ PointwiseComposition.FFL.FirstOrder.Semiformula.toSublanguage pf pr φ hf hr
Instances For
@[simp]
theorem
PointwiseComposition.FFL.FirstOrder.Semiformula.lMap_toSublanguage
{L : Language}
[L.DecidableEq]
{ξ : Type u_1}
(pf : (k : ℕ) → L.Func k → Prop)
(pr : (k : ℕ) → L.Rel k → Prop)
{n : ℕ}
(φ : Semiformula L ξ n)
(hf : ∀ (k : ℕ) (f : L.Func k), ⟨k, f⟩ ∈ φ.functionSymbols → pf k f)
(hr : ∀ (k : ℕ) (r : L.Rel k), ⟨k, r⟩ ∈ φ.relationSymbols → pr k r)
:
@[reducible, inline]
abbrev
PointwiseComposition.FFL.FirstOrder.Semiformula.sublanguage
{ξ : Type u_1}
{n : ℕ}
{L : Language}
[L.DecidableEq]
(φ : Semiformula L ξ n)
:
A language consists of the function and relation symbols appearing in a given finite set of formulas.
Equations
- φ.sublanguage = L.sublanguage (fun (k : ℕ) (f : L.Func k) => ⟨k, f⟩ ∈ φ.functionSymbols) fun (k : ℕ) (r : L.Rel k) => ⟨k, r⟩ ∈ φ.relationSymbols
Instances For
@[instance_reducible]
noncomputable instance
PointwiseComposition.FFL.FirstOrder.Semiformula.instFintypeFuncSublanguage
{ξ : Type u_1}
{n : ℕ}
{L : Language}
[L.DecidableEq]
(φ : Semiformula L ξ n)
(k : ℕ)
:
Fintype (φ.sublanguage.Func k)
Equations
- φ.instFintypeFuncSublanguage k = Fintype.subtype (φ.functionSymbols.preimage (fun (x : L.Func k) => ⟨k, x⟩) ⋯) ⋯
@[instance_reducible]
noncomputable instance
PointwiseComposition.FFL.FirstOrder.Semiformula.instFintypeRelSublanguage
{ξ : Type u_1}
{n : ℕ}
{L : Language}
[L.DecidableEq]
(φ : Semiformula L ξ n)
(k : ℕ)
:
Fintype (φ.sublanguage.Rel k)
Equations
- φ.instFintypeRelSublanguage k = Fintype.subtype (φ.relationSymbols.preimage (fun (x : L.Rel k) => ⟨k, x⟩) ⋯) ⋯
@[instance_reducible]
noncomputable instance
PointwiseComposition.FFL.FirstOrder.Semiformula.instEncodableSublanguage
{ξ : Type u_1}
{n : ℕ}
{L : Language}
[L.DecidableEq]
(φ : Semiformula L ξ n)
:
Equations
- φ.instEncodableSublanguage = { func := fun (x : ℕ) => Fintype.toEncodable (φ.sublanguage.Func x), rel := fun (x : ℕ) => Fintype.toEncodable (φ.sublanguage.Rel x) }
def
PointwiseComposition.FFL.FirstOrder.Semiformula.toSubLanguageSelf
{ξ : Type u_1}
{n : ℕ}
{L : Language}
[L.DecidableEq]
(φ : Semiformula L ξ n)
:
Semiformula φ.sublanguage ξ n
The to Sub Language Self construction in FFL.FirstOrder.Semiformula.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
PointwiseComposition.FFL.FirstOrder.Semiformula.lMap_toSubLanguage
{ξ : Type u_1}
{n : ℕ}
{L : Language}
[L.DecidableEq]
{φ : Semiformula L ξ n}
:
Tarski.Structure induced by an injective language homomorphism #
class
PointwiseComposition.FFL.FirstOrder.Language.Hom.Injective
{L₁ : Language}
{L₂ : Language}
(Φ : L₁.Hom L₂)
:
Data and laws for Injective in FFL.FirstOrder.Language.Hom.
- func (k : ℕ) : Function.Injective Φ.func
- rel (k : ℕ) : Function.Injective Φ.rel
Instances
@[reducible, inline]
noncomputable abbrev
PointwiseComposition.FFL.FirstOrder.Tarski.Structure.extendStructure
{L₁ : Language}
{L₂ : Language}
(Φ : L₁.Hom L₂)
{M : Type u_1}
[Nonempty M]
(s : Structure L₁ M)
:
Structure L₂ M
The extend Structure construction in FFL.FirstOrder.Tarski.Structure.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
PointwiseComposition.FFL.FirstOrder.satisfiable_lMap
{L₁ L₂ : Language}
(Φ : L₁.Hom L₂)
[Φ.Injective]
{T : Theory L₁}
(s : Satisfiable T)
:
Satisfiable (Theory.lMap Φ T)