src/HOL/Nominal/Examples/Fsub.thy
changeset 61069 aefe89038dd2
parent 58305 57752a91eec4
child 63167 0909deb8059b
equal deleted inserted replaced
61068:6cb92c2a5ece 61069:aefe89038dd2
    15        with great help from Markus Wenzel. *}
    15        with great help from Markus Wenzel. *}
    16 
    16 
    17 section {* Types for Names, Nominal Datatype Declaration for Types and Terms *}
    17 section {* Types for Names, Nominal Datatype Declaration for Types and Terms *}
    18 
    18 
    19 no_syntax
    19 no_syntax
    20   "_Map" :: "maplets => 'a ~=> 'b"  ("(1[_])")
    20   "_Map" :: "maplets => 'a \<rightharpoonup> 'b"  ("(1[_])")
    21 
    21 
    22 text {* The main point of this solution is to use names everywhere (be they bound, 
    22 text {* The main point of this solution is to use names everywhere (be they bound, 
    23   binding or free). In System \FSUB{} there are two kinds of names corresponding to 
    23   binding or free). In System \FSUB{} there are two kinds of names corresponding to 
    24   type-variables and to term-variables. These two kinds of names are represented in 
    24   type-variables and to term-variables. These two kinds of names are represented in 
    25   the nominal datatype package as atom-types @{text "tyvrs"} and @{text "vrs"}: *}
    25   the nominal datatype package as atom-types @{text "tyvrs"} and @{text "vrs"}: *}