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.

169 lines
5.0 KiB

  1. \documentclass{article}
  2. \input{util/packages}
  3. \input{util/math_macros}
  4. \input{util/styling_macros}
  5. \begin{document}
  6. \begin{cofactors}
  7. $f_{p}$ \= $= r \lor(s \land \lnot r) \lor (\lnot s \land r) \lor (\lnot r \land q)$ \\
  8. \>$f_{pq}$ \= $= r\lor (s \land \lnot r) \lor (\lnot s \land r)\lor \lnot r = \true $\\
  9. \>$f_{p\lnot q}$ \= $= r\lor (s \land \lnot r)\lor (\lnot s \land r) $\\
  10. \>\>$f_{p\lnot qr}$ \= $= \true $\\
  11. \>\>$f_{p\lnot q\lnot r}$ \= $= s $\\
  12. \>\>\>$f_{p\lnot q\lnot rs}$ \= $= \true $\\
  13. \>\>\>$f_{p\lnot q\lnot r\lnot s}$ \= $= \false $\\
  14. $f_{\lnot p}$ \= $= \lnot r \lor (s \land \lnot r) \lor (\lnot s \land r) \lor (\lnot r \land q)$ \\
  15. \>$f_{\lnot pq}$ \= $= \lnot r \lor (s \land \lnot r) \lor (\lnot s \land r) \lor \lnot r = \lnot r \lor (s \land \lnot r) \lor (\lnot s \land r) $ \\
  16. \>\>$f_{\lnot pqr}$ \= $= \lnot s = \lnot f_{p\lnot q\lnot r} $\\
  17. \>\>$f_{\lnot pq\lnot r}$ \= $= \true $\\
  18. \>$f_{\lnot p\lnot q}$ \= $= \lnot r \lor (s \land \lnot r) \lor (\lnot s \land r) = f_{\lnot p\lnot q}$ \\
  19. \end{cofactors}
  20. \begin{minipage}{0.5\textwidth}
  21. 1.\begin{center}
  22. \begin{bdd}[4em]
  23. \node[func node] (f) {$f$};
  24. \node[cofactor] (p1) [below of=f] {$q$};
  25. \node[cofactor] (q1) [below left of=p1] {$q$};
  26. \node[cofactor] (q2) [below right of=p1,yshift=1em,xshift=2em] {$q$};
  27. \node[cofactor] (r1) [below of=q2] {$r$};
  28. \node[cofactor] (r2) [below right of=q1] {$r$};
  29. \node[phantom] (q1L) [below left of=q1] {};
  30. \node[phantom] (r1R) [below right of=r1] {};
  31. \node[cofactor] (s1) [below right of=r2] {$s$};
  32. \node[phantom] (r2L) [below left of=r2] {};
  33. \node[phantom] (s2L) [below left of=s1] {};
  34. \node[phantom] (s2R) [below right of=s1] {};
  35. \node[func node] (fp) [above of=q1] {$f_{p}$};
  36. \node[func node] (f!p)[above of=q2] {$f_{\lnot p}$};
  37. \node[func node] (fp) [above of=q1] {$f_{p}$};
  38. \node[func node] (fp!q!r) [above of=s1,xshift=-1.5em,yshift=1em] {$f_{p\lnot q \lnot r}$};
  39. \funcEdge{f}{p1}
  40. \funcEdge{fp}{q1}
  41. \funcEdge{f!p}{q2}
  42. \funcEdge{fp!q!r}{s1}
  43. \thenEdge{p1}{q1}
  44. \elseEdge{p1}{q2}
  45. \thenEdge{q1}{q1L}
  46. \elseEdge{q1}{r2}
  47. \thenEdge[bend right]{q2}{r1}
  48. \elseEdge[bend left]{q2}{r1}
  49. \thenEdge{r2}{r2L}
  50. \elseEdge{r2}{s1}
  51. \negatedEdge{r1}{s1}
  52. \elseEdge{r1}{r1R}
  53. \thenEdge{s1}{s2L}
  54. \negatedEdge{s1}{s2R}
  55. \end{bdd}
  56. \end{center}
  57. \end{minipage}
  58. \begin{minipage}{0.5\textwidth}
  59. 2.\begin{center}
  60. \begin{bdd}[4em]
  61. \node[func node] (f) {$f$};
  62. \node[cofactor] (p1) [below of=f] {$q$};
  63. \node[cofactor] (q1) [below left of=p1] {$q$};
  64. \node[cofactor] (r1) [below of=q2] {$r$};
  65. \node[cofactor] (r2) [below right of=q1] {$r$};
  66. \node[phantom] (q1L) [below left of=q1] {};
  67. \node[phantom] (r1R) [below right of=r1] {};
  68. \node[cofactor] (s1) [below right of=r2] {$s$};
  69. \node[phantom] (r2L) [below left of=r2] {};
  70. \node[phantom] (s2L) [below left of=s1] {};
  71. \node[phantom] (s2R) [below right of=s1] {};
  72. \node[func node] (fp) [above of=q1] {$f_{p}$};
  73. \node[func node] (fp) [above of=q1] {$f_{p}$};
  74. \node[func node] (fp!q!r) [above of=s1,xshift=-1.5em,yshift=1em] {$f_{p\lnot q \lnot r}$};
  75. \funcEdge{f}{p1}
  76. \funcEdge{fp}{q1}
  77. \funcEdge{fp!q!r}{s1}
  78. \thenEdge{p1}{q1}
  79. \elseEdge[bend left]{p1}{r1}
  80. \thenEdge{q1}{q1L}
  81. \elseEdge{q1}{r2}
  82. \thenEdge{r2}{r2L}
  83. \elseEdge{r2}{s1}
  84. \negatedEdge{r1}{s1}
  85. \elseEdge{r1}{r1R}
  86. \thenEdge{s1}{s2L}
  87. \negatedEdge{s1}{s2R}
  88. \end{bdd}
  89. \end{center}
  90. \end{minipage}
  91. \begin{minipage}{0.5\textwidth}
  92. 3.\begin{center}
  93. \begin{bdd}[4em]
  94. \node[func node] (f) {$f$};
  95. \node[cofactor] (p1) [below of=f] {$q$};
  96. \node[cofactor] (q1) [below left of=p1] {$q$};
  97. \node[cofactor] (r1) [below of=q2] {$r$};
  98. \node[cofactor] (r2) [below right of=q1] {$r$};
  99. \node[phantom] (q1L) [below left of=q1] {};
  100. \node[phantom] (r1R) [below right of=r1] {};
  101. \node[cofactor] (s1) [below right of=r2] {$s$};
  102. \node[phantom] (r2L) [below left of=r2] {};
  103. \node[phantom] (s2L) [below left of=s1] {};
  104. \node[phantom] (s2R) [below right of=s1] {};
  105. \node[func node] (fp) [above of=q1] {$f_{p}$};
  106. \node[func node] (fp) [above of=q1] {$f_{p}$};
  107. \node[func node] (fp!q!r) [above of=s1,xshift=-1.5em,yshift=1em] {$f_{p\lnot q \lnot r}$};
  108. \funcEdge{f}{p1}
  109. \funcEdge{fp}{q1}
  110. \funcEdge{fp!q!r}{s1}
  111. \thenEdge{p1}{q1}
  112. \negatedEdge[bend left]{p1}{r1}
  113. \thenEdge{q1}{q1L}
  114. \elseEdge{q1}{r2}
  115. \thenEdge{r2}{r2L}
  116. \elseEdge{r2}{s1}
  117. \thenEdge{r1}{s1}
  118. \negatedEdge{r1}{r1R}
  119. \thenEdge{s1}{s2L}
  120. \negatedEdge{s1}{s2R}
  121. \end{bdd}
  122. \end{center}
  123. \end{minipage}
  124. \end{document}
  125. \end{document}