theorem
UInt32.ofNat_add_ofNat
(n : Nat)
(m : Nat)
(hn : n < UInt32.size)
(hm : m < UInt32.size)
(hnm : n + m < UInt32.size)
:
UInt32.ofNat n + UInt32.ofNat m = UInt32.ofNat (n + m)
theorem
UInt32.toNat_sub_toNat
{n : UInt32}
{m : UInt32}
(hmn : m.val ≤ n.val)
(h2 : ↑n.val < UInt32.size)
:
theorem
UInt32.toUInt32_add_toUInt32
(n : Nat)
(m : Nat)
(hn : n < UInt32.size)
(hm : m < UInt32.size)
(hnm : n + m < UInt32.size)
:
theorem
UInt32.isValidChar_succ_lt_uintSize
(u : UInt32)
(h : u.isValidChar)
:
↑u.val + 1 < UInt32.size
theorem
UInt32.isValidChar_pred_lt_uintSize
(u : UInt32)
(h2 : u.isValidChar)
(h3 : 1 ≤ u)
:
↑u.val - 1 < UInt32.size
theorem
UInt32.lt_succ_le
{c1 : UInt32}
{c2 : UInt32}
(h : c1 < c2)
(hsucc : ↑c1.val + 1 < UInt32.size)
: