Skip to content

Instantly share code, notes, and snippets.

@draftcode
Created February 10, 2013 13:17
Show Gist options
  • Select an option

  • Save draftcode/4749566 to your computer and use it in GitHub Desktop.

Select an option

Save draftcode/4749566 to your computer and use it in GitHub Desktop.
abstract sig Var {
value: Int
}
one sig A, B, C extends Var {}
pred S1 {
A.value > 0 and B.value > 0 and C.value > 0
}
pred S2 {
plus[A.value, B.value] > C.value and
plus[B.value, C.value] > A.value and
plus[C.value, A.value] > B.value
}
pred S3 {
A.value = B.value or B.value = C.value or C.value = A.value
}
pred S4 {
A.value = B.value and B.value = C.value
}
run { S1 and S2 and S3 and S4 }
run { S1 and S2 and S3 and not S4 }
run { S1 and S2 and not S3 and S4 }
run { S1 and S2 and not S3 and not S4 }
run { S1 and not S2 and S3 and S4 }
run { S1 and not S2 and S3 and not S4 }
run { S1 and not S2 and not S3 and S4 }
run { S1 and not S2 and not S3 and not S4 }
run { not S1 and S2 and S3 and S4 }
run { not S1 and S2 and S3 and not S4 }
run { not S1 and S2 and not S3 and S4 }
run { not S1 and S2 and not S3 and not S4 }
run { not S1 and not S2 and S3 and S4 }
run { not S1 and not S2 and S3 and not S4 }
run { not S1 and not S2 and not S3 and S4 }
run { not S1 and not S2 and not S3 and not S4 }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment