equal
deleted
inserted
replaced
1590 @{attribute_def (HOL) "quot_del"} & : & @{text attribute} \\ |
1590 @{attribute_def (HOL) "quot_del"} & : & @{text attribute} \\ |
1591 @{attribute_def (HOL) "lifting_restore"} & : & @{text attribute} \\ |
1591 @{attribute_def (HOL) "lifting_restore"} & : & @{text attribute} \\ |
1592 \end{matharray} |
1592 \end{matharray} |
1593 |
1593 |
1594 @{rail \<open> |
1594 @{rail \<open> |
1595 @@{command (HOL) setup_lifting} ('(' 'no_code' ')')? \<newline> |
1595 @@{command (HOL) setup_lifting} \<newline> |
1596 @{syntax thmref} @{syntax thmref}? (@'parametric' @{syntax thmref})?; |
1596 @{syntax thmref} @{syntax thmref}? (@'parametric' @{syntax thmref})?; |
1597 \<close>} |
1597 \<close>} |
1598 |
1598 |
1599 @{rail \<open> |
1599 @{rail \<open> |
1600 @@{command (HOL) lift_definition} @{syntax name} '::' @{syntax type} @{syntax mixfix}? \<newline> |
1600 @@{command (HOL) lift_definition} @{syntax name} '::' @{syntax type} @{syntax mixfix}? \<newline> |
1643 and registered by @{command (HOL) setup_lifting}. |
1643 and registered by @{command (HOL) setup_lifting}. |
1644 |
1644 |
1645 The command @{command (HOL) "setup_lifting"} also sets up the code generator |
1645 The command @{command (HOL) "setup_lifting"} also sets up the code generator |
1646 for the new type. Later on, when a new constant is defined by @{command (HOL) "lift_definition"}, |
1646 for the new type. Later on, when a new constant is defined by @{command (HOL) "lift_definition"}, |
1647 the Lifting package proves and registers a code equation (if there is one) for the new constant. |
1647 the Lifting package proves and registers a code equation (if there is one) for the new constant. |
1648 If the option @{text "no_code"} is specified, the Lifting package does not set up the code |
|
1649 generator and as a consequence no code equations involving an abstract type are registered |
|
1650 by @{command (HOL) "lift_definition"}. |
|
1651 |
1648 |
1652 \item @{command (HOL) "lift_definition"} @{text "f :: \<tau>"} @{keyword (HOL) "is"} @{text t} |
1649 \item @{command (HOL) "lift_definition"} @{text "f :: \<tau>"} @{keyword (HOL) "is"} @{text t} |
1653 Defines a new function @{text f} with an abstract type @{text \<tau>} |
1650 Defines a new function @{text f} with an abstract type @{text \<tau>} |
1654 in terms of a corresponding operation @{text t} on a |
1651 in terms of a corresponding operation @{text t} on a |
1655 representation type. More formally, if @{text "t :: \<sigma>"}, then |
1652 representation type. More formally, if @{text "t :: \<sigma>"}, then |