统一理论在 Isabelle/HOL 中的应用与 Circus 语言
1. 精化与强制类型转换
精化的概念等同于谓词的全称蕴含,它使用统一理论编程(UTP)中的全称闭包来定义:
abbreviation closure :: ”α predicate ⇒bool” (”[ ]”)
where ”[ P ] = ∀A. P A”
abbreviation refinement :: ”[αpredicate,α predicate ] ⇒bool” (” ⊑”)
where ”P ⊑Q = [ Q −→P ]”
强制类型转换对于整体方法的实现至关重要。虽然在高阶逻辑(HOL)中无法一次性为任意的 $\alpha$ P 定义强制类型转换函数,但对于任何具体的字母表(如 ${x :: int, x ′ :: int, …}$),可以在逻辑之外的合适解析函数中为每个 UTP 理论上下文计算这种具体的字母表。具体的强制类型转换形式如下:
1. $Inj_{A→B} P$ :逐点嵌入。如果字段 $a \in \alpha_P$,则 $P$ 集合中字母表为 $\alpha_P$ 的元素会映射到具有相同字段内容的元素;如果 $a \in A$,则映射到具有任意值的元素。例如,$Inj_{\alpha_{sample}→\alpha_{sample}\cup\alpha_{sample2}}$ 可表示为 $Inj_{
{x,x ′,…}→{x,x ′,y…}}$,定义为:
Isabelle/HOL中Circus语言的形式化应用
超级会员免费看
订阅专栏 解锁全文
40

被折叠的 条评论
为什么被折叠?



