I am reading a blog post that explains how to implement 512 bit division in Solidity, and I'm struggling to understand the last notation in this equation:
$$ \left[\frac{2^{256}}{a}\right] = \left[\frac{2^{256}-a}{a}\right] + 1 = \left[\frac{\left[-a\right]_{2^{256}}}{a}\right] + 1 $$
Specifically this:
$$ \left[-a\right]_{2^{256}} $$
The equation was introduced like this:
The number $2^{256}$ is fundamental to working with the Ethereum virtual machine, so it’s useful to do some tricks with it. It can not be expressed directly, but we can express fractions of it. For a given number a, we can compute $2^{256}$ divided by $a$. For this I found a trick involving negated numbers.
Could you help me understand what that last notation stands for?
It looks like the absolute value of $a$ modulo $2^{256}$, but I am not sure.