Signature.Declaration
type t =
| Raw_lf_typ_or_term_constant of {
location : Beluga_syntax.Syncom.Location.t;
identifier : Beluga_syntax.Syncom.Identifier.t;
typ_or_const : Synprs__.Synprs_definition.LF.Object.t;
}
| Raw_lf_typ_constant of {
location : Beluga_syntax.Syncom.Location.t;
identifier : Beluga_syntax.Syncom.Identifier.t;
kind : Synprs__.Synprs_definition.LF.Object.t;
}
| Raw_lf_term_constant of {
location : Beluga_syntax.Syncom.Location.t;
identifier : Beluga_syntax.Syncom.Identifier.t;
typ : Synprs__.Synprs_definition.LF.Object.t;
}
| Raw_inductive_comp_typ_constant of {
location : Beluga_syntax.Syncom.Location.t;
identifier : Beluga_syntax.Syncom.Identifier.t;
kind : Synprs__.Synprs_definition.Comp.Sort_object.t;
}
| Raw_stratified_comp_typ_constant of {
location : Beluga_syntax.Syncom.Location.t;
identifier : Beluga_syntax.Syncom.Identifier.t;
kind : Synprs__.Synprs_definition.Comp.Sort_object.t;
}
| Raw_comp_cotyp_constant of {
location : Beluga_syntax.Syncom.Location.t;
identifier : Beluga_syntax.Syncom.Identifier.t;
kind : Synprs__.Synprs_definition.Comp.Sort_object.t;
}
| Raw_comp_expression_constructor of {
location : Beluga_syntax.Syncom.Location.t;
identifier : Beluga_syntax.Syncom.Identifier.t;
typ : Synprs__.Synprs_definition.Comp.Sort_object.t;
}
| Raw_comp_expression_destructor of {
location : Beluga_syntax.Syncom.Location.t;
identifier : Beluga_syntax.Syncom.Identifier.t;
observation_type : Synprs__.Synprs_definition.Comp.Sort_object.t;
return_type : Synprs__.Synprs_definition.Comp.Sort_object.t;
}
| Raw_comp_typ_abbreviation of {
location : Beluga_syntax.Syncom.Location.t;
identifier : Beluga_syntax.Syncom.Identifier.t;
kind : Synprs__.Synprs_definition.Comp.Sort_object.t;
typ : Synprs__.Synprs_definition.Comp.Sort_object.t;
}
| Raw_schema of {
location : Beluga_syntax.Syncom.Location.t;
identifier : Beluga_syntax.Syncom.Identifier.t;
schema : Synprs__.Synprs_definition.Meta.Schema_object.t;
}
| Raw_theorem of {
location : Beluga_syntax.Syncom.Location.t;
identifier : Beluga_syntax.Syncom.Identifier.t;
typ : Synprs__.Synprs_definition.Comp.Sort_object.t;
order : Totality.Declaration.t Support.Option.t;
body : Synprs__.Synprs_definition.Comp.Expression_object.t;
}
| Raw_proof of {
location : Beluga_syntax.Syncom.Location.t;
identifier : Beluga_syntax.Syncom.Identifier.t;
typ : Synprs__.Synprs_definition.Comp.Sort_object.t;
order : Totality.Declaration.t Support.Option.t;
body : Synprs__.Synprs_definition.Harpoon.Proof.t;
}
| Raw_recursive_declarations of {
location : Beluga_syntax.Syncom.Location.t;
declarations : t Support.List1.t;
}
| Raw_val of {
location : Beluga_syntax.Syncom.Location.t;
identifier : Beluga_syntax.Syncom.Identifier.t;
typ : Synprs__.Synprs_definition.Comp.Sort_object.t Support.Option.t;
expression : Synprs__.Synprs_definition.Comp.Expression_object.t;
}
| Raw_module of {
location : Beluga_syntax.Syncom.Location.t;
identifier : Beluga_syntax.Syncom.Identifier.t;
entries : Entry.t Support.List.t;
}