Mathlib v3 is deprecated. Go to Mathlib v4

Commit 2020-05-12 15:37 11415339

View on Github →

feat(data/matrix): matrix and vector notation (#2656) This PR adds notation for matrices and vectors as discussed on Zulip a couple of months ago, so that ![![a, b], ![c, d]] constructs a 2x2 matrix with rows ![a, b] : fin 2 -> α and ![c, d]. It also adds corresponding simp lemmas for all matrix operations defined in data.matrix.basic. These lemmas should apply only when the input already contains ![...]. To express the simp lemmas nicely, I defined a function dot_product : (v w : n -> α) -> α which returns the sum of the entrywise product of two vectors. IMO, this makes the definitions of matrix.mul, matrix.mul_vec and matrix.vec_mul clearer, and it allows us to share some proofs. I could also inline dot_product (restoring the old situation) if the reviewers prefer.

Estimated changes

added theorem matrix.add_cons
added theorem matrix.col_cons
added theorem matrix.col_empty
added theorem matrix.cons_add
added theorem matrix.cons_head_tail
added theorem matrix.cons_mul
added theorem matrix.cons_mul_vec
added theorem matrix.cons_transpose
added theorem matrix.cons_val'
added theorem matrix.cons_val_one
added theorem matrix.cons_val_succ'
added theorem matrix.cons_val_succ
added theorem matrix.cons_val_zero'
added theorem matrix.cons_val_zero
added theorem matrix.cons_vec_mul
added theorem matrix.cons_zero_zero
added theorem matrix.empty_add_empty
added theorem matrix.empty_eq
added theorem matrix.empty_mul
added theorem matrix.empty_mul_empty
added theorem matrix.empty_mul_vec
added theorem matrix.empty_val'
added theorem matrix.empty_vec_mul
added theorem matrix.head_cons
added theorem matrix.head_transpose
added theorem matrix.head_val'
added theorem matrix.head_zero
added theorem matrix.minor_cons_row
added theorem matrix.minor_empty
added theorem matrix.mul_empty
added theorem matrix.mul_val_succ
added theorem matrix.mul_vec_cons
added theorem matrix.mul_vec_empty
added theorem matrix.neg_cons
added theorem matrix.neg_empty
added theorem matrix.row_cons
added theorem matrix.row_empty
added theorem matrix.smul_cons
added theorem matrix.smul_empty
added theorem matrix.tail_cons
added theorem matrix.tail_transpose
added theorem matrix.tail_val'
added theorem matrix.tail_zero
added def matrix.vec_cons
added def matrix.vec_empty
added def matrix.vec_head
added theorem matrix.vec_mul_cons
added theorem matrix.vec_mul_empty
added def matrix.vec_tail
added theorem matrix.zero_empty