mirror of
https://github.com/Brandon-Rozek/website.git
synced 2025-10-10 15:01:15 +00:00
Added new section on automated theorem proving
This commit is contained in:
parent
2d0ebc5415
commit
73e972db60
4 changed files with 259 additions and 1 deletions
41
content/research/atp/definitional-cnf.md
Normal file
41
content/research/atp/definitional-cnf.md
Normal file
|
@ -0,0 +1,41 @@
|
|||
---
|
||||
title: "Definitional CNF"
|
||||
math: true
|
||||
---
|
||||
|
||||
Satisfiability algorithms have been optimized to accept formulas in Conjunctive Normal Form (CNF).
|
||||
One issue is that depending on the algorithm used to convert the formula, it can take either exponential
|
||||
time or space. To get around this we will use an algorithm to produce an equisatisfiable algorithm albeit
|
||||
non-equivalent. This will create a linear increase in the size of the formula, however, it also only
|
||||
takes linear time to compute.
|
||||
|
||||
|
||||
Procedure:
|
||||
1. First convert the formula to Negation Normal Form (NNF). This is done by making it so that negations are only applied to propositions and there is no implication or bi-implication symbols in the formula.
|
||||
2. Starting from the inner-most part of the expression to the outermost, define a new variable that describes the connective and add that definition to the expression.
|
||||
|
||||
Consider the expression $b + ac$. Then,
|
||||
|
||||
$$
|
||||
\begin{align*}
|
||||
\text{Define } x \iff ac \\\\
|
||||
(b + x) * (x \iff ac) \\\\
|
||||
\text{Define } y \iff b + x \\\\
|
||||
y * (x \iff ac) * (y \iff b + x)
|
||||
\end{align*}
|
||||
$$
|
||||
|
||||
3. Finally, convert the bi-implifications using the following tautologies:
|
||||
|
||||
$$
|
||||
\begin{align*}
|
||||
x \iff (y * z) &\equiv (-x + y) (-x + z)(x+-y+-z) \\\\
|
||||
x \iff (y + z) &\equiv (-x + y + z)(x + -y)(x + -z)
|
||||
\end{align*}
|
||||
$$
|
||||
|
||||
Extending the example,
|
||||
$$
|
||||
y(-x + a)(-x + c)(x + -a + -c)(y \iff b + x) \\\\
|
||||
y(-x + a)(-x + c)(x + -a + -c)(-y + b + x)(y + -b)(y + -x)
|
||||
$$
|
Loading…
Add table
Add a link
Reference in a new issue