Documentation

Arithmetization.ISigmaOne.Metamath.Proof.Typed

Typed Formalized Tait-Calculus #

@[reducible, inline]
abbrev LO.Arith.Language.Semiformula.substs₁ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] (p : L.Semiformula (0 + 1)) (t : L.Term) :
L.Formula
Equations
@[reducible, inline]
abbrev LO.Arith.Language.Semiformula.free {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] (p : L.Semiformula (0 + 1)) :
L.Formula
Equations
  • p.free = p.shift.substs₁ (L.fvar 0)
@[simp]
theorem LO.Arith.Language.Semiformula.val_substs₁ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] (p : L.Semiformula (0 + 1)) (t : L.Term) :
(p.substs₁ t).val = L.substs ?[t.val] p.val
@[simp]
theorem LO.Arith.Language.Semiformula.val_free {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] (p : L.Semiformula (0 + 1)) :
p.free.val = L.substs ?[qqFvar 0] (L.shift p.val)
@[simp]
theorem LO.Arith.substs₁_neg {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] (p : L.Semiformula (0 + 1)) (t : L.Term) :
(p).substs₁ t = p.substs₁ t
@[simp]
theorem LO.Arith.substs₁_all {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] (p : L.Semiformula (0 + 1 + 1)) (t : L.Term) :
p.all.substs₁ t = p^/[(Language.Semiterm.sing t).q].all
@[simp]
theorem LO.Arith.substs₁_ex {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] (p : L.Semiformula (0 + 1 + 1)) (t : L.Term) :
p.ex.substs₁ t = p^/[(Language.Semiterm.sing t).q].ex
@[reducible, inline]
abbrev LO.Arith.Language.Theory.tmem {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] (p : L.Formula) (T : L.Theory) :
Equations
Equations
instance LO.Arith.instSingletonFormulaSequent {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] :
Singleton L.Formula L.Sequent
Equations
instance LO.Arith.instInsertFormulaSequent {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] :
Insert L.Formula L.Sequent
Equations
instance LO.Arith.instUnionSequent {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] :
Union L.Sequent
Equations
instance LO.Arith.instMembershipFormulaSequent {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] :
Membership L.Formula L.Sequent
Equations
instance LO.Arith.instHasSubsetSequent {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] :
HasSubset L.Sequent
Equations
theorem LO.Arith.Language.Sequent.mem_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {Γ : L.Sequent} {p : L.Formula} :
p Γ p.val Γ.val
theorem LO.Arith.Language.Sequent.subset_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {Γ Δ : L.Sequent} :
Γ Δ Γ.val Δ.val
@[simp]
@[simp]
theorem LO.Arith.Language.Sequent.val_singleton {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] (p : L.Formula) :
{p}.val = {p.val}
@[simp]
theorem LO.Arith.Language.Sequent.val_insert {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] (p : L.Formula) (Γ : L.Sequent) :
(insert p Γ).val = insert p.val Γ.val
@[simp]
theorem LO.Arith.Language.Sequent.val_union {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] (Γ Δ : L.Sequent) :
(Γ Δ).val = Γ.val Δ.val
@[simp]
theorem LO.Arith.Language.Sequent.not_mem_empty {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] (p : L.Formula) :
p
@[simp]
theorem LO.Arith.Language.Sequent.mem_singleton_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {p q : L.Formula} :
p {q} p = q
@[simp]
theorem LO.Arith.Language.Sequent.mem_insert_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {Γ : L.Sequent} {p q : L.Formula} :
p insert q Γ p = q p Γ
@[simp]
theorem LO.Arith.Language.Sequent.mem_union_iff {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {Γ Δ : L.Sequent} {p : L.Formula} :
p Γ Δ p Γ p Δ
theorem LO.Arith.Language.Sequent.ext {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {Γ Δ : L.Sequent} (h : ∀ (x : L.Formula), x Γ x Δ) :
Γ = Δ
theorem LO.Arith.Language.Sequent.ext' {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {Γ Δ : L.Sequent} (h : Γ.val = Δ.val) :
Γ = Δ
def LO.Arith.Language.Sequent.shift {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] (s : L.Sequent) :
L.Sequent
Equations
  • s.shift = { val := L.setShift s.val, val_formulaSet := }
@[simp]
@[simp]
theorem LO.Arith.Language.Sequent.shift_insert {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {Γ : L.Sequent} {p : L.Formula} :
(insert p Γ).shift = insert (Semiformula.shift p) Γ.shift
structure LO.Arith.Language.TTheory {V : Type u_1} [ORingStruc V] (L : Arith.Language V) {pL : FirstOrder.Arith.LDef} [L.Defined pL] :
Type u_1
  • thy : L.Theory
  • pthy : pL.TDef
  • defined : self.thy.Defined self.pthy
Instances For
instance LO.Arith.instDefinedThyPthy {V : Type u_1} [ORingStruc V] (L : Arith.Language V) {pL : FirstOrder.Arith.LDef} [L.Defined pL] (T : L.TTheory) :
T.thy.Defined T.pthy
structure LO.Arith.Language.Theory.TDerivation {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] (T : L.TTheory) (Γ : L.Sequent) :
Type u_1
  • derivation : V
  • derivationOf : T.thy.DerivationOf self.derivation Γ.val
instance LO.Arith.instHasSubsetTTheory {V : Type u_1} [ORingStruc V] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] :
HasSubset L.TTheory
Equations
def LO.Arith.Language.Theory.Derivable.toTDerivation {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} (Γ : L.Sequent) (h : T.thy.Derivable Γ.val) :
Equations
  • One or more equations did not get rendered due to their size.
theorem LO.Arith.Language.Theory.TDerivation.toDerivable {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {Γ : L.Sequent} (d : TDerivation T Γ) :
T.thy.Derivable Γ.val
theorem LO.Arith.Language.Theory.TProvable.iff_provable {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {σ : L.Formula} :
T ⊢! σ T.thy.Provable σ.val
def LO.Arith.Language.Theory.TDerivation.toTProof {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {p : L.Formula} (d : TDerivation T (insert p )) :
T p
Equations
  • d.toTProof = d
def LO.Arith.Language.Theory.TProof.toTDerivation {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {p : L.Formula} (d : T p) :
Equations
def LO.Arith.Language.Theory.TDerivation.byAxm {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {Γ : L.Sequent} (p : L.Formula) (h : tmem p T.thy) (hΓ : p Γ) :
Equations
def LO.Arith.Language.Theory.TDerivation.em {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {Γ : L.Sequent} (p : L.Formula) (h : p Γ := by simp) (hn : p Γ := by simp) :
Equations
def LO.Arith.Language.Theory.TDerivation.and {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {Γ : L.Sequent} {p q : L.Formula} (dp : TDerivation T (insert p Γ)) (dq : TDerivation T (insert q Γ)) :
TDerivation T (insert (p q) Γ)
Equations
def LO.Arith.Language.Theory.TDerivation.or {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {Γ : L.Sequent} {p q : L.Formula} (dpq : TDerivation T (insert p (insert q Γ))) :
TDerivation T (insert (p q) Γ)
Equations
def LO.Arith.Language.Theory.TDerivation.all {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {Γ : L.Sequent} {p : L.Semiformula (0 + 1)} (dp : TDerivation T (insert p.free Γ.shift)) :
TDerivation T (insert p.all Γ)
Equations
def LO.Arith.Language.Theory.TDerivation.ex {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {Γ : L.Sequent} {p : L.Semiformula (0 + 1)} (t : L.Term) (dp : TDerivation T (insert (p.substs₁ t) Γ)) :
TDerivation T (insert p.ex Γ)
Equations
def LO.Arith.Language.Theory.TDerivation.wk {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {Γ Δ : L.Sequent} (d : TDerivation T Δ) (h : Δ Γ) :
Equations
def LO.Arith.Language.Theory.TDerivation.shift {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {Γ : L.Sequent} (d : TDerivation T Γ) :
TDerivation T Γ.shift
Equations
def LO.Arith.Language.Theory.TDerivation.cut {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {Γ : L.Sequent} {p : L.Formula} (d₁ : TDerivation T (insert p Γ)) (d₂ : TDerivation T (insert (p) Γ)) :
Equations
def LO.Arith.Language.Theory.TDerivation.ofSubset {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T U : L.TTheory} {Γ : L.Sequent} (h : T U) (d : TDerivation T Γ) :
Equations
def LO.Arith.Language.Theory.TDerivation.cut' {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {Γ Δ : L.Sequent} {p : L.Formula} (d₁ : TDerivation T (insert p Γ)) (d₂ : TDerivation T (insert (p) Δ)) :
TDerivation T (Γ Δ)
Equations
  • d₁.cut' d₂ = (d₁.wk ).cut (d₂.wk )
def LO.Arith.Language.Theory.TDerivation.conj {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {Γ : L.Sequent} (ps : SemiformulaVec 0) (ds : (i : V) → (hi : i < len ps.val) → TDerivation T (insert (ps.nth i hi) Γ)) :
TDerivation T (insert ps.conj Γ)
Equations
def LO.Arith.Language.Theory.TDerivation.disj {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {Γ : L.Sequent} (ps : SemiformulaVec 0) {i : V} (hi : i < len ps.val) (d : TDerivation T (insert (ps.nth i hi) Γ)) :
TDerivation T (insert ps.disj Γ)
Equations
def LO.Arith.Language.Theory.TDerivation.modusPonens {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {Γ : L.Sequent} {p q : L.Formula} (dpq : TDerivation T (insert (p q) Γ)) (dp : TDerivation T (insert p Γ)) :
Equations
def LO.Arith.Language.Theory.TDerivation.ofEq {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {Γ Δ : L.Sequent} (d : TDerivation T Γ) (h : Γ = Δ) :
Equations
  • d.ofEq h = hd
def LO.Arith.Language.Theory.TDerivation.rotate₁ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {Γ : L.Sequent} {p₀ p₁ : L.Formula} (d : TDerivation T (insert p₀ (insert p₁ Γ))) :
TDerivation T (insert p₁ (insert p₀ Γ))
Equations
  • d.rotate₁ = d.ofEq
def LO.Arith.Language.Theory.TDerivation.rotate₂ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {Γ : L.Sequent} {p₀ p₁ p₂ : L.Formula} (d : TDerivation T (insert p₀ (insert p₁ (insert p₂ Γ)))) :
TDerivation T (insert p₂ (insert p₁ (insert p₀ Γ)))
Equations
  • d.rotate₂ = d.ofEq
def LO.Arith.Language.Theory.TDerivation.rotate₃ {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {Γ : L.Sequent} {p₀ p₁ p₂ p₃ : L.Formula} (d : TDerivation T (insert p₀ (insert p₁ (insert p₂ (insert p₃ Γ))))) :
TDerivation T (insert p₃ (insert p₁ (insert p₂ (insert p₀ Γ))))
Equations
  • d.rotate₃ = d.ofEq
def LO.Arith.Language.Theory.TDerivation.orInv {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {Γ : L.Sequent} {p q : L.Formula} (d : TDerivation T (insert (p q) Γ)) :
Equations
def LO.Arith.Language.Theory.TDerivation.specialize {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {Γ : L.Sequent} {p : L.Semiformula (0 + 1)} (b : TDerivation T (insert p.all Γ)) (t : L.Term) :
TDerivation T (insert (p.substs₁ t) Γ)
Equations
def LO.Arith.Language.Theory.TProof.modusPonens {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {p q : L.Formula} (d : T p q) (b : T p) :
T q

Condition D2

Equations
def LO.Arith.Language.Theory.TProof.byAxm {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {p : L.Formula} (h : tmem p T.thy) :
T p
Equations
theorem LO.Arith.Language.Theory.TProof.of_subset {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T U : L.TTheory} (h : T U) {p : L.Formula} :
T ⊢! pU ⊢! p
Equations
  • One or more equations did not get rendered due to their size.
def LO.Arith.Language.Theory.TProof.exIntro {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} (p : L.Semiformula (0 + 1)) (t : L.Term) (b : T p.substs₁ t) :
T p.ex
Equations
theorem LO.Arith.Language.Theory.TProof.ex_intro! {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} (p : L.Semiformula (0 + 1)) (t : L.Term) (b : T ⊢! p.substs₁ t) :
T ⊢! p.ex
def LO.Arith.Language.Theory.TProof.specialize {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {p : L.Semiformula (0 + 1)} (b : T p.all) (t : L.Term) :
T p.substs₁ t
Equations
theorem LO.Arith.Language.Theory.TProof.specialize! {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {p : L.Semiformula (0 + 1)} (b : T ⊢! p.all) (t : L.Term) :
T ⊢! p.substs₁ t
def LO.Arith.Language.Theory.TProof.conj {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} (ps : SemiformulaVec 0) (ds : (i : V) → (hi : i < len ps.val) → T ps.nth i hi) :
T ps.conj
Equations
theorem LO.Arith.Language.Theory.TProof.conj! {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} (ps : SemiformulaVec 0) (ds : ∀ (i : V) (hi : i < len ps.val), T ⊢! ps.nth i hi) :
T ⊢! ps.conj
def LO.Arith.Language.Theory.TProof.conj' {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} (ps : SemiformulaVec 0) (ds : (i : V) → (hi : i < len ps.val) → T ps.nth (len ps.val - (i + 1)) ) :
T ps.conj
Equations
def LO.Arith.Language.Theory.TProof.conjOr' {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} (ps : SemiformulaVec 0) (q : L.Semiformula 0) (ds : (i : V) → (hi : i < len ps.val) → T ps.nth (len ps.val - (i + 1)) q) :
T ps.conj q
Equations
  • One or more equations did not get rendered due to their size.
def LO.Arith.Language.Theory.TProof.disj {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} (ps : SemiformulaVec 0) {i : V} (hi : i < len ps.val) (d : T ps.nth i hi) :
T ps.disj
Equations
theorem LO.Arith.Language.Theory.TProof.shift! {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {p : L.Formula} (d : T ⊢! p) :
def LO.Arith.Language.Theory.TProof.all {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {p : L.Semiformula (0 + 1)} (dp : T p.free) :
T p.all
Equations
theorem LO.Arith.Language.Theory.TProof.all! {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {p : L.Semiformula (0 + 1)} (dp : T ⊢! p.free) :
T ⊢! p.all
def LO.Arith.Language.Theory.TProof.generalizeAux {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {C : L.Formula} {p : L.Semiformula (0 + 1)} (dp : T Semiformula.shift C p.free) :
T C p.all
Equations
theorem LO.Arith.Language.Theory.TProof.generalize! {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {Γ : List (L.Semiformula 0)} {p : L.Semiformula (0 + 1)} (d : List.map Semiformula.shift Γ ⊢[T]! p.free) :
Γ ⊢[T]! p.all
def LO.Arith.Language.Theory.TProof.specializeWithCtxAux {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {C : L.Formula} {p : L.Semiformula (0 + 1)} (d : T C p.all) (t : L.Term) :
T C p.substs₁ t
Equations
def LO.Arith.Language.Theory.TProof.specializeWithCtx {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {Γ : List (L.Semiformula 0)} {p : L.Semiformula (0 + 1)} (d : Γ ⊢[T] p.all) (t : L.Term) :
Γ ⊢[T] p.substs₁ t
Equations
theorem LO.Arith.Language.Theory.TProof.specialize_with_ctx! {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {Γ : List (L.Semiformula 0)} {p : L.Semiformula (0 + 1)} (d : Γ ⊢[T]! p.all) (t : L.Term) :
Γ ⊢[T]! p.substs₁ t
def LO.Arith.Language.Theory.TProof.ex {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {p : L.Semiformula (0 + 1)} (t : L.Term) (dp : T p.substs₁ t) :
T p.ex
Equations
theorem LO.Arith.Language.Theory.TProof.ex! {V : Type u_1} [ORingStruc V] [V ⊧ₘ* 𝐈𝚺₁] {L : Arith.Language V} {pL : FirstOrder.Arith.LDef} [L.Defined pL] {T : L.TTheory} {p : L.Semiformula (0 + 1)} (t : L.Term) (dp : T ⊢! p.substs₁ t) :
T ⊢! p.ex