numBits = 32 #
theorem
ISize.toBitVec32_min
{a b : ISize}
(h : System.Platform.numBits = 32)
:
(min a b).toBitVec32 h = if (a.toBitVec32 h).sle (b.toBitVec32 h) = true then a.toBitVec32 h else b.toBitVec32 h
theorem
ISize.toBitVec32_max
{a b : ISize}
(h : System.Platform.numBits = 32)
:
(max a b).toBitVec32 h = if (a.toBitVec32 h).sle (b.toBitVec32 h) = true then b.toBitVec32 h else a.toBitVec32 h
theorem
ISize.toBitVec32_ofBitVec
(n : BitVec System.Platform.numBits)
(h : System.Platform.numBits = 32)
:
numBits = 64 #
theorem
ISize.toBitVec64_min
{a b : ISize}
(h : System.Platform.numBits = 64)
:
(min a b).toBitVec64 h = if (a.toBitVec64 h).sle (b.toBitVec64 h) = true then a.toBitVec64 h else b.toBitVec64 h
theorem
ISize.toBitVec64_max
{a b : ISize}
(h : System.Platform.numBits = 64)
:
(max a b).toBitVec64 h = if (a.toBitVec64 h).sle (b.toBitVec64 h) = true then b.toBitVec64 h else a.toBitVec64 h
theorem
ISize.toBitVec64_ofBitVec
(n : BitVec System.Platform.numBits)
(h : System.Platform.numBits = 64)
: