Zulip Chat Archive
Stream: general
Topic: lean hott
Johan Commelin (Mar 13 2020 at 13:31):
There is some form of HoTT for Lean 3. @Gabriel Ebner I think you know more about this.
With all our new cool tools, can I now easily work on this in one directory, and after that seamlessly switch VS code to a mathlib project?
Can leanproject
support HoTT? Or does it already do it by chance?
Gabriel Ebner (Mar 13 2020 at 13:35):
The hott3
project doesn't require any modifications to Lean. There is a @[hott]
attribute that forbids the use of eq.rec
and heq.rec
, and that's it.
Gabriel Ebner (Mar 13 2020 at 13:36):
However, as soon as you forbid eq.rec
you can essentially say goodbye to the core library (or mathlib). You can use the same list
, nat
, prod
, etc. But you can't reuse any theorems.
Gabriel Ebner (Mar 13 2020 at 13:37):
If you want to check it out, you can just leanproject get gebner/hott3
.
Gabriel Ebner (Mar 13 2020 at 13:37):
I've just added a lean_version
field so that elan should pick up the right lean version.
Gabriel Ebner (Mar 13 2020 at 13:40):
You also need to say goodbye to lots of built-in features such as cases
or rw
or the equation compiler (in general, it still works for lists and natural numbers and such). So we have eq_cases
, hinduction
, hsimp
, hintro
.
Johan Commelin (Mar 13 2020 at 13:51):
Cloning from https://github.com/gebner/hott3.git error: override toolchain 'leanprover-community/lean:3.7.0' is not installed info: caused by: the toolchain file at '/home/jmc/data/math/hott3/leanpkg.toml' specifies an uninstalled toolchain
Should leanproject install this for me automatically?
Johan Commelin (Mar 13 2020 at 13:51):
Or do we want users to ask elan to do this
Gabriel Ebner (Mar 13 2020 at 13:53):
Are you by any chance on windows? The 3.7.0 builds will probably take another hour or so.
Johan Commelin (Mar 13 2020 at 13:54):
Nope... linux :penguin:
Gabriel Ebner (Mar 13 2020 at 13:55):
Mmmh, then it should work out of the box. And if doesn't, then mathlib will break for you as well soon.
Gabriel Ebner (Mar 13 2020 at 13:56):
Did you need to do anything for the mathlib upgrade to 3.6.0?
Johan Commelin (Mar 13 2020 at 13:56):
I haven't done that yet on this box. Let me try.
Johan Commelin (Mar 13 2020 at 13:59):
@Gabriel Ebner
(error: override toolchain 'leanprover-community/lean:3.6.1' is not installed, the toolchain file at '/home/jmc/data/math/mathlib/leanpkg.toml' specifies an uninstalled toolchain)
Johan Commelin (Mar 13 2020 at 13:59):
Maybe my elan
is really old...
Gabriel Ebner (Mar 13 2020 at 13:59):
I think elan can update itself.
Gabriel Ebner (Mar 13 2020 at 13:59):
elan self update
Gabriel Ebner (Mar 13 2020 at 13:59):
Does this work for you?
Johan Commelin (Mar 13 2020 at 13:59):
$ elan self update info: checking for self-updates info: downloading self-update Error(Download(HttpStatus(404)), State { next_error: None, backtrace: None }) error: could not download file from 'https://github.com/Kha/elan/releases/download/v0.8.0","user_id":null%7D%7D/elan-x86_64-unknown-linux-gnu.tar.gz' to '/tmp/elan-update.xzw5tBCb62Kj/elan-x86_64-unknown-linux-gnu.tar.gz' info: caused by: http request returned an unsuccessful status code: 404
Gabriel Ebner (Mar 13 2020 at 14:00):
@Sebastian Ullrich This looks like an elan bug ^^
Gabriel Ebner (Mar 13 2020 at 14:00):
I guess you need to reinstall elan.
Koundinya Vajjha (Mar 13 2020 at 14:00):
FWIW, I get the same error too.
Sebastian Ullrich (Mar 13 2020 at 14:01):
Huh, I guess HTML parsing isn't very stable after all
Marc Huisinga (Mar 13 2020 at 14:04):
Sebastian Ullrich said:
I parse HTML using regexes, of course
Johan Commelin (Mar 13 2020 at 14:05):
he comes he comes do not fight he com̡e̶s, ̕h̵is un̨ho͞ly radiańcé destro҉ying all enli̍̈́̂̈́ghtenment, HTML tags lea͠ki̧n͘g fr̶ǫm ̡yo͟ur eye͢s̸ ̛l̕ik͏e liquid pain, the song of re̸gular expression parsing will extinguish the voices of mortal man from the sphere I can see it can you see ̲͚̖͔̙î̩́t̲͎̩̱͔́̋̀ it is beautiful the final snuffing of the lies of Man ALL IS LOŚ͖̩͇̗̪̏̈́T ALL IS LOST the pon̷y he comes he c̶̮omes he comes the ichor permeates all MY FACE MY FACE
Marc Huisinga (Mar 13 2020 at 14:11):
even joking about it will attract h̵is wrath
Johan Commelin (Mar 13 2020 at 14:18):
@Gabriel Ebner Reinstalling elan
helped
Sebastian Ullrich (Mar 13 2020 at 14:30):
@Johan Commelin Does the error persist after the manual update?
Johan Commelin (Mar 13 2020 at 14:31):
No, it seems to be gone.
Johan Commelin (Mar 13 2020 at 14:31):
My CPU's are currently maxing out while checking cubical/*.lean
Sebastian Ullrich (Mar 13 2020 at 14:32):
Great, then the bug has been long fixed
Johan Commelin (Mar 13 2020 at 14:40):
@Gabriel Ebner Currently master
contains sorry
. Do you have any idea how hard it would be to make it sorry
-free?
Gabriel Ebner (Mar 13 2020 at 14:44):
hott3
is pretty much unmaintained. @Floris van Doorn has been merging a lot of PRs, but I don't think anybody actually has a use for it.
Gabriel Ebner (Mar 13 2020 at 14:45):
Also hott3
is far from "finished". Most of the files are a direct port of the Lean 2 HoTT library. But only like 5% is ported. The sorry
should be the least of your worries.
Johan Commelin (Mar 13 2020 at 15:06):
Is it at all reasonable to think that we can try to prove quadratic reciprocity in HoTT3?
Johan Commelin (Mar 13 2020 at 15:06):
Or should we switch to cubical agda, or something similar, if we want to do such an experiment?
Gabriel Ebner (Mar 13 2020 at 15:21):
Other people are probably more qualified than me to answer this question. hott3
is at a point where I think you could try this experiment (if you have way too much free time). On the plus side, there is a simplifier and you already know the syntax. If I wanted to it, I would probably also look at other HoTT systems with mathematical libraries first, such as the HoTT library in Coq. I wouldn't do it in cubical Agda, because AFAICT there are no tactics and I wouldn't want to work without rw
or simp
.
Last updated: Dec 20 2023 at 11:08 UTC