Is it possible to use a variable as a type class in a section?
Section S.
Context (Klass : Type -> Type) (Klass_nat : Klass nat).
(* ??? *)
Existing Instance Klass_nat.
you can do an indirection through a constant, ie
Section S.
Context (Klass : Type -> Type).
Definition Klass' := Klass.
Existing Class Klass'.
Context (Klass_nat : Klass' nat).
Existing Instance Klass_nat. (* not actually needed as variables are always instances *)
otherwise no
Last updated: Sep 28 2023 at 10:01 UTC