Obtain the literal with the largest identifier in c
.
Equations
- c.maxLiteral = (List.map (fun (x : Std.Sat.Literal Nat) => x.fst) c).max?
Instances For
theorem
Std.Sat.CNF.Clause.of_maxLiteral_eq_none
(c : Clause Nat)
(h : c.maxLiteral = none)
(lit : Nat)
:
Obtain the literal with the largest identifier in f
.
Equations
Instances For
theorem
Std.Sat.CNF.of_maxLiteral_eq_some'
{maxLit localMax : Nat}
(f : CNF Nat)
(h : f.maxLiteral = some maxLit)
(clause : Clause Nat)
:
clause ∈ f → clause.maxLiteral = some localMax → localMax ≤ maxLit
An upper bound for the amount of distinct literals in f
.
Equations
- f.numLiterals = match f.maxLiteral with | none => 0 | some n => n + 1
Instances For
Relabel f
to a CNF
formula with a known upper bound for its literals.
This operation might be useful when e.g. using the literals to index into an array of known size without conducting bounds checks.
Equations
- One or more equations did not get rendered due to their size.