Skip to content
Rainbow docs menu

Reference · Vectors

rainbow.math.linear.vector.additive-units

Vectorssrc/rainbow/math/linear/vector/additive_units.clj1 definitions, 5 theorems

Shape-preserving zero and additive-unit laws for native finite vectors. Since vector/add is a truncating zip, the empty vector cannot be a global additive identity. vector/zero-like instead maps signed/zero over an input, preserving exactly its dimension. It is a two-sided identity for that input, and adding either orientation of the input and its negation is equivalent to zero-like. Native and axiom-free on D63.

Depends onmath.rational.signed.unit-laws

vector/zero-like

DefinitionSource, line 61

vector/zero-like :
  (x₁ : List ℚ)
  → List ℚ

List = data/Listℚ = signed/SignedRational

vector/add-zero-like-right

TheoremFor all inputsNo axiomsSource, line 70

vector/add-zero-like-right :
  (values : List ℚ)
  → vector/equivalent (add) values
  where add := vector/add values (vector/zero-like values)

List = data/Listℚ = signed/SignedRational

vector/add-zero-like-left

TheoremFor all inputsNo axiomsSource, line 100

vector/add-zero-like-left :
  (values : List ℚ)
  → vector/equivalent (add) values
  where add := vector/add (vector/zero-like values) values

List = data/Listℚ = signed/SignedRational

vector/subtract-self-equivalent-zero-like

TheoremFor all inputsNo axiomsSource, line 120

vector/subtract-self-equivalent-zero-like :
  (values : List ℚ)
  → vector/equivalent (vector/subtract values values) (vector/zero-like values)

List = data/Listℚ = signed/SignedRational

vector/add-negate-right-equivalent-zero-like

TheoremFor all inputsNo axiomsSource, line 154

vector/add-negate-right-equivalent-zero-like :
  (values : List ℚ)
  → vector/equivalent (add) (vector/zero-like values)
  where add := vector/add values (vector/negate values)

List = data/Listℚ = signed/SignedRational

vector/add-negate-left-equivalent-zero-like

TheoremFor all inputsNo axiomsSource, line 169

vector/add-negate-left-equivalent-zero-like :
  (values : List ℚ)
  → vector/equivalent (add) (vector/zero-like values)
  where add := vector/add (vector/negate values) values

List = data/Listℚ = signed/SignedRational