1

This is a follow up to my previous question about model theory. While the answer to that question was very insightful, one key issue has continued to bother me since. In a comment clarifying their answer, the respondent wrote:

... Mathematics is a social enterprise, which is carried out in natural language. Vanishingly few theorems have actually been formalized in ZFC. Now to make mathematics a coherent enterprise, we have to agree on what counts as a proof, and the common consensus is [that] we accept a proof if it can in principle be formalized in ZFC. Those who care put in the work to carefully understand what can be formalized but the majority just pick up the intuition for this as they get socialized into the mathematical community.

I take exception to this sentiment because I like facts, and social consensus is not the same thing as fact. I know from experience that regarding social consensus as a form of truth can have serious consequences (admittedly, the context isn't usually mathematics, but I am still quite averse to the idea of accepting something simply because it is believed by a particular population). From my point of view, the purpose of proof is to verify the truth of a statement, not to convince a specific audience.

With this in mind I am still left wondering how exactly one goes about verifying that a "structure" is a model of a theory - chiefly because I do not see any obvious way to describe models in the language of ZFC.

Returning to the example from my previous question

Let $\mathcal{T}$ be the theory consisting of one nullary function/constant $c$, one binary function $f$, and one binary relation $R$, with the following [non-logical] axioms:

$$\begin{align} a_1&\qquad\forall x.\neg R(x,x)\\ a_2&\qquad\forall x.\forall y.R(x,y)\implies\neg R(y,x)\\ a_3&\qquad\forall x.\forall y.\forall z.R(x,y)\land R(y,z)\implies R(x,z)\\ a_4&\qquad\forall x.\forall y.f(x,y)=f(y,x)\\ a_5&\qquad\forall x.f(x,c)=x\\ a_6&\qquad\forall x.\exists y.f(x,y)=c\\ a_7&\qquad\forall x.\forall y.\forall z.f(x,f(y,z))=f(f(x,y),z) \end{align}$$

Let $\mathcal{I}$ be the interpretation $\mathcal{I}(c)=``0"$, $\mathcal{I}(f)=``+"$, and $\mathcal{I}(R)=``<"$. Let $\mathcal{M}=(\mathbb{R},0,+<)$. Then, $\mathcal{M}\vDash \mathcal{T}$.

In keeping with the accepted answer, I will not regard $\mathcal{M}$ as symbols of a new theory, but as an "actual" set of objects.

Now, because I am not a Platonist, I absolutely refuse to entertain the notion of any kind of pure-abstract-thought things-in-themselves. That being said, I am perfectly fine with discussing the theory in which $\mathcal{M}$ is defined (a theory, after all, is a collection of symbols and rules, which, unlike "the set of real numbers itself" do exist). I take "structure" to refer to a subset of the theory used to define it, not the "structure itself." From what I understand, this theory is taken to be ZFC by default. Hence, $\mathcal{M}\vDash\mathcal{T}$ is regarded as a theorem of ZFC (if this is not the case, then I would ask instead for an account of the [formal] theory that $\mathcal{M}\vDash\mathcal{T}$ does belong to).

How do I write a ZFC proof of $\mathcal{M}\vDash\mathcal{T}$?

The biggest obstacle I have encountered is that of translating $\mathcal{M}\vDash\mathcal{T}$ into the language of ZFC. At first, I thought to define:

$$\mathcal{M}\vDash\mathcal{T}:=\text{ZFC}\vdash\exists M.\exists 0.\exists +.\exists <. (\forall x.x\in M\implies (x,x)\notin<)\land(\forall x.\forall y.x\in M\land y\in M\implies [(x,y)\in <\implies \neg((y,x)\in<)])\land(\forall x.\forall y.\forall z.x\in M\land y\in M\land z\in M\implies[((x,y)\in<\land(y,z)\in<)\implies(x,z)\in<])\land(\forall x.\forall y.\forall z.x\in M\land y \in M\land z\in M\implies ((x,y,z)\in+\iff (y,x,z)\in +))\land(\forall x.x\in M\implies(x,0,x)\in+)\land(\forall x.\exists y.y\in M\land (x\in M\implies (x,y,0)\in+))\land(\forall x.\forall y.\forall z.\forall u.\forall v. x\in M\land y \in M\land z\in M\land u\in M\land v\in M\implies[(y,z,u)\in+\land (x,y,v)\in+\implies (\forall w.w\in M\implies ((x,u,w)\in+\iff (v,z,w)\in+))])$$

but this only shows that $\mathcal{T}$ has a model; it does not show $M=\Bbb{R}$, nor does it uniquely identify the constant $0$, the function $+$, or the relation $<$. Thus, while I can say "$\varphi$ is true of some structure" I cannot say "$\varphi$ is true of the real numbers."

Note: While I understand Dedekind cuts, I do not understand how to implement them in the language of ZFC proper.

celtschk
  • 44,527
R. Burton
  • 5,230
  • 10
  • 31
  • You seem to be mixing two different questions here: first, how to express the formula $\varphi(x,y)\equiv$ "$x$ is a structure, $y$ is a theory, and $x$ satisfies $y$" in the language of set theory, and second, how to define $\mathbb{R}$ in the language of set theory. Which do you want to focus on? – Noah Schweber Jun 14 '20 at 20:44
  • @NoahSchweber The former. Though the latter is intended to serve as a "witness" so that I have a more concrete idea of what this looks like. – R. Burton Jun 14 '20 at 20:45
  • 3
    I would recommend reading an introductory text on axiomatic set theory, which will cover how to develop the basics of mathematics (such as defining the real numbers) in the context of ZFC. – Eric Wofsey Jun 14 '20 at 21:08
  • 2
    You should definitely understand how $\mathbb{R}$ specifically is implemented in $\mathsf{ZFC}$ before tackling general structures. What part of the Dedekind cut construction ("build $\mathbb{N}$; from $\mathbb{N}$, build $\mathbb{Q}$; define 'Dedekind cut;' define arithmetic structure on Dedekind cuts") don't you see how to do in $\mathsf{ZFC}$? – Noah Schweber Jun 14 '20 at 21:14
  • @NoahSchweber the part where "$x$ is a Dedekind cut" does not begin with $\exists$ or $\forall$. – R. Burton Jun 14 '20 at 21:14
  • @R.Burton I'm not sure what you're saying there. The standard phrasing is that $x$ is a Dedekind cut iff $(i)$ every element of $x$ is a rational number, $(ii)$ $x$ is nonempty, and $(iii)$ for all rationals $p,q$, whenever $p\in x$ and $q<p$ then $q\in x$. What's problematic about that? – Noah Schweber Jun 14 '20 at 21:17
  • @NoahSchweber I understand that perfectly fine. I do not know how to write it as a sentence in the formal language of ZFC. I need to be able to write it using only the symbols of FOL + the symbol $\in$. – R. Burton Jun 14 '20 at 21:20
  • @R.Burton OK, which of those three clauses is problematic? – Noah Schweber Jun 14 '20 at 21:21
  • @NoahSchweber $x$ occurs freely throughout, "is a Dedekind cut" is a statement of the definitional extension, not ZFC itself (same with "is a rational number"). I'm not sure how to work backwards from the extension to a statement of ZFC. – R. Burton Jun 14 '20 at 21:24
  • Essentially, every time you refer to something like rational numbers, you have to restate the entire definition. See https://math.stackexchange.com/questions/2761814/are-notations-in-zf-conservative and https://math.stackexchange.com/questions/3495383/relations-or-functions-other-than-in-in-first-order-formulas-in-zf for more details on how to do this. – Eric Wofsey Jun 14 '20 at 21:24
  • 1
    @R.Burton Of course "$x$" occurs freely throughout, it's free in the expression "$x$ is a Dedekind cut" we're trying to formalize. The formula expressing "$x$ is a Dedekind cut" should obviously have exactly one free variable, namely "$x$." – Noah Schweber Jun 14 '20 at 21:25
  • @NoahSchweber theorems of ZFC are sentences - they do not contain free variables. – R. Burton Jun 14 '20 at 21:26
  • 2
    @R.Burton But right now we're talking about formalizing a formula. Before you can formalize a sentence using the notion of "Dedekind cut," you need to formalize the formula "is a Dedekind cut." You have to work "modularly:" break the sentence you ultimately want into its component formulas, and then build those up. – Noah Schweber Jun 14 '20 at 21:27
  • @NoahSchweber Okay, but doesn't that make the extension by definition non-trivial - i.e. there are things which can be proved in ZFC + $\lambda x.Dedekind(x)$ that cannot be proved in ZFC alone? – R. Burton Jun 14 '20 at 21:29
  • 1
    @R.Burton I'm not sure what you're asking precisely (what is "ZFC+$\lambda x.Dedekind(x)$" in the first place?), but no, it doesn't cause any problems - why would it? – Noah Schweber Jun 14 '20 at 21:30
  • @NoahSchweber It isn't so much a matter of causing a problem as it is that I have been told on more than one ocassion "ZFC proves such-and-such," without any explanation of how to get from the axioms of ZFC to "such-and-such." More often than not, the natural language proof is so far removed from ZFC that it is more easily expressed in another theory entirely. – R. Burton Jun 14 '20 at 21:33
  • 1
    Perhaps you would find it helpful to look into the constructions of the real numbers that have been formalized in any of a large number of proof assistants (computer programs that implement formal logical definition and proof). E.g., have a look at the systems referenced here: https://www.cs.ru.nl/~freek/100/ – Rob Arthan Jun 14 '20 at 22:25
  • I think my quote has very little to do with the substance of your question. But since you quoted me, let me clarify my philosophical position. I also like facts! Unfortunately, we live in a complex world, and it is very difficult to truly verify a fact. So the consensus of a trusted community can be a good reason for believing something - without relying on other people, you'll be left with very few beliefs! But I would never advocate accepting an important proposition solely because it is believed by a particular population, when it is reasonable to verify it (at some level) for yourself. – Alex Kruckman Jun 15 '20 at 21:16
  • Fortunately, it is much easier in mathematics than in the real world to verify things for yourself: you can go and read the proof and make sure it's correct. Now there are (at least) two philosophical problems that arise when you self-reflect on what's happening when you read a proof. (1) What does it mean for a proof (written in natural language) to be correct? and (2) How can you trust your own judgement about whether it is correct? For (1), you can go off and develop your own standards if you want, but if they disagree with those of the mathematical community... (continued) – Alex Kruckman Jun 15 '20 at 21:22
  • ... you'll have trouble communicating with anyone about mathematics. So whatever standards you use, they had better judge to be correct those proofs that can be formalized in ZFC (or some other foundational system of similar strength). For what it's worth, I think most mathematicians use the standard "it seems convincing to me", and fortunately what seems convincing to them has been tuned up through their education to align very precisely with "can be formalized in ZFC". (2) is harder, because people make mistakes when proving theorems and writing proofs, and readers routinely miss them! – Alex Kruckman Jun 15 '20 at 21:27
  • This is why community is important again - for me, there are two parts to trusting a theorem: having verified the proof myself, and knowing that many other mathematicians have verified the proof. Either of those on its own makes me fairly confident, but it's much better to have both. Even having both may not be enough for you - then you probably want to get involved in the computer verified proof community, since formalizing and verifying formal proofs by hand is a truly impractical (and even more error prone!) pursuit. But there's a trade off: confidence vs. efficiency. – Alex Kruckman Jun 15 '20 at 21:32
  • Finally, these comments have focused on the role of a proof in verifying a mathematical fact, which I agree with you is very important. But I think it's shortsighted to ignore the other role of (natural language) proofs: not to convince a specific audience, but to share knowledge by communicating to others the reasons why a fact is true. – Alex Kruckman Jun 15 '20 at 21:35
  • @AlexKruckman While I understand the point you are making, I also think that it is rooted in a way of thinking that originated in a time when digital computers were not readily available to billions of users. Even the simplest modern computer can perform almost any given task faster and with fewer errors than the human brain. A digital calculator is generally more efficient than a human computer, and I am confident in the output because I understand how the rules the calculator is using work, every step in the sequence from input to output. – R. Burton Jun 15 '20 at 21:54
  • I can be confident in the results provided by a well built theorem-prover for the same reason that I do not need to manually verify the results printed on the screen of a calculator. – R. Burton Jun 15 '20 at 21:56
  • I think there's an anology to be made with biology. In principle, every function of every organism can be viewed as a series of chemical reactions, which in turn are governed by physical laws. You could spend a lifetime abstracting the properties at one level to get to the next, only to relearn everything once you reach a certain level of complexity; or you could use a computer to store and read the genome of an entire organism in less time than it takes to write this comment. – R. Burton Jun 15 '20 at 22:01

0 Answers0