Module Lilis.SymbEnv

module SymbEnv: sig .. end
The symbolic environment is the dictionary to compress and decompress streams.

type t 
A string <-> int mapping, used by the compression functions.
val extract : string Lilis.stream ->
(string * 'b) Lilis.rule list -> 'c Lilis.rule list -> t
Create a symbol environment from an axiom and a bunch of rules.
val add_rule : t -> (string * 'a) Lilis.rule -> t
Add symbols from a rule to a symbolic environment.
val add_post_rule : t -> 'a Lilis.rule -> t
Like add_rule but allow polymorphic rules. Ignore the right-hand side of the rule.
val add_axiom : t -> string Lilis.stream -> t
Add symbols from an axiom to symbolic environment.