Zulip Chat Archive
Stream: mathlib4
Topic: tactic documentation
Eric Wieser (Mar 15 2023 at 10:18):
Yaël Dillies said:
Lean 4's
haveI
does not mean the same thing as Lean 3'shaveI
Eric Wieser said:
Can you elaborate on this?
Ruben Van de Velde said:
It's now "I" for "inline" rather than "instance cache". I still don't know what that means in practice
Is there a linkifier like tactic4#haveI that would have told me that?
Mario Carneiro (Mar 15 2023 at 10:19):
sadly no, there is a docs4 linkifier but lean 4 tactic declaration names are not very guessable
Eric Wieser (Mar 15 2023 at 10:20):
Because there is nothing forcing them to live inside the tactic.interactive
namespace like there was in Lean 3?
Mario Carneiro (Mar 15 2023 at 10:21):
Because they are not even named at all in many cases, the names are autogenerated
Eric Wieser (Mar 15 2023 at 10:21):
Do they have doc entries at all?
Mario Carneiro (Mar 15 2023 at 10:21):
they do
Mario Carneiro (Mar 15 2023 at 10:21):
the #help
command will find them
Eric Wieser (Mar 15 2023 at 10:22):
Sorry, what I meant is, do those entries appear on docgen4?
Mario Carneiro (Mar 15 2023 at 10:22):
they do
Mario Carneiro (Mar 15 2023 at 10:23):
Eric Wieser (Mar 15 2023 at 10:23):
It's unfortunate it doesn't show notation
Mario Carneiro (Mar 15 2023 at 10:24):
The raw output from #help
might be a bit more helpful:
import Std
import Mathlib.Tactic.HelpCmd
#help tactic «haveI»
syntax "haveI"... [Std.Tactic.tacticHaveI_]
`haveI` behaves like `have`, but inlines the value instead of producing a `let_fun` term.
Notification Bot (Mar 15 2023 at 10:24):
12 messages were moved here from #mathlib4 > !4#2894 by Eric Wieser.
Mario Carneiro (Mar 15 2023 at 10:25):
unfortunately this also does not show the complete syntax declaration, it tries its best but the relevant data is not really in the environment
Mario Carneiro (Mar 15 2023 at 10:26):
but [Std.Tactic.tacticHaveI_]
is clickable there so you can go to the declaration if you want to see it
Last updated: Dec 20 2023 at 11:08 UTC