Supporting results for pointwise provable equality.
Arithmetic correctness of the compiled program operations.
Mathlib program performing addition on the two components of its input.
Equations
Instances For
Mathlib program performing multiplication on the two input components.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Mathlib program for truncated predecessor.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Mathlib program for truncated subtraction of the input components.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Mathlib program returning one at zero and zero at positive inputs.
Equations
Instances For
Mathlib program deciding strict order of the input components.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Mathlib program deciding equality of the input components.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
PointwiseComposition.FailureOfComposition.ConcreteEvaluator.pa_formula_induction
{M : Type u_1}
[FFL.ORingStructure M]
[M↓[ℒₒᵣ] ⊧* 𝐏𝐀]
{P : M → Prop}
(φ : FFL.FirstOrder.ArithmeticSemiformula M 1)
(hφ : ∀ (x : M), P x ↔ (FFL.FirstOrder.Semiformula.Eval ![x] id) φ)
(hz : P 0)
(hs : ∀ (x : M), P x → P (x + 1))
(x : M)
:
P x
Full PA induction with arbitrary model parameters in its defining formula.
@[simp]
theorem
PointwiseComposition.FailureOfComposition.ConcreteEvaluator.runs_pair
{M : Type u_1}
[FFL.ORingStructure M]
[M↓[ℒₒᵣ] ⊧* 𝐏𝐀]
[M↓[ℒₒᵣ] ⊧* 𝐈𝐎𝐩𝐞𝐧]
(f g : Nat.Partrec.Code)
(x z : M)
:
ProgramGraph.Computes (f.pair g) x z ↔ ∃ (a : M) (b : M), ProgramGraph.Computes f x a ∧ ProgramGraph.Computes g x b ∧ z = ⟪a, b⟫
@[simp]
theorem
PointwiseComposition.FailureOfComposition.ConcreteEvaluator.runs_prec_zero
{M : Type u_1}
[FFL.ORingStructure M]
[M↓[ℒₒᵣ] ⊧* 𝐏𝐀]
[M↓[ℒₒᵣ] ⊧* 𝐈𝐎𝐩𝐞𝐧]
(f g : Nat.Partrec.Code)
(a y : M)
:
@[simp]
theorem
PointwiseComposition.FailureOfComposition.ConcreteEvaluator.runs_prec_succ
{M : Type u_1}
[FFL.ORingStructure M]
[M↓[ℒₒᵣ] ⊧* 𝐏𝐀]
[M↓[ℒₒᵣ] ⊧* 𝐈𝐎𝐩𝐞𝐧]
(f g : Nat.Partrec.Code)
(a b y : M)
:
theorem
PointwiseComposition.FailureOfComposition.ConcreteEvaluator.computes_add
{M : Type u_1}
[FFL.ORingStructure M]
[M↓[ℒₒᵣ] ⊧* 𝐏𝐀]
[M↓[ℒₒᵣ] ⊧* 𝐈𝐎𝐩𝐞𝐧]
(a b : M)
:
ProgramGraph.Computes addProgram ⟪a, b⟫ (a + b)
theorem
PointwiseComposition.FailureOfComposition.ConcreteEvaluator.computes_mul
{M : Type u_1}
[FFL.ORingStructure M]
[M↓[ℒₒᵣ] ⊧* 𝐏𝐀]
[M↓[ℒₒᵣ] ⊧* 𝐈𝐎𝐩𝐞𝐧]
(a b : M)
:
ProgramGraph.Computes mulProgram ⟪a, b⟫ (a * b)
theorem
PointwiseComposition.FailureOfComposition.ConcreteEvaluator.computes_pred
{M : Type u_1}
[FFL.ORingStructure M]
[M↓[ℒₒᵣ] ⊧* 𝐏𝐀]
[M↓[ℒₒᵣ] ⊧* 𝐈𝐎𝐩𝐞𝐧]
(b : M)
:
ProgramGraph.Computes predProgram b (b - 1)
theorem
PointwiseComposition.FailureOfComposition.ConcreteEvaluator.computes_sub
{M : Type u_1}
[FFL.ORingStructure M]
[M↓[ℒₒᵣ] ⊧* 𝐏𝐀]
[M↓[ℒₒᵣ] ⊧* 𝐈𝐎𝐩𝐞𝐧]
(a b : M)
:
ProgramGraph.Computes subProgram ⟪a, b⟫ (a - b)
theorem
PointwiseComposition.FailureOfComposition.ConcreteEvaluator.computes_isZero_succ
{M : Type u_1}
[FFL.ORingStructure M]
[M↓[ℒₒᵣ] ⊧* 𝐏𝐀]
[M↓[ℒₒᵣ] ⊧* 𝐈𝐎𝐩𝐞𝐧]
(b : M)
:
ProgramGraph.Computes isZeroProgram (b + 1) 0