Dependent Type語言都是怎樣處理Sigma的歧義的

時間 2022-01-04 20:09:36

1樓:馮柯

如果是指語法上的歧義,coq中有多種sigma type,但用的是不同的notation,包括

prod : Type -> Type -> Type. Notation是A * B, 用於非dependent type的計算.

ex : forall (A : Type), (A -> Prop) -> Prop. Notation是exists x, P x, 用於證明.

sig : forall (A : Type), (A -> Prop) -> Type. Notation是, 用於帶證明的計算.

sigT : forall (A : Type), (A -> Type) -> Type. Notation是, 用於dependent type的計算.

其中只有prod的term有notation (a, b) : (A * B), 其餘幾個sigma type似乎一般都直接寫constructor來構造term, 如sigT的constructor是existT : forall (A :

Type) (P : A -> Type) (x : A), P x -> sigT A P.

2樓:小黑

斗膽強答一下,如果我沒理解錯問題的話,idris似乎就是要求使用者手動標記型別解決這個問題的。感覺coq和agda也是這個路子嗷~

如果我說的不對虛心求教!

dependent type之上還有更高階的型別系統嗎?

Jason Hu 含有dependent type的系統至少可以表達first order logic,這種系統往上走全都是邏輯或者數學系統了,我自己的標準是這種系統更屬於type theory而不是type system。dependent type是一種現象,說得是types depend on...

什麼是語言符號,非語言符號,和有聲語言?

引人 1.手勢語的禮儀規範 手勢是一種動態語,要求人們運用恰當。如在給客人指引方向時,要把手臂伸直,手指自然併攏,手掌向上,以肘關節為軸,指向目標。OK手勢 用大拇指和食指捏成乙個圓圈,在美國表示 同意 了不起 順利 或 讚揚 等意思 在日本 南韓還表示 金錢 的意思 在巴西則為侮辱人。舉大拇指的手...

後端語言能實現前端語言的功能,前端語言不就沒有用了嗎,為什麼還要有前端語言存在

水果味的C 前端語言能實現後端語言的功能,後端語言不就沒有用了嗎,為什麼還要有後端語言存在?物件導向語言能實現後端語言的功能,後端語言不就沒有用了嗎,為什麼還要有後端語言存在?面向過程語言能實現後端語言的功能,後端語言不就沒有用了嗎,為什麼還要有後端語言存在?函式式語言能實現後端語言的功能,後端語言...