Zulip Chat Archive

Stream: lean4

Topic: deriving for type definition


James Sully (Jul 12 2024 at 07:00):

Suppose I have something like def FooId := Nat. How do I derive BEq for it? Or do I have to switch to a single field structure?

Damiano Testa (Jul 12 2024 at 07:04):

This works:

def FooId := Nat
deriving BEq

#synth BEq FooId

Damiano Testa (Jul 12 2024 at 07:04):

You can also use inferInstanceAs:

def FooId := Nat

instance : BEq FooId := inferInstanceAs (BEq Nat)

#synth BEq FooId

James Sully (Jul 12 2024 at 07:06):

Thank you!


Last updated: May 02 2025 at 03:31 UTC