\documentclass[tikz,border=5pt]{standalone}
\usepackage{pgf,tikz}
\usepackage{amssymb}
\usetikzlibrary{calc,patterns,backgrounds,fit,decorations.pathreplacing}
\pgfdeclarelayer{background}
\pgfdeclarelayer{foreground}
\pgfsetlayers{background,main,foreground}
\newcommand{\hsAB}{[B]}
\newcommand{\hsEB}{\langle B\rangle}
\newcommand{\hsAD}{[D]}
\newcommand{\hsED}{\langle D\rangle}
\begin{document}
\begin{tikzpicture}
\clip (-0.9,-9.2) rectangle (8.8,2.8);
\begin{scope}[node distance=1cm]
\node[draw, circle, inner sep=1, label={[]270:{\scalebox{0.7}{$0$}}}, label={[]90:{\scalebox{0.7}{$p,\neg q$}}}] (0) {};
\node[draw, circle, inner sep=1, right of=0, label={[]270:{\scalebox{0.7}{$1$}}}, label={[]90:{\scalebox{0.7}{$p,q$}}}] (1) {};
\node[draw, circle, inner sep=1, right of=1, label={[]270:{\scalebox{0.7}{$2$}}}, label={[]90:{\scalebox{0.7}{$p,q$}}}] (2) {};
\node[draw, circle, inner sep=1, right of=2, label={[]270:{\scalebox{0.7}{$3$}}}, label={[]90:{\scalebox{0.7}{$\neg p, \neg q$}}}] (3) {};
\node[draw, circle, inner sep=1, right of=3, label={[]270:{\scalebox{0.7}{$4$}}}, label={[]90:{\scalebox{0.7}{$p,q$}}}] (4) {};
\node[draw, circle, inner sep=1, right of=4, label={[]270:{\scalebox{0.7}{$5$}}}, label={[]90:{\scalebox{0.7}{$p,q$}}}] (5) {};
\node[draw, circle, inner sep=1, right of=5, label={[]270:{\scalebox{0.7}{$6$}}}, label={[]90:{\scalebox{0.7}{$p,q$}}}] (6) {};
\node[draw, circle, inner sep=1, right of=6, label={[]270:{\scalebox{0.7}{$7$}}}, label={[]90:{\scalebox{0.7}{$\neg p,q$}}}] (7) {};
\draw[|-|] ($(0.center) + (0,2)$) -- ($(3.center)+ (0,2)$) node[pos=0.5, above](03) {\scalebox{0.7}{$\neg p, \neg q$}};
\draw[|-|] ($(0.center) + (0,1.5)$) -- ($(2.center)+ (0,1.5)$) node[pos=0.5, above](02) {\scalebox{0.7}{$p, \neg q$}};
\draw[|-|] ($(1.center) + (0,1)$) -- ($(2.center)+ (0,1)$) node[pos=0.5, above](12) {\scalebox{0.7}{$ p, q$}};
\draw[|-|] ($(4.center) + (0,1)$) -- ($(6.center)+ (0,1)$) node[pos=0.5, above](46) {\scalebox{0.7}{$ p, q$}};
\draw[|-|] ($(4.center) + (0,1.5)$) -- ($(7.center)+ (0,1.5)$) node[pos=0.5, above](47) {\scalebox{0.7}{$ \neg p, q$}};
\draw[|-|] ($(1.center) + (0,2.5)$) -- ($(6.center)+ (0,2.5)$) node[pos=0.5, above](16) {\scalebox{0.7}{$ \neg p, \neg q$}};
\end{scope}
\pgftransformshift{\pgfpoint{0cm}{-9cm}}
\draw[dashed] (0,0) -- (7.5,7.5);
\draw[step=1.0,black, opacity=0.5, very thin,xshift=-1cm,yshift=-1cm] (0.5,0.5) grid (8.5,8.5);
\draw[->,dashed] (0,0) -- (0,7.5);
\draw[->,dashed] (0,0) -- (7.5,0);
\fill[black!20, opacity=0.5] (0,0) -- (7.5,7.5) -- (7.5,0);
\begin{scope}[node distance=1.415cm]
\node[draw, circle, inner sep=1, fill=white, label={[xshift=0.3cm]30:{\scalebox{0.7}{$p, \neg q, \hsAB\bot$}}}] (0) {};
\node[draw, circle, inner sep=1, above right of=0, fill=white, label={[xshift=0.1cm]0:{\scalebox{0.7}{$p, q, \hsAB\bot$}}}] (1) {};
\node[draw, circle, inner sep=1, above right of=1, fill=white, label={[xshift=0.1cm]0:{\scalebox{0.7}{$p, q, \hsAB\bot$}}}] (2) {};
\node[draw, circle, inner sep=1, above right of=2, fill=white, label={[xshift=0.1cm]0:{\scalebox{0.7}{$\neg p, \neg q, \hsAB\bot$}}}] (3) {};
\node[draw, circle, inner sep=1, above right of=3, fill=white, label={[xshift=0.1cm]0:{\scalebox{0.7}{$p, q, \hsAB\bot$}}}] (4) {};
\node[draw, circle, inner sep=1, above right of=4, fill=white, label={[xshift=0.1cm]0:{\scalebox{0.7}{$p, q, \hsAB\bot$}}}] (5) {};
\node[draw, circle, inner sep=1, above right of=5, fill=white, label={[xshift=0.1cm]0:{\scalebox{0.7}{$p, q, \hsAB\bot$}}}] (6) {};
\node[draw, circle, inner sep=1, above right of=6, fill=white, label={[xshift=0.3cm, yshift=-0.1cm]93:{\scalebox{0.7}{$\begin{array}{l}\neg p, q,\\ \hsAB\bot\end{array}$}}}] (7) {};
\end{scope}
\node[draw, circle, inner sep=1, above of=0, fill=white, node distance=3cm, label={[xshift=0.0cm, yshift=0.3cm]0:{\scalebox{0.65}{$\begin{array}{l}\neg p, \neg q, \\ \hsEB\top,\\ \hsAB p,\\ \hsAD q\end{array}$}}}] (03C) {};
\draw[->, opacity=0.3] (03) -- (03C);
\node[draw, circle, inner sep=1, above of=4, fill=white, node distance=2cm, label={[xshift=1.5cm]200:{\scalebox{0.7}{$ p, q, \hsEB\top, \hsAB p, \hsAD q$}}}] (46C) {};
\draw[->, opacity=0.3] (46) edge[bend right] (46C);
\node[draw, circle, inner sep=1, above of=4, fill=white, node distance=3cm, label={[xshift=-0.1cm]0:{\scalebox{0.65}{$\begin{array}{l} \neg p, q, \hsEB\top,\\ \hsAB p, \hsAD q\end{array}$}}}] (47C) {};
\draw[->] (47C) -- (46C) node[pos=0.5,right, xshift=-0.1cm]{\scalebox{0.7}{$B$}};
\draw[->, opacity=0.3] (47) edge[bend left, looseness =0.6] (47C.north);
\node[draw, circle, inner sep=1, above of=1, fill=white, node distance=5cm, label={[xshift=0cm, yshift=0.1cm]270:{\scalebox{0.65}{$\begin{array}{l}\neg p,\\ \neg q, \\ \hsEB\top,\\ \hsEB\neg p, \\ \hsED\neg q\end{array}$}}}] (16C) {};
\draw[->, opacity=0.3] (16) edge[bend left] (16C);
\node[draw, circle, inner sep=1, above of=0, fill=white, node distance=2cm, label={[xshift=0.3cm, yshift=0.05cm]270:{\scalebox{0.65}{$\begin{array}{l}p, \neg q, \hsEB\top, \\ \hsAB p, \hsAD q\end{array}$}}}] (02C) {};
\draw[->, opacity=0.3] (02) edge[bend right] (02C);
\node[draw, circle, inner sep=1, above of=1, fill=white, node distance=1cm, label={[xshift=-0.2cm, yshift=0.5cm]0:{\scalebox{0.65}{$\begin{array}{l}p, q, \\ \hsEB\top, \\ \hsAB p, \\ \hsAD q\end{array}$}}}] (12C) {};
\draw[opacity=0.3] ($(12.south) +(-0.25,0)$) edge[->,bend right, looseness=0.7, out=270, in=270] (12C);
\draw[->] (03C) -- (12C) node[pos=0.5,right, xshift=-0.1cm]{\scalebox{0.7}{$D$}};
\begin{scope}[opacity=0.5]
\node[yshift=-0.3cm](0) {\scalebox{0.7}{$0$}};
\node[right of=0](0) {\scalebox{0.7}{$1$}};
\node[right of=0](0) {\scalebox{0.7}{$2$}};
\node[right of=0](0) {\scalebox{0.7}{$3$}};
\node[right of=0](0) {\scalebox{0.7}{$4$}};
\node[right of=0](0) {\scalebox{0.7}{$5$}};
\node[right of=0](0) {\scalebox{0.7}{$6$}};
\node[right of=0](0) {\scalebox{0.7}{$7$}};
\node[right of=0, xshift=-0.6cm, yshift=-0.cm, opacity=1](0) {\scalebox{0.7}{$x$}};
\node[xshift=-0.3cm](0) {\scalebox{0.7}{$0$}};
\node[above of=0](0) {\scalebox{0.7}{$1$}};
\node[above of=0](0) {\scalebox{0.7}{$2$}};
\node[above of=0](0) {\scalebox{0.7}{$3$}};
\node[above of=0](0) {\scalebox{0.7}{$4$}};
\node[above of=0](0) {\scalebox{0.7}{$5$}};
\node[above of=0](0) {\scalebox{0.7}{$6$}};
\node[above of=0](0) {\scalebox{0.7}{$7$}};
\node[right of=0, xshift=-0.7cm, yshift=0.7cm, opacity=1](0) {\scalebox{0.7}{$y$}};
\end{scope}
\draw[line width=0, pattern=north west lines, pattern color=black] (2,5) -- (5,5) -- (2,2);
\draw[->,dashed] (16C) -- (2,5);
\end{tikzpicture}
\end{document}