| m ≤ (m - # bits) + # bits, # bits ≤ n, m ≤ n, # bits ≤ m, m ≤ (n - # bits) + # bits ⊦ restn((n - # bits) + # bits - m, mklist(bits.first, n - # bits) + bits) = restn((m - # bits) + # bits - m, mklist(bits.first, m - # bits) + bits), bits = [] |
n ≤ m ⊦ (m - n) + n = m
# bits ≤ n, m ≤ (m - # bits) + # bits, # bits ≤ n, m ≤ n, # bits ≤ m, m ≤ n ⊦ restn(n - m, mklist(bits.first, n - # bits) + bits) = restn((m - # bits) + # bits - m, mklist(bits.first, m - # bits) + bits), bits = []
Used terms: # bits, n