Documentation

Std.Tactic.BVDecide.LRAT.Internal.Actions

@[reducible, inline]

Action where variables have type PosFin n, clauses are DefaultClause, and ids are Nat. This Action type is meant to be usable for verifying LRAT proofs that operate on default formulas.

Equations
Instances For

    A predicate for Actions that ensures that the pivot of a clause is always included in the clause. In the LRAT format, the clause's pivot is always its first literal. However, from an interface perspective, it is awkward to require that all Clause implementations preserve the ordering of their literals. It is also awkward to have the pivot in the addRat action not included in the clause itself, since then the pivot would need to be readded to the clause when it is added to the formula. So to avoid imposing awkward constraints on the Clause interface, and to avoid requiring Formula implementations to add pivots to the clauses provided by the addRat action, we use this predicate to indicate that the pivot provided by the addRat action is indeed in the provided clause.

    Equations
    Instances For
      Equations
      Instances For
        Equations
        Instances For

          Since IntAction is a convenient parsing target and DefaultClauseAction is a useful Action type for working with default clauses, an expected workflow pattern is to parse an external LRAT proof into a list of IntActions, and then use this function to convert that list of IntActions to DefaultClauseActions.

          This function returns an Option type so that none can be returned if converting from the IntAction to DefaultClauseAction fails. This can occur if any of the literals in the IntAction are 0 or ≥ n.

          Equations
          Instances For