Documentation

Lean.Elab.Tactic.BVDecide.Frontend.Normalize.IntToBitVec

This module contains the implementation of the pre processing pass for reducing UIntX/IntX to BitVec and thus allow bv_decide to reason about them.

It:

  1. runs the int_toBitVec simp set
  2. If USize.toBitVec/ISize.toBitVec is used anywhere looks for equations of the form System.Platform.numBits = constant (or flipped) and uses them to convert the system back to fixed width.

Contains information for the USize/ISize elimination pass.

@[inline]
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.

Turn goal into a goal containing BitVec const instead of USize/ISize.

Equations
  • One or more equations did not get rendered due to their size.

Builds an expression of type: const = System.Platform.numBits from the hypotheses in the context if possible.

Equations
  • One or more equations did not get rendered due to their size.