Theory SatChecker
section ‹An efficient checker for proofs from a SAT solver›
theory SatChecker
imports "HOL-Library.RBT_Impl" Sorted_List "../Imperative_HOL"
begin
section‹General settings and functions for our representation of clauses›
subsection‹Types for Literals, Clauses and ProofSteps›
text ‹We encode Literals as integers and Clauses as sorted Lists.›
type_synonym ClauseId = nat
type_synonym Lit = int
type_synonym Clause = "Lit list"
text ‹This resembles exactly to Isat's Proof Steps›
type_synonym Resolvants = "ClauseId * (Lit * ClauseId) list"