
This solves the part that removes eq. prefix while still getting a cross-referencing that works with hyperref
Use the following code to define a new cross-referencing scheme for a special type of equations labels called equationX.
\crefformat{equationX}{#2(#1)#3}
\crefrangeformat{equationX}{#3(#1)#4 to #5(#2)#6}
\crefmultiformat{equationX}{#2(#1)#3}{ and #2(#1)#3}{, #2(#1)#3}{ and #2(#1)#3}
\crefrangemultiformat{equationX}{#3(#1)#4 to #5(#2)#6}{ and #3(#1)#4 to #5(#2)#6}{, #3(#1)#4 to #5(#2)#6}{ and #3(#1)#4 to #5(#2)#6}
For any equation that you would like to cite without eq. prefix, use the label \label[equationX]{<equation label>}
\documentclass{amsart}
\usepackage[x11names]{xcolor}
\usepackage{hyperref}
\hypersetup{linkcolor=DodgerBlue3, colorlinks=true}
\usepackage[nameinlink]{cleveref}
\newtheorem{definition}{Definition}[section]
\newtheorem{theorem}[definition]{Theorem}
\numberwithin{equation}{definition}
\crefformat{equationX}{#2(#1)#3}
\crefrangeformat{equationX}{#3(#1)#4 to #5(#2)#6}
\crefmultiformat{equationX}{#2(#1)#3}{ and #2(#1)#3}{, #2(#1)#3}{ and #2(#1)#3}
\crefrangemultiformat{equationX}{#3(#1)#4 to #5(#2)#6}{ and #3(#1)#4 to #5(#2)#6}{, #3(#1)#4 to #5(#2)#6}{ and #3(#1)#4 to #5(#2)#6}
\begin{document}
\section{The Theory}
\begin{definition}
We define $x$ by the following equation.
\begin{equation}\label[equationX]{eq:1}
x = 1
\end{equation}
\end{definition}
\begin{theorem}
If $y = 1$, we have
\begin{equation}\label{eq:2}
y = x.
\end{equation}
\end{theorem}
\begin{proof}
By~\cref{eq:1}, $x = 1$. Since, by assumption $y = 1$, we obtain~\ref{eq:2}.
\end{proof}
\end{document}
Although I do not recommend it for long documents, if you still want to change the representation of equations labels, remove \numberwithin{equation}{definition}

To reset equations numbering at each definition or theorem environment, use
\usepackage{etoolbox}
\BeforeBeginEnvironment{definition}{\setcounter{equation}{0}}
\BeforeBeginEnvironment{theorem}{\setcounter{equation}{0}}

\documentclass{amsart}
\usepackage{etoolbox}
\BeforeBeginEnvironment{definition}{\setcounter{equation}{0}}
\BeforeBeginEnvironment{theorem}{\setcounter{equation}{0}}
\usepackage[x11names]{xcolor}
\usepackage{hyperref}
\hypersetup{linkcolor=DodgerBlue3, colorlinks=true}
\usepackage[nameinlink]{cleveref}
\newtheorem{definition}{Definition}[section]
\newtheorem{theorem}[definition]{Theorem}
\crefformat{equationX}{#2(#1)#3}
\crefrangeformat{equationX}{#3(#1)#4 to #5(#2)#6}
\crefmultiformat{equationX}{#2(#1)#3}{ and #2(#1)#3}{, #2(#1)#3}{ and #2(#1)#3}
\crefrangemultiformat{equationX}{#3(#1)#4 to #5(#2)#6}{ and #3(#1)#4 to #5(#2)#6}{, #3(#1)#4 to #5(#2)#6}{ and #3(#1)#4 to #5(#2)#6}
\begin{document}
\section{The Theory}
\begin{definition}
We define $x$ by the following equation.
\begin{equation}\label[equationX]{eq:1}
x = 1
\end{equation}
\begin{equation}
e = m c^{2}
\label[equationX]{eq:e}
\end{equation}
\end{definition}
\begin{theorem}
If $y = 1$, we have
\begin{equation}\label{eq:2}
y = x.
\end{equation}
\end{theorem}
\begin{proof}
By~\cref{eq:1}, $x = 1$. Since, by assumption $y = 1$, we obtain~\ref{eq:2}.
\end{proof}
We can also refer to \ref{eq:e} as a test of the {\color{DodgerBlue3}hyperref} compatibility.
\end{document}
NOTE: The output above does not produce exactly what you want since you want the tag to have different form from the output of its cross-referencing. You can definitely change things like whether you want brackets or some prefixes or suffixes. However, changing the tag retroactively after you have cross-referenced the item is too complex. Here is why
The inputs #1 and #2 in the definitions of \cref formats represent the whole tags of what you are referring to. Thus, you cannot access what is inside #1 and #2 without too much of invasive modifications to the primitive codes of cleveref. My advice is to work around this by cross-referencing the equation then the theorem it exists in. For instance, you can write: we obtain \cref{<label of the equation>} in \cref{<label of the theorem that has the equation>}. Otherwise, you must be very careful and know exactly what you are doing to avoid some unexpected anomalies in cross-referencing.
(1.1.1)" refers tox=1, whereas "obtain(1)" refers toy=x. – Evan Aad Sep 07 '18 at 15:43(2.1.1)rather than simply(1). – Evan Aad Sep 07 '18 at 15:58