[Tex/LaTex] Vertical space between proof and theorem environments

spacing

When compiling my latex file, the space between the ending of theorem body and the word proof appears to be a bit much. I know how to individual manage this using \vspace, but I want to change the settings in the preamble so that even propositions, lemmas and corollaries have the same vertical distance between the starting of the proof. I have included my latex file here. Any help will be much appreciated.

\documentclass[12pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[left=3.50cm, right=3.0cm, top=3.0cm, bottom=3.0cm]{geometry}
\usepackage{enumitem}
\usepackage{amsthm}
\usepackage{amsmath}
\linespread{1.6}
\setlength{\parskip}{5mm}
\setlength{\parindent}{0mm}
\setlength{\skip\footins}{1.6cm}
\setlength{\footnotesep}{0.5cm}
\newtheorem{thm}{Theorem}[section]
\newtheorem{lemma}[thm]{Lemma}
\newtheorem{proposition}[thm]{Proposition}
\newtheorem{cor}[thm]{Corollary}
\theoremstyle{definition}
\newtheorem{defn}[thm]{Definition}
\newtheorem{exmp}[thm]{Example}
\newtheorem{remark}[thm]{Remark}
\newcommand{\prn}{\mathrel{\mathrm{prn}}}
\begin{document}
\begin{thm}
Let $G$ be a group with subgroups $H$ and $K$. Then $[H,K] \unlhd \langle H, K\rangle$
\end{thm}
\begin{proof} 
Every element in $[H,K]$ belongs to $\langle H, K \rangle$ because of the way in which the elements of $\langle H, K \rangle$ are defined.
\end{proof}
\end{document}

Best Answer

You save 10 pt in vertical spacing with ntheorem default:

\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsfonts, amssymb}
\usepackage[left=3.50cm, right=3.0cm, top=3.0cm, bottom=3.0cm]{geometry}
\usepackage{enumitem}
\usepackage{amsmath, amssymb}
\linespread{1.6}
\setlength{\parskip}{5mm}
\setlength{\parindent}{0mm}
\setlength{\skip\footins}{1.6cm}
\setlength{\footnotesep}{0.5cm}
\usepackage[amsmath, thmmarks]{ntheorem}

\theoremstyle{plain}
\theoremheaderfont{\upshape\bfseries}
\theorembodyfont{\itshape}
\newtheorem{thm}{Theorem}[section]
\newtheorem{lemma}[thm]{Lemma}
\newtheorem{proposition}[thm]{Proposition}
\newtheorem{cor}[thm]{Corollary}

\theorembodyfont{\normalfont}
\newtheorem{defn}[thm]{Definition}
\newtheorem{exmp}[thm]{Example}
\newtheorem{remark}[thm]{Remark}

\theoremstyle{nonumberplain}
\theoremheaderfont{\itshape}
\theoremsymbol{ \ensuremath{\Box}}
\newtheorem{proof}{Proof}

\newcommand{\prn}{\mathrel{\mathrm{prn}}}

\begin{document}

\begin{thm}
  Let $G$ be a group with subgroups $H$ and $K$. Then $[H,K] \unlhd \langle H, K\rangle $.
\end{thm}
%
\begin{proof}
  Every element in $[H,K]$ belongs to $\langle H, K \rangle$ because of the way in which the elements of $\langle H, K \rangle$ are defined.
\end{proof}
%
\begin{defn}
  A trivial definition
\end{defn}

\end{document} 

enter image description here