13

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:

ooooooo
  • 223
  • Spontaniously I would say that the rules $$\begin{array}{c}\Gamma\vdash\phi\\hline\Gamma\vdash\exists x(\phi)\end{array}$$ and $$\begin{array}{c}\Gamma\vdash\phi[t/x]\\hline\Gamma\vdash\exists x(\phi)\end{array}$$ would be equivalent, aren't they? – ooooooo Jun 10 '16 at 19:52
  • Somehow, LaTeX does not work in the above comment :-( – ooooooo Jun 10 '16 at 19:53
  • 2
    Just to be clear: you're asking specifically for a proof formalism that (a) looks like natural deduction at least for its propositional fragment, and (b) is sound and complete for possibly-empty structures, and (c) does not obviously treat the empty structure as a special case (e.g. such as declaring that a proof consists of a standard proof plus the fact that the sentence evaluates true in the empty structure). Right? – hmakholm left over Monica Jun 10 '16 at 19:54
  • 2
    @HenningMakholm: Yes, that is right. And this proof formalism should also look like natural deduction for its quantifier fragment. – ooooooo Jun 10 '16 at 19:56
  • @HenningMakholm: Thanks, now LaTeX works. Are these two rules really equivalent or am I wrong? – ooooooo Jun 10 '16 at 19:57
  • @Henning: Ahhhhhhh, now I see. Thanks. I will edit my question and replace $\phi$ by $\phi[t/x]$ :-) – ooooooo Jun 10 '16 at 20:01
  • @Henning: By the way, can I also write the $\exists$-introduction as $$\begin{array}{c}\Gamma\vdash\phi\\hline\Gamma\vdash\exists x(\phi[x/t])\end{array},$$ where $\phi[x/t]$ is the formula $\phi$ where $t$ is everywhere replaced by $x$? – ooooooo Jun 10 '16 at 20:37
  • 1
    x @ooo: That would actually be unsound -- with that rule, you could derive $x\ne 0\vdash \exists x(x\ne x)$ from $x\ne 0\vdash x\ne 0$, but $\exists x(x\ne x)$ is definitely false. – hmakholm left over Monica Jun 10 '16 at 21:11
  • Maybe what you are wanting to do is to use a three-valued logic dealing with silliness and to not assume that any term (like a variable) is defined? E.g, if nothing is defined, $\exists x (x = x)$ might be thought of as having the third, intermediate, truth value "silly", and so you wouldn't get $\top \vdash \exists x (x = x)$. – Stephen A. Meigs Jun 11 '16 at 00:05
  • Are you aware of which of the above rules fail to hold in an empty universe? – DanielV Jun 11 '16 at 01:59
  • 1
    @StephenA.Meigs: No, a three-valued logic is not what I am searching for. – ooooooo Jun 11 '16 at 09:53
  • @DanielV: Using $\exists$-introduction, one can derive $\exists x(x=x)$ from $x = x$, which is an instance of the $=$-introduction. – ooooooo Jun 11 '16 at 10:12
  • @ooooooo The empty model is equivalent to $\forall x ~ \bot$, equivalently, $\lnot \exists x ~ \top$. Two quantifier rules allow you to derive a contradiction from the 2 above assumptions, and $\exists$-intro is one of them. And it is sneaky, but $=$-intro is a third rule that violates the empty universe claim. – DanielV Jun 11 '16 at 10:48
  • @DanielV: Can one derive at a formula which does not hold in empty models using the rules of the calculus given above except the $\exists$-introduction? – ooooooo Jun 11 '16 at 11:29
  • As I described in my comments and linked answer under the question you linked to, the easiest (and in my opinion cleanest) way to do this is to use Fitch-style natural deduction. It is possible to convert to sequent-style but it's not very nice. Would you like an answer along that lines? – user21820 Jun 11 '16 at 12:42
  • @user21820: I am happy about every answer, also if it is not exactly what I am searching for (as long as it is similar to what I am searching for) :-) By the way: what does "fitch-style" mean? I always thought that when one speaks about a "fitch-style calculus", this is meant to be a synonym for saying "calculus of natural deduction". – ooooooo Jun 11 '16 at 12:52
  • @ooooooo: Fitch-style refers to the use of some kind of structural syntax such as indentation or boxes. My linked answer at http://math.stackexchange.com/a/1684204/21820 is using Fitch-style notation. This contrasts with sequent-style calculii as the one you have here, and also contrasts with tree-style natural deduction as on Wikipedia and Hilbert-style deductive systems which have only modus-ponens for its deductive rule. You can see that Fitch-style allows you to instantiate witnesses to existential statements within a context that stays inside (just like declared variables in programming). – user21820 Jun 11 '16 at 12:59
  • @ooooooo: I'm in the midst of writing you an answer. It's not as ugly as you might be imagining, in case it my "not very nice" comment suggests it. =) – user21820 Jun 11 '16 at 12:59
  • 1
    I am anxious to read your answer. But the demanded calculus has to be precisely defined. In my opinion the calculus you gave here http://math.stackexchange.com/questions/1681857/predicate-logic-how-do-you-self-check-the-logical-structure-of-your-own-argumen/1684204#1684204 is very intuitive but not precisely defined. – ooooooo Jun 11 '16 at 13:05
  • Okay I've posted my answer. I have a tendency for making mistakes, so feel free to ask if anything seems problematic. Anyway as for the other Fitch-style system, it's as easy to define precisely as any programming language, and in fact much much easier. Of course, a sequent calculus is even easier. I don't think I can get rid of the requirement in the ∃elim rule that the $\exists x$ in the context chain must use a totally fresh variable $x$ that has not been previously used anywhere else in the entire derivation/proof. It seems necessary so that existential witnesses are given distinct names. – user21820 Jun 11 '16 at 14:21
  • By the way, to answer the question you asked @DanielV, all the rules in your system except for ∃ introduction are sound for all (possibly empty models), so if you discard that rule you won't be able to derive anything false about any model of $Γ$, whether or not it is empty. However, you end up not being able to prove lots of things. – user21820 Jun 11 '16 at 14:33
  • @HenningMakholm: Haha do you mind helping to check my answer? – user21820 Jun 11 '16 at 14:47
  • @HenningMakholm: Never mind. (I wasn't sure whether to disturb you or not.) – user21820 Jun 11 '16 at 15:20
  • @HenningMakholm: Do you mind checking my answer too? :-) – ooooooo Jun 11 '16 at 16:27
  • @ooooooo "Can one derive at a formula which does not hold in empty models using the rules of the calculus given above except the $\exists$-introduction"? No, you can't do that even with $\exists$-introduction. That's the point. You should be asking "which of the inferences allows me to derive a contraction from assuming an empty universe?" – DanielV Jun 11 '16 at 22:25
  • I have a question about $\exists\text{Elim}$. If $A$ is sometimes true but not always true (such as $x = 0$), then either the second condition vacuously holds for any $B$, making the logic inconsistent, or $A[u/x]$ isn't being interpreted to mean $\forall x ~ A$, making the logic unsound. Are you sure about that axiom? – DanielV Jun 12 '16 at 03:48
  • @DanielV: I think (too lazy to prove) that it is okay. $A[u/x]$ is simply $A$ with all occurrences of the variable $x$ replaced by the variable $u$. So the second condition is not vacuous. For example if $S \vdash \exists x\ ( P(x) )$ and $S \cup {P(u)} \vdash \exists x\ ( Q(x) )$ then $S \vdash \exists x\ ( Q(x) )$. – user21820 Jun 12 '16 at 04:08
  • @user21820 Nevermind, it makes sense now. $A[u/x]$ is tacitly $\exists x ~ A$ because it is present on the left hand side of the $\vdash$. I had not worked it out in my head before how the free variable quantification gets translated. It is effectively the prenex rule $\forall x (P(x) \implies Q) = (\exists x P(x)) \implies Q$. The meaning of free variables can be so difficult to get a handle on sometimes. – DanielV Jun 12 '16 at 04:34
  • @DanielV: Yea that's why I personally like a calculus where every variable is bound, as you can see from my two systems. Also, see my updated answer, which is much better than previously after tweaking the ∃Elim rule. Haha getting that rule 'right' is interestingly crucial... – user21820 Jun 12 '16 at 06:03

