Reference · Matrices
rainbow.math.linear.matrix.signed-scale-subtract
Negation and subtraction laws for signed multiplication and module scaling. Multiplication distributes over subtraction on either side. Via the checked scale-difference/multiplication bridge, negating or subtracting either the factor or value commutes with signed scaling. Structural vector and matrix lifts complete the same laws; value subtraction carries an exact-shape premise because native subtraction zips its two inputs. Native and axiom-free on D63.
signed/multiply-subtract-left
signed/multiply-subtract-left : (left right factor : ℚ) → (left - right) · factor = left · factor - right · factor
- = signed/subtract= = signed/equivalent: equality of rational values· = signed/multiplyℚ = signed/SignedRational
signed/multiply-subtract-right
signed/multiply-subtract-right : (factor left right : ℚ) → factor · (left - right) = factor · left - factor · right
- = signed/subtract= = signed/equivalent: equality of rational values· = signed/multiplyℚ = signed/SignedRational
signed/scale-difference-negate-factor
signed/scale-difference-negate-factor : (factor value : ℚ) → signed/scale (signed/positive (signed/negate factor)) value - signed/scale (signed/negative (signed/negate factor)) value = signed/negate (signed/scale (signed/positive factor) value - signed/scale (signed/negative factor) value)
- = signed/subtract= = signed/equivalent: equality of rational valuesℚ = signed/SignedRational
signed/scale-difference-negate-value
signed/scale-difference-negate-value : (factor value : ℚ) → signed/scale (signed/positive factor) (signed/negate value) - signed/scale (signed/negative factor) (signed/negate value) = signed/negate (signed/scale (signed/positive factor) value - signed/scale (signed/negative factor) value)
- = signed/subtract= = signed/equivalent: equality of rational valuesℚ = signed/SignedRational
signed/scale-difference-subtract-factor
signed/scale-difference-subtract-factor : (left right value : ℚ) → signed/scale (signed/positive (left - right)) value - signed/scale (signed/negative (left - right)) value = signed/scale (signed/positive left) value - signed/scale (signed/negative left) value - (signed/scale (signed/positive right) value - signed/scale (signed/negative right) value)
- = signed/subtract= = signed/equivalent: equality of rational valuesℚ = signed/SignedRational
signed/scale-difference-subtract-value
signed/scale-difference-subtract-value : (factor left right : ℚ) → signed/scale (signed/positive factor) (left - right) - signed/scale (signed/negative factor) (left - right) = signed/scale (signed/positive factor) left - signed/scale (signed/negative factor) left - (signed/scale (signed/positive factor) right - signed/scale (signed/negative factor) right)
- = signed/subtract= = signed/equivalent: equality of rational valuesℚ = signed/SignedRational
vector/signed-scale-negate-factor
vector/signed-scale-negate-factor : (factor : ℚ) (values : List ℚ) → vector/equivalent (scale) (vector/negate (vector/signed-scale factor values)) where scale := vector/signed-scale (signed/negate factor) values
List = data/Listℚ = signed/SignedRational
vector/signed-scale-negate-value
vector/signed-scale-negate-value : (factor : ℚ) (values : List ℚ) → vector/equivalent (scale) (vector/negate (vector/signed-scale factor values)) where scale := vector/signed-scale factor (vector/negate values)
List = data/Listℚ = signed/SignedRational
vector/signed-scale-subtract-factor
vector/signed-scale-subtract-factor : (left right : ℚ) (values : List ℚ) → vector/equivalent (scale) (subtract) where scale := vector/signed-scale (left - right) values where subtract := vector/subtract (vector/signed-scale left values) (vector/signed-scale right values)
- = signed/subtractList = data/Listℚ = signed/SignedRational
vector/signed-scale-subtract-value
vector/signed-scale-subtract-value : (factor : ℚ) (left right : List ℚ) (same : vector/same-shape left right) → vector/equivalent (scale) (subtract) where scale := vector/signed-scale factor (vector/subtract left right) where subtract := vector/subtract (vector/signed-scale factor left) (vector/signed-scale factor right)
List = data/Listℚ = signed/SignedRational
matrix/signed-scale-negate-factor
matrix/signed-scale-negate-factor : (factor : ℚ) (rows : List (List ℚ)) → matrix/equivalent (scale) (matrix/negate (matrix/signed-scale factor rows)) where scale := matrix/signed-scale (signed/negate factor) rows
List = data/Listℚ = signed/SignedRational
matrix/signed-scale-negate-value
matrix/signed-scale-negate-value : (factor : ℚ) (rows : List (List ℚ)) → matrix/equivalent (scale) (matrix/negate (matrix/signed-scale factor rows)) where scale := matrix/signed-scale factor (matrix/negate rows)
List = data/Listℚ = signed/SignedRational
matrix/signed-scale-subtract-factor
matrix/signed-scale-subtract-factor : (left right : ℚ) (rows : List (List ℚ)) → matrix/equivalent (matrix/signed-scale (left - right) rows) (subtract) where subtract := matrix/subtract (matrix/signed-scale left rows) (matrix/signed-scale right rows)
- = signed/subtractList = data/Listℚ = signed/SignedRational
matrix/signed-scale-subtract-value
matrix/signed-scale-subtract-value : (factor : ℚ) (left right : List (List ℚ)) (same : matrix/same-shape left right) → matrix/equivalent (scale) (subtract) where scale := matrix/signed-scale factor (matrix/subtract left right) where subtract := matrix/subtract (matrix/signed-scale factor left) (matrix/signed-scale factor right)
List = data/Listℚ = signed/SignedRational