Documentation

LeanPool.Incompleteness.Foundation.FirstOrder.Arith.Representation

Representation #

theorem Mathlib.List.Vector.cons_get {α : Type u_1} {k : } (a : α) (v : List.Vector α k) :
(a ::ᵥ v).get = a :> v.get
theorem Nat.Partrec.projection {f : →. } (hf : Nat.Partrec f) (unif : ∀ {m n₁ n₂ a₁ a₂ : }, a₁ f (Nat.pair m n₁)a₂ f (Nat.pair m n₂)a₁ = a₂) :
∃ (g : →. ), Nat.Partrec g ∀ (a m : ), a g m ∃ (z : ), a f (Nat.pair m z)
theorem Partrec.projection {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Primcodable α] [Primcodable β] [Primcodable γ] {f : αβ →. γ} (hf : Partrec₂ f) (unif : ∀ {a : α} {b₁ b₂ : β} {c₁ c₂ : γ}, c₁ f a b₁c₂ f a b₂c₁ = c₂) :
∃ (g : α →. γ), Partrec g ∀ (c : γ) (a : α), c g a ∃ (b : β), c f a b
@[reducible, inline]
abbrev RePred {α : Type u_1} [Primcodable α] (p : αProp) :

Imported declaration from the Incompleteness formalization.

Equations
Instances For
    @[simp]
    theorem RePred.const {α : Type u_1} [Primcodable α] (p : Prop) :
    RePred fun (x : α) => p
    theorem RePred.iff {α : Type u_1} [Primcodable α] {p : αProp} :
    RePred p ∃ (f : α →. Unit), Partrec f p = fun (x : α) => (f x).Dom
    theorem RePred.iff' {α : Type u_1} [Primcodable α] {p : αProp} :
    RePred p ∃ (f : α →. Unit), Partrec f ∀ (x : α), p x (f x).Dom
    theorem RePred.and {α : Type u_1} [Primcodable α] {p q : αProp} (hp : RePred p) (hq : RePred q) :
    RePred fun (x : α) => p x q x
    theorem RePred.or {α : Type u_1} [Primcodable α] {p q : αProp} (hp : RePred p) (hq : RePred q) :
    RePred fun (x : α) => p x q x
    theorem RePred.projection {α : Type u_1} {β : Type u_2} [Primcodable α] [Primcodable β] {p : α × βProp} (hp : RePred p) :
    RePred fun (x : α) => ∃ (y : β), p (x, y)
    theorem RePred.comp {α : Type u_1} {β : Type u_2} [Primcodable α] [Primcodable β] {f : αβ} (hf : Computable f) {p : βProp} (hp : RePred p) :
    RePred fun (x : α) => p (f x)
    theorem LO.FirstOrder.Arith.term_primrec {ξ : Type u_1} {k : } {f : ξ} (t : Semiterm ℒₒᵣ ξ k) :
    theorem LO.FirstOrder.Arith.sigma1_re {ξ : Type u_1} (ε : ξ) {k : } {φ : Semiformula ℒₒᵣ ξ k} (hp : Hierarchy Sg 1 φ) :
    RePred fun (v : List.Vector k) => (Semiformula.Evalm v.get ε) φ

    Imported declaration from the Incompleteness formalization.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[simp]
      theorem LO.FirstOrder.Arith.natCast_nat (n : ) :
      n = n
      theorem LO.FirstOrder.Arith.models_code {k : } {c : Nat.ArithPart₁.Code k} {f : List.Vector k →. } (hc : c.eval f) (y : ) (v : Fin k) :

      Imported declaration from the Incompleteness formalization.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        Imported declaration from the Incompleteness formalization.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          theorem LO.FirstOrder.Arith.re_complete {T : Theory ℒₒᵣ} [𝐑₀ wkn T] [Sigma1Sound T] {p : Prop} (hp : RePred p) {x : } :
          p x T ⊢! ↑((codeOfRePred p)/[x])