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

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

      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.

        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