I'm trying to define pairs using ur:?PLF:
theory pairs : ur:?PLF =
pair : {a : type} a ⟶ a ⟶ (a ⟶ a ⟶ a) ⟶ a ❙ // okay ❙
pair_kind = {a : type} a ⟶ a ⟶ (a ⟶ a ⟶ a) ⟶ a ❙ // not okay ❙
❚
The declaration of pair type-checks as I would expect.
However, the definition of pair_kind does not.
Is this expected behaviour? I don't understand what's going on.