Like List.set
, but right-pad with zeroes as necessary first.
Equations
- Lean.Omega.IntList.set [] 0 y = [y]
- Lean.Omega.IntList.set [] i_2.succ y = 0 :: Lean.Omega.IntList.set [] i_2 y
- Lean.Omega.IntList.set (head :: xs_2) 0 y = y :: xs_2
- Lean.Omega.IntList.set (x :: xs_2) i_2.succ y = x :: Lean.Omega.IntList.set xs_2 i_2 y
Instances For
Equations
- Lean.Omega.IntList.instAdd = { add := Lean.Omega.IntList.add }
Equations
- Lean.Omega.IntList.instMul = { mul := Lean.Omega.IntList.mul }
Equations
- Lean.Omega.IntList.instNeg = { neg := Lean.Omega.IntList.neg }
Equations
- Lean.Omega.IntList.instSub = { sub := Lean.Omega.IntList.sub }
Equations
- Lean.Omega.IntList.instHMulInt = { hMul := fun (i : Int) (xs : Lean.Omega.IntList) => xs.smul i }
@[reducible, inline]
The difference between the balanced mod of a dot product, and the dot product with balanced mod applied to each entry of the left factor.