3
如何在Coq中創建一組元素?如何在Coq中創建合奏
我看過Ensembles的文檔,但我沒有看到任何方法來構建一個。例如,在Haskell中,我會使用「Data.Set.fromList [1..10]」創建一個包含10個元素的集合。 Coq中的等價物是什麼?
謝謝。
如何在Coq中創建一組元素?如何在Coq中創建合奏
我看過Ensembles的文檔,但我沒有看到任何方法來構建一個。例如,在Haskell中,我會使用「Data.Set.fromList [1..10]」創建一個包含10個元素的集合。 Coq中的等價物是什麼?
謝謝。
正如所解釋的here,比如,你可以這樣做
Require Import List Ensembles.
Fixpoint list_to_set {A:Type} (l : list A) {struct l}: Ensemble A :=
match l with
| nil => Empty_set A
| hd :: tl => Add A (list_to_set tl) hd
end.
感謝,但如果是在給定的鏈接解釋呢? – user2674487
鏈接只是Ensemble庫的文檔。基於'Empty_set'和像'Add'或'Union'這樣的基元,你應該能夠建立你需要的任何構建器。也許我應該寫下「如此處所述」而不是解釋。 – Vinz