Certificates for list-based matrix literals #
This file contains common utilities for tactics that certify a computation on matrix literals from proofs about the lists of their rows.
Main definitions #
certifyProductEq: certify that the product of two matrix literals equals a third, given the expansion of the product byMulExpand.certifyRowsEq: certify the equality of two row literals from the equations of their entries.certifyOfArray: certifies that the row-major array of a matrix literal is equal to the array of the matrix's entries.
Three forms of one list-based matrix literal. This makes the argument list more succinct when a cert construction function needs to use multiple representations.
Instances For
The ListMatrixLit of the matrix with rows rows.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The ListMatrixLit of the matrix with rows rows, given as an array of rows.
Equations
- Mathlib.Tactic.Matrix.ListMatrixLit.ofArray zα m n rows = Mathlib.Tactic.Matrix.ListMatrixLit.ofRows zα m n (List.map Array.toList rows.toList)
Instances For
Prove the row literals of rows₁ and rows₂ equal from the entrywise equations a = b,
each proved by proveEq.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Prove the product ofLists mulEq.A * ofLists mulEq.B = U from the list-based expansion of
mulEq.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The literal of the row-major array of the entries of the matrix literal L.
Instances For
Prove that the row-major array of the m × n matrix literal L is the literal L.array.
Equations
- One or more equations did not get rendered due to their size.