Documentation

Lean.Meta.Tactic.BVDecide.Prover.Cegar.Basic

This module provides the basic infrastructure for the CEGAR (Counter Example Guided Abstraction Refinement) solver.

A hypothesis generated by the CEGAR refinement procedure.

  • The Expr-level non-internalized hypothesis.

  • tacticProof : MetaM (TSyntax `Lean.Parser.Tactic.tacticSeq)

    A Syntax-level regular tactic proof for the hypothesis.

  • grindProof : MetaM (Option (TSyntax `Lean.Parser.Tactic.tacticSeq))

    A Syntax-level grind tactic proof for the hypothesis. If none we will use have : hyp and let grind modes' automation figure it out.

Instances For
    • goal : MVarId

      The meta variable that the CEGAR procedure is operating on.

    • unusedHypotheses : Std.HashSet Normalize.Hyp

      The set of unused hypothesis from the initial pre-processing, used for error messages later on.

    • tacticContext : TacticContext

      The bv_decide general TacticContext.

    Instances For

      State of the UF theory solver.

      Instances For

        State of the BitVec theory solver.

        Instances For

          State carried around by our theory solvers.

          Instances For
            • satExpr : SatAtBVLogical

              The conjunction of all reflected expressions so far.

            • hypQueue : Array CegarHyp

              The queue of facts that will be processed at the beginning of the next CEGAR round.

            • usedHyps : Array CegarHyp

              The collection of hypotheses that have been used so far, used for proof recovery later on.

            • didChange : Bool

              Whether we should run another iteration of the procedure.

            • theoryState : TheoryState

              State for our various theory solvers.

            • solverTimeBudgetMs : Nat

              How many more milliseconds the SAT solver has to run.

            • roundBudget : Nat

              How many more CEGAR rounds the solver has left.

            Instances For
              Equations
              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
                    @[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
                        @[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
                            @[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
                                @[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