Skip to content

Revamp the set theory library #234

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 216 commits into from
Jul 8, 2025
Merged

Conversation

dhalilov
Copy link
Contributor

@dhalilov dhalilov commented Jul 4, 2025

This PR ports parts of the set theory library we have to the new kernel, using more automation and reducing the size of proofs.

A lot of files were split and re-organized for better organization and discoverability. Here is the new tree:

├── Base
├── Functions
│   ├── Examples
│   └── Operations
├── Order
│   ├── Examples
│   └── WellOrders
├── Ordinals
├── Relations
│   ├── Examples
│   └── Operations
└── Types
    └── ADT

It also adds the following features:

  • Move to Unicode-based syntax, including set-builder notations {x ∈ y | φ(x)} and {f(x) | x ∈ y}
  • Custom printers using printAs
  • A sectioning mechanism using section, useful for printing
  • Some bug fixes for Congruence
  • Predef files for quick exports
  • Run a pre-defined list of theories in the CI

Things left to port:

  • Some basic theorems about ordinals (TransfiniteInduction relies on them)
  • Some theorems about well-orders and initial segments
  • WellOrderedRecursion, uniqueness is proven but existence is missing since the proof constructs the function by hand
  • ADTs
  • GroupTheory
  • RingTheory
  • TopologyTheory

(Note: the diff contains parts of @SimonGuilloud's port to the new kernel, hence the number of files affected is huge.)

SimonGuilloud and others added 30 commits October 8, 2024 18:25
Next step: rest of TPTP parsing, utils.fol, utils.prooflib.
- BasicTacticTest
- UnificationTest
- printer and parsers test: Port to TPTP-based printer (longer term)
Copy link
Collaborator

@SimonGuilloud SimonGuilloud left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

@SimonGuilloud
Copy link
Collaborator

It seems there is an issue with your ci.yml file:
https://github.com/epfl-lara/lisa/actions/runs/16078339248
that prevents the ci from running

@SimonGuilloud
Copy link
Collaborator

ci fails :(

@SimonGuilloud
Copy link
Collaborator

Merging; some issues remain including a dotty bug that occurs only when typed application is used in a different porject than the definition, and another bug related to patern matching.

@SimonGuilloud SimonGuilloud merged commit 6f37eeb into epfl-lara:main Jul 8, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants