Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 11 additions & 6 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/).

## Unreleased

- Declare istrue as injective
- 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
- Bool: declare istrue as injective

## 1.1.0 (2024-06-21)

- Add classical logic
- Rename top into ⊤ᵢ
- Declare more arguments of ∃ᵢ and ∃ₑ implicit
- Classic: classical logic
- Prop: rename top into ⊤ᵢ
- FOL: declare more arguments of ∃ᵢ and ∃ₑ implicit

## 1.0.0 (2023-10-19)

- Add integers (Quentin Garchery)
- Z: integers (Quentin Garchery)

## 0.0.0 (2022-01-27)

- Add natural numbers and lists (Quentin Buzet)
- Nat, List: natural numbers and lists (Quentin Buzet)
4 changes: 4 additions & 0 deletions Epsilon.lp
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
require open Stdlib.Set Stdlib.Prop Stdlib.FOL;

symbol ε [a:Set] : (τ a → Prop) → τ a;
symbol εᵢ [a:Set] (p:τ a → Prop) : π (∃ p) → π (p (ε p));
7 changes: 7 additions & 0 deletions HOL.lp
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
require open Stdlib.Set;

symbol ⤳ : Set → Set → Set; // \leadsto

notation ⤳ infix right 20;

rule τ ($x ⤳ $y) ↪ τ $x → τ $y;
5 changes: 5 additions & 0 deletions Impred.lp
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
require open Stdlib.Set Stdlib.Prop;

symbol o : Set;

rule τ o ↪ Prop;
2 changes: 2 additions & 0 deletions Set.lp
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

constant symbol Set : TYPE;

constant symbol ι : Set;

// Interpretation of set codes in TYPE

injective symbol τ : Set → TYPE; // `t or \tau
Expand Down