noncomputable def
LO.FirstOrder.Semiterm.typedQuote
(V : Type u_1)
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : ℕ}
:
SyntacticSemiterm L n → Arithmetic.Bootstrapping.Semiterm V L n
Equations
- LO.FirstOrder.Semiterm.typedQuote V (LO.FirstOrder.Semiterm.bvar x_1) = LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.bvar x_1
- LO.FirstOrder.Semiterm.typedQuote V (LO.FirstOrder.Semiterm.fvar x_1) = LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.fvar ↑x_1
- LO.FirstOrder.Semiterm.typedQuote V (LO.FirstOrder.Semiterm.func f v) = LO.FirstOrder.Arithmetic.Bootstrapping.Semiterm.func f fun (i : Fin arity) => LO.FirstOrder.Semiterm.typedQuote V (v i)
Instances For
@[implicit_reducible]
noncomputable instance
LO.FirstOrder.Semiterm.instGödelQuoteSyntacticSemitermSemiterm
(V : Type u_1)
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : ℕ}
:
GödelQuote (SyntacticSemiterm L n) (Arithmetic.Bootstrapping.Semiterm V L n)
Equations
@[simp]
theorem
LO.FirstOrder.Semiterm.typed_quote_bvar
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : ℕ}
(x : Fin n)
:
@[simp]
theorem
LO.FirstOrder.Semiterm.typed_quote_fvar
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : ℕ}
(x : ℕ)
:
@[simp]
theorem
LO.FirstOrder.Semiterm.typed_quote_func
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n k : ℕ}
(f : L.Func k)
(v : Fin k → SyntacticSemiterm L n)
:
@[simp]
theorem
LO.FirstOrder.Semiterm.typed_quote_bShift
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : ℕ}
(t : SyntacticSemiterm L n)
:
@[simp]
theorem
LO.FirstOrder.Semiterm.typed_quote_substs
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n m : ℕ}
(t : SyntacticSemiterm L n)
(w : Fin n → SyntacticSemiterm L m)
:
theorem
LO.FirstOrder.Semiterm.typed_quote_numeral_eq_numeral_one
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{n : ℕ}
:
@[simp]
theorem
LO.FirstOrder.Semiterm.typed_quote_numeral_eq_numeral
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{n : ℕ}
(k : ℕ)
:
theorem
LO.FirstOrder.Semiterm.typed_quote_inj
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : ℕ}
{t u : SyntacticSemiterm L n}
:
@[implicit_reducible]
noncomputable instance
LO.FirstOrder.Semiterm.instGödelQuoteSyntacticSemiterm
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : ℕ}
:
GödelQuote (SyntacticSemiterm L n) V
Equations
- LO.FirstOrder.Semiterm.instGödelQuoteSyntacticSemiterm = { quote := fun (t : LO.FirstOrder.SyntacticSemiterm L n) => ⌜t⌝.val }
theorem
LO.FirstOrder.Semiterm.quote_def
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : ℕ}
(t : SyntacticSemiterm L n)
:
theorem
LO.FirstOrder.Semiterm.quote_eq_encode
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : ℕ}
(t : SyntacticSemiterm L n)
:
theorem
LO.FirstOrder.Semiterm.quote_eq_encode'
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n k : ℕ}
(v : Fin k → Semiterm L ℕ n)
:
(Arithmetic.Bootstrapping.SemitermVec.val fun (i : Fin k) => ⌜v i⌝) = ↑(Matrix.vecToNat fun (i : Fin k) => Encodable.encode (v i))
theorem
LO.FirstOrder.Semiterm.quote_eq_encode_standard
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : ℕ}
(t : SyntacticSemiterm L n)
:
theorem
LO.FirstOrder.Semiterm.coe_quote_eq_quote
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : ℕ}
(t : SyntacticSemiterm L n)
:
@[simp]
theorem
LO.FirstOrder.Semiterm.quote_bvar
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : ℕ}
(x : Fin n)
:
@[simp]
theorem
LO.FirstOrder.Semiterm.quote_fvar
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : ℕ}
(x : ℕ)
:
@[simp]
theorem
LO.FirstOrder.Semiterm.quote_func
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n k : ℕ}
(f : L.Func k)
(v : Fin k → SyntacticSemiterm L n)
:
@[implicit_reducible]
noncomputable instance
LO.FirstOrder.Semiterm.instGödelQuoteClosedSemitermSemiterm
(V : Type u_1)
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : ℕ}
:
GödelQuote (ClosedSemiterm L n) (Arithmetic.Bootstrapping.Semiterm V L n)
Equations
- LO.FirstOrder.Semiterm.instGödelQuoteClosedSemitermSemiterm V = { quote := fun (t : LO.FirstOrder.ClosedSemiterm L n) => ⌜LO.FirstOrder.Rew.emb t⌝ }
theorem
LO.FirstOrder.Semiterm.empty_typed_quote_def
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : ℕ}
(t : ClosedSemiterm L n)
:
@[simp]
theorem
LO.FirstOrder.Semiterm.empty_typed_quote_bvar
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : ℕ}
(x : Fin n)
:
@[simp]
theorem
LO.FirstOrder.Semiterm.empty_typed_quote_func
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n k : ℕ}
(f : L.Func k)
(v : Fin k → ClosedSemiterm L n)
:
@[simp]
theorem
LO.FirstOrder.Semiterm.empty_typed_quote_numeral_eq_numeral
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{n : ℕ}
(k : ℕ)
:
@[implicit_reducible]
noncomputable instance
LO.FirstOrder.Semiterm.instGödelQuoteClosedSemiterm
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : ℕ}
:
GödelQuote (ClosedSemiterm L n) V
Equations
- LO.FirstOrder.Semiterm.instGödelQuoteClosedSemiterm = { quote := fun (t : LO.FirstOrder.ClosedSemiterm L n) => ⌜LO.FirstOrder.Rew.emb t⌝ }
theorem
LO.FirstOrder.Semiterm.empty_quote_def
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : ℕ}
(t : ClosedSemiterm L n)
:
theorem
LO.FirstOrder.Semiterm.empty_quote_eq
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : ℕ}
(t : ClosedSemiterm L n)
:
theorem
LO.FirstOrder.Semiterm.empty_quote_eq_encode
{V : Type u_1}
[ORingStructure V]
[V↓[ℒₒᵣ] ⊧* 𝗜𝚺₁]
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n : ℕ}
(t : ClosedSemiterm L n)
:
@[simp]
theorem
LO.FirstOrder.Semiterm.coe_quote
{L : Language}
[L.Encodable]
[L.LORDefinable]
{m : ℕ}
{ξ : Type u_2}
{n : ℕ}
(t : SyntacticSemiterm L n)
:
@[simp]
theorem
LO.FirstOrder.Semiterm.coe_empty_quote
{L : Language}
[L.Encodable]
[L.LORDefinable]
{m : ℕ}
{ξ : Type u_2}
{n : ℕ}
(t : ClosedSemiterm L n)
:
theorem
LO.FirstOrder.Arithmetic.Bootstrapping.IsSemiterm.sound
{L : Language}
[L.Encodable]
[L.LORDefinable]
{n t : ℕ}
(ht : IsSemiterm L n t)
:
∃ (T : SyntacticSemiterm L n), ⌜T⌝ = t