| author | nipkow | 
| Mon, 02 Nov 2015 18:35:30 +0100 | |
| changeset 61534 | a88e07c8d0d5 | 
| parent 58889 | 5b7a9633cfa8 | 
| child 63167 | 0909deb8059b | 
| permissions | -rw-r--r-- | 
| 41959 | 1 | (* Title: HOL/Statespace/StateSpaceSyntax.thy | 
| 25171 | 2 | Author: Norbert Schirmer, TU Muenchen | 
| 3 | *) | |
| 4 | ||
| 58889 | 5 | section {* Syntax for State Space Lookup and Update \label{sec:StateSpaceSyntax}*}
 | 
| 25171 | 6 | theory StateSpaceSyntax | 
| 7 | imports StateSpaceLocale | |
| 8 | begin | |
| 9 | ||
| 10 | text {* The state space syntax is kept in an extra theory so that you
 | |
| 11 | can choose if you want to use it or not. *} | |
| 12 | ||
| 13 | syntax | |
| 35114 
b1fd1d756e20
formal markup of @{syntax_const} and @{const_syntax};
 wenzelm parents: 
25171diff
changeset | 14 |   "_statespace_lookup" :: "('a \<Rightarrow> 'b) \<Rightarrow> 'a \<Rightarrow> 'c"  ("_\<cdot>_" [60, 60] 60)
 | 
| 
b1fd1d756e20
formal markup of @{syntax_const} and @{const_syntax};
 wenzelm parents: 
25171diff
changeset | 15 |   "_statespace_update" :: "('a \<Rightarrow> 'b) \<Rightarrow> 'a \<Rightarrow> 'c \<Rightarrow> ('a \<Rightarrow> 'b)"
 | 
| 
b1fd1d756e20
formal markup of @{syntax_const} and @{const_syntax};
 wenzelm parents: 
25171diff
changeset | 16 |   "_statespace_updates" :: "('a \<Rightarrow> 'b) \<Rightarrow> updbinds \<Rightarrow> ('a \<Rightarrow> 'b)"  ("_<_>" [900, 0] 900)
 | 
| 25171 | 17 | |
| 18 | translations | |
| 35114 
b1fd1d756e20
formal markup of @{syntax_const} and @{const_syntax};
 wenzelm parents: 
25171diff
changeset | 19 | "_statespace_updates f (_updbinds b bs)" == | 
| 
b1fd1d756e20
formal markup of @{syntax_const} and @{const_syntax};
 wenzelm parents: 
25171diff
changeset | 20 | "_statespace_updates (_statespace_updates f b) bs" | 
| 
b1fd1d756e20
formal markup of @{syntax_const} and @{const_syntax};
 wenzelm parents: 
25171diff
changeset | 21 | "s<x:=y>" == "_statespace_update s x y" | 
| 25171 | 22 | |
| 23 | ||
| 52143 | 24 | parse_translation | 
| 25171 | 25 | {*
 | 
| 35114 
b1fd1d756e20
formal markup of @{syntax_const} and @{const_syntax};
 wenzelm parents: 
25171diff
changeset | 26 |  [(@{syntax_const "_statespace_lookup"}, StateSpace.lookup_tr),
 | 
| 
b1fd1d756e20
formal markup of @{syntax_const} and @{const_syntax};
 wenzelm parents: 
25171diff
changeset | 27 |   (@{syntax_const "_statespace_update"}, StateSpace.update_tr)]
 | 
| 25171 | 28 | *} | 
| 29 | ||
| 30 | ||
| 52143 | 31 | print_translation | 
| 25171 | 32 | {*
 | 
| 35114 
b1fd1d756e20
formal markup of @{syntax_const} and @{const_syntax};
 wenzelm parents: 
25171diff
changeset | 33 |  [(@{const_syntax lookup}, StateSpace.lookup_tr'),
 | 
| 
b1fd1d756e20
formal markup of @{syntax_const} and @{const_syntax};
 wenzelm parents: 
25171diff
changeset | 34 |   (@{const_syntax update}, StateSpace.update_tr')]
 | 
| 25171 | 35 | *} | 
| 36 | ||
| 35114 
b1fd1d756e20
formal markup of @{syntax_const} and @{const_syntax};
 wenzelm parents: 
25171diff
changeset | 37 | end |