Zulip Chat Archive
Stream: mathlib4
Topic: GeneralizedBooleanAlgebra and ConditionallyComplete diamond
Robert Maxton (Oct 06 2025 at 23:19):
import Mathlib.Order.BooleanAlgebra.Basic
import Mathlib.Logic.Pairwise
import Mathlib.Order.ConditionallyCompleteLattice.Defs
example {α ι : Type*} [GeneralizedBooleanAlgebra α] [ConditionallyCompleteLattice α]
(f : ι → α) (hf : Pairwise (Function.onFun Disjoint f)) -- failed to synthesize OrderBot α
(i : ι ) : True := by trivial
I'm looking for a spelling that lets me work with relative complements and indexed suprema at the same time; what's the best way to do that? For right now I'm manually providing GeneralizedBooleanAlgebra.toOrderBot as an explicit argument to Disjoint, but I imagine that's just buying trouble...
Aaron Liu (Oct 06 2025 at 23:33):
yeah that's a diamond
Aaron Liu (Oct 06 2025 at 23:33):
don't have the diamond
Robert Maxton (Oct 06 2025 at 23:33):
yeah, but how :p
Aaron Liu (Oct 06 2025 at 23:33):
do you have an order top?
Robert Maxton (Oct 06 2025 at 23:34):
... I could make that assumption, I suppose, though I'd kind of prefer not to.
More to the point, tho, that only kicks the can down the road: BooleanAlgebra and CompleteLattice still give me diamond problems later.
Aaron Liu (Oct 06 2025 at 23:34):
I'm thinking about docs#Order.Coframe
Robert Maxton (Oct 06 2025 at 23:35):
mmmm
Aaron Liu (Oct 06 2025 at 23:36):
I don't think the specific case of conditionally complete order + relative complements is in mathlib
Aaron Liu (Oct 06 2025 at 23:36):
without a top
Robert Maxton (Oct 06 2025 at 23:36):
bleh.
Alright, I'll just stick with CompleteBooleanAlgebra now that I've found it
Aaron Liu (Oct 06 2025 at 23:36):
but with a top I think this might be exactly docs#Order.Coframe
Robert Maxton (Oct 06 2025 at 23:36):
hmm
Robert Maxton (Oct 06 2025 at 23:37):
Coframe looks approximately correct
Robert Maxton (Oct 06 2025 at 23:37):
I'll give it a shot and see what happens
Thanks!
Yury G. Kudryashov (Oct 07 2025 at 01:53):
Another option is to define a class (in your project) that extends both.
Last updated: Dec 20 2025 at 21:32 UTC