https://github.com/EasyCrypt/easycrypt
Tip revision: acfd4ea7d779487e774eb6aa8c3deeae783aafd8 authored by Pierre-Yves Strub on 16 April 2020, 14:56:46 UTC
Definition of quotient types w.r.t. a equivalence relation
Definition of quotient types w.r.t. a equivalence relation
Tip revision: acfd4ea
ecTypeClass.mli
(* --------------------------------------------------------------------
* Copyright (c) - 2012--2016 - IMDEA Software Institute
* Copyright (c) - 2012--2018 - Inria
* Copyright (c) - 2012--2018 - Ecole Polytechnique
*
* Distributed under the terms of the CeCILL-C-V1 license
* -------------------------------------------------------------------- *)
(* -------------------------------------------------------------------- *)
open EcPath
type node = path
type graph
type nodes
exception CycleDetected
module Graph : sig
val empty : graph
val add : src:node -> dst:node -> graph -> graph
val has_path : src:node -> dst:node -> graph -> bool
val dump : graph -> string
end
module Nodes : sig
val empty : graph -> nodes
val add : node -> nodes -> nodes
val toset : nodes -> Sp.t
val reduce : Sp.t -> graph -> Sp.t
end