Supporting results for pointwise provable equality.
The generated quotient of program indices is a monoid, with multiplication given by the compiler's composition operation. Interpreting indices as functional graphs gives a monoid equivalence to the generated graph quotient.
def
PointwiseComposition.FailureOfComposition.ProgramIndices.GeneratedIndexQuotient
(A : Arithmetization)
(T : FFL.FirstOrder.ArithmeticTheory)
:
Program indices modulo the generated composition congruence.
Equations
Instances For
def
PointwiseComposition.FailureOfComposition.ProgramIndices.generatedIndexMk
(A : Arithmetization)
(T : FFL.FirstOrder.ArithmeticTheory)
(e : ℕ)
:
The class of a program index.
Instances For
theorem
PointwiseComposition.FailureOfComposition.ProgramIndices.realizationIndex_respects_generated
(A : Arithmetization)
(T : FFL.FirstOrder.ArithmeticTheory)
[𝐏𝐀 ≼ T]
{F G : ProofSearch.FunctionalGraph}
(h : GeneratedCongruence.Rel T F G)
:
GeneratedRel A T (realizationIndex A F) (realizationIndex A G)
noncomputable def
PointwiseComposition.FailureOfComposition.ProgramIndices.generatedQuotientEquiv
(A : Arithmetization)
(T : FFL.FirstOrder.ArithmeticTheory)
[𝐏𝐀 ≼ T]
:
Graph interpretation and chosen PA realizers give inverse maps on the generated quotients.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
PointwiseComposition.FailureOfComposition.ProgramIndices.generatedQuotientEquiv_mk
(A : Arithmetization)
(T : FFL.FirstOrder.ArithmeticTheory)
[𝐏𝐀 ≼ T]
(e : ℕ)
:
(generatedQuotientEquiv A T) (generatedIndexMk A T e) = GeneratedCongruence.quotientMk T ⟨A.graph e, ⋯⟩
@[simp]
theorem
PointwiseComposition.FailureOfComposition.ProgramIndices.generatedQuotientEquiv_symm_mk
(A : Arithmetization)
(T : FFL.FirstOrder.ArithmeticTheory)
[𝐏𝐀 ≼ T]
(F : ProofSearch.FunctionalGraph)
:
(generatedQuotientEquiv A T).symm (GeneratedCongruence.quotientMk T F) = generatedIndexMk A T (realizationIndex A F)
@[instance_reducible]
instance
PointwiseComposition.FailureOfComposition.ProgramIndices.instMulGeneratedIndexQuotient
(A : Arithmetization)
(T : FFL.FirstOrder.ArithmeticTheory)
:
Mul (GeneratedIndexQuotient A T)
Equations
- One or more equations did not get rendered due to their size.
@[instance_reducible]
noncomputable instance
PointwiseComposition.FailureOfComposition.ProgramIndices.instOneGeneratedIndexQuotient
(A : Arithmetization)
(T : FFL.FirstOrder.ArithmeticTheory)
:
One (GeneratedIndexQuotient A T)
Equations
- One or more equations did not get rendered due to their size.
@[simp]
theorem
PointwiseComposition.FailureOfComposition.ProgramIndices.generatedQuotientEquiv_mul
(A : Arithmetization)
(T : FFL.FirstOrder.ArithmeticTheory)
[𝐏𝐀 ≼ T]
(a b : GeneratedIndexQuotient A T)
:
(generatedQuotientEquiv A T) (a * b) = (generatedQuotientEquiv A T) a * (generatedQuotientEquiv A T) b
@[instance_reducible]
noncomputable instance
PointwiseComposition.FailureOfComposition.ProgramIndices.generatedIndexQuotientMonoid
(A : Arithmetization)
(T : FFL.FirstOrder.ArithmeticTheory)
[𝐏𝐀 ≼ T]
:
Monoid (GeneratedIndexQuotient A T)
Equations
- One or more equations did not get rendered due to their size.
noncomputable def
PointwiseComposition.FailureOfComposition.ProgramIndices.generatedQuotientMulEquiv
(A : Arithmetization)
(T : FFL.FirstOrder.ArithmeticTheory)
[𝐏𝐀 ≼ T]
:
The index and graph quotients are equivalent as monoids.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
PointwiseComposition.FailureOfComposition.ProgramIndices.generatedQuotientMulEquiv_mk
(A : Arithmetization)
(T : FFL.FirstOrder.ArithmeticTheory)
[𝐏𝐀 ≼ T]
(e : ℕ)
:
(generatedQuotientMulEquiv A T) (generatedIndexMk A T e) = GeneratedCongruence.quotientMk T ⟨A.graph e, ⋯⟩
theorem
PointwiseComposition.FailureOfComposition.ProgramIndices.generatedIndexQuotient_subsingleton_of_graph_universal
(A : Arithmetization)
(T : FFL.FirstOrder.ArithmeticTheory)
[𝐏𝐀 ≼ T]
(h : ∀ (F G : ProofSearch.FunctionalGraph), GeneratedCongruence.Rel T F G)
:
Universality on functional graphs also collapses the index quotient.