代码之家  ›  专栏  ›  技术社区  ›  Carl Patenaude Poulin

在Coq中使用MSET的示例

  •  7
  • Carl Patenaude Poulin  · 技术社区  · 7 年前

    MSets 似乎是OCaml风格有限集的发展方向。遗憾的是,我找不到示例用法。

    MSet 或者单身 MSet MSET

    1 回复  |  直到 7 年前
        1
  •  7
  •   Anton Trunov    7 年前

    让我展示一个自然数有限集的简单示例:

    From Coq
    Require Import MSets Arith.
    
    (* We can make a set out of an ordered type *)
    Module S := Make Nat_as_OT.
    
    Definition test := S.union (S.singleton 42)
                               (S.empty).
    
    (* membership *)
    Compute S.mem 0 test.   (* evaluates to `false` *)
    Compute S.mem 42 test.  (* evaluates to `true`  *)
    
    Compute S.is_empty test.     (* evaluates to `false` *)
    Compute S.is_empty S.empty.  (* evaluates to `true` *)
    

    你可以阅读 Coq.MSets.MSetInterface 了解操作和规范 MSet