You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
2.1 KiB

2 months ago
  1. We start by translating $\varphi$ to $\hat{\varphi} = \skel$ and assign the following variables to the theory literals:
  2. \begin{itemize}
  3. \item $e_{0}\Leftrightarrow(f(a)=f(b))$
  4. \item $e_{1}\Leftrightarrow(f(a)=c)$
  5. \item $e_{2}\Leftrightarrow(a=b)$
  6. \item $e_{3}\Leftrightarrow(f(c)=a)$
  7. \end{itemize}
  8. $\hat{\varphi} = (\clause{\lnot e_{0}; e_{1}; e_{2}}) \land (\clause{\lnot e_{1}; e_{2}; \lnot e_{3}}) \land (\clause{e_{0}; \lnot e_{1}}) \land (\clause{\lnot e_{0}; e_{2}}) \land (\clause{\lnot e_{2}; \lnot e_{3}}) \land (\clause{e_{0}; e_{2}}) \land (\clause{\lnot e_{2}; \lnot e_{1}}) $
  9. \hspace{-0.09cm}\scalebox{0.85}{
  10. \begin{dplltabular}{5}
  11. \dpllStep{1|2|3|4|5}
  12. \dpllDecL{0|0|1|1|1}
  13. \dpllAssi{ - |$\lnot e_{3}$|$\lnot e_{3}, \lnot e_{0}$|$\lnot e_{3}, \lnot e_{0}, \lnot e_{1}$|\makecell{$\lnot e_{3}, \lnot e_{0}, \lnot e_{1}, $ \\ $e_{2}$}}
  14. \dpllClause{1}{$\lnot e_{0}, e_{1}, e_{2}$}{$\lnot e_{0}, e_{1}, e_{2}$|$\lnot e_{0}, e_{1}, e_{2}$|\done|\done|\done}
  15. \dpllClause{2}{$\lnot e_{1}, e_{2}, \lnot e_{3}$}{$\lnot e_{1}, e_{2}, \lnot e_{3}$|\done|\done|\done|\done}
  16. \dpllClause{3}{$e_{0}, \lnot e_{1}$}{$e_{0}, \lnot e_{1}$|$e_{0}, \lnot e_{1}$|$\lnot e_{1}$|\done|\done}
  17. \dpllClause{4}{$\lnot e_{0}, e_{2}$}{$\lnot e_{0}, e_{2}$|$\lnot e_{0}, e_{2}$|\done|\done|\done}
  18. \dpllClause{5}{$\lnot e_{2}, \lnot e_{3}$}{$\lnot e_{2}, \lnot e_{3}$|\done|\done|\done|\done}
  19. \dpllClause{6}{$e_{0}, e_{2}$}{$e_{0}, e_{2}$|$e_{0}, e_{2}$|$e_{2}$|$e_{2}$|\done}
  20. \dpllClause{7}{$\lnot e_{2}, \lnot e_{1}$}{$\lnot e_{2}, \lnot e_{1}$|$\lnot e_{2}, \lnot e_{1}$|$\lnot e_{2}, \lnot e_{1}$|\done|\done}
  21. \dpllBCP{ - | - |$\lnot e_{1}$|$e_{2}$| - }
  22. \dpllPL{$\lnot e_{3}$| - | - | - | - }
  23. \dpllDeci{ - |$\lnot e_{0}$| - | - |SAT}
  24. \end{dplltabular}
  25. }
  26. $\Model_{\EUF} := (f(a) \neq f(b)) \land (f(a) \neq c) \land (a = b) \land (f(c) \neq a) $ \\
  27. Check if the assignment is consistent with the theory:
  28. \begin{align*}
  29. &\{a, b\}, \{f(a)\}, \{f(b)\}, \{c\}, \{f(c)\}
  30. \end{align*}
  31. $\Model_{\EUF}$ is consistent with the theory, \\$\Rightarrow \Model_{\EUF}$ is a satisfying assignment and $\varphi$ is SAT.