\section{Proofs of Properties} \label{app:proof}
\subsection{Soundness of FPS}\label{app:proof:soundness_fps}

\noindent\textbf{Theorem.}\ \textit{FPS is \textbf{sound}: for any problem $P$ and direct answer $\hat a$ resulted from FPS, $P(\hat a)$ holds.}

\begin{proof} The Lean 4 proof state of FPS initializes as:
\begin{lstlisting}[frame=single,mathescape]
case $h$
$(v_1 : T_1) \dots (v_n : T_n)$
$(h_1 : \phi_1) \cdots (h_p : \phi_p)$
$\vdash (\psi_1 \wedge \dots \wedge \psi_q)[a \mapsto ?a]$
case $a$
$(v_1 : T_1) \dots (v_n : T_n)$
$(h_1 : \phi_1) \cdots (h_p : \phi_p)$
$\vdash T_a$
\end{lstlisting}
Therefore, upon finishing the proof, we can extract from the Lean 4 kernel:
\begin{itemize}
    \item A term $\hat{a} : T_a$ filling the metavariable $?a$ from the initial goal \texttt{case} $a$
    \item A proof term $h$ from the initial goal \texttt{case} $h$.
\end{itemize}

Since $?a$ is filled by $\hat a$, $h$ is actually a proof of $(\forall_{i=1}^n (v_i : T_i), \forall_{i=1}^p (h_i : \phi_i), (\wedge_{i=1}^q \psi_i))[a \mapsto \hat{a}]$, i.e. $P(\hat a)$.

Therefore, $P(\hat a)$ holds by the proof term $h$.
\end{proof}



\subsection{Expressivenss of D-FPS for Find-All Problems}\label{app:proof:expressiveness_dfps}

\noindent\textbf{Theorem.}\ \textit{Regarding find-all problems, the expressiveness of D-FPS is at least as strong as that of FPS.}

\begin{proof}
We construct an injection from an arbitrary find-all FPS problem to D-FPS while preserving semantics.

Suppose the FPS problem consists of $(V, (a : T_a), \Phi, \Psi)$ and the ground-truth answer is $\bar a$. We have 
$$\forall_{i=1}^n (v_i : T_i), \forall_{i=1}^p (h_i : \phi_i), (\wedge_{i=1}^q \psi_i)[a\mapsto \bar a]$$

Therefore, the following assertion holds.
\begin{equation}\label{eq:sufficienty}
\forall_{i=1}^n (v_i : T_i), \forall_{i=1}^p (h_i : \phi_i), \forall (a : T_a), (a = \bar a) \rightarrow (\wedge_{i=1}^q \psi_i)
\end{equation}

Since it is a find-all problem, $\bar a$ is the only answer (for find-unique-one problems) or the complete collection of all valid answers (for multiple-answer problems). The following assertion holds.
\begin{equation}\label{eq:necessity}
\forall_{i=1}^n (v_i : T_i), \forall_{i=1}^p (h_i : \phi_i), \forall (a : T_a), (\wedge_{i=1}^q \psi_i) \rightarrow (a = \bar a)
\end{equation}

Therefore, composing Prop.~\ref{eq:sufficienty} and Prop.~\ref{eq:necessity}, the following proposition holds:
$$\forall_{i=1}^n (v_i : T_i), \forall_{i=1}^p (h_i : \phi_i), \forall (a : T_a), (\wedge_{i=1}^q \psi_i) \leftrightarrow (a = \bar a)$$
i.e.
$$
\forall_{i=1}^n (v_i : T_i), \forall (a : T_a), \forall_{i=1}^p (h_i : \phi_i), ((\wedge_{i=1}^q \psi_i) \leftrightarrow A)[A \mapsto a=\bar a]
$$
which corresponds to the D-FPS problem $(V\cup\{(a : T_a)\}, (A : \texttt{Prop}), \Phi, \{\bigwedge_{i=1}^q\psi_i \leftrightarrow A\})$ with ground-truth answer $\bar A = (a = \bar a)$.
\end{proof}

Specifically, a multiple-answer problem with ground-truth answer $\bar a$ formulated in FPS as
$(V, (a : \texttt{Set}\ T_x), \Phi, \{a = \{x : T_x | \bigwedge_{i=1}^q \psi_i\}\})$
or
$(V \cup \{(x : T_x)\}, (a : \texttt{Set}\ T_x), \Phi, \{\bigwedge_{i=1}^q \psi_i \leftrightarrow x\in a\})$
can be mapped into D-FPS as
$(V \cup \{(x : T_x)\}, (A : \texttt{Prop}), \Phi, \{\bigwedge_{i=1}^q \psi_i \leftrightarrow A\})$
with ground-truth answer $\bar A := x \in \bar a$ (neither $a$ nor $x$ occurs free in $\Phi$).

\subsection{Completeness of D-FPS for Find-All Problems}\label{app:proof:completeness_dfps}

