Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
module Value : sig ... end
module Sort : sig ... end
module Lambda_info : sig ... end
module Pi_info : sig ... end
module Application_info : sig ... end
and typ = t
and formal_argument = string * typ
type t_n = t * int
type typ_n = typ * int
val proposition : t
val any : t
val any_uni : int -> t
val variable : int -> t
val lambda_in : formal_argument list -> t -> t
val product_in : formal_argument list -> t -> t
Rewrite a where block as an application with a lambda term.
val char : int -> t
char code
character value.
val string : string -> t
string str
string value.
val number_values : string -> t list
val is_sort : typ -> bool
substitute f term
substitutes each free variable i
in term
by the term f i
.
substitute f term
substitutes each free variable i
in term
by the term f i
and do beta reduction in case that f i
appears in a function position and is a function abstraction.
val apply_nargs : t -> int -> Application_info.t -> t
apply_nargs f n mode
returns
f (Var (n-1)) ... (Var 0)
where all applications are done with mode mode
.
val fold_free : (int -> 'a -> 'a) -> t -> 'a -> 'a
val has_variable : int -> t -> bool
module Monadic (M : Fmlib.Module_types.MONAD) : sig ... end
Monadic functions
module Inductive : sig ... end
Inductive types