This code
\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{amssymb,amsmath}
\usepackage{amsthm}
\usepackage{dsfont}
\usepackage{empheq}
\theoremstyle{plain}
\newtheorem{lemma}{Lemma}
\newenvironment{lemmaqed}
{\pushQED{\qed}\lemma}
{\popQED\endlemma}
\begin{document}
\begin{lemmaqed}
\begin{itemize}
\item $a^2+b^2=c^2$
\item $a^2+b^2=c^2$
\end{itemize}
\end{lemmaqed}
\begin{lemmaqed}
\begin{align*}
a^2+b^2=c^2
\end{align*}
\end{lemmaqed}
\begin{lemmaqed}
$a^2+b^2=c^2$
\end{lemmaqed}
\end{document}
creates the output
My problem is: The qed symbol should be at the place indicating by Lemma 3, so on the right at the same line. This is not the case in Lemma 1 and 2. How can I change this?

\qedherewhen the QED symbol should go in a display or in a list such asitemize. – egreg Sep 05 '16 at 21:06