\noindent\textbf{Theorem.}\ \textit{D-FPS is \textbf{complete}: for any find-all problem with ground-truth $\bar A$, for any direct answer $\hat A$ resulted from D-FPS, the following proposition holds: $$\forall_{i=1}^n (v_i : T_i), \forall_{i=1}^p (h_i : \phi_i), \bar A \rightarrow \hat A$$}
\begin{proof}
Suppose the D-FPS problem consists of $(V, (A : \texttt{Prop}), \Phi, \{\psi \leftrightarrow A\})$ and the Lean 4 proof state is initializes as:
\begin{lstlisting}[frame=single,mathescape]
case $h^{\rightarrow}$ -- Forward Solving
$(v_1 : T_1) \dots (v_n : T_n)$
$(h_1 : \phi_1) \cdots (h_p : \phi_p)$
$(h^\prime : \psi)$
$\vdash ?A$
case $h^{\leftarrow}$ -- Backward Provinng
$(v_1 : T_1) \dots (v_n : T_n)$
$(h_1 : \phi_1) \cdots (h_p : \phi_p)$
$(h_a :\ ?A)$
$\vdash \psi$
case $A$ -- Hole of the answer
$(v_1 : T_1) \dots (v_n : T_n)$
$(h_1 : \phi_1) \cdots (h_p : \phi_p)$
$\vdash \texttt{Prop}$
\end{lstlisting}
Therefore, upon finishing forward-solving, we can extract from the Lean 4 kernel:
\begin{itemize}
    \item A term $\hat{A} : \texttt{Prop}$ filling the metavariable $?A$ from the initial goal \texttt{case} $A$
    \item A proof term $h^{\rightarrow}$ from the initial goal \texttt{case} $h^{\rightarrow}$.
\end{itemize}

Since $?A$ is filled by $\hat A$, $h^{\rightarrow}$ is actually a proof of
$$\forall_{i=1}^n (v_i : T_i), \forall_{i=1}^p (h_i : \phi_i), \forall (h^\prime : \psi), \hat A$$

The ground-truth $\bar A$ satisfies
$$\forall_{i=1}^n (v_i : T_i), \forall_{i=1}^p (h_i : \phi_i), (\psi \leftrightarrow \bar A)$$

Therefore, we have
$$\forall_{i=1}^n (v_i : T_i), \forall_{i=1}^p (h_i : \phi_i), \forall (h^\prime : \bar A), \hat A$$
i.e.,
$$\forall_{i=1}^n (v_i : T_i), \forall_{i=1}^p (h_i : \phi_i), \bar A \rightarrow \hat A$$
\end{proof}

\subsection{Soundness of D-FPS for Find-All Problems}\label{app:proof:soundness_dfps}

\noindent\textbf{Theorem.}\ \textit{D-FPS is \textbf{sound}: for any find-all problem with ground-truth $\bar A$, for any direct answer $\hat A$ resulted from D-FPS, if the backward-proving is finished, the following proposition holds: $$\forall_{i=1}^n (v_i : T_i), \forall_{i=1}^p (h_i : \phi_i), \hat A \rightarrow \bar A$$}
\begin{proof}
Upon finishing backward-proving, apart from $\hat{A}$, we can extract a proof term $h^{\leftarrow}$ from the initial goal \texttt{case} $h^{\leftarrow}$.

Since $?A$ is filled by $\hat A$, $h^{\leftarrow}$ is actually a proof of
$$\forall_{i=1}^n (v_i : T_i), \forall_{i=1}^p (h_i : \phi_i), (\forall (h_a : ?A), \psi)[?A \mapsto \hat A]$$
i.e.,
$$\forall_{i=1}^n (v_i : T_i), \forall_{i=1}^p (h_i : \phi_i), \forall (h_a : \hat A), \psi$$

The ground-truth $\bar A$ satisfies
$$\forall_{i=1}^n (v_i : T_i), \forall_{i=1}^p (h_i : \phi_i), (\psi \leftrightarrow \bar A)$$

Therefore, we have
$$\forall_{i=1}^n (v_i : T_i), \forall_{i=1}^p (h_i : \phi_i), \forall (h_a : \hat A), \bar A$$
i.e.,
$$\forall_{i=1}^n (v_i : T_i), \forall_{i=1}^p (h_i : \phi_i), \hat A \rightarrow \bar A$$
\end{proof}

Notably, for find-unique-one problems (only one valid answer exists) with queriable $a$, if it is expressed in D-FPS as in Appendix~\ref{app:proof:expressiveness_dfps} and concludes a direct answer of the form $\hat A = (a = \hat a)$, a backward proof is not required anymore (completeness implies soundness). Because of the uniqueness of $\bar a$ and Assumption~\ref{ass:satisfiable}, the valid answer term $\hat a$ must be the unique one.
