Quantifier inference rules restrictions

I was wondering if someone can provide a basic procedural approach when undertaking quantifier rules in an inference system (specifically for natural deduction), and a basic explanation on the restriction when using the quantifier inference rules.

=====================================================================

Side question, before main question:

Quiet confused about when books talk about "constant" and "variables" in respect to quantifiers, and quantifier inference rules.

Constant -

Formal definition:

• A constant is a number on its own, or sometimes a letter such as a, b or c to stand for a fixed number.

My understanding of a "constant" in respect to quantifiers:

• In the case quantifier this mean a single individual.

Variable -

Formal definition:

• A symbol for a number we don't know yet. It is usually a letter like x or y.

My understanding of a "variable" in respect to quantifiers:

• In the case of quantifiers this means we get to choose any individual

=====================================================================

My understanding in repeat to quantifiers rules, using my understanding of "constant" and "variable" in terms of quantifier. As shown above.

EI = Existential instantiation ( removal of existential quantifier)

• Going from a variable to a constant ?

EG = Existential generalisation ( introduction of existential quantifier)

• Going from a constant to a variable ?

UI = Universal instantiation ( removal of universal quantifier) - Going from a variable to a constant ?

UG = Universal generalisation ( introduction of existential quantifier).

• Going from a constant to a variable ?

=====================================================================

=====================================================================

MAIN QUESTION

My understanding,below for how to go about using the quantifiers rules in natural deduction inference system :

Key for the proceeding information:

Numerator - the formula above the line.

Denominator - the formula below the line

I know it's not fraction, but wanted to make it more clear

=====================================================================

EI = Existential instantiation ( removal of existential quantifier)

Inference rule:

∃xF / F(x/e)

For the Inference rule:

Numerator part of the inference rule:

• The ∃(x) the "x" variable can be any type of variable e.g. x,y,z.Depending on what variable is inside the parenthesis of the quantifier, e.g.∃(y) the matrix beside it will have all "y" variables.

Denominator part of the inference rule:

• A new variable "e" for the F(e) is required every time you use this inference rule, i.e. cannot be the same as the a previous existential instantiation .

=====================================================================

EG = Existential generalisation ( introduction of existential quantifier)

Inference rule:

F(x/d) / ∃xF

For the Inference rule:

Numerator part of the inference rule:

• The "d" in F(d) MUST NOT come from universal instantiation , from a previous line in the inference system.

Denominator part of the inference rule:

• The F part all variable should be "x" variable as the quantifier is ∃(x).Depending on what variable is inside the parenthesis of the quantifier, e.g.∃(y) the matrix beside it will have all "y" variables.

=====================================================================

UI = Universal instantiation ( removal of universal quantifier)

Inference rule:

∀x F / F(x/d)

For the Inference rule:

Numerator part of the inference rule:

• The "F" part of ∀(x)F all variable should be "x" variable as the quantifier is ∀(x).Depending on what variable is inside the parenthesis of the quantifier, e.g.∀(y) the matrix beside it will have all "y" variables.

Denominator part of the inference rule:

• where "d" in F(d) can come from anywhere, even from previous lines.

=====================================================================

UG = Universal generalisation ( introduction of existential quantifier)

Inference rule:

F(x/d) / ∀xF

For the Inference rule:

Numerator part of the inference rule:

• The "d" part of F(d) can come from anywhere, even from previous lines.

Denominator part of the inference rule:

• The F part all variable should be "x" variable as the quantifier is ∀(x).Depending on what variable is inside the parenthesis of the quantifier, e.g.∀(y) the matrix beside it will have all "y" variables.

Thanks in advance. Any form of clarification, is highly welcomed. If you could base any answers upon "my understanding", that would be great.

