alloy

    0热度

    2回答

    我创建了一个测试图来尝试创建一个独立集。我知道独立集是一组没有连接的顶点,但我不知道如何在合金4.2中实现这一点。下面是我有: abstract sig Vertex { e: set Vertex -- e is the edge relation } -- the test graph has vertices A, B, C, D, E, F one sig A, B, C,

    2热度

    1回答

    下面是该示例的合金代码我们在我的课去在: abstract sig Airport { flight: set Airport } one sig CMX, DTW, MSP, BRD, CDG extends Airport {} fact { -- flight = CMX->DTW + DTW->MSP + MSP->CMX + DTW->CDG + CDG->DTW +

    1热度

    1回答

    当您在分析仪中执行合金代码时,会看到类似“没有找到反例”的消息。我想提取此消息。例如,我想让这个消息得到.txt文件。有人能帮助我吗?

    1热度

    1回答

    检查下列说法不产生反例: assert G4_3__10 { all x : Int | (x = 1) } check G4_3__10 产生以下输出: Executing "Check G4_3__10" Solver=sat4j Bitwidth=0 MaxSeq=0 SkolemDepth=1 Symmetry=20 0 vars. 0 primary vars.

    2热度

    2回答

    在我下载的工具中: http://alloy.mit.edu/alloy/hola/ 出现的求解器的唯一选项是SAT4J和PLingeling。为什么其他选项也不会出现?我使用Windows和执行通过双击该文件HOLA-0.2.jar的工具... 与合金工具发生同样的错误从以下网站下载: http://alloy.mit.edu/alloy/download.html 然而,当我在Windows中

    0热度

    1回答

    我有一个签名 sig Test { a: Int, b: Int, c: Int } 如果我有两个实例的这个(原子?)(X,Y:测试) 我可以定义这些只有一些参数发生了变化之间的关系,而不必列出所有其他参数相等吗? 我想避免必须列出所有未更改的字段 ,因为假设我有很多字段,这可能容易出错。 目前我使用x.(a+b+c) = y.(a+next[b]+c)但想使用

    0热度

    2回答

    我是Alloy的新手,我还是很困惑。我对数学关系比较舒服,但不知道如何将它们翻译成合金。 说我有一个(数学)关系 rel = {(x, y) | x \in S1, y \in S2} 是以下合金片段为“相对”正确表示的如下定义是什么? sig S2 {} sig S1 {rel: S2} 我该如何限制这种关系是不反射和传递的?

    0热度

    1回答

    我在合金 sig Card{} sig ATM {card : disj set Card} 声明,我将它转换成Z3那样: 1- (declare-sort ATM) 2- (declare-fun isATM (ATM) Bool) 3- (declare-sort Card) 4- (declare-fun isCard (Card) Bool) 5- (declare-fun

    2热度

    1回答

    我想让Alloy实例化一组完全有序的节点,但似乎无法做到我想要的。这里是一个简单的例子: open util/ordering[S] sig S { rel : set S } pred show {} run show for 4 我期待看到高达那些在链条,而是我看到4个节点是互不相干4个节点。杰克逊书第6.1.1节建议使用util/ordering来定义这样的事情,

    2热度

    1回答

    我学习合金,并试图使其找到两个二元关系r和s,从而s等于r传递闭包,并且使得s不等于r。我想我可以问合金通过执行这样做如下: sig V { r : V, s : V } assert F { not (some (s-r) and s=^r) } check F 现在合金4.2找不到一个反例,但一个简单的3要素的组成将是一个地方r = {(V0,V1), (V1,