Zulip Chat Archive
Stream: general
Topic: Reordering `variables`
Eric Wieser (Oct 15 2020 at 09:10):
If I have some variables in my scope:
variables (a : nat)
and I then much further down the file I declare a lemma with a new variable
lemma foo (f : nat → nat) : f a = 0 := sorry
how can I tell lean to make the signature of foo be (f : nat → nat) (a : nat) : f a = 0
instead of (a : nat) (f : nat → nat) : f a = 0
, without having to redeclare a
locally (and all of its dependent type classes)?
Floris van Doorn (Oct 15 2020 at 19:21):
I think that's not possible.
I tend to use variables only/mostly for implicit argument, where the order doesn't matter too much. When needing to make a variable explicit, I like to redeclare them locally (this means it is also easy to see which arguments are explicit, just by looking at the source file.
It seems you have a bunch of typeclasses depending on an explicit variable, which makes this approach not ideal...
Last updated: Dec 20 2023 at 11:08 UTC