Documentation

Lean.Elab.Tactic.BVDecide.Frontend.BVDecide

This module provides the implementation of the bv_decide frontend itself.

Given:

  • var2Cnf: The mapping from AIG to CNF variables.
  • assignments: A model for the CNF as provided by a SAT solver.
  • aigSize: The amount of nodes in the AIG that was used to produce the CNF.
  • atomsAssignment: The mapping of the reflection monad from atom indices to Expr.

Reconstruct bit by bit which value expression must have had which BitVec value and return all expression - pair values.

Equations
    Instances For
      Instances For

        A counter example generated from the bitblaster.

        Instances For
          @[reducible, inline]
          Equations
            Instances For

              The result of a spurious counter example diagnosis.

              Instances For
                @[reducible, inline]
                Equations
                  Instances For

                    Diagnose spurious counter examples, currently this checks:

                    • Whether uninterpreted symbols were used
                    • Whether all hypotheses which contain any variable that was bitblasted were included
                    Equations
                      Instances For

                        Turn an LratCert into a proof that some reflectedExpr is UNSAT.

                        Equations
                          Instances For

                            The result of calling bv_decide.

                            • lratCert : Option LratCert

                              If the normalization step was not enough to solve the goal this contains the LRAT proof certificate.

                            Instances For

                              Try to close g using a bitblaster. Return either a CounterExample if one is found or a Result if g is proven.

                              Equations
                                Instances For

                                  Call bvDecide' and throw a pretty error if a counter example ends up being produced.

                                  Equations
                                    Instances For