From: Ferruccio Guidi Date: Sat, 30 Oct 2010 13:03:34 +0000 (+0000) Subject: a module was missing ......... X-Git-Tag: make_still_working~2747 X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=commitdiff_plain;h=fa9e69af2ad5a22692f6fdd555d37bc6d80c5ad9;p=helm.git a module was missing ......... --- diff --git a/helm/software/lambda-delta/src/common/level.ml b/helm/software/lambda-delta/src/common/level.ml new file mode 100644 index 000000000..d33c1be66 --- /dev/null +++ b/helm/software/lambda-delta/src/common/level.ml @@ -0,0 +1,37 @@ +(* + ||M|| This file is part of HELM, an Hypertextual, Electronic + ||A|| Library of Mathematics, developed at the Computer Science + ||T|| Department, University of Bologna, Italy. + ||I|| + ||T|| HELM is free software; you can redistribute it and/or + ||A|| modify it under the terms of the GNU General Public License + \ / version 2 or (at your option) any later version. + \ / This software is distributed as is, NO WARRANTY. + V_______________________________________________________________ *) + +type level = int option + +(* Interface functions ******************************************************) + +let infinite = None + +let finite i = Some i + +let is_zero xi = + xi = (Some 0) + +let is_infinite xi = + xi = None + +let succ = function + | None -> None + | Some i -> Some (succ i) + +let pred = function + | None -> None + | Some i when i > 0 -> Some (pred i) + | _ -> Some 0 + +let to_string = function + | None -> "" + | Some i -> string_of_int i diff --git a/helm/software/lambda-delta/src/common/level.mli b/helm/software/lambda-delta/src/common/level.mli new file mode 100644 index 000000000..70a49d5e8 --- /dev/null +++ b/helm/software/lambda-delta/src/common/level.mli @@ -0,0 +1,26 @@ +(* + ||M|| This file is part of HELM, an Hypertextual, Electronic + ||A|| Library of Mathematics, developed at the Computer Science + ||T|| Department, University of Bologna, Italy. + ||I|| + ||T|| HELM is free software; you can redistribute it and/or + ||A|| modify it under the terms of the GNU General Public License + \ / version 2 or (at your option) any later version. + \ / This software is distributed as is, NO WARRANTY. + V_______________________________________________________________ *) + +type level + +val infinite: level + +val finite: int -> level + +val is_zero: level -> bool + +val is_infinite: level -> bool + +val succ: level -> level + +val pred: level -> level + +val to_string: level -> string