如何使用由数据类型中的语言环境定义的运算符

时间:2019-03-06 14:34:01

标签: isabelle

我的工作是关于过程代数语义的。
现在,我已经定义了一些代数语义运算符,并且由于要构造一个完整的程序语义,所以我想在Datatype中使用它们。
这是我的代码:

<VirtualHost *:80>
DocumentRoot "/Users/{myuser}/Sites/mywebsite"
ServerName mywebsite.localhost
</VirtualHost>

现在,在这一行:

datatype 'a prog_expr =
   Const_expr "'a" |
   if_then_else_expr "'a prog_expr" bool "'a prog_expr" |
   sequential_expr "'a prog_expr" "'a prog_expr" |
   nondeterm_choice_expr "'a prog_expr" bool "'a prog_expr" 

primrec val_prog_expr :: "'a prog_expr ⇒ ('a ⇒ 'a prog_expr) ⇒ 'a prog_expr" where
"val_prog_expr (Const_expr P) s = s P" |
"val_prog_expr (if_then_else_expr P b Q) s = (val_prog_expr P s ◃ b ▹⇩ val_prog_expr Q s)" |
"val_prog_expr (sequential_expr P Q) s = (val_prog_expr P s ; val_prog_expr Q s)" |
"val_prog_expr (nondetem_choice_expr P Q) s = (val_prog_expr p s  ⊓  val_prog_expr Q s)"

有错误:

"val_prog_expr (if_then_else_expr P b Q) s = (val_prog_expr P s ◃ b ▹⇩ val_prog_expr Q s)" |

我认为这与我使用的语言环境运算符有关。
然后,我添加上下文locale_name开始....结束 它有新错误:

Inner lexical error⌂
Failed to parse prop

那我该怎么办?我希望有人能给我一些指导。

0 个答案:

没有答案