(* auto-generated by gt *) open Smtlib_util;; type dummy = Dummy and an_option = | AnOptionAttribute of pd * attribute and attribute = | AttributeKeyword of pd * string | AttributeKeywordValue of pd * string * attributevalue and attributevalue = | AttributeValSpecConst of pd * specconstant | AttributeValSymbol of pd * symbol | AttributeValSexpr of pd * attributevalsexpr_attributevalue_sexpr5 and command = | CommandSetLogic of pd * symbol | CommandSetOption of pd * an_option | CommandSetInfo of pd * attribute | CommandDeclareSort of pd * symbol * string | CommandDefineSort of pd * symbol * commanddefinesort_command_symbol11 * sort | CommandDeclareFun of pd * symbol * commanddeclarefun_command_sort13 * sort | CommandDefineFun of pd * symbol * commanddefinefun_command_sortedvar15 * sort * term | CommandPush of pd * string | CommandPop of pd * string | CommandAssert of pd * term | CommandCheckSat of pd | CommandGetAssert of pd | CommandGetProof of pd | CommandGetUnsatCore of pd | CommandGetValue of pd * commandgetvalue_command_term24 | CommandGetAssign of pd | CommandGetOption of pd * string | CommandGetInfo of pd * infoflag | CommandExit of pd and commands = | Commands of pd * commands_commands_command30 and identifier = | IdSymbol of pd * symbol | IdUnderscoreSymNum of pd * symbol * idunderscoresymnum_identifier_numeral33 and infoflag = | InfoFlagKeyword of pd * string and qualidentifier = | QualIdentifierId of pd * identifier | QualIdentifierAs of pd * identifier * sort and sexpr = | SexprSpecConst of pd * specconstant | SexprSymbol of pd * symbol | SexprKeyword of pd * string | SexprInParen of pd * sexprinparen_sexpr_sexpr41 and sort = | SortIdentifier of pd * identifier | SortIdSortMulti of pd * identifier * sortidsortmulti_sort_sort44 and sortedvar = | SortedVarSymSort of pd * symbol * sort and specconstant = | SpecConstsDec of pd * string | SpecConstNum of pd * string | SpecConstString of pd * string | SpecConstsHex of pd * string | SpecConstsBinary of pd * string and symbol = | Symbol of pd * string | SymbolWithOr of pd * string and term = | TermSpecConst of pd * specconstant | TermQualIdentifier of pd * qualidentifier | TermQualIdTerm of pd * qualidentifier * termqualidterm_term_term56 | TermLetTerm of pd * termletterm_term_varbinding58 * term | TermForAllTerm of pd * termforallterm_term_sortedvar60 * term | TermExistsTerm of pd * termexiststerm_term_sortedvar62 * term | TermExclimationPt of pd * term * termexclimationpt_term_attribute64 and varbinding = | VarBindingSymTerm of pd * symbol * term and termexclimationpt_term_attribute64 = pd * ( attribute) list and termexiststerm_term_sortedvar62 = pd * ( sortedvar) list and termforallterm_term_sortedvar60 = pd * ( sortedvar) list and termletterm_term_varbinding58 = pd * ( varbinding) list and termqualidterm_term_term56 = pd * ( term) list and sortidsortmulti_sort_sort44 = pd * ( sort) list and sexprinparen_sexpr_sexpr41 = pd * ( sexpr) list and idunderscoresymnum_identifier_numeral33 = pd * ( string) list and commands_commands_command30 = pd * ( command) list and commandgetvalue_command_term24 = pd * ( term) list and commanddefinefun_command_sortedvar15 = pd * ( sortedvar) list and commanddeclarefun_command_sort13 = pd * ( sort) list and commanddefinesort_command_symbol11 = pd * ( symbol) list and attributevalsexpr_attributevalue_sexpr5 = pd * ( sexpr) list;; (* pd stands for pos (position) and extradata *) let dummy () = () and pd_an_option = function | AnOptionAttribute(d,_) -> d and pd_attribute = function | AttributeKeyword(d,_) -> d | AttributeKeywordValue(d,_,_) -> d and pd_attributevalue = function | AttributeValSpecConst(d,_) -> d | AttributeValSymbol(d,_) -> d | AttributeValSexpr(d,_) -> d and pd_command = function | CommandSetLogic(d,_) -> d | CommandSetOption(d,_) -> d | CommandSetInfo(d,_) -> d | CommandDeclareSort(d,_,_) -> d | CommandDefineSort(d,_,_,_) -> d | CommandDeclareFun(d,_,_,_) -> d | CommandDefineFun(d,_,_,_,_) -> d | CommandPush(d,_) -> d | CommandPop(d,_) -> d | CommandAssert(d,_) -> d | CommandCheckSat(d) -> d | CommandGetAssert(d) -> d | CommandGetProof(d) -> d | CommandGetUnsatCore(d) -> d | CommandGetValue(d,_) -> d | CommandGetAssign(d) -> d | CommandGetOption(d,_) -> d | CommandGetInfo(d,_) -> d | CommandExit(d) -> d and pd_commands = function | Commands(d,_) -> d and pd_identifier = function | IdSymbol(d,_) -> d | IdUnderscoreSymNum(d,_,_) -> d and pd_infoflag = function | InfoFlagKeyword(d,_) -> d and pd_qualidentifier = function | QualIdentifierId(d,_) -> d | QualIdentifierAs(d,_,_) -> d and pd_sexpr = function | SexprSpecConst(d,_) -> d | SexprSymbol(d,_) -> d | SexprKeyword(d,_) -> d | SexprInParen(d,_) -> d and pd_sort = function | SortIdentifier(d,_) -> d | SortIdSortMulti(d,_,_) -> d and pd_sortedvar = function | SortedVarSymSort(d,_,_) -> d and pd_specconstant = function | SpecConstsDec(d,_) -> d | SpecConstNum(d,_) -> d | SpecConstString(d,_) -> d | SpecConstsHex(d,_) -> d | SpecConstsBinary(d,_) -> d and pd_symbol = function | Symbol(d,_) -> d | SymbolWithOr(d,_) -> d and pd_term = function | TermSpecConst(d,_) -> d | TermQualIdentifier(d,_) -> d | TermQualIdTerm(d,_,_) -> d | TermLetTerm(d,_,_) -> d | TermForAllTerm(d,_,_) -> d | TermExistsTerm(d,_,_) -> d | TermExclimationPt(d,_,_) -> d and pd_varbinding = function | VarBindingSymTerm(d,_,_) -> d and pd_termexclimationpt_term_attribute64 = function | (d,[]) -> d | (d,( _ )::f1239o2) -> d and pd_termexiststerm_term_sortedvar62 = function | (d,[]) -> d | (d,( _ )::f1239o2) -> d and pd_termforallterm_term_sortedvar60 = function | (d,[]) -> d | (d,( _ )::f1239o2) -> d and pd_termletterm_term_varbinding58 = function | (d,[]) -> d | (d,( _ )::f1239o2) -> d and pd_termqualidterm_term_term56 = function | (d,[]) -> d | (d,( _ )::f1239o2) -> d and pd_sortidsortmulti_sort_sort44 = function | (d,[]) -> d | (d,( _ )::f1239o2) -> d and pd_sexprinparen_sexpr_sexpr41 = function | (d,[]) -> d | (d,( _ )::f1239o2) -> d and pd_idunderscoresymnum_identifier_numeral33 = function | (d,[]) -> d | (d,( _ )::f1239o2) -> d and pd_commands_commands_command30 = function | (d,[]) -> d | (d,( _ )::f1239o2) -> d and pd_commandgetvalue_command_term24 = function | (d,[]) -> d | (d,( _ )::f1239o2) -> d and pd_commanddefinefun_command_sortedvar15 = function | (d,[]) -> d | (d,( _ )::f1239o2) -> d and pd_commanddeclarefun_command_sort13 = function | (d,[]) -> d | (d,( _ )::f1239o2) -> d and pd_commanddefinesort_command_symbol11 = function | (d,[]) -> d | (d,( _ )::f1239o2) -> d and pd_attributevalsexpr_attributevalue_sexpr5 = function | (d,[]) -> d | (d,( _ )::f1239o2) -> d ;; let pd e = pd_commands e;;