| author | wenzelm |
| Tue, 25 Aug 2020 14:54:41 +0200 | |
| changeset 72205 | bc71db05abe3 |
| 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:
25171
diff
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:
25171
diff
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:
25171
diff
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:
25171
diff
changeset
|
19 |
"_statespace_updates f (_updbinds b bs)" == |
|
b1fd1d756e20
formal markup of @{syntax_const} and @{const_syntax};
wenzelm
parents:
25171
diff
changeset
|
20 |
"_statespace_updates (_statespace_updates f b) bs" |
|
b1fd1d756e20
formal markup of @{syntax_const} and @{const_syntax};
wenzelm
parents:
25171
diff
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:
25171
diff
changeset
|
37 |
end |