Скажем, я хочу определить «диагональ типа»:
Σ[ x ∈ A ] Σ[ y ∈ A ] x ≡ y
На мой взгляд, это должен быть тип равенства в A. Если я попытаюсь с
data Diag (A : Set) : Σ[ x ∈ A ] Σ[ y ∈ A ] x ≡ y
Он жалуется, что Diag "определен, но не сопровождается определением" .Дело в том, разве это не должно быть уже определено?
Я подозреваю, что за этим сомнением существует большое недопонимание того, как типы работают в Agda.Я пришел из курса в MLTT, и там я могу получить что-то вроде
![enter image description here](https://chart.apis.google.com/chart?chf=bg,s,fffff0&cht=tx&chl=%5CSigma_%7Bx%20%5Cin%20A%7D%5CSigma_%7By%20%5Cin%20A%7D%20%5Cmathrm%7BId%7D_A(x%2Cy)%5C%3B%5C%3B%5C%3B%5C%3B%5Ctext%7Btype%7D)
, чьи канонические элементы имеют известную форму.