Documentation

Init.Data.UInt.Bitwise

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem UInt8.toBitVec_add {a b : UInt8} :
    @[deprecated UInt8.toNat_and (since := "2024-11-28")]
    theorem UInt8.and_toNat (a b : UInt8) :
    (a &&& b).toNat = a.toNat &&& b.toNat
    @[simp]
    theorem UInt8.toNat_xor (a b : UInt8) :
    (a ^^^ b).toNat = a.toNat ^^^ b.toNat
    @[simp]
    @[simp]
    theorem UInt8.toNat_or (a b : UInt8) :
    (a ||| b).toNat = a.toNat ||| b.toNat
    @[simp]
    theorem UInt8.toNat_shiftRight (a b : UInt8) :
    (a >>> b).toNat = a.toNat >>> (b.toNat % 8)
    @[simp]
    @[simp]
    theorem UInt8.toNat_shiftLeft (a b : UInt8) :
    (a <<< b).toNat = a.toNat <<< (b.toNat % 8) % 2 ^ 8
    @[simp]
    theorem UInt8.toBitVec_mod {a b : UInt8} :
    @[simp]
    theorem UInt8.toNat_and (a b : UInt8) :
    (a &&& b).toNat = a.toNat &&& b.toNat
    @[simp]
    @[simp]
    theorem UInt8.toBitVec_sub {a b : UInt8} :
    @[simp]
    theorem UInt8.toBitVec_div {a b : UInt8} :
    @[simp]
    @[simp]
    @[simp]
    theorem UInt8.toBitVec_mul {a b : UInt8} :
    @[simp]
    theorem UInt16.toNat_xor (a b : UInt16) :
    (a ^^^ b).toNat = a.toNat ^^^ b.toNat
    @[simp]
    @[simp]
    @[simp]
    @[simp]
    @[simp]
    theorem UInt16.toNat_shiftRight (a b : UInt16) :
    (a >>> b).toNat = a.toNat >>> (b.toNat % 16)
    @[simp]
    theorem UInt16.toNat_and (a b : UInt16) :
    (a &&& b).toNat = a.toNat &&& b.toNat
    @[simp]
    @[simp]
    @[simp]
    @[simp]
    @[simp]
    theorem UInt16.toNat_or (a b : UInt16) :
    (a ||| b).toNat = a.toNat ||| b.toNat
    @[deprecated UInt16.toNat_and (since := "2024-11-28")]
    theorem UInt16.and_toNat (a b : UInt16) :
    (a &&& b).toNat = a.toNat &&& b.toNat
    @[simp]
    theorem UInt16.toNat_shiftLeft (a b : UInt16) :
    (a <<< b).toNat = a.toNat <<< (b.toNat % 16) % 2 ^ 16
    @[simp]
    @[simp]
    @[simp]
    @[simp]
    @[simp]
    @[simp]
    @[simp]
    theorem UInt32.toNat_shiftLeft (a b : UInt32) :
    (a <<< b).toNat = a.toNat <<< (b.toNat % 32) % 2 ^ 32
    @[simp]
    theorem UInt32.toNat_or (a b : UInt32) :
    (a ||| b).toNat = a.toNat ||| b.toNat
    @[simp]
    @[simp]
    @[simp]
    @[simp]
    @[deprecated UInt32.toNat_and (since := "2024-11-28")]
    theorem UInt32.and_toNat (a b : UInt32) :
    (a &&& b).toNat = a.toNat &&& b.toNat
    @[simp]
    @[simp]
    theorem UInt32.toNat_shiftRight (a b : UInt32) :
    (a >>> b).toNat = a.toNat >>> (b.toNat % 32)
    @[simp]
    @[simp]
    theorem UInt32.toNat_and (a b : UInt32) :
    (a &&& b).toNat = a.toNat &&& b.toNat
    @[simp]
    theorem UInt32.toNat_xor (a b : UInt32) :
    (a ^^^ b).toNat = a.toNat ^^^ b.toNat
    @[simp]
    @[simp]
    @[simp]
    @[simp]
    theorem UInt64.toNat_xor (a b : UInt64) :
    (a ^^^ b).toNat = a.toNat ^^^ b.toNat
    @[simp]
    @[simp]
    @[simp]
    theorem UInt64.toNat_or (a b : UInt64) :
    (a ||| b).toNat = a.toNat ||| b.toNat
    @[simp]
    @[simp]
    theorem UInt64.toNat_shiftLeft (a b : UInt64) :
    (a <<< b).toNat = a.toNat <<< (b.toNat % 64) % 2 ^ 64
    @[simp]
    theorem UInt64.toNat_shiftRight (a b : UInt64) :
    (a >>> b).toNat = a.toNat >>> (b.toNat % 64)
    @[deprecated UInt64.toNat_and (since := "2024-11-28")]
    theorem UInt64.and_toNat (a b : UInt64) :
    (a &&& b).toNat = a.toNat &&& b.toNat
    @[simp]
    theorem UInt64.toNat_and (a b : UInt64) :
    (a &&& b).toNat = a.toNat &&& b.toNat
    @[simp]
    @[simp]
    @[simp]
    @[simp]
    @[simp]
    theorem USize.toBitVec_div {a b : USize} :
    @[simp]
    @[simp]
    theorem USize.toBitVec_mod {a b : USize} :
    @[simp]
    theorem USize.toNat_or (a b : USize) :
    (a ||| b).toNat = a.toNat ||| b.toNat
    @[simp]
    @[simp]
    theorem USize.toBitVec_mul {a b : USize} :
    @[simp]
    theorem USize.toBitVec_sub {a b : USize} :
    @[simp]
    @[deprecated USize.toNat_and (since := "2024-11-28")]
    theorem USize.and_toNat (a b : USize) :
    (a &&& b).toNat = a.toNat &&& b.toNat
    @[simp]
    theorem USize.toNat_xor (a b : USize) :
    (a ^^^ b).toNat = a.toNat ^^^ b.toNat
    @[simp]
    theorem USize.toNat_and (a b : USize) :
    (a &&& b).toNat = a.toNat &&& b.toNat
    @[simp]
    theorem USize.toBitVec_add {a b : USize} :