6 Answers6

7

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.

user21820
  • 57,693
  • 9
  • 98
  • 256
  • I'm a bit confused about the "$x$ most not be used in any previous step" side condition for your $\exists$elim rule. Isn't that just the kind of "action at a distance" conditions that keeping track of a context to the left of the turnstile is supposed to eliminate? And if $x$ must not even have been mentioned previously, then how could we possibly have concluded $S;Q\vdash \exists x (A)$? Even stating that judgement seems to violate the condition. – hmakholm left over Monica Jun 11 '16 at 15:01
  • By the way, do you distinguish between variables that are "used in $S,Q$, etc." and ones that are "free in $S$, $Q$, etc."? – hmakholm left over Monica Jun 11 '16 at 15:03
  • I don't think this is sound for the empty structure. Let $P$ be an unary predicate and $S$ be ${\forall x(Px)}$. Then we can derive $$\begin{array}{ll} S;\vdash \forall x(Px) & \text{axiom} \ S;\exists y\vdash \forall x(Px) & \exists\text{restate} \ S;\exists y\vdash Py & \forall\text{elim} \ S;\exists y\vdash \exists z(Pz) & \exists\text{intro} \ S;\vdash \exists z(Pz) & \exists\text{unbind} \end{array}$$ But this conclusion is not true in the empty structure! – hmakholm left over Monica Jun 11 '16 at 15:21
  • @HenningMakholm: Thanks very much! I've fixed the errors. Yes the 'action at a distance' condition for the ∃elim rule that you've pointed out is not simple to wrap up in a context to the left of "$\vdash$" without carrying along the entire preceding proof. You see, I was merely trying to push the Fitch-style calculus into the sequent-shoe, and it doesn't want to fit. The problem is that you can instantiate different existential statements under the same context chain but not use the same variable names unless they are separated instances of the context chain (which is the case in Fitch-style). – user21820 Jun 11 '16 at 15:28
  • @HenningMakholm: So "not used in any previous step" is now "not used in $Q$ in any previous step", and "used" includes both free and bound variables, and your derivation of contradiction no longer works. – user21820 Jun 11 '16 at 15:31
  • Then how about (with empty $S$ and $Q$) $$\begin{array}{ll} ; \bot \vdash \bot & \to\text{sub} \ ; \vdash \neg\bot & \neg\text{intro} \ ; \vdash \exists x(\neg \bot) & \exists\text{intro} \end{array}$$ This can probably be prevented by explicitly requiring that all variables in $t$ of $\exists\text{intro}$ must be quantified in $Q$, though. – hmakholm left over Monica Jun 11 '16 at 15:43
  • 1
    @HenningMakholm: Your last one is interesting. I forgot the term $t$ might not even occur in $A[t/x]$... I've added the condition that $x$ occurs in $A$, which means that to get $A[t/x]$ you really need some term previously obtained. (This issue didn't occur in my Fitch-style calculus because all quantifiers there were restricted and one would first have to prove that $t$ is a member of the quantifier range.) – user21820 Jun 11 '16 at 15:50
  • Less technically, the new premise of the $\exists$restate feels rather like a cop-out to me, since $B$ is unconstrained; it amounts to an explicit "... but only if the world is nonempty" condition. We might as well take the original calculus and just add an additional premise of $\exists x(B)$ to its $\exists$intro and $\forall$elim rules. (Though something extra would need do be done in order to allow concluding some $\exists$ if all we have is a $\neg\forall$). – hmakholm left over Monica Jun 11 '16 at 15:58
  • @HenningMakholm: The new ∃restate rule does not simply say "if the world is nonempty", because $\exists x$ is last in the context chain and could very well come after a conditional context. For example we have $S;\exists x\ ( \forall y\ ( x=y ) ) \vdash \exists x\ ( \forall y\ ( x=y ) )$ and hence $S;\exists x\ ( \forall y\ ( x=y ) ),\exists z \vdash \forall y\ ( z=y )$. Also, I don't think it's so simple to modify the original calculus because I'm pretty sure we would get a problem still. – user21820 Jun 11 '16 at 16:03
  • With that new restriction on $\exists$intro, how would you now prove $\exists x(Px) \to \exists y(\neg\bot) $ (which is true in every structure)? – hmakholm left over Monica Jun 11 '16 at 16:06
  • @HenningMakholm: Okay I think I've fixed it properly; the trick is to require $t$ to be a valid term using only objects quantified in the context chain, which was the original reasoning anyway, just that I got confused along the way. – user21820 Jun 11 '16 at 16:18
  • $\forall\text{Elim}$ does not hold in a an empty universe. Take $A = \bot$ to see why. $\exists$Intro doesn't hold in an empty universe, take $A = \top$, but I'm not sure what "$t$ must exist" means, perhaps if you said "$Q$ must be nonempty" then it would be fine. You did seem to correctly fix the reflexive equality, but my suggestion would be just to eliminate reflexive equality as an axiom. Not sure if that makes the logic incomplete, since there might be have set theory axioms. Double check your $\lor$elim, I think you mixed up some variables there. – DanielV Jun 11 '16 at 22:38
  • The idea of a quantifier chain is interesting though, did you think it up or has it been suggested to you? – DanielV Jun 11 '16 at 22:40
  • @DanielV: The requirement that $t$ exists means that you must be able to form a term with all its free variables quantified in $Q$. That is only possible when $Q$ is non-empty or there is at least one constant in the language, and in the latter case I think your suggestion would not be fine. =intro cannot be discarded because otherwise there is no way to prove any sentence involving equality. As for ∨elim you are absolutely right. Typing in long LaTeX formulas confuses me! The idea of a quantifier chain was completely mine, but is a natural outcome of trying to capture Fitch-style. – user21820 Jun 12 '16 at 03:07
  • @HenningMakholm: It didn't occur to me earlier, but if we simply identify "$\exists$" with "$\neg \forall \neg$" then we can get rid of the global rule, though the resulting system will depend on ¬¬elimination, which means that it cannot be adapted to intuitionistic logic. In contrast my current version (assuming it is correct) is easily made intuitionistic by removing ¬¬elimination and adding the principle of explosion. – user21820 Jun 12 '16 at 04:19
  • @HenningMakholm: I think I've gotten rid of the "action at a distance" by using a rule more similar to the original system, and the result is easily modifiable to yield intuitionistic logic. =) – user21820 Jun 12 '16 at 06:00
