Minimum and maximum of lists
Main definitions
The main definitions are argmax, argmin, minimum and maximum for lists.
argmax f l returns some a, where a of l that maximises f a. If there are a b such that
f a = f b, it returns whichever of a or b comes first in the list.
argmax f [] = none`
minimum l returns an with_top α, the smallest element of l for nonempty lists, and ⊤ for
[]
Auxiliary definition to define argmax
argmax f l returns some a, where a of l that maximises f a. If there are a b such
that f a = f b, it returns whichever of a or b comes first in the list.
argmax f [] = none`
Equations
- list.argmax f l = list.foldl (list.argmax₂ f) none l
argmin f l returns some a, where a of l that minimises f a. If there are a b such
that f a = f b, it returns whichever of a or b comes first in the list.
argmin f [] = none`
Equations
- list.argmin f l = list.argmax f l
maximum l returns an with_bot α, the largest element of l for nonempty lists, and ⊥ for
[]
Equations
- l.maximum = list.argmax id l
minimum l returns an with_top α, the smallest element of l for nonempty lists, and ⊤ for
[]
Equations
- l.minimum = list.argmin id l