doc-src/IsarRef/Thy/HOL_Specific.thy
changeset 45767 fe2fd2f76f48
parent 45701 615da8b8d758
child 45768 97be233b32ed
equal deleted inserted replaced
45752:b5db02fa9536 45767:fe2fd2f76f48
  1262     spec: @{syntax typespec} @{syntax mixfix}? '=' \\
  1262     spec: @{syntax typespec} @{syntax mixfix}? '=' \\
  1263      @{syntax type} '/' ('partial' ':')? @{syntax term} \\
  1263      @{syntax type} '/' ('partial' ':')? @{syntax term} \\
  1264      (@'morphisms' @{syntax name} @{syntax name})?; 
  1264      (@'morphisms' @{syntax name} @{syntax name})?; 
  1265   "}
  1265   "}
  1266 
  1266 
  1267  The injection from a quotient type to a raw type is called @{text rep_t},
       
  1268   its inverse @{text abs_t} unless explicit @{keyword (HOL)
       
  1269   "morphisms"} specification provides alternative names.
       
  1270 
       
  1271   @{rail "
  1267   @{rail "
  1272     @@{command (HOL) quotient_definition} constdecl? @{syntax thmdecl}? \\
  1268     @@{command (HOL) quotient_definition} constdecl? @{syntax thmdecl}? \\
  1273     @{syntax term} 'is' @{syntax term};
  1269     @{syntax term} 'is' @{syntax term};
  1274  
  1270  
  1275     constdecl: @{syntax name} ('::' @{syntax type})? @{syntax mixfix}?
  1271     constdecl: @{syntax name} ('::' @{syntax type})? @{syntax mixfix}?
  1276   "}
  1272   "}
  1277 
  1273 
  1278   \begin{description}
  1274   \begin{description}
  1279   
  1275   
  1280   \item @{command (HOL) "quotient_type"} defines quotient types.
  1276   \item @{command (HOL) "quotient_type"} defines quotient types. The injection from a quotient type 
       
  1277   to a raw type is called @{text rep_t}, its inverse @{text abs_t} unless explicit @{keyword (HOL)
       
  1278   "morphisms"} specification provides alternative names.
  1281 
  1279 
  1282   \item @{command (HOL) "quotient_definition"} defines a constant on the quotient type.
  1280   \item @{command (HOL) "quotient_definition"} defines a constant on the quotient type.
  1283 
  1281 
  1284   \item @{command (HOL) "print_quotmaps"} prints quotient map functions.
  1282   \item @{command (HOL) "print_quotmaps"} prints quotient map functions.
  1285 
  1283