Skip to content

Commit 8655bdd

Browse files
Merge pull request #8 from Janis-Bai/coq-8.20
Add relevant parts of mechanisation of Bailitis' Bachelor's thesis
2 parents b967df4 + d13df63 commit 8655bdd

File tree

11 files changed

+1442
-3
lines changed

11 files changed

+1442
-3
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,13 @@ The FOL library currently extends this core with the following content:
99
- [Deduction](theories/Deduction): More deduction systems not included in the core library.
1010
- [Semantics](theories/Semantics): More semantics not included in the core library.
1111
- [Completeness](theories/Completeness): Completeness results for Tarski, Kripke, and algebraic semantics, constructive where possible.
12-
- [Incompleteness](theories/Incompleteness): An abstract and synthetic version of the first incompleteness theorem, instantiated to Robinson's Q.
12+
- [Incompleteness](theories/Incompleteness): An abstract and synthetic version of the first incompleteness theorem, instantiated to Robinson's Q, as well as a proof of the first incompleteness theorem and Tarski's theorem via Carnap's diagonal lemma.
1313
- [Tennenbaum](theories/Tennenbaum): Tennenbaum's theorem stating that the natural numbers are the only computable model of PA, constructivised.
1414
- [ArithmeticalHierachy](theories/ArithmeticalHierarchy): Semantic and syntactic characterisations of the arithmetical hierarchy and an equivalence proof.
1515
- [Proofmode](theories/Proofmode): A tool easing derivations in a deduction system, including a HOAS input language hiding de Bruijn encoded syntax.
1616
- [Reification](theories/Reification): A tactic automating representability proofs of Coq predicates as first-order formulas.
1717
- [Utils](theories/Utils): A collection of additional results needed in various projects.
18+
- [HilbertSystem](theories/HilbertSystem): A Hilbert system for first-order logic with a proof of its equivalence to natural deduction.
1819

1920
## Installation
2021

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
From Undecidability.FOL Require Import Syntax.Core Arithmetics.Robinson.
2+
From FOL Require Import ProofMode.
3+
Require Import List.
4+
5+
Section Hil_def.
6+
Context {Σ_funcs : funcs_signature}.
7+
Context {Σ_preds : preds_signature}.
8+
Existing Instance falsity_on.
9+
10+
(** * Hilbert Systems *)
11+
12+
Implicit Type p : peirce.
13+
14+
Inductive hilAx: forall (ff: falsity_flag) (p: peirce), form -> Prop :=
15+
| HK phi psi {p}: hilAx p (phi → psi → phi)
16+
| HS phi psi tau {p}: hilAx p ((phi → psi → tau) → (phi → psi) → phi → tau)
17+
| CI phi psi {p}: hilAx p (phi → psi → phi ∧ psi)
18+
| CE1 phi psi {p}: hilAx p (phi ∧ psi → phi)
19+
| CE2 phi psi {p}: hilAx p (phi ∧ psi → psi)
20+
| DI1 phi psi {p}: hilAx p (phi → phi ∨ psi)
21+
| DI2 phi psi {p}: hilAx p (psi → phi ∨ psi)
22+
| DE phi psi tau {p}: hilAx p (phi ∨ psi → (phi → tau) → (psi → tau) → tau)
23+
| Ebot phi {p}: hilAx p (⊥ → phi)
24+
| AllE t phi {p}: hilAx p ((∀ phi) → phi[t..])
25+
| AllG phi {p}: hilAx p (phi → ∀ phi[↑])
26+
| AllD phi psi {p}: hilAx p ((∀ phi → psi) → (∀ phi) → (∀ psi))
27+
| ExI phi t {p}: hilAx p (phi[t..] → ∃ phi)
28+
| ExE phi psi {p}: hilAx p ((∃ phi) → (∀ phi → psi[↑]) → psi)
29+
| PC phi psi: hilAx class (((phi → psi) → phi) → phi).
30+
31+
Inductive hilprv A |: forall (p: peirce), form -> Prop :=
32+
| MP phi psi {p}: hilprv p phi -> hilprv p (phi → psi) -> hilprv p psi
33+
| HilAx phi n {p}: hilAx p phi -> hilprv p (forall_times n phi)
34+
| ThAx phi {p}: In phi A -> hilprv p phi.
35+
36+
Definition thilprv {p: peirce} (T: form -> Prop) (phi: form):=
37+
exists A, (forall phi, In phi A -> T phi) /\ hilprv A p phi.
38+
39+
End Hil_def.
40+
41+
Notation "A ⊢H phi" := (hilprv A _ phi) (at level 55).
42+
Notation "A ⊢HI phi" := (@hilprv _ _ A intu phi) (at level 55).
43+
Notation "A ⊢HC phi" := (@hilprv _ _ A class phi) (at level 55).
44+
Notation "T ⊢HT phi" := (thilprv T phi) (at level 55).
45+
Notation "T ⊢HTI phi" := (@thilprv _ _ intu T phi) (at level 55).
46+
Notation "T ⊢HTC phi" := (@thilprv _ _ class T phi) (at level 55).

0 commit comments

Comments
 (0)