分离逻辑的一个例子?

时间:2014-06-24 03:04:48

标签: logic

有人能解释这个分离逻辑的例子吗?

第一行和第二行有什么区别?

Example

2 个答案:

答案 0 :(得分:3)

第一行表示堆只包含一个堆,这样商店中的引用x指向它,并且它包含值4,4

在A中它是错误的,因为它忘记了y指向的堆栈(它没有正确表征整个堆)。


第二行表示堆可以在两个不相交的小堆中分开,这样其中一个由引用x指向并包含4,4,第二行可以是任何东西

在A中,第二个小堆可以是y指向的小堆。在B中,第二个小堆可以是emp


第三行仅在A中为真,因为在B中,指向4,4的小堆不是不相交的。


第四行仅在B中为真,因为它表示整个堆可以被描述为包含由x引用的4,4,并且包含由{引用的4,4。 它在A中不正确,因为A包含两个不相交的4,4副本,所以应该使用分离连接来描述。

答案 1 :(得分:0)

这些是分离逻辑的公理。我能理解第一个,第二个和最后一个,但我无法理解第三个。

有人可以向我解释一下吗? [X/x]是什么意思?

x中的每个e都会被X替换”,是不是?

enter image description here