• If your interests in quantifier logic are less philosophical and more mathematical, you might consider my own simplified version that is incorporated into my DC Proof program (download at dcproof.com ). My program is designed to teach the basic methods of proof to math undergrads transitioning to proof-based mathematics. IMHO my version of quantifier logic is much closer to that actually used by mathematicians to write proofs, and much easier to learn and apply. And it works. Dec 30 '16 at 16:08
• Tbh, this is the only aspect I can quiet comprehend. I understand the basics of logic. If you have something that is related to the above, that I can have look at , that would be great. I am mostly interested in the maths aspect, but if someone has the logic answer I wouldn't mind having a read of that swell. Dec 30 '16 at 16:36
• It's more than the basics of logic. It's about making valid generalizations. I can sympathize with your difficulties here. I myself struggled for years with the rules of natural deduction as presented in online notes (like your list here) until I realized that most working mathematicians seem to use a much simpler version of quantifier logic to make generalizations in writing proofs. Dec 30 '16 at 16:49
• There's no such thing as constants in natural deduction. Dec 30 '16 at 16:55
• Example: In most presentations of natural deductions that even address the issue, a great deal of abstract machinery seems to be devoted to preventing the reversing of the quantifiers in $\forall x: \exists y: R(x,y) \to \exists y: \forall x: R(x,y)$, e.g. Skolemization, your matrix of variables (?), etc. It just never seems to come up in properly structured mathematical proofs. Dec 30 '16 at 17:35

First, I know that you know that the inference rules aren't fractions, but still ... please replace 'Numerator' and 'Denominator' with something more appropriate ... such as 'premise' and 'conclusion' respectively.

OK, the rules, and some more intuitive explanation:

Universal Instantiation

'Typical' Form:

$\forall x P(x)$

$\therefore P(a)$ for any constant $a$

Explanation:

I all things have property $P$, then of course each individual thing has property $P$, whether this is $a$, $b$, ... This is why there are no restrictions here.

Universal Generalization

'Typical' Form:

$P(a)$ ... where $a$ has been introduced as some arbitrary object!

$\therefore \forall x P(x)$

Explanation:

Suppose we have a constant that we are using to denote a specific object, e.g. suppose we use the constant $c$ for 'Charlie', and suppose we have as a given that $Dog(c)$, since we know that Charlie is a dog. Now, clearly we should not be able to infer that everything is a dog just because Charlie is a dog. And that is why we mandate the constant $a$ in the rule to be a temporary name that we use to denote "some arbitrary object from our domain ... let's call it $a$" In fact, many systems require you to explicitly introduce this constant ... it would be the formal logical equivalent to the mathematician's "consider any object $a$".

I must say that in your description off the rule this requirement is not clear. ... so if you don't understand the rule as you yourself stated, I can understand that!

Here is a formal proof example:

1. $\forall x P(x)$ Premise

2. $\forall x Q(x)$ Premise

