[
{
"type": "abbrev",
"named": true,
"fields": {
"body": {
"multiple": true,
"required": true,
"types": [
{
"type": ":=",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "match_alt",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
},
{
"type": "where",
"named": false
},
{
"type": "where_decl",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": true,
"required": false,
"types": [
{
"type": ":",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "binders",
"named": true
}
]
}
},
{
"type": "anonymous_constructor",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": "apply",
"named": true,
"fields": {
"argument": {
"multiple": false,
"required": false,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
},
"arguments": {
"multiple": true,
"required": false,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "ellipsis",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "named_argument",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
}
},
{
"type": "apply_tactic",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": "array",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": "arrow",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": "assign",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
}
},
{
"type": "assumption_literal",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
},
{
"type": "attribute",
"named": true,
"fields": {
"extern": {
"multiple": true,
"required": false,
"types": [
{
"type": "string",
"named": true
}
]
},
"name": {
"multiple": true,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"term": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "number",
"named": true
}
]
}
},
{
"type": "attributes",
"named": true,
"fields": {
"extern": {
"multiple": true,
"required": false,
"types": [
{
"type": "string",
"named": true
}
]
},
"name": {
"multiple": true,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "number",
"named": true
}
]
}
},
{
"type": "axiom",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": true,
"required": true,
"types": [
{
"type": ":",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "binders",
"named": true
}
]
}
},
{
"type": "binary_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": "binders",
"named": true,
"fields": {
"name": {
"multiple": true,
"required": false,
"types": [
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": true,
"required": false,
"types": [
{
"type": ":",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "explicit_binder",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "implicit_binder",
"named": true
},
{
"type": "instance_binder",
"named": true
}
]
}
},
{
"type": "borrowed",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
},
{
"type": "builtin_initialize",
"named": true,
"fields": {
"type": {
"multiple": true,
"required": false,
"types": [
{
"type": ":",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assign",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "do_return",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "for_in",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "let_bind",
"named": true
},
{
"type": "let_mut",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": "cdot",
"named": true,
"fields": {}
},
{
"type": "char",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "quoted_char",
"named": true
}
]
}
},
{
"type": "class_inductive",
"named": true,
"fields": {
"constructors": {
"multiple": true,
"required": false,
"types": [
{
"type": "constructor",
"named": true
}
]
},
"deriving": {
"multiple": true,
"required": false,
"types": [
{
"type": ",",
"named": false
},
{
"type": "deriving",
"named": false
},
{
"type": "identifier",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": true,
"required": false,
"types": [
{
"type": ":",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "binders",
"named": true
}
]
}
},
{
"type": "comparison",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": "constant",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": true,
"required": true,
"types": [
{
"type": ":",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "binders",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": "constructor",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": true,
"required": false,
"types": [
{
"type": ":",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "binders",
"named": true
}
]
}
},
{
"type": "declaration",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "abbrev",
"named": true
},
{
"type": "attributes",
"named": true
},
{
"type": "axiom",
"named": true
},
{
"type": "class_inductive",
"named": true
},
{
"type": "constant",
"named": true
},
{
"type": "def",
"named": true
},
{
"type": "example",
"named": true
},
{
"type": "inductive",
"named": true
},
{
"type": "instance",
"named": true
},
{
"type": "structure",
"named": true
},
{
"type": "theorem",
"named": true
}
]
}
},
{
"type": "def",
"named": true,
"fields": {
"body": {
"multiple": true,
"required": true,
"types": [
{
"type": ":=",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "match_alt",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
},
{
"type": "where",
"named": false
},
{
"type": "where_decl",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": true,
"required": false,
"types": [
{
"type": ":",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "binders",
"named": true
}
]
}
},
{
"type": "do",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assign",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "do_return",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "for_in",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "let_bind",
"named": true
},
{
"type": "let_mut",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": "do_return",
"named": true,
"fields": {
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
}
},
{
"type": "double_quoted_name",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "elab",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": "example",
"named": true,
"fields": {
"body": {
"multiple": true,
"required": true,
"types": [
{
"type": ":=",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "match_alt",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
},
{
"type": "where",
"named": false
},
{
"type": "where_decl",
"named": true
}
]
},
"type": {
"multiple": true,
"required": true,
"types": [
{
"type": ":",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "binders",
"named": true
}
]
}
},
{
"type": "exists",
"named": true,
"fields": {
"binders": {
"multiple": false,
"required": true,
"types": [
{
"type": "binders",
"named": true
}
]
},
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
}
},
{
"type": "explicit",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
},
{
"type": "explicit_binder",
"named": true,
"fields": {
"default": {
"multiple": true,
"required": false,
"types": [
{
"type": ":=",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
},
"name": {
"multiple": true,
"required": true,
"types": [
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": true,
"required": false,
"types": [
{
"type": ":",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "binders",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
}
},
{
"type": "export",
"named": true,
"fields": {
"class": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "field",
"named": true,
"fields": {
"default": {
"multiple": true,
"required": false,
"types": [
{
"type": ":=",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": true,
"required": false,
"types": [
{
"type": ":",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "binders",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
}
},
{
"type": "for_in",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "do",
"named": true
}
]
},
"iterable": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "forall",
"named": true,
"fields": {
"binders": {
"multiple": false,
"required": true,
"types": [
{
"type": "binders",
"named": true
}
]
},
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
}
},
{
"type": "fun",
"named": true,
"fields": {
"lhs": {
"multiple": true,
"required": false,
"types": [
{
"type": ",",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parameters",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": "hash_command",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": "have",
"named": true,
"fields": {
"binders": {
"multiple": true,
"required": false,
"types": [
{
"type": "explicit_binder",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "implicit_binder",
"named": true
},
{
"type": "instance_binder",
"named": true
}
]
},
"name": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": true,
"required": false,
"types": [
{
"type": ":",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "match_alt",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": "identifier",
"named": true,
"fields": {}
},
{
"type": "if_then_else",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": "implicit_binder",
"named": true,
"fields": {
"name": {
"multiple": true,
"required": true,
"types": [
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": true,
"required": false,
"types": [
{
"type": ":",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "binders",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
}
},
{
"type": "import",
"named": true,
"fields": {
"module": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "inductive",
"named": true,
"fields": {
"constructors": {
"multiple": true,
"required": false,
"types": [
{
"type": "constructor",
"named": true
}
]
},
"deriving": {
"multiple": true,
"required": false,
"types": [
{
"type": ",",
"named": false
},
{
"type": "deriving",
"named": false
},
{
"type": "identifier",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": true,
"required": false,
"types": [
{
"type": ":",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "binders",
"named": true
}
]
}
},
{
"type": "instance",
"named": true,
"fields": {
"body": {
"multiple": true,
"required": true,
"types": [
{
"type": ":=",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "match_alt",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
},
{
"type": "where",
"named": false
},
{
"type": "where_decl",
"named": true
}
]
},
"name": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": true,
"required": true,
"types": [
{
"type": ":",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "binders",
"named": true
}
]
}
},
{
"type": "instance_binder",
"named": true,
"fields": {
"name": {
"multiple": true,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": true,
"required": true,
"types": [
{
"type": ":",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "binders",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
}
},
{
"type": "interpolated_string",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "interpolation",
"named": true
},
{
"type": "quoted_char",
"named": true
}
]
}
},
{
"type": "interpolation",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": "intro",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": "let",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": false,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "parameters",
"named": true
}
]
},
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
}
},
{
"type": "let_bind",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
}
},
{
"type": "let_mut",
"named": true,
"fields": {
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "parameters",
"named": true
}
]
}
},
{
"type": "lift_method",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
},
{
"type": "list",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": "macro",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "apply_tactic",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "attribute",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "builtin_initialize",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "declaration",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "elab",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "export",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "hash_command",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "intro",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_rules",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "mixfix",
"named": true
},
{
"type": "namespace",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "notation",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "open",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "rewrite",
"named": true
},
{
"type": "rfl",
"named": true
},
{
"type": "section",
"named": true
},
{
"type": "simp",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "syntax",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "term",
"named": true
},
{
"type": "trivial",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "universe",
"named": true
},
{
"type": "unless",
"named": true
},
{
"type": "variable",
"named": true
}
]
}
},
{
"type": "macro_rules",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "match_alt",
"named": true
}
]
}
},
{
"type": "match",
"named": true,
"fields": {
"patterns": {
"multiple": true,
"required": true,
"types": [
{
"type": "match_alt",
"named": true
}
]
},
"type": {
"multiple": true,
"required": false,
"types": [
{
"type": ":",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
},
"value": {
"multiple": true,
"required": true,
"types": [
{
"type": ", ",
"named": false
},
{
"type": ":",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
}
},
{
"type": "match_alt",
"named": true,
"fields": {
"lhs": {
"multiple": true,
"required": true,
"types": [
{
"type": ",",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": "mixfix",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
},
{
"type": "module",
"named": true,
"root": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "attribute",
"named": true
},
{
"type": "builtin_initialize",
"named": true
},
{
"type": "declaration",
"named": true
},
{
"type": "elab",
"named": true
},
{
"type": "export",
"named": true
},
{
"type": "hash_command",
"named": true
},
{
"type": "import",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_rules",
"named": true
},
{
"type": "mixfix",
"named": true
},
{
"type": "namespace",
"named": true
},
{
"type": "notation",
"named": true
},
{
"type": "open",
"named": true
},
{
"type": "prelude",
"named": true
},
{
"type": "section",
"named": true
},
{
"type": "syntax",
"named": true
},
{
"type": "universe",
"named": true
},
{
"type": "variable",
"named": true
}
]
}
},
{
"type": "named_argument",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": "namespace",
"named": true,
"fields": {
"body": {
"multiple": true,
"required": false,
"types": [
{
"type": "attribute",
"named": true
},
{
"type": "builtin_initialize",
"named": true
},
{
"type": "declaration",
"named": true
},
{
"type": "elab",
"named": true
},
{
"type": "export",
"named": true
},
{
"type": "hash_command",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_rules",
"named": true
},
{
"type": "mixfix",
"named": true
},
{
"type": "namespace",
"named": true
},
{
"type": "notation",
"named": true
},
{
"type": "open",
"named": true
},
{
"type": "section",
"named": true
},
{
"type": "syntax",
"named": true
},
{
"type": "universe",
"named": true
},
{
"type": "variable",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "neg",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": "notation",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": "open",
"named": true,
"fields": {
"namespace": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "attribute",
"named": true
},
{
"type": "builtin_initialize",
"named": true
},
{
"type": "declaration",
"named": true
},
{
"type": "elab",
"named": true
},
{
"type": "export",
"named": true
},
{
"type": "hash_command",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_rules",
"named": true
},
{
"type": "mixfix",
"named": true
},
{
"type": "namespace",
"named": true
},
{
"type": "notation",
"named": true
},
{
"type": "open",
"named": true
},
{
"type": "section",
"named": true
},
{
"type": "syntax",
"named": true
},
{
"type": "universe",
"named": true
},
{
"type": "variable",
"named": true
}
]
}
},
{
"type": "parameters",
"named": true,
"fields": {
"name": {
"multiple": true,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "explicit_binder",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "implicit_binder",
"named": true
},
{
"type": "instance_binder",
"named": true
}
]
}
},
{
"type": "parenthesized",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "tuple_tail",
"named": true
},
{
"type": "type_ascription",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": "product",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
},
{
"type": "proj",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "number",
"named": true
}
]
},
"term": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
}
},
{
"type": "quoted",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "attribute",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "builtin_initialize",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "declaration",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "elab",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "export",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "hash_command",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_rules",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "mixfix",
"named": true
},
{
"type": "namespace",
"named": true
},
{
"type": "notation",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "open",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "section",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "syntax",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "universe",
"named": true
},
{
"type": "variable",
"named": true
}
]
}
},
{
"type": "quoted_name",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "quoted_tactic",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "apply_tactic",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "intro",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "rewrite",
"named": true
},
{
"type": "rfl",
"named": true
},
{
"type": "simp",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "term",
"named": true
},
{
"type": "trivial",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": "range",
"named": true,
"fields": {
"start": {
"multiple": false,
"required": false,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
},
"step": {
"multiple": false,
"required": false,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
},
"stop": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
}
},
{
"type": "rewrite",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": "section",
"named": true,
"fields": {
"body": {
"multiple": true,
"required": false,
"types": [
{
"type": "attribute",
"named": true
},
{
"type": "builtin_initialize",
"named": true
},
{
"type": "declaration",
"named": true
},
{
"type": "elab",
"named": true
},
{
"type": "export",
"named": true
},
{
"type": "hash_command",
"named": true
},
{
"type": "macro",
"named": true
},
{
"type": "macro_rules",
"named": true
},
{
"type": "mixfix",
"named": true
},
{
"type": "namespace",
"named": true
},
{
"type": "notation",
"named": true
},
{
"type": "open",
"named": true
},
{
"type": "section",
"named": true
},
{
"type": "syntax",
"named": true
},
{
"type": "universe",
"named": true
},
{
"type": "variable",
"named": true
}
]
},
"name": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "simp",
"named": true,
"fields": {
"extra": {
"multiple": false,
"required": false,
"types": [
{
"type": "list",
"named": true
}
]
}
}
},
{
"type": "string",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "quoted_char",
"named": true
}
]
}
},
{
"type": "structure",
"named": true,
"fields": {
"deriving": {
"multiple": true,
"required": false,
"types": [
{
"type": ",",
"named": false
},
{
"type": "deriving",
"named": false
},
{
"type": "identifier",
"named": true
}
]
},
"extends": {
"multiple": true,
"required": false,
"types": [
{
"type": ",",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "extends",
"named": false
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
},
"fields": {
"multiple": true,
"required": false,
"types": [
{
"type": "explicit_binder",
"named": true
},
{
"type": "field",
"named": true
},
{
"type": "implicit_binder",
"named": true
},
{
"type": "instance_binder",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": true,
"required": false,
"types": [
{
"type": ":",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "binders",
"named": true
},
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "structure_instance",
"named": true,
"fields": {
"extends": {
"multiple": true,
"required": false,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
},
{
"type": "with",
"named": false
}
]
},
"name": {
"multiple": true,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": true,
"required": false,
"types": [
{
"type": ":",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
},
"value": {
"multiple": true,
"required": false,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
}
},
{
"type": "subarray",
"named": true,
"fields": {
"start": {
"multiple": false,
"required": false,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
},
"stop": {
"multiple": false,
"required": false,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
},
"term": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
},
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
}
},
{
"type": "subtype",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": "syntax",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "string",
"named": true
}
]
}
},
{
"type": "synthetic_hole",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "tactics",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "apply_tactic",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "intro",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "rewrite",
"named": true
},
{
"type": "rfl",
"named": true
},
{
"type": "simp",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "term",
"named": true
},
{
"type": "trivial",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": "term",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": "theorem",
"named": true,
"fields": {
"body": {
"multiple": true,
"required": true,
"types": [
{
"type": ":=",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "match_alt",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
},
{
"type": "where",
"named": false
},
{
"type": "where_decl",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": true,
"required": true,
"types": [
{
"type": ":",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "binders",
"named": true
}
]
}
},
{
"type": "tuple_tail",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": "type_ascription",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
}
},
{
"type": "unary_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
},
{
"type": "universe",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "unless",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": "variable",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "explicit_binder",
"named": true
},
{
"type": "implicit_binder",
"named": true
},
{
"type": "instance_binder",
"named": true
}
]
}
},
{
"type": "where_decl",
"named": true,
"fields": {
"binders": {
"multiple": true,
"required": false,
"types": [
{
"type": "explicit_binder",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "implicit_binder",
"named": true
},
{
"type": "instance_binder",
"named": true
}
]
},
"body": {
"multiple": true,
"required": false,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "match_alt",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
},
"name": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": true,
"required": false,
"types": [
{
"type": ":",
"named": false
},
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "anonymous_constructor",
"named": true
},
{
"type": "apply",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "arrow",
"named": true
},
{
"type": "assumption_literal",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "borrowed",
"named": true
},
{
"type": "cdot",
"named": true
},
{
"type": "char",
"named": true
},
{
"type": "comparison",
"named": true
},
{
"type": "do",
"named": true
},
{
"type": "double_quoted_name",
"named": true
},
{
"type": "exists",
"named": true
},
{
"type": "explicit",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "forall",
"named": true
},
{
"type": "fun",
"named": true
},
{
"type": "have",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_then_else",
"named": true
},
{
"type": "interpolated_string",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "lift_method",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "match",
"named": true
},
{
"type": "neg",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "parenthesized",
"named": true
},
{
"type": "product",
"named": true
},
{
"type": "proj",
"named": true
},
{
"type": "quoted",
"named": true
},
{
"type": "quoted_name",
"named": true
},
{
"type": "quoted_tactic",
"named": true
},
{
"type": "range",
"named": true
},
{
"type": "sorry",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "structure_instance",
"named": true
},
{
"type": "subarray",
"named": true
},
{
"type": "subtype",
"named": true
},
{
"type": "synthetic_hole",
"named": true
},
{
"type": "tactics",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "unless",
"named": true
}
]
}
},
{
"type": " : ",
"named": false
},
{
"type": "!",
"named": false
},
{
"type": "\"",
"named": false
},
{
"type": "#[",
"named": false
},
{
"type": "#check",
"named": false
},
{
"type": "#check_failure",
"named": false
},
{
"type": "#eval",
"named": false
},
{
"type": "#print",
"named": false
},
{
"type": "#reduce",
"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": "<",
"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": "`",
"named": false
},
{
"type": "`(",
"named": false
},
{
"type": "`(tactic|",
"named": false
},
{
"type": "``",
"named": false
},
{
"type": "abbrev",
"named": false
},
{
"type": "apply",
"named": false
},
{
"type": "arg",
"named": false
},
{
"type": "attribute",
"named": false
},
{
"type": "axiom",
"named": false
},
{
"type": "builtin_initialize",
"named": false
},
{
"type": "by",
"named": false
},
{
"type": "class",
"named": false
},
{
"type": "command",
"named": false
},
{
"type": "comment",
"named": true,
"extra": true
},
{
"type": "constant",
"named": false
},
{
"type": "def",
"named": false
},
{
"type": "deriving",
"named": false
},
{
"type": "do",
"named": false
},
{
"type": "elab",
"named": false
},
{
"type": "ellipsis",
"named": true
},
{
"type": "else",
"named": false
},
{
"type": "end",
"named": false
},
{
"type": "exact",
"named": false
},
{
"type": "example",
"named": false
},
{
"type": "export",
"named": false
},
{
"type": "extends",
"named": false
},
{
"type": "extern",
"named": false
},
{
"type": "false",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "for",
"named": false
},
{
"type": "fun",
"named": false
},
{
"type": "have",
"named": false
},
{
"type": "hole",
"named": true
},
{
"type": "if",
"named": false
},
{
"type": "import",
"named": false
},
{
"type": "in",
"named": false
},
{
"type": "inductive",
"named": false
},
{
"type": "infix",
"named": false
},
{
"type": "infixl",
"named": false
},
{
"type": "infixr",
"named": false
},
{
"type": "inline",
"named": false
},
{
"type": "instance",
"named": false
},
{
"type": "intro",
"named": false
},
{
"type": "lead",
"named": false
},
{
"type": "let",
"named": false
},
{
"type": "local",
"named": false
},
{
"type": "macro",
"named": false
},
{
"type": "macro_rules",
"named": false
},
{
"type": "match",
"named": false
},
{
"type": "max",
"named": false
},
{
"type": "min",
"named": false
},
{
"type": "min1",
"named": false
},
{
"type": "mut",
"named": false
},
{
"type": "namespace",
"named": false
},
{
"type": "noncomputable",
"named": false
},
{
"type": "notation",
"named": false
},
{
"type": "number",
"named": true
},
{
"type": "open",
"named": false
},
{
"type": "partial",
"named": false
},
{
"type": "postfix",
"named": false
},
{
"type": "prefix",
"named": false
},
{
"type": "prelude",
"named": true
},
{
"type": "private",
"named": false
},
{
"type": "protected",
"named": false
},
{
"type": "quoted_char",
"named": true
},
{
"type": "return",
"named": false
},
{
"type": "rewrite",
"named": false
},
{
"type": "rfl",
"named": true
},
{
"type": "rw",
"named": false
},
{
"type": "s!\"",
"named": false
},
{
"type": "scoped",
"named": false
},
{
"type": "section",
"named": false
},
{
"type": "simp",
"named": false
},
{
"type": "sorry",
"named": true
},
{
"type": "structure",
"named": false
},
{
"type": "syntax",
"named": false
},
{
"type": "tactic",
"named": false
},
{
"type": "then",
"named": false
},
{
"type": "theorem",
"named": false
},
{
"type": "trivial",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "universe",
"named": false
},
{
"type": "unless",
"named": false
},
{
"type": "unsafe",
"named": false
},
{
"type": "variable",
"named": false
},
{
"type": "where",
"named": false
},
{
"type": "with",
"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": "≥",
"named": false
},
{
"type": "⟨",
"named": false
},
{
"type": "⟩",
"named": false
}
]