Documentation

Batteries.Data.UInt

UInt8 #

theorem UInt8.ext {x : UInt8} {y : UInt8} :
x.toNat = y.toNatx = y
theorem UInt8.ext_iff {x : UInt8} {y : UInt8} :
x = y x.toNat = y.toNat
@[simp]
theorem UInt8.val_val_eq_toNat (x : UInt8) :
x.val = x.toNat
theorem UInt8.toNat_lt (x : UInt8) :
x.toNat < 2 ^ 8
@[simp]
theorem UInt8.toUInt16_toNat (x : UInt8) :
x.toUInt16.toNat = x.toNat
@[simp]
theorem UInt8.toUInt32_toNat (x : UInt8) :
x.toUInt32.toNat = x.toNat
@[simp]
theorem UInt8.toUInt64_toNat (x : UInt8) :
x.toUInt64.toNat = x.toNat
theorem UInt8.le_antisymm_iff {x : UInt8} {y : UInt8} :
x = y x y y x
theorem UInt8.le_antisymm {x : UInt8} {y : UInt8} (h1 : x y) (h2 : y x) :
x = y

UInt16 #

theorem UInt16.ext {x : UInt16} {y : UInt16} :
x.toNat = y.toNatx = y
theorem UInt16.ext_iff {x : UInt16} {y : UInt16} :
x = y x.toNat = y.toNat
theorem UInt16.toNat_lt (x : UInt16) :
x.toNat < 2 ^ 16
@[simp]
theorem UInt16.val_val_eq_toNat (x : UInt16) :
x.val = x.toNat
@[simp]
theorem UInt16.toUInt8_toNat (x : UInt16) :
x.toUInt8.toNat = x.toNat % 2 ^ 8
@[simp]
theorem UInt16.toUInt32_toNat (x : UInt16) :
x.toUInt32.toNat = x.toNat
@[simp]
theorem UInt16.toUInt64_toNat (x : UInt16) :
x.toUInt64.toNat = x.toNat
theorem UInt16.le_antisymm_iff {x : UInt16} {y : UInt16} :
x = y x y y x
theorem UInt16.le_antisymm {x : UInt16} {y : UInt16} (h1 : x y) (h2 : y x) :
x = y

UInt32 #

theorem UInt32.ext {x : UInt32} {y : UInt32} :
x.toNat = y.toNatx = y
theorem UInt32.ext_iff {x : UInt32} {y : UInt32} :
x = y x.toNat = y.toNat
@[simp]
theorem UInt32.val_val_eq_toNat (x : UInt32) :
x.val = x.toNat
theorem UInt32.toNat_lt (x : UInt32) :
x.toNat < 2 ^ 32
@[simp]
theorem UInt32.toUInt8_toNat (x : UInt32) :
x.toUInt8.toNat = x.toNat % 2 ^ 8
@[simp]
theorem UInt32.toUInt16_toNat (x : UInt32) :
x.toUInt16.toNat = x.toNat % 2 ^ 16
@[simp]
theorem UInt32.toUInt64_toNat (x : UInt32) :
x.toUInt64.toNat = x.toNat
theorem UInt32.le_antisymm_iff {x : UInt32} {y : UInt32} :
x = y x y y x
theorem UInt32.le_antisymm {x : UInt32} {y : UInt32} (h1 : x y) (h2 : y x) :
x = y

UInt64 #

theorem UInt64.ext {x : UInt64} {y : UInt64} :
x.toNat = y.toNatx = y
theorem UInt64.ext_iff {x : UInt64} {y : UInt64} :
x = y x.toNat = y.toNat
@[simp]
theorem UInt64.val_val_eq_toNat (x : UInt64) :
x.val = x.toNat
theorem UInt64.toNat_lt (x : UInt64) :
x.toNat < 2 ^ 64
@[simp]
theorem UInt64.toUInt8_toNat (x : UInt64) :
x.toUInt8.toNat = x.toNat % 2 ^ 8
@[simp]
theorem UInt64.toUInt16_toNat (x : UInt64) :
x.toUInt16.toNat = x.toNat % 2 ^ 16
@[simp]
theorem UInt64.toUInt32_toNat (x : UInt64) :
x.toUInt32.toNat = x.toNat % 2 ^ 32
theorem UInt64.le_antisymm_iff {x : UInt64} {y : UInt64} :
x = y x y y x
theorem UInt64.le_antisymm {x : UInt64} {y : UInt64} (h1 : x y) (h2 : y x) :
x = y

USize #

theorem USize.ext {x : USize} {y : USize} :
x.toNat = y.toNatx = y
theorem USize.ext_iff {x : USize} {y : USize} :
x = y x.toNat = y.toNat
@[simp]
theorem USize.val_val_eq_toNat (x : USize) :
x.val = x.toNat
@[simp]
theorem USize.toUInt64_toNat (x : USize) :
x.toUInt64.toNat = x.toNat
@[simp]
theorem UInt32.toUSize_toNat (x : UInt32) :
x.toUSize.toNat = x.toNat
theorem USize.le_antisymm_iff {x : USize} {y : USize} :
x = y x y y x
theorem USize.le_antisymm {x : USize} {y : USize} (h1 : x y) (h2 : y x) :
x = y