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 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 elimination pass.

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

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

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

                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.
                Instances For