Zulip Chat Archive
Stream: mathlib4
Topic: Field names collision for type class inheritance
Qi Ge (Dec 01 2023 at 19:21):
Suppose I want to
class Foo (A: Type*) extends Class1 A, Class2 A where
-- ...
but both Class1.bar
and Class2.bar
are defined for different type, what should I do?
Qi Ge (Dec 01 2023 at 19:22):
This arises in practice for LinearMap
and MulActionHom
where both define map_smul'
field for compatibility with respect to different actions.
Adam Topaz (Dec 01 2023 at 19:30):
in lean3 it was possible to write ... extends Class1 A, Class2 A renaming foo -> bar ...
but I don't think this has been introduced in Lean4.
Qi Ge (Dec 01 2023 at 19:35):
MulActionHom
is relatively simple I will try hardcoding it and see how far I can go for now...
Eric Rodriguez (Dec 01 2023 at 21:04):
Does it matter in lean4? I thought extends is just sugar for generating projections
Eric Wieser (Dec 01 2023 at 21:16):
It also affects dot notation
Eric Wieser (Dec 01 2023 at 21:16):
But I guess for class
that's irrelevant anyway
Last updated: Dec 20 2023 at 11:08 UTC