Documentation

Lean.Elab.Tactic.BVDecide.Frontend.LRAT

This module contains the logic around writing proofs of UNSAT, using LRAT proofs, as meta code.

The context for the bv_decide tactic.

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
        @[reducible, inline]

        An LRAT proof read from a file. This will get parsed using ofReduceBool.

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

            Run an external SAT solver on the CNF to obtain an LRAT proof.

            This will obtain an LratCert if the formula is UNSAT and throw errors otherwise.

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

              Add an auxiliary declaration. Only used to create constants that appear in our reflection proof.

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

                Turn an LratCert into a proof that some reflected expression is UNSAT by providing a verifier function together with a correctness theorem for it.

                • verifier is expected to have type α → LratCertBool
                • unsat_of_verifier_eq_true is expected to have type ∀ (b : α) (c : LratCert), verifier b c = true → unsat b
                Equations
                • One or more equations did not get rendered due to their size.
                Instances For