# HG changeset patch # User wenzelm # Date 903978780 -7200 # Node ID 610abcc48c5df83c9ed8dfdc897a06e614033980 # Parent e27558a68b8d8c0f661c1e4d03d75850d366d305 SYNC; diff -r e27558a68b8d -r 610abcc48c5d doc-src/Ref/ref.ind --- a/doc-src/Ref/ref.ind Mon Aug 24 19:12:13 1998 +0200 +++ b/doc-src/Ref/ref.ind Mon Aug 24 19:13:00 1998 +0200 @@ -25,38 +25,38 @@ \item {\tt abstract_over}, \bold{61} \item {\tt abstract_rule}, \bold{45} \item {\tt aconv}, \bold{61} - \item {\tt addaltern}, \bold{134} - \item {\tt addbefore}, \bold{133} + \item {\tt addaltern}, \bold{135} + \item {\tt addbefore}, \bold{134} \item {\tt Addcongs}, \bold{105} - \item {\tt addcongs}, \bold{109}, 124, 125 - \item {\tt AddDs}, \bold{138} - \item {\tt addDs}, \bold{132} - \item {\tt addeqcongs}, \bold{109}, 124 - \item {\tt AddEs}, \bold{138} - \item {\tt addEs}, \bold{132} - \item {\tt AddIs}, \bold{138} - \item {\tt addIs}, \bold{132} + \item {\tt addcongs}, \bold{109}, 125, 126 + \item {\tt AddDs}, \bold{139} + \item {\tt addDs}, \bold{133} + \item {\tt addeqcongs}, \bold{109}, 125 + \item {\tt AddEs}, \bold{139} + \item {\tt addEs}, \bold{133} + \item {\tt AddIs}, \bold{139} + \item {\tt addIs}, \bold{133} \item {\tt addloop}, \bold{112} - \item {\tt addSaltern}, \bold{133} - \item {\tt addSbefore}, \bold{133} - \item {\tt AddSDs}, \bold{138} - \item {\tt addSDs}, \bold{132} - \item {\tt AddSEs}, \bold{138} - \item {\tt addSEs}, \bold{132} + \item {\tt addSaltern}, \bold{134} + \item {\tt addSbefore}, \bold{134} + \item {\tt AddSDs}, \bold{139} + \item {\tt addSDs}, \bold{133} + \item {\tt AddSEs}, \bold{139} + \item {\tt addSEs}, \bold{133} \item {\tt Addsimprocs}, \bold{105} \item {\tt addsimprocs}, \bold{108} \item {\tt Addsimps}, \bold{105} - \item {\tt addsimps}, \bold{108}, 125 - \item {\tt AddSIs}, \bold{138} - \item {\tt addSIs}, \bold{132} + \item {\tt addsimps}, \bold{108}, 126 + \item {\tt AddSIs}, \bold{139} + \item {\tt addSIs}, \bold{133} \item {\tt addSolver}, \bold{111} - \item {\tt addsplits}, \bold{112}, 124, 126 - \item {\tt addss}, \bold{134}, 135 + \item {\tt addsplits}, \bold{112}, 125, 127 + \item {\tt addss}, \bold{135}, 136 \item {\tt addSSolver}, \bold{111} - \item {\tt addSWrapper}, \bold{133} - \item {\tt addWrapper}, \bold{133} + \item {\tt addSWrapper}, \bold{134} + \item {\tt addWrapper}, \bold{134} \item {\tt all_tac}, \bold{31} - \item {\tt ALLGOALS}, \bold{35}, 116, 119 + \item {\tt ALLGOALS}, \bold{35}, 116, 120 \item ambiguity \subitem of parsed expressions, 79 \item {\tt ancestors_of}, \bold{59} @@ -67,27 +67,27 @@ \item {\tt aprop} nonterminal, \bold{70} \item {\tt ares_tac}, \bold{20} \item {\tt args} nonterminal, 93 - \item {\tt Arith} theory, 118 + \item {\tt Arith} theory, 119 \item arities \subitem context conditions, 54 \item {\tt Asm_full_simp_tac}, \bold{104} \item {\tt asm_full_simp_tac}, 23, \bold{112}, 117 \item {\tt asm_full_simplify}, 113 \item {\tt asm_rl} theorem, 22 - \item {\tt Asm_simp_tac}, \bold{103}, 114 + \item {\tt Asm_simp_tac}, \bold{103}, 115 \item {\tt asm_simp_tac}, \bold{112}, 125 \item {\tt asm_simplify}, 113 \item associative-commutative operators, 118 \item {\tt assume}, \bold{44} - \item {\tt assume_ax}, 9, \bold{57} - \item {\tt assume_tac}, \bold{18}, 131 + \item {\tt assume_ax}, 9, \bold{58} + \item {\tt assume_tac}, \bold{18}, 132 \item {\tt assumption}, \bold{47} \item assumptions - \subitem contradictory, 138 + \subitem contradictory, 139 \subitem deleting, 23 \subitem in simplification, 103, 111 \subitem inserting, 20 - \subitem negated, 129 + \subitem negated, 130 \subitem of main goal, 8--10, 15 \subitem reordering, 117 \subitem rotating, 23 @@ -97,8 +97,8 @@ \subitem made from parse trees, 84 \subitem made from terms, 86 \item {\tt atac}, \bold{20} - \item {\tt Auto_tac}, \bold{138} - \item {\tt auto_tac} $(cs,ss)$, \bold{136} + \item {\tt Auto_tac}, \bold{139} + \item {\tt auto_tac} $(cs,ss)$, \bold{137} \item {\tt axclass} section, 53 \item axiomatic type class, 53 \item axioms @@ -115,19 +115,19 @@ \item {\tt be}, \bold{12} \item {\tt bes}, \bold{12} \item {\tt BEST_FIRST}, \bold{32}, 33 - \item {\tt Best_tac}, \bold{138} - \item {\tt best_tac}, \bold{136} + \item {\tt Best_tac}, \bold{139} + \item {\tt best_tac}, \bold{137} \item {\tt beta_conversion}, \bold{45} \item {\tt bicompose}, \bold{48} \item {\tt bimatch_tac}, \bold{24} \item {\tt bind_thm}, \bold{9}, 10, 38 \item binders, \bold{78} \item {\tt biresolution}, \bold{47} - \item {\tt biresolve_tac}, \bold{24}, 139 - \item {\tt Blast.depth_tac}, \bold{135} - \item {\tt Blast.trace}, \bold{135} - \item {\tt Blast_tac}, \bold{138} - \item {\tt blast_tac}, \bold{135} + \item {\tt biresolve_tac}, \bold{24}, 140 + \item {\tt Blast.depth_tac}, \bold{136} + \item {\tt Blast.trace}, \bold{136} + \item {\tt Blast_tac}, \bold{139} + \item {\tt blast_tac}, \bold{136} \item {\tt Bound}, \bold{60}, 84, 86, 87 \item {\tt bound_hyp_subst_tac}, \bold{100} \item {\tt br}, \bold{12} @@ -145,20 +145,20 @@ \item {\tt CHANGED}, \bold{31} \item {\tt chop}, \bold{10}, 14 \item {\tt choplev}, \bold{10} - \item {\tt Clarify_step_tac}, \bold{138} - \item {\tt clarify_step_tac}, \bold{134} - \item {\tt Clarify_tac}, \bold{138} - \item {\tt clarify_tac}, \bold{134} + \item {\tt Clarify_step_tac}, \bold{139} + \item {\tt clarify_step_tac}, \bold{135} + \item {\tt Clarify_tac}, \bold{139} + \item {\tt clarify_tac}, \bold{135} \item claset - \subitem current, 138 - \item {\tt claset} ML type, 131 + \subitem current, 139 + \item {\tt claset} ML type, 132 \item classes \subitem context conditions, 54 - \item classical reasoner, 127--140 - \subitem setting up, 139 - \subitem tactics, 134 - \item classical sets, 131 - \item {\tt ClassicalFun}, 139 + \item classical reasoner, 128--141 + \subitem setting up, 140 + \subitem tactics, 135 + \item classical sets, 132 + \item {\tt ClassicalFun}, 140 \item {\tt combination}, \bold{45} \item {\tt commit}, \bold{2} \item {\tt COMP}, \bold{47} @@ -173,7 +173,7 @@ \subitem for translations, 73 \subitem syntactic, 88 \item {\tt context}, 103 - \item {\tt contr_tac}, \bold{138} + \item {\tt contr_tac}, \bold{139} \item {\tt could_unify}, \bold{26} \item {\tt cprems_of}, \bold{41} \item {\tt cprop_of}, \bold{40} @@ -192,8 +192,8 @@ \indexspace \item {\tt datatype}, 105 - \item {\tt Deepen_tac}, \bold{138} - \item {\tt deepen_tac}, \bold{137} + \item {\tt Deepen_tac}, \bold{139} + \item {\tt deepen_tac}, \bold{138} \item {\tt defer_tac}, \bold{21} \item definitions, \see{rewriting, meta-level}{1}, 21, \bold{54} \subitem unfolding, 8, 9 @@ -202,18 +202,18 @@ \item {\tt deleqcongs}, \bold{109} \item {\tt delete_tmpfiles}, \bold{55} \item delimiters, \bold{70}, 73, 74, 76 - \item {\tt delrules}, \bold{132} + \item {\tt delrules}, \bold{133} \item {\tt Delsimprocs}, \bold{105} \item {\tt delsimprocs}, \bold{108} \item {\tt Delsimps}, \bold{105} \item {\tt delsimps}, \bold{108} - \item {\tt delSWrapper}, \bold{133} - \item {\tt delWrapper}, \bold{134} + \item {\tt delSWrapper}, \bold{134} + \item {\tt delWrapper}, \bold{135} \item {\tt dependent_tr'}, 94, \bold{96} \item {\tt DEPTH_FIRST}, \bold{32} \item {\tt DEPTH_SOLVE}, \bold{32} \item {\tt DEPTH_SOLVE_1}, \bold{32} - \item {\tt depth_tac}, \bold{137} + \item {\tt depth_tac}, \bold{138} \item {\tt Deriv.drop}, \bold{49} \item {\tt Deriv.linear}, \bold{49} \item {\tt Deriv.size}, \bold{49} @@ -240,11 +240,11 @@ \item elim-resolution, 17 \item {\tt ematch_tac}, \bold{18} \item {\tt empty} constant, 92 - \item {\tt empty_cs}, \bold{132} + \item {\tt empty_cs}, \bold{133} \item {\tt empty_ss}, \bold{106} - \item {\tt eq_assume_tac}, \bold{18}, 131 + \item {\tt eq_assume_tac}, \bold{18}, 132 \item {\tt eq_assumption}, \bold{47} - \item {\tt eq_mp_tac}, \bold{139} + \item {\tt eq_mp_tac}, \bold{140} \item {\tt eq_reflection} theorem, \bold{102}, 122 \item {\tt eq_thm}, \bold{33} \item {\tt eq_thy}, \bold{58} @@ -276,8 +276,8 @@ \indexspace \item {\tt fa}, \bold{12} - \item {\tt Fast_tac}, \bold{138} - \item {\tt fast_tac}, \bold{136} + \item {\tt Fast_tac}, \bold{139} + \item {\tt fast_tac}, \bold{137} \item {\tt fd}, \bold{12} \item {\tt fds}, \bold{12} \item {\tt fe}, \bold{12} @@ -310,8 +310,8 @@ \item {\tt forall_intr_frees}, \bold{46} \item {\tt forall_intr_list}, \bold{46} \item {\tt force_strip_shyps}, \bold{41} - \item {\tt Force_tac}, \bold{138} - \item {\tt force_tac}, \bold{136} + \item {\tt Force_tac}, \bold{139} + \item {\tt force_tac}, \bold{137} \item {\tt forw_inst_tac}, \bold{19} \item forward proof, 18, 38 \item {\tt forward_tac}, \bold{18} @@ -344,8 +344,8 @@ \item higher-order pattern, \bold{108} \item {\tt HOL_basic_ss}, \bold{107} \item {\tt hyp_subst_tac}, \bold{100} - \item {\tt hyp_subst_tacs}, \bold{140} - \item {\tt HypsubstFun}, 101, 140 + \item {\tt hyp_subst_tacs}, \bold{141} + \item {\tt HypsubstFun}, 101, 141 \indexspace @@ -366,7 +366,7 @@ \item {\tt indexname} ML type, 60, 71 \item infixes, \bold{77} \item {\tt insert} constant, 92 - \item {\tt inst_step_tac}, \bold{137} + \item {\tt inst_step_tac}, \bold{138} \item {\tt instance} section, 53 \item {\tt instantiate}, \bold{46} \item {\tt instantiate'}, \bold{39}, 46 @@ -378,7 +378,7 @@ \indexspace - \item {\tt joinrules}, \bold{139} + \item {\tt joinrules}, \bold{140} \indexspace @@ -403,29 +403,29 @@ \indexspace \item macros, 88--94 - \item {\tt make_elim}, \bold{40}, 132 + \item {\tt make_elim}, \bold{40}, 133 \item {\tt Match} exception, 95 - \item {\tt match_tac}, \bold{18}, 131 + \item {\tt match_tac}, \bold{18}, 132 \item {\tt max_pri}, 68, \bold{74} \item {\tt merge_ss}, \bold{107} - \item {\tt merge_theories}, \bold{58} + \item {\tt merge_theories}, \bold{59} \item meta-assumptions, 34, 42, 44, 47 \subitem printing of, 4 \item meta-equality, 43--45 \item meta-implication, 43, 44 \item meta-quantifiers, 43, 45 \item meta-rewriting, 8, 13, 14, \bold{21}, - \seealso{tactics, theorems}{141} + \seealso{tactics, theorems}{142} \subitem in theorems, 39 \item meta-rules, \see{meta-rules}{1}, 42--48 \item {\tt METAHYPS}, 16, \bold{34} \item mixfix declarations, 52, 73--78 - \item {\tt mk_case_split_tac}, \bold{125} - \item {\tt mk_simproc}, \bold{120} - \item {\tt ML} section, 53, 95, 97 + \item {\tt mk_case_split_tac}, \bold{126} + \item {\tt mk_simproc}, \bold{121} + \item {\tt ML} section, 54, 95, 97 \item model checkers, 79 - \item {\tt mp} theorem, \bold{139} - \item {\tt mp_tac}, \bold{139} + \item {\tt mp} theorem, \bold{140} + \item {\tt mp_tac}, \bold{140} \item {\tt MRL}, \bold{38} \item {\tt MRS}, \bold{38} @@ -439,7 +439,8 @@ \item {\tt net_resolve_tac}, \bold{25} \item {\tt no_tac}, \bold{31} \item {\tt None}, \bold{27} - \item {\tt not_elim} theorem, \bold{140} + \item {\tt nonterminal} symbols, 52 + \item {\tt not_elim} theorem, \bold{141} \item {\tt nprems_of}, \bold{41} \item numerals, 70 @@ -477,8 +478,7 @@ \item {\tt prin}, 6, \bold{15} \item print mode, 52, 97 \item print modes, 78--79 - \item {\tt print_cs}, \bold{132} - \item {\tt print_data}, \bold{59} + \item {\tt print_cs}, \bold{133} \item {\tt print_depth}, \bold{4} \item {\tt print_exn}, \bold{6}, 37 \item {\tt print_goals}, \bold{38} @@ -531,7 +531,7 @@ \indexspace - \item {\tt qed}, \bold{9}, 10, 57 + \item {\tt qed}, \bold{9}, 10, 58 \item {\tt qed_goal}, \bold{14} \item {\tt qed_goalw}, \bold{14} \item quantifiers, 78 @@ -552,7 +552,7 @@ \item {\tt rename_last_tac}, \bold{22} \item {\tt rename_params_rule}, \bold{48} \item {\tt rename_tac}, \bold{22} - \item {\tt rep_cs}, \bold{132} + \item {\tt rep_cs}, \bold{133} \item {\tt rep_cterm}, \bold{62} \item {\tt rep_ctyp}, \bold{64} \item {\tt rep_ss}, \bold{106} @@ -568,19 +568,19 @@ \item resolution, 38, 47 \subitem tactics, 17 \subitem without lifting, 47 - \item {\tt resolve_tac}, \bold{17}, 131 + \item {\tt resolve_tac}, \bold{17}, 132 \item {\tt restore_proof}, \bold{15} - \item {\tt result}, \bold{9}, 16, 57 + \item {\tt result}, \bold{9}, 16, 58 \item {\tt rev_mp} theorem, \bold{102} \item rewrite rules, 107--108 - \subitem permutative, 117--120 + \subitem permutative, 118--120 \item {\tt rewrite_goals_rule}, \bold{39} \item {\tt rewrite_goals_tac}, \bold{21}, 39 \item {\tt rewrite_rule}, \bold{39} \item {\tt rewrite_tac}, 9, \bold{21} \item rewriting \subitem object-level, \see{simplification}{1} - \subitem ordered, 117 + \subitem ordered, 118 \subitem syntactic, 88--94 \item {\tt rewtac}, \bold{20} \item {\tt RL}, \bold{38} @@ -598,10 +598,10 @@ \indexspace \item {\tt safe_asm_full_simp_tac}, \bold{113} - \item {\tt Safe_step_tac}, \bold{138} - \item {\tt safe_step_tac}, 133, \bold{137} - \item {\tt Safe_tac}, \bold{138} - \item {\tt safe_tac}, \bold{137} + \item {\tt Safe_step_tac}, \bold{139} + \item {\tt safe_step_tac}, 134, \bold{138} + \item {\tt Safe_tac}, \bold{139} + \item {\tt safe_tac}, \bold{138} \item {\tt save_proof}, \bold{15} \item saving your work, \bold{1} \item search, 29 @@ -609,15 +609,18 @@ \item {\tt SELECT_GOAL}, 21, \bold{34} \item {\tt Seq.seq} ML type, 26 \item sequences (lazy lists), \bold{27} - \item sequent calculus, 128 + \item sequent calculus, 129 \item sessions, 1--6 \item {\tt set}, 3 \item {\tt setloop}, \bold{112} - \item {\tt setmksimps}, 108, \bold{123}, 125 - \item {\tt setSolver}, \bold{111}, 125 - \item {\tt setSSolver}, \bold{111}, 125 - \item {\tt setsubgoaler}, \bold{110}, 125 - \item {\tt settermless}, \bold{117} + \item {\tt setmksimps}, 108, \bold{123}, 126 + \item {\tt setSolver}, \bold{111}, 126 + \item {\tt setSSolver}, \bold{111}, 126 + \item {\tt setsubgoaler}, \bold{110}, 126 + \item {\tt settermless}, \bold{118} + \item {\tt setup} + \subitem simplifier, 127 + \subitem theory, 53 \item shortcuts \subitem for \texttt{by} commands, 11 \subitem for tactics, 20 @@ -637,12 +640,19 @@ \item signatures, \bold{51}, 59, 61, 62, 64 \item {\tt Simp_tac}, \bold{103} \item {\tt simp_tac}, \bold{112} - \item simplification, 103--126 + \item simplification, 103--127 + \subitem conversions, 113 \subitem forward rules, 113 - \subitem from classical reasoner, 134 - \subitem setting up, 121 + \subitem from classical reasoner, 135 + \subitem setting up, 122 + \subitem setting up the theory, 127 \subitem tactics, 112 \item simplification sets, 106 + \item {\tt Simplifier.asm_full_rewrite}, 113 + \item {\tt Simplifier.asm_rewrite}, 113 + \item {\tt Simplifier.full_rewrite}, 113 + \item {\tt Simplifier.rewrite}, 113 + \item {\tt Simplifier.setup}, \bold{127} \item {\tt simplify}, 113 \item {\tt SIMPSET}, \bold{113} \item simpset @@ -652,12 +662,11 @@ \item {\tt simpset_of}, \bold{107} \item {\tt simpset_ref}, \bold{107} \item {\tt simpset_ref_of}, \bold{107} - \item {\tt simpset_thy_data}, \bold{126} - \item {\tt size_of_thm}, 32, \bold{33}, 140 - \item {\tt sizef}, \bold{140} - \item {\tt slow_best_tac}, \bold{136} - \item {\tt slow_step_tac}, 133, \bold{137} - \item {\tt slow_tac}, \bold{136} + \item {\tt size_of_thm}, 32, \bold{33}, 141 + \item {\tt sizef}, \bold{141} + \item {\tt slow_best_tac}, \bold{137} + \item {\tt slow_step_tac}, 134, \bold{138} + \item {\tt slow_tac}, \bold{137} \item {\tt Some}, \bold{27} \item {\tt SOMEGOAL}, \bold{35} \item {\tt sort} nonterminal, \bold{70} @@ -665,14 +674,14 @@ \item sort hypotheses, 41 \item sorts \subitem printing of, 4 - \item {\tt split_tac}, \bold{125} + \item {\tt split_tac}, \bold{126} \item {\tt ssubst} theorem, \bold{99} \item {\tt stac}, \bold{100} \item stamps, \bold{51}, 59 \item {\tt standard}, \bold{40} \item starting up, \bold{1} - \item {\tt Step_tac}, \bold{138} - \item {\tt step_tac}, 133, \bold{137} + \item {\tt Step_tac}, \bold{139} + \item {\tt step_tac}, 134, \bold{138} \item {\tt store_thm}, \bold{9} \item {\tt string_of_cterm}, \bold{62} \item {\tt string_of_ctyp}, \bold{63} @@ -687,9 +696,9 @@ \item substitution \subitem rules, 99 \item {\tt subthy}, \bold{58} - \item {\tt swap} theorem, \bold{140} - \item {\tt swap_res_tac}, \bold{139} - \item {\tt swapify}, \bold{139} + \item {\tt swap} theorem, \bold{141} + \item {\tt swap_res_tac}, \bold{140} + \item {\tt swapify}, \bold{140} \item {\tt sym} theorem, 100, \bold{102} \item {\tt symmetric}, \bold{45} \item {\tt syn_of}, \bold{72} @@ -729,9 +738,9 @@ \subitem debugging, 15 \subitem filtering results of, 31 \subitem for composition, 24 - \subitem for contradiction, 138 + \subitem for contradiction, 139 \subitem for inserting facts, 20 - \subitem for Modus Ponens, 138 + \subitem for Modus Ponens, 139 \subitem instantiation, 19 \subitem matching, 18 \subitem meta-rewriting, 20, \bold{21} @@ -771,7 +780,7 @@ \subitem loading, 55 \subitem parent, \bold{51} \subitem pseudo, \bold{56} - \subitem reloading, \bold{55} + \subitem reloading, \bold{56} \subitem removing, \bold{56} \subitem theorems of, 57 \item {\tt THEORY} exception, 51, 57 @@ -784,7 +793,6 @@ \item {\tt thm} ML type, 37 \item {\tt thms_containing}, \bold{10} \item {\tt thms_of}, \bold{57} - \item {\tt thy_data}, \bold{126} \item {\tt tid} nonterminal, \bold{70}, 84, 91 \item {\tt time_use}, \bold{3} \item {\tt time_use_thy}, \bold{55} @@ -802,7 +810,7 @@ \item {\tt trace_REPEAT}, \bold{30} \item {\tt trace_simp}, \bold{104}, 115 \item tracing - \subitem of classical prover, 135 + \subitem of classical prover, 136 \subitem of macros, 92 \subitem of searching tacticals, 32 \subitem of simplification, 105, 115--116 @@ -844,7 +852,7 @@ \item unknowns, \bold{60}, 70 \item {\tt unlink_thy}, \bold{56} \item {\tt update}, \bold{56} - \item {\tt uresult}, \bold{9}, 16, 57 + \item {\tt uresult}, \bold{9}, 16, 58 \item {\tt use}, \bold{3} \item {\tt use_thy}, \bold{55} diff -r e27558a68b8d -r 610abcc48c5d doc-src/Ref/ref.rao --- a/doc-src/Ref/ref.rao Mon Aug 24 19:12:13 1998 +0200 +++ b/doc-src/Ref/ref.rao Mon Aug 24 19:13:00 1998 +0200 @@ -1,7 +1,7 @@ % This file was generated by 'rail' from 'ref.rai' \rail@t {lbrace} \rail@t {rbrace} -\rail@i {1}{ \par theoryDef : id '=' (name + '+') ('+' extension | ()) ; \par name: id | string ; \par extension : (section +) 'end' ( () | ml ) ; \par section : classes | default | types | arities | consts | syntax | trans | defs | constdefs | rules | axclass | instance | oracle | local | global ; \par classes : 'classes' ( classDecl + ) ; \par classDecl : (id (() | '<' (id + ','))) ; \par default : 'default' sort ; \par sort : id | lbrace (id * ',') rbrace ; \par types : 'types' ( ( typeDecl ( () | '(' infix ')' ) ) + ) ; \par infix : ( 'infixr' | 'infixl' ) (() | string) nat ; \par typeDecl : typevarlist name ( () | '=' ( string | type ) ); \par typevarlist : () | tid | '(' ( tid + ',' ) ')'; \par type : simpleType | '(' type ')' | type '=>' type | '[' ( type + "," ) ']' '=>' type; \par simpleType: id | ( tid ( () | '::' id ) ) | '(' ( type + "," ) ')' id | simpleType id ; \par arities : 'arities' ((name + ',') '::' arity +) ; \par arity : ( () | '(' (sort + ',') ')' ) sort ; \par consts : 'consts' ( mixfixConstDecl + ) ; \par syntax : 'syntax' (() | mode) ( mixfixConstDecl + ); \par mode : '(' name (() | 'output') ')' ; \par mixfixConstDecl : constDecl (() | ( '(' mixfix ')' )) ; \par constDecl : ( name + ',') '::' (string | type); \par mixfix : string ( () | ( () | ('[' (nat + ',') ']')) nat ) | infix | 'binder' string nat ; \par trans : 'translations' ( pat ( '==' | '=>' | '<=' ) pat + ) ; \par pat : ( () | ( '(' id ')' ) ) string; \par rules : 'rules' (( id string ) + ) ; \par defs : 'defs' (( id string ) + ) ; \par constdefs : 'constdefs' (name '::' (string | type) (() | mixfix) string +) ; \par axclass : 'axclass' classDecl (() | ( id string ) +) ; \par instance : 'instance' ( name '<' name | name '::' arity) witness ; \par witness : (() | '(' ((string | longident) + ',') ')') (() | verbatim) ; \par oracle : 'oracle' name '=' name ; \par local : 'local' ; \par global : 'global' ; \par ml : 'ML' text ; \par } +\rail@i {1}{ \par theoryDef : id '=' (name + '+') ('+' extension | ()) ; \par name : id | string ; \par extension : (section +) 'end' ( () | ml ) ; \par section : classes | default | types | arities | nonterminals | consts | syntax | trans | defs | constdefs | rules | axclass | instance | oracle | local | global | setup ; \par classes : 'classes' ( classDecl + ) ; \par classDecl : (id (() | '<' (id + ','))) ; \par default : 'default' sort ; \par sort : id | lbrace (id * ',') rbrace ; \par types : 'types' ( ( typeDecl ( () | '(' infix ')' ) ) + ) ; \par infix : ( 'infixr' | 'infixl' ) (() | string) nat ; \par typeDecl : typevarlist name ( () | '=' ( string | type ) ); \par typevarlist : () | tid | '(' ( tid + ',' ) ')'; \par type : simpleType | '(' type ')' | type '=>' type | '[' ( type + "," ) ']' '=>' type; \par simpleType: id | ( tid ( () | '::' id ) ) | '(' ( type + "," ) ')' id | simpleType id ; \par arities : 'arities' ((name + ',') '::' arity +) ; \par arity : ( () | '(' (sort + ',') ')' ) sort ; \par nonterminals : 'nonterminals' (name+) ; \par consts : 'consts' ( mixfixConstDecl + ) ; \par syntax : 'syntax' (() | mode) ( mixfixConstDecl + ); \par mode : '(' name (() | 'output') ')' ; \par mixfixConstDecl : constDecl (() | ( '(' mixfix ')' )) ; \par constDecl : ( name + ',') '::' (string | type); \par mixfix : string ( () | ( () | ('[' (nat + ',') ']')) nat ) | infix | 'binder' string nat ; \par trans : 'translations' ( pat ( '==' | '=>' | '<=' ) pat + ) ; \par pat : ( () | ( '(' id ')' ) ) string; \par rules : 'rules' (( id string ) + ) ; \par defs : 'defs' (( id string ) + ) ; \par constdefs : 'constdefs' (name '::' (string | type) (() | mixfix) string +) ; \par axclass : 'axclass' classDecl (() | ( id string ) +) ; \par instance : 'instance' ( name '<' name | name '::' arity) witness ; \par witness : (() | '(' ((string | id | longident) + ',') ')') (() | verbatim) ; \par oracle : 'oracle' name '=' name ; \par local : 'local' ; \par global : 'global' ; \par setup : 'setup' (id | longident) ; \par ml : 'ML' text ; \par } \rail@o {1}{ \rail@begin{2}{theoryDef} \rail@nont{id}[] @@ -35,7 +35,7 @@ \rail@nont{ml}[] \rail@endbar \rail@end -\rail@begin{15}{section} +\rail@begin{17}{section} \rail@bar \rail@nont{classes}[] \rail@nextbar{1} @@ -45,27 +45,31 @@ \rail@nextbar{3} \rail@nont{arities}[] \rail@nextbar{4} -\rail@nont{consts}[] +\rail@nont{nonterminals}[] \rail@nextbar{5} +\rail@nont{consts}[] +\rail@nextbar{6} \rail@nont{syntax}[] -\rail@nextbar{6} +\rail@nextbar{7} \rail@nont{trans}[] -\rail@nextbar{7} +\rail@nextbar{8} \rail@nont{defs}[] -\rail@nextbar{8} +\rail@nextbar{9} \rail@nont{constdefs}[] -\rail@nextbar{9} +\rail@nextbar{10} \rail@nont{rules}[] -\rail@nextbar{10} +\rail@nextbar{11} \rail@nont{axclass}[] -\rail@nextbar{11} -\rail@nont{instance}[] \rail@nextbar{12} +\rail@nont{instance}[] +\rail@nextbar{13} \rail@nont{oracle}[] -\rail@nextbar{13} +\rail@nextbar{14} \rail@nont{local}[] -\rail@nextbar{14} +\rail@nextbar{15} \rail@nont{global}[] +\rail@nextbar{16} +\rail@nont{setup}[] \rail@endbar \rail@end \rail@begin{2}{classes} @@ -232,6 +236,13 @@ \rail@endbar \rail@nont{sort}[] \rail@end +\rail@begin{2}{nonterminals} +\rail@term{nonterminals}[] +\rail@plus +\rail@nont{name}[] +\rail@nextplus{1} +\rail@endplus +\rail@end \rail@begin{2}{consts} \rail@term{consts}[] \rail@plus @@ -389,7 +400,7 @@ \rail@endbar \rail@nont{witness}[] \rail@end -\rail@begin{4}{witness} +\rail@begin{5}{witness} \rail@bar \rail@nextbar{1} \rail@term{(}[] @@ -397,9 +408,11 @@ \rail@bar \rail@nont{string}[] \rail@nextbar{2} +\rail@nont{id}[] +\rail@nextbar{3} \rail@nont{longident}[] \rail@endbar -\rail@nextplus{3} +\rail@nextplus{4} \rail@cterm{,}[] \rail@endplus \rail@term{)}[] @@ -421,6 +434,14 @@ \rail@begin{1}{global} \rail@term{global}[] \rail@end +\rail@begin{2}{setup} +\rail@term{setup}[] +\rail@bar +\rail@nont{id}[] +\rail@nextbar{1} +\rail@nont{longident}[] +\rail@endbar +\rail@end \rail@begin{1}{ml} \rail@term{ML}[] \rail@nont{text}[]