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
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
- One or more equations did not get rendered due to their size.
- Std.Tactic.BVDecide.LRAT.Internal.intActionToDefaultClauseAction n (Std.Tactic.BVDecide.LRAT.Action.addEmpty cId rupHints) = some (Std.Tactic.BVDecide.LRAT.Action.addEmpty cId rupHints)
- Std.Tactic.BVDecide.LRAT.Internal.intActionToDefaultClauseAction n (Std.Tactic.BVDecide.LRAT.Action.del ids) = pure (Std.Tactic.BVDecide.LRAT.Action.del ids)