src/Doc/Isar_Ref/Spec.thy
changeset 63039 1a20fd9cf281
parent 62969 9f394a16c557
child 63178 b9e1d53124f5
equal deleted inserted replaced
63038:1fbad761c1ba 63039:1a20fd9cf281
   536 
   536 
   537     \<^descr> @{element "assumes"}~\<open>a: \<phi>\<^sub>1 \<dots> \<phi>\<^sub>n\<close> introduces local premises, similar
   537     \<^descr> @{element "assumes"}~\<open>a: \<phi>\<^sub>1 \<dots> \<phi>\<^sub>n\<close> introduces local premises, similar
   538     to \<^theory_text>\<open>assume\<close> within a proof (cf.\ \secref{sec:proof-context}).
   538     to \<^theory_text>\<open>assume\<close> within a proof (cf.\ \secref{sec:proof-context}).
   539 
   539 
   540     \<^descr> @{element "defines"}~\<open>a: x \<equiv> t\<close> defines a previously declared parameter.
   540     \<^descr> @{element "defines"}~\<open>a: x \<equiv> t\<close> defines a previously declared parameter.
   541     This is similar to \<^theory_text>\<open>def\<close> within a proof (cf.\
   541     This is similar to \<^theory_text>\<open>define\<close> within a proof (cf.\
   542     \secref{sec:proof-context}), but @{element "defines"} takes an equational
   542     \secref{sec:proof-context}), but @{element "defines"} is restricted to
   543     proposition instead of variable-term pair. The left-hand side of the
   543     Pure equalities and the defined variable needs to be declared beforehand
   544     equation may have additional arguments, e.g.\ ``@{element "defines"}~\<open>f
   544     via @{element "fixes"}. The left-hand side of the equation may have
   545     x\<^sub>1 \<dots> x\<^sub>n \<equiv> t\<close>''.
   545     additional arguments, e.g.\ ``@{element "defines"}~\<open>f x\<^sub>1 \<dots> x\<^sub>n \<equiv> t\<close>'',
       
   546     which need to be free in the context.
   546 
   547 
   547     \<^descr> @{element "notes"}~\<open>a = b\<^sub>1 \<dots> b\<^sub>n\<close> reconsiders facts within a local
   548     \<^descr> @{element "notes"}~\<open>a = b\<^sub>1 \<dots> b\<^sub>n\<close> reconsiders facts within a local
   548     context. Most notably, this may include arbitrary declarations in any
   549     context. Most notably, this may include arbitrary declarations in any
   549     attribute specifications included here, e.g.\ a local @{attribute simp}
   550     attribute specifications included here, e.g.\ a local @{attribute simp}
   550     rule.
   551     rule.