You are making an error here: ZFC + not Consistent(ZFC) != ZFC.
Assuming ZFC + not Consistent(ZFC) we can prove Consistent(ZFC), because inconsistent systems can prove everything and ZFC + not Consistent(ZFC) + Consistent(ZFC) is, in fact, inconsistent. But it doesn’t say anything about consistency of ZFC itself, because you can freely assume any sufficiently powerful system instead of ZFC. If you assume inconsistent system, then system + not Consistent(system) is still inconsistent, if you assume consistent system, then system + not Consistent(system) is inconsistent for reasoning above, so it can’t prove whether assumed system is consistent or not.
The mistake you are making is assuming that “ZFC is consistent” = Consistent(ZFC) where the ladder is the Godel encoding for “ZFC is consistent” specified within the language of ZFC.
If your logic were valid, it would just as well break the entirety of the second incompleteness theorem. That is, you would say “well of course ZFC can prove Consistent(ZFC) if it is consistent, for either ZFC is consistent, and we’re done, or ZFC is not consistent, but that is a contradiction since ‘ZFC is consistent’ ⇒ Consistent(ZFC)”.
The fact is that ZFC itself cannot recognize that Consistent(ZFC) is equivalent to “ZFC is consistent”.
@Morpheus you too seem confused by this, so tagging you as well.
Completeness theorem states that consistent countable FO theory has a model. Compactness theorem states that FO theory has a model iff every finite subset of FO theory has a model. Both theorems are provable in ZFC.
Therefore:
Consistent(ZFC) <-> all finite subsets of ZFC have a model ->
not Consistent(ZFC) <-> some finite subsets of ZFC don’t have a model ->
some finite subsets of ZFC + not Consistent(ZFC) don’t have a model <->
Let’s back up here and clarify definitions before invoking any theorems. In the language of set theory, we have a countably infinite set of finite statements. Some statements imply other statements. A subset A of these statements is said to be consistent if they can all be assigned to true such that, when following the basic rules of logic, one does not arrive at a contradiction.
The compactness theorem is helpful when A is an infinite set.ZFC is a finite set of axioms, so let’s ignore everything about finite subsets of A and the compactness theorem; it’s not relevant. [Edit: as indicated by Amalthea’s reaction, this is wrong; some “axioms” in ZF are actually infinite sets of axioms, such as replacement]
I’ll now rewrite your last sentence as:
ZFC + not Consistent(ZFC) has no model <-> not Consistent(ZFC + not Consistent(ZFC))
This is true but irrelevant. Assuming ZFC is consistent, ZFC will not be able to prove its own consistency so [not Consistent(ZFC)] can be added as an axiom without affecting its consistency. This means that ZFC + [not Consistent(ZFC)] would indeed have a model; I forget how this goes but I think it’s something like “start with a model of ZFC, throw in a c that’s treated as a natural number and corresponds to the contradiction found in ZFC, then close”. I think c is automatically treated as greater than every “actual” natural number (and the way to show that this can be added without issue (I think) involves the compactness theorem).
Okay, I kinda understood where I am wrong spiritually-intuitively, but now I don’t understand where I’m wrong formally. Like which inference in chain
not Consistent(ZFC) → some subsets of ZFC don’t have a model → some subsets of ZFC + not Consistent(ZFC) don’t have a model → not Consistent(ZFC + not Consistent(ZFC))
It’s completely valid. And we can simplify it further to:
not Consistent(ZFC) → not Consistent(ZFC + not Consistent(ZFC))
because if a set of axioms is already inconsistent, then it’s inconsistent with anything added. But you still won’t be able to actually derive a contradiction from this.
You are making an error here:
ZFC + not Consistent(ZFC)
!=ZFC
.Assuming
ZFC + not Consistent(ZFC)
we can proveConsistent(ZFC)
, because inconsistent systems can prove everything andZFC + not Consistent(ZFC) + Consistent(ZFC)
is, in fact, inconsistent. But it doesn’t say anything about consistency of ZFC itself, because you can freely assume any sufficiently powerful system instead of ZFC. If you assume inconsistent system, thensystem + not Consistent(system)
is still inconsistent, if you assume consistent system, thensystem + not Consistent(system)
is inconsistent for reasoning above, so it can’t prove whether assumed system is consistent or not.The mistake you are making is assuming that “ZFC is consistent” =
Consistent(ZFC)
where the ladder is the Godel encoding for “ZFC is consistent” specified within the language of ZFC.If your logic were valid, it would just as well break the entirety of the second incompleteness theorem. That is, you would say “well of course ZFC can prove Consistent(ZFC) if it is consistent, for either ZFC is consistent, and we’re done, or ZFC is not consistent, but that is a contradiction since ‘ZFC is consistent’ ⇒
Consistent(ZFC)
”.The fact is that ZFC itself cannot recognize that
Consistent(ZFC)
is equivalent to “ZFC is consistent”.@Morpheus you too seem confused by this, so tagging you as well.
Completeness theorem states that consistent countable FO theory has a model. Compactness theorem states that FO theory has a model iff every finite subset of FO theory has a model. Both theorems are provable in ZFC.
Therefore:
Consistent(ZFC) <-> all finite subsets of ZFC have a model ->
not Consistent(ZFC) <-> some finite subsets of ZFC don’t have a model ->
some finite subsets of ZFC + not Consistent(ZFC) don’t have a model <->
not Consistent(ZFC + not Consistent(ZFC)),
proven in ZFC + not Consistent(ZFC)
Let’s back up here and clarify definitions before invoking any theorems. In the language of set theory, we have a countably infinite set of finite statements. Some statements imply other statements. A subset A of these statements is said to be consistent if they can all be assigned to true such that, when following the basic rules of logic, one does not arrive at a contradiction.
The compactness theorem is helpful when A is an infinite set.ZFC is a finite set of axioms, so let’s ignore everything about finite subsets of A and the compactness theorem; it’s not relevant. [Edit: as indicated by Amalthea’s reaction, this is wrong; some “axioms” in ZF are actually infinite sets of axioms, such as replacement]
I’ll now rewrite your last sentence as:
ZFC + not Consistent(ZFC) has no model <-> not Consistent(ZFC + not Consistent(ZFC))
This is true but irrelevant. Assuming ZFC is consistent, ZFC will not be able to prove its own consistency so [not Consistent(ZFC)] can be added as an axiom without affecting its consistency. This means that ZFC + [not Consistent(ZFC)] would indeed have a model; I forget how this goes but I think it’s something like “start with a model of ZFC, throw in a c that’s treated as a natural number and corresponds to the contradiction found in ZFC, then close”. I think c is automatically treated as greater than every “actual” natural number (and the way to show that this can be added without issue (I think) involves the compactness theorem).
Okay, I kinda understood where I am wrong spiritually-intuitively, but now I don’t understand where I’m wrong formally. Like which inference in chain
not Consistent(ZFC) → some subsets of ZFC don’t have a model → some subsets of ZFC + not Consistent(ZFC) don’t have a model → not Consistent(ZFC + not Consistent(ZFC))
is actually invalid?
It’s completely valid. And we can simplify it further to:
not Consistent(ZFC) → not Consistent(ZFC + not Consistent(ZFC))
because if a set of axioms is already inconsistent, then it’s inconsistent with anything added. But you still won’t be able to actually derive a contradiction from this.
Edit: I think the right thing to do here is look at models for PA + not consistent(PA). I can’t find a nice treatment of this at the moment, but here’s a possibly wrong one by someone who was learning the subject at the time: https://angyansheng.github.io/blog/a-theory-that-proves-its-own-inconsistency