| author | wenzelm | 
| Tue, 07 Jun 2022 19:15:08 +0200 | |
| changeset 75536 | 7cdeed5dc96d | 
| parent 69597 | ff784d5a5bfb | 
| child 80914 | d97fdabd9e2b | 
| permissions | -rw-r--r-- | 
| 41959 | 1 | (* Title: HOL/Statespace/StateSpaceSyntax.thy | 
| 25171 | 2 | Author: Norbert Schirmer, TU Muenchen | 
| 3 | *) | |
| 4 | ||
| 63167 | 5 | section \<open>Syntax for State Space Lookup and Update \label{sec:StateSpaceSyntax}\<close>
 | 
| 25171 | 6 | theory StateSpaceSyntax | 
| 7 | imports StateSpaceLocale | |
| 8 | begin | |
| 9 | ||
| 63167 | 10 | text \<open>The state space syntax is kept in an extra theory so that you | 
| 11 | can choose if you want to use it or not.\<close> | |
| 25171 | 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 | 
| 63167 | 25 | \<open> | 
| 69597 | 26 | [(\<^syntax_const>\<open>_statespace_lookup\<close>, StateSpace.lookup_tr), | 
| 27 | (\<^syntax_const>\<open>_statespace_update\<close>, StateSpace.update_tr)] | |
| 63167 | 28 | \<close> | 
| 25171 | 29 | |
| 30 | ||
| 52143 | 31 | print_translation | 
| 63167 | 32 | \<open> | 
| 69597 | 33 | [(\<^const_syntax>\<open>lookup\<close>, StateSpace.lookup_tr'), | 
| 34 | (\<^const_syntax>\<open>update\<close>, StateSpace.update_tr')] | |
| 63167 | 35 | \<close> | 
| 25171 | 36 | |
| 35114 
b1fd1d756e20
formal markup of @{syntax_const} and @{const_syntax};
 wenzelm parents: 
25171diff
changeset | 37 | end |