# Premise vs. Assumption

I have just asked about the difference between A,B and A∧B in A,B ⊢ M However, I have realized that there is another, intimately related question: what is the difference between implication ⊢ A → B and A ⊢ B? The condition of implication just constrains the valid area, no matter what implication it is. When I say that provided A, I can show that B. Should I denote this implication by ⇒ logical implication →, logical connective, ⊢ or may be ⊨? I see no difference. I do not understand looking at the answers of another question about the difference between different kind of implications.

I can ask from another side. The proofs are written in a column. The premises come first. That is, A ⊢ B is written as

A (premise)
may be some more formulas
B
A ⊢ B


Alternatively, you open a box when make assumption A, prove B under the assumption and, finally, close the assumption box with A → B proven,

$$\begin{bmatrix} A (\text{assumption}) \\ \text{may be some more formulas}\\ B\end{bmatrix}$$ $$A \rightarrow B$$

I do not see any difference Between two proofs at all. A is always a condition, which, when holds, reduces the formula to of two variables, A and B, to formula of single variable B. Instead of A,B,C ⊢ X, why not just simply write A∧B∧C → X = A → (B → (C → X))? This means that under conditions A, B and C we are left with formula X; under condition A, we are left with (B → (C → X).

The proofs are absolutely identical. I do not understand why you call the condition premise in one case and assumption in the other. Just saying about diff in language/metalanguage does not make much sense to me. I see no difference if I switch a condition between assumption and premise.

Update I like Git Gud has aptly noticed that assumption is technically treated identically with the premise in your proof. Actually he told that they are treated differently and you do not have the box around the premise proves conclusion. But obviously it is like saying that white is black. I obviously treat them identically and I do not draw a frame around the premise proves conclusion because this is a top-level box and the frame is omitted as I omit the top-level parenthesis around expression, e.g. I can write (3*(a+b)) but I write simply write 3*(a+b). The fact that I have left the parenthesis around does not mean that these are different expressions. Why do you see them different when it comes to sequents?

• "Premices" is wrong, because "premice" is already a plural, of "premouse". Shouldn't this question have the set-theory tag?
– bof
Jan 1 '14 at 1:13
• @Val The symbol $\to$ is a symbol of the language, it has no semantic meaning. You can think of '$A\to B$' as '$B$ is a consequence of $A$' only intuitively because it doesn't really mean that. It's hard for me to explain it better without knowing more about the context in which this is being done. What text are you following? Jan 1 '14 at 1:18
• @GitGud Your intuition comes from the fact that you treat premices exactly as assumptions in your proofs. They mean the same things therefore. You just label one premice and another assumption for no reason to me. The text is Logic is Computer Science.
– Val
Jan 1 '14 at 1:23
• @Val They don't mean the same thing, syntactically they are very different things. Just look at the two proofs you've provided. Are they the same sequence of symbols? No, one has that 'assumption box'. Have you read remark $\bf 1.12$? Personally I don't think that text goes deep enough into the subject to help you appreciate the difference, mainly because there is no definition of proof. Jan 1 '14 at 1:42
• @Val Like I said, I don't think your book goes deep enough into the this for this issue to be handled. What's at stake here is the deduction theorem. If no one gives you a satisfactory answer, I suggest you find a book which presents this theorem. Jan 1 '14 at 2:00

Think of well-formed formulae as being objects "inside the system", and the "⊢" and "," as being "outside the system" with the meaning that from the objects (inside the system) on the left we can "derive" the objects on the right. So "$\Rightarrow$" and "$\wedge$" or whatever it is that the system allows in well-formed formulae is different simply because it is inside. The rules outside the system govern how you can derive new objects in the system from previously derived or given objects in the system. So for example one typical rule is "$A$ , $B$ ⊢ $A \wedge B$ for any well-formed formulae $A$ and $B$", which means that given two objects $A$ and $B$ we can get a third object $A \wedge B$.

This is also why we need two special rules in most formal systems, one to instantiate a derived formula in the current context/scope, and another to eliminate a contradiction, both of which should not actually be written using "⊢", otherwise it is a circularly defined rule. I've seen the second written as "$( A ⊢ ( B \wedge \neg B) ) ⊢ \neg A$", but it is in my opinion a very bad practice, since a consistent interpretation of the syntax would then require "⊢" to be inside the system, which would be self-referential. Furthermore, it obscures the existence of the context/scope, which is not good. Likewise I've seen the first rule completely omitted from discussion at all! To get rid of the context/scope, one way is to use a sequent-calculus type of presentation (see http://en.wikipedia.org/wiki/Sequent_calculus), which is suitable for automated provers but not really for humans.

Now for your question of why there should be a difference at all, there are two possible reasons I know that people may give. One is that the "language" used outside the system to describe the rules of the system can be reused to describe different structures that may not be logic systems or may not behave in the same way. But beyond that, I don't see why there cannot be a single self-referential "language" that is sufficiently flexible to be used to describe everything possible. After all, we managed to use some natural language like English to successfully convey what all our mathematical symbols mean...

The second reason is to try to limit the system so that it cannot "talk about itself", and so that we can prove certain meta-theorems about the system. For example we can prove a theorem that logical equivalence of statements in boolean algebra (only logical connectives and no quantifiers) is decidable. Note that this theorem is outside the system and even requires induction, which means that we would need meta-integers and a meta-axiom for meta-induction! But what are the rules for a meta-theory for these meta-theorems? That would be a meta-meta-theory... And so on to infinity. Wait, meta$^\infty$-infinity. So I personally don't see any fundamental reason to accept this reason either.

• I make the distinction and do so because one abstraction on the "outside-inside" distinction is the monad, which provides a fairly nice pattern for calculation -- a simple ontology which distinguishes between variables and constants relative to the scope of the calculation. Consider "sampling notation": a random variable $X\sim \operatorname{Normal}$, $x\in\mathbf{R}$, $A \dashv A\wedge B$, etc. In each of those, the relation is "pulling" something "out" of the "inside". Each variable a value of some "kind" of thing. It's for calculation. Jan 16 '14 at 7:15
• @nomen: I agree that there are many reasons for distinguishing or not, but do you allow meta-induction on proofs in your formal system? If you do, do you allow meta-meta-induction? Where do you stop? Jan 16 '14 at 11:49
• I could say that anything expressible, including a proof, is a finite string (of symbols), since we do use some language after all, whether it is natural language or enhanced with symbolic notation, which may be used to encode an object such as a program or proof, and therefore the distinction between objects in an 'inner' formal system and the derivations can be studied, but it is not fundamental from the perspective of the whole (self-referential) system. Jan 16 '14 at 12:01
• Induction on the "outside" is sufficient, since these adjoint functors induce monads. Jan 17 '14 at 3:03
• @nomen: Then how do you reason about proofs on the outside? I made somewhat cheeky statements in the last 2 paragraphs, but they really do come across to me as a fundamental issue that we have to address. If we distinguish the innermost system, we would have not just an 'inside' and an 'outside' but actually infinitely many layers unless we have a self-referential one. Jan 17 '14 at 8:48

As user21820 mentioned, the $\rightarrow$ in $A\rightarrow B$ is a symbol in the language of your logic. And $\vdash$ is a symbol in the language of the system of deduction. In particular, it means "you can prove" (more or less). So, $A\vdash B$ means that if you take $A$ as an assumption, then you can prove $B$. That is, a priori, a different notion from $A\rightarrow B$. It makes a statement about the existence of a proof.

Of course, this is clearly related to how we typically think of modus ponens. But modus ponens is a rule of inference. It is a mapping from the list of sentences that have been already proved to a new sentence. It is a step in a proof. In particular, we might write it as:

$$A,(A\rightarrow B) \vdash B$$

On the other hand, $\vdash$ and $\rightarrow$ are obviously intimately connected -- they play similar roles in different languages. Look up the deduction theorem in your text or http://en.wikipedia.org/wiki/Deduction_theorem.

1) You are right: in sentential calculus (based, for example, on Natural Deduction) you can start with the assumptions $A$ and $B$, and then infer $A \land B$ from them, using $\land$-intro; and vice versa : using $\land$-elim, infer $A$ and $B$ from the assumption $A \land B$.

But, in general, you need more than one premise, and you must take into account that you can develop the calculus without the $\land$ connective (conjunction) using only $\lnot$ and $\rightarrow$, or $\lnot$ and $\lor$.

2) $\vdash$ and $\rightarrow$ are very different (but strictly connected).

$\rightarrow$ is a sentential connective inside the object-language, like $\lnot$ and $\land$. You will use it to build-up formulae containing them and you will use inference rules to build-up derivations.

$\vdash$ is a symbol in the meta-language and is used in the context $\Gamma \vdash A$ to abbreviate the fact that in the meta-theory you have a proof of $A$ from the (set of) assumptions $\Gamma$.

The link between the two is through the (meta-tehorem) so-called Deduction Theorem : it says that (with suitable provisos) $A \vdash B$ if and only if $\vdash A \rightarrow B$.

• I did not tell anything about inferring A∧B. This question even does not use A∧B as the premice/assumption. In general, I have told what you do: either assume A∧B at once, and thus infer A∧B → Φ or assume them one by one, inferring A → B → Φ or B → A → Φ. I still see no reason for the premises. Do you mean that I may have a calculus without →?
– Val
Jan 3 '14 at 1:43
• Yes you can have different calculus with different set of conncetives : you can use only one (the so-called "Sheffer-stroke"), but is more "natural" to use at least two (in which case, one of them must be negation). I'll expand a little bit my answer. Jan 3 '14 at 11:03