Similar questions have been asked, but this is not a duplicate.
I'm looking for a proof itself, not a description of methods.
Related:
- How do we prove that something is unprovable?
- is possible to make a concrete boundary between provable problems and unprovable problems in a certain axiomatic system
- Using a proof by contradiction with unprovable statement
The Most Trivially Unprovable Statement
(Or at least the most trivial one I could think of)
Given/Assuming
- The axioms of propositional logic are consistent
Pis true
Goal: Prove Q is true
((Prove that the goal is unprovable under the assumptions))
Not Theory: The Practical / Algorithmic Side
I've written a logic solver program that uses term-rewriting.
While it prefers simplification, when stuck it can use tautologies to expand statements like P into not(not(P)) or not(not(not(not(P)))) and it can generate Q or not(Q) from nothing. However, given P prove Q would cause it to expand forever (given infinite memory).
Yet, while it spends infinite time, we personally waste almost 0 time thinking about the same task because we instantly recognize given P prove Q is unprovable.
The precursor to my real question is: How can we algorithmically detect/prove this kind of unprovablility?
Existing Answers
The TLDR from other Q&A's is:
- Add an assumption that makes the goal true
- Restart and add an assumption that makes the goal false
- Show that neither case would contradict the axioms/givens
The Problem/Question with Those
Step #1 and #2 are trivial in code, my problem and real-question is precisely about step #3 (prove consistency). I do not know how, and actually because of Godël, feel like it is impossible to complete step 3. Even for a trivially true case like show "given P, prove Q" is unprovable.
So please, if someone can show a formal proof for the trivial example above, I think I will be able to apply it generically.
AFTER a proof is shown (or a claim that there is no proof) I would be happy to have discussions of meta-systems, soundness, consistency, etc. But I need to see the concrete first, then I will be able to see the patterns and understand the theory
Clarifications
I do want to follow the human method (e.g. knowing that Q is not a member of the infinite set of all possible substitutions of P). And I'm completely find with using meta systems to get there, even if the meta systems themselves are not guaranteed to ever reach a stopping point.