Zulip Chat Archive
Stream: general
Topic: Is mathlib broken?
Kevin Buzzard (Mar 05 2018 at 08:38):
I do not expect mathlib to be working 24/7 but I am wondering if it currently broken for everyone or just me. I have problems in prod.lean with prod.mk.eta
on line 21 -- invalid definition, a declaration named 'prod.mk.eta' has already been declared
Kevin Buzzard (Mar 05 2018 at 08:39):
The reason I ask is that I have a file which reaches unreachable code
Kevin Buzzard (Mar 05 2018 at 08:39):
and it probably it would be better if this were the only error rather than all the sorrys which currently come with it
Kevin Buzzard (Mar 05 2018 at 08:39):
which may or may not be part of the problem
Kevin Buzzard (Mar 05 2018 at 08:41):
current version is here : https://gist.github.com/kbuzzard/50a650e6df7e712138456facb5a81f22 but I also have 4 sorrys from mathlib so I'll try to remove mathlib
Moses Schönfinkel (Mar 05 2018 at 08:43):
Broken for me as well.
Johannes Hölzl (Mar 05 2018 at 15:28):
It should work again.
Johannes Hölzl (Mar 05 2018 at 15:37):
@Sebastian Ullrich the generalization of the do
-notation resulted in the following work around: https://github.com/leanprover/mathlib/commit/ec9dac3ada9aa2107d5f3fceb3d28eee113278b8#diff-d49a7b7cdfea7e016e137ab7be5dc597L65
I don't know what exactly is happening, it claims to expect a name
, but gets a tactic _
. Is there a way to see what overloaded bind
is used in the error message? pp.full_names
etc didn't work for me.
Sebastian Ullrich (Mar 05 2018 at 15:38):
Urgh, pretty sure it's trying to do a recursive call
Sebastian Ullrich (Mar 05 2018 at 15:39):
Could you post the error?
Johannes Hölzl (Mar 05 2018 at 15:42):
Ah yes, looks like this (now I also added pp.locals_full_name
:
type mismatch at application <bind.0._fresh.31.20685> (<c₁.0._fresh.31.20672> <r.0._fresh.31.20695> <e.0._fresh.31.20699>) term <c₁.0._fresh.31.20672> <r.0._fresh.31.20695> <e.0._fresh.31.20699> has type tactic (old_conv_result <α.0._fresh.31.20670>) but is expected to have type name
Johannes Hölzl (Mar 05 2018 at 15:44):
Would it make sense to force the namespace of bind
, like the begin [m]
notation does? But it gets a ambiguous with do [c] <- l, ...
Sebastian Ullrich (Mar 05 2018 at 15:45):
The real issue is that the local for recursive calls ignores the protected
specifier, imo
Johannes Hölzl (Mar 05 2018 at 15:47):
Or this!
Last updated: Dec 20 2023 at 11:08 UTC