src/Pure/pure_thy.ML
changeset 81125 ec121999a9cb
parent 81124 6ce0c8d59f5a
child 81182 fc5066122e68
equal deleted inserted replaced
81124:6ce0c8d59f5a 81125:ec121999a9cb
   151     ("",            typ "id_position \<Rightarrow> aprop",        Mixfix.mixfix "_"),
   151     ("",            typ "id_position \<Rightarrow> aprop",        Mixfix.mixfix "_"),
   152     ("",            typ "longid_position \<Rightarrow> aprop",    Mixfix.mixfix "_"),
   152     ("",            typ "longid_position \<Rightarrow> aprop",    Mixfix.mixfix "_"),
   153     ("",            typ "var_position \<Rightarrow> aprop",       Mixfix.mixfix "_"),
   153     ("",            typ "var_position \<Rightarrow> aprop",       Mixfix.mixfix "_"),
   154     ("_DDDOT",      typ "aprop",                       Mixfix.mixfix "\<dots>"),
   154     ("_DDDOT",      typ "aprop",                       Mixfix.mixfix "\<dots>"),
   155     ("_aprop",      typ "aprop \<Rightarrow> prop",
   155     ("_aprop",      typ "aprop \<Rightarrow> prop",
   156       Mixfix.mixfix "(\<open>open_block notation=\<open>mixfix atomic prop\<close>\<close>PROP _)"),
   156       Mixfix.mixfix "(\<open>open_block notation=\<open>prefix PROP\<close>\<close>PROP _)"),
   157     ("_asm",        typ "prop \<Rightarrow> asms",                Mixfix.mixfix "_"),
   157     ("_asm",        typ "prop \<Rightarrow> asms",                Mixfix.mixfix "_"),
   158     ("_asms",       typ "prop \<Rightarrow> asms \<Rightarrow> asms",        Mixfix.mixfix "_;/ _"),
   158     ("_asms",       typ "prop \<Rightarrow> asms \<Rightarrow> asms",        Mixfix.mixfix "_;/ _"),
   159     ("_bigimpl",    typ "asms \<Rightarrow> prop \<Rightarrow> prop",
   159     ("_bigimpl",    typ "asms \<Rightarrow> prop \<Rightarrow> prop",
   160       mixfix ("(\<open>notation=\<open>infix \<Longrightarrow>\<close>\<close>(1\<lbrakk>_\<rbrakk>)/ \<Longrightarrow> _)", [0, 1], 1)),
   160       mixfix ("(\<open>notation=\<open>infix \<Longrightarrow>\<close>\<close>(1\<lbrakk>_\<rbrakk>)/ \<Longrightarrow> _)", [0, 1], 1)),
   161     ("_ofclass",    typ "type \<Rightarrow> logic \<Rightarrow> prop",       Mixfix.mixfix "(1OFCLASS/(1'(_,/ _')))"),
   161     ("_ofclass",    typ "type \<Rightarrow> logic \<Rightarrow> prop",
       
   162       Mixfix.mixfix "(\<open>indent=1 notation=\<open>mixfix OFCLASS\<close>\<close>OFCLASS/(1'(_,/ _')))"),
   162     ("_mk_ofclass", typ "dummy",                       NoSyn),
   163     ("_mk_ofclass", typ "dummy",                       NoSyn),
   163     ("_TYPE",       typ "type \<Rightarrow> logic",               Mixfix.mixfix "(1TYPE/(1'(_')))"),
   164     ("_TYPE",       typ "type \<Rightarrow> logic",
       
   165       Mixfix.mixfix "(\<open>indent=1 notation=\<open>mixfix TYPE\<close>\<close>TYPE/(1'(_')))"),
   164     ("",            typ "id_position \<Rightarrow> logic",        Mixfix.mixfix "_"),
   166     ("",            typ "id_position \<Rightarrow> logic",        Mixfix.mixfix "_"),
   165     ("",            typ "longid_position \<Rightarrow> logic",    Mixfix.mixfix "_"),
   167     ("",            typ "longid_position \<Rightarrow> logic",    Mixfix.mixfix "_"),
   166     ("",            typ "var_position \<Rightarrow> logic",       Mixfix.mixfix "_"),
   168     ("",            typ "var_position \<Rightarrow> logic",       Mixfix.mixfix "_"),
   167     ("_DDDOT",      typ "logic",                       Mixfix.mixfix "\<dots>"),
   169     ("_DDDOT",      typ "logic",                       Mixfix.mixfix "\<dots>"),
   168     ("_strip_positions", typ "'a", NoSyn),
   170     ("_strip_positions", typ "'a", NoSyn),
   183     ("_position",   typ "var \<Rightarrow> var_position",         Mixfix.mixfix "_"),
   185     ("_position",   typ "var \<Rightarrow> var_position",         Mixfix.mixfix "_"),
   184     ("_position",   typ "str_token \<Rightarrow> str_position",   Mixfix.mixfix "_"),
   186     ("_position",   typ "str_token \<Rightarrow> str_position",   Mixfix.mixfix "_"),
   185     ("_position",   typ "string_token \<Rightarrow> string_position", Mixfix.mixfix "_"),
   187     ("_position",   typ "string_token \<Rightarrow> string_position", Mixfix.mixfix "_"),
   186     ("_position",   typ "cartouche \<Rightarrow> cartouche_position", Mixfix.mixfix "_"),
   188     ("_position",   typ "cartouche \<Rightarrow> cartouche_position", Mixfix.mixfix "_"),
   187     ("_type_constraint_", typ "'a",                    NoSyn),
   189     ("_type_constraint_", typ "'a",                    NoSyn),
   188     ("_context_const", typ "id_position \<Rightarrow> logic",     Mixfix.mixfix "CONST _"),
   190     ("_context_const", typ "id_position \<Rightarrow> logic",
   189     ("_context_const", typ "id_position \<Rightarrow> aprop",     Mixfix.mixfix "CONST _"),
   191       Mixfix.mixfix "(\<open>open_block notation=\<open>prefix CONST\<close>\<close>CONST _)"),
   190     ("_context_const", typ "longid_position \<Rightarrow> logic", Mixfix.mixfix "CONST _"),
   192     ("_context_const", typ "id_position \<Rightarrow> aprop",
   191     ("_context_const", typ "longid_position \<Rightarrow> aprop", Mixfix.mixfix "CONST _"),
   193       Mixfix.mixfix "(\<open>open_block notation=\<open>prefix CONST\<close>\<close>CONST _)"),
   192     ("_context_xconst", typ "id_position \<Rightarrow> logic",    Mixfix.mixfix "XCONST _"),
   194     ("_context_const", typ "longid_position \<Rightarrow> logic",
   193     ("_context_xconst", typ "id_position \<Rightarrow> aprop",    Mixfix.mixfix "XCONST _"),
   195       Mixfix.mixfix "(\<open>open_block notation=\<open>prefix CONST\<close>\<close>CONST _)"),
   194     ("_context_xconst", typ "longid_position \<Rightarrow> logic", Mixfix.mixfix "XCONST _"),
   196     ("_context_const", typ "longid_position \<Rightarrow> aprop",
   195     ("_context_xconst", typ "longid_position \<Rightarrow> aprop", Mixfix.mixfix "XCONST _"),
   197       Mixfix.mixfix "(\<open>open_block notation=\<open>prefix CONST\<close>\<close>CONST _)"),
       
   198     ("_context_xconst", typ "id_position \<Rightarrow> logic",
       
   199       Mixfix.mixfix "(\<open>open_block notation=\<open>prefix XCONST\<close>\<close>XCONST _)"),
       
   200     ("_context_xconst", typ "id_position \<Rightarrow> aprop",
       
   201       Mixfix.mixfix "(\<open>open_block notation=\<open>prefix XCONST\<close>\<close>XCONST _)"),
       
   202     ("_context_xconst", typ "longid_position \<Rightarrow> logic",
       
   203       Mixfix.mixfix "(\<open>open_block notation=\<open>prefix XCONST\<close>\<close>XCONST _)"),
       
   204     ("_context_xconst", typ "longid_position \<Rightarrow> aprop",
       
   205       Mixfix.mixfix "(\<open>open_block notation=\<open>prefix XCONST\<close>\<close>XCONST _)"),
   196     (const "Pure.dummy_pattern", typ "aprop",          Mixfix.mixfix "'_"),
   206     (const "Pure.dummy_pattern", typ "aprop",          Mixfix.mixfix "'_"),
   197     ("_sort_constraint", typ "type \<Rightarrow> prop",           Mixfix.mixfix "(1SORT'_CONSTRAINT/(1'(_')))"),
   207     ("_sort_constraint", typ "type \<Rightarrow> prop",
   198     (const "Pure.term", typ "logic \<Rightarrow> prop",           Mixfix.mixfix "TERM _"),
   208       Mixfix.mixfix "(\<open>indent=1 notation=\<open>mixfix SORT_CONSTRAINT\<close>\<close>SORT'_CONSTRAINT/(1'(_')))"),
       
   209     (const "Pure.term", typ "logic \<Rightarrow> prop",
       
   210       Mixfix.mixfix "(\<open>open_block notation=\<open>prefix TERM\<close>\<close>TERM _)"),
   199     (const "Pure.conjunction", typ "prop \<Rightarrow> prop \<Rightarrow> prop", infixr_ ("&&&", 2))]
   211     (const "Pure.conjunction", typ "prop \<Rightarrow> prop \<Rightarrow> prop", infixr_ ("&&&", 2))]
   200   #> Sign.syntax_global true Syntax.mode_default applC_syntax
   212   #> Sign.syntax_global true Syntax.mode_default applC_syntax
   201   #> Sign.syntax_global true (Print_Mode.ASCII, true)
   213   #> Sign.syntax_global true (Print_Mode.ASCII, true)
   202    [(tycon "fun",         typ "type \<Rightarrow> type \<Rightarrow> type",
   214    [(tycon "fun",         typ "type \<Rightarrow> type \<Rightarrow> type",
   203       mixfix ("(\<open>notation=\<open>infix =>\<close>\<close>_/ => _)", [1, 0], 0)),
   215       mixfix ("(\<open>notation=\<open>infix =>\<close>\<close>_/ => _)", [1, 0], 0)),