96/224
\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}