1

Does the following proposal work? Please tell me what you think about the following modification of the calculus given in the question. If you find some mistakes, please tell me.


The solution is a sound dealing with free variables.

Definition. A sequent is an expression of the form $[V]\ \Gamma\vdash\phi$ where

  • $V$ is a finite set of variables,
  • $\Gamma$ is a set of formulas each of whose free variables are elements of $V$,
  • $\phi$ is a formula whose free variables are elements of $V$.

Now we can formulate the rules for $\forall, \exists$ and $=$ as follows:

  • Rules for $\forall$. $$ \text{Introduction: } \begin{array}{c} [V\cup\{u\}]\ \Gamma\vdash\phi[u/x]\\ \hline [V]\ \Gamma\vdash\forall x(\phi) \end{array}\text{ ($u\not\in V$)}\qquad\text{Elimination: } \begin{array}{c} [V]\ \Gamma\vdash\forall x(\phi)\\ \hline [V]\ \Gamma\vdash\phi[t/x] \end{array} $$

  • Rules for $\exists$. $$ \text{Introduction: } \begin{array}{c} [V]\ \Gamma\vdash\phi[t/x]\\ \hline [V]\ \Gamma\vdash\exists x(\phi) \end{array}\text{ (where every free variable occuring in $t$ is an element of $V$)}\qquad\text{Elimination: } \begin{array}{c} [V]\ \Gamma\vdash\exists x(A)\quad [V\cup\{u\}]\ \Gamma\cup \{A[u/x]\}\vdash B\\ \hline [V]\ \Gamma\vdash B \end{array} \text{ ($u\not\in V$, $u$ not free in $B$)} $$

  • Rules for $=$. $$ \text{Introduction: } \begin{array}{c} \hline [V]\ \Gamma\vdash t = t \end{array} \qquad\text{Elimination: } \begin{array}{c} [V]\ \Gamma\vdash t_1=t_2\quad[V]\ \Gamma\vdash A\\ \hline [V]\ \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$)

