Currently, I am dealing with the calculus of natural deduction by Gentzen. This calculus gives us rules to manipulate so-called sequents.
Definition. If $\Gamma$ is a set of formulas and $\phi$ a formula, then $\Gamma\vdash\phi$ is called a sequent.
The rules of this calculus of natural deduction are:
- Hypothesis. $$ \begin{array}{c} \hline \Gamma\vdash\phi \end{array}\text{, where $\phi\in\Gamma$} $$
- Rules for $\land$. $$ \text{Introduction: } \begin{array}{c} \Gamma\vdash A\quad\Gamma\vdash B\\ \hline \Gamma\vdash A\land B \end{array}\qquad\qquad\text{Elimination: } \begin{array}{c} \Gamma\vdash A\land B\\ \hline \Gamma\vdash A\quad\Gamma\vdash B \end{array} $$
- Rules for $\lor$. $$ \text{Introduction: } \begin{array}{c} \Gamma\vdash A\\ \hline \Gamma\vdash A\lor B \end{array} \quad \begin{array}{c} \Gamma\vdash B\\ \hline \Gamma\vdash A\lor B \end{array} \qquad\text{Elimination: } \begin{array}{c} \Gamma\vdash A\lor B\quad\Gamma\cup \{A\}\vdash C\quad\Gamma\cup \{B\}\vdash C\\ \hline \Gamma\vdash C \end{array} $$
- Rules for $\rightarrow$.
$$ \text{Introduction: } \begin{array}{c} \Gamma\cup \{A\}\vdash B\\ \hline \Gamma\vdash A\rightarrow B \end{array}\qquad\qquad\text{Elimination: } \begin{array}{c} \Gamma\vdash A\rightarrow B\quad\Gamma\vdash A\\ \hline \Gamma\vdash B \end{array} $$
- Rules for $\neg$.
$$ \text{Introduction: } \begin{array}{c} \Gamma \cup\{A\}\vdash\bot\\ \hline \Gamma\vdash \neg A \end{array}\qquad\qquad\text{$\neg\neg$ Elimination: } \begin{array}{c} \Gamma\vdash \neg\neg A\\ \hline \Gamma\vdash A \end{array} $$
Rule for $\bot$. $$ \text{Introduction: } \begin{array}{c} \Gamma\vdash A\quad\Gamma\vdash \neg A\\ \hline \Gamma\vdash\bot \end{array} $$
Rules for $\forall$. $$ \text{Introduction: } \begin{array}{c} \Gamma\vdash\phi[u/x]\\ \hline \Gamma\vdash\forall x(\phi) \end{array}\text{, $u$ not free in $\Gamma$}\qquad\text{Elimination: } \begin{array}{c} \Gamma\vdash\forall x(\phi)\\ \hline \Gamma\vdash\phi[t/x] \end{array} $$
Rules for $\exists$. $$ \text{Introduction: } \begin{array}{c} \Gamma\vdash\phi[t/x]\\ \hline \Gamma\vdash\exists x(\phi) \end{array}\qquad\text{Elimination: } \begin{array}{c} \Gamma\vdash\exists x(A)\quad \Gamma\cup \{A[u/x]\}\vdash B\\ \hline \Gamma\vdash B \end{array} \text{, $u$ not free in $\Gamma$ or $B$.} $$
Rules for $=$. $$ \text{Introduction: } \begin{array}{c} \hline \Gamma\vdash t = t \end{array} \qquad\text{Elimination: } \begin{array}{c} \Gamma\vdash t_1=t_2\quad\Gamma\vdash A\\ \hline \Gamma\vdash A[t_1//t_2] \end{array} $$
(where $A[t_1//t_2]$ is a formula which resulted form $A$ by replacing all or some free occurrences of $t_1$ in $A$ by $t_2$)
My problem with this calculus. The problem with the calculus given above is that it only works for non-empty structures. Thus there are sentences like $\exists x(x=x)$ which are derivable in this calculus but do not hold in empty structures. But I am searching for a calculus that works for empty structures too. When I say "works for empty structures too", I mean: If the demanded calculus proves a sentence, then this sentence should hold in all structures, also in the empty structures.
I am searching for a calculus that works for all structures, and not only for non-empty structures.
That is why my question is:
How can one modify the calculus given above such that this new calculus works for all structures, and not only for non-empty structures?
Related threads:
The easiest (and in my opinion cleanest) way to do this is to augment the context. In the sequent calculus you presented, you have the left-hand of the sequent being a set $Γ$ of formulae. Instead of that, you need to have set of sentences $S$ for axioms and a context chain $Q$. $Q$ is an ordered list, each item being either a conditional context or a universally or existentially quantified variable. The idea is that all free variables in the right-hand of the sequent must be quantified in $Q$. So we should be able to derive "$S;\forall x \vdash x=x$" but not just "$S \vdash x=x$". I give the rules precisely below.
Connective rules
The rules for the boolean connectives are essentially the same as before, but instead of modifying the left-hand set $Γ$ of formulae, we modify the context chain. So here are the changed rules: $\def\imp{\rightarrow}$
[$S$ is any sentence set, and $Q$ is any context chain, and $A,B,C$ are any formulae.]
∨elim $\dfrac{S;Q \vdash A \lor B \quad S;Q \vdash A \imp C \quad S;Q \vdash B \imp C}{S;Q \vdash C}$
→sub $\dfrac{}{S;Q,A \vdash A}$ [All free variables in $A$ must be quantified in $Q$.]
→restate $\dfrac{S;Q \vdash B}{S;Q,A \vdash B}$ [All free variables in $A$ must be quantified in $Q$.]
→intro $\dfrac{S;Q,A \vdash B}{S;Q \vdash A \imp B}$
→elim $\dfrac{S;Q \vdash A \quad S;Q \vdash A \imp B}{S;Q \vdash B}$
⊥elim $\dfrac{S;Q,A \vdash \bot}{S;Q \vdash \neg A}$
Quantifier rules
The quantifier rules are built the same way, to capture the logical structure in the same way as a Fitch-style calculus. Note that this system will forbid the derivation of any sentence with variable shadowing (nested quantifiers that quantify over the same variable). I chose this approach as it is 'more natural' and to avoid the issue of substitutability (or collision freeness) that many textbooks describing Hilbert-style systems have to deal with.
[$x,y$ are any variables, and $t$ is any term whose free variables are all quantified in $Q$.]
∀restate $\dfrac{S;Q \vdash A}{S;Q,\forall x \vdash A}$ [$x$ must not be quantified in $Q$ or used (free or bound) in $A$.]
∀intro $\dfrac{S;Q,\forall x \vdash A}{S;Q \vdash \forall x\ ( A )}$
∀elim $\dfrac{S;Q \vdash \forall x\ ( A )}{S;Q \vdash A[t/x]}$ [Note that $t$ must exist (see above for what $t$ must be).]
∃intro $\dfrac{S;Q \vdash A[t/x]}{S;Q \vdash \exists x\ ( A )}$ [$x$ must not be quantified in $Q$, and note that $t$ must exist.]
∃elim $\dfrac{S;Q \vdash \exists x\ ( A ) \quad S;Q,\forall y,A[y/x] \vdash B}{S;Q \vdash B}$ [$y$ must not be used in $B$]
Axiom and equality rules
Finally we slightly modify the rules for axioms and equality so that they do not mess with the context chain.
axiom $\dfrac{}{S \cup \{A\};{} \vdash A}$
=intro $\dfrac{}{S;Q \vdash t=t}$ [All free variables in $t$ must be quantified in $Q$.]
Footnote
In this section I give the original existential rules that I had in place of the ∃elim rule above. They are not preferable because the involve a global restriction and so the rules do not define a relation on sequents but rather a relation on entire sequent-style proofs, which is undesirable since the point of a sequent calculus was to capture all necessary information about provability of a sentence in a single sequent.
∃elim $\dfrac{S;Q \vdash \exists x\ ( A )}{S;Q,\exists y \vdash A[y/x]}$ [$y$ must not occur in $Q$ in all previous steps! (*)]
∃unbind $\dfrac{S;Q,\exists x \vdash A}{S;Q \vdash A}$ [$x$ must not be used in $A$.]
∃restate $\dfrac{S;Q \vdash A \quad S;Q,\exists x \vdash B}{S;Q,\exists x \vdash A}$ [$x$ must not be used in $A$.]
(*) This considers a proof as a sequence of rule applications, and only when no previous rule application has $x$ occurring as a quantified variable can we use the ∃elim rule to obtain $\exists x$ as part of the context chain. I thought the 'global' nature of this rule was unavoidable without something equivalent to tagging along the entire sequence of previous steps in the proof on the left of the "$\vdash$", but as shown above it can be avoided.