123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648(* This file was auto-generated based on "syntax.messages". *)(* Please note that the function [message] can raise [Not_found]. *)letmessage=funs->matchswith|53->"157\nan s-expression\na closing parentheis\n"|17->"156\nan s-expression\na closing parentheis\n"|6->"155\nan s-expression\na closing parentheis\n"|222->"147\na function definition\na term for the function body\n"|232->"146\na parametric function definition\nthe keyword par\n"|233->"145\na list of type variable\nan opening parenthesis\n"|234->"144\na list of type variable\nan identifier\n"|236->"143\na function definition\nthe name of the function\n"|237->"142\na list of parameters\nan opening parenthesis\n"|238->"141\na list of parameters\na formal parameter: (id sort)\n"|240->"140\na function definition\na sort for the result type\n"|241->"139\na function definition\na term for the body of the function\n"|242->"139\na function definition\na closing parenthesis\n"|263->"138\na parametric function declaration\nthe keyword par\n"|264->"137\na list of type variable\nan open parenthesis\n"|265->"136\na list of type variable\nan identifier\n"|267->"135\na function declaration\nthe name of the function\n"|268->"134\na list of formal parameters\nan opening parenthesis\n"|269->"133\na list of formal parameters\na formal parameters: (id sort)\n"|271->"132\na return sort\na sort\n"|272->"131\ndefinition of recursive function\na closing parenthesis\n"|307->"130\nthe declaration of a parametric function\nthe keyword par\n"|308->"129\na list of type variable\nan opening parenthesis\n"|309->"128\nthe type variable of a parametric function\nan identifier (type variable)\n"|311->"127\na declaration of a parametric function\nthe name of the function\n"|312->"126\nthe type parameters of a function\nan opening parenthesis\n"|313->"125\nthe type parameters of a function\na sort (identifier or an opening parenthesis)\n"|315->"124\nthe return type of a function\na sort (identifier or an opening parenthesis)\n"|316->"123\na function declaration\na closing parenthesis\n"|366->"122\na non empty list of type variable\nan opening parenthesis\n"|367->"121\na list of type variable\nan identifier\n"|369->"120\na sort\nan identifier or an opening parenthesis\n"|370->"119\na constant declaration\na closing parenthesis\n"|371->"118\na constant declaration\na closing parenthesis\n"|498->"120\na parametric or monormorphic constant\nthe keyword par or a sort\n"|499->"122\na non empty list of type variable\nan opening parenthesis\n"|500->"121\na list of type variable\nan identifier\n"|502->"120\na sort\nan identifier or an opening parenthesis\n"|503->"119\na constant declaration\na closing parenthesis\n"|504->"118\na constant declaration\na closing parenthesis\n"|99->"117\na sort\nan identifier or an underscore\n"|0->"116\nan input statement\nan opening parenthesis to start a command\n"|1->"115\na command\na command name\n"|2->"114\na set-option command\nan attribute of the form \"keyword value?\"\n"|258->"171\na list of function declaration\na closing parenthesis to close the function declaration\n"|257->"170\na function declaration\na sort for the return type of the function\n"|255->"169\na function declaration\na sorted variable of the form \"(var sort)\"\n"|254->"168\na function declaration\nan opening parenthesis to start the list of arguments\n"|252->"167\na function declaration\na sort variable\n"|251->"166\na function declaration\nan opening parenthesis to start a list of sort variables to\nparameterize the function sort\n"|224->"165\na function definition\na closing parenthesis to close the parameterized definition\n"|221->"164\na function definition\na term for the body of the function\n"|220->"163\na function definition\na sort for the return type of the function\n"|216->"162\na function definition\na sorted variable of the form \"(var sort)\"\n"|215->"161\na function definition\nan opening parenthesis to start the list of arguments\nof the function\n"|212->"160\na function definition\na sort variable (symbol)\n"|211->"159\na function definition\nan opening parenthesis to start a list of sort variables to\nparameterize the function definition over\n"|3->"158\nan attribute\neither an attribute value as s-expression,\nanother attribute, or a closing parenthesis\n"|63->"113\na set-option command\na closing parenthesis, or an attribute value;\nnote that keywords and reserved words (such as '_', 'as', ...) are not\nvalid attribute values, and thus are not allowed here\n"|66->"112\na set-logic command\na symbol for the logic name\n"|67->"111\na set-logic command\na closing parenthesis\n"|69->"110\na set-info command\nan attribute of the form \"keyword value?\"\n"|70->"109\na set-info command\na closing parenthesis, or an attribute value;\nnote that keywords and reserved words (such as '_', 'as', ...) are not\nvalid attribute values, and thus are not allowed here\n"|72->"108\na reset-assertions command\na closing parenthesis\n"|405->"116\nan input statement\nan opening parenthesis to start a command\n"|74->"107\na reset command\na closing parenthesis\n"|76->"106\na push command\na numeral\n"|77->"105\na push command\na closing parenthesis\n"|79->"104\na pop command\na numeral\n"|80->"103\na pop command\na closing parenthesis\n"|82->"102\na get-value command\nan opening parenthesis to start a list of terms\n"|83->"101\na get-value command\na term\n"|173->"100\na get-value command\na closing parenthesis\n"|175->"099\na get-unsat-core command\na closing parenthesis\n"|177->"098\na get-unsat-assumptions command\na closing parenthesis\n"|179->"097\na get-proof command\na closing parenthesis\n"|181->"096\na get-option command\na keyword of the form \":symbol\"\n"|182->"095\na get-option command\na closing parenthesis\n"|184->"094\na get-model command\na closing parenthesis\n"|186->"093\na get-info command\na keyword of the form \":symbol\"\n"|188->"092\na get-info command\na closing parenthesis\n"|190->"091\na get-assignment command\na closing parenthesis\n"|192->"090\na get-assertions command\na closing parenthesis\n"|194->"089\nan exit command\na closing parenthesis\n"|196->"088\nan echo command\na string literal\n"|197->"087\nan echo command\na closing parenthesis\n"|199->"086\na sort definition\na symbol for the defined sort's name\n"|200->"085\na sort definition\nan opening parenthesis to start a list of arguments\n"|201->"084\na sort definition\na closing parenthesis, or a list of symbols for the definition arguments\n"|202->"154\na list of symbols\nanother symbol or a closing parenthesis\n"|205->"083\na sort definition\na sort for the definition body\n"|206->"082\na sort definition\na closing parenthesis\n"|208->"081\na recursive function definition\na symbol for the function's name\n"|209->"153\na function definition\nan opening parenthesis to start the list of arguments\n"|210->"152\na function definition\na sorted variable of the form \"(var sort)\", a closing parenthesis,\nor a parameterization of the form \"par (var+)\"\n"|217->"151\na list of sorted variables\nanother sorted variable of the form \"(var sort)\", or a closing parenthesis\n"|229->"150\na function definition\na sort for the return type of the function\n"|230->"149\na function definition\na term for the body of the function\n"|244->"080\na recursive function definition\na closing parenthesis\n"|246->"079\na recursive functions declaration\nan opening parenthesis to start a list of function declaration\n"|247->"078\na recursive functions definition\na function declaration of the form \"(name (sort*) sort)\",\nor \"(name (par (var+) (sort*) sort))\"\n"|248->"148\na function declaration\na symbol for the function name\n"|249->"147\na function declaration\nan opening parenthesis to start the list of arguments sorts\n"|250->"146\na function declaration\neither a sort for the first argument type, or a closing parenthesis\n"|261->"145\na function declaration\na sort for the return type of the function\n"|274->"144\na function declaration\na closing parenthesis\n"|275->"143\na list of function declarations\nanother function declaration, or a closing parenthesis\n"|278->"077\na recursive functions definition\nan opening parenthesis to start a list the function's bodies\n"|279->"076\na recursive functions definition\na term for the first function's body\n"|281->"075\na recursive functions definition\na closing parenthesis\n"|283->"074\na function definition\na symbol for the function's name\n"|284->"073\na function definition\na closing parenthesis\n"|286->"072\na sort declaration\na symbol for the sort name\n"|287->"071\na sort declaration\na numeral for the arity of the sort being declared\n"|288->"070\na sort declaration\na closing parenthesis\n"|290->"069\na function declaration\na symbol for the function's name\n"|298->"142\na list of sorts\nanother sort or a closing parenthesis\n"|318->"065\na function declaration\na closing parenthesis\n"|320->"064\na datatypes declaration\na list of sort declaration, starting with an opening parenthesis\n"|321->"063\na datatypes declaration\na parametric sort declaration of the form \"(symbol num)\"\n"|322->"141\na datatype arity declaration\na symbol for the datatype name\n"|323->"140\na datatype arity declaration\na numeral for the datatype arity\n"|324->"139\na datatype arity declaration\na closing parenthesis\n"|326->"138\na list of datatype arity declarations\nanother datatype arity declaration, or a closing parenthesis\n"|329->"062\na datatypes declaration\nan opening parenthesis to start a list of datatype definitions,\none for each of the sorts being declared\n"|330->"061\na datatypes definition\nan opening parenthesis to start a list of constructors for the first defined datatype\n"|357->"137\na list of datatype declarations\nanother datatype declaration, or a closing parenthesis\n"|355->"060\na datatypes declaration\na closing parenthesis\n"|359->"059\na datatype declaration\na symbol\n"|360->"058\na datatype declaration\nan opening parenthesis to start the datatype declaration\n"|331->"136\na datatype declaration\na list of constructor declarations of the form \"(symbol selector*)\",\nor a parameterization of the datatype of the form \"par (sort+)\"\n"|332->"135\na datatype declaration\nan opening parenthesis to start a list of sort parameters for the datatype\n"|333->"134\na list of sort variables to parameterize a datatype\na symbol\n"|226->"133\na list of sort variables to parameterize a datatype\nanother symbol, or a closing parenthesis\n"|335->"132\na datatype declaration\nan opening parenthesis to start the list of constructors\n"|336->"131\na datatype declaration\na constructor declaration of the form \"(symbol selector*)\"\n"|348->"130\na datatype declaration\na closing parenthesis\n"|337->"129\na constructor declaration\na symbol for the constructor name\n"|338->"128\na constructor declaration\na selector declaration, of the form \"(selector sort)\", or a closing parenthesis\n"|339->"127\na selector declaration\na symbol for the selector name\n"|340->"126\na selector declaration\na sort for the return type of the selector\n"|341->"125\na selector declaration\na closing parenthesis\n"|343->"124\na list of selectors\nanother selector of the form \"(selector sort)\", or a closing parenthesis\n"|350->"123\na list of constructor declarations\nanother constructor declaration of the form \"(constructor selectors*)\",\nor a closing parenthesis\n"|361->"057\na datatype declaration\na closing parenthesis\n"|363->"056\na constant declaration\na symbol;\nnote that keywords and reserved words (such as '_', 'as', ...) are not\nsymbols, and thus are not allowed here\n"|364->"055\na constant declaration\na sort\n"|373->"054\na constant declaration\na closing parenthesis\n"|100->"122\na sort\na sort to start a non-empty list of arguments\n"|101->"121\na list of sorts\na sort, or a closing parenthesis\n"|365->"120\na parametric or monormorphic constant\nthe keyword par or a sort\n"|375->"053\na check-sat-assuming command\na list of propositional literals, starting with an opening parenthesis\n"|376->"052\na list of propositional literals\na propositional literal, i.e. either a symbol or the negation of a symbol\n"|384->"119\na list of propositional literals\na propositional literal of the form \"symbol\" or \"(not symbol)\"\n"|377->"117\na propositional literal\nthe \"not\" symbol\n"|379->"047\na propositional literal\na symbol\n"|380->"046\na propositional literal\na closing parenthesis\n"|387->"051\na check-sat-assuming command\na closing parenthesis\n"|389->"050\na check-sat command\na closing parenthesis\n"|391->"048\na term\na term construction (symbol, function application, match, let binding, ...);\nnote that keywords and reserved words (such as '_', 'as', ...) are\nnot symbols, and thus are not allowed here\n"|400->"049\nan assertion\na closing parenthesis\n"|167->"044\na function application\na term as argument;\nnote that keywords and reserved words (such as '_', 'as', ...) are\nnot terms, and thus are not allowed here\n"|393->"177\na non-empty list of type variables\nan opening parenthesis\n"|394->"176\na non-empty list of type variables\na type variable\n"|396->"175\na term\na term construction (symbol, function application, match, let binding, ...);\nnote that keywords and reserved words (such as '_', 'as', ...) are\nnot symbols, and thus are not allowed here\n"|397->"174\na command\ntwo closing parenthesis\n"|398->"173\na command\na closing parenthesis\n"|516->"042\na term\na term construction (identifier, let binding, quantification, ...);\nnote that this expectation if caused by the preceding opening parenthesis\n"|392->"042\na term\na term construction (identifier, let binding, quantification, ...);\nnote that this expectation if caused by the preceding opening parenthesis\n"|108->"038\na match\na term to match (i.e. the scrutinee of the match)\n"|109->"037\na match\na match case list, starting with an opening parenthesis\n"|110->"036\na list of match cases\na match case of the form \"(pattern term)\"\n"|127->"031\na match\na closing parenthesis to close the match\n"|131->"027\na term\na variable binding list, starting with an opening parenthesis\n"|132->"026\na term\na variable binding of the form \"(var term)\"\n"|140->"021\na term\na term (body for the let binding)\n"|141->"020\na term\na closing parenthesis to end the let binding\n"|143->"019\na term\na list of sorted variables, starting with an opening parenthesis\n"|144->"018\na term\na sorted variable of the form \"(var sort)\"\n"|152->"013\na term\na term (body for the universal quantification)\n"|153->"012\na term\na closing parenthesis to end the universally quantified formula\n"|155->"011\na term\na list of sorted variables, starting with an opening parenthesis\n"|156->"010\na term\na sorted variable of the form \"(var sort)\"\n"|158->"009\na term\na term (body for the existencial quantification)\n"|159->"008\na term\na closing parenthesis to end the existencially quantified formula\n"|161->"007\na term with attribute\na term.\n"|162->"006\nattributes for a term\nan attribute of the form \"keyword value\"\n"|407->"116\nan input statement\nan opening parenthesis to start a command\n"|408->"115\na command\na command name\n"|409->"114\na set-option command\nan attribute of the form \"keyword value?\"\n"|410->"113\na set-option command\na closing parenthesis, or an attribute value;\nnote that keywords and reserved words (such as '_', 'as', ...) are not\nvalid attribute values, and thus are not allowed here\n"|412->"112\na set-logic command\na symbol for the logic name\n"|413->"111\na set-logic command\na closing parenthesis\n"|415->"110\na set-info command\nan attribute of the form \"keyword value?\"\n"|416->"109\na set-info command\na closing parenthesis, or an attribute value;\nnote that keywords and reserved words (such as '_', 'as', ...) are not\nvalid attribute values, and thus are not allowed here\n"|418->"108\na reset-assertions command\na closing parenthesis\n"|420->"107\na reset command\na closing parenthesis\n"|422->"106\na push command\na numeral\n"|423->"105\na push command\na closing parenthesis\n"|425->"104\na pop command\na numeral\n"|426->"103\na pop command\na closing parenthesis\n"|428->"102\na get-value command\nan opening parenthesis to start a list of terms\n"|429->"101\na get-value command\na term\n"|431->"100\na get-value command\na closing parenthesis\n"|433->"099\na get-unsat-core command\na closing parenthesis\n"|435->"098\na get-unsat-assumptions command\na closing parenthesis\n"|437->"097\na get-proof command\na closing parenthesis\n"|439->"096\na get-option command\na keyword of the form \":symbol\"\n"|440->"095\na get-option command\na closing parenthesis\n"|442->"094\na get-model command\na closing parenthesis\n"|444->"093\na get-info command\na keyword of the form \":symbol\"\n"|445->"092\na get-info command\na closing parenthesis\n"|447->"091\na get-assignment command\na closing parenthesis\n"|449->"090\na get-assertions command\na closing parenthesis\n"|451->"089\nan exit command\na closing parenthesis\n"|453->"088\nan echo command\na string literal\n"|454->"087\nan echo command\na closing parenthesis\n"|456->"086\na sort definition\na symbol for the defined sort's name\n"|457->"085\na sort definition\nan opening parenthesis to start a list of arguments\n"|458->"084\na sort definition\na closing parenthesis, or a list of symbols for the definition arguments\n"|460->"083\na sort definition\na sort for the definition body\n"|461->"082\na sort definition\na closing parenthesis\n"|463->"081\na recursive function definition\na symbol for the function's name\n"|464->"080\na recursive function definition\na closing parenthesis\n"|466->"079\na recursive functions declaration\nan opening parenthesis to start a list of function declaration\n"|467->"078\na recursive functions definition\na function declaration of the form \"(name (sort*) sort)\",\nor \"(name (par (var+) (sort*) sort))\"\n"|469->"077\na recursive functions definition\nan opening parenthesis to start a list the function's bodies\n"|470->"076\na recursive functions definition\na term for the first function's body\n"|472->"075\na recursive functions definition\na closing parenthesis\n"|474->"074\na function definition\na symbol for the function's name\n"|475->"073\na function definition\na closing parenthesis\n"|477->"072\na sort declaration\na symbol for the sort name\n"|478->"071\na sort declaration\na numeral for the arity of the sort being declared\n"|479->"070\na sort declaration\na closing parenthesis\n"|481->"069\na function declaration\na symbol for the function's name\n"|291->"068\na function declaration\nan opening parenthesis to start the list of sorts for the function's arguments\n"|292->"067\na function declaration\na closing parenthesis, or a list of sorts for the arguments of the function\n"|293->"184\nthe list of type variable of a function declaration\nan opening parenthesis\n"|294->"183\nthe type variable of a function declaration\na type variable\n"|296->"182\na function declaration\nan opening parenthesis for starting a possibly empty list of sorts\n"|297->"181\na function declaration\na sort or a closing parenthesis\n"|301->"180\na function declaration\nthe return sort\n"|302->"179\na function declaration\ntwo closing parenthesis\n"|305->"066\na function declaration\na sort for the return type of the function\n"|482->"065\na function declaration\na closing parenthesis\n"|484->"064\na datatypes declaration\na list of sort declaration, starting with an opening parenthesis\n"|485->"063\na datatypes declaration\na parametric sort declaration of the form \"(symbol num)\"\n"|487->"062\na datatypes declaration\nan opening parenthesis to start a list of datatype definitions,\none for each of the sorts being declared\n"|488->"061\na datatypes definition\nan opening parenthesis to start a list of constructors for the first defined datatype\n"|490->"060\na datatypes declaration\na closing parenthesis\n"|492->"059\na datatype declaration\na symbol\n"|493->"058\na datatype declaration\nan opening parenthesis to start the datatype declaration\n"|494->"057\na datatype declaration\na closing parenthesis\n"|496->"056\na constant declaration\na symbol;\nnote that keywords and reserved words (such as '_', 'as', ...) are not\nsymbols, and thus are not allowed here\n"|497->"055\na constant declaration\na sort\n"|506->"054\na constant declaration\na closing parenthesis\n"|508->"053\na check-sat-assuming command\na list of propositional literals, starting with an opening parenthesis\n"|509->"052\na list of propositional literals\na propositional literal, i.e. either a symbol or the negation of a symbol\n"|511->"051\na check-sat-assuming command\na closing parenthesis\n"|513->"050\na check-sat command\na closing parenthesis\n"|515->"048\na term\na term construction (symbol, function application, match, let binding, ...);\nnote that keywords and reserved words (such as '_', 'as', ...) are\nnot symbols, and thus are not allowed here\n"|524->"049\nan assertion\na closing parenthesis\n"|517->"177\na non-empty list of type variables\nan opening parenthesis\n"|518->"176\na non-empty list of type variables\na type variable\n"|520->"175\na term\na term construction (symbol, function application, match, let binding, ...);\nnote that keywords and reserved words (such as '_', 'as', ...) are\nnot symbols, and thus are not allowed here\n"|521->"174\na command\ntwo closing parenthesis\n"|522->"173\na command\na closing parenthesis\n"|529->"046\na term\na term construction (symbol, function application, match, let binding, ...);\nnote that keywords and reserved words (such as '_', 'as', ...) are\nnot symbols, and thus are not allowed here\n"|533->"041\nan indexed identifier\na symbol;\nnote that keywords and reserved words (such as '_', 'as', ...) are not\nsymbols, and thus are not allowed here\n"|534->"040\nan indexed identifier\nan index, i.e. either a numeral, a symbol, or a hexadecimal number;\nnote that keywords and reserved words (such as '_', 'as', ...) are not\nsymbols, and thus are not allowed here\n"|93->"045\nan index list\neither a closing parenthesis, or an index (i.e. a numeral, a symbol,\nor a hexadecimal);\nnote that keywords and reserved words (such as '_', 'as', ...) are\nnot symbols, and thus are not allowed here\n"|569->"044\na function application\na term as argument;\nnote that keywords and reserved words (such as '_', 'as', ...) are\nnot terms, and thus are not allowed here\n"|168->"043\na list of terms\neither a closing parenthesis, or another term;\nnote that keywords and reserved words (such as '_', 'as', ...) are\nnot terms, and thus are not allowed here\n"|85->"042\na term\na term construction (identifier, let binding, quantification, ...);\nnote that this expectation if caused by the preceding opening parenthesis\n"|532->"042\na term\na term construction (identifier, let binding, quantification, ...);\nnote that this expectation if caused by the preceding opening parenthesis\n"|86->"041\nan indexed identifier\na symbol;\nnote that keywords and reserved words (such as '_', 'as', ...) are not\nsymbols, and thus are not allowed here\n"|87->"040\nan indexed identifier\nan index, i.e. either a numeral, a symbol, or a hexadecimal number;\nnote that keywords and reserved words (such as '_', 'as', ...) are not\nsymbols, and thus are not allowed here\n"|95->"039\nan identifier in parentheses\neither an indexed identifier (starting with an underscore)\nor an 'as' type ascription;\nnote that this is because of the preceding opening parenthesis\n"|96->"004\na qualified identifier\nan identifier.\nNote that keywords (such as '_', 'as', ...) are not identifiers,\nand thus are not allowed here.\n"|98->"003\na qualified identifier\na sort, i.e. either an identifier, or a sort constructor application;\nnote that keywords (such as '_', 'as', ...) are none of these, and thus\nare not allowed here.\n"|106->"002\na qualified identifier\na closing parenthesis\n"|537->"038\na match\na term to match (i.e. the scrutinee of the match)\n"|538->"037\na match\na match case list, starting with an opening parenthesis\n"|539->"036\na list of match cases\na match case of the form \"(pattern term)\"\n"|111->"035\na match case\na pattern, i.e. either a symbol or a datatype pattern of\nthe form \"(symbol symbol+)\";\nnote that keywords and reserved words (such as '_', 'as', ...) are not\nsymbols, and thus are not allowed here\n"|120->"034\na match case\na term for the case body\n"|121->"033\na match case\na closing parenthesis to close the match case\n"|129->"032\na list of match cases\na closing parenthesis or a match case of the form \"(pattern body)\"\n"|541->"031\na match\na closing parenthesis to close the match\n"|113->"030\na pattern\na symbol (either a variable or a datatype constructor);\nnote that keywords and reserved words (such as '_', 'as', ...) are not\nsymbols, and thus are not allowed here\n"|114->"029\narguments of a constructor in a pattern\na symbol to bind the first constructor argument;\nnote that keywords and reserved words (such as '_', 'as', ...) are not\nsymbols, and thus are not allowed here\n"|115->"028\narguments of a constructor in a pattern\na closing parenthesis, or a symbol to bind the argument;\nnote that keywords and reserved words (such as '_', 'as', ...) are not\nsymbols, and thus are not allowed here\n"|543->"027\na term\na variable binding list, starting with an opening parenthesis\n"|544->"026\na term\na variable binding of the form \"(var term)\"\n"|133->"025\na variable binding\na symbol (i.e. variable name)\n"|134->"024\na variable binding\na term\n"|135->"023\na variable binding\na closing parenthesis\n"|137->"022\na list of variable binding\na closing parenthesis or a variable binding of the form \"(var term)\"\n"|546->"021\na term\na term (body for the let binding)\n"|547->"020\na term\na closing parenthesis to end the let binding\n"|549->"019\na term\na list of sorted variables, starting with an opening parenthesis\n"|550->"018\na term\na sorted variable of the form \"(var sort)\"\n"|145->"017\na sorted variable\na symbol, i.e. a variable name\n"|146->"016\na sorted variable\na sort, i.e. either an identifier, or a sort constructor application;\nnote that keywords and reserved words (such as '_', 'as', ...) are not\nidentifiers, and thus are not allowed here\n"|147->"015\na sorted variable\na closing parenthesis\n"|149->"014\na list of sorted variables\neither a closing parentheis, or a sorted var of the form \"(var sort)\"\n"|552->"013\na term\na term (body for the universal quantification)\n"|553->"012\na term\na closing parenthesis to end the universally quantified formula\n"|555->"011\na term\na list of sorted variables, starting with an opening parenthesis\n"|556->"010\na term\na sorted variable of the form \"(var sort)\"\n"|558->"009\na term\na term (body for the existencial quantification)\n"|559->"008\na term\na closing parenthesis to end the existencially quantified formula\n"|561->"007\na term with attribute\na term\n"|562->"006\na term\nan attribute of the form \"keyword value\"\n"|165->"005\nan attribute list\neither a closing parenthesis, or another attribute of the form\n\"keyword value\"\n"|565->"004\na qualified identifier\nan identifier;\nnote that keywords and reserved words (such as '_', 'as', ...) are not\nidentifiers, and thus are not allowed here\n"|566->"003\na qualified identifier\na sort, i.e. either an identifier, or a sort constructor application;\nnote that keywords and reserved words (such as '_', 'as', ...) are not\nidentifiers, and thus are not allowed here\n"|567->"002\na qualified identifier\na closing parenthesis\n"|97->"001\nan identifier\nan underscore: identifiers starting with an opening parenthesis must be\nindexed identifiers, of the form \"(_ symbol index+)\"\n"|_->raiseNot_found