package electrod
Formal analysis for the Electrod formal pivot language
Install
Dune Dependency
Authors
Maintainers
Sources
electrod-1.0.0.tbz
sha256=4da251e58d97c797d6e940e586d225a09715777fbb1b25c5527a6a2e1e3c2d58
sha512=89c45ebd0d3401b17eac4217289ed21ec87135ab5fa62bf63b2bed1ad1435a381e3434582c2ec99c2e6d8d87ce23cecfa7ba14d76234493992ae06879b808dd2
doc/electrod.libelectrod/Libelectrod/Raw/index.html
Module Libelectrod.Raw
Source
Type for "raw" ASTs yielded by the Electrod parser.
Source
type raw_problem = {
file : string option;
raw_univ : raw_urelements list;
raw_decls : raw_declaration list;
(*does not contain 'univ'
*)raw_goal : raw_goal;
raw_invar : raw_block;
(*may be empty
*)raw_inst : raw_assignment list;
(*may be empty
*)raw_syms : raw_symmetry list;
(*may be empty
*)
}
Source
and raw_declaration = private
| DConst of Raw_ident.t * int option * raw_scope
| DVar of Raw_ident.t * int option * raw_scope * raw_scope option
The int option
is the optionally-declared arity (compulsory for an empty scope).
Source
and raw_scope = private
| SExact of raw_bound
| SInexact of raw_bound * raw_multiplicity * raw_bound
Source
and raw_bound = private
| BUniv
| BRef of Raw_ident.t
(*reference to a previously-defined set
*)| BProd of raw_bound * raw_multiplicity * raw_bound
(*None/Some (lone/one)
*)| BUnion of raw_bound * raw_bound
| BElts of raw_element list
A n-tuple (incl. n = 1). inv: nonempty list
asignemnt of tuples to a relation
may be empty
Source
type raw_paragraph =
| ParGoal of raw_goal
| ParInst of raw_assignment list
| ParSym of raw_symmetry list
| ParInv of raw_block
This definition is here just to be used in the parser ((to avoid cyclic dependencies). The puprose of paragraphs is to deal easily and efficiently with permutation of these (see Parse_main
for more information).)
Constructors
Source
val problem :
string option ->
raw_urelements list ->
raw_declaration list ->
raw_goal ->
raw_block ->
raw_assignment list ->
raw_symmetry list ->
raw_problem
Accessors
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page