Supporting results for pointwise provable equality.
Constructor equations for the concrete evaluator over arbitrary models of PA. Shared decoder and forward pairing helpers come from production PairPersistence; the public results remove fuel and synchronize component computations using unconditional persistence.
theorem
PointwiseComposition.FailureOfComposition.ConcreteEvaluator.evalnCertificateFormula_tag_four_iff
{M : Type u_1}
[FFL.ORingStructure M]
[M↓[ℒₒᵣ] ⊧* 𝐏𝐀]
[M↓[ℒₒᵣ] ⊧* 𝐈𝐎𝐩𝐞𝐧]
(q : ℕ)
(hq : CategoricalRiceShapiro.ArithmeticCode.partrecCodeTag q = 4)
(s u y : M)
:
(FFL.FirstOrder.Semiformula.Evalb ![s, ↑q, u, y]) ↑CategoricalRiceShapiro.Evaluator.evalnCertificateFormula ↔ ∃ (a : M) (b : M),
(FFL.FirstOrder.Semiformula.Evalb ![s, ↑(CategoricalRiceShapiro.ArithmeticCode.partrecCodePayload₁ q), u, a])
↑CategoricalRiceShapiro.Evaluator.evalnCertificateFormula ∧ (FFL.FirstOrder.Semiformula.Evalb ![s, ↑(CategoricalRiceShapiro.ArithmeticCode.partrecCodePayload₂ q), u, b])
↑CategoricalRiceShapiro.Evaluator.evalnCertificateFormula ∧ y = ⟪a, b⟫
At a common stage, pairing computes the pair of its component outputs.
def
PointwiseComposition.FailureOfComposition.ConcreteEvaluator.canonicalPartrecPairIndex
(fCode gCode : ℕ)
:
Mathlib's pairing constructor, in its fixed natural-number encoding.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
PointwiseComposition.FailureOfComposition.ConcreteEvaluator.eventualGraph_pair_eval
{M : Type u_1}
[FFL.ORingStructure M]
[M↓[ℒₒᵣ] ⊧* 𝐏𝐀]
[M↓[ℒₒᵣ] ⊧* 𝐈𝐎𝐩𝐞𝐧]
(f g : ℕ)
(u y : M)
:
(FFL.FirstOrder.Semiformula.Evalb ![u, y]) ↑(eventualGraph (canonicalPartrecPairIndex f g)) ↔ ∃ (a : M) (b : M),
(FFL.FirstOrder.Semiformula.Evalb ![u, a]) ↑(eventualGraph f) ∧ (FFL.FirstOrder.Semiformula.Evalb ![u, b]) ↑(eventualGraph g) ∧ y = ⟪a, b⟫
Pairing equation with component stages synchronized internally in PA.
theorem
PointwiseComposition.FailureOfComposition.ConcreteEvaluator.encode_pair_eq
(f g : Nat.Partrec.Code)
:
The natural encoding of a pair constructor is the canonical pairing index.
theorem
PointwiseComposition.FailureOfComposition.ConcreteEvaluator.evalnCertificateFormula_pair_iff
{M : Type u_1}
[FFL.ORingStructure M]
[M↓[ℒₒᵣ] ⊧* 𝐏𝐀]
[M↓[ℒₒᵣ] ⊧* 𝐈𝐎𝐩𝐞𝐧]
(f g : Nat.Partrec.Code)
(s u y : M)
:
(FFL.FirstOrder.Semiformula.Evalb ![s, ↑(Encodable.encode (f.pair g)), u, y])
↑CategoricalRiceShapiro.Evaluator.evalnCertificateFormula ↔ ∃ (a : M) (b : M),
(FFL.FirstOrder.Semiformula.Evalb ![s, ↑(Encodable.encode f), u, a])
↑CategoricalRiceShapiro.Evaluator.evalnCertificateFormula ∧ (FFL.FirstOrder.Semiformula.Evalb ![s, ↑(Encodable.encode g), u, b])
↑CategoricalRiceShapiro.Evaluator.evalnCertificateFormula ∧ y = ⟪a, b⟫
Same-stage pairing equation in terms of the actual syntax constructors.
theorem
PointwiseComposition.FailureOfComposition.ConcreteEvaluator.eventualGraph_pair_code_eval
{M : Type u_1}
[FFL.ORingStructure M]
[M↓[ℒₒᵣ] ⊧* 𝐏𝐀]
[M↓[ℒₒᵣ] ⊧* 𝐈𝐎𝐩𝐞𝐧]
(f g : Nat.Partrec.Code)
(u y : M)
:
(FFL.FirstOrder.Semiformula.Evalb ![u, y]) ↑(eventualGraph (Encodable.encode (f.pair g))) ↔ ∃ (a : M) (b : M),
(FFL.FirstOrder.Semiformula.Evalb ![u, a]) ↑(eventualGraph (Encodable.encode f)) ∧ (FFL.FirstOrder.Semiformula.Evalb ![u, b]) ↑(eventualGraph (Encodable.encode g)) ∧ y = ⟪a, b⟫
Eventual pairing equation for Mathlib's actual syntax constructors.