[@Anindya](https://forum.azimuthproject.org/profile/1950/Anindya%20Bhattacharyya) wrote:

> As for some counterexamples...

Here's another one! Let \\(X\\) be any set with at least two elements, and endow it with the _codiscrete_ order where \\(x \le y\\) for all \\(x, y\\). Then every monoid on \\(X\\) gives a monoidal preorder. But certainly, _none_ of these monoids give a (unique) join or meet. (I'm solidly in the camp that thinks that if there's no unique [least upper / greatest lower] bound, then the join/meet operation shouldn't be considered defined at all.)

If we do this same trick with the discrete order, we get your first counterexample, but from a slightly different starting point.

> How "lattice-like" can ⊗ get before it is forced to be a join or meet wrt the underlying preorder?

One thing we require of lattices that we don't of arbitrary monoidal preorders is that \\(x \le x \vee y\\) and \\(y \le x \vee y\\). Using a monoid where the product is incomparable with at least one of the operands should be sufficient to dodge being a meet or join. (Or heck, try something weird where \\(x \le x \otimes y \le y\\).)

> As for some counterexamples...

Here's another one! Let \\(X\\) be any set with at least two elements, and endow it with the _codiscrete_ order where \\(x \le y\\) for all \\(x, y\\). Then every monoid on \\(X\\) gives a monoidal preorder. But certainly, _none_ of these monoids give a (unique) join or meet. (I'm solidly in the camp that thinks that if there's no unique [least upper / greatest lower] bound, then the join/meet operation shouldn't be considered defined at all.)

If we do this same trick with the discrete order, we get your first counterexample, but from a slightly different starting point.

> How "lattice-like" can ⊗ get before it is forced to be a join or meet wrt the underlying preorder?

One thing we require of lattices that we don't of arbitrary monoidal preorders is that \\(x \le x \vee y\\) and \\(y \le x \vee y\\). Using a monoid where the product is incomparable with at least one of the operands should be sufficient to dodge being a meet or join. (Or heck, try something weird where \\(x \le x \otimes y \le y\\).)