@@ -64,9 +64,9 @@ instance [has_neg α] : has_neg (matrix m n α) := pi.has_neg
64
64
instance [add_group α] : add_group (matrix m n α) := pi.add_group
65
65
instance [add_comm_group α] : add_comm_group (matrix m n α) := pi.add_comm_group
66
66
67
- @[simp] theorem zero_val [has_zero α] (i j) : (0 : matrix m n α) i j = 0 := rfl
68
- @[simp] theorem neg_val [has_neg α] (M : matrix m n α) (i j) : (- M) i j = - M i j := rfl
69
- @[simp] theorem add_val [has_add α] (M N : matrix m n α) (i j) : (M + N) i j = M i j + N i j := rfl
67
+ @[simp] theorem zero_apply [has_zero α] (i j) : (0 : matrix m n α) i j = 0 := rfl
68
+ @[simp] theorem neg_apply [has_neg α] (M : matrix m n α) (i j) : (- M) i j = - M i j := rfl
69
+ @[simp] theorem add_apply [has_add α] (M N : matrix m n α) (i j) : (M + N) i j = M i j + N i j := rfl
70
70
71
71
@[simp] lemma map_zero [has_zero α] {β : Type w} [has_zero β] {f : α → β} (h : f 0 = 0 ) :
72
72
(0 : matrix m n α).map f = 0 :=
@@ -100,14 +100,14 @@ variables [decidable_eq n]
100
100
if `i ≠ j`. -/
101
101
def diagonal [has_zero α] (d : n → α) : matrix n n α := λ i j, if i = j then d i else 0
102
102
103
- @[simp] theorem diagonal_val_eq [has_zero α] {d : n → α} (i : n) : (diagonal d) i i = d i :=
103
+ @[simp] theorem diagonal_apply_eq [has_zero α] {d : n → α} (i : n) : (diagonal d) i i = d i :=
104
104
by simp [diagonal]
105
105
106
- @[simp] theorem diagonal_val_ne [has_zero α] {d : n → α} {i j : n} (h : i ≠ j) :
106
+ @[simp] theorem diagonal_apply_ne [has_zero α] {d : n → α} {i j : n} (h : i ≠ j) :
107
107
(diagonal d) i j = 0 := by simp [diagonal, h]
108
108
109
- theorem diagonal_val_ne ' [has_zero α] {d : n → α} {i j : n} (h : j ≠ i) :
110
- (diagonal d) i j = 0 := diagonal_val_ne h.symm
109
+ theorem diagonal_apply_ne ' [has_zero α] {d : n → α} {i j : n} (h : j ≠ i) :
110
+ (diagonal d) i j = 0 := diagonal_apply_ne h.symm
111
111
112
112
@[simp] theorem diagonal_zero [has_zero α] : (diagonal (λ _, 0 ) : matrix n n α) = 0 :=
113
113
by simp [diagonal]; refl
@@ -118,7 +118,7 @@ begin
118
118
ext i j,
119
119
by_cases h : i = j,
120
120
{ simp [h, transpose] },
121
- { simp [h, transpose, diagonal_val_ne ' h] }
121
+ { simp [h, transpose, diagonal_apply_ne ' h] }
122
122
end
123
123
124
124
@[simp] theorem diagonal_add [add_monoid α] (d₁ d₂ : n → α) :
@@ -137,43 +137,43 @@ instance : has_one (matrix n n α) := ⟨diagonal (λ _, 1)⟩
137
137
138
138
@[simp] theorem diagonal_one : (diagonal (λ _, 1 ) : matrix n n α) = 1 := rfl
139
139
140
- theorem one_val {i j} : (1 : matrix n n α) i j = if i = j then 1 else 0 := rfl
140
+ theorem one_apply {i j} : (1 : matrix n n α) i j = if i = j then 1 else 0 := rfl
141
141
142
- @[simp] theorem one_val_eq (i) : (1 : matrix n n α) i i = 1 := diagonal_val_eq i
142
+ @[simp] theorem one_apply_eq (i) : (1 : matrix n n α) i i = 1 := diagonal_apply_eq i
143
143
144
- @[simp] theorem one_val_ne {i j} : i ≠ j → (1 : matrix n n α) i j = 0 :=
145
- diagonal_val_ne
144
+ @[simp] theorem one_apply_ne {i j} : i ≠ j → (1 : matrix n n α) i j = 0 :=
145
+ diagonal_apply_ne
146
146
147
- theorem one_val_ne ' {i j} : j ≠ i → (1 : matrix n n α) i j = 0 :=
148
- diagonal_val_ne '
147
+ theorem one_apply_ne ' {i j} : j ≠ i → (1 : matrix n n α) i j = 0 :=
148
+ diagonal_apply_ne '
149
149
150
150
@[simp] lemma one_map {β : Type w} [has_zero β] [has_one β]
151
151
{f : α → β} (h₀ : f 0 = 0 ) (h₁ : f 1 = 1 ) :
152
152
(1 : matrix n n α).map f = (1 : matrix n n β) :=
153
- by { ext, simp only [one_val , map_apply], split_ifs; simp [h₀, h₁], }
153
+ by { ext, simp only [one_apply , map_apply], split_ifs; simp [h₀, h₁], }
154
154
155
155
end one
156
156
157
157
section numeral
158
158
159
- @[simp] lemma bit0_val [has_add α] (M : matrix m m α) (i : m) (j : m) :
159
+ @[simp] lemma bit0_apply [has_add α] (M : matrix m m α) (i : m) (j : m) :
160
160
(bit0 M) i j = bit0 (M i j) := rfl
161
161
162
162
variables [add_monoid α] [has_one α]
163
163
164
- lemma bit1_val (M : matrix n n α) (i : n) (j : n) :
164
+ lemma bit1_apply (M : matrix n n α) (i : n) (j : n) :
165
165
(bit1 M) i j = if i = j then bit1 (M i j) else bit0 (M i j) :=
166
166
by dsimp [bit1]; by_cases h : i = j; simp [h]
167
167
168
168
@[simp]
169
- lemma bit1_val_eq (M : matrix n n α) (i : n) :
169
+ lemma bit1_apply_eq (M : matrix n n α) (i : n) :
170
170
(bit1 M) i i = bit1 (M i i) :=
171
- by simp [bit1_val ]
171
+ by simp [bit1_apply ]
172
172
173
173
@[simp]
174
- lemma bit1_val_ne (M : matrix n n α) {i j : n} (h : i ≠ j) :
174
+ lemma bit1_apply_ne (M : matrix n n α) {i j : n} (h : i ≠ j) :
175
175
(bit1 M) i j = bit0 (M i j) :=
176
- by simp [bit1_val , h]
176
+ by simp [bit1_apply , h]
177
177
178
178
end numeral
179
179
@@ -219,17 +219,17 @@ by simp [dot_product, mul_add, finset.sum_add_distrib]
219
219
220
220
@[simp] lemma diagonal_dot_product [decidable_eq m] [semiring α] (v w : m → α) (i : m) :
221
221
dot_product (diagonal v i) w = v i * w i :=
222
- have ∀ j ≠ i, diagonal v i j * w j = 0 := λ j hij, by simp [diagonal_val_ne ' hij],
222
+ have ∀ j ≠ i, diagonal v i j * w j = 0 := λ j hij, by simp [diagonal_apply_ne ' hij],
223
223
by convert finset.sum_eq_single i (λ j _, this j) _; simp
224
224
225
225
@[simp] lemma dot_product_diagonal [decidable_eq m] [semiring α] (v w : m → α) (i : m) :
226
226
dot_product v (diagonal w i) = v i * w i :=
227
- have ∀ j ≠ i, v j * diagonal w i j = 0 := λ j hij, by simp [diagonal_val_ne ' hij],
227
+ have ∀ j ≠ i, v j * diagonal w i j = 0 := λ j hij, by simp [diagonal_apply_ne ' hij],
228
228
by convert finset.sum_eq_single i (λ j _, this j) _; simp
229
229
230
230
@[simp] lemma dot_product_diagonal' [decidable_eq m] [semiring α] (v w : m → α) (i : m) :
231
231
dot_product v (λ j, diagonal w j i) = v i * w i :=
232
- have ∀ j ≠ i, v j * diagonal w j i = 0 := λ j hij, by simp [diagonal_val_ne hij],
232
+ have ∀ j ≠ i, v j * diagonal w j i = 0 := λ j hij, by simp [diagonal_apply_ne hij],
233
233
by convert finset.sum_eq_single i (λ j _, this j) _; simp
234
234
235
235
@[simp] lemma neg_dot_product [ring α] (v w : m → α) : dot_product (-v) w = - dot_product v w :=
@@ -254,15 +254,15 @@ protected def mul [has_mul α] [add_comm_monoid α] (M : matrix l m α) (N : mat
254
254
255
255
localized " infixl ` ⬝ `:75 := matrix.mul" in matrix
256
256
257
- theorem mul_val [has_mul α] [add_comm_monoid α] {M : matrix l m α} {N : matrix m n α} {i k} :
257
+ theorem mul_apply [has_mul α] [add_comm_monoid α] {M : matrix l m α} {N : matrix m n α} {i k} :
258
258
(M ⬝ N) i k = ∑ j, M i j * N j k := rfl
259
259
260
260
instance [has_mul α] [add_comm_monoid α] : has_mul (matrix n n α) := ⟨matrix.mul⟩
261
261
262
262
@[simp] theorem mul_eq_mul [has_mul α] [add_comm_monoid α] (M N : matrix n n α) :
263
263
M * N = M ⬝ N := rfl
264
264
265
- theorem mul_val ' [has_mul α] [add_comm_monoid α] {M N : matrix n n α} {i k} :
265
+ theorem mul_apply ' [has_mul α] [add_comm_monoid α] {M N : matrix n n α} {i k} :
266
266
(M ⬝ N) i k = dot_product (λ j, M i j) (λ j, N j k) := rfl
267
267
268
268
section semigroup
@@ -334,7 +334,7 @@ diagonal_mul_diagonal _ _
334
334
lemma map_mul {L : matrix m n α} {M : matrix n o α}
335
335
{β : Type w} [semiring β] {f : α →+* β} :
336
336
(L ⬝ M).map f = L.map f ⬝ M.map f :=
337
- by { ext, simp [mul_val , ring_hom.map_sum], }
337
+ by { ext, simp [mul_apply , ring_hom.map_sum], }
338
338
339
339
lemma is_add_monoid_hom_mul_left (M : matrix l m α) :
340
340
is_add_monoid_hom (λ x : matrix m n α, M ⬝ x) :=
@@ -359,7 +359,7 @@ protected lemma mul_sum {β : Type*} (s : finset β) (f : β → matrix m n α)
359
359
(id (@is_add_monoid_hom_mul_left _ _ n _ _ _ _ _ M) : _)).symm
360
360
361
361
@[simp]
362
- lemma row_mul_col_val (v w : m → α) (i j) : (row v ⬝ col w) i j = dot_product v w :=
362
+ lemma row_mul_col_apply (v w : m → α) (i j) : (row v ⬝ col w) i j = dot_product v w :=
363
363
rfl
364
364
365
365
end semiring
@@ -402,7 +402,7 @@ instance [semiring α] : has_scalar α (matrix m n α) := pi.has_scalar
402
402
instance {β : Type w} [semiring α] [add_comm_monoid β] [semimodule α β] :
403
403
semimodule α (matrix m n β) := pi.semimodule _ _ _
404
404
405
- @[simp] lemma smul_val [semiring α] (a : α) (A : matrix m n α) (i : m) (j : n) : (a • A) i j = a * A i j := rfl
405
+ @[simp] lemma smul_apply [semiring α] (a : α) (A : matrix m n α) (i : m) (j : n) : (a • A) i j = a * A i j := rfl
406
406
407
407
section semiring
408
408
variables [semiring α]
@@ -417,7 +417,7 @@ by { ext, apply smul_dot_product }
417
417
@[simp] lemma mul_mul_left (M : matrix m n α) (N : matrix n o α) (a : α) :
418
418
(λ i j, a * M i j) ⬝ N = a • (M ⬝ N) :=
419
419
begin
420
- simp only [←smul_val ],
420
+ simp only [←smul_apply ],
421
421
simp,
422
422
end
423
423
@@ -440,11 +440,11 @@ variable [decidable_eq n]
440
440
441
441
lemma scalar_apply_eq (a : α) (i : n) :
442
442
scalar n a i i = a :=
443
- by simp only [coe_scalar, mul_one, one_val_eq, smul_val ]
443
+ by simp only [coe_scalar, mul_one, one_apply_eq, smul_apply ]
444
444
445
445
lemma scalar_apply_ne (a : α) (i j : n) (h : i ≠ j) :
446
446
scalar n a i j = 0 :=
447
- by simp only [h, coe_scalar, one_val_ne , ne.def, not_false_iff, smul_val , mul_zero]
447
+ by simp only [h, coe_scalar, one_apply_ne , ne.def, not_false_iff, smul_apply , mul_zero]
448
448
449
449
end scalar
450
450
@@ -463,7 +463,7 @@ by { ext, apply dot_product_smul }
463
463
@[simp] lemma mul_mul_right (M : matrix m n α) (N : matrix n o α) (a : α) :
464
464
M ⬝ (λ i j, a * N i j) = a • (M ⬝ N) :=
465
465
begin
466
- simp only [←smul_val ],
466
+ simp only [←smul_apply ],
467
467
simp,
468
468
end
469
469
@@ -524,7 +524,7 @@ by { ext, symmetry, apply dot_product_assoc }
524
524
525
525
lemma vec_mul_vec_eq (w : m → α) (v : n → α) :
526
526
vec_mul_vec w v = (col w) ⬝ (row v) :=
527
- by { ext i j, simp [vec_mul_vec, mul_val ], refl }
527
+ by { ext i j, simp [vec_mul_vec, mul_apply ], refl }
528
528
529
529
variables [decidable_eq m] [decidable_eq n]
530
530
@@ -626,9 +626,9 @@ open_locale matrix
626
626
/--
627
627
Tell `simp` what the entries are in a transposed matrix.
628
628
629
- Compare with `mul_val `, `diagonal_val_eq `, etc.
629
+ Compare with `mul_apply `, `diagonal_apply_eq `, etc.
630
630
-/
631
- @[simp] lemma transpose_val (M : matrix m n α) (i j) : M.transpose j i = M i j := rfl
631
+ @[simp] lemma transpose_apply (M : matrix m n α) (i j) : M.transpose j i = M i j := rfl
632
632
633
633
@[simp] lemma transpose_transpose (M : matrix m n α) :
634
634
Mᵀᵀ = M :=
@@ -642,8 +642,8 @@ begin
642
642
ext i j,
643
643
unfold has_one.one transpose,
644
644
by_cases i = j,
645
- { simp only [h, diagonal_val_eq ] },
646
- { simp only [diagonal_val_ne h, diagonal_val_ne (λ p, h (symm p))] }
645
+ { simp only [h, diagonal_apply_eq ] },
646
+ { simp only [diagonal_apply_ne h, diagonal_apply_ne (λ p, h (symm p))] }
647
647
end
648
648
649
649
@[simp] lemma transpose_add [has_add α] (M : matrix m n α) (N : matrix m n α) :
@@ -726,8 +726,8 @@ open_locale matrix
726
726
@[simp] lemma row_add [semiring α] (v w : m → α) : row (v + w) = row v + row w := by { ext, refl }
727
727
@[simp] lemma row_smul [semiring α] (x : α) (v : m → α) : row (x • v) = x • row v := by { ext, refl }
728
728
729
- @[simp] lemma col_val (v : m → α) (i j) : matrix.col v i j = v i := rfl
730
- @[simp] lemma row_val (v : m → α) (i j) : matrix.row v i j = v j := rfl
729
+ @[simp] lemma col_apply (v : m → α) (i j) : matrix.col v i j = v i := rfl
730
+ @[simp] lemma row_apply (v : m → α) (i j) : matrix.row v i j = v j := rfl
731
731
732
732
@[simp]
733
733
lemma transpose_col (v : m → α) : (matrix.col v).transpose = matrix.row v := by {ext, refl}
@@ -769,15 +769,15 @@ function.update_same j (c i) (M i)
769
769
@[simp] lemma update_column_ne [decidable_eq m] {j' : m} (j_ne : j' ≠ j) :
770
770
update_column M j c i j' = M i j' := function.update_noteq j_ne (c i) (M i)
771
771
772
- lemma update_row_val [decidable_eq n] {i' : n} :
772
+ lemma update_row_apply [decidable_eq n] {i' : n} :
773
773
update_row M i b i' j = if i' = i then b j else M i' j :=
774
774
begin
775
775
by_cases i' = i,
776
776
{ rw [h, update_row_self, if_pos rfl] },
777
777
{ rwa [update_row_ne h, if_neg h] }
778
778
end
779
779
780
- lemma update_column_val [decidable_eq m] {j' : m} : update_column M j c i j' = if j' = j then c i else M i j' :=
780
+ lemma update_column_apply [decidable_eq m] {j' : m} : update_column M j c i j' = if j' = j then c i else M i j' :=
781
781
begin
782
782
by_cases j' = j,
783
783
{ rw [h, update_column_self, if_pos rfl] },
@@ -787,14 +787,14 @@ end
787
787
lemma update_row_transpose [decidable_eq m] : update_row Mᵀ j c = (update_column M j c)ᵀ :=
788
788
begin
789
789
ext i' j,
790
- rw [transpose_val, update_row_val, update_column_val ],
790
+ rw [transpose_apply, update_row_apply, update_column_apply ],
791
791
refl
792
792
end
793
793
794
794
lemma update_column_transpose [decidable_eq n] : update_column Mᵀ i b = (update_row M i b)ᵀ :=
795
795
begin
796
796
ext i' j,
797
- rw [transpose_val, update_row_val, update_column_val ],
797
+ rw [transpose_apply, update_row_apply, update_column_apply ],
798
798
refl
799
799
end
800
800
@@ -909,7 +909,8 @@ lemma from_blocks_multiply {p q : Type u} [fintype p] [fintype q]
909
909
(C ⬝ A' + D ⬝ C') (C ⬝ B' + D ⬝ D') :=
910
910
begin
911
911
ext i j, rcases i; rcases j;
912
- simp only [from_blocks, mul_val, fintype.sum_sum_type, sum.elim_inl, sum.elim_inr, pi.add_apply],
912
+ simp only [from_blocks, mul_apply, fintype.sum_sum_type, sum.elim_inl, sum.elim_inr,
913
+ pi.add_apply],
913
914
end
914
915
915
916
variables [decidable_eq l] [decidable_eq m]
@@ -921,7 +922,7 @@ begin
921
922
end
922
923
923
924
@[simp] lemma from_blocks_one : from_blocks (1 : matrix l l α) 0 0 (1 : matrix m m α) = 1 :=
924
- by { ext i j, rcases i; rcases j; simp [one_val ] }
925
+ by { ext i j, rcases i; rcases j; simp [one_apply ] }
925
926
926
927
end block_matrices
927
928
@@ -932,6 +933,6 @@ variables {β : Type*} [semiring α] [semiring β]
932
933
933
934
lemma map_matrix_mul (M : matrix m n α) (N : matrix n o α) (i : m) (j : o) (f : α →+* β) :
934
935
f (matrix.mul M N i j) = matrix.mul (λ i j, f (M i j)) (λ i j, f (N i j)) i j :=
935
- by simp [matrix.mul_val , ring_hom.map_sum]
936
+ by simp [matrix.mul_apply , ring_hom.map_sum]
936
937
937
938
end ring_hom
0 commit comments