OAI/Algebra/DepthFive/MatrixPathVertices.lean
18 declarations, 0 contain sorry, 0 declared as axioms
- def
OAI.Problem335.internalPathEdgesline 12Source documentation
Record the edges of a path from its internal vertices and fixed endpoints.
def internalPathEdges {d : ℕ} (labels : Fin (d + 1) → σ) (i j : ι) (p : Fin d → ι) : List (σ × ι × ι) := … - theorem
OAI.Problem335.internalPathEdges_memline 17 - theorem
OAI.Problem335.internalPathEdges_injectiveline 37 - def
OAI.Problem335.internalPathIndexline 47Source documentation
Locate the explicitly described path in the exact list enumeration.
def internalPathIndex [Fintype ι] [DecidableEq ι] {d : ℕ} (labels : Fin (d + 1) → σ) (i j : ι) (p : Fin d → ι) : Fin (matrixEntryPaths (List.ofFn labels) i j).length := …Mentions: OAI.Problem335.matrixEntryPaths
- theorem
OAI.Problem335.get_internalPathIndexline 52 - theorem
OAI.Problem335.internalPathIndex_injectiveline 58 - def
OAI.Problem335.internalPathEquivline 67Source documentation
The canonical matrix-path list and the tuple of internal vertices enumerate exactly the same paths. The edge list is preserved, not merely its cardinality.
def internalPathEquiv [Fintype ι] [DecidableEq ι] (d : ℕ) (labels : Fin (d + 1) → σ) (i j : ι) : (Fin d → ι) ≃ Fin (matrixEntryPaths (List.ofFn labels) i j).length := …Mentions: OAI.Problem335.matrixEntryPaths
- theorem
OAI.Problem335.get_internalPathEquivline 76 - def
OAI.Problem335.EndpointPathline 82Source documentation
Vertex paths with both external endpoints fixed.
def EndpointPath (d : ℕ) (i j : ι) := …
- def
OAI.Problem335.endpointPathEquivline 87Source documentation
Adjoining the two endpoints identifies arbitrary internal-vertex tuples with endpoint-fixed vertex paths.
def endpointPathEquiv (d : ℕ) (i j : ι) : (Fin d → ι) ≃ EndpointPath d i j where …
Mentions: OAI.Problem335.EndpointPath
- def
OAI.Problem335.endpointPathIndexEquivline 99Source documentation
Representation bridge from endpoint-fixed vertices to canonical list-based paths.
def endpointPathIndexEquiv [Fintype ι] [DecidableEq ι] (d : ℕ) (labels : Fin (d + 1) → σ) (i j : ι) : EndpointPath d i j ≃ Fin (matrixEntryPaths (List.ofFn labels) i j).length := …Mentions: OAI.Problem335.EndpointPath, OAI.Problem335.matrixEntryPaths
- theorem
OAI.Problem335.get_endpointPathIndexEquivline 105Source documentation
The representation equivalence preserves the exact ordered edge list.
@[simp] theorem get_endpointPathIndexEquiv [Fintype ι] [DecidableEq ι] (d : ℕ) (labels : Fin (d + 1) → σ) (i j : ι) (v : EndpointPath d i j) : (matrixEntryPaths (List.ofFn labels) i j).get (endpointPathIndexEquiv d labels i j v) = List.ofFn (fun t : Fin (d + 1) => (labels t, v.1 t.castSucc, v.1 t.succ)) := by …Mentions: OAI.Problem335.EndpointPath, OAI.Problem335.matrixEntryPaths, OAI.Problem335.endpointPathIndexEquiv
- instance
OAI.Problem335.endpointPathFintypeline 122 - theorem
OAI.Problem335.card_endpointPathline 126 - theorem
OAI.Problem335.sum_matrixEntryPaths_eq_sum_internalline 133Source documentation
Reindex any path statistic from enumerated paths to internal vertices.
theorem sum_matrixEntryPaths_eq_sum_internal [Fintype ι] [DecidableEq ι] {R : Type*} [AddCommMonoid R] (d : ℕ) (labels : Fin (d + 1) → σ) (i j : ι) (f : List (σ × ι × ι) → R) : (∑ p : Fin (matrixEntryPaths (List.ofFn labels) i j).length, f ((matrixEntryPaths (List.ofFn labels) i j).get p)) = ∑ p : Fin d → ι, f (internalPathEdges labels i j p) := by …Mentions: OAI.Problem335.matrixEntryPaths, OAI.Problem335.internalPathEdges
- theorem
OAI.Problem335.sum_matrixEntryPaths_eq_sum_verticesline 145Source documentation
Reindex any path statistic to the endpoint-fixed vertex representation. This can be applied once per path in the four-path trace expansion.
theorem sum_matrixEntryPaths_eq_sum_vertices [Fintype ι] [DecidableEq ι] {R : Type*} [AddCommMonoid R] (d : ℕ) (labels : Fin (d + 1) → σ) (i j : ι) (f : List (σ × ι × ι) → R) : (∑ p : Fin (matrixEntryPaths (List.ofFn labels) i j).length, f ((matrixEntryPaths (List.ofFn labels) i j).get p)) = ∑ v : EndpointPath d i j, f (List.ofFn (fun t : Fin (d + 1) => (labels t, v.1 t.castSucc, v.1 t.succ))) := by …Mentions: OAI.Problem335.matrixEntryPaths, OAI.Problem335.EndpointPath
- theorem
OAI.Problem335.sum_get_endpointPathIndexEquivline 157Source documentation
Additive edge statistics, including signed exponent shifts, are preserved.
theorem sum_get_endpointPathIndexEquiv [Fintype ι] [DecidableEq ι] {A : Type*} [AddCommMonoid A] (d : ℕ) (labels : Fin (d + 1) → σ) (i j : ι) (v : EndpointPath d i j) (f : σ × ι × ι → A) : (((matrixEntryPaths (List.ofFn labels) i j).get (endpointPathIndexEquiv d labels i j v)).map f).sum = ∑ t : Fin (d + 1), f (labels t, v.1 t.castSucc, v.1 t.succ) := by …Mentions: OAI.Problem335.EndpointPath, OAI.Problem335.matrixEntryPaths, OAI.Problem335.endpointPathIndexEquiv
- theorem
OAI.Problem335.prod_get_endpointPathIndexEquivline 167Source documentation
Multiplicative edge statistics, including path amplitudes, are preserved.
theorem prod_get_endpointPathIndexEquiv [Fintype ι] [DecidableEq ι] {A : Type*} [CommMonoid A] (d : ℕ) (labels : Fin (d + 1) → σ) (i j : ι) (v : EndpointPath d i j) (f : σ × ι × ι → A) : (((matrixEntryPaths (List.ofFn labels) i j).get (endpointPathIndexEquiv d labels i j v)).map f).prod = ∏ t : Fin (d + 1), f (labels t, v.1 t.castSucc, v.1 t.succ) := by …Mentions: OAI.Problem335.EndpointPath, OAI.Problem335.matrixEntryPaths, OAI.Problem335.endpointPathIndexEquiv