def
LO.FirstOrder.Arithmetic.Bootstrapping.IsFormulaSet
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
(s : V)
:
Equations
Instances For
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.isFormulaSet
(L : Language)
[L.Encodable]
[L.LORDefinable]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.Arithmetic.Bootstrapping.IsFormulaSet.defined
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.IsFormulaSet.definable
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.IsFormulaSet.definable'
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{Γ : SigmaPiDelta}
{m : ℕ}
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsFormulaSet.empty
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsFormulaSet.singleton
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{p : V}
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsFormulaSet.insert_iff
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{p s : V}
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsFormulaSet.insert
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{p s : V}
:
IsFormulaSet L (Insert.insert p s) → IsFormula L p ∧ IsFormulaSet L s
Alias of the forward direction of LO.FirstOrder.Arithmetic.Bootstrapping.IsFormulaSet.insert_iff.
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsFormulaSet.union
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{s₁ s₂ : V}
:
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.setShift
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
(L : Language)
[L.Encodable]
[L.LORDefinable]
(s : V)
:
V
Equations
Instances For
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.setShiftGraph
(L : Language)
[L.Encodable]
[L.LORDefinable]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsFormulaSet.setShift
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{s : V}
(h : IsFormulaSet L s)
:
IsFormulaSet L (Bootstrapping.setShift L s)
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsFormulaSet.setShift_iff
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{s : V}
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.setShift.defined
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.setShift.definable
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.Arithmetic.Bootstrapping.axL.defined
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.Arithmetic.Bootstrapping.verumIntro.defined
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.Arithmetic.Bootstrapping.andIntro.defined
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.Arithmetic.Bootstrapping.orIntro.defined
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.Arithmetic.Bootstrapping.allIntro.defined
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.Arithmetic.Bootstrapping.exsIntro.defined
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.Arithmetic.Bootstrapping.wkRule.defined
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.Arithmetic.Bootstrapping.shiftRule.defined
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.Arithmetic.Bootstrapping.cutRule_defined
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
LO.FirstOrder.Arithmetic.Bootstrapping.axm_defined
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.seq_lt_verumIntro
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
(s : V)
:
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.fstIdx_verumIntro
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
(s : V)
:
@[reducible, inline]
noncomputable abbrev
LO.FirstOrder.Arithmetic.Bootstrapping.Derivation.conseq
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
(x : V)
:
V
Equations
Instances For
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.Derivation.blueprint
{L : Language}
[L.Encodable]
[L.LORDefinable]
(T : Theory L)
[T.Δ₁]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
LO.FirstOrder.Arithmetic.Bootstrapping.Derivation.construction
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
(T : Theory L)
[T.Δ₁]
:
Equations
- LO.FirstOrder.Arithmetic.Bootstrapping.Derivation.construction T = { Φ := fun (x : Fin 0 → V) => LO.FirstOrder.Arithmetic.Bootstrapping.Derivation.Phi T, defined := ⋯, monotone := ⋯ }
Instances For
instance
LO.FirstOrder.Arithmetic.Bootstrapping.Derivation.instStrongFiniteConstruction
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
(T : Theory L)
[T.Δ₁]
:
def
LO.FirstOrder.Arithmetic.Bootstrapping.Derivation
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
(T : Theory L)
[T.Δ₁]
:
V → Prop
Equations
Instances For
def
LO.FirstOrder.Arithmetic.Bootstrapping.DerivationOf
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
(T : Theory L)
[T.Δ₁]
(d s : V)
:
Equations
Instances For
def
LO.FirstOrder.Arithmetic.Bootstrapping.Derivable
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
(T : Theory L)
[T.Δ₁]
(s : V)
:
Equations
Instances For
def
LO.FirstOrder.Arithmetic.Bootstrapping.Proof
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
(T : Theory L)
[T.Δ₁]
(d φ : V)
:
Equations
Instances For
def
LO.FirstOrder.Arithmetic.Bootstrapping.Provable
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
(T : Theory L)
[T.Δ₁]
(φ : V)
:
Equations
- LO.FirstOrder.Arithmetic.Bootstrapping.Provable T φ = ∃ (d : V), LO.FirstOrder.Arithmetic.Bootstrapping.Proof T d φ
Instances For
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.derivation
{L : Language}
[L.Encodable]
[L.LORDefinable]
(T : Theory L)
[T.Δ₁]
:
Equations
Instances For
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.derivationOf
{L : Language}
[L.Encodable]
[L.LORDefinable]
(T : Theory L)
[T.Δ₁]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.derivable
{L : Language}
[L.Encodable]
[L.LORDefinable]
(T : Theory L)
[T.Δ₁]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.proof
{L : Language}
[L.Encodable]
[L.LORDefinable]
(T : Theory L)
[T.Δ₁]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.provable
{L : Language}
[L.Encodable]
[L.LORDefinable]
(T : Theory L)
[T.Δ₁]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[reducible, inline]
noncomputable abbrev
LO.FirstOrder.Arithmetic.Bootstrapping.provabilityPred
{L : Language}
[L.Encodable]
[L.LORDefinable]
(T : Theory L)
[T.Δ₁]
(σ : Sentence L)
:
Equations
Instances For
noncomputable def
LO.FirstOrder.Arithmetic.Bootstrapping.provabilityPred'
{L : Language}
[L.Encodable]
[L.LORDefinable]
(T : Theory L)
[T.Δ₁]
(σ : Sentence L)
:
Equations
Instances For
@[simp]
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.provabilityPred'_val
{L : Language}
[L.Encodable]
[L.LORDefinable]
(T : Theory L)
[T.Δ₁]
(σ : Sentence L)
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.Derivation.defined
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.Derivation.definable
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.Derivation.definable'
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
{Γ : SigmaPiDelta}
{m : ℕ}
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.DerivationOf.defined
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.DerivationOf.definable
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.DerivationOf.definable'
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
{Γ : SigmaPiDelta}
{m : ℕ}
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.Derivable.defined
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.Derivable.definable
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.Derivable.definable'
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
:
instance for definability tactic
instance
LO.FirstOrder.Arithmetic.Bootstrapping.Provable.defined
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.Provable.definable
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
:
instance
LO.FirstOrder.Arithmetic.Bootstrapping.Provable.definable'
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
:
instance for definability tactic
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Derivation.case_iff
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
{d : V}
:
Derivation T d ↔ IsFormulaSet L (fstIdx d) ∧ ((∃ (s : V) (p : V), d = Bootstrapping.axL s p ∧ p ∈ s ∧ neg L p ∈ s) ∨ (∃ (s : V), d = Bootstrapping.verumIntro s ∧ qqVerum ∈ s) ∨ (∃ (s : V) (p : V) (q : V) (dp : V) (dq : V),
d = Bootstrapping.andIntro s p q dp dq ∧ qqAnd p q ∈ s ∧ DerivationOf T dp (insert p s) ∧ DerivationOf T dq (insert q s)) ∨ (∃ (s : V) (p : V) (q : V) (dpq : V),
d = Bootstrapping.orIntro s p q dpq ∧ qqOr p q ∈ s ∧ DerivationOf T dpq (insert p (insert q s))) ∨ (∃ (s : V) (p : V) (dp : V),
d = Bootstrapping.allIntro s p dp ∧ qqAll p ∈ s ∧ DerivationOf T dp (insert (free L p) (setShift L s))) ∨ (∃ (s : V) (p : V) (t : V) (dp : V),
d = Bootstrapping.exsIntro s p t dp ∧ qqExs p ∈ s ∧ IsTerm L t ∧ DerivationOf T dp (insert (substs1 L t p) s)) ∨ (∃ (s : V) (d' : V), d = Bootstrapping.wkRule s d' ∧ fstIdx d' ⊆ s ∧ Derivation T d') ∨ (∃ (s : V) (d' : V),
d = Bootstrapping.shiftRule s d' ∧ s = setShift L (fstIdx d') ∧ Derivation T d') ∨ (∃ (s : V) (p : V) (d₁ : V) (d₂ : V),
d = Bootstrapping.cutRule s p d₁ d₂ ∧ DerivationOf T d₁ (insert p s) ∧ DerivationOf T d₂ (insert (neg L p) s)) ∨ ∃ (s : V) (p : V), d = Bootstrapping.axm s p ∧ p ∈ s ∧ p ∈ T.Δ₁Class)
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Derivation.mk
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
{d : V}
:
IsFormulaSet L (fstIdx d) ∧ ((∃ (s : V) (p : V), d = Bootstrapping.axL s p ∧ p ∈ s ∧ neg L p ∈ s) ∨ (∃ (s : V), d = Bootstrapping.verumIntro s ∧ qqVerum ∈ s) ∨ (∃ (s : V) (p : V) (q : V) (dp : V) (dq : V),
d = Bootstrapping.andIntro s p q dp dq ∧ qqAnd p q ∈ s ∧ DerivationOf T dp (insert p s) ∧ DerivationOf T dq (insert q s)) ∨ (∃ (s : V) (p : V) (q : V) (dpq : V),
d = Bootstrapping.orIntro s p q dpq ∧ qqOr p q ∈ s ∧ DerivationOf T dpq (insert p (insert q s))) ∨ (∃ (s : V) (p : V) (dp : V),
d = Bootstrapping.allIntro s p dp ∧ qqAll p ∈ s ∧ DerivationOf T dp (insert (free L p) (setShift L s))) ∨ (∃ (s : V) (p : V) (t : V) (dp : V),
d = Bootstrapping.exsIntro s p t dp ∧ qqExs p ∈ s ∧ IsTerm L t ∧ DerivationOf T dp (insert (substs1 L t p) s)) ∨ (∃ (s : V) (d' : V), d = Bootstrapping.wkRule s d' ∧ fstIdx d' ⊆ s ∧ Derivation T d') ∨ (∃ (s : V) (d' : V),
d = Bootstrapping.shiftRule s d' ∧ s = setShift L (fstIdx d') ∧ Derivation T d') ∨ (∃ (s : V) (p : V) (d₁ : V) (d₂ : V),
d = Bootstrapping.cutRule s p d₁ d₂ ∧ DerivationOf T d₁ (insert p s) ∧ DerivationOf T d₂ (insert (neg L p) s)) ∨ ∃ (s : V) (p : V), d = Bootstrapping.axm s p ∧ p ∈ s ∧ p ∈ T.Δ₁Class) →
Derivation T d
Alias of the reverse direction of LO.FirstOrder.Arithmetic.Bootstrapping.Derivation.case_iff.
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Derivation.case
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
{d : V}
:
Derivation T d →
IsFormulaSet L (fstIdx d) ∧ ((∃ (s : V) (p : V), d = Bootstrapping.axL s p ∧ p ∈ s ∧ neg L p ∈ s) ∨ (∃ (s : V), d = Bootstrapping.verumIntro s ∧ qqVerum ∈ s) ∨ (∃ (s : V) (p : V) (q : V) (dp : V) (dq : V),
d = Bootstrapping.andIntro s p q dp dq ∧ qqAnd p q ∈ s ∧ DerivationOf T dp (insert p s) ∧ DerivationOf T dq (insert q s)) ∨ (∃ (s : V) (p : V) (q : V) (dpq : V),
d = Bootstrapping.orIntro s p q dpq ∧ qqOr p q ∈ s ∧ DerivationOf T dpq (insert p (insert q s))) ∨ (∃ (s : V) (p : V) (dp : V),
d = Bootstrapping.allIntro s p dp ∧ qqAll p ∈ s ∧ DerivationOf T dp (insert (free L p) (setShift L s))) ∨ (∃ (s : V) (p : V) (t : V) (dp : V),
d = Bootstrapping.exsIntro s p t dp ∧ qqExs p ∈ s ∧ IsTerm L t ∧ DerivationOf T dp (insert (substs1 L t p) s)) ∨ (∃ (s : V) (d' : V), d = Bootstrapping.wkRule s d' ∧ fstIdx d' ⊆ s ∧ Derivation T d') ∨ (∃ (s : V) (d' : V),
d = Bootstrapping.shiftRule s d' ∧ s = setShift L (fstIdx d') ∧ Derivation T d') ∨ (∃ (s : V) (p : V) (d₁ : V) (d₂ : V),
d = Bootstrapping.cutRule s p d₁ d₂ ∧ DerivationOf T d₁ (insert p s) ∧ DerivationOf T d₂ (insert (neg L p) s)) ∨ ∃ (s : V) (p : V), d = Bootstrapping.axm s p ∧ p ∈ s ∧ p ∈ T.Δ₁Class)
Alias of the forward direction of LO.FirstOrder.Arithmetic.Bootstrapping.Derivation.case_iff.
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Derivation.induction1
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
(Γ : SigmaPiDelta)
{P : V → Prop}
(hP : { Γ := Γ, rank := 1 }-Predicate P)
{d : V}
(hd : Derivation T d)
(hAxL : ∀ (s : V), IsFormulaSet L s → ∀ p ∈ s, neg L p ∈ s → P (Bootstrapping.axL s p))
(hVerumIntro : ∀ (s : V), IsFormulaSet L s → qqVerum ∈ s → P (Bootstrapping.verumIntro s))
(hAnd :
∀ (s : V),
IsFormulaSet L s →
∀ (p q dp dq : V),
qqAnd p q ∈ s →
DerivationOf T dp (insert p s) →
DerivationOf T dq (insert q s) → P dp → P dq → P (Bootstrapping.andIntro s p q dp dq))
(hOr :
∀ (s : V),
IsFormulaSet L s →
∀ (p q d : V), qqOr p q ∈ s → DerivationOf T d (insert p (insert q s)) → P d → P (Bootstrapping.orIntro s p q d))
(hAll :
∀ (s : V),
IsFormulaSet L s →
∀ (p d : V),
qqAll p ∈ s → DerivationOf T d (insert (free L p) (setShift L s)) → P d → P (Bootstrapping.allIntro s p d))
(hExs :
∀ (s : V),
IsFormulaSet L s →
∀ (p t d : V),
qqExs p ∈ s →
IsTerm L t → DerivationOf T d (insert (substs1 L t p) s) → P d → P (Bootstrapping.exsIntro s p t d))
(hWk : ∀ (s : V), IsFormulaSet L s → ∀ (d : V), fstIdx d ⊆ s → Derivation T d → P d → P (Bootstrapping.wkRule s d))
(hShift :
∀ (s : V),
IsFormulaSet L s → ∀ (d : V), s = setShift L (fstIdx d) → Derivation T d → P d → P (Bootstrapping.shiftRule s d))
(hCut :
∀ (s : V),
IsFormulaSet L s →
∀ (p d₁ d₂ : V),
DerivationOf T d₁ (insert p s) →
DerivationOf T d₂ (insert (neg L p) s) → P d₁ → P d₂ → P (Bootstrapping.cutRule s p d₁ d₂))
(hRoot : ∀ (s : V), IsFormulaSet L s → ∀ p ∈ s, p ∈ T.Δ₁Class → P (Bootstrapping.axm s p))
:
P d
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Derivation.isFormulaSet
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
{d : V}
(h : Derivation T d)
:
IsFormulaSet L (fstIdx d)
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.DerivationOf.isFormulaSet
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
{d s : V}
(h : DerivationOf T d s)
:
IsFormulaSet L s
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Derivation.axL
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
{s p : V}
(hs : IsFormulaSet L s)
(h : p ∈ s)
(hn : neg L p ∈ s)
:
Derivation T (Bootstrapping.axL s p)
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Derivation.verumIntro
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
{s : V}
(hs : IsFormulaSet L s)
(h : qqVerum ∈ s)
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Derivation.andIntro
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
{s p q dp dq : V}
(h : qqAnd p q ∈ s)
(hdp : DerivationOf T dp (insert p s))
(hdq : DerivationOf T dq (insert q s))
:
Derivation T (Bootstrapping.andIntro s p q dp dq)
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Derivation.orIntro
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
{s p q dpq : V}
(h : qqOr p q ∈ s)
(hdpq : DerivationOf T dpq (insert p (insert q s)))
:
Derivation T (Bootstrapping.orIntro s p q dpq)
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Derivation.allIntro
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
{s p dp : V}
(h : qqAll p ∈ s)
(hdp : DerivationOf T dp (insert (free L p) (setShift L s)))
:
Derivation T (Bootstrapping.allIntro s p dp)
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Derivation.exsIntro
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
{s p t dp : V}
(h : qqExs p ∈ s)
(ht : IsTerm L t)
(hdp : DerivationOf T dp (insert (substs1 L t p) s))
:
Derivation T (Bootstrapping.exsIntro s p t dp)
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Derivation.wkRule
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
{s s' d : V}
(hs : IsFormulaSet L s)
(h : s' ⊆ s)
(hd : DerivationOf T d s')
:
Derivation T (Bootstrapping.wkRule s d)
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Derivation.shiftRule
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
{s d : V}
(hd : DerivationOf T d s)
:
Derivation T (Bootstrapping.shiftRule (setShift L s) d)
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Derivation.cutRule
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
{s p d₁ d₂ : V}
(hd₁ : DerivationOf T d₁ (insert p s))
(hd₂ : DerivationOf T d₂ (insert (neg L p) s))
:
Derivation T (Bootstrapping.cutRule s p d₁ d₂)
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Derivation.axm
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
{s p : V}
(hs : IsFormulaSet L s)
(hp : p ∈ s)
(hT : p ∈ T.Δ₁Class)
:
Derivation T (Bootstrapping.axm s p)
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Derivation.of_ss
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
{U : Theory L}
[U.Δ₁]
(h : T.Δ₁Class ⊆ U.Δ₁Class)
{d : V}
:
Derivation T d → Derivation U d
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Derivable.isFormulaSet
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
{s : V}
(h : Derivable T s)
:
IsFormulaSet L s
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Derivable.em
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
{s : V}
(hs : IsFormulaSet L s)
(p : V)
(h : p ∈ s)
(hn : neg L p ∈ s)
:
Derivable T s
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Derivable.verum
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
{s : V}
(hs : IsFormulaSet L s)
(h : qqVerum ∈ s)
:
Derivable T s
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Derivable.wk
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
{s s' : V}
(hs : IsFormulaSet L s)
(h : s' ⊆ s)
(hd : Derivable T s')
:
Derivable T s
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Derivable.by_axm
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
{s : V}
(hs : IsFormulaSet L s)
(p : V)
(hp : p ∈ s)
(hT : p ∈ T.Δ₁Class)
:
Derivable T s
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Derivable.conj
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
(ps : V)
{s : V}
(hs : IsFormulaSet L s)
(ds : ∀ i < len ps, Derivable T (insert (nth ps i) s))
:
Crucial inducion for formalized $\Sigma_1$-completeness.
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Derivable.disj
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
(ps s : V)
{i : V}
(hps : ∀ i < len ps, IsFormula L (nth ps i))
(hi : i < len ps)
(d : Derivable T (insert (nth ps i) s))
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Derivable.all
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
{p s : V}
(hp : IsSemiformula L 1 p)
(dp : Derivable T (insert (free L p) (setShift L s)))
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Derivable.exs
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
{p t s : V}
(hp : IsSemiformula L 1 p)
(ht : IsTerm L t)
(dp : Derivable T (insert (substs1 L t p) s))
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Provable.toDerivable
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
{φ : V}
:
Alias of the forward direction of LO.FirstOrder.Arithmetic.Bootstrapping.internal_provable_iff_internal_derivable.
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.Derivable.toProvable
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{T : Theory L}
[T.Δ₁]
{φ : V}
:
Alias of the reverse direction of LO.FirstOrder.Arithmetic.Bootstrapping.internal_provable_iff_internal_derivable.