Download source/appendix.proofs.tex from ProCreations/repro-formal-problem-solving-framework-benchmark: direct link, hf CLI and curl.
- Browser
- Download file 6.99 kB
-
https://huggingface.co/spaces/ProCreations/repro-formal-problem-solving-framework-benchmark/resolve/main/source/appendix.proofs.tex
- Command line
-
hf download hf://spaces/ProCreations/repro-formal-problem-solving-framework-benchmark/source/appendix.proofs.tex
-
curl -L -o appendix.proofs.tex https://huggingface.co/spaces/ProCreations/repro-formal-problem-solving-framework-benchmark/resolve/main/source/appendix.proofs.tex
6.99 kB
| \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. | |