Why can’t a proof assistant prove its own consistency, and should that worry the people who rely on one?
Its coordinates: 1.1.4 Abstract Objects · 6.9 Philosophy of Mathematics
Most of the code I write in Kraków is checked by an interactive proof assistant. Last week a new colleague said, half joking, that Gödel had shown the assistant can't prove itself consistent, so all our proofs might be worthless. I gave a clumsy answer and I'd like a better one.
What I understand so far: Gödel's second incompleteness theorem says that a consistent formal system, effectively axiomatised and strong enough to express a modest amount of arithmetic, cannot prove its own consistency. The logics behind proof assistants are far stronger than that, so the theorem applies to them.
My questions:
- Does it follow that we have no reason to trust these systems, or only that the reason can't come from inside them?
- When someone proves such a logic consistent, they do it in a stronger system, usually set theory with extra assumptions. Isn't that just moving the problem one floor up?
- Hilbert hoped to secure mathematics by proving its consistency with very simple, "finitary" methods. Is the modern habit of keeping a small, trusted checking kernel a modest version of his programme, or something different?
Precise answers welcome. I am suspicious of anything I can't write down.