Ersatzaxiom #
theorem
FFL.FirstOrder.SetTheory.replacement_exists
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V↓[ℒₛₑₜ] ⊧* 𝗭𝗙]
(X : V)
(F : V → V)
(hF : ℒₛₑₜ-function₁ F)
:
Replacement exists for a function.
noncomputable def
FFL.FirstOrder.SetTheory.replRel
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V↓[ℒₛₑₜ] ⊧* 𝗭𝗙]
(R : V → V → Prop)
(h : ∀ (x : V), ∃! y : V, R x y)
(hR : ℒₛₑₜ-relation R := by definability)
(X : V)
:
V
The axiom of replacement for a relation.
Equations
- FFL.FirstOrder.SetTheory.replRel R h hR X = Classical.choose! ⋯
Instances For
noncomputable def
FFL.FirstOrder.SetTheory.repl
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V↓[ℒₛₑₜ] ⊧* 𝗭𝗙]
(F : V → V)
(hF : ℒₛₑₜ-function₁ F := by definability)
(X : V)
:
V
The axiom of replacement.
Equations
Instances For
Variants of replacement #
theorem
FFL.FirstOrder.SetTheory.replacement_rel_existsUnique_of_mem_existsUnique
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V↓[ℒₛₑₜ] ⊧* 𝗭𝗙]
(X : V)
(R : V → V → Prop)
(h : ∀ x ∈ X, ∃! y : V, R x y)
(hR : ℒₛₑₜ-relation R)
:
A stronger variant of (unique existence of) replacement, which only requires uniqueness on X.
The statement of this lemma is thanks to tosiaki.
theorem
FFL.FirstOrder.SetTheory.replacement_rel_exists_of_mem_existsUnique
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V↓[ℒₛₑₜ] ⊧* 𝗭𝗙]
(X : V)
(R : V → V → Prop)
(h : ∀ x ∈ X, ∃! y : V, R x y)
(hR : ℒₛₑₜ-relation R)
:
A stronger variant of replacement, which only requires uniqueness on X.
The statement of this lemma is thanks to tosiaki.
noncomputable def
FFL.FirstOrder.SetTheory.replRelOverSet
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V↓[ℒₛₑₜ] ⊧* 𝗭𝗙]
(X : V)
(R : V → V → Prop)
(h : ∀ x ∈ X, ∃! y : V, R x y)
(hR : ℒₛₑₜ-relation R := by definability)
:
V
The axiom of replacement, only assuming uniqueness on X.
Equations
Instances For
Various lemmas #
@[simp]
instance
FFL.FirstOrder.SetTheory.repl_definable
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V↓[ℒₛₑₜ] ⊧* 𝗭𝗙]
{F : V → V}
[hF : ℒₛₑₜ-function₁ F]
:
Definability Gadgets for Replacement #
- graph : SetTheorySemisentence (arity + 2)
Instances For
def
FFL.FirstOrder.SetTheory.Repl.Blueprint.resultDef
{arity : ℕ}
(b : Blueprint arity)
:
SetTheorySemisentence (arity + 2)
Equations
- One or more equations did not get rendered due to their size.
Instances For
structure
FFL.FirstOrder.SetTheory.Repl.Construction
(V : Type u_1)
[SetStructure V]
{arity : ℕ}
(b : Blueprint arity)
:
Type u_1
- map : (Fin arity → V) → V → V
Instances For
instance
FFL.FirstOrder.SetTheory.Repl.Construction.map_definable
{V : Type u_1}
[SetStructure V]
{arity : ℕ}
{b : Blueprint arity}
(c : Construction V b)
:
noncomputable def
FFL.FirstOrder.SetTheory.Repl.Construction.result
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V↓[ℒₛₑₜ] ⊧* 𝗭𝗙]
{arity : ℕ}
{b : Blueprint arity}
(c : Construction V b)
(v : Fin arity → V)
:
V → V
Equations
- c.result v = FFL.FirstOrder.SetTheory.repl (c.map v) ⋯
Instances For
theorem
FFL.FirstOrder.SetTheory.Repl.Construction.result_defined
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V↓[ℒₛₑₜ] ⊧* 𝗭𝗙]
{arity : ℕ}
{b : Blueprint arity}
(c : Construction V b)
:
@[simp]
theorem
FFL.FirstOrder.SetTheory.Repl.Construction.eval_resultDef
{V : Type u_1}
[SetStructure V]
[Nonempty V]
[V↓[ℒₛₑₜ] ⊧* 𝗭𝗙]
{arity : ℕ}
{b : Blueprint arity}
(c : Construction V b)
{v : Fin (arity + 2) → V}
: