Don't the natural deduction inference rules assume semantics? I read that one should separate syntax snd semantics in logic but then how come we have things like this:
$a \land b \vdash a$
$a \land b \vdash b$
Which says "If we know $a \land b$ then we also know $a$ by itself, and we also know $b$ by itself." This is a syntactic claim.
But doesn't this imply semantics somehow? If $a \land b$ is false then we don't for sure know $a$ by itself, nor $b$, since either one of them or both could be false.
In other words the inference rules seem to assume that the antecedents/premises are true, and this is more of a semantic claim.
Am I misunderstanding this? Why are we allowed to deduce $a \land b\vdash a, b$ when it's possible the antecedent/premise is false? If we are not in fact allowed to do this then aren't we in some way assuming something about the semantics from the syntactic side?
 A: Natural deduction doesn't need semantics in order to "tick" - it can be thought of as a purely formal and meaningless "symbol game." But that's missing the point, of course: why is that symbol game actually interesting, while many (most?) others aren't? (This is really in my opinion the fundamental criticism of formalism; while I don't think it's unanswerable, it's certainly extremely difficult.)
The key point here is that in motivating natural deduction, all we really need is some vague ideas about semantics, not an actual semantic theory. One of our common intuitions about truth is that in order for "$a$ AND $b$" to be true, both $a$ and $b$ need to be true. On the basis of this, the rule that "$a\wedge b\vdash a$" is a "correct sequent" is reasonable. But note that we did not need to settle on a semantics to justify this: all we had to agree is that we'll never find a pair of sentences $a$ and $b$ such that $a\wedge b$ is true but $a$ is false.
The "story" I like to tell about formal systems vs. semantics begins with the following:

We know on the one hand that naive reasoning about truth is dangerous ("This statement is false"), but on the other hand truth is clearly an important concept. The "formalist program" for truth consists of trying to build a formal system which adequately captures our naive intuitions about truth.

Of course, that's only the first approximation. The whole point of the danger with naive reasoning about truth is that those intuitions are often vague and self-contradictory; even worse is when you get two people in a room, and they disagree (how about that law of the excluded middle?). So the story continues as:

After a bit of thought, we realize that the previous idea is silly. The formalist program of truth now seeks to explore different ways of codifying intuitions about truth in formal systems. Each such formal system will be justified by ideas about truth (so they'll be "semantics motivated") but they'll also stand on their own (so they'll be "purely syntactic" as finished products): even if person A thinks person B's ideas about truth are total bunk, they'll still be able to work with person B's formal system if they so choose. E.g. even if Sam disbelieves the law of excluded middle, Sam will totally accept that "$\vdash a\vee\neg a$" is in fact a "correct sequent" in my formal system.


Now let's go a bit deeper, and talk about how syntax and semantics interact.
General intuitions about truth are problematic, as per above. However, that doesn't mean that we need to completely abandon semantics itself as a silly thing. Broadly speaking, a semantics $\mathfrak{S}$ describes $(i)$ a class of "structures" and $(ii)$ a notion of "satisfaction" (= when a given sentence is true in a given structure). Every notion of semantics has a corresponding deductive system: the set of sequents $$\mathfrak{D}_\mathfrak{S}=\{\Gamma\vdash\varphi:\mbox{ $\varphi$ is true in every structure in which each sentence in $\Gamma$ is true}\},$$ where "true in" and "structure" are interpreted in the sense of the semantics $\mathfrak{S}$. 
The interesting feature is that the converse also holds: "interesting" deductive systems (like natural deduction) have "interesting" semantics which "correspond" to them - where we say that a semantics $\mathfrak{S}$ corresponds to a deductive system $\mathfrak{D}$ iff $\mathfrak{D}_\mathfrak{S}=\mathfrak{D}$ (in the terminology of the field: iff $\mathfrak{D}$ is sound and complete with respect to $\mathfrak{S}$). Note that while each semantics corresponds to exactly one deductive system, a deductive system may correspond (in fact, will always correspond) to may different notions of semantics.
This fleshes out the story above, by adding yet another direction:

Sometimes there are natural notions of semantics which are interesting on their own. For such, it is useful to find a corresponding deductive system. 

This puts a new spin on the old story by emphasizing that the semantics side need not be problematic all the time; it's only inherently problematic if we're too ambitious. The real right story, in my opinion, is:

Logic recognizes that intuitions about truth are fundamentally problematic, and on the other hand that truth - and precise contexts for truth (= semantics) - are fundamental to mathematics; formal systems are logic's response, and a tool used to tame this wilderness.

