update isar-ref for Quotient and Lifting package
authorkuncar
Mon, 14 Jan 2013 13:43:58 +0100
changeset 50877 a2a1a5907f7b
parent 50876 e6317e8b11db
child 50878 2840522a936d
update isar-ref for Quotient and Lifting package
src/Doc/IsarRef/HOL_Specific.thy
--- a/src/Doc/IsarRef/HOL_Specific.thy	Mon Jan 14 10:32:33 2013 +0100
+++ b/src/Doc/IsarRef/HOL_Specific.thy	Mon Jan 14 13:43:58 2013 +0100
@@ -1258,7 +1258,7 @@
   corresponding constants and facts on the raw type.
 
   @{rail "
-    @@{command (HOL) quotient_type} (spec + @'and');
+    @@{command (HOL) quotient_type} (spec);
 
     spec: @{syntax typespec} @{syntax mixfix}? '=' \\
      @{syntax type} '/' ('partial' ':')? @{syntax term} \\
@@ -1514,10 +1514,12 @@
     @{command_def (HOL) "print_quotients"} & : & @{text "context \<rightarrow>"}\\
     @{attribute_def (HOL) "quot_map"} & : & @{text attribute} \\
     @{attribute_def (HOL) "invariant_commute"} & : & @{text attribute} \\
+    @{attribute_def (HOL) "reflexivity_rule"} & : & @{text attribute} \\
+    @{attribute_def (HOL) "quot_del"} & : & @{text attribute}
   \end{matharray}
 
   @{rail "
-    @@{command (HOL) setup_lifting} ('(' 'no_abs_code' ')')? \\
+    @@{command (HOL) setup_lifting} ('(' 'no_code' ')')? \\
       @{syntax thmref} @{syntax thmref}?;
   "}
 
@@ -1548,7 +1550,7 @@
     the theorem is declared as an abstract type in the code
     generator. This allows @{command (HOL) "lift_definition"} to
     register (generated) code certificate theorems as abstract code
-    equations in the code generator.  The option @{text "no_abs_code"}
+    equations in the code generator.  The option @{text "no_code"}
     of the command @{command (HOL) "setup_lifting"} can turn off that
     behavior and causes that code certificate theorems generated by
     @{command (HOL) "lift_definition"} are not registred as abstract
@@ -1584,7 +1586,7 @@
     "~~/src/HOL/Library/Quotient_List.thy"} or other Quotient_*.thy
     files.
 
-  \item @{attribute (HOL) invariant_commute} registers a theorem which
+  \item @{attribute (HOL) invariant_commute} registers a theorem that
     shows a relationship between the constant @{text
     Lifting.invariant} (used for internal encoding of proper subtypes)
     and a relator.  Such theorems allows the package to hide @{text
@@ -1593,6 +1595,17 @@
     "~~/src/HOL/Library/Quotient_List.thy"} or other Quotient_*.thy
     files.
 
+  \item @{attribute (HOL) reflexivity_rule} registers a theorem that shows
+    that a relator respects reflexivity and left-totality. For exampless 
+    see @{file "~~/src/HOL/Library/Quotient_List.thy"} or other Quotient_*.thy
+    The property is used in generation of abstraction function equations.
+
+  \item @{attribute (HOL) quot_del} deletes a corresponding Quotient theorem
+    from the Lifting infrastructure and thus de-register the corresponding quotient. 
+    This effectively causes that @{command (HOL) lift_definition}  will not
+    do any lifting for the corresponding type. It serves mainly for hiding
+    of type construction details when the construction is done. See for example
+    @{file "~~/src/HOL/Int.thy"}.
   \end{description}
 *}