@@ -90,7 +90,7 @@ lemma Lcomplement {P : M} (h: is_Lprojection X P) : is_Lprojection X (1 - P) :=
90
90
lemma Lcomplement_iff (P : M) : is_Lprojection X P ↔ is_Lprojection X (1 - P) :=
91
91
⟨Lcomplement, λ h, sub_sub_cancel 1 P ▸ h.Lcomplement⟩
92
92
93
- lemma commute [has_faithful_scalar M X] {P Q : M} (h₁ : is_Lprojection X P)
93
+ lemma commute [has_faithful_smul M X] {P Q : M} (h₁ : is_Lprojection X P)
94
94
(h₂ : is_Lprojection X Q) : commute P Q :=
95
95
begin
96
96
have PR_eq_RPR : ∀ R : M, is_Lprojection X R → P * R = R * P * R := λ R h₃,
@@ -130,7 +130,7 @@ begin
130
130
show P * Q = Q * P, by rw [QP_eq_QPQ, PR_eq_RPR Q h₂]
131
131
end
132
132
133
- lemma mul [has_faithful_scalar M X] {P Q : M} (h₁ : is_Lprojection X P) (h₂ : is_Lprojection X Q) :
133
+ lemma mul [has_faithful_smul M X] {P Q : M} (h₁ : is_Lprojection X P) (h₂ : is_Lprojection X Q) :
134
134
is_Lprojection X (P * Q) :=
135
135
begin
136
136
refine ⟨is_idempotent_elem.mul_of_commute (h₁.commute h₂) h₁.proj h₂.proj, _⟩,
@@ -151,7 +151,7 @@ begin
151
151
mul_smul] }
152
152
end
153
153
154
- lemma join [has_faithful_scalar M X] {P Q : M} (h₁ : is_Lprojection X P) (h₂ : is_Lprojection X Q) :
154
+ lemma join [has_faithful_smul M X] {P Q : M} (h₁ : is_Lprojection X P) (h₂ : is_Lprojection X Q) :
155
155
is_Lprojection X (P + Q - P * Q) :=
156
156
begin
157
157
convert (Lcomplement_iff _).mp (h₁.Lcomplement.mul h₂.Lcomplement) using 1 ,
@@ -164,31 +164,31 @@ instance : has_compl { f : M // is_Lprojection X f } :=
164
164
@[simp] lemma coe_compl (P : {P : M // is_Lprojection X P}) :
165
165
↑(Pᶜ) = (1 : M) - ↑P := rfl
166
166
167
- instance [has_faithful_scalar M X] : has_inf {P : M // is_Lprojection X P} :=
167
+ instance [has_faithful_smul M X] : has_inf {P : M // is_Lprojection X P} :=
168
168
⟨λ P Q, ⟨P * Q, P.prop.mul Q.prop⟩ ⟩
169
169
170
- @[simp] lemma coe_inf [has_faithful_scalar M X] (P Q : {P : M // is_Lprojection X P}) :
170
+ @[simp] lemma coe_inf [has_faithful_smul M X] (P Q : {P : M // is_Lprojection X P}) :
171
171
↑(P ⊓ Q) = ((↑P : (M)) * ↑Q) := rfl
172
172
173
- instance [has_faithful_scalar M X] : has_sup {P : M // is_Lprojection X P} :=
173
+ instance [has_faithful_smul M X] : has_sup {P : M // is_Lprojection X P} :=
174
174
⟨λ P Q, ⟨P + Q - P * Q, P.prop.join Q.prop⟩ ⟩
175
175
176
- @[simp] lemma coe_sup [has_faithful_scalar M X] (P Q : {P : M // is_Lprojection X P}) :
176
+ @[simp] lemma coe_sup [has_faithful_smul M X] (P Q : {P : M // is_Lprojection X P}) :
177
177
↑(P ⊔ Q) = ((↑P : M) + ↑Q - ↑P * ↑Q) := rfl
178
178
179
- instance [has_faithful_scalar M X] : has_sdiff {P : M // is_Lprojection X P} :=
179
+ instance [has_faithful_smul M X] : has_sdiff {P : M // is_Lprojection X P} :=
180
180
⟨λ P Q, ⟨P * (1 - Q), by exact P.prop.mul Q.prop.Lcomplement ⟩⟩
181
181
182
- @[simp] lemma coe_sdiff [has_faithful_scalar M X] (P Q : {P : M // is_Lprojection X P}) :
182
+ @[simp] lemma coe_sdiff [has_faithful_smul M X] (P Q : {P : M // is_Lprojection X P}) :
183
183
↑(P \ Q) = (↑P : M) * (1 - ↑Q) := rfl
184
184
185
- instance [has_faithful_scalar M X] : partial_order {P : M // is_Lprojection X P} :=
185
+ instance [has_faithful_smul M X] : partial_order {P : M // is_Lprojection X P} :=
186
186
{ le := λ P Q, (↑P : M) = ↑(P ⊓ Q),
187
187
le_refl := λ P, by simpa only [coe_inf, ←sq] using (P.prop.proj.eq).symm,
188
188
le_trans := λ P Q R h₁ h₂, by { simp only [coe_inf] at ⊢ h₁ h₂, rw [h₁, mul_assoc, ←h₂] },
189
189
le_antisymm := λ P Q h₁ h₂, subtype.eq (by convert (P.prop.commute Q.prop).eq) }
190
190
191
- lemma le_def [has_faithful_scalar M X] (P Q : {P : M // is_Lprojection X P}) :
191
+ lemma le_def [has_faithful_smul M X] (P Q : {P : M // is_Lprojection X P}) :
192
192
P ≤ Q ↔ (P : M) = ↑(P ⊓ Q) :=
193
193
iff.rfl
194
194
@@ -206,16 +206,16 @@ instance : has_one {P : M // is_Lprojection X P} :=
206
206
@[simp] lemma coe_one : ↑(1 : {P : M // is_Lprojection X P}) = (1 : M) :=
207
207
rfl
208
208
209
- instance [has_faithful_scalar M X] : bounded_order {P : M // is_Lprojection X P} :=
209
+ instance [has_faithful_smul M X] : bounded_order {P : M // is_Lprojection X P} :=
210
210
{ top := 1 ,
211
211
le_top := λ P, (mul_one (P : M)).symm,
212
212
bot := 0 ,
213
213
bot_le := λ P, (zero_mul (P : M)).symm, }
214
214
215
- @[simp] lemma coe_bot [has_faithful_scalar M X] :
215
+ @[simp] lemma coe_bot [has_faithful_smul M X] :
216
216
↑(bounded_order.bot : {P : M // is_Lprojection X P}) = (0 : M) := rfl
217
217
218
- @[simp] lemma coe_top [has_faithful_scalar M X] :
218
+ @[simp] lemma coe_top [has_faithful_smul M X] :
219
219
↑(bounded_order.top : {P : M // is_Lprojection X P}) = (1 : M) := rfl
220
220
221
221
lemma compl_mul {P : {P : M // is_Lprojection X P}} {Q : M} :
@@ -225,7 +225,7 @@ lemma mul_compl_self {P : {P : M // is_Lprojection X P}} :
225
225
(↑P : M) * (↑Pᶜ) = 0 :=
226
226
by rw [coe_compl, mul_sub, mul_one, P.prop.proj.eq, sub_self]
227
227
228
- lemma distrib_lattice_lemma [has_faithful_scalar M X] {P Q R : {P : M // is_Lprojection X P}} :
228
+ lemma distrib_lattice_lemma [has_faithful_smul M X] {P Q R : {P : M // is_Lprojection X P}} :
229
229
((↑P : M) + ↑Pᶜ * R) * (↑P + ↑Q * ↑R * ↑Pᶜ) = (↑P + ↑Q * ↑R * ↑Pᶜ) :=
230
230
by rw [add_mul, mul_add, mul_add, mul_assoc ↑Pᶜ ↑R (↑Q * ↑R * ↑Pᶜ), ← mul_assoc ↑R (↑Q * ↑R) ↑Pᶜ,
231
231
← coe_inf Q, (Pᶜ.prop.commute R.prop).eq, ((Q ⊓ R).prop.commute Pᶜ.prop).eq,
@@ -235,7 +235,7 @@ by rw [add_mul, mul_add, mul_add, mul_assoc ↑Pᶜ ↑R (↑Q * ↑R * ↑Pᶜ)
235
235
P.prop.proj.eq, R.prop.proj.eq, ← coe_inf Q, mul_assoc, ((Q ⊓ R).prop.commute Pᶜ.prop).eq,
236
236
← mul_assoc, Pᶜ.prop.proj.eq]
237
237
238
- instance [has_faithful_scalar M X] : distrib_lattice {P : M // is_Lprojection X P} :=
238
+ instance [has_faithful_smul M X] : distrib_lattice {P : M // is_Lprojection X P} :=
239
239
{ le_sup_left := λ P Q, by rw [le_def, coe_inf, coe_sup, ← add_sub, mul_add, mul_sub, ← mul_assoc,
240
240
P.prop.proj.eq, sub_self, add_zero],
241
241
le_sup_right := λ P Q,
@@ -277,7 +277,7 @@ instance [has_faithful_scalar M X] : distrib_lattice {P : M // is_Lprojection X
277
277
.. is_Lprojection.subtype.has_sup,
278
278
.. is_Lprojection.subtype.partial_order }
279
279
280
- instance [has_faithful_scalar M X] : boolean_algebra {P : M // is_Lprojection X P} :=
280
+ instance [has_faithful_smul M X] : boolean_algebra {P : M // is_Lprojection X P} :=
281
281
{ sup_inf_sdiff := λ P Q, subtype.ext $
282
282
by rw [coe_sup, coe_inf, coe_sdiff, mul_assoc, ← mul_assoc ↑Q,
283
283
(Q.prop.commute P.prop).eq, mul_assoc ↑P ↑Q, ← coe_compl, mul_compl_self, mul_zero, mul_zero,
0 commit comments