Skip to content

Commit d5126ad

Browse files
authored
Add files for using higher-order logic (#21)
- Add files for higher-order logic: HOL: Set constructor ⤳ for quantifying over function types Impred: Set constructor o for quantifying over propositions Epsilon: Hilbert's ε operator - Set: add Set constructor ι
1 parent ed517d0 commit d5126ad

File tree

5 files changed

+29
-6
lines changed

5 files changed

+29
-6
lines changed

CHANGES.md

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/).
55

66
## Unreleased
77

8-
- Declare istrue as injective
8+
- Add files for higher-order logic:
9+
HOL: Set constructor ⤳ for quantifying over function types
10+
Impred: Set constructor o for quantifying over propositions
11+
Epsilon: Hilbert's ε operator
12+
- Set: add ι:Set
13+
- Bool: declare istrue as injective
914

1015
## 1.1.0 (2024-06-21)
1116

12-
- Add classical logic
13-
- Rename top into ⊤ᵢ
14-
- Declare more arguments of ∃ᵢ and ∃ₑ implicit
17+
- Classic: classical logic
18+
- Prop: rename top into ⊤ᵢ
19+
- FOL: declare more arguments of ∃ᵢ and ∃ₑ implicit
1520

1621
## 1.0.0 (2023-10-19)
1722

18-
- Add integers (Quentin Garchery)
23+
- Z: integers (Quentin Garchery)
1924

2025
## 0.0.0 (2022-01-27)
2126

22-
- Add natural numbers and lists (Quentin Buzet)
27+
- Nat, List: natural numbers and lists (Quentin Buzet)

Epsilon.lp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
require open Stdlib.Set Stdlib.Prop Stdlib.FOL;
2+
3+
symbol ε [a:Set] : (τ aProp) → τ a;
4+
symbol εᵢ [a:Set] (paProp) : π (∃ p) → π (pp));

HOL.lp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
require open Stdlib.Set;
2+
3+
symbol ⤳ : SetSetSet; // \leadsto
4+
5+
notationinfix right 20;
6+
7+
rule τ ($x ⤳ $y) ↪ τ $x → τ $y;

Impred.lp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
require open Stdlib.Set Stdlib.Prop;
2+
3+
symbol o : Set;
4+
5+
rule τ oProp;

Set.lp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
constant symbol Set : TYPE;
44

5+
constant symbol ι : Set;
6+
57
// Interpretation of set codes in TYPE
68

79
injective symbol τ : SetTYPE; // `t or \tau

0 commit comments

Comments
 (0)