module Cofix: sig
.. end
val stack : LogicId.Iset.elt list Pervasives.ref
val push : LogicId.Iset.elt -> unit
val pop : LogicId.id -> unit
val recursive : LogicId.id -> bool
type
state =
type
cycle = {
|
mutable ccitem : ccitem ; |
|
mutable stable : bool ; |
|
mutable inners : LogicId.Iset.t ; |
}
type
ccitem =
val cofix : cycle LogicId.Ihmap.t
val lookup : LogicId.Ihmap.key -> state
val is_stable : LogicId.Ihmap.key -> bool
val current : ccitem -> LogicDef.item
val define : LogicId.Ihmap.key -> unit
val is_stable : LogicId.Ihmap.key -> bool
exception Unstable
val all_stable : LogicId.Iset.t -> bool
val set_stable : LogicId.Ihmap.key -> unit
val get_cycle : LogicId.id -> LogicId.id list -> LogicId.id list
val add_cycle : LogicId.Iset.elt list -> LogicId.Ihmap.key -> unit
val compatible_signature : LogicLang.var list -> LogicLang.var list -> bool
val compatible : LogicDef.item -> LogicDef.item -> bool
val default : LogicId.Ihmap.key -> LogicDef.item -> unit
val update : LogicId.Ihmap.key -> LogicDef.item -> LogicDef.description -> unit
val compute : LogicId.Iset.elt -> (LogicId.Iset.elt -> 'a) -> unit
val fixpoint : cycle ->
LogicId.Iset.elt -> (LogicId.Iset.elt -> 'a) -> LogicDef.item
val obtain : LogicId.Ihmap.key -> (LogicId.Iset.elt -> 'a) -> LogicDef.item