Zulip Chat Archive
Stream: Carleson
Topic: sorry trouble
Floris van Doorn (Jul 12 2024 at 13:44):
Suppose you have a definition that isn't finished yet, so you sorry it and then axiomatize some sorry'd properties about it.
def 𝓩 (I : Grid X) : Set (Θ X) := sorry
What could possibly go wrong?
Yaël Dillies (Jul 12 2024 at 13:47):
Hmm, do we have to use opaque
instead then?
Floris van Doorn (Jul 12 2024 at 13:49):
Or sorry the element of type Grid X → Set (Θ X)
.
Ruben Van de Velde (Jul 12 2024 at 13:49):
Maybe lemma Zaux (I : Grid X) : \exists ..
and then use Zaux.choose
?
Yaël Dillies (Jul 12 2024 at 13:53):
Looks strictly more complicated than using opaque
Kevin Buzzard (Jul 12 2024 at 14:15):
Oh if there was a fix for this that would be great! Patrick discovered the problems with sorrying definitions during the perfectoid project and I've been paranoid about doing this ever since. If I could sorry a ton of definitions for FLT without worrying that when they were filled in I'd break a bunch of people's code then I would take Mario's suggestion that he made to me in Bonn ("do this") much more seriously.
Floris van Doorn (Jul 12 2024 at 14:36):
This shouldn't be hard. We could write a tactic revert_all
that reverts every hypothesis, and then have a macro sorry'
for by revert_all; sorry
. In that case, at least this issue will not occur for sorry'
.
There are some issues with variables:
- You might have a theorem that depends on a variable or type-class, but only in the proof. If you sorry the theorem, then this variable will not be included
- Variables could accidentally be added to declarations, even if you don't what a theorem that depends on that variable.
Last updated: May 02 2025 at 03:31 UTC