Trong phần này, luận văn trình bày về công thức Logic mệnh đề và các thành phần liên quan trong bài toán SAT.
Công thức logic mệnh đề (propositional formula) [6] là công thức được định nghĩa trên tập các biến mệnh đề x1, …, xn cùng với các phép toán trên nó như phép phủ định (), phép hội (), phép tuyển (). Trong đó miền giá trị của các biến mệnh đề là {true, false}.
Literal là một biến mệnh đề hoặc phủ định của nó.
Mệnh đề (Clause) là một công thức chỉ chứa phép tuyển của các literal.
Công thức chuẩn tắc hội (Conjunctive Normal Form) kí hiệu CNF là công thức có dạng hội của các tuyển trên các literal.
Phép gán (assignment) [26]: Cho công thức Logic mệnh đề φ, một phép gán của φ trên miền dữ liệu D là một ánh xạ tương ứng của các biến mệnh đề tới một phần tử của D. Một phép gán gọi là toàn bộ nếu tất cả các biến mệnh đề đều được gán giá trị. Ngược lại, thì gọi là phép gán bộ phận.
SAT (Satisfiability) và UNSAT [6]: Bài toán SAT là bài toán quyết định xem có tồn tại phép gán giá trị chân trị cho các biến mệnh đề của công thức cho trước mà tại đó công thức nhận giá trị đúng. Nếu tồn tại một phép gán như vậy thì khẳng định bài toán là SAT. Trong trường hợp ngược lại ta nói bài toán là UNSAT.
Xét ví dụ sau với công thức
F = ( x1 ∨ x2 ∨ ¬x 4) ∧ (x3∨ ¬x1) ∧ (¬x1∨ ¬x2)
Trong đó: x1, x2, ¬x4, x3, ¬x1, ¬x2 là các literal, ( x1∨ x2∨ ¬x 4), (x3∨ ¬x1) và (¬x1 ∨ ¬x2) là các mệnh đề. Các phép toán trên 3 mệnh đề đều là phép hội nên F là 1 CNF, tồn tại phép gán x1 = true (đúng), x2 = false (sai), x3 = true (đúng) để F = true (đúng) nên F là SAT.