Documentation

LeanPool.PointwiseComposition.FailureOfComposition.KleeneNormalForm

Supporting results for pointwise provable equality.

A concrete primitive recursive normal-form predicate for Mathlib's numbering. A witness pairs a fuel bound with the output. It is not asserted to be the historical computation-history coding of Odifreddi or Di Paola--Montagna. All theorems in this module concern standard natural numbers, not PA derivations.

The U construction in FailureOfComposition.Kleene.

Equations
Instances For
    theorem PointwiseComposition.FailureOfComposition.Kleene.output_unique {e x s t : ℕ} (hs : T₁ e x s) (ht : T₁ e x t) :
    U s = U t
    theorem PointwiseComposition.FailureOfComposition.Kleene.least_witness (e x : ℕ) (h : ∃ (s : ℕ), T₁ e x s) :
    T₁ e x (Nat.find h) ∧ (∀ t < Nat.find h, ¬T₁ e x t) ∧ ∀ (y : ℕ), y ∈ eval e x ↔ U (Nat.find h) = y

    The least successful witness computes the same output as any successful witness.

    Kleene's least-witness equation, with the concrete coding above.

    theorem PointwiseComposition.FailureOfComposition.Kleene.normal_form_comp (f g x z : ℕ) :
    (∃ (s : ℕ), T₁ (compIndex f g) x s ∧ U s = z) ↔ ∃ (y : ℕ), (∃ (s : ℕ), T₁ g x s ∧ U s = y) ∧ ∃ (t : ℕ), T₁ f y t ∧ U t = z