[
{
"type": "extended_signature",
"named": true,
"subtypes": [
{
"type": "metasp_signature",
"named": true
},
{
"type": "signature",
"named": true
}
]
},
{
"type": "extended_symbolic_atom",
"named": true,
"subtypes": [
{
"type": "metasp_symbolic_atom",
"named": true
},
{
"type": "symbolic_atom",
"named": true
}
]
},
{
"type": "head",
"named": true,
"subtypes": [
{
"type": "disjunction",
"named": true
},
{
"type": "head_aggregate",
"named": true
},
{
"type": "literal",
"named": true
},
{
"type": "set_aggregate",
"named": true
},
{
"type": "theory_atom",
"named": true
}
]
},
{
"type": "literal_sign",
"named": true,
"subtypes": [
{
"type": "default_negation",
"named": true
},
{
"type": "double_default_negation",
"named": true
}
]
},
{
"type": "metasp_type_keyword",
"named": true,
"subtypes": [
{
"type": "metasp_expression_definitions",
"named": true
},
{
"type": "metasp_macros",
"named": true
},
{
"type": "metasp_occurrence",
"named": true
},
{
"type": "metasp_subtypes",
"named": true
}
]
},
{
"type": "simple_atom",
"named": true,
"subtypes": [
{
"type": "boolean_constant",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "metasp_symbolic_atom",
"named": true
},
{
"type": "symbolic_atom",
"named": true
}
]
},
{
"type": "statement",
"named": true,
"subtypes": [
{
"type": "const",
"named": true
},
{
"type": "defined",
"named": true
},
{
"type": "doc_comment",
"named": true
},
{
"type": "edge",
"named": true
},
{
"type": "external",
"named": true
},
{
"type": "heuristic",
"named": true
},
{
"type": "include",
"named": true
},
{
"type": "integrity_constraint",
"named": true
},
{
"type": "maximize",
"named": true
},
{
"type": "metasp_type",
"named": true
},
{
"type": "minimize",
"named": true
},
{
"type": "program",
"named": true
},
{
"type": "project_atom",
"named": true
},
{
"type": "project_signature",
"named": true
},
{
"type": "rule",
"named": true
},
{
"type": "script",
"named": true
},
{
"type": "show",
"named": true
},
{
"type": "show_signature",
"named": true
},
{
"type": "show_term",
"named": true
},
{
"type": "theory",
"named": true
},
{
"type": "weak_constraint",
"named": true
}
]
},
{
"type": "term",
"named": true,
"subtypes": [
{
"type": "abs",
"named": true
},
{
"type": "anonymous",
"named": true
},
{
"type": "binary_operation",
"named": true
},
{
"type": "external_function",
"named": true
},
{
"type": "fstring",
"named": true
},
{
"type": "function",
"named": true
},
{
"type": "infimum",
"named": true
},
{
"type": "metasp_function",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "supremum",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "unary_operation",
"named": true
},
{
"type": "variable",
"named": true
}
]
},
{
"type": "theory_root_term",
"named": true,
"subtypes": [
{
"type": "anonymous",
"named": true
},
{
"type": "infimum",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "supremum",
"named": true
},
{
"type": "theory_function",
"named": true
},
{
"type": "theory_list",
"named": true
},
{
"type": "theory_set",
"named": true
},
{
"type": "theory_tuple",
"named": true
},
{
"type": "variable",
"named": true
}
]
},
{
"type": "theory_term",
"named": true,
"subtypes": [
{
"type": "theory_root_term",
"named": true
},
{
"type": "theory_unparsed_term",
"named": true
}
]
},
{
"type": "tuple_pool_item",
"named": true,
"subtypes": [
{
"type": "lone_comma",
"named": true
},
{
"type": "term",
"named": true
},
{
"type": "terms",
"named": true
}
]
},
{
"type": "abs",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "term",
"named": true
}
]
}
},
{
"type": "binary_operation",
"named": true,
"fields": {
"left": {
"multiple": false,
"required": true,
"types": [
{
"type": "term",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "&",
"named": false
},
{
"type": "*",
"named": false
},
{
"type": "**",
"named": false
},
{
"type": "+",
"named": false
},
{
"type": "-",
"named": false
},
{
"type": "..",
"named": false
},
{
"type": "/",
"named": false
},
{
"type": "?",
"named": false
},
{
"type": "\\",
"named": false
},
{
"type": "^",
"named": false
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "term",
"named": true
}
]
}
}
},
{
"type": "body",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "body_literal",
"named": true
},
{
"type": "conditional_literal",
"named": true
}
]
}
},
{
"type": "body_aggregate",
"named": true,
"fields": {
"elements": {
"multiple": false,
"required": false,
"types": [
{
"type": "body_aggregate_elements",
"named": true
}
]
},
"function": {
"multiple": false,
"required": true,
"types": [
{
"type": "aggregate_function",
"named": true
}
]
},
"left": {
"multiple": false,
"required": false,
"types": [
{
"type": "lower",
"named": true
}
]
},
"right": {
"multiple": false,
"required": false,
"types": [
{
"type": "upper",
"named": true
}
]
}
}
},
{
"type": "body_aggregate_element",
"named": true,
"fields": {
"condition": {
"multiple": false,
"required": false,
"types": [
{
"type": "condition",
"named": true
}
]
},
"terms": {
"multiple": false,
"required": false,
"types": [
{
"type": "terms",
"named": true
}
]
}
}
},
{
"type": "body_aggregate_elements",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "body_aggregate_element",
"named": true
}
]
}
},
{
"type": "body_literal",
"named": true,
"fields": {
"atom": {
"multiple": false,
"required": true,
"types": [
{
"type": "body_aggregate",
"named": true
},
{
"type": "set_aggregate",
"named": true
},
{
"type": "simple_atom",
"named": true
},
{
"type": "theory_atom",
"named": true
}
]
},
"sign": {
"multiple": false,
"required": false,
"types": [
{
"type": "literal_sign",
"named": true
}
]
}
}
},
{
"type": "boolean",
"named": true,
"fields": {}
},
{
"type": "comparison",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "relation",
"named": true
},
{
"type": "term",
"named": true
}
]
}
},
{
"type": "condition",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "literal",
"named": true
}
]
}
},
{
"type": "conditional_literal",
"named": true,
"fields": {
"condition": {
"multiple": false,
"required": false,
"types": [
{
"type": "condition",
"named": true
}
]
},
"literal": {
"multiple": false,
"required": true,
"types": [
{
"type": "literal",
"named": true
}
]
}
}
},
{
"type": "const",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "const_type",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "abs",
"named": true
},
{
"type": "binary_operation",
"named": true
},
{
"type": "function",
"named": true
},
{
"type": "infimum",
"named": true
},
{
"type": "metasp_function",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "supremum",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "unary_operation",
"named": true
}
]
}
}
},
{
"type": "defined",
"named": true,
"fields": {
"signature": {
"multiple": false,
"required": true,
"types": [
{
"type": "extended_signature",
"named": true
}
]
}
}
},
{
"type": "disjunction",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "conditional_literal",
"named": true
},
{
"type": "literal",
"named": true
}
]
}
},
{
"type": "doc_arg",
"named": true,
"fields": {
"description": {
"multiple": false,
"required": false,
"types": [
{
"type": "doc_desc",
"named": true
}
]
},
"variable": {
"multiple": false,
"required": true,
"types": [
{
"type": "variable",
"named": true
}
]
}
}
},
{
"type": "doc_args",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "doc_arg",
"named": true
}
]
}
},
{
"type": "doc_comment",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": false,
"types": [
{
"type": "doc_args",
"named": true
}
]
},
"description": {
"multiple": false,
"required": false,
"types": [
{
"type": "doc_desc",
"named": true
}
]
},
"predicate": {
"multiple": false,
"required": true,
"types": [
{
"type": "doc_predicate",
"named": true
}
]
}
}
},
{
"type": "doc_desc",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "doc_fragment_bold",
"named": true
},
{
"type": "doc_fragment_code",
"named": true
},
{
"type": "doc_fragment_emph",
"named": true
},
{
"type": "doc_fragment_italic",
"named": true
},
{
"type": "doc_fragment_string",
"named": true
}
]
}
},
{
"type": "doc_predicate",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"variables": {
"multiple": false,
"required": false,
"types": [
{
"type": "variables",
"named": true
}
]
}
}
},
{
"type": "edge",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": false,
"types": [
{
"type": "body",
"named": true
}
]
},
"edge_pair": {
"multiple": true,
"required": true,
"types": [
{
"type": "edge_pair",
"named": true
}
]
}
}
},
{
"type": "edge_pair",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "term",
"named": true
}
]
}
},
{
"type": "external",
"named": true,
"fields": {
"atom": {
"multiple": false,
"required": true,
"types": [
{
"type": "extended_symbolic_atom",
"named": true
}
]
},
"body": {
"multiple": false,
"required": false,
"types": [
{
"type": "body",
"named": true
}
]
},
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "term",
"named": true
}
]
}
}
},
{
"type": "external_function",
"named": true,
"fields": {
"arguments": {
"multiple": true,
"required": false,
"types": [
{
"type": "empty_pool_item",
"named": true
},
{
"type": "terms",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "fstring",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "escape_sequence",
"named": true
},
{
"type": "fstring_field",
"named": true
},
{
"type": "string_fragment",
"named": true
}
]
}
},
{
"type": "fstring_accessor",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "number",
"named": true
}
]
}
},
{
"type": "fstring_conversion",
"named": true,
"fields": {}
},
{
"type": "fstring_field",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "fstring_accessor",
"named": true
},
{
"type": "fstring_conversion",
"named": true
},
{
"type": "fstring_spec",
"named": true
},
{
"type": "term",
"named": true
}
]
}
},
{
"type": "fstring_spec",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "fstring_align",
"named": true
},
{
"type": "fstring_alternate",
"named": true
},
{
"type": "fstring_grouping",
"named": true
},
{
"type": "fstring_sign",
"named": true
},
{
"type": "fstring_type",
"named": true
},
{
"type": "fstring_width",
"named": true
}
]
}
},
{
"type": "fstring_width",
"named": true,
"fields": {}
},
{
"type": "function",
"named": true,
"fields": {
"arguments": {
"multiple": true,
"required": false,
"types": [
{
"type": "empty_pool_item",
"named": true
},
{
"type": "terms",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "head_aggregate",
"named": true,
"fields": {
"elements": {
"multiple": false,
"required": false,
"types": [
{
"type": "head_aggregate_elements",
"named": true
}
]
},
"function": {
"multiple": false,
"required": true,
"types": [
{
"type": "aggregate_function",
"named": true
}
]
},
"left": {
"multiple": false,
"required": false,
"types": [
{
"type": "lower",
"named": true
}
]
},
"right": {
"multiple": false,
"required": false,
"types": [
{
"type": "upper",
"named": true
}
]
}
}
},
{
"type": "head_aggregate_element",
"named": true,
"fields": {
"condition": {
"multiple": false,
"required": false,
"types": [
{
"type": "condition",
"named": true
}
]
},
"literal": {
"multiple": false,
"required": true,
"types": [
{
"type": "literal",
"named": true
}
]
},
"terms": {
"multiple": false,
"required": false,
"types": [
{
"type": "terms",
"named": true
}
]
}
}
},
{
"type": "head_aggregate_elements",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "head_aggregate_element",
"named": true
}
]
}
},
{
"type": "heuristic",
"named": true,
"fields": {
"atom": {
"multiple": false,
"required": true,
"types": [
{
"type": "extended_symbolic_atom",
"named": true
}
]
},
"body": {
"multiple": false,
"required": false,
"types": [
{
"type": "body",
"named": true
}
]
},
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "term",
"named": true
}
]
},
"weight": {
"multiple": false,
"required": true,
"types": [
{
"type": "weight",
"named": true
}
]
}
}
},
{
"type": "include",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "string",
"named": true
}
]
}
},
{
"type": "integrity_constraint",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": false,
"types": [
{
"type": "body",
"named": true
}
]
}
}
},
{
"type": "literal",
"named": true,
"fields": {
"atom": {
"multiple": false,
"required": true,
"types": [
{
"type": "simple_atom",
"named": true
}
]
},
"sign": {
"multiple": false,
"required": false,
"types": [
{
"type": "literal_sign",
"named": true
}
]
}
}
},
{
"type": "lower",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "relation",
"named": true
},
{
"type": "term",
"named": true
}
]
}
},
{
"type": "maximize",
"named": true,
"fields": {
"elements": {
"multiple": false,
"required": false,
"types": [
{
"type": "optimize_elements",
"named": true
}
]
}
}
},
{
"type": "metasp_argument_definition",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "metasp_keyword_arg",
"named": true
}
]
}
},
{
"type": "metasp_argument_definitions",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "metasp_argument_definition",
"named": true
}
]
}
},
{
"type": "metasp_expression_definition",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": false,
"types": [
{
"type": "metasp_argument_definitions",
"named": true
}
]
},
"signature": {
"multiple": false,
"required": true,
"types": [
{
"type": "metasp_signature",
"named": true
}
]
}
}
},
{
"type": "metasp_expression_definitions",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "metasp_expression_definition",
"named": true
}
]
}
},
{
"type": "metasp_function",
"named": true,
"fields": {
"arguments": {
"multiple": true,
"required": false,
"types": [
{
"type": "empty_pool_item",
"named": true
},
{
"type": "terms",
"named": true
}
]
},
"name": {
"multiple": true,
"required": true,
"types": [
{
"type": "&",
"named": false
},
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "metasp_keyword_arg",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "metasp_macro_definition",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "metasp_function",
"named": true
}
]
}
},
{
"type": "metasp_macro_where",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "metasp_keyword_arg",
"named": true
}
]
}
},
{
"type": "metasp_macros",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "metasp_macro_definition",
"named": true
},
{
"type": "metasp_macro_where",
"named": true
}
]
}
},
{
"type": "metasp_occurrence",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "theory_atom_type",
"named": true
}
]
}
},
{
"type": "metasp_signature",
"named": true,
"fields": {
"arity": {
"multiple": false,
"required": true,
"types": [
{
"type": "number",
"named": true
}
]
},
"name": {
"multiple": true,
"required": true,
"types": [
{
"type": "&",
"named": false
},
{
"type": "identifier",
"named": true
}
]
},
"sign": {
"multiple": false,
"required": false,
"types": [
{
"type": "classical_negation",
"named": true
}
]
}
}
},
{
"type": "metasp_subtypes",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "metasp_symbolic_atom",
"named": true,
"fields": {
"arguments": {
"multiple": true,
"required": false,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": ";",
"named": false
},
{
"type": "empty_pool_item",
"named": true
},
{
"type": "terms",
"named": true
}
]
},
"name": {
"multiple": true,
"required": true,
"types": [
{
"type": "&",
"named": false
},
{
"type": "identifier",
"named": true
}
]
},
"sign": {
"multiple": false,
"required": false,
"types": [
{
"type": "classical_negation",
"named": true
}
]
}
}
},
{
"type": "metasp_type",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "metasp_type_keyword",
"named": true
}
]
}
},
{
"type": "minimize",
"named": true,
"fields": {
"elements": {
"multiple": false,
"required": false,
"types": [
{
"type": "optimize_elements",
"named": true
}
]
}
}
},
{
"type": "optimize_element",
"named": true,
"fields": {
"condition": {
"multiple": false,
"required": false,
"types": [
{
"type": "condition",
"named": true
}
]
},
"terms": {
"multiple": true,
"required": false,
"types": [
{
"type": ",",
"named": false
},
{
"type": "terms",
"named": true
}
]
},
"weight": {
"multiple": false,
"required": true,
"types": [
{
"type": "weight",
"named": true
}
]
}
}
},
{
"type": "optimize_elements",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "optimize_element",
"named": true
}
]
}
},
{
"type": "parameters",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "program",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "parameters",
"named": true
}
]
}
}
},
{
"type": "project_atom",
"named": true,
"fields": {
"atom": {
"multiple": false,
"required": true,
"types": [
{
"type": "extended_symbolic_atom",
"named": true
}
]
},
"body": {
"multiple": false,
"required": false,
"types": [
{
"type": "body",
"named": true
}
]
}
}
},
{
"type": "project_signature",
"named": true,
"fields": {
"signature": {
"multiple": false,
"required": true,
"types": [
{
"type": "extended_signature",
"named": true
}
]
}
}
},
{
"type": "projection",
"named": true,
"fields": {}
},
{
"type": "rule",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": false,
"types": [
{
"type": "body",
"named": true
}
]
},
"head": {
"multiple": false,
"required": true,
"types": [
{
"type": "head",
"named": true
}
]
}
}
},
{
"type": "script",
"named": true,
"fields": {
"code": {
"multiple": false,
"required": true,
"types": [
{
"type": "code",
"named": true
}
]
},
"language": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "set_aggregate",
"named": true,
"fields": {
"elements": {
"multiple": false,
"required": false,
"types": [
{
"type": "set_aggregate_elements",
"named": true
}
]
},
"left": {
"multiple": false,
"required": false,
"types": [
{
"type": "lower",
"named": true
}
]
},
"right": {
"multiple": false,
"required": false,
"types": [
{
"type": "upper",
"named": true
}
]
}
}
},
{
"type": "set_aggregate_element",
"named": true,
"fields": {
"condition": {
"multiple": false,
"required": false,
"types": [
{
"type": "condition",
"named": true
}
]
},
"literal": {
"multiple": false,
"required": true,
"types": [
{
"type": "literal",
"named": true
}
]
}
}
},
{
"type": "set_aggregate_elements",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "set_aggregate_element",
"named": true
}
]
}
},
{
"type": "show",
"named": true,
"fields": {}
},
{
"type": "show_signature",
"named": true,
"fields": {
"signature": {
"multiple": false,
"required": true,
"types": [
{
"type": "extended_signature",
"named": true
}
]
},
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "boolean",
"named": true
}
]
}
}
},
{
"type": "show_term",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": false,
"types": [
{
"type": "body",
"named": true
}
]
},
"term": {
"multiple": false,
"required": true,
"types": [
{
"type": "term",
"named": true
}
]
}
}
},
{
"type": "signature",
"named": true,
"fields": {
"arity": {
"multiple": false,
"required": true,
"types": [
{
"type": "number",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"sign": {
"multiple": false,
"required": false,
"types": [
{
"type": "classical_negation",
"named": true
}
]
}
}
},
{
"type": "source_file",
"named": true,
"root": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "statement",
"named": true
}
]
}
},
{
"type": "string",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "escape_sequence",
"named": true
},
{
"type": "string_fragment",
"named": true
}
]
}
},
{
"type": "symbolic_atom",
"named": true,
"fields": {
"arguments": {
"multiple": true,
"required": false,
"types": [
{
"type": "empty_pool_item",
"named": true
},
{
"type": "terms",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"sign": {
"multiple": false,
"required": false,
"types": [
{
"type": "classical_negation",
"named": true
}
]
}
}
},
{
"type": "terms",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "projection",
"named": true
},
{
"type": "term",
"named": true
}
]
}
},
{
"type": "theory",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "theory_atom_definition",
"named": true
},
{
"type": "theory_term_definition",
"named": true
}
]
}
},
{
"type": "theory_atom",
"named": true,
"fields": {
"arguments": {
"multiple": true,
"required": false,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": ";",
"named": false
},
{
"type": "empty_pool_item",
"named": true
},
{
"type": "terms",
"named": true
}
]
},
"elements": {
"multiple": false,
"required": false,
"types": [
{
"type": "theory_elements",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"right": {
"multiple": false,
"required": false,
"types": [
{
"type": "theory_atom_upper",
"named": true
}
]
}
}
},
{
"type": "theory_atom_definition",
"named": true,
"fields": {
"arity": {
"multiple": false,
"required": true,
"types": [
{
"type": "number",
"named": true
}
]
},
"atom_type": {
"multiple": false,
"required": true,
"types": [
{
"type": "theory_atom_type",
"named": true
}
]
},
"guard": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"operators": {
"multiple": false,
"required": false,
"types": [
{
"type": "theory_operators",
"named": true
}
]
},
"theory_term_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "theory_atom_upper",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "theory_operator",
"named": true
},
{
"type": "theory_term",
"named": true
}
]
}
},
{
"type": "theory_element",
"named": true,
"fields": {
"condition": {
"multiple": false,
"required": false,
"types": [
{
"type": "condition",
"named": true
}
]
},
"theory_terms": {
"multiple": false,
"required": false,
"types": [
{
"type": "theory_terms",
"named": true
}
]
}
}
},
{
"type": "theory_elements",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "theory_element",
"named": true
}
]
}
},
{
"type": "theory_function",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": false,
"types": [
{
"type": "theory_terms",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "theory_list",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "theory_terms",
"named": true
}
]
}
},
{
"type": "theory_operator_arity",
"named": true,
"fields": {}
},
{
"type": "theory_operator_definition",
"named": true,
"fields": {
"arity": {
"multiple": false,
"required": true,
"types": [
{
"type": "theory_operator_arity",
"named": true
}
]
},
"associativity": {
"multiple": false,
"required": false,
"types": [
{
"type": "theory_operator_associativity",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "theory_operator",
"named": true
}
]
},
"priority": {
"multiple": false,
"required": true,
"types": [
{
"type": "number",
"named": true
}
]
}
}
},
{
"type": "theory_operator_definitions",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "theory_operator_definition",
"named": true
}
]
}
},
{
"type": "theory_operators",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "theory_operator",
"named": true
}
]
}
},
{
"type": "theory_set",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "theory_terms",
"named": true
}
]
}
},
{
"type": "theory_term_definition",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"operators": {
"multiple": false,
"required": false,
"types": [
{
"type": "theory_operator_definitions",
"named": true
}
]
}
}
},
{
"type": "theory_terms",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "lone_comma",
"named": true
},
{
"type": "theory_term",
"named": true
}
]
}
},
{
"type": "theory_tuple",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "theory_terms",
"named": true
}
]
}
},
{
"type": "theory_unparsed_term",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "theory_operators",
"named": true
},
{
"type": "theory_root_term",
"named": true
}
]
}
},
{
"type": "tuple",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "abs",
"named": true
},
{
"type": "binary_operation",
"named": true
},
{
"type": "empty_pool_item",
"named": true
},
{
"type": "function",
"named": true
},
{
"type": "infimum",
"named": true
},
{
"type": "metasp_function",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "supremum",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "tuple_pool_item",
"named": true
},
{
"type": "unary_operation",
"named": true
}
]
}
},
{
"type": "unary_operation",
"named": true,
"fields": {
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "-",
"named": false
},
{
"type": "~",
"named": false
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "term",
"named": true
}
]
}
}
},
{
"type": "upper",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "relation",
"named": true
},
{
"type": "term",
"named": true
}
]
}
},
{
"type": "variables",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "variable",
"named": true
}
]
}
},
{
"type": "weak_constraint",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": false,
"types": [
{
"type": "body",
"named": true
}
]
},
"terms": {
"multiple": true,
"required": false,
"types": [
{
"type": ",",
"named": false
},
{
"type": "terms",
"named": true
}
]
},
"weight": {
"multiple": false,
"required": true,
"types": [
{
"type": "weight",
"named": true
}
]
}
}
},
{
"type": "weight",
"named": true,
"fields": {
"priority": {
"multiple": false,
"required": false,
"types": [
{
"type": "term",
"named": true
}
]
},
"term": {
"multiple": false,
"required": true,
"types": [
{
"type": "term",
"named": true
}
]
}
}
},
{
"type": "\"",
"named": false
},
{
"type": "#const",
"named": false
},
{
"type": "#defined",
"named": false
},
{
"type": "#edge",
"named": false
},
{
"type": "#end",
"named": false
},
{
"type": "#external",
"named": false
},
{
"type": "#heuristic",
"named": false
},
{
"type": "#include",
"named": false
},
{
"type": "#maximise",
"named": false
},
{
"type": "#maximize",
"named": false
},
{
"type": "#minimise",
"named": false
},
{
"type": "#minimize",
"named": false
},
{
"type": "#program",
"named": false
},
{
"type": "#project",
"named": false
},
{
"type": "#script",
"named": false
},
{
"type": "#show",
"named": false
},
{
"type": "#theory",
"named": false
},
{
"type": "#type",
"named": false
},
{
"type": "%*!",
"named": false
},
{
"type": "&",
"named": false
},
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "*",
"named": false
},
{
"type": "*%",
"named": false
},
{
"type": "**",
"named": false
},
{
"type": "+",
"named": false
},
{
"type": ",",
"named": false
},
{
"type": "-",
"named": false
},
{
"type": ".",
"named": false
},
{
"type": "..",
"named": false
},
{
"type": "/",
"named": false
},
{
"type": ":",
"named": false
},
{
"type": ":-",
"named": false
},
{
"type": ":~",
"named": false
},
{
"type": ";",
"named": false
},
{
"type": "<",
"named": false
},
{
"type": "=",
"named": false
},
{
"type": ">",
"named": false
},
{
"type": "?",
"named": false
},
{
"type": "@",
"named": false
},
{
"type": "Args:",
"named": false
},
{
"type": "[",
"named": false
},
{
"type": "\\",
"named": false
},
{
"type": "]",
"named": false
},
{
"type": "^",
"named": false
},
{
"type": "aggregate_function",
"named": true
},
{
"type": "anonymous",
"named": true
},
{
"type": "binary",
"named": false
},
{
"type": "block_comment",
"named": true,
"extra": true
},
{
"type": "boolean_constant",
"named": true
},
{
"type": "classical_negation",
"named": true
},
{
"type": "code",
"named": true
},
{
"type": "const_type",
"named": true
},
{
"type": "default_negation",
"named": true
},
{
"type": "doc_fragment_bold",
"named": true
},
{
"type": "doc_fragment_code",
"named": true
},
{
"type": "doc_fragment_emph",
"named": true
},
{
"type": "doc_fragment_italic",
"named": true
},
{
"type": "doc_fragment_string",
"named": true
},
{
"type": "double_default_negation",
"named": true
},
{
"type": "empty_pool_item",
"named": true
},
{
"type": "escape_sequence",
"named": true
},
{
"type": "expressions",
"named": false
},
{
"type": "f\"",
"named": false
},
{
"type": "false",
"named": false
},
{
"type": "fstring_align",
"named": true
},
{
"type": "fstring_alternate",
"named": true
},
{
"type": "fstring_grouping",
"named": true
},
{
"type": "fstring_sign",
"named": true
},
{
"type": "fstring_type",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "infimum",
"named": true
},
{
"type": "line_comment",
"named": true,
"extra": true
},
{
"type": "lone_comma",
"named": true
},
{
"type": "macros",
"named": false
},
{
"type": "number",
"named": true
},
{
"type": "occurrence",
"named": false
},
{
"type": "relation",
"named": true
},
{
"type": "string_fragment",
"named": true
},
{
"type": "subtypes",
"named": false
},
{
"type": "supremum",
"named": true
},
{
"type": "theory_atom_type",
"named": true
},
{
"type": "theory_operator",
"named": true
},
{
"type": "theory_operator_associativity",
"named": true
},
{
"type": "true",
"named": false
},
{
"type": "variable",
"named": true
},
{
"type": "where",
"named": false
},
{
"type": "{",
"named": false
},
{
"type": "|",
"named": false
},
{
"type": "}",
"named": false
},
{
"type": "~",
"named": false
}
]