: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 25.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 26.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 27.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 28.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 29.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 30.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 31.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 32.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 33.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 34.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 25.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 26.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 27.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 28.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 29.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 30.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 31.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 32.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 33.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 34.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 25.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 26.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 27.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 28.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 29.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 30.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 31.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 32.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 33.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 34.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 25.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 26.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 27.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 28.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 29.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 30.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 31.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 32.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 33.
: Function ereg_replace() is deprecated in /afs/csail.mit.edu/proj/alloy/www/data/community/sites/all/themes/Aeon5/advforum/forum-thread.tpl.php on line 34.
Date: Wed, 07 Mar 2007 21:10:12 -0000
From: Pawel Sidoryk
Hello everybody,
I have a very small problem that I cannot solve with alloy. Here is
the code:
abstract sig State{}
sig State1 extends State{}
sig State2 extends State{}
pred oper(s, s': State) {
s in State1 && s' in State2
}
pred anti_oper(s: State) {
s in State2
}
assert anti_oper_ok{
all s: State | not anti_oper[s] => some s': State | oper[s, s']
}
check anti_oper_ok
Alloy finds a counterexample (all State1 elements, no State2 element)
and that is how it is expected to run.
But it does not solve my problem. And my problem is to find for a
given 2-argument predicate (like oper(s, s')) a different predicate
(like anti_oper(s)) that is true only if oper(s, s') is false for all
possible s' allowed by the model.
In the above example it is plain to see that anti_oper(s) is a
solution for oper(s, s) but I do not know how to prove such a simple
fact with Alloy. assert anti_oper_ok is not proper for this purpose
because some s': State there does not cover all possible occurrences
of a State, it covers occurrences of a State for a counterexample
that has been found.
Does anybody know how to prove that anti_oper(s) is a solution for
oper(s, s) with Alloy?
Date: Wed, 7 Mar 2007 20:04:42 -0500 (EST)
From: Felix Chang
On Wed, 7 Mar 2007, Pawel Sidoryk wrote:
> And my problem is to find for oper(s,s')
> a different predicate anti_oper(s)
> that is true only if oper(s, s') is false
> for all possible s' allowed by the model.
I don't think I understand your sentence. Let me paraphrase:
Given op(s,s'), how do I write antiOp(s), such that
"all s | (anti_oper(s) <=> (all s' | !oper(s,s'))" ?
Date: Thu, 08 Mar 2007 16:48:56 -0000
From: Pawel Sidoryk
I would like to prove that anti_oper(s) that I have found satisfies
the condition:
"all s | (anti_oper(s) <=> (all s' | !oper(s,s'))"
for all possible s and s'. And I cannot do it with Alloy.
The reason is that "all s'" covers a subset of State contained within
a counterexample, not all possible States. And sometimes "all s' |
!oper(s,s')" is true because of that though it is not true for all
possible States.
Date: Thu, 8 Mar 2007 20:22:14 -0500 (EST)
From: Felix Chang
What you wrote seems to be:
all s,s' | (all s | (anti_oper(s) <=> (all s' | !oper(s,s'))))
Which is logically equivalent to
all x,y | (all s | (anti_oper(s) <=> (all s' | !oper(s,s'))))
Which is logically equivalent to
#State>0 && (all s | (anti_oper(s) <=> (all s' | !oper(s,s'))))
So, I'm sorry, I'm still not understanding you.
If you want, please email me directly, and when we
finally sort out the misunderstanding, I'll post a summary
reply for the other members' benefit.
From: Felix Chang
On Wed, 7 Mar 2007, Pawel Sidoryk wrote:
> And my problem is to find for oper(s,s')
> a different predicate anti_oper(s)
> that is true only if oper(s, s') is false
> for all possible s' allowed by the model.
I don't think I understand your sentence. Let me paraphrase:
Given op(s,s'), how do I write antiOp(s), such that
"all s | (anti_oper(s) <=> (all s' | !oper(s,s'))" ?
From: Pawel Sidoryk
I would like to prove that anti_oper(s) that I have found satisfies
the condition:
"all s | (anti_oper(s) <=> (all s' | !oper(s,s'))"
for all possible s and s'. And I cannot do it with Alloy.
The reason is that "all s'" covers a subset of State contained within
a counterexample, not all possible States. And sometimes "all s' |
!oper(s,s')" is true because of that though it is not true for all
possible States.
From: Felix Chang
What you wrote seems to be:
all s,s' | (all s | (anti_oper(s) <=> (all s' | !oper(s,s'))))
Which is logically equivalent to
all x,y | (all s | (anti_oper(s) <=> (all s' | !oper(s,s'))))
Which is logically equivalent to
#State>0 && (all s | (anti_oper(s) <=> (all s' | !oper(s,s'))))
So, I'm sorry, I'm still not understanding you.
If you want, please email me directly, and when we
finally sort out the misunderstanding, I'll post a summary
reply for the other members' benefit.