Skip to content

Binder issue in HB.instance #419

Open
@Lapin0t

Description

@Lapin0t

Hi, i'm running into an issue when using mixins where the principal argument is a function (typically to write structures such as "monotone functions").

HB.mixin Record IsFoo X (f : X -> X) := {}.
HB.structure Definition Foo X := { f of IsFoo X f }.
Fail HB.instance Definition _ := IsFoo.Build bool (fun x => x) .
(* term->gref: input has no global reference: fun `x` (global (indt «bool»)) c0 \ c0 *)

It fails while the following is accepted:

Definition bla {X} (x : X) := x .
HB.instance Definition _ := IsFoo.Build bool bla .

It seems to me there is an issue with the binder treatment in parameters.

HB version is 1.7.0 with coq 8.19.1.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions