Rigorously building a Fock space, creation/annihilation operators and inner products in a QFT I would like to understand how one can install a set of states, starting with a vacuum, define creation/annihilation operators for the vacuum, solve for mode functions and define inner products in a spacetime. I understand that for arbitrary space times, this is probably too difficult a question, and I have some experience working with curved spacetimes such as de Sitter. However, even in Minkowski, I am not sure I have a rigorous understanding (at least in the physicist's sense) on where the creation/annihilation operators actually come from (apart from the SHO analogy), and how one defines inner products.
I have seen various questions on this site, which have to do with either some of the mathematics involved in manipulating these operators, or their commutation relations and so on, but I would like to know a little bit more about how one actually constructs this rigorously.
How do I better understand/learn this?
 A: The Fock space is a mathematical construction that starts from one initial Hilbert space, called the one-particle Hilbert space in Physics, and builds a new Hilbert space out of it. Basically, let $\mathfrak{h}$ be this one-particle Hilbert space. The Fock space over $\mathfrak{h}$ is defined by $${\cal H}\equiv{\cal F}_\pm(\mathfrak{h})\equiv \bigoplus_{n=0}^\infty \mathfrak{h}^{\otimes n_\pm},\tag{1}$$
where by $\mathfrak{h}^{\otimes n_\pm}$ I mean the symmetric/anti-symmetric $n$-th tensor power of $\mathfrak{h}$, with the definition that for $n=0$ this is just the underlying field of scalars $\mathbb{C}$.
Please understand that (1) defines a Hilbert space. You are just taking for every $n$ a finite number of tensor products, symmetrizing or anti-symmetrizing, and then taking one direct sum over all $n$. All these operations performed on Hilbert spaces gives you new Hilbert spaces. I'm elaborating this because I have already seem some people talk about Fock spaces and Hilbert spaces as different things, and from the functional analysis point of view this is incorrect: every Fock space is a Hilbert space.
Now, in Physics, $\mathfrak{h}$ is the space of states of a single particle and the $n$-th term in (1) will be the space of states of $n$ such particles. In particular the $n=0$ term, $\mathbb{C}$ is the state space with no particles at all. It is one-dimensional, spanned by the vacuum $|0\rangle$.
So to build a Fock space, all you need is $\mathfrak{h}$ and a choice of whether to take anti-symmetric tensor products or symmetric ones.
The possible one-particle Hilbert spaces in relativistic QFT are classified according to Wigner's classification of irreducible unitary representations of the universal cover of the Poincaré group. It's not possible to give a self-contained description of that construction here, but the complete construction of such Hilbert spaces is carried out in Weinberg's The Quantum Theory of Fields Chapter 2. Such representations are classified by mass and spin. Starting with any such Hilbert space you may feed it into the definition (1) and get the Fock space.
But just to give you the final result: for massive particles of mass $m$ and spin $j$ we have $\mathfrak{h}(m,j)$ spanned by $|p,\sigma\rangle$ where $p^2=-m^2$ and $\sigma=-j,-j+1,\dots, j-1,j$. For massless particles one has instead $\mathfrak{h}(0,j)$ spanned by $|p,\pm j\rangle$ where $p^2=0$. In both cases the inner product is $$\langle p,j|p',j'\rangle=(2\pi)^22p^0\delta_{jj'}\delta^{(3)}(\vec{p}-\vec{p}')\tag{2}.$$
So we have a very concrete description of the possible $\mathfrak{h}(m,j)$ - whose complete construction I encourage you to study in Weinberg's textbook - and given such construction you can build the Fock space using its mathematical definition (1).
