Skip to content

Commit 8a83ad3

Browse files
author
Floris van Doorn
committed
fix README and add some information
1 parent d7fe98d commit 8a83ad3

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

README.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,23 @@ This repository contains a work-in-progress port of the [Lean 2 HoTT library](ht
88

99
* No modifications to the Lean kernel are made. Since the Lean 3 kernel is inconsistent with univalence, we "disable" singleton elimination. Singleton elimination is the property that some `Prop`-valued inductive types (where terms can only be constructed in one way) can eliminate to `Type`. The main example is that the equality type `eq` which is defined to be in `Prop` can eliminate to `Type`, which is inconsistent with univalence. Whenever a definition/theorem with the `[hott]` attribute uses singleton elimination, we print an error. Currently we need to add this attribute to all definitions, but in future we expect to say once at the top of a file that all definitions/theorems in that file have the `[hott]` attribute. Without singleton elimination the system is conjectured to be consistent (if it isn't, we can easily extend the check).
1010
* We add univalence as an axiom.
11-
* We add HITs using Dan Licata's trick.
11+
* We add HITs using Dan Licata's trick. Declarations with the `[hott]` attribute are checked to not use the internal inconsistent induction principle for HITs.
1212
* We try to write domain-specific automation using the powerful metaprogramming language of Lean 3
1313
* All declarations in Lean 3 `init` are available. This is necessary to get the basic tactics. This also means that some "unsafe" tactics are available which use the `Prop`-valued equality.
14-
** don't use `rewrite`, use `rwr` instead
15-
** `cases` sometimes uses singleton elimination. In this case, try replacing it with `induction`.
16-
** `dsimp` is useful for definitional simplifying. It will rewrite all equalities marked with `[hsimp]`. Furthermore you can use `dsimp [foo]` to unfold/rewrite with `foo` (or `dsimp only [foo]` if you don't want to do anything else). For non-definitional simplifying, use `hsimp`.
14+
- don't use `rewrite`, use `rwr` instead
15+
- `cases` sometimes uses singleton elimination. In this case, try replacing it with `induction`.
16+
- `dsimp` is useful for definitional simplifying. It will rewrite all equalities marked with `[hsimp]`. Furthermore you can use `dsimp [foo]` to unfold/rewrite with `foo` (or `dsimp only [foo]` if you don't want to do anything else). For non-definitional simplifying, use `hsimp`.
1717

1818
## Contributing
1919

2020
* Feel free to help porting with files.
21-
** If you want you can open an issue to ask which files are currently being ported
22-
** For your convenience you can look [here](https://github.com/fpvandoorn/hott3/tree/searchreplace/from2) for files where some common changes are made with a simple regex-replace.
23-
*** If you port a file from Spectral, make sure it hasn't been modified since september 2017.
24-
** Modify the file to fix all errors in Lean 3. Common changes are listed [here](https://github.com/fpvandoorn/hott3/blob/searchreplace/from2/changes.txt)
25-
** Make a pull request.
26-
* Feel free to write any domain specific automation you want. Summary of wishlist:
27-
** A better algorithm to prove truncatedness and connectedness
28-
** A simple equivalence-maker (for example to prove that structures are sigma types)
29-
** A induct-on-everything tactic (or maybe just induct-on-all-paths and destruct-all-pointed-objects)
30-
** Maybe some tactic other than `dsimp` to do simplification on the goal which has the functionality of `esimp` in Lean 2.
21+
- If you want you can open an issue to ask which files are currently being ported
22+
- For your convenience you can look [here](https://github.com/fpvandoorn/hott3/tree/searchreplace/from2) for files where some common changes are made with a simple regex-replace.
23+
* If you port a file from [Spectral](https://github.com/cmu-phil/Spectral), make sure it hasn't been modified since september 2017.
24+
- Modify the file to fix all errors in Lean 3. Common changes are listed [here](https://github.com/fpvandoorn/hott3/blob/searchreplace/from2/changes.txt)
25+
- Make a pull request.
26+
* Feel free to write any domain specific automation you want. Incomplete wishlist:
27+
- A better algorithm to prove truncatedness and connectedness
28+
- A simple equivalence-maker (for example to prove that structures are sigma types)
29+
- A induct-on-everything tactic (or maybe just induct-on-all-paths and destruct-all-pointed-objects)
30+
- Maybe some tactic other than `dsimp` to do simplification on the goal which has the functionality of `esimp` in Lean 2.

0 commit comments

Comments
 (0)