Relations and functions defined by a first-order formula (with parameter) #
@[reducible, inline]
abbrev
LO.FirstOrder.IsDefinedBy
{L : Language}
{M : Type u_1}
[Structure L M]
{k : ℕ}
(R : (Fin k → M) → Prop)
(φ : Semisentence L k)
:
Equations
- LO.FirstOrder.IsDefinedBy R φ = ∀ (v : Fin k → M), (LO.FirstOrder.Semiformula.Evalb v) φ ↔ R v
Instances For
class
LO.FirstOrder.Defined
{L : Language}
{M : Type u_1}
[Structure L M]
{k : ℕ}
(R : outParam ((Fin k → M) → Prop))
(φ : Semisentence L k)
:
- iff : IsDefinedBy R φ
Instances
@[reducible, inline]
abbrev
LO.FirstOrder.IsDefinedByWithParam
{L : Language}
{M : Type u_1}
[Structure L M]
{k : ℕ}
(R : (Fin k → M) → Prop)
(φ : Semiformula L M k)
:
The relation R is definable by a formula φ with parameters over the domain M.
Here, the free variables of φ are indexed by the type M, so that φ may contain finitely many parameters, which are interpreted by using id : M → M for the valuation of free variables.
Equations
- LO.FirstOrder.IsDefinedByWithParam R φ = ∀ (v : Fin k → M), (LO.FirstOrder.Semiformula.Eval v id) φ ↔ R v
Instances For
@[simp]
theorem
LO.FirstOrder.Defined.eval_iff
{L : Language}
{M : Type u_1}
[Structure L M]
{k : ℕ}
{R : (Fin k → M) → Prop}
{φ : Semisentence L k}
[h : Defined R φ]
(v : Fin k → M)
:
theorem
LO.FirstOrder.IsDefinedByWithParam.iff
{L : Language}
{M : Type u_1}
[Structure L M]
{k : ℕ}
{R : (Fin k → M) → Prop}
{φ : Semiformula L M k}
(h : IsDefinedByWithParam R φ)
(v : Fin k → M)
:
@[reducible, inline]
abbrev
LO.FirstOrder.DefinedFunction
{L : Language}
{M : Type u_1}
[Structure L M]
{k : ℕ}
(f : (Fin k → M) → M)
(φ : Semisentence L (k + 1))
:
Equations
- LO.FirstOrder.DefinedFunction f φ = LO.FirstOrder.Defined (fun (v : Fin (k + 1) → M) => v 0 = f fun (x : Fin k) => v x.succ) φ
Instances For
@[reducible, inline]
abbrev
LO.FirstOrder.DefinedPred
{L : Language}
{M : Type u_1}
[Structure L M]
(P : M → Prop)
(φ : Semisentence L 1)
:
Equations
- LO.FirstOrder.DefinedPred P φ = LO.FirstOrder.Defined (fun (v : Fin 1 → M) => P (v 0)) φ
Instances For
@[reducible, inline]
abbrev
LO.FirstOrder.DefinedRel
{L : Language}
{M : Type u_1}
[Structure L M]
(R : M → M → Prop)
(φ : Semisentence L 2)
:
Equations
- LO.FirstOrder.DefinedRel R φ = LO.FirstOrder.Defined (fun (v : Fin 2 → M) => R (v 0) (v 1)) φ
Instances For
@[reducible, inline]
abbrev
LO.FirstOrder.DefinedRel₃
{L : Language}
{M : Type u_1}
[Structure L M]
(R : M → M → M → Prop)
(φ : Semisentence L 3)
:
Equations
- LO.FirstOrder.DefinedRel₃ R φ = LO.FirstOrder.Defined (fun (v : Fin 3 → M) => R (v 0) (v 1) (v 2)) φ
Instances For
@[reducible, inline]
abbrev
LO.FirstOrder.DefinedRel₄
{L : Language}
{M : Type u_1}
[Structure L M]
(R : M → M → M → M → Prop)
(φ : Semisentence L 4)
:
Equations
- LO.FirstOrder.DefinedRel₄ R φ = LO.FirstOrder.Defined (fun (v : Fin 4 → M) => R (v 0) (v 1) (v 2) (v 3)) φ
Instances For
@[reducible, inline]
abbrev
LO.FirstOrder.DefinedFunction₀
{L : Language}
{M : Type u_1}
[Structure L M]
(c : M)
(φ : Semisentence L 1)
:
Equations
- LO.FirstOrder.DefinedFunction₀ c φ = LO.FirstOrder.DefinedFunction (fun (x : Fin 0 → M) => c) φ
Instances For
@[reducible, inline]
abbrev
LO.FirstOrder.DefinedFunction₁
{L : Language}
{M : Type u_1}
[Structure L M]
(f : M → M)
(φ : Semisentence L 2)
:
Equations
- LO.FirstOrder.DefinedFunction₁ f φ = LO.FirstOrder.DefinedFunction (fun (v : Fin 1 → M) => f (v 0)) φ
Instances For
@[reducible, inline]
abbrev
LO.FirstOrder.DefinedFunction₂
{L : Language}
{M : Type u_1}
[Structure L M]
(f : M → M → M)
(φ : Semisentence L 3)
:
Equations
- LO.FirstOrder.DefinedFunction₂ f φ = LO.FirstOrder.DefinedFunction (fun (v : Fin 2 → M) => f (v 0) (v 1)) φ
Instances For
@[reducible, inline]
abbrev
LO.FirstOrder.DefinedFunction₃
{L : Language}
{M : Type u_1}
[Structure L M]
(f : M → M → M → M)
(φ : Semisentence L 4)
:
Equations
- LO.FirstOrder.DefinedFunction₃ f φ = LO.FirstOrder.DefinedFunction (fun (v : Fin 3 → M) => f (v 0) (v 1) (v 2)) φ
Instances For
@[reducible, inline]
abbrev
LO.FirstOrder.DefinedFunction₄
{L : Language}
{M : Type u_1}
[Structure L M]
(f : M → M → M → M → M)
(φ : Semisentence L 5)
:
Equations
- LO.FirstOrder.DefinedFunction₄ f φ = LO.FirstOrder.DefinedFunction (fun (v : Fin 4 → M) => f (v 0) (v 1) (v 2) (v 3)) φ
Instances For
@[reducible, inline]
abbrev
LO.FirstOrder.DefinedFunction₅
{L : Language}
{M : Type u_1}
[Structure L M]
(f : M → M → M → M → M → M)
(φ : Semisentence L 6)
:
Equations
- LO.FirstOrder.DefinedFunction₅ f φ = LO.FirstOrder.DefinedFunction (fun (v : Fin 5 → M) => f (v 0) (v 1) (v 2) (v 3) (v 4)) φ
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
class
LO.FirstOrder.Language.Definable
(L : Language)
{M : Type u_1}
[Structure L M]
{k : ℕ}
(P : (Fin k → M) → Prop)
:
- definable : ∃ (φ : Semiformula L M k), IsDefinedByWithParam P φ
Instances
@[reducible, inline]
abbrev
LO.FirstOrder.Language.DefinableFunction₀
(L : Language)
{M : Type u_1}
[Structure L M]
(c : M)
:
Equations
- L.DefinableFunction₀ c = L.DefinableFunction fun (x : Fin 0 → M) => c
Instances For
@[reducible, inline]
abbrev
LO.FirstOrder.Language.DefinableFunction₁
(L : Language)
{M : Type u_1}
[Structure L M]
(f : M → M)
:
Equations
- (L-function₁ f) = L.DefinableFunction fun (v : Fin 1 → M) => f (v 0)
Instances For
@[reducible, inline]
abbrev
LO.FirstOrder.Language.DefinableFunction₂
(L : Language)
{M : Type u_1}
[Structure L M]
(f : M → M → M)
:
Equations
- (L-function₂ f) = L.DefinableFunction fun (v : Fin 2 → M) => f (v 0) (v 1)
Instances For
@[reducible, inline]
abbrev
LO.FirstOrder.Language.DefinableFunction₃
(L : Language)
{M : Type u_1}
[Structure L M]
(f : M → M → M → M)
:
Equations
- (L-function₃ f) = L.DefinableFunction fun (v : Fin 3 → M) => f (v 0) (v 1) (v 2)
Instances For
@[reducible, inline]
abbrev
LO.FirstOrder.Language.DefinableFunction₄
(L : Language)
{M : Type u_1}
[Structure L M]
(f : M → M → M → M → M)
:
Equations
- (L-function₄ f) = L.DefinableFunction fun (v : Fin 4 → M) => f (v 0) (v 1) (v 2) (v 3)
Instances For
@[reducible, inline]
abbrev
LO.FirstOrder.Language.DefinableFunction₅
(L : Language)
{M : Type u_1}
[Structure L M]
(f : M → M → M → M → M → M)
:
Equations
- L.DefinableFunction₅ f = L.DefinableFunction fun (v : Fin 5 → M) => f (v 0) (v 1) (v 2) (v 3) (v 4)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
LO.FirstOrder.IsDefinedBy.of_vec_one
{L : Language}
{M : Type u_1}
[Structure L M]
{R : (Fin 1 → M) → Prop}
{φ : Semisentence L 1}
(h : ∀ (x : M), (Semiformula.Evalb ![x]) φ ↔ R ![x])
:
IsDefinedBy R φ
theorem
LO.FirstOrder.IsDefinedBy.of_vec_two
{L : Language}
{M : Type u_1}
[Structure L M]
{R : (Fin 2 → M) → Prop}
{φ : Semisentence L 2}
(h : ∀ (x y : M), (Semiformula.Evalb ![x, y]) φ ↔ R ![x, y])
:
IsDefinedBy R φ
theorem
LO.FirstOrder.IsDefinedBy.of_vec_three
{L : Language}
{M : Type u_1}
[Structure L M]
{R : (Fin 3 → M) → Prop}
{φ : Semisentence L 3}
(h : ∀ (x y z : M), (Semiformula.Evalb ![x, y, z]) φ ↔ R ![x, y, z])
:
IsDefinedBy R φ
theorem
LO.FirstOrder.DefinedFunction.to_definable
{L : Language}
{M : Type u_1}
[Structure L M]
{k : ℕ}
{f : (Fin k → M) → M}
{φ : Semisentence L (k + 1)}
(hf : DefinedFunction f φ)
:
instance
LO.FirstOrder.Language.Definable.eq
{L : Language}
{M : Type u_1}
[Structure L M]
[L.Eq]
[Structure.Eq L M]
:
instance
LO.FirstOrder.Language.Definable.lt
{L : Language}
{M : Type u_1}
[Structure L M]
[L.LT]
[LT M]
[Structure.LT L M]
:
instance
LO.FirstOrder.Language.Definable.mem
{L : Language}
{M : Type u_1}
[Structure L M]
[L.Mem]
[Membership M M]
[Structure.Mem L M]
:
theorem
LO.FirstOrder.Language.Definable.exsVec
{L : Language}
{M : Type u_1}
[Structure L M]
{k l : ℕ}
{P : (Fin k → M) → (Fin l → M) → Prop}
(h :
L.Definable fun (w : Fin (k + l) → M) =>
P (fun (i : Fin k) => w (Fin.castAdd l i)) fun (j : Fin l) => w (Fin.natAdd k j))
:
theorem
LO.FirstOrder.Language.Definable.allVec
{L : Language}
{M : Type u_1}
[Structure L M]
{k l : ℕ}
{P : (Fin k → M) → (Fin l → M) → Prop}
(h :
L.Definable fun (w : Fin (k + l) → M) =>
P (fun (i : Fin k) => w (Fin.castAdd l i)) fun (j : Fin l) => w (Fin.natAdd k j))
:
theorem
LO.FirstOrder.Language.DefinablePred.comp
{L : Language}
{M : Type u_1}
[Structure L M]
{P : M → Prop}
{k : ℕ}
{f : (Fin k → M) → M}
[hP : L-predicate P]
(hf : L.DefinableFunction f)
:
theorem
LO.FirstOrder.Language.DefinableRel.comp
{L : Language}
{M : Type u_1}
[Structure L M]
{P : M → M → Prop}
{k : ℕ}
{f g : (Fin k → M) → M}
[hP : L-relation P]
(hf : L.DefinableFunction f)
(hg : L.DefinableFunction g)
:
theorem
LO.FirstOrder.Language.DefinableRel₃.comp
{L : Language}
{M : Type u_1}
[Structure L M]
{k : ℕ}
{P : M → M → M → Prop}
{f₁ f₂ f₃ : (Fin k → M) → M}
[hP : L-relation₃ P]
(hf₁ : L.DefinableFunction f₁)
(hf₂ : L.DefinableFunction f₂)
(hf₃ : L.DefinableFunction f₃)
:
theorem
LO.FirstOrder.Language.DefinableRel₄.comp
{L : Language}
{M : Type u_1}
[Structure L M]
{k : ℕ}
{P : M → M → M → M → Prop}
{f₁ f₂ f₃ f₄ : (Fin k → M) → M}
[hP : L-relation₄ P]
(hf₁ : L.DefinableFunction f₁)
(hf₂ : L.DefinableFunction f₂)
(hf₃ : L.DefinableFunction f₃)
(hf₄ : L.DefinableFunction f₄)
:
theorem
LO.FirstOrder.Language.DefinableRel₅.comp
{L : Language}
{M : Type u_1}
[Structure L M]
{k : ℕ}
{P : M → M → M → M → M → Prop}
{f₁ f₂ f₃ f₄ f₅ : (Fin k → M) → M}
[hP : L-relation₅ P]
(hf₁ : L.DefinableFunction f₁)
(hf₂ : L.DefinableFunction f₂)
(hf₃ : L.DefinableFunction f₃)
(hf₄ : L.DefinableFunction f₄)
(hf₅ : L.DefinableFunction f₅)
:
theorem
LO.FirstOrder.Language.DefinablePred.of_iff
{L : Language}
{M : Type u_1}
[Structure L M]
{P Q : M → Prop}
(H : L-predicate Q)
(h : ∀ (x : M), P x ↔ Q x)
:
instance
LO.FirstOrder.Language.DefinableFunction₁.graph
{L : Language}
{M : Type u_1}
[Structure L M]
{f : M → M}
[h : L-function₁ f]
:
instance
LO.FirstOrder.Language.DefinableFunction₂.graph
{L : Language}
{M : Type u_1}
[Structure L M]
{f : M → M → M}
[h : L-function₂ f]
:
instance
LO.FirstOrder.Language.DefinableFunction₃.graph
{L : Language}
{M : Type u_1}
[Structure L M]
{f : M → M → M → M}
[h : L-function₃ f]
:
Definable functions #
instance
LO.FirstOrder.Language.DefinableFunction.projection
{L : Language}
{M : Type u_1}
[Structure L M]
[L.Eq]
[Structure.Eq L M]
{k : ℕ}
(i : Fin k)
:
L.DefinableFunction fun (w : Fin k → M) => w i
instance
LO.FirstOrder.Language.DefinableFunction.const
{L : Language}
{M : Type u_1}
[Structure L M]
[L.Eq]
[Structure.Eq L M]
{k : ℕ}
(c : M)
:
L.DefinableFunction fun (x : Fin k → M) => c
theorem
LO.FirstOrder.Language.DefinableFunction.substitution
{L : Language}
{M : Type u_1}
[Structure L M]
[L.Eq]
[Structure.Eq L M]
{k l : ℕ}
{F : (Fin k → M) → M}
{f : Fin k → (Fin l → M) → M}
(hF : L.DefinableFunction F)
(hf : ∀ (i : Fin k), L.DefinableFunction (f i))
:
L.DefinableFunction fun (z : Fin l → M) => F fun (i : Fin k) => f i z
instance
LO.FirstOrder.Language.DefinableFunction.hAdd
{L : Language}
{M : Type u_1}
[Structure L M]
[L.Eq]
[Structure.Eq L M]
[L.Add]
[Add M]
[Structure.Add L M]
:
instance
LO.FirstOrder.Language.DefinableFunction.hMul
{L : Language}
{M : Type u_1}
[Structure L M]
[L.Eq]
[Structure.Eq L M]
[L.Mul]
[Mul M]
[Structure.Mul L M]
:
theorem
LO.FirstOrder.Language.DefinableFunction₁.comp
{L : Language}
{M : Type u_1}
[Structure L M]
[L.Eq]
[Structure.Eq L M]
{k : ℕ}
{F : M → M}
{f : (Fin k → M) → M}
[hF : L-function₁ F]
(hf : L.DefinableFunction f)
:
L.DefinableFunction fun (v : Fin k → M) => F (f v)
theorem
LO.FirstOrder.Language.DefinableFunction₂.comp
{L : Language}
{M : Type u_1}
[Structure L M]
[L.Eq]
[Structure.Eq L M]
{k : ℕ}
{F : M → M → M}
{f₁ f₂ : (Fin k → M) → M}
[hF : L-function₂ F]
(hf₁ : L.DefinableFunction f₁)
(hf₂ : L.DefinableFunction f₂)
:
L.DefinableFunction fun (v : Fin k → M) => F (f₁ v) (f₂ v)
theorem
LO.FirstOrder.Language.DefinableFunction₃.comp
{L : Language}
{M : Type u_1}
[Structure L M]
[L.Eq]
[Structure.Eq L M]
{k : ℕ}
{F : M → M → M → M}
{f₁ f₂ f₃ : (Fin k → M) → M}
[hF : L-function₃ F]
(hf₁ : L.DefinableFunction f₁)
(hf₂ : L.DefinableFunction f₂)
(hf₃ : L.DefinableFunction f₃)
:
L.DefinableFunction fun (v : Fin k → M) => F (f₁ v) (f₂ v) (f₃ v)
theorem
LO.FirstOrder.Language.DefinableFunction₄.comp
{L : Language}
{M : Type u_1}
[Structure L M]
[L.Eq]
[Structure.Eq L M]
{k : ℕ}
{F : M → M → M → M → M}
{f₁ f₂ f₃ f₄ : (Fin k → M) → M}
[hF : L-function₄ F]
(hf₁ : L.DefinableFunction f₁)
(hf₂ : L.DefinableFunction f₂)
(hf₃ : L.DefinableFunction f₃)
(hf₄ : L.DefinableFunction f₄)
:
L.DefinableFunction fun (v : Fin k → M) => F (f₁ v) (f₂ v) (f₃ v) (f₄ v)
theorem
LO.FirstOrder.Language.DefinableFunction₅.comp
{L : Language}
{M : Type u_1}
[Structure L M]
[L.Eq]
[Structure.Eq L M]
{k : ℕ}
{F : M → M → M → M → M → M}
{f₁ f₂ f₃ f₄ f₅ : (Fin k → M) → M}
[hF : L.DefinableFunction₅ F]
(hf₁ : L.DefinableFunction f₁)
(hf₂ : L.DefinableFunction f₂)
(hf₃ : L.DefinableFunction f₃)
(hf₄ : L.DefinableFunction f₄)
(hf₅ : L.DefinableFunction f₅)
:
L.DefinableFunction fun (v : Fin k → M) => F (f₁ v) (f₂ v) (f₃ v) (f₄ v) (f₅ v)
Equations
- LO.FirstOrder.Language.attrDefinability = Lean.ParserDescr.node `LO.FirstOrder.Language.attrDefinability 1024 (Lean.ParserDescr.nonReservedSymbol "definability" false)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.