Clash between newtxmath and amsthm packages
\openbox
is defined by a number of packages
As a quick workaround, you could undefine \openbox
before loading amsthm
\documentclass[letterpaper, 10pt, oneside]{book}
\usepackage{XCharter}
\usepackage[xcharter]{newtxmath}
\usepackage[cal=boondox,scr=boondox,bb=boondox,frak=euler]{mathalfa}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\let\openbox\undefined
\usepackage{amsthm}
\usepackage{mathtools}
\usepackage{enumerate}
\newcommand{\Ccal}{\mathcal{C}}
\newcommand{\Pcal}{\mathcal{P}}
\begin{document}
Suppose $\Omega = \{0,1\}$ and $\Ccal = \{\{0\}\}$. Enumerate $\aleph$, the class of all $\sigma$-fields containing $\Ccal$.
\begin{proof}
There are just two $\sigma$-fields on $\Omega$: the trivial one $\{\emptyset, \Omega\}$ and the discrete one $\Pcal(\Omega) = \{\emptyset, \{0\}, \{1\}, \Omega\}$. So, $\aleph = \{\Pcal(\Omega)\}$.
\end{proof}
\end{document}