You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Actually, we will need a more elaborate construction --- a function \( F(D, E) \) depending on a set \( D \) of discharged markers and a set \( E \) of discharged eigenvariables. We call \( F(\varnothing, \varnothing) \)\enquote{the} set of open free variables of the tree.
479
479
480
-
\thmitem{def:fol_natural_deduction_proof_tree/implicit_variables} Similarly to implicit open premises, we may also have \term{implicit open variables}. We will call the proof tree \term{strict} if all implicit variables are also explicit open free variables.
480
+
\thmitem{def:fol_natural_deduction_proof_tree/implicit_variables} Similarly to implicit open premises, we may also have \term{implicit free variables}.
481
481
\end{thmenum}
482
482
483
483
Just as with assumption discharging, binding variables is also delicate to handle:
Thus, have taken the union of all open variables of the subtrees and all free variables of the implicit premises, excluding those discharged at the current application.
565
565
566
-
\thmitem{def:fol_natural_deduction_proof_tree/application/implicit_variables} If the conclusion schema features a substitution, i.e. if \(\Psi = \Lambda[\xi\mapsto\Tau] \), let the set of implicit open variables be the set of variables of the term \(\Tau[\BbbI] \). Otherwise, let \( C_d \) be the empty set.
566
+
\thmitem{def:fol_natural_deduction_proof_tree/application/implicit_variables} If the conclusion schema features a substitution, i.e. if \(\Psi = \Lambda[\xi\mapsto\Tau] \), let the set of implicit free variables be the set of variables of the term \(\Tau[\BbbI] \). Otherwise, let \( C_d \) be the empty set.
\item Even though we do not disallow eigenvariables in the conclusion, they would be treated the same as regular variables.
578
578
579
-
\item Implicit variables and strict proof trees are not established concepts. Nonstrict rule application trees, in which the conclusion may introduce new free variables, have some debatable aspects despite being the norm. See\cref{rem:fol_empty_universe/natural_deduction} for a broader discussion.
579
+
\item Implicit variables are not an established concept. Placing restrictions on them allows us to mitigate some debatable proof trees --- see\cref{rem:fol_empty_universe/natural_deduction} for a broader discussion.
580
580
581
581
\item The term \enquote{eigenvariable} comes from \tcite{#2, where #1}{Gentzen1935LogischeSchließen} introduces natural deduction. In the corresponding English translation, \cite[293]{Gentzen1964LogicalDeduction}, eigenvariables are instead called \enquote{proper variables}. Both terms are currently used in English (e.g. \incite[\S 5.1.10]{Mimram2020ProgramEqualsProof} uses \enquote{eigenvariable}, while \incite[38]{TroelstraSchwichtenberg2000BasicProofTheory} uses \enquote{proper variable}).
This derivation is not sound in an empty universe where nothing exists. Nevertheless, the standard treatment of natural deduction ignores this issue --- starting from Gentzen's \cite[186]{Gentzen1935LogischeSchließen}, and including \cite[ch. 2]{TroelstraSchwichtenberg2000BasicProofTheory}, \cite[\S 2.8]{VanDalen2004LogicAndStructure} and \cite[97]{КолмогоровДрагалин2006Логика}.
929
929
930
-
\incite*[\S 5.1.10]{Mimram2020ProgramEqualsProof} provides a hint at how to handle this situation. We have adapted his remarks when introducing strict proof trees in \cref{def:fol_natural_deduction_proof_tree/implicit_variables}. Since the only open assumption above has no free variables, the application of \ref{inf:def:fol_natural_deduction/forall/elim} is strict only if \(\tau\) is closed. This is the case when \(\tau\) contains at least one individual constant. But if the signature has an individual constant, its domain cannot be empty.
930
+
There are some ad-hoc ways to prevent the above rule applications:
931
+
\begin{thmenum}
932
+
\thmitem{rem:fol_empty_universe/restricted_implicit} We may require all \hyperref[def:fol_natural_deduction_proof_tree/implicit_variables]{implicit free variables} to belong to the existing \hyperref[def:fol_natural_deduction_proof_tree/open_variables]{open free variables}. This would affect the rule \ref{inf:def:fol_natural_deduction/forall/elim}. It would be possible to derive \(\varphi[x \mapsto\tau] \) from \(\qforall x \varphi\), but only if the free variables of \(\tau\) are open in the proof tree.
933
+
934
+
In our example, the proof tree has no variables open, thus \(\tau\) must use constants rather than variables. But if the signature has an individual constant, its domain cannot be empty. If, on the other hand, the domain is empty, the rule becomes inapplicable.
935
+
936
+
On the other hand, this restriction would prevent the following sound proof
\infer1[\ref{inf:def:fol_natural_deduction/forall/intro}]{ \qforall z p(z) }
942
+
\end{prooftree}
943
+
\end{equation*}
931
944
932
-
If, on the other hand, the domain is empty, the rule is inapplicable. Strict proof trees require us to be more careful with the choice of conclusion of \ref{inf:def:fol_natural_deduction/forall/elim}. However, this makes them compatible with empty universes.
945
+
\thmitem{rem:fol_empty_universe/non_eigenvariable} An alternative is suggested by \incite[\S 5.1.10]{Mimram2020ProgramEqualsProof}. He allows implicit variables to be used at most once in non-eigenvariable substitutions. In our example, this allows the application of \ref{inf:def:fol_natural_deduction/forall/elim}, but not that of \ref{inf:def:fol_natural_deduction/exists/intro}.
933
946
934
-
Due to the increased complexity, we will not further pursue this path.
947
+
Unlike the solution above, this one does not prevent us from applying \ref{inf:def:fol_natural_deduction/forall/intro} instead because the restriction is only for non-eigenvariable substitutions.
0 commit comments