The propositional fragment can be formalized as above, one just has to write $[V]$ in front of each sequent.

ooooooo
  • 223
  • With this, you can conclude (with empty $V$ and $\Gamma$) $[,]\vdash \neg \bot$ by propositional reasoning, and thence by the $\exists$-introduction rule, $[,]\vdash\exists x(\neg \bot)$ ... – hmakholm left over Monica Jun 11 '16 at 16:33
  • That particular problem can be fixed with a side condition requiring that all free variables of $t$ are in $V$. But I don't know how to actually make the calculus work -- otherwise I'd have answered by now ... :-) – hmakholm left over Monica Jun 11 '16 at 16:35
  • @HenningMakholm: What do you mean with "I don't know how to actually make the calculus work". Why does my calculus not work? The bug is now fixed. Is everything correct now? – ooooooo Jun 11 '16 at 16:40
  • 1
    I mean that I don't have an oracle that tells me whether such calculi work, and just because I (or you) can't immediately come up with an example of something that breaks doesn't mean that there is nothing that breaks. As this and the other comment thread shows, these things are subtle, and in the end I wouldn't trust anything else than an actual detailed soundness and completeness proof. – hmakholm left over Monica Jun 11 '16 at 16:46
  • @HenningMakholm: But do you think the rough idea involved in this answer (that one equips the sequent with a set of variables) can solve our problem? – ooooooo Jun 11 '16 at 16:56
  • If you think I'm lying when I say I don't know, why would you believe me if I gave you a straight yes or no? – hmakholm left over Monica Jun 11 '16 at 16:58
  • You could conceivably make a soundness and completeness proof. Soundness: does your logic hold in an empty universe, and for an acceptable encoding of theorems in your logic, are the inferences provable in an established logic? Completeness: For an acceptable encoding of the theorems of an established logic, can you prove the inferences of an established logic with this logic? It's a lot of work, but at least you wouldn't have to start from model theory. – DanielV Jun 11 '16 at 22:50
  • @DanielV: What Henning is trying to say, and my initial sequence of answers shows, is that it is extremely easy to make subtle mistakes. Apparently there have been many widely used textbooks that teach inconsistent natural deductive systems... It goes unnoticed because people who learn natural deduction still use their common sense to apply the rules so they never end up with the inconsistency. Even in my case, before my last edit my system was unable to prove $\exists x\ ( P(x) ) \rightarrow \exists x\ ( P(x) )$ because my restrictions were too strong. – user21820 Jun 12 '16 at 03:16
  • I'm not sure it's so easy to prove soundness the way you suggested, because you would need to show that if an axiom set is satisfied by the empty universe then the system does not prove any existential sentence. I think it's easier to just show that the rules are sound for all models. And yea it's a lot of work that's why we skip steps and fail to see subtle errors. I'll try to find a problem with your system given my fresh experience with problems with earlier iterations of my system, but no guarantees! – user21820 Jun 12 '16 at 03:20
  • Ah you see your system fails in the case that I mentioned in my other comment. Namely if your language has constants then you are unable to derive $\exists x\ ( \neg \bot )$. =D – user21820 Jun 12 '16 at 03:22
  • @MauroALLEGRANZA: Of course we need the rules for $\exists$. For example, $\forall x (\exists x(x=x))$ is a valid sentence. The proof of this sentence uses the rules for $\exists$. – ooooooo Jun 12 '16 at 17:32
  • ∃x(x=x) is not derivable. – ooooooo Jun 12 '16 at 17:54
  • @Mauro: Why are you asking questions and then delete them when I have answered? – ooooooo Jun 12 '16 at 18:16
  • @user21820: Suppose we have a constant symbol $c$ in our language. The propositional fragment of "my" proposed calculus can prove $[\emptyset]\ \emptyset\vdash\neg\bot$, and thus also $\emptyset[]\ \emptyset\vdash\neg\bot[c/x]$ is derivable, because $\neg\bot = \neg\bot[c/x]$. The $\exists$-intro allows us to derive $[\emptyset]\ \emptyset\vdash\exists x(\phi)$ if we already have $\emptyset[]\ \emptyset\vdash\phi[t/x]$ (where $t$ is a term with no free variables) at our disposal ... – ooooooo Jun 13 '16 at 13:04
  • In particular, $[\emptyset]\ \emptyset\vdash\exists x(\neg\bot)$ is derivable since $[\emptyset]\ \emptyset\vdash\neg\bot[c/x]$ is derivable ($c$ has no free variables). – ooooooo Jun 13 '16 at 13:07
  • @ooooooo: Wait then why can't you derive the same without constants? You didn't impose anything on $φ$ or $x$. – user21820 Jun 13 '16 at 13:11
  • @user21820: I think one can't derive $[\emptyset]\ \emptyset\vdash\exists x(\neg\bot)$, because therefore one had to find a term $t$ with no free variables such that $[\emptyset]\ \emptyset\vdash\neg\bot[t/x]$ is derivable. But since we assumed that there are no constant symbols, there isn't such a $t$ with no free variables at all. But note that if $V\not = \emptyset$, then we can derive $[V]\ \emptyset\vdash\exists x(\neg\bot)$. – ooooooo Jun 13 '16 at 13:16
  • @ooooooo: Oh lol the same kind of reasoning that prevents my system from failing. Sorry was blur. But you better edit to clarify what exactly your $t$ is. I think you'd want to require that it is a term whose free variables are all in $V$. – user21820 Jun 13 '16 at 13:19
  • @user21820: Our calculi are quite similar, I think. The main idea in both of these calculi is to add a "variable context" to the usual calculus of natural deduction (as given in my question thread, for example). – ooooooo Jun 13 '16 at 13:24
  • @ooooooo: Yes, but the lack of ordering in yours makes me suspicious since I'm not sure whether it works with nested contexts; I expect any counter-example to involve switching of a universal quantification and a conditional. If you prove yours sound let me know! – user21820 Jun 13 '16 at 13:28
  • The issue I see is that $\exists x (x=x)$ is false while $\forall x \exists x (x=x)$ is true. If so, what prevent to start with $\forall x \exists x (x=x)$ and apply $\forall$-elim with $x$ as $t$ [Note: are there allowed terms different from variables with the empty domain ?] to derive : $\exists x (x=x)$ ? – Mauro ALLEGRANZA Jun 14 '16 at 09:50
  • @MauroALLEGRANZA: Every free variable occuring in t should be an element of V. I forgot to write this condition next to the $\forall$-elim rule. – ooooooo Jun 18 '16 at 15:50
  • It looks to me like this would be essentially what you get if you take a typical type-theoretic proof system that doesn't use dependent types, then remove the type annotations but keep the variables. So, the idea should be basically correct. (In a typical type theory, a context and goal might look something like: $X~\mathrm{type}, Y~\mathrm{type}, f : X \to Y, g : Y \to X, \forall (x:X), f (g x) = x, \forall (x:X), g (f x) = x \vdash (\exists x_1 x_2:X, x_1 \ne x_2) \leftrightarrow (\exists y_1 y_2:Y, y_1 \ne y_2)$.) – Daniel Schepler Sep 23 '19 at 17:29
