Maude2Lean — Reference of translation options

JSON source
Name Type Default value Description
description string Free-text description of the settings
source string Path to the input Maude file (or list of paths)
module string Name of the Maude module to be transformed (or where to evaluate the metamodule)
metamodule string Metarepresentation of the module to be transformed
sort-renaming object Renaming for sort names
kind-renaming object Renaming for kind names (any sort in the kind can be used as key)
op-renaming object Renaming for operator names
prefer-quotes Boolean False Whether to eliminate symbols in operator names or prefer quotes to maintain them
use-notation [string] [] Relations where infix notation is used instead of standard alphanumeric names
declare-notation [string] [] Relations where infix notation is declared (even if not used, use-notation implies this)
with-ctor-predicate Boolean True Whether to define a ctor_only predicate that holds only on constructor terms
with-error-free-opt Boolean False Whether to optimize error-free kinds with a most general sort by removing sort membership premises for it
with-lemmas Boolean True Whether to include simple lemmas derived from the base specification
with-aliases Boolean True Whether to define aliases for the constructors of the inductive relations
with-repr Boolean True Whether to define a pretty printing function for the terms
with-rules Boolean True Whether to include rewrite rules and rewriting relations
with-frozen Boolean True Whether the frozen attribute of operators is obeyed by skipping argument rewriting axioms
with-simp Boolean True Whether to label statements with the simp, symm, trans, and congr attribute
with-axiom-simp Boolean False Whether to include structural axioms in the simplifier (only useful if with-simp)
with-sort2kind Boolean True Whether to define the 'kind' function from sorts to their corresponding kind types
with-derived-as-consts Boolean False Whether operators that are not constructors are translated as constants outside the inductive datatype
with-derived-as-defs Boolean False Whether compatible non-constructor operators are translated to Lean definitions outside the inductive datatype
with-native-bool Boolean False Replace Maude's Bool sort by Lean's bool
split-eqe [string] [] Split the application of an equation on top as a subrelation of eqe for the given kinds
has-sort-symbol string Infix notation for the sort membership relation
eqa-symbol string =A Infix notation for equality module axioms
eqe-symbol string =E Infix notation for equality modulo equations
rw-one-symbol string =>1 Infix notation for the one-step rewriting relation
rw-star-symbol string =>* Infix notation for the reflexive and transitive closure of the rewriting relation
outermost-namespace string Maude Name of the outermost namespace (leave empty to omit that namespace)
with-original-stmt Boolean False Include the original statement as a comment along with its translation
lean-version integer 3 Lean version to generate code for