2

It's been the first week at university and we've studied ZFC.

In ZFC, the Axiom schema of specification uses first-order-logic, namely, $$ \forall A, \mathcal{C}: \exists B: \forall X: ( X \in B \iff X \in A \land \mathcal{C}(X)).$$ In this case, $\mathcal{C}$ is a predicate (in German it's Prädikat erster Stufe, hopefully that coincides with the English term). Our professor told us that first-order-logic simply uses operators like $\land, \lor, \exists, \forall, \neg$ and so on but it would take long/be difficult to define it exactly.

Is there any easy way to give a concise description of what exactly can be used in $\mathcal{C}$?

Qi Zhu
  • 7,999
  • 2
    Quantification of predicates is FOL is forbidden by definition. Instead, formulas with a (several) free variable(s) are used. See https://en.wikipedia.org/wiki/Axiom_schema_of_specification. – Martín-Blas Pérez Pinilla Oct 26 '17 at 09:49

1 Answers1

1

The axioms of ZFC are written in first-order logic, though the axiom schemas correspond to infinite families of axioms. As such, I would write your specification axiom more like:

For each formula $\varphi$ of first-order logic with at most $x$ as a free variable, we have the axiom $$\forall A.\exists B.\forall x.\left[x\in B\iff (x\in A \land \varphi)\right]$$

I might make it a bit more explicit with: $$\forall A.\exists B.\forall y.\left[y\in B\iff (y\in A \land \varphi[x\mapsto y])\right]$$ where $\varphi[x\mapsto y]$ means substitute all free occurrences of $x$ with $y$. You'd probably actually want to allow $\varphi$ to have additional free variables though not $A$ or $B$.

One thing to note is that I do not write $\forall \varphi.\dots$ as this is not allowed in first-order logic. It also doesn't accurately capture what is going on. The "for each formula $\varphi$" is happening meta-logically. That is, we are specifying a procedure for producing an axiom given (the syntax of) a formula.

I assume you are familiar with the syntax of formulas of first-order logic, but if not any resource should list them, e.g. Wikipedia. The exact presentation used (e.g. which symbols are used and what is taken as primitive or derived) may vary, but doesn't have too big an impact and should be specified in whatever textbook you're working from.

  • Thanks. I'm not really experienced with mathematical logic - why is it allowed to write "for each formula $\varphi$" but not "$\forall \varphi$"? I thought $\forall$ simply means "for each". – Qi Zhu Oct 26 '17 at 09:59
  • Does it mean like, we don't really know what $\forall \varphi$ means (hence it not being allowed) but instead for any predicate $\varphi$ that we can "come up with", there is an axiom correlating to that? – Qi Zhu Oct 26 '17 at 10:04
  • 1
    $\forall\varphi$ is disallowed, as Martín-Blas Pérez Pinilla states, by definition. This is what makes first-order logic first-order. In formal logic, the symbols are not shorthands. They are just themselves. Instead, rules are given to manipulate the symbolic expressions (the syntax) usually with the goal of formally capturing the intuitions from the informal readings of the symbols. So the $\forall A\dots$ is a piece of syntax, but the "for each $\varphi$" is just English in the informal meta-language. – Derek Elkins left SE Oct 26 '17 at 10:15
  • 1
    You can formalize the meta-language (but then you need an informal meta-meta-language...). This starts to get computer science-y. (It's very similar to and closely related to programming language theory.) In such a case, you might actually give an algorithm to take the syntax of a formula and calculate the syntax of the corresponding axiom. Indeed, the syntax and rules of the logic being studied would likely be represented as a data type as in this example for a much simpler logic. – Derek Elkins left SE Oct 26 '17 at 10:36
  • I agree with most of this answer, but I'd point out that the usual formulation of the axiom schema of specification allows $\varphi$ to contain more free variables than just $x$. (Then one needs to require that $B$ is not free in $\varphi$; likewise for $y$ in your second formulation of the schema.) – Andreas Blass Oct 26 '17 at 17:18
  • @AndreasBlass There's a note about that after the "more explicit" version, though it's not technically necessary. You are correct that it would have to exclude $y$ in the more explicit version, but I wrote that sentence with the intent that the block-quoted version was its referent. I could have been more clear that the version with parameters is the more standard formulation. – Derek Elkins left SE Oct 26 '17 at 18:21