src/Tools/subtyping.ML
changeset 55965 0c2c61a87a7d
parent 55954 a29aefc88c8d
child 56334 6b3739fee456
equal deleted inserted replaced
55946:5163ed3a38f5 55965:0c2c61a87a7d
  1103     "deletion of coercions" #>
  1103     "deletion of coercions" #>
  1104   Attrib.setup @{binding coercion_map}
  1104   Attrib.setup @{binding coercion_map}
  1105     (Args.term >> (fn t => Thm.declaration_attribute (K (add_type_map t))))
  1105     (Args.term >> (fn t => Thm.declaration_attribute (K (add_type_map t))))
  1106     "declaration of new map functions" #>
  1106     "declaration of new map functions" #>
  1107   Attrib.setup @{binding coercion_args}
  1107   Attrib.setup @{binding coercion_args}
  1108     (Args.const false -- Scan.lift (Scan.repeat1 parse_coerce_args) >>
  1108     (Args.const {proper = false, strict = false} -- Scan.lift (Scan.repeat1 parse_coerce_args) >>
  1109       (fn spec => Thm.declaration_attribute (K (map_coerce_args (Symtab.update spec)))))
  1109       (fn spec => Thm.declaration_attribute (K (map_coerce_args (Symtab.update spec)))))
  1110     "declaration of new constants with coercion-invariant arguments";
  1110     "declaration of new constants with coercion-invariant arguments";
  1111 
  1111 
  1112 
  1112 
  1113 (* outer syntax commands *)
  1113 (* outer syntax commands *)