Reference · Signed rationals
rainbow.math.rational.signed.stl
Signed minimum and maximum for signal temporal logic (STL) robustness. The robustness of an STL formula is computed by structural recursion: an atomic predicate contributes a signed margin, conjunction takes the minimum of its parts, disjunction the maximum, and negation the sign flip. Minimum and maximum are selected by the signed comparison decision on cross products, so a worked robustness computation reduces to an exact signed rational.
validation/signed-decide-at-most
validation/signed-decide-at-most : (x₁ x₂ : ℚ) → data/Bool
ℚ = signed/SignedRational
validation/signed-min
validation/signed-min : (x₁ x₂ : ℚ) → ℚ
ℚ = signed/SignedRational
validation/signed-max
validation/signed-max : (x₁ x₂ : ℚ) → ℚ
ℚ = signed/SignedRational
validation/signed-min-preserved
validation/signed-min-preserved : (left right : ℚ) (not-below : validation/signed-decide-at-most left right = data/false) → validation/signed-min left right = right
= = equality/Eqℚ = signed/SignedRational
validation/signed-max-preserved
validation/signed-max-preserved : (left right : ℚ) (not-below : validation/signed-decide-at-most left right = data/false) → validation/signed-max left right = left
= = equality/Eqℚ = signed/SignedRational