1

Let me present such a system which is based on the notion of de Bruijn indices, which eliminates the need for all those confusing and fragile free variable restrictions because variable shadowing becomes impossible. The basic idea here is that instead of symbolic names, we use variables of the form $[i]$ where $i$ is a natural number (possibly 0), which refers to the bound variable at $i$ levels up. Thus, for example, if we take the extensionality axiom of ZFC

$$ \forall x ~ \forall y ~ [(\forall a ~ (a \in x \leftrightarrow a \in y)) \rightarrow x = y]$$

this would be encoded as

$$\forall{\cdot} \, \forall{\cdot} \, [(\forall{\cdot} \, ([0] \in [2] \leftrightarrow [0] \in [1])) \rightarrow [1] = [0] \,].$$

The basic objects of this presentation will be:

  • For each $n \in \mathbb{N}$, $term_n$ represents the terms in up to $n$ free variables.
  • For each $n \in \mathbb{N}$, $prop_n$ represents the propositions in up to $n$ free variables.
  • For each $n \in \mathbb{N}$, $context_n$ represents the contexts of propositions in up to $n$ free variables; this can either be the power set of $prop_n$, or the set of finite subsets of $prop_n$, or the set of finite ordered lists of $prop_n$, as appropriate.
  • In $\Gamma \vdash \phi$, we require $\Gamma \in context_n$ and $\phi \in prop_n$ for the same $n$.

