@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[reducible, inline]
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[reducible, inline]
abbrev
LO.FirstOrder.Theory.Eq.funcExt
{L : Language}
[Semiformula.Operator.Eq L]
{k : ℕ}
(f : L.Func k)
:
Sentence L
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[reducible, inline]
abbrev
LO.FirstOrder.Theory.Eq.relExt
{L : Language}
[Semiformula.Operator.Eq L]
{k : ℕ}
(r : L.Rel k)
:
Sentence L
Equations
- One or more equations did not get rendered due to their size.
Instances For
- refl {L : Language} [Semiformula.Operator.Eq L] : 𝗘𝗤 L (Eq.refl L)
- symm {L : Language} [Semiformula.Operator.Eq L] : 𝗘𝗤 L (Eq.symm L)
- trans {L : Language} [Semiformula.Operator.Eq L] : 𝗘𝗤 L (Eq.trans L)
- funcExt {L : Language} [Semiformula.Operator.Eq L] {k : ℕ} (f : L.Func k) : 𝗘𝗤 L (Eq.funcExt f)
- relExt {L : Language} [Semiformula.Operator.Eq L] {k : ℕ} (r : L.Rel k) : 𝗘𝗤 L (Eq.relExt r)
Instances For
Equations
- LO.FirstOrder.Theory.«term𝗘𝗤» = Lean.ParserDescr.node `LO.FirstOrder.Theory.«term𝗘𝗤» 1024 (Lean.ParserDescr.symbol "𝗘𝗤")
Instances For
@[simp]
theorem
LO.FirstOrder.Theory.EqAxiom.finite
{L : Language}
[Semiformula.Operator.Eq L]
[L.Finite]
:
Set.Finite (𝗘𝗤 L)
@[simp]
instance
LO.FirstOrder.Structure.Eq.models_eq
(L : Language)
[Semiformula.Operator.Eq L]
(M : Type u_2)
[Nonempty M]
[Structure L M]
[Structure.Eq L M]
:
instance
LO.FirstOrder.Structure.Eq.models_eqAxiom'
(L : Language)
[Semiformula.Operator.Eq L]
(M : Type u_2)
[Nonempty M]
[Structure L M]
[Structure.Eq L M]
:
def
LO.FirstOrder.Structure.Eq.eqv
(L : Language)
[Semiformula.Operator.Eq L]
{M : Type u_2}
[Structure L M]
(a b : M)
:
Equations
Instances For
theorem
LO.FirstOrder.Structure.Eq.eqv_equivalence
{L : Language}
[Semiformula.Operator.Eq L]
{M : Type u_2}
[Nonempty M]
[Structure L M]
[H : M↓[L] ⊧* 𝗘𝗤 L]
:
Equivalence (eqv L)
def
LO.FirstOrder.Structure.Eq.eqvSetoid
(L : Language)
[Semiformula.Operator.Eq L]
(M : Type u_2)
[Nonempty M]
[Structure L M]
[H : M↓[L] ⊧* 𝗘𝗤 L]
:
Setoid M
Equations
- LO.FirstOrder.Structure.Eq.eqvSetoid L M = { r := LO.FirstOrder.Structure.Eq.eqv L, iseqv := ⋯ }
Instances For
def
LO.FirstOrder.Structure.Eq.QuotEq.func
{L : Language}
[Semiformula.Operator.Eq L]
{M : Type u_2}
[Nonempty M]
[Structure L M]
[H : M↓[L] ⊧* 𝗘𝗤 L]
⦃k : ℕ⦄
(f : L.Func k)
(v : Fin k → QuotEq L M)
:
QuotEq L M
Equations
- LO.FirstOrder.Structure.Eq.QuotEq.func f v = Quotient.liftVec (fun (x : Fin k → M) => ⟦LO.FirstOrder.Structure.func f x⟧) ⋯ v
Instances For
@[implicit_reducible]
instance
LO.FirstOrder.Structure.Eq.QuotEq.struc
{L : Language}
[Semiformula.Operator.Eq L]
{M : Type u_2}
[Nonempty M]
[Structure L M]
[H : M↓[L] ⊧* 𝗘𝗤 L]
:
Equations
theorem
LO.FirstOrder.Structure.Eq.QuotEq.eval_mk
{L : Language}
{ξ : Type u_1}
[Semiformula.Operator.Eq L]
{M : Type u_2}
[Nonempty M]
[Structure L M]
[H : M↓[L] ⊧* 𝗘𝗤 L]
{n : ℕ}
{bv : Fin n → M}
{fv : ξ → M}
{φ : Semiformula L ξ n}
:
instance
LO.FirstOrder.Structure.Eq.QuotEq.structureEq
{L : Language}
[Semiformula.Operator.Eq L]
{M : Type u_2}
[Nonempty M]
[Structure L M]
[H : M↓[L] ⊧* 𝗘𝗤 L]
:
Structure.Eq L (QuotEq L M)
theorem
LO.FirstOrder.satisfiable_iff_eq
{L : Language}
[Semiformula.Operator.Eq L]
{T : Theory L}
[𝗘𝗤 L ⪯ T]
:
Semantics.Satisfiable (Struc L) T ↔ ∃ (M : Type v) (x : Nonempty M) (x_1 : Structure L M) (_ : Structure.Eq L M), M↓[L] ⊧* T
instance
LO.FirstOrder.instModelsSetStrucSentenceStrModelOfSatEqAxiomOfWeakerThanTheory
{L : Language}
[Semiformula.Operator.Eq L]
{T : Theory L}
[𝗘𝗤 L ⪯ T]
(sat : Semantics.Satisfiable (Struc L) T)
:
def
LO.FirstOrder.ModelOfSatEq
{L : Language}
[Semiformula.Operator.Eq L]
{T : Theory L}
[𝗘𝗤 L ⪯ T]
(sat : Semantics.Satisfiable (Struc L) T)
:
Type v
Equations
Instances For
instance
LO.FirstOrder.ModelOfSatEq.instNonempty
{L : Language}
[Semiformula.Operator.Eq L]
{T : Theory L}
[𝗘𝗤 L ⪯ T]
(sat : Semantics.Satisfiable (Struc L) T)
:
Nonempty (ModelOfSatEq sat)
@[implicit_reducible]
noncomputable instance
LO.FirstOrder.ModelOfSatEq.struc
{L : Language}
[Semiformula.Operator.Eq L]
{T : Theory L}
[𝗘𝗤 L ⪯ T]
(sat : Semantics.Satisfiable (Struc L) T)
:
Structure L (ModelOfSatEq sat)
instance
LO.FirstOrder.ModelOfSatEq.instEq
{L : Language}
[Semiformula.Operator.Eq L]
{T : Theory L}
[𝗘𝗤 L ⪯ T]
(sat : Semantics.Satisfiable (Struc L) T)
:
Structure.Eq L (ModelOfSatEq sat)
theorem
LO.FirstOrder.ModelOfSatEq.models
{L : Language}
[Semiformula.Operator.Eq L]
{T : Theory L}
[𝗘𝗤 L ⪯ T]
(sat : Semantics.Satisfiable (Struc L) T)
:
instance
LO.FirstOrder.ModelOfSatEq.mod
{L : Language}
[Semiformula.Operator.Eq L]
{T : Theory L}
[𝗘𝗤 L ⪯ T]
(sat : Semantics.Satisfiable (Struc L) T)
:
@[implicit_reducible]
noncomputable instance
LO.FirstOrder.ModelOfSatEq.instZeroOfZero
{L : Language}
[Semiformula.Operator.Eq L]
{T : Theory L}
[𝗘𝗤 L ⪯ T]
(sat : Semantics.Satisfiable (Struc L) T)
[Semiterm.Operator.Zero L]
:
Zero (ModelOfSatEq sat)
Equations
instance
LO.FirstOrder.ModelOfSatEq.strucZero
{L : Language}
[Semiformula.Operator.Eq L]
{T : Theory L}
[𝗘𝗤 L ⪯ T]
(sat : Semantics.Satisfiable (Struc L) T)
[Semiterm.Operator.Zero L]
:
Structure.Zero L (ModelOfSatEq sat)
@[implicit_reducible]
noncomputable instance
LO.FirstOrder.ModelOfSatEq.instOneOfOne
{L : Language}
[Semiformula.Operator.Eq L]
{T : Theory L}
[𝗘𝗤 L ⪯ T]
(sat : Semantics.Satisfiable (Struc L) T)
[Semiterm.Operator.One L]
:
One (ModelOfSatEq sat)
Equations
instance
LO.FirstOrder.ModelOfSatEq.instOne
{L : Language}
[Semiformula.Operator.Eq L]
{T : Theory L}
[𝗘𝗤 L ⪯ T]
(sat : Semantics.Satisfiable (Struc L) T)
[Semiterm.Operator.One L]
:
Structure.One L (ModelOfSatEq sat)
@[implicit_reducible]
noncomputable instance
LO.FirstOrder.ModelOfSatEq.instAddOfAdd
{L : Language}
[Semiformula.Operator.Eq L]
{T : Theory L}
[𝗘𝗤 L ⪯ T]
(sat : Semantics.Satisfiable (Struc L) T)
[Semiterm.Operator.Add L]
:
Add (ModelOfSatEq sat)
Equations
- LO.FirstOrder.ModelOfSatEq.instAddOfAdd sat = { add := fun (x y : LO.FirstOrder.ModelOfSatEq sat) => LO.FirstOrder.Semiterm.Operator.val ![x, y] op(+) }
instance
LO.FirstOrder.ModelOfSatEq.instAdd
{L : Language}
[Semiformula.Operator.Eq L]
{T : Theory L}
[𝗘𝗤 L ⪯ T]
(sat : Semantics.Satisfiable (Struc L) T)
[Semiterm.Operator.Add L]
:
Structure.Add L (ModelOfSatEq sat)
@[implicit_reducible]
noncomputable instance
LO.FirstOrder.ModelOfSatEq.instMulOfMul
{L : Language}
[Semiformula.Operator.Eq L]
{T : Theory L}
[𝗘𝗤 L ⪯ T]
(sat : Semantics.Satisfiable (Struc L) T)
[Semiterm.Operator.Mul L]
:
Mul (ModelOfSatEq sat)
Equations
- LO.FirstOrder.ModelOfSatEq.instMulOfMul sat = { mul := fun (x y : LO.FirstOrder.ModelOfSatEq sat) => LO.FirstOrder.Semiterm.Operator.val ![x, y] op(*) }
instance
LO.FirstOrder.ModelOfSatEq.instMul
{L : Language}
[Semiformula.Operator.Eq L]
{T : Theory L}
[𝗘𝗤 L ⪯ T]
(sat : Semantics.Satisfiable (Struc L) T)
[Semiterm.Operator.Mul L]
:
Structure.Mul L (ModelOfSatEq sat)
@[implicit_reducible]
instance
LO.FirstOrder.ModelOfSatEq.instLTOfLT
{L : Language}
[Semiformula.Operator.Eq L]
{T : Theory L}
[𝗘𝗤 L ⪯ T]
(sat : Semantics.Satisfiable (Struc L) T)
[Semiformula.Operator.LT L]
:
LT (ModelOfSatEq sat)
Equations
- LO.FirstOrder.ModelOfSatEq.instLTOfLT sat = { lt := fun (x y : LO.FirstOrder.ModelOfSatEq sat) => LO.FirstOrder.Semiformula.Operator.val ![x, y] op(<) }
instance
LO.FirstOrder.ModelOfSatEq.instLT
{L : Language}
[Semiformula.Operator.Eq L]
{T : Theory L}
[𝗘𝗤 L ⪯ T]
(sat : Semantics.Satisfiable (Struc L) T)
[Semiformula.Operator.LT L]
:
Structure.LT L (ModelOfSatEq sat)
@[implicit_reducible]
instance
LO.FirstOrder.ModelOfSatEq.instMembershipOfMem
{L : Language}
[Semiformula.Operator.Eq L]
{T : Theory L}
[𝗘𝗤 L ⪯ T]
(sat : Semantics.Satisfiable (Struc L) T)
[Semiformula.Operator.Mem L]
:
Membership (ModelOfSatEq sat) (ModelOfSatEq sat)
Equations
- LO.FirstOrder.ModelOfSatEq.instMembershipOfMem sat = { mem := fun (x y : LO.FirstOrder.ModelOfSatEq sat) => LO.FirstOrder.Semiformula.Operator.val ![y, x] op(∈) }
instance
LO.FirstOrder.ModelOfSatEq.instMem
{L : Language}
[Semiformula.Operator.Eq L]
{T : Theory L}
[𝗘𝗤 L ⪯ T]
(sat : Semantics.Satisfiable (Struc L) T)
[Semiformula.Operator.Mem L]
:
Structure.Mem L (ModelOfSatEq sat)
def
LO.FirstOrder.Semiformula.existsUnique
{L : Language}
[Operator.Eq L]
{n : ℕ}
{ξ : Type u_3}
(φ : Semiformula L ξ (n + 1))
:
Semiformula L ξ n
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
@[simp]
theorem
LO.FirstOrder.Semiformula.eval_existsUnique
{L : Language}
{ξ : Type u_1}
[Operator.Eq L]
{M : Type u_2}
[s : Structure L M]
[Structure.Eq L M]
{n : ℕ}
{e : Fin n → M}
{ε : ξ → M}
{φ : Semiformula L ξ (n + 1)}
:
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.