Documentation

SSA.Projects.InstCombine.ForStd

Equations
  • BitVec.instShiftLeft_sSA = { shiftLeft := fun (x y : BitVec n) => x <<< y.toNat }
Equations
  • BitVec.instShiftRight_sSA = { shiftRight := fun (x y : BitVec n) => x >>> y.toNat }
inductive BitVec.Refinement {α : Type u} :
Option αOption αProp
Instances For
    @[simp]
    theorem BitVec.Refinement.some_some {α : Type u} {x : α} {y : α} :
    some x some y x = y
    @[simp]
    theorem BitVec.Refinement.none_left :
    ∀ {α : Type u_1} {x? : Option α}, none x?
    theorem BitVec.Refinement.none_right {α : Type u_1} {x? : Option α} :
    x? none x? = none
    theorem BitVec.Refinement.some_left {α : Type u_1} {x : α} {y? : Option α} :
    some x y? y? = some x
    @[simp]
    theorem BitVec.Refinement.refl {α : Type u} (x : Option α) :
    x x
    theorem BitVec.Refinement.trans {α : Type u} (x : Option α) (y : Option α) (z : Option α) :
    x yy zx z
    Equations
    • One or more equations did not get rendered due to their size.
    def BitVec.coeWidth {m : Nat} {n : Nat} :
    BitVec mBitVec n
    Equations
    Instances For
      theorem BitVec.Int.natCast_pred_of_pos (x : Nat) (h : 0 < x) :
      x - 1 = (x - 1)