\begin{frame} \frametitle{For All} % \begin{goal}{} \emph{Existential quantifier:} $\exists\,X(\varphi)$ \begin{itemize} \item Meaning: There is an $X$ that satisfies formula $\varphi$. \end{itemize} \emph{Universal quantifier:} $\forall\,X(\varphi)$ \begin{itemize} \item Meaning: For all $X$, formula $\varphi$ is satisfied (true). \end{itemize} % \end{goal} \smallskip \pause \begin{alertblock}{} SQL does \emph{not} offer a universal quantifier ($\forall$, ``for all''). \medskip SQL offers only the existential quantifier \sql{exists}.\\ \remark{% However, there is a restricted form: \sql{>= all}. } \end{alertblock} \pause \begin{goal}{} This is no problem because \begin{talign} \forall\,X\,(\varphi) \;\;\iff\;\; \neg\exists\,X\,(\neg\varphi) \end{talign} \end{goal} \begin{exampleblock}{} The following two statements are equivalent: \begin{itemize} \item All cars are red. \item There exists no car that is not red. \end{itemize} \end{exampleblock} %% forall X (p1 => p2) %% <=> not exists X (not (p1 => p2)) %% <=> not exists X (not (not p1 \/ p2)) %% <=> not exists X (p1 /\ not p2) \end{frame}