@@ -142,6 +142,11 @@ instance pi.frame {ι : Type*} {π : ι → Type*} [Π i, frame (π i)] : frame
142142 ← supr_subtype''],
143143 ..pi.complete_lattice }
144144
145+ @[priority 100 ] -- see Note [lower instance priority]
146+ instance frame.to_distrib_lattice : distrib_lattice α :=
147+ distrib_lattice.of_inf_sup_le $ λ a b c,
148+ by rw [←Sup_pair, ←Sup_pair, inf_Sup_eq, ←Sup_image, image_pair]
149+
145150end frame
146151
147152section coframe
@@ -189,6 +194,11 @@ instance pi.coframe {ι : Type*} {π : ι → Type*} [Π i, coframe (π i)] : co
189194 by simp only [←sup_infi_eq, Inf_apply, ←infi_subtype'', infi_apply, pi.sup_apply],
190195 ..pi.complete_lattice }
191196
197+ @[priority 100 ] -- see Note [lower instance priority]
198+ instance coframe.to_distrib_lattice : distrib_lattice α :=
199+ { le_sup_inf := λ a b c, by rw [←Inf_pair, ←Inf_pair, sup_Inf_eq, ←Inf_image, image_pair],
200+ ..‹coframe α› }
201+
192202end coframe
193203
194204section complete_distrib_lattice
@@ -202,12 +212,6 @@ instance pi.complete_distrib_lattice {ι : Type*} {π : ι → Type*}
202212
203213end complete_distrib_lattice
204214
205- @[priority 100 ] -- see Note [lower instance priority]
206- instance complete_distrib_lattice.to_distrib_lattice [d : complete_distrib_lattice α] :
207- distrib_lattice α :=
208- { le_sup_inf := λ x y z, by rw [← Inf_pair, ← Inf_pair, sup_Inf_eq, ← Inf_image, set.image_pair],
209- ..d }
210-
211215/-- A complete Boolean algebra is a completely distributive Boolean algebra. -/
212216class complete_boolean_algebra α extends boolean_algebra α, complete_distrib_lattice α
213217
0 commit comments