User blog:LittlePeng9/Higher order set theory

In this blog post I'll try to define in precise way my extension of language of set theory to transfinite orders.

FOST
Most of us know the definition of FOST (first order set theory) - it's a language in which have infinite set of variables, logical connectives \(\lor,\land,\neg,\Rightarrow,\exists,\forall,\) (three of these connectives don't appear in original definition, but I decided to add them, for simplicity) and set connectives \(=,\in\). Both quantifiers range over a prespecified universe of sets \(V\), and all variables are meant to be elements of this class. \(V\) isn't precisely defined, but it's supposed to be a class which satisfies, intuitively, everything we think is true, e.g. every Goodstein sequence terminates, RS theorem holds and so on.

Agustin Rayo has defined the language along with formal definition how it should be understood. I'm going to avoid this here. I think it's quite clear what we mean by FOST formula being true.

Rayo(n) is defined as the largest natural number we can define in FOST using at most n symbols, where "definition" is a formula which is true for precisely one set.

SOST
Second order set theory. This is an extension of FOST in which we introduce second class of variables - in FOST there were only variables which could range over elements of \(V\). Now, our new variables can range over subcollections of \(V\), which are collections of sets, or classes. I will now present a sketch of idea on how to define Rayo's function in this system, thus proving it strictly stronger than FOST.

I will assume here that all formulas are in prenex normal form, i.e. quantifiers come first. First, we want to define a truth predicate - each FOST formula \(\phi\) can be represented by a natural number \(n\), using encoding which I'm not going to bother to define here. The truth predicate, \(T(n)\), will be true iff \(\phi\) is true. We can also extend this to formulas with free variables, \(\phi(\vec{x})\), and truth predicate would be \(T(n,\vec{x})\). We are going to define \(T\) inductively. If the formula is of the form \(a=b,a\in b\) then we can easily verify that. We can also easily check logical relations between formulas, as long as they are quantifier free.

The hard part is now quantifiers - for this we are going to define witness class. To every formula and free variable appearing in it we associate two types of sets - witnesses and anti-witnesses. Witness is a set such that, if we substitute it for the variable, the formula will become true. Anti-witness is opposite of it, and makes formula false. Note that the formula always has either a witness or anti-witness (possibly both), and we can check that witness really witnesses the formula (because the construction is inductive), and similar for anti-witness. Also, every set will be either a witness or anti-witness. Now, to quantifiers - if a given formula has witness, then by adding the existential quantifier the formula will be true. Otherwise it will become false. If formula has anti-witness, then it will be false after universal quantifier is added, and will be true otherwise. Thus, by allowing access to witness class, we can extend truth predicate by a quantifier.

We also need an idea to deal with formulas with free variables - I believe we can do it if, for every choice of free variables, we will make another witness class, but I'm not entirely sure this will work.

Now, process of finding the length of formula given its number \(n\) is very simple, and can be done even by a Turing machine. With truth predicate we can also easily check if formula is definition - is formula \(\exists x \phi(x)\land\forall y: \phi(y)\Rightarrow y=x\) true? We can also easily verify that the definition defines natural numbers. With these tools, it's a simple step to define Rayo(n).

HOST
soon