(* *)
(***********************************************************************)
-(*
- Time-stamp: <Last modified on 2013-03-05 01:50:21 CET by Kim Nguyen>
-*)
-
INCLUDE "utils.ml"
include FiniteCofinite_sig
| Finite s -> E.fold f s a
| CoFinite _ -> raise exn
+ let fold_left f t a = match t.node with
+ | Finite s -> E.fold_left f s a
+ | CoFinite _ -> raise exn
+
+ let fold_right f t a = match t.node with
+ | Finite s -> E.fold_right f s a
+ | CoFinite _ -> raise exn
+
let iter f t = match t.node with
| Finite t -> E.iter f t
| CoFinite _ -> raise exn
| CoFinite _ -> raise exn
let positive t = match t.node with
- | Finite x -> x
- | CoFinite _ -> E.empty
+ | Finite x -> x
+ | CoFinite _ -> E.empty
let negative t = match t.node with
- | CoFinite x -> x
- | Finite _ -> E.empty
+ | CoFinite x -> x
+ | Finite _ -> E.empty
let inj_positive t = finite t
let inj_negative t = cofinite t