Bounded-scale theorems + maxOnScale #
Two clusters of theorems:
Typeclass-driven licensing:
open_no_upward_ceiling,upperBound_admits_optimum, etc. — show how Mathlib boundedness typeclasses (NoMaxOrder,OrderTop,OrderBot,NoMinOrder) interact with monotonicity to admit/block optima.Order-sensitive maximality:
maxOnScale c X,isAmbidirectional— Rett 2026's MAX operator (the dominance direction is the reifiedComparison) + ambidirectionality predicate.
On a scale with no maximum (NoMaxOrder), any upward monotone family
that is nontrivial (i.e., some value yields a different set of worlds
than another) cannot have a ceiling: for any candidate optimum, a
strictly larger value exists.
This is the typeclass-level counterpart of the data-level prediction
¬ Boundedness.open_.IsLicensed: open scales block degree
modification and TIA licensing because no element is maximal.
Proof sketch: For any x, NoMaxOrder gives y > x. If P is
upward monotone, P x w → P y w, so x is never the unique optimum.
On a scale with a top element (OrderTop), the predicate · = ⊤ is
upward monotone (vacuously — only ⊤ satisfies it) and nonconstant
(on nontrivial types). This witnesses that upper-bounded scales admit
an optimum.
Proof sketch: ⊤ satisfies · = ⊤, and for any x < ⊤, x does not.
So the family is not constant → AdmitsOptimum holds.
On a scale with a bottom element (OrderBot), the predicate · = ⊥ is
downward monotone and nonconstant (on nontrivial types). This witnesses
that lower-bounded scales admit an optimum.
Boundedness is necessary for licensing: on a scale with no upper bound and no lower bound, there exists a monotone family with no optimum. Contrapositive: if every monotone family admits an optimum, the scale has a bound.
Order-theoretic boundedness primitives #
Whether a scale has a greatest degree, stated structurally via mathlib's
OrderTop / NoMaxOrder mixins rather than as stored data — the order-theoretic
facts that telicity and licensing derive from (see Semantics/Gradability/Dimension.lean
and Studies/KennedyLevin2008.lean).
"Has a greatest element", as a proposition — usable when an OrderTop
instance is not in hand (e.g. under a quantifier).
Equations
- Degree.HasGreatest β = ∃ (m : β), ∀ (x : β), x ≤ m
Instances For
OrderTop and NoMaxOrder are mutually exclusive — the rigorous sense in
which a scale either has a greatest degree or does not. (Not in Mathlib.)
Scale-sensitive maximality operator #
[Ret26]: MAX_c(X) picks the element(s)
of X that c-dominate all other members. For the < scale (.lt) this is the GLB
(earliest / smallest), for > (.gt) the LUB (latest / largest). The same operator
underlies both temporal connectives (before/after) and degree comparatives.
- Rett, J. (2026). Semantic ambivalence and expletive negation. Ms.
Order-sensitive maximality ([Ret26], def. 1):
MAX_c(X) = { x ∈ X | ∀ x' ∈ X, x' ≠ x → c.rel x x' }.
The dominance relation is the reified Core.Order.Comparison rather than a
lawless R : α → α → Prop — removing the "fake generality" of an unconstrained
relation parameter. Each concrete c (.lt, .gt, .ge, …) names an
order relation via Comparison.rel.
Equations
- Degree.maxOnScale c X = {x : α | x ∈ X ∧ ∀ x' ∈ X, x' ≠ x → c.rel x x'}
Instances For
MAX on a singleton is that singleton: MAX_c({x}) = {x}.
The universal quantifier is vacuously satisfied, so this holds for any c.
MAX₍<₎ on a closed interval {x | s ≤ x ∧ x ≤ f} is the singleton {s}.
The minimum element s R-dominates all others on the < scale.
Dual: MAX₍>₎ on the same interval is {f}.
MAX₍>₎ on a closed interval {x | s ≤ x ∧ x ≤ f} is the singleton {f}.
The maximum element R-dominates all others on the > scale.
A scalar construction f is ambidirectional iff applying f to a set B and to its complement Bᶜ yields the same result, because MAX picks the same informative boundary from both. This is the mechanism behind expletive negation licensing: when f(B) ↔ f(Bᶜ), negating B is truth-conditionally vacuous.
Equations
- Degree.isAmbidirectional f B = (f B ↔ f Bᶜ)
Instances For
Bridge: maxOnScale .ge applied to the "at least" degree set
{d | d ≤ μ(w)} yields {μ(w)} — the singleton containing the true
value. This connects the relational MAX to IsMaxInf.
The convention: maxOnScale c X picks elements x ∈ X with c.rel x x' for
all other x'. With c = .ge, this picks elements ≥ all others,
i.e., the maximum.
MAX₍≥₎ on {d | d ≤ b} is {b}. Corollary of maxOnScale_atLeast_singleton
with μ = id. Used by the comparative boundary theorems.