3. $\qquad a$ (here is where we introduce $a$ ... so we have to make sure that $a$ is not used earlier in the proof, i.e. it is a 'new' constant. Again, this is the equivalent of saying "let's consider any arbitrary object $a$. I use the indentation to create a temporary context for the use of this $a$ ... some systems use subproofs to do this)

4. $\qquad P(a)$ Universal Instantiation 1 (as we saw, this works for any constant, so also for $a$)

5. $\qquad Q(a)$ Universal Instantiation 2

6. $\qquad P(a) \land Q(a)$ Conjunction 4,5

7. $\forall x (P(x) \land Q(x))$ Universal Generalization 6 (or: 3 through 6) (so why can we do this? Because $a$ was used as an arbitrary constant!)

Existential Generalization

'Typical' Form:

$P(a)$

$\therefore \exists x P(x)$

Explanation:

Like Universal Instantiation, Existential Generalization should really be without any restrictions: If $a$ has property $P$, then there is something that has property $P$, whether $a$ is used to denote a specific or arbitrary object.

So here I am not sure why there is this restriction stated in your description of the rule...

Existential Instantiation

'Typical' Form:

$\exists x P(x)$

$\therefore P(a)$ ... for a new constant $a$

Explanation:

OK, so in this rule we do have to treat $a$ very carefully! Think about it: you know that something has property $P$ .. but do you know what it is? No. So, what the $a$ is representing here, is "some object that has property P ... which we know exists ... but we don't know what specific object it is ... so let's call it $a$". And again, like Universal Generalization, it is best to contrast the correct use of this rule with an incorrect one: Again, suppose we use constant $c$ to denote a specific individual: Charlie. Now, suppose we know that $\exists Dog(x)$ ... can we now infer $Dog(c)$? No! Because even though we know something is a dog, we don't know whether Charlie is a dog. So, like Universal Generalization, the $a$ represents an unknown object, but this time, we do know that $a$ has property $P$. And that also means that $a$ is not a completely arbitrary object .. meaning that we can't use it for a Universal Generalization.

Example:

1. $\exists x P(x)$ Premise

2. $\forall x (P(x) \rightarrow Q(x))$

3. $P(a)$ Existential Elimination (OK use of rule, since $a$ is a new constant)

4. $P(a) \rightarrow Q(a)$ Universal Instantiation 2

5. $Q(a)$ Modus Ponens 3,4

6. $\exists x Q(x)$ Existential Generalization 5

Note that we had to do line 3 before line 4, because if we would have first instantiated the universal with $a$, then we could not have instantiated the existential with that same $a$, since the $a$ is on longer a new constant!

• @Bram21 - The concepts have become much more clear. I have a few follow through questions,it would be awesome if you could respond to them. Also, is their anything I should be aware of in terms of using the quantifier inference rules whilst undertaking a subcomputation box in natural deduction. Furthermore, your last example the reason for the order is it because after you have instantiated that "a" it is now specific i.e. it is known, hence you could not use the same "a" for the existential elimination because it requires an arbitrary constant i.e unknown constant. Dec 31 '16 at 2:10
• Existential Instantiation Question 1)Every time you use this rule the “a” in P(a) constant has to be a fresh arbitrary constant ,not a specific one, and not used earlier in the proof ? After you have explicitly stated P(a) it is no longer arbitrary, but specific now. Dec 31 '16 at 2:11
• @JackRoberts As far as subproofs go in conjunction with these rules ... That all depends on how these rules are implemented in the formal system at hand ... Some systems use these subproofs, but there are others that don't ... And use that 'flagging' mechanism instead. And even among systems that use subproofs there are differences yet. So no, I can't give you any specifics on those ... But once you understand the basic idea behind the rules, you should be able to understand how any specific implementation thereof does indeed take care of the necessary conditions and restrictions. Dec 31 '16 at 11:39
• @JackRoberts UI: after you get $a$ as an arbitrary constant it can serve both roles, e.g. You can use it for UG later on (as shown in my example), but it can also be used for an EG. Dec 31 '16 at 15:57
• Scenario 1: valid ; Scenario 2: valid, as long as $a$ is a new constant ; Scenario 3: valid, as long as $b$ is a new constant.; Scenario 4: valid, as long as both $a$ and $b$ are new constants. Dec 31 '16 at 16:00

See this post where I've expanded my original answer to give all the rules for an easily readable Fitch-style natural deduction system that is in my opinion more intuitive than most other formal systems. The reason is that there is no flagging or subscripts needed in my system, because the context is explicitly maintained in the proof structure and hence any existentially instantiated variable cannot escape the context it is declared in. Roughly, the rules there correspond to your principles as follows:

• EI: ∃elim.

• EG: ∃intro.

• UI: ∀elim.

• UG: ∀intro.

I believe that if you understand the principle behind my system, you would be able to easily figure out what any other system is doing. For example, some systems use subscripts to keep track of the context for existentially instantiated variables, namely what it depends on. This can be confusing when proofs get long. In contrast my system forces you to be unable to pull variables declared in a subcontext out, in exactly the same way many modern programming languages enforce variable scoping.

• It is also instructive to see why each proof system is unable to prove "$\forall x\ \exists y\ ( P(x,y) ) \to \exists y\ \forall x\ ( P(x,y) )$". Dec 31 '16 at 17:00
• See my comments to OP. I have left out some detail. Interested to know what you think of my system. Jan 1 '17 at 17:07
• @DanChristensen: Since you asked my opinion, here it is. Your system is extremely unwieldy and practically useless (dcproof.com/CantorDiagonal.htm for example is simply unreadable but not even a proof of the claimed theorem!), and you would do much better to follow the design of my system and add on some kind of type system rather than set theory. Actually even better is for you to learn from existing programming languages; almost everything I thought about in formal system design has already been considered by programming language designers long ago. Jan 1 '17 at 17:21
• @DanChristensen: To avoid cluttering the comments under my post with off-topic remarks, if you wish to ask me further questions about formal system design please do so at chat.stackexchange.com/rooms/44058/logic and ping me there. Jan 1 '17 at 17:23
• Chat doesn't work. Contact me from my website at dcproof.com Jan 1 '17 at 22:20