module Lang:sig..end
val groupoid : bool Pervasives.refval unsafe_evars : bool Pervasives.refval parametric_schemes : bool Pervasives.refval show_instances : bool Pervasives.reftype var =
| |
VIdent of |
| |
VFresh of |
type expr = {
|
desc : |
|
pos : |
type desc =
| |
Var of |
(* |
type variable
| *) |
| |
EVar of |
(* |
meta-variable (expression, substition)
| *) |
| |
Type |
|||
| |
HomType |
(* |
a type of hom set
| *) |
| |
Obj |
(* |
type of 0-cells
| *) |
| |
Arr of |
(* |
arrow type
| *) |
| |
Pi of |
|||
| |
Abs of |
|||
| |
App of |
|||
| |
Coh of |
(* |
coherence (name, source, target)
| *) |
type ps =
| |
PNil of |
(* |
start
| *) |
| |
PCons of |
(* |
extend
| *) |
| |
PDrop of |
(* |
drop
| *) |
typesubst =(var * expr) list
type evar =
| |
ENone of |
(* |
unknown variable with given number and type
| *) |
| |
ESome of |
(* |
instantiated variable
| *) |
val mk : ?pos:Common.Pos.t -> desc -> exprval string_of_var : var -> stringval to_string : ?pa:bool -> expr -> stringval string_of_evar : ?pa:bool -> evar -> stringval string_of_ps : ps -> stringval string_of_evarref : evar Pervasives.ref -> string
val string_of_expr : ?pa:bool -> expr -> string
module PS:sig..end
val fresh_var : var -> varval fresh_inevar : ?t:expr -> unit -> evar Pervasives.ref
val fresh_evar : ?pos:Common.Pos.t -> ?t:expr -> unit -> exprval occurs_evar : expr -> expr -> boolval subst : subst -> expr -> exprval unevar : expr -> exprval free_evar : expr -> evar Pervasives.ref listval instantiate : expr -> exprval free_vars : expr -> var listmodule Env:sig..end
val normalize : Env.t -> expr -> exprval infer_type : Env.t -> expr -> exprval check_type : Env.t -> expr -> expr -> unitval leq : Env.t -> expr -> expr -> booltype cmd =
| |
Decl of |
(* |
Declare a variable.
| *) |
| |
Axiom of |
(* |
Declare an axiom of given type.
| *) |
| |
Check of |
(* |
Check the type of an expression.
| *) |
| |
Eval of |
(* |
Evaluate an expression.
| *) |
| |
Env |
(* |
Display the environment.
| *) |
| |
Set of |
(* |
Set an option.
| *) |
val string_of_cmd : cmd -> stringtypeprog =cmd list
module Envs:sig..end
val exec_cmd : Envs.t -> cmd -> Envs.tval exec : Envs.t -> cmd list -> Envs.t