Module Sidekick_th_data
Theory for datatypes.
type ('c, 't) data_view=|T_cstor of 'c * 't Sidekick_util.IArray.tT_cstor (c,args)is the termc(args)|T_select of 'c * int * 'tT_select (c,i,u)means thei-th argument ofu, which should start with constructorc|T_is_a of 'c * 'tT_is_a (c,u)meansustarts with constructorc|T_other of 'tnon-datatype term
Datatype-oriented view of terms.
'cis the representation of constructors'tis the representation of terms
type ('c, 'ty) data_ty_view=|Ty_arrow of 'ty Iter.t * 'ty|Ty_app of{args : 'ty Iter.t;}|Ty_data of{cstors : 'c;}|Ty_otherView of types in a way that is directly useful for the theory of datatypes
module type ARG = sig ... endArgument to the functor
module type S = sig ... end