Thus, for example, whenever we have $0 \le i < n$, then $[i] \in term_n$. (In particular, for a language with no nullary function symbols, we would have $term_0$ is empty.) As for $prop_n$, most operations keep the same $n$, with the exceptions being that if $\phi \in term_{n+1}$, then $\forall{\cdot} \, \phi$ and $\exists{\cdot} \, \phi$ are in $term_n$.

Now, for most of the rules of a natural deduction system, $n$ will remain invariant. The exceptions are for $\forall$ and $\exists$; for these rules, it will be convenient to define for $\phi \in prop_n$, $\phi {\uparrow} \in prop_{n+1}$ is defined by $\phi {\uparrow} := \phi[ [0] / [1], [1] / [2], \ldots, [n-1] / [n] ]$. Similarly, for $\Gamma \in context_n$, we define $\Gamma {\uparrow} \in context_{n+1}$ by $\Gamma {\uparrow} := \{ \phi {\uparrow} \mid \phi \in \Gamma \}$.

  • ${\forall} I$: For $\Gamma \in context_n$, $\phi \in prop_{n+1}$, if $\Gamma {\uparrow} \vdash \phi$, then $\Gamma \vdash \forall{\cdot} \, \phi$.
  • ${\forall} E$: For $\Gamma \in context_n$, $\phi \in prop_{n+1}$, $\tau \in term_n$, if $\Gamma \vdash \forall{\cdot} \, \phi$, then $\Gamma \vdash \phi[[0] / \tau, [1] / [0], [2] / [1], \ldots, [n] / [n-1]]$.
  • ${\exists} I$: For $\Gamma \in context_n$, $\phi \in prop_{n+1}$, $\tau \in term_n$, if $\Gamma \vdash \phi[[0] / \tau, [1] / [0], [2] / [1], \ldots, [n] / [n-1]]$, then $\Gamma \vdash \exists{\cdot} \, \phi$.
  • ${\exists} E$: For $\Gamma \in context_n$, $\phi \in prop_{n+1}$, $\psi \in prop_n$, if $\Gamma \vdash \exists{\cdot} \, \phi$ and $\Gamma{\uparrow}, \phi \vdash \psi$, then $\Gamma \vdash \psi$.

