类型声明中的 Agda 模式匹配

Agda pattern matching inside type declarations

我正在学习以 Agda 形式开始的 HoTT。 我遵循了 https://www.cs.bham.ac.uk/~mhe/HoTT-UF-in-Agda-Lecture-Notes/

中的说明

当我按照说明开始输入依赖和类型归纳声明时,

record Σ { } {X :  ̇ } (Y : X →  ̇ ) :  ⊔  ̇  where
  constructor _,_
  field
    x : X
    y : Y x

pr₁ : {X :  ̇ } {Y : X →  ̇ } → Σ Y → X
pr₁ (x , y) = x

pr₂ : {X :  ̇ } {Y : X →  ̇ } → (z : Σ Y) → Y (pr₁ z)
pr₂ (x , y) = y


Σ-induction : {X :  ̇ } {Y : X →  ̇ } {A : Σ Y →  ̇ }
            → ((x : X) (y : Y x) → A (x , y))
            → ((x , y) : Σ Y) → A (x , y)

Σ-induction g (x , y) = g x y

我的 agda 说代码有错误 → ((x , y) : Σ Y):

expected sequence of possibly hidden bound identifiers

当我像这样更改类型声明时:

Σ-induction : {X :  ̇ } {Y : X →  ̇ } {A : Σ Y →  ̇ }
            → ((x : X) (y : Y x) → A (x , y))
            → (z : Σ Y) → A (pr₁ z , pr₂ z)

Σ-induction g (x , y) = g x y

这个版本不错

所以我想知道问题是不是 agda 不支持类型声明中的模式匹配。

p.s。我正在使用 Agda 2.6.0.1

pattern-match 在望远镜中记录的能力将在(即将)即将推出的 Agda 2.6.1 版本中提供。

比照。开发分支的文档:https://agda.readthedocs.io/en/latest/language/telescopes.html#irrefutable-patterns-in-binding-positions