Reference · Algorithm guarantees
rainbow.algorithms.proofs.counterfactual-distance-separation
Native separation laws for the existing counterfactual squared distance. signed/subtract-zero-reflects-equivalence vector/subtract-zero-reflects-equivalence counterfactual/distance-squared-nonnegative counterfactual/equivalent-of-distance-squared-zero Vector subtraction truncates, so separation explicitly requires equal shape. Under that hypothesis, zero squared distance reflects each component through signed subtraction and yields vector/equivalent. Native and axiom-free.
signed/subtract-zero-reflects-equivalence
signed/subtract-zero-reflects-equivalence : (left right : ℚ) (difference-zero : left - right = 0) → left = right
- = signed/subtract0 = signed/zero= = signed/equivalent: equality of rational valuesℚ = signed/SignedRational
vector/subtract-zero-reflects-equivalence
vector/subtract-zero-reflects-equivalence : (left right : List ℚ) (shape : vector/same-shape left right) (difference-zero : vector/equivalent (vector/subtract left right) (vector/zero-like (vector/subtract left right))) → vector/equivalent left right
List = data/Listℚ = signed/SignedRational
counterfactual/distance-squared-nonnegative
counterfactual/distance-squared-nonnegative : (left right : List ℚ) → signed/nonnegative (counterfactual/distance-squared left right)
List = data/Listℚ = signed/SignedRational
counterfactual/equivalent-of-distance-squared-zero
counterfactual/equivalent-of-distance-squared-zero : (left right : List ℚ) (shape : vector/same-shape left right) (distance-zero : counterfactual/distance-squared left right = 0) → vector/equivalent left right
0 = signed/zero= = signed/equivalent: equality of rational valuesList = data/Listℚ = signed/SignedRational