Now, for example, if we tried to prove $\vdash_{n=0} \exists{\cdot} \, \top$ in a language with no nullary function symbols (which therefore admits an empty model), we would be unable to apply ${\exists} I$ because there is no possible $\tau \in term_0$.

0

[Edit: This post was due to a misreading of ooooooo's system, which required that all free variables on the right of the sequent are in the set of variables on the left (like mine, so it's embarrassing that I missed it). That prevents my second step from going through. However, my intuition does not tell me whether his system is sound or not, but he will attempt to prove it. This is left just for record.]

The following proof of contradiction in ooooooo's proposed system shows that it has a fundamental problem, which is that it is unable to capture correctly the ordering of the context chain, which is a sequence in my proposed system. (This is aside from the easily fixed problem that if there are constants then it is unable to derive the true sentence "$\exists x\ ( \neg \bot )$".)

  $[]\ Γ \vdash \forall y\ \exists x\ ( P(x,y) )$

  $[]\ Γ \vdash \exists x\ ( P(x,y) )$   [∀elim]

  $[u,v]\ Γ,P(u,y) \vdash P(u,y)$   [hyp]

  $[u]\ Γ,P(u,y) \vdash \forall v\ ( P(u,v) )$   [∀intro]   (*)

  $[u]\ Γ,P(u,y) \vdash \exists x\ \forall v\ ( P(x,v) )$   [∃intro]

  $[]\ Γ \vdash \exists x\ \forall v\ ( P(x,v) )$   [∃elim]

Basically, it seems that the intended interpretation of the extra set of variables is that they are universally quantified, so (*) is the point at which an unsound quantifier switch takes place, with "$\forall v$" jumping over "$P(u,y) \rightarrow$".

However, now that I think more about it, the idea of capturing existential elimination via universal subcontexts (which was implicitly present in the original system in the question) should provide a way to remove the global nature of the ∃elim rule in my system, which I'm going to add to my answer in a minute.

user21820
  • 57,693
  • 9
  • 98
  • 256
  • As I've already said previously, when one writes down a sequent $[V]\ \Gamma\vdash\phi$, then one implicitly assumes that all free variables in $\Gamma$ and $\phi$ are elements of $V$. Now you are using $[\emptyset]\ \Gamma\vdash\exists x(p(x, y))$ as a sequent, but it isn't a sequent, because $y$ is free in $\exists x(p(x, y)$ and $y\not\in\emptyset$. – ooooooo Jun 12 '16 at 11:50
  • @ooooooo: Okay I missed that condition. Sorry. But I still don't know whether your system is sound because of the lack of ordering. Do you want me to leave my post here? If not I'll delete it. – user21820 Jun 12 '16 at 12:01
  • Don't delete it, at least your post logs our work process :-) – ooooooo Jun 12 '16 at 12:11
  • I plan to prove the soundness of "my" proposed system. – ooooooo Jun 12 '16 at 12:11
  • @ooooooo: Sure, and all the best! I'm more or less happy with my version since it's close to my Fitch-style system, but I'm too lazy to sit down and prove soundness and completeness rule by rule. =) – user21820 Jun 12 '16 at 12:18
0

In an empty universe, every $\forall$ becomes true and every $\exists$ become false. So you can just split any theorem into two cases, one case assumes the universe is empty and one case does not. In the case where the universe is empty, everything is reducible to propositional logic. In the case where the universe is not empty, you are back to your original logic. Introduce a universe constant $U$ to represent whether the universe is inhabited.

So you axioms become:

$$\frac{ U , \forall x ~ \phi }{\phi[u / x]} \quad \forall\text{Elim}$$

$$\frac{ U , \phi[u / x] }{ \exists x ~ \phi} \quad \exists\text{Intro}$$

$$\frac{\lnot \forall x ~ \phi}{U} \quad \forall\text{Inhabited}$$ $$\frac{\exists x ~ \phi}{U} \quad \exists\text{Inhabited}$$ $$\frac{\forall x ~ \bot}{\lnot U} \quad \forall\text{Uninhabited}_1$$ $$\frac{\lnot \exists x ~ \top}{\lnot U} \quad \exists\text{Uninhabited}_1$$

$$\frac{\lnot U}{\forall x ~ \phi} \quad \forall\text{Uninhabited}_2$$ $$\frac{\lnot U}{\lnot \exists x ~ \phi} \quad \exists\text{Uninhabited}_2$$

There may be some reduncancy in those inferences due to whether you can infer $\forall x ~ \lnot P = \lnot \exists x ~ P$. The structure of the proof of theorem T is:

$$\begin{array} {ll} U \lor \lnot U & \text{Provable with Propositional logic} \\ U \vdash T & \text{Regular proof of T} \\ \lnot U \vdash T & \text{By applying the Uninhabited}_2\text{ inferences and propositional logic} \\ T & \lor\text{ Elim} \end{array}$$

Note that the $\lnot U \vdash T$ can be solved algorithmically, as propostional logic is trivially solvable.

Presumably you want a logic that does not introduce a universal inhabitation constant $U$, and doesn't procede along 2 cases. The "variable chains" in the other answers are effectively just this $U$ constant, where $U$ iff the variable chain isn't empty, as far as I can tell anyway. One approach to restructuring the logic is to see where the inhabited universe assumption comes in from the underlying $\lambda$-calculus. One can define universal quantification as

$$\forall M = (M = \lambda x . \top)$$ or equivalently $$\forall (\lambda x . \phi) = ((\lambda x . \phi) = (\lambda x . \top))$$

(Ignoring type considerations for brevity, and not factoring out the M as you would for an axiom, and using infix for readability). This definition does not assume an inhabited universe. Also $\forall\text{Elim}$ and $\forall\text{Intro}$ can be translated

$$(\forall (\lambda x . \phi) = \top) \iff ((\lambda x . \phi)~u = \top)$$

The $\implies$ side of the above violates the empty universe claim by assuming such a $u$ exists at all. The problem seems to come from the following inference

$$(\lambda x . A) = (\lambda x. B) \vdash A = B$$

which need not be true in an empty universe. Ex, $f(x) = x$ and $g(x) = x + 1$, assuming $x \ne x + 1$, it can still be the case that $f = g$ if their domain is empty. So the challenge seems to be translating $\forall (\lambda x . \phi) \implies ((\lambda x . \phi) = (\lambda x . \top))$ into first order logic without assuming $(\lambda x . A) = (\lambda x. B) \vdash A = B$.

This leads me to suspect (I have no completeness proof for this) that $\forall\text{Elim}$ can be replaced by 2 axioms:

$$\forall x ~ \forall y P \vdash \forall x P[t / y] \quad \forall\text{Elim}_\forall$$ $$\exists x ~ \forall y P \vdash \exists x P[t / y] \quad \forall\text{Elim}_\exists$$

Both statements are sound (the second has been asked a few times on math.stackexchange, interestingly) under the original logic as well as in an empty universe, and they effectively say that the universal quantifier cannot be eliminated unless there really is a context in which the variable may be instantiated.

I have only focued on $\forall$ instead of $\exists$ because $\exists$ can be defined as $\lnot \forall \lnot$ in some logics.

DanielV
  • 23,556
0

What you’re interested in can be expressed with Free Logic, which disallows Existential Intro. and Universal Elim. unless some term $t$ is already known to be in the domain. Some authors use the predicate $E!t$ to specify that some term $t$ inhabits the domain, but it can be expressed equivalently as $\exists x (x=t)$.

The SEP article on Free Logic explains how to incorporate it into a Natural Deduction system. https://plato.stanford.edu/entries/logic-free/#ax

I’ll show the rules in action for the universal quantifier just so the basic idea of it is explicated here. I’m going to use the Deduction Theorem to make things smoother.

$\forall$ Intro:

  1. $\exists x (x=a), Fa \vdash Fa$
  2. $\exists x (x=a) \vdash (Fa \to Fa)$
  3. $\vdash \forall x (Fx \to Fx)$

$\forall$ Elim:

  1. $\forall x Fx, \exists x (x=a) \vdash Fa$
  2. $\forall x Fx \vdash (\exists x (x=a) \to Fa)$
  3. $\vdash \forall x Fx \to (\exists x (x=a) \to Fa)$

The rules for $\exists$ Elim and Intro are dual to the rules for $\forall$ Intro and Elim respectively.

Free Logic is useful as a base first-order logic since it can be used to make sense of quantified modal logics that don’t have fixed domains. That is, Free Logic can be used to study modal logics in which the Barcan Formula and the Converse Barcan Formula are invalid. Further, as long as we stipulate that our domain has certain elements, standard classical results follow.

PW_246
  • 1,256