I'm reading Enderton's logic book and have arrived to his deductive calculus for first order logic. After defining it, he presents the following theorem:
$\Gamma\vdash \varphi$ iff $\Gamma\cup \Lambda$ tautologically implies $\varphi$.
Here (if I understand correctly):
- $\Gamma$ is simply a set of sentences.
- $\Lambda$ is the set of axioms for a calculus.
- $\vdash$ is the usual notion of formal deduction - there is a finite sequence of sentences such that every sentence is either in $\Gamma\cup\Lambda$ or is obtained from previous sentences using some deduction rule (Enderton only uses MP: $\alpha\to\beta$ and $\alpha$ imply $\beta$).
- "tautologically implies" means that if we treat what he calls "prime formulas" (atomic formulas and those of the form $\forall x\alpha$) as variables, every assignment that satisfies $\Gamma \cup \Lambda$ also satisfies $\varphi$.
I agree with Enderton's proof, but I don't understand how this doesn't contradict the completeness theorem, which states (if I understand correctly) that if $\Gamma$ logically implies $\varphi$ (i.e. every model of $\Gamma$ is a model of $\varphi$) then $\Gamma\vdash\varphi$. But this means that if $\Gamma$ logically implies $\varphi$ then it tautologically implies $\varphi$ which is obviously false. Enderton himself gives the example of $\forall x\psi(x)$ and $\psi(c)$ (where c is some term).
What am I missing here? I'm sure its basic and embarrassing.