I'm trying to program a proof checker for classical first order logic with equality and definitions using a Hilbert proof system. To this end I'm trying to find a formal definition for such a system, but I'm having surprising difficulty, especially for one that allows for local definitions (let statements) and sub proofs (have statements). For example, what are the formal definitions for term, well formed formula, definition, local context, global context, axiom scheme, inference rule and proof in such a system? Is there a good reference that talks about all of this?
Asked
Active
Viewed 69 times
2
-
1A Hilbert proof system is linear, it's pretty easy to define it, there are no contexts and subcontexts; take a look at the the wikipedia page:https://en.wikipedia.org/wiki/Hilbert_system. – Vivaan Daga Jan 28 '22 at 18:05
-
1Maybe useful Metamath – Mauro ALLEGRANZA Jan 28 '22 at 18:09
-
I guess I meant Hilbert in the sense of the axioms and rules of inference that are used, as opposed to natural deduction. – user695931 Jan 28 '22 at 18:14
-
1I am really unclear what you want here, especially after that last comment. The Hilbert system referred to in the Wikipedia page has clear axioms and a single clear inference rule ... your last comment seems to indicate that that is ok with you? But in your original post you are asking about 'local definitions', 'local context', 'sub proofs' ... not sure what you're looking for here. Can you give us an example of what you mean? – Bram28 Jan 28 '22 at 20:35
-
@Bram28 I think I got confused. I was trying to implement a proof checker that used the axioms for first order logic from a Hilbert system, where the only rules of inference are modus ponens and generalization, but I also wanted to allow for global definitions, local definitions and subproofs. I guess these are only defined for natural deduction? – user695931 Jan 28 '22 at 20:46
-
What you're asking for is actually like Fitch-style, which is usually considered different even from ND-style, and is certainly completely different from Hilbert-style. You can look at this Fitch-style system, which I had designed to be intuitive and practical and yet quite easily amenable to formal verification, and which I have used to teach (but have not written a proof checker). The base logic underlying that system is many-sorted FOL, which is better for practical use than plain one-sorted FOL (though it is easy to translate between them). – user21820 Jan 29 '22 at 13:59
-
Unfortunately, I do not know a good reference for the technical notions that you are asking about, which is why I'm not posting an answer. – user21820 Jan 29 '22 at 14:03