There are several issues here. The dollar sign is a toggle between math mode and text mode, so keep entire math expressions between them.
$n$ \in \mathbb{N}
should be
$n \in \mathbb{N}$
etc. You can also use \( to enter math mode and \) to leave math mode, so the code
\(n \in \mathbb{N}\)
will produce the same as above. Since you use \mathbb I am assuming you are loading the amsfonts package. In the future you should include this in your post as part of a "Minimal Working Example" (MWE).
The theorem is mostly typeset in italics because that is the default for amsthm, known as \theoremstyle{plain}. If you want your theorem to appear in roman (upright) style, use \theoremstyle{definition}.

A simple way to get your custom theorem number is to use the starred version of \newtheorem, as in \newtheorem*{thm*}{Theorem} (which will suppress the theorem number), and then add your own number. For a more robust solution, look at this post on custom theorem numbering.
Lastly, there are several ways to enumerate with letters instead of numbers. One is suggested in the comment by @marmot, below. Another is to use the enumitem package and add \setenumerate[0]{label=(\alph*)} to the preamble.
Here is sample code to get you started.
\documentclass{article}
\usepackage{amsmath,amsthm,amsfonts}
\usepackage{enumitem}
\setenumerate[0]{label=(\alph*)}
\theoremstyle{definition}
\newtheorem*{thm*}{Theorem}
\begin{document}
\begin{thm*}[\textbf{3.1.2}]
Let $P(n)$ be a statement that is either true or false for each $n \in \mathbb{N}$. Then $P(n)$ is true for all $n \in \mathbb{N}$, provided that
\begin{enumerate}
\item $P(n)$ is true, and
\item for each $k\in\mathbb{N}$, if $P(k)$ is true, then $P(k+1)$ is true.
\end{enumerate}
\end{thm*}
\end{document}
\documentclass, includes all relevant\usepackagecommands, ends with\end{document}and compiles without errors, even if it does not produce your desired output. – Sandy G Dec 12 '17 at 02:34