Reference · Vectors
rainbow.math.linear.vector.pointwise-order
Length-sensitive componentwise order for signed-rational vectors. vector/at-most [] [] = Truth vector/at-most [] (y :: ys) = Falsity vector/at-most (x :: xs) [] = Falsity vector/at-most (x :: xs) (y :: ys) = signed/at-most x y AND vector/at-most xs ys The definition turns scalar order certificates into a native finite-vector feasibility relation. Reflexivity and uniform-clamp monotonicity are proved structurally, without adding axioms or changing the kernel. This is deliberately distinct from signed/all-at-most: that theorem compares two functions on an explicit list of problem indices, while vector/at-most compares two native value lists by position and makes equal dimension part of the proposition.
vector/at-most
vector/at-most : (x₁ x₂ : List ℚ) → Prop
List = data/Listℚ = signed/SignedRational
vector/at-most-empty
vector/at-most-empty : → vector/at-most [] []
vector/at-most-cons
vector/at-most-cons : (left-head right-head : ℚ) (left-tail right-tail : List ℚ) (head-ordered : left-head ≤ right-head) (tail-ordered : vector/at-most left-tail right-tail) → vector/at-most (data/cons ℚ left-head left-tail) (data/cons ℚ right-head right-tail)
List = data/Listℚ = signed/SignedRational≤ = signed/at-most
vector/at-most-reflexive
vector/at-most-reflexive : (values : List ℚ) → vector/at-most values values
List = data/Listℚ = signed/SignedRational
vector/uniform-clamp-monotone
vector/uniform-clamp-monotone : (lower upper : ℚ) (left right : List ℚ) (ordered : vector/at-most left right) → vector/at-most (vector/uniform-clamp lower upper left) (vector/uniform-clamp lower upper right)
List = data/Listℚ = signed/SignedRational