See [FGOP16] for further details.
New!
Assertion language. Following the methodology in [FO18] a simple yet powerful assertion language is defined. Assertions allow the user to state properties of the system and to stop automatically the computation when the assertion is not verified. The function assertionStore
allows to automatically extract the symptoms from the (failed) assertion in order to start the slicing process. See Examples 2 and 3 above for some testings on the assertion mechanism.
assertion.maude
: a simple assertion language to state properties of the system.
[Che07] | M. Chemillier: Les Mathématiques Naturelles. Odile Jacob Press. 2007 |
[CFHGO13] | Davide Chiarugi, Moreno Falaschi, Diana Hermith, Michell Guzmán, Carlos Olarte: Simulating Signalling Pathways With BioWayS. Electr. Notes Theor. Comput. Sci. 293: 17-34 (2013) |
[FGOP16] | M. Falaschi, M. Gabbrielli, C. Olarte and C. Palamidessi: Slicing Concurrent Constraint Programs. LOPSTR 2016. (PDF) |
[FO18] | M. Falaschi and C. Olarte: {An Assertion language for slicing Constraint Logic Languages, 2018. (PDF) |
[dMDF14] | Elisabetta De Maria, Joëlle Despeyroux, Amy P. Felty: A Logical Framework for Systems Biology. FMMB 2014: 136-155 |
[NPV02] | Mogens Nielsen, Catuscia Palamidessi, Frank D. Valencia: Temporal Concurrent Constraint Programming: Denotation, Logic and Applications. Nord. J. Comput. 9(1): 145-188 (2002) |
[SRP91] | Vijay A. Saraswat, Martin C. Rinard, Prakash Panangaden: Semantic Foundations of Concurrent Constraint Programming. POPL 1991: 333-352 |
maude maude ex1_zigzag.maude
First, we compute a trace with 3 time-units:
rew computeTT(0, 3, zigzag, bot) .
{1 / 3 >
[0 ; zigzag ; bot][1] -->
[0 ; right ; bot][1] -->
[0 ; tell(r) || next(left) ; bot][1] -->
[0 ; * || next(left) ; r][1] --> stop} ==>
{2 / 3 >
[0 ; * || left ; bot][2] -->
[0 ; * || tell(l) || next(right) ; bot][2] -->
[0 ; * || * || next(right) ; l][1] --> stop} ==>
{3 / 3 >
[0 ; * || * || right ; bot][3] -->
[0 ; * || * || tell(r) || next(left) ; bot][3] -->
[0 ; * || * || * || next(left) ; r][1] --> stop} ==> STOP
r
is irrelevant:
rew ComputeSlice(4, zigzag, (r)) .
{1 / 4 >
[0 ; * ; *][1] --> stop} ==>
{2 / 4 >
[0 ; * ; *][1] --> stop} ==>
{3 / 4 >
[0 ; * ; *][1] --> stop} ==>
{4 / 4 >
[0 ; * ; *][1] --> stop} ==> STOP
rew ComputeSlice(3, zigzag, (r)) .
{1 / 3 >
[0 ; zigzag ; *][1] -->
[0 ; right ; *][1] -->
[0 ; next(left) ; *][1] --> stop} ==>
{2 / 3 >
[0 ; left ; *][2] -->
[0 ; next(right) ; *][1] --> stop} ==>
{3 / 3 >
[0 ; right ; *][3] -->
[0 ; tell(r) || * ; *][3] -->
[0 ; * ; r][1] --> stop} ==> STOP
maude ex2_rithm.maude
rew ComputeSlice(13, System, (beat, stop)) .
{1 / 13 >
[0 ; System ; *][1] -->
[0 ; Check ; *][13] -->
[0 ; ! ask(start, next^12(tell(stop))) ; *][13] -->
[0 ; ask(start, next^12(tell(stop))) || * ; *][13] -->
[0 ; next^12(tell(stop)) || * ; *][1] --> stop} ==>
{2 / 13 >
[0 ; next^11(tell(stop)) || * ; *][1] --> stop} ==>
{3 / 13 >
[0 ; next^10(tell(stop)) || * ; *][1] --> stop} ==>
{4 / 13 >
[0 ; next^9(tell(stop)) || * ; *][1] --> stop} ==>
{5 / 13 >
[0 ; next^8(tell(stop)) || * ; *][1] --> stop} ==>
{6 / 13 >
[0 ; next^7(tell(stop)) || * ; *][1] --> stop} ==>
{7 / 13 >
[0 ; next^6(tell(stop)) || * ; *][1] --> stop} ==>
{8 / 13 >
[0 ; next^5(tell(stop)) || * ; *][1] --> stop} ==>
{9 / 13 >
[0 ; next^4(tell(stop)) || * ; *][1] --> stop} ==>
{10 / 13 >
[0 ; next^3(tell(stop)) || * ; *][1] --> stop} ==>
{11 / 13 >
[0 ; next^2(tell(stop)) || * ; *][1] --> stop} ==>
{12 / 13 >
[0 ; next(tell(stop)) || * ; *][1] --> stop} ==>
{13 / 13 >
[0 ; tell(stop) || * ; *][13] -->
[0 ; * ; stop][1] --> stop} ==> STOP
rew computeTT(0, 15, SystemWrong, bot) .
{1 / 15 >
[0 ; SystemWrong ; bot][1] -->
[0 ; Beat || StartWrong || Check ; bot][1] -->
[0 ; tell(beat) || next^3(tell(beat)) || next^5(tell(beat)) || next^7(tell(
beat)) || next^9(tell(beat)) || next^11(tell(beat)) || next^14(tell(beat))
|| next^16(tell(beat)) || next^18(tell(beat)) || next^20(tell(beat)) ||
next^22(tell(beat)) || StartWrong || Check ; bot][1] -->
[0 ; * || next^3(tell(beat)) || next^5(tell(beat)) || next^7(tell(beat)) ||
next^9(tell(beat)) || next^11(tell(beat)) || next^14(tell(beat)) ||
next^16(tell(beat)) || next^18(tell(beat)) || next^20(tell(beat)) ||
next^22(tell(beat)) || StartWrong || Check ; beat][12] -->
[0 ; * || next^3(tell(beat)) || next^5(tell(beat)) || next^7(tell(beat)) ||
next^9(tell(beat)) || next^11(tell(beat)) || next^14(tell(beat)) ||
next^16(tell(beat)) || next^18(tell(beat)) || next^20(tell(beat)) ||
next^22(tell(beat)) || next^2(tell(start)) || Check ; beat][13] -->
[0 ; * || next^3(tell(beat)) || next^5(tell(beat)) || next^7(tell(beat)) ||
next^9(tell(beat)) || next^11(tell(beat)) || next^14(tell(beat)) ||
next^16(tell(beat)) || next^18(tell(beat)) || next^20(tell(beat)) ||
next^22(tell(beat)) || next^2(tell(start)) || ! ask(start, next^12(tell(
stop))) ; beat][13] -->
[0 ; * || next^3(tell(beat)) || next^5(tell(beat)) || next^7(tell(beat)) ||
next^9(tell(beat)) || next^11(tell(beat)) || next^14(tell(beat)) ||
next^16(tell(beat)) || next^18(tell(beat)) || next^20(tell(beat)) ||
next^22(tell(beat)) || next^2(tell(start)) || ask(start, next^12(tell(
stop))) || next(! ask(start, next^12(tell(stop)))) ; beat][1] --> stop} ==>
{2 / 15 >
[0 ; * || next^2(tell(beat)) || next^4(tell(beat)) || next^6(tell(beat)) ||
next^8(tell(beat)) || next^10(tell(beat)) || next^13(tell(beat)) ||
next^15(tell(beat)) || next^17(tell(beat)) || next^19(tell(beat)) ||
next^21(tell(beat)) || next(tell(start)) || ! ask(start, next^12(tell(
stop))) ; bot][13] -->
[0 ; * || next^2(tell(beat)) || next^4(tell(beat)) || next^6(tell(beat)) ||
next^8(tell(beat)) || next^10(tell(beat)) || next^13(tell(beat)) ||
next^15(tell(beat)) || next^17(tell(beat)) || next^19(tell(beat)) ||
next^21(tell(beat)) || next(tell(start)) || ask(start, next^12(tell(stop)))
|| next(! ask(start, next^12(tell(stop)))) ; bot][1] --> stop} ==>
{3 / 15 >
[0 ; * || next(tell(beat)) || next^3(tell(beat)) || next^5(tell(beat)) ||
next^7(tell(beat)) || next^9(tell(beat)) || next^12(tell(beat)) || next^14(
tell(beat)) || next^16(tell(beat)) || next^18(tell(beat)) || next^20(tell(
beat)) || tell(start) || ! ask(start, next^12(tell(stop))) ; bot][12] -->
[0 ; * || next(tell(beat)) || next^3(tell(beat)) || next^5(tell(beat)) ||
next^7(tell(beat)) || next^9(tell(beat)) || next^12(tell(beat)) || next^14(
tell(beat)) || next^16(tell(beat)) || next^18(tell(beat)) || next^20(tell(
beat)) || * || ! ask(start, next^12(tell(stop))) ; start][13] -->
[0 ; * || next(tell(beat)) || next^3(tell(beat)) || next^5(tell(beat)) ||
next^7(tell(beat)) || next^9(tell(beat)) || next^12(tell(beat)) || next^14(
tell(beat)) || next^16(tell(beat)) || next^18(tell(beat)) || next^20(tell(
beat)) || * || ask(start, next^12(tell(stop))) || next(! ask(start,
next^12(tell(stop)))) ; start][13] -->
[0 ; * || next(tell(beat)) || next^3(tell(beat)) || next^5(tell(beat)) ||
next^7(tell(beat)) || next^9(tell(beat)) || next^12(tell(beat)) || next^14(
tell(beat)) || next^16(tell(beat)) || next^18(tell(beat)) || next^20(tell(
beat)) || * || next^12(tell(stop)) || next(! ask(start, next^12(tell(
stop)))) ; start][1] --> stop} ==>
{4 / 15 >
[0 ; * || tell(beat) || next^2(tell(beat)) || next^4(tell(beat)) || next^6(
tell(beat)) || next^8(tell(beat)) || next^11(tell(beat)) || next^13(tell(
beat)) || next^15(tell(beat)) || next^17(tell(beat)) || next^19(tell(beat))
|| * || next^11(tell(stop)) || ! ask(start, next^12(tell(stop))) ; bot][2]
-->
[0 ; * || * || next^2(tell(beat)) || next^4(tell(beat)) || next^6(tell(beat))
|| next^8(tell(beat)) || next^11(tell(beat)) || next^13(tell(beat)) ||
next^15(tell(beat)) || next^17(tell(beat)) || next^19(tell(beat)) || * ||
next^11(tell(stop)) || ! ask(start, next^12(tell(stop))) ; beat][14] -->
[0 ; * || * || next^2(tell(beat)) || next^4(tell(beat)) || next^6(tell(beat))
|| next^8(tell(beat)) || next^11(tell(beat)) || next^13(tell(beat)) ||
next^15(tell(beat)) || next^17(tell(beat)) || next^19(tell(beat)) || * ||
next^11(tell(stop)) || ask(start, next^12(tell(stop))) || next(! ask(start,
next^12(tell(stop)))) ; beat][1] --> stop} ==>
{5 / 15 >
[0 ; * || * || next(tell(beat)) || next^3(tell(beat)) || next^5(tell(beat)) ||
next^7(tell(beat)) || next^10(tell(beat)) || next^12(tell(beat)) ||
next^14(tell(beat)) || next^16(tell(beat)) || next^18(tell(beat)) || * ||
next^10(tell(stop)) || ! ask(start, next^12(tell(stop))) ; bot][14] -->
[0 ; * || * || next(tell(beat)) || next^3(tell(beat)) || next^5(tell(beat)) ||
next^7(tell(beat)) || next^10(tell(beat)) || next^12(tell(beat)) ||
next^14(tell(beat)) || next^16(tell(beat)) || next^18(tell(beat)) || * ||
next^10(tell(stop)) || ask(start, next^12(tell(stop))) || next(! ask(start,
next^12(tell(stop)))) ; bot][1] --> stop} ==>
{6 / 15 >
[0 ; * || * || tell(beat) || next^2(tell(beat)) || next^4(tell(beat)) ||
next^6(tell(beat)) || next^9(tell(beat)) || next^11(tell(beat)) || next^13(
tell(beat)) || next^15(tell(beat)) || next^17(tell(beat)) || * || next^9(
tell(stop)) || ! ask(start, next^12(tell(stop))) ; bot][3] -->
[0 ; * || * || * || next^2(tell(beat)) || next^4(tell(beat)) || next^6(tell(
beat)) || next^9(tell(beat)) || next^11(tell(beat)) || next^13(tell(beat))
|| next^15(tell(beat)) || next^17(tell(beat)) || * || next^9(tell(stop)) ||
! ask(start, next^12(tell(stop))) ; beat][14] -->
[0 ; * || * || * || next^2(tell(beat)) || next^4(tell(beat)) || next^6(tell(
beat)) || next^9(tell(beat)) || next^11(tell(beat)) || next^13(tell(beat))
|| next^15(tell(beat)) || next^17(tell(beat)) || * || next^9(tell(stop)) ||
ask(start, next^12(tell(stop))) || next(! ask(start, next^12(tell(stop))))
; beat][1] --> stop} ==>
{7 / 15 >
[0 ; * || * || * || next(tell(beat)) || next^3(tell(beat)) || next^5(tell(
beat)) || next^8(tell(beat)) || next^10(tell(beat)) || next^12(tell(beat))
|| next^14(tell(beat)) || next^16(tell(beat)) || * || next^8(tell(stop)) ||
! ask(start, next^12(tell(stop))) ; bot][14] -->
[0 ; * || * || * || next(tell(beat)) || next^3(tell(beat)) || next^5(tell(
beat)) || next^8(tell(beat)) || next^10(tell(beat)) || next^12(tell(beat))
|| next^14(tell(beat)) || next^16(tell(beat)) || * || next^8(tell(stop)) ||
ask(start, next^12(tell(stop))) || next(! ask(start, next^12(tell(stop))))
; bot][1] --> stop} ==>
{8 / 15 >
[0 ; * || * || * || tell(beat) || next^2(tell(beat)) || next^4(tell(beat)) ||
next^7(tell(beat)) || next^9(tell(beat)) || next^11(tell(beat)) || next^13(
tell(beat)) || next^15(tell(beat)) || * || next^7(tell(stop)) || ! ask(
start, next^12(tell(stop))) ; bot][4] -->
[0 ; * || * || * || * || next^2(tell(beat)) || next^4(tell(beat)) || next^7(
tell(beat)) || next^9(tell(beat)) || next^11(tell(beat)) || next^13(tell(
beat)) || next^15(tell(beat)) || * || next^7(tell(stop)) || ! ask(start,
next^12(tell(stop))) ; beat][14] -->
[0 ; * || * || * || * || next^2(tell(beat)) || next^4(tell(beat)) || next^7(
tell(beat)) || next^9(tell(beat)) || next^11(tell(beat)) || next^13(tell(
beat)) || next^15(tell(beat)) || * || next^7(tell(stop)) || ask(start,
next^12(tell(stop))) || next(! ask(start, next^12(tell(stop)))) ; beat][1]
--> stop} ==>
{9 / 15 >
[0 ; * || * || * || * || next(tell(beat)) || next^3(tell(beat)) || next^6(tell(
beat)) || next^8(tell(beat)) || next^10(tell(beat)) || next^12(tell(beat))
|| next^14(tell(beat)) || * || next^6(tell(stop)) || ! ask(start, next^12(
tell(stop))) ; bot][14] -->
[0 ; * || * || * || * || next(tell(beat)) || next^3(tell(beat)) || next^6(tell(
beat)) || next^8(tell(beat)) || next^10(tell(beat)) || next^12(tell(beat))
|| next^14(tell(beat)) || * || next^6(tell(stop)) || ask(start, next^12(
tell(stop))) || next(! ask(start, next^12(tell(stop)))) ; bot][1] --> stop}
==>
{10 / 15 >
[0 ; * || * || * || * || tell(beat) || next^2(tell(beat)) || next^5(tell(beat))
|| next^7(tell(beat)) || next^9(tell(beat)) || next^11(tell(beat)) ||
next^13(tell(beat)) || * || next^5(tell(stop)) || ! ask(start, next^12(
tell(stop))) ; bot][5] -->
[0 ; * || * || * || * || * || next^2(tell(beat)) || next^5(tell(beat)) ||
next^7(tell(beat)) || next^9(tell(beat)) || next^11(tell(beat)) || next^13(
tell(beat)) || * || next^5(tell(stop)) || ! ask(start, next^12(tell(stop)))
; beat][14] -->
[0 ; * || * || * || * || * || next^2(tell(beat)) || next^5(tell(beat)) ||
next^7(tell(beat)) || next^9(tell(beat)) || next^11(tell(beat)) || next^13(
tell(beat)) || * || next^5(tell(stop)) || ask(start, next^12(tell(stop)))
|| next(! ask(start, next^12(tell(stop)))) ; beat][1] --> stop} ==>
{11 / 15 >
[0 ; * || * || * || * || * || next(tell(beat)) || next^4(tell(beat)) || next^6(
tell(beat)) || next^8(tell(beat)) || next^10(tell(beat)) || next^12(tell(
beat)) || * || next^4(tell(stop)) || ! ask(start, next^12(tell(stop))) ;
bot][14] -->
[0 ; * || * || * || * || * || next(tell(beat)) || next^4(tell(beat)) || next^6(
tell(beat)) || next^8(tell(beat)) || next^10(tell(beat)) || next^12(tell(
beat)) || * || next^4(tell(stop)) || ask(start, next^12(tell(stop))) ||
next(! ask(start, next^12(tell(stop)))) ; bot][1] --> stop} ==>
{12 / 15 >
[0 ; * || * || * || * || * || tell(beat) || next^3(tell(beat)) || next^5(tell(
beat)) || next^7(tell(beat)) || next^9(tell(beat)) || next^11(tell(beat))
|| * || next^3(tell(stop)) || ! ask(start, next^12(tell(stop))) ; bot][6]
-->
[0 ; * || * || * || * || * || * || next^3(tell(beat)) || next^5(tell(beat)) ||
next^7(tell(beat)) || next^9(tell(beat)) || next^11(tell(beat)) || * ||
next^3(tell(stop)) || ! ask(start, next^12(tell(stop))) ; beat][14] -->
[0 ; * || * || * || * || * || * || next^3(tell(beat)) || next^5(tell(beat)) ||
next^7(tell(beat)) || next^9(tell(beat)) || next^11(tell(beat)) || * ||
next^3(tell(stop)) || ask(start, next^12(tell(stop))) || next(! ask(start,
next^12(tell(stop)))) ; beat][1] --> stop} ==>
{13 / 15 >
[0 ; * || * || * || * || * || * || next^2(tell(beat)) || next^4(tell(beat)) ||
next^6(tell(beat)) || next^8(tell(beat)) || next^10(tell(beat)) || * ||
next^2(tell(stop)) || ! ask(start, next^12(tell(stop))) ; bot][14] -->
[0 ; * || * || * || * || * || * || next^2(tell(beat)) || next^4(tell(beat)) ||
next^6(tell(beat)) || next^8(tell(beat)) || next^10(tell(beat)) || * ||
next^2(tell(stop)) || ask(start, next^12(tell(stop))) || next(! ask(start,
next^12(tell(stop)))) ; bot][1] --> stop} ==>
{14 / 15 >
[0 ; * || * || * || * || * || * || next(tell(beat)) || next^3(tell(beat)) ||
next^5(tell(beat)) || next^7(tell(beat)) || next^9(tell(beat)) || * ||
next(tell(stop)) || ! ask(start, next^12(tell(stop))) ; bot][14] -->
[0 ; * || * || * || * || * || * || next(tell(beat)) || next^3(tell(beat)) ||
next^5(tell(beat)) || next^7(tell(beat)) || next^9(tell(beat)) || * ||
next(tell(stop)) || ask(start, next^12(tell(stop))) || next(! ask(start,
next^12(tell(stop)))) ; bot][1] --> stop} ==>
{15 / 15 >
[0 ; * || * || * || * || * || * || tell(beat) || next^2(tell(beat)) || next^4(
tell(beat)) || next^6(tell(beat)) || next^8(tell(beat)) || * || tell(stop)
|| ! ask(start, next^12(tell(stop))) ; bot][7] -->
[0 ; * || * || * || * || * || * || * || next^2(tell(beat)) || next^4(tell(
beat)) || next^6(tell(beat)) || next^8(tell(beat)) || * || tell(stop) || !
ask(start, next^12(tell(stop))) ; beat][13] -->
[0 ; * || * || * || * || * || * || * || next^2(tell(beat)) || next^4(tell(
beat)) || next^6(tell(beat)) || next^8(tell(beat)) || * || * || ! ask(
start, next^12(tell(stop))) ; beat,stop][14] -->
[0 ; * || * || * || * || * || * || * || next^2(tell(beat)) || next^4(tell(
beat)) || next^6(tell(beat)) || next^8(tell(beat)) || * || * || ask(start,
next^12(tell(stop))) || next(! ask(start, next^12(tell(stop)))) ; beat,
stop][1] --> stop} ==> STOP
rew ComputeSlice(15, SystemWrong, (beat, stop)) .
{1 / 15 >
[0 ; SystemWrong ; *][1] -->
[0 ; Beat || Check ; *][1] -->
[0 ; next^14(tell(beat)) || Check ; *][13] -->
[0 ; next^14(tell(beat)) || ! ask(start, next^12(tell(stop))) ; *][13] -->
[0 ; next^14(tell(beat)) || next(! ask(start, next^12(tell(stop)))) ; *][1] --> stop} ==>
{2 / 15 >
[0 ; next^13(tell(beat)) || ! ask(start, next^12(tell(stop))) ; *][13] -->
[0 ; next^13(tell(beat)) || next(! ask(start, next^12(tell(stop)))) ; *][1] --> stop} ==>
{3 / 15 >
[0 ; next^12(tell(beat)) || ! ask(start, next^12(tell(stop))) ; *][13] -->
[0 ; next^12(tell(beat)) || ask(start, next^12(tell(stop))) || * ; *][13] -->
[0 ; next^12(tell(beat)) || next^12(tell(stop)) || * ; *][1] --> stop} ==>
{4 / 15 >
[0 ; next^11(tell(beat)) || next^11(tell(stop)) || * ; *][1] --> stop} ==>
{5 / 15 >
[0 ; next^10(tell(beat)) || next^10(tell(stop)) || * ; *][1] --> stop} ==>
{6 / 15 >
[0 ; next^9(tell(beat)) || next^9(tell(stop)) || * ; *][1] --> stop} ==>
{7 / 15 >
[0 ; next^8(tell(beat)) || next^8(tell(stop)) || * ; *][1] --> stop} ==>
{8 / 15 >
[0 ; next^7(tell(beat)) || next^7(tell(stop)) || * ; *][1] --> stop} ==>
{9 / 15 >
[0 ; next^6(tell(beat)) || next^6(tell(stop)) || * ; *][1] --> stop} ==>
{10 / 15 >
[0 ; next^5(tell(beat)) || next^5(tell(stop)) || * ; *][1] --> stop} ==>
{11 / 15 >
[0 ; next^4(tell(beat)) || next^4(tell(stop)) || * ; *][1] --> stop} ==>
{12 / 15 >
[0 ; next^3(tell(beat)) || next^3(tell(stop)) || * ; *][1] --> stop} ==>
{13 / 15 >
[0 ; next^2(tell(beat)) || next^2(tell(stop)) || * ; *][1] --> stop} ==>
{14 / 15 >
[0 ; next(tell(beat)) || next(tell(stop)) || * ; *][1] --> stop} ==>
{15 / 15 >
[0 ; tell(beat) || tell(stop) || * ; *][7] -->
[0 ; tell(stop) || * ; beat][13] -->
[0 ; * ; beat,stop][1] --> stop} ==> STOP
pos(stop) imp neg(beat)
In words, if stop
can be deduced then beat
must not be deduced from the store. The slicer with the assertion mechanism allows for automatically stop the computation and highlight the relevant information
rew ComputeTraceAssertion('RHYTHM, 20, pos(stop) imp neg(beat) ,SystemWrong) .
R1 = ask('a, tell('aCh) || tell('bCh) || next(tell('b))) .
R2 = ask('b, tell('aCh) || tell('bCh) || next(tell('a))) .
Persistence = ask('a, unless('aCh, tell('a))) || ask('b, unless('bCh, tell('b))) .
Init = tell('a) .
System = ! R1 || ! R2 || ! Persistence || Init .
In this processes, we use the constraint aCh to signal that the fired rule affects the
value of "a" in the next time-unit. Hence, if the rule is fired, the Persistence process cannot modify the state of "a" in the next time-unit (see unless process in the definition of Persistence). The process Init specifies that, in the first time-unit, "a" is present.
maude ex3_bio.maude
{1 / 5 >
[0 ; System ; bot][1] -->
[0 ; ! R1 || ! R2 || ! Persistence || Init ; bot][1] -->
[0 ; R1 || next(! R1) || ! R2 || ! Persistence || Init ; bot][1] -->
[0 ; ask('a, tell('aCh) || tell('bCh) || next(tell('b))) || next(! R1) || ! R2
|| ! Persistence || Init ; bot][3] -->
[0 ; ask('a, tell('aCh) || tell('bCh) || next(tell('b))) || next(! R1) || R2 ||
next(! R2) || ! Persistence || Init ; bot][3] -->
[0 ; ask('a, tell('aCh) || tell('bCh) || next(tell('b))) || next(! R1) || ask(
'b, tell('aCh) || tell('bCh) || next(tell('a))) || next(! R2) || !
Persistence || Init ; bot][5] -->
[0 ; ask('a, tell('aCh) || tell('bCh) || next(tell('b))) || next(! R1) || ask(
'b, tell('aCh) || tell('bCh) || next(tell('a))) || next(! R2) ||
Persistence || next(! Persistence) || Init ; bot][5] -->
[0 ; ask('a, tell('aCh) || tell('bCh) || next(tell('b))) || next(! R1) || ask(
'b, tell('aCh) || tell('bCh) || next(tell('a))) || next(! R2) || ask('a,
unless('aCh, tell('a))) || ask('b, unless('bCh, tell('b))) || next(!
Persistence) || Init ; bot][8] -->
[0 ; ask('a, tell('aCh) || tell('bCh) || next(tell('b))) || next(! R1) || ask(
'b, tell('aCh) || tell('bCh) || next(tell('a))) || next(! R2) || ask('a,
unless('aCh, tell('a))) || ask('b, unless('bCh, tell('b))) || next(!
Persistence) || tell('a) ; bot][8] -->
[0 ; ask('a, tell('aCh) || tell('bCh) || next(tell('b))) || next(! R1) || ask(
'b, tell('aCh) || tell('bCh) || next(tell('a))) || next(! R2) || ask('a,
unless('aCh, tell('a))) || ask('b, unless('bCh, tell('b))) || next(!
Persistence) || * ; 'a][1] -->
[0 ; tell('aCh) || tell('bCh) || next(tell('b)) || next(! R1) || ask('b, tell(
'aCh) || tell('bCh) || next(tell('a))) || next(! R2) || ask('a, unless(
'aCh, tell('a))) || ask('b, unless('bCh, tell('b))) || next(! Persistence)
|| * ; 'a][1] -->
[0 ; * || tell('bCh) || next(tell('b)) || next(! R1) || ask('b, tell('aCh) ||
tell('bCh) || next(tell('a))) || next(! R2) || ask('a, unless('aCh, tell(
'a))) || ask('b, unless('bCh, tell('b))) || next(! Persistence) || * ; 'a,
'aCh][2] -->
[0 ; * || * || next(tell('b)) || next(! R1) || ask('b, tell('aCh) || tell('bCh)
|| next(tell('a))) || next(! R2) || ask('a, unless('aCh, tell('a))) || ask(
'b, unless('bCh, tell('b))) || next(! Persistence) || * ; 'a,'aCh,'bCh][7]
-->
[0 ; * || * || next(tell('b)) || next(! R1) || ask('b, tell('aCh) || tell('bCh)
|| next(tell('a))) || next(! R2) || unless('aCh, tell('a)) || ask('b,
unless('bCh, tell('b))) || next(! Persistence) || * ; 'a,'aCh,'bCh][7] -->
[0 ; * || * || next(tell('b)) || next(! R1) || ask('b, tell('aCh) || tell('bCh)
|| next(tell('a))) || next(! R2) || * || ask('b, unless('bCh, tell('b))) ||
next(! Persistence) || * ; 'a,'aCh,'bCh][1] --> stop} ==>
{2 / 5 >
[0 ; * || * || tell('b) || ! R1 || ! R2 || * || ! Persistence || * ; bot][3]
-->
[0 ; * || * || * || ! R1 || ! R2 || * || ! Persistence || * ; 'b][4] -->
[0 ; * || * || * || R1 || next(! R1) || ! R2 || * || ! Persistence || * ; 'b][
4] -->
[0 ; * || * || * || ask('a, tell('aCh) || tell('bCh) || next(tell('b))) ||
next(! R1) || ! R2 || * || ! Persistence || * ; 'b][6] -->
[0 ; * || * || * || ask('a, tell('aCh) || tell('bCh) || next(tell('b))) ||
next(! R1) || R2 || next(! R2) || * || ! Persistence || * ; 'b][6] -->
[0 ; * || * || * || ask('a, tell('aCh) || tell('bCh) || next(tell('b))) ||
next(! R1) || ask('b, tell('aCh) || tell('bCh) || next(tell('a))) || next(!
R2) || * || ! Persistence || * ; 'b][6] -->
[0 ; * || * || * || ask('a, tell('aCh) || tell('bCh) || next(tell('b))) ||
next(! R1) || tell('aCh) || tell('bCh) || next(tell('a)) || next(! R2) || *
|| ! Persistence || * ; 'b][6] -->
[0 ; * || * || * || ask('a, tell('aCh) || tell('bCh) || next(tell('b))) ||
next(! R1) || * || tell('bCh) || next(tell('a)) || next(! R2) || * || !
Persistence || * ; 'aCh,'b][7] -->
[0 ; * || * || * || ask('a, tell('aCh) || tell('bCh) || next(tell('b))) ||
next(! R1) || * || * || next(tell('a)) || next(! R2) || * || ! Persistence
|| * ; 'aCh,'b,'bCh][11] -->
[0 ; * || * || * || ask('a, tell('aCh) || tell('bCh) || next(tell('b))) ||
next(! R1) || * || * || next(tell('a)) || next(! R2) || * || Persistence ||
next(! Persistence) || * ; 'aCh,'b,'bCh][11] -->
[0 ; * || * || * || ask('a, tell('aCh) || tell('bCh) || next(tell('b))) ||
next(! R1) || * || * || next(tell('a)) || next(! R2) || * || ask('a,
unless('aCh, tell('a))) || ask('b, unless('bCh, tell('b))) || next(!
Persistence) || * ; 'aCh,'b,'bCh][12] -->
[0 ; * || * || * || ask('a, tell('aCh) || tell('bCh) || next(tell('b))) ||
next(! R1) || * || * || next(tell('a)) || next(! R2) || * || ask('a,
unless('aCh, tell('a))) || unless('bCh, tell('b)) || next(! Persistence) ||
* ; 'aCh,'b,'bCh][12] -->
[0 ; * || * || * || ask('a, tell('aCh) || tell('bCh) || next(tell('b))) ||
next(! R1) || * || * || next(tell('a)) || next(! R2) || * || ask('a,
unless('aCh, tell('a))) || * || next(! Persistence) || * ; 'aCh,'b,'bCh][1]
--> stop} ==>
{3 / 5 >
[0 ; * || * || * || ! R1 || * || * || tell('a) || ! R2 || * || * || !
Persistence || * ; bot][4] -->
[0 ; * || * || * || R1 || next(! R1) || * || * || tell('a) || ! R2 || * || * ||
! Persistence || * ; bot][4] -->
[0 ; * || * || * || ask('a, tell('aCh) || tell('bCh) || next(tell('b))) ||
next(! R1) || * || * || tell('a) || ! R2 || * || * || ! Persistence || * ;
bot][8] -->
[0 ; * || * || * || ask('a, tell('aCh) || tell('bCh) || next(tell('b))) ||
next(! R1) || * || * || * || ! R2 || * || * || ! Persistence || * ; 'a][4]
-->
[0 ; * || * || * || tell('aCh) || tell('bCh) || next(tell('b)) || next(! R1) ||
* || * || * || ! R2 || * || * || ! Persistence || * ; 'a][4] -->
[0 ; * || * || * || * || tell('bCh) || next(tell('b)) || next(! R1) || * || *
|| * || ! R2 || * || * || ! Persistence || * ; 'a,'aCh][5] -->
[0 ; * || * || * || * || * || next(tell('b)) || next(! R1) || * || * || * || !
R2 || * || * || ! Persistence || * ; 'a,'aCh,'bCh][11] -->
[0 ; * || * || * || * || * || next(tell('b)) || next(! R1) || * || * || * || R2
|| next(! R2) || * || * || ! Persistence || * ; 'a,'aCh,'bCh][11] -->
[0 ; * || * || * || * || * || next(tell('b)) || next(! R1) || * || * || * ||
ask('b, tell('aCh) || tell('bCh) || next(tell('a))) || next(! R2) || * || *
|| ! Persistence || * ; 'a,'aCh,'bCh][15] -->
[0 ; * || * || * || * || * || next(tell('b)) || next(! R1) || * || * || * ||
ask('b, tell('aCh) || tell('bCh) || next(tell('a))) || next(! R2) || * || *
|| Persistence || next(! Persistence) || * ; 'a,'aCh,'bCh][15] -->
[0 ; * || * || * || * || * || next(tell('b)) || next(! R1) || * || * || * ||
ask('b, tell('aCh) || tell('bCh) || next(tell('a))) || next(! R2) || * || *
|| ask('a, unless('aCh, tell('a))) || ask('b, unless('bCh, tell('b))) ||
next(! Persistence) || * ; 'a,'aCh,'bCh][15] -->
[0 ; * || * || * || * || * || next(tell('b)) || next(! R1) || * || * || * ||
ask('b, tell('aCh) || tell('bCh) || next(tell('a))) || next(! R2) || * || *
|| unless('aCh, tell('a)) || ask('b, unless('bCh, tell('b))) || next(!
Persistence) || * ; 'a,'aCh,'bCh][15] -->
[0 ; * || * || * || * || * || next(tell('b)) || next(! R1) || * || * || * ||
ask('b, tell('aCh) || tell('bCh) || next(tell('a))) || next(! R2) || * || *
|| * || ask('b, unless('bCh, tell('b))) || next(! Persistence) || * ; 'a,
'aCh,'bCh][1] --> stop} ==>
{4 / 5 >
[0 ; * || * || * || * || * || tell('b) || ! R1 || * || * || * || ! R2 || * || *
|| * || ! Persistence || * ; bot][6] -->
[0 ; * || * || * || * || * || * || ! R1 || * || * || * || ! R2 || * || * || *
|| ! Persistence || * ; 'b][7] -->
[0 ; * || * || * || * || * || * || R1 || next(! R1) || * || * || * || ! R2 || *
|| * || * || ! Persistence || * ; 'b][7] -->
[0 ; * || * || * || * || * || * || ask('a, tell('aCh) || tell('bCh) || next(
tell('b))) || next(! R1) || * || * || * || ! R2 || * || * || * || !
Persistence || * ; 'b][12] -->
[0 ; * || * || * || * || * || * || ask('a, tell('aCh) || tell('bCh) || next(
tell('b))) || next(! R1) || * || * || * || R2 || next(! R2) || * || * || *
|| ! Persistence || * ; 'b][12] -->
[0 ; * || * || * || * || * || * || ask('a, tell('aCh) || tell('bCh) || next(
tell('b))) || next(! R1) || * || * || * || ask('b, tell('aCh) || tell('bCh)
|| next(tell('a))) || next(! R2) || * || * || * || ! Persistence || * ;
'b][12] -->
[0 ; * || * || * || * || * || * || ask('a, tell('aCh) || tell('bCh) || next(
tell('b))) || next(! R1) || * || * || * || tell('aCh) || tell('bCh) ||
next(tell('a)) || next(! R2) || * || * || * || ! Persistence || * ; 'b][12]
-->
[0 ; * || * || * || * || * || * || ask('a, tell('aCh) || tell('bCh) || next(
tell('b))) || next(! R1) || * || * || * || * || tell('bCh) || next(tell(
'a)) || next(! R2) || * || * || * || ! Persistence || * ; 'aCh,'b][13] -->
[0 ; * || * || * || * || * || * || ask('a, tell('aCh) || tell('bCh) || next(
tell('b))) || next(! R1) || * || * || * || * || * || next(tell('a)) ||
next(! R2) || * || * || * || ! Persistence || * ; 'aCh,'b,'bCh][19] -->
[0 ; * || * || * || * || * || * || ask('a, tell('aCh) || tell('bCh) || next(
tell('b))) || next(! R1) || * || * || * || * || * || next(tell('a)) ||
next(! R2) || * || * || * || Persistence || next(! Persistence) || * ;
'aCh,'b,'bCh][19] -->
[0 ; * || * || * || * || * || * || ask('a, tell('aCh) || tell('bCh) || next(
tell('b))) || next(! R1) || * || * || * || * || * || next(tell('a)) ||
next(! R2) || * || * || * || ask('a, unless('aCh, tell('a))) || ask('b,
unless('bCh, tell('b))) || next(! Persistence) || * ; 'aCh,'b,'bCh][20] -->
[0 ; * || * || * || * || * || * || ask('a, tell('aCh) || tell('bCh) || next(
tell('b))) || next(! R1) || * || * || * || * || * || next(tell('a)) ||
next(! R2) || * || * || * || ask('a, unless('aCh, tell('a))) || unless(
'bCh, tell('b)) || next(! Persistence) || * ; 'aCh,'b,'bCh][20] -->
[0 ; * || * || * || * || * || * || ask('a, tell('aCh) || tell('bCh) || next(
tell('b))) || next(! R1) || * || * || * || * || * || next(tell('a)) ||
next(! R2) || * || * || * || ask('a, unless('aCh, tell('a))) || * || next(!
Persistence) || * ; 'aCh,'b,'bCh][1] --> stop} ==>
{5 / 5 >
[0 ; * || * || * || * || * || * || ! R1 || * || * || * || * || * || tell('a) ||
! R2 || * || * || * || * || ! Persistence || * ; bot][7] -->
[0 ; * || * || * || * || * || * || R1 || next(! R1) || * || * || * || * || * ||
tell('a) || ! R2 || * || * || * || * || ! Persistence || * ; bot][7] -->
[0 ; * || * || * || * || * || * || ask('a, tell('aCh) || tell('bCh) || next(
tell('b))) || next(! R1) || * || * || * || * || * || tell('a) || ! R2 || *
|| * || * || * || ! Persistence || * ; bot][14] -->
[0 ; * || * || * || * || * || * || ask('a, tell('aCh) || tell('bCh) || next(
tell('b))) || next(! R1) || * || * || * || * || * || * || ! R2 || * || * ||
* || * || ! Persistence || * ; 'a][7] -->
[0 ; * || * || * || * || * || * || tell('aCh) || tell('bCh) || next(tell('b))
|| next(! R1) || * || * || * || * || * || * || ! R2 || * || * || * || * ||
! Persistence || * ; 'a][7] -->
[0 ; * || * || * || * || * || * || * || tell('bCh) || next(tell('b)) || next(!
R1) || * || * || * || * || * || * || ! R2 || * || * || * || * || !
Persistence || * ; 'a,'aCh][8] -->
[0 ; * || * || * || * || * || * || * || * || next(tell('b)) || next(! R1) || *
|| * || * || * || * || * || ! R2 || * || * || * || * || ! Persistence || *
; 'a,'aCh,'bCh][17] -->
[0 ; * || * || * || * || * || * || * || * || next(tell('b)) || next(! R1) || *
|| * || * || * || * || * || R2 || next(! R2) || * || * || * || * || !
Persistence || * ; 'a,'aCh,'bCh][17] -->
[0 ; * || * || * || * || * || * || * || * || next(tell('b)) || next(! R1) || *
|| * || * || * || * || * || ask('b, tell('aCh) || tell('bCh) || next(tell(
'a))) || next(! R2) || * || * || * || * || ! Persistence || * ; 'a,'aCh,
'bCh][23] -->
[0 ; * || * || * || * || * || * || * || * || next(tell('b)) || next(! R1) || *
|| * || * || * || * || * || ask('b, tell('aCh) || tell('bCh) || next(tell(
'a))) || next(! R2) || * || * || * || * || Persistence || next(!
Persistence) || * ; 'a,'aCh,'bCh][23] -->
[0 ; * || * || * || * || * || * || * || * || next(tell('b)) || next(! R1) || *
|| * || * || * || * || * || ask('b, tell('aCh) || tell('bCh) || next(tell(
'a))) || next(! R2) || * || * || * || * || ask('a, unless('aCh, tell('a)))
|| ask('b, unless('bCh, tell('b))) || next(! Persistence) || * ; 'a,'aCh,
'bCh][23] -->
[0 ; * || * || * || * || * || * || * || * || next(tell('b)) || next(! R1) || *
|| * || * || * || * || * || ask('b, tell('aCh) || tell('bCh) || next(tell(
'a))) || next(! R2) || * || * || * || * || unless('aCh, tell('a)) || ask(
'b, unless('bCh, tell('b))) || next(! Persistence) || * ; 'a,'aCh,'bCh][23]
-->
[0 ; * || * || * || * || * || * || * || * || next(tell('b)) || next(! R1) || *
|| * || * || * || * || * || ask('b, tell('aCh) || tell('bCh) || next(tell(
'a))) || next(! R2) || * || * || * || * || * || ask('b, unless('bCh, tell(
'b))) || next(! Persistence) || * ; 'a,'aCh,'bCh][1] --> stop} ==> STOP
R1: Dnadam => ~Mdm2
R2: ~Mdm2 => P53
R3: P53 => Mdm2
R4: Mdm2 => ~P53
R5: P53 => ~Dnadam
R6: ~Dnadam => Mdm2
In these equation, "~X" means that the component "X" must be absent.
R1 = ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2A))) . R2 = ask('Mdm2A, tell('Mdm2ACh) || tell('P53Ch) || next(tell('P53))) . R3 = ask('P53, tell('Mdm2ACh) || tell('P53Ch) || next(tell('Mdm2))) . R4 = ask('Mdm2, tell('Mdm2ACh) || tell('P53Ch) || next(tell('P53A))) . R5 = ask('P53, tell('DnadamCh) || tell('P53Ch) || next(tell('DnadamA))) . R6 = ask('DnadamA, tell('DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2))) . Persistence = ask('Dnadam, unless('DnadamCh, tell('Dnadam))) || ask('DnadamA, unless('DnadamCh, tell('DnadamA))) || ask('P53, unless('P53Ch, tell('P53))) || ask('P53A, unless('P53Ch, tell('P53A))) || ask('Mdm2, unless('Mdm2Ch, tell('Mdm2))) || ask('Mdm2A, unless('Mdm2Ch, tell('Mdm2A))) . Init = tell('Dnadam) || tell('Mdm2A) || tell('P53A) . System = ! R1 || ! R2 || ! R3 || ! R4 || ! R5 || ! R6 || ! Persistence || Init .Once we execute it, we noticed that something was wrong.
rew computeTT(0, 3, System, bot) .
{1 / 3 >
[0 ; System ; bot][1] -->
[0 ; ! R1 || ! R2 || ! R3 || ! R4 || ! R5 || ! R6 || ! Persistence || Init ;
bot][1] -->
[0 ; R1 || next(! R1) || ! R2 || ! R3 || ! R4 || ! R5 || ! R6 || ! Persistence
|| Init ; bot][1] -->
[0 ; ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2A))) ||
next(! R1) || ! R2 || ! R3 || ! R4 || ! R5 || ! R6 || ! Persistence || Init
; bot][3] -->
[0 ; ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2A))) ||
next(! R1) || R2 || next(! R2) || ! R3 || ! R4 || ! R5 || ! R6 || !
Persistence || Init ; bot][3] -->
[0 ; ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2A))) ||
next(! R1) || ask('Mdm2A, tell('Mdm2ACh) || tell('P53Ch) || next(tell(
'P53))) || next(! R2) || ! R3 || ! R4 || ! R5 || ! R6 || ! Persistence ||
Init ; bot][5] -->
[0 ; ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2A))) ||
next(! R1) || ask('Mdm2A, tell('Mdm2ACh) || tell('P53Ch) || next(tell(
'P53))) || next(! R2) || R3 || next(! R3) || ! R4 || ! R5 || ! R6 || !
Persistence || Init ; bot][5] -->
[0 ; ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2A))) ||
next(! R1) || ask('Mdm2A, tell('Mdm2ACh) || tell('P53Ch) || next(tell(
'P53))) || next(! R2) || ask('P53, tell('Mdm2ACh) || tell('P53Ch) || next(
tell('Mdm2))) || next(! R3) || ! R4 || ! R5 || ! R6 || ! Persistence ||
Init ; bot][7] -->
[0 ; ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2A))) ||
next(! R1) || ask('Mdm2A, tell('Mdm2ACh) || tell('P53Ch) || next(tell(
'P53))) || next(! R2) || ask('P53, tell('Mdm2ACh) || tell('P53Ch) || next(
tell('Mdm2))) || next(! R3) || R4 || next(! R4) || ! R5 || ! R6 || !
Persistence || Init ; bot][7] -->
[0 ; ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2A))) ||
next(! R1) || ask('Mdm2A, tell('Mdm2ACh) || tell('P53Ch) || next(tell(
'P53))) || next(! R2) || ask('P53, tell('Mdm2ACh) || tell('P53Ch) || next(
tell('Mdm2))) || next(! R3) || ask('Mdm2, tell('Mdm2ACh) || tell('P53Ch) ||
next(tell('P53A))) || next(! R4) || ! R5 || ! R6 || ! Persistence || Init ;
bot][9] -->
[0 ; ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2A))) ||
next(! R1) || ask('Mdm2A, tell('Mdm2ACh) || tell('P53Ch) || next(tell(
'P53))) || next(! R2) || ask('P53, tell('Mdm2ACh) || tell('P53Ch) || next(
tell('Mdm2))) || next(! R3) || ask('Mdm2, tell('Mdm2ACh) || tell('P53Ch) ||
next(tell('P53A))) || next(! R4) || R5 || next(! R5) || ! R6 || !
Persistence || Init ; bot][9] -->
[0 ; ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2A))) ||
next(! R1) || ask('Mdm2A, tell('Mdm2ACh) || tell('P53Ch) || next(tell(
'P53))) || next(! R2) || ask('P53, tell('Mdm2ACh) || tell('P53Ch) || next(
tell('Mdm2))) || next(! R3) || ask('Mdm2, tell('Mdm2ACh) || tell('P53Ch) ||
next(tell('P53A))) || next(! R4) || ask('P53, tell('DnadamCh) || tell(
'P53Ch) || next(tell('DnadamA))) || next(! R5) || ! R6 || ! Persistence ||
Init ; bot][11] -->
[0 ; ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2A))) ||
next(! R1) || ask('Mdm2A, tell('Mdm2ACh) || tell('P53Ch) || next(tell(
'P53))) || next(! R2) || ask('P53, tell('Mdm2ACh) || tell('P53Ch) || next(
tell('Mdm2))) || next(! R3) || ask('Mdm2, tell('Mdm2ACh) || tell('P53Ch) ||
next(tell('P53A))) || next(! R4) || ask('P53, tell('DnadamCh) || tell(
'P53Ch) || next(tell('DnadamA))) || next(! R5) || R6 || next(! R6) || !
Persistence || Init ; bot][11] -->
[0 ; ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2A))) ||
next(! R1) || ask('Mdm2A, tell('Mdm2ACh) || tell('P53Ch) || next(tell(
'P53))) || next(! R2) || ask('P53, tell('Mdm2ACh) || tell('P53Ch) || next(
tell('Mdm2))) || next(! R3) || ask('Mdm2, tell('Mdm2ACh) || tell('P53Ch) ||
next(tell('P53A))) || next(! R4) || ask('P53, tell('DnadamCh) || tell(
'P53Ch) || next(tell('DnadamA))) || next(! R5) || ask('DnadamA, tell(
'DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2))) || next(! R6) || !
Persistence || Init ; bot][13] -->
[0 ; ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2A))) ||
next(! R1) || ask('Mdm2A, tell('Mdm2ACh) || tell('P53Ch) || next(tell(
'P53))) || next(! R2) || ask('P53, tell('Mdm2ACh) || tell('P53Ch) || next(
tell('Mdm2))) || next(! R3) || ask('Mdm2, tell('Mdm2ACh) || tell('P53Ch) ||
next(tell('P53A))) || next(! R4) || ask('P53, tell('DnadamCh) || tell(
'P53Ch) || next(tell('DnadamA))) || next(! R5) || ask('DnadamA, tell(
'DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2))) || next(! R6) ||
Persistence || next(! Persistence) || Init ; bot][13] -->
[0 ; ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2A))) ||
next(! R1) || ask('Mdm2A, tell('Mdm2ACh) || tell('P53Ch) || next(tell(
'P53))) || next(! R2) || ask('P53, tell('Mdm2ACh) || tell('P53Ch) || next(
tell('Mdm2))) || next(! R3) || ask('Mdm2, tell('Mdm2ACh) || tell('P53Ch) ||
next(tell('P53A))) || next(! R4) || ask('P53, tell('DnadamCh) || tell(
'P53Ch) || next(tell('DnadamA))) || next(! R5) || ask('DnadamA, tell(
'DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2))) || next(! R6) || ask(
'Dnadam, unless('DnadamCh, tell('Dnadam))) || ask('DnadamA, unless(
'DnadamCh, tell('DnadamA))) || ask('P53, unless('P53Ch, tell('P53))) ||
ask('P53A, unless('P53Ch, tell('P53A))) || ask('Mdm2, unless('Mdm2Ch, tell(
'Mdm2))) || ask('Mdm2A, unless('Mdm2Ch, tell('Mdm2A))) || next(!
Persistence) || Init ; bot][20] -->
[0 ; ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2A))) ||
next(! R1) || ask('Mdm2A, tell('Mdm2ACh) || tell('P53Ch) || next(tell(
'P53))) || next(! R2) || ask('P53, tell('Mdm2ACh) || tell('P53Ch) || next(
tell('Mdm2))) || next(! R3) || ask('Mdm2, tell('Mdm2ACh) || tell('P53Ch) ||
next(tell('P53A))) || next(! R4) || ask('P53, tell('DnadamCh) || tell(
'P53Ch) || next(tell('DnadamA))) || next(! R5) || ask('DnadamA, tell(
'DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2))) || next(! R6) || ask(
'Dnadam, unless('DnadamCh, tell('Dnadam))) || ask('DnadamA, unless(
'DnadamCh, tell('DnadamA))) || ask('P53, unless('P53Ch, tell('P53))) ||
ask('P53A, unless('P53Ch, tell('P53A))) || ask('Mdm2, unless('Mdm2Ch, tell(
'Mdm2))) || ask('Mdm2A, unless('Mdm2Ch, tell('Mdm2A))) || next(!
Persistence) || tell('Dnadam) || tell('Mdm2A) || tell('P53A) ; bot][20] -->
[0 ; ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2A))) ||
next(! R1) || ask('Mdm2A, tell('Mdm2ACh) || tell('P53Ch) || next(tell(
'P53))) || next(! R2) || ask('P53, tell('Mdm2ACh) || tell('P53Ch) || next(
tell('Mdm2))) || next(! R3) || ask('Mdm2, tell('Mdm2ACh) || tell('P53Ch) ||
next(tell('P53A))) || next(! R4) || ask('P53, tell('DnadamCh) || tell(
'P53Ch) || next(tell('DnadamA))) || next(! R5) || ask('DnadamA, tell(
'DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2))) || next(! R6) || ask(
'Dnadam, unless('DnadamCh, tell('Dnadam))) || ask('DnadamA, unless(
'DnadamCh, tell('DnadamA))) || ask('P53, unless('P53Ch, tell('P53))) ||
ask('P53A, unless('P53Ch, tell('P53A))) || ask('Mdm2, unless('Mdm2Ch, tell(
'Mdm2))) || ask('Mdm2A, unless('Mdm2Ch, tell('Mdm2A))) || next(!
Persistence) || * || tell('Mdm2A) || tell('P53A) ; 'Dnadam][1] -->
[0 ; tell('DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2A)) || next(! R1) ||
ask('Mdm2A, tell('Mdm2ACh) || tell('P53Ch) || next(tell('P53))) || next(!
R2) || ask('P53, tell('Mdm2ACh) || tell('P53Ch) || next(tell('Mdm2))) ||
next(! R3) || ask('Mdm2, tell('Mdm2ACh) || tell('P53Ch) || next(tell(
'P53A))) || next(! R4) || ask('P53, tell('DnadamCh) || tell('P53Ch) ||
next(tell('DnadamA))) || next(! R5) || ask('DnadamA, tell('DnadamCh) ||
tell('Mdm2Ch) || next(tell('Mdm2))) || next(! R6) || ask('Dnadam, unless(
'DnadamCh, tell('Dnadam))) || ask('DnadamA, unless('DnadamCh, tell(
'DnadamA))) || ask('P53, unless('P53Ch, tell('P53))) || ask('P53A, unless(
'P53Ch, tell('P53A))) || ask('Mdm2, unless('Mdm2Ch, tell('Mdm2))) || ask(
'Mdm2A, unless('Mdm2Ch, tell('Mdm2A))) || next(! Persistence) || * || tell(
'Mdm2A) || tell('P53A) ; 'Dnadam][1] -->
[0 ; * || tell('Mdm2Ch) || next(tell('Mdm2A)) || next(! R1) || ask('Mdm2A,
tell('Mdm2ACh) || tell('P53Ch) || next(tell('P53))) || next(! R2) || ask(
'P53, tell('Mdm2ACh) || tell('P53Ch) || next(tell('Mdm2))) || next(! R3) ||
ask('Mdm2, tell('Mdm2ACh) || tell('P53Ch) || next(tell('P53A))) || next(!
R4) || ask('P53, tell('DnadamCh) || tell('P53Ch) || next(tell('DnadamA)))
|| next(! R5) || ask('DnadamA, tell('DnadamCh) || tell('Mdm2Ch) || next(
tell('Mdm2))) || next(! R6) || ask('Dnadam, unless('DnadamCh, tell(
'Dnadam))) || ask('DnadamA, unless('DnadamCh, tell('DnadamA))) || ask('P53,
unless('P53Ch, tell('P53))) || ask('P53A, unless('P53Ch, tell('P53A))) ||
ask('Mdm2, unless('Mdm2Ch, tell('Mdm2))) || ask('Mdm2A, unless('Mdm2Ch,
tell('Mdm2A))) || next(! Persistence) || * || tell('Mdm2A) || tell('P53A) ;
'Dnadam,'DnadamCh][2] -->
[0 ; * || * || next(tell('Mdm2A)) || next(! R1) || ask('Mdm2A, tell('Mdm2ACh)
|| tell('P53Ch) || next(tell('P53))) || next(! R2) || ask('P53, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('Mdm2))) || next(! R3) || ask('Mdm2,
tell('Mdm2ACh) || tell('P53Ch) || next(tell('P53A))) || next(! R4) || ask(
'P53, tell('DnadamCh) || tell('P53Ch) || next(tell('DnadamA))) || next(!
R5) || ask('DnadamA, tell('DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2)))
|| next(! R6) || ask('Dnadam, unless('DnadamCh, tell('Dnadam))) || ask(
'DnadamA, unless('DnadamCh, tell('DnadamA))) || ask('P53, unless('P53Ch,
tell('P53))) || ask('P53A, unless('P53Ch, tell('P53A))) || ask('Mdm2,
unless('Mdm2Ch, tell('Mdm2))) || ask('Mdm2A, unless('Mdm2Ch, tell('Mdm2A)))
|| next(! Persistence) || * || tell('Mdm2A) || tell('P53A) ; 'Dnadam,
'DnadamCh,'Mdm2Ch][15] -->
[0 ; * || * || next(tell('Mdm2A)) || next(! R1) || ask('Mdm2A, tell('Mdm2ACh)
|| tell('P53Ch) || next(tell('P53))) || next(! R2) || ask('P53, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('Mdm2))) || next(! R3) || ask('Mdm2,
tell('Mdm2ACh) || tell('P53Ch) || next(tell('P53A))) || next(! R4) || ask(
'P53, tell('DnadamCh) || tell('P53Ch) || next(tell('DnadamA))) || next(!
R5) || ask('DnadamA, tell('DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2)))
|| next(! R6) || unless('DnadamCh, tell('Dnadam)) || ask('DnadamA, unless(
'DnadamCh, tell('DnadamA))) || ask('P53, unless('P53Ch, tell('P53))) ||
ask('P53A, unless('P53Ch, tell('P53A))) || ask('Mdm2, unless('Mdm2Ch, tell(
'Mdm2))) || ask('Mdm2A, unless('Mdm2Ch, tell('Mdm2A))) || next(!
Persistence) || * || tell('Mdm2A) || tell('P53A) ; 'Dnadam,'DnadamCh,
'Mdm2Ch][15] -->
[0 ; * || * || next(tell('Mdm2A)) || next(! R1) || ask('Mdm2A, tell('Mdm2ACh)
|| tell('P53Ch) || next(tell('P53))) || next(! R2) || ask('P53, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('Mdm2))) || next(! R3) || ask('Mdm2,
tell('Mdm2ACh) || tell('P53Ch) || next(tell('P53A))) || next(! R4) || ask(
'P53, tell('DnadamCh) || tell('P53Ch) || next(tell('DnadamA))) || next(!
R5) || ask('DnadamA, tell('DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2)))
|| next(! R6) || * || ask('DnadamA, unless('DnadamCh, tell('DnadamA))) ||
ask('P53, unless('P53Ch, tell('P53))) || ask('P53A, unless('P53Ch, tell(
'P53A))) || ask('Mdm2, unless('Mdm2Ch, tell('Mdm2))) || ask('Mdm2A, unless(
'Mdm2Ch, tell('Mdm2A))) || next(! Persistence) || * || tell('Mdm2A) ||
tell('P53A) ; 'Dnadam,'DnadamCh,'Mdm2Ch][23] -->
[0 ; * || * || next(tell('Mdm2A)) || next(! R1) || ask('Mdm2A, tell('Mdm2ACh)
|| tell('P53Ch) || next(tell('P53))) || next(! R2) || ask('P53, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('Mdm2))) || next(! R3) || ask('Mdm2,
tell('Mdm2ACh) || tell('P53Ch) || next(tell('P53A))) || next(! R4) || ask(
'P53, tell('DnadamCh) || tell('P53Ch) || next(tell('DnadamA))) || next(!
R5) || ask('DnadamA, tell('DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2)))
|| next(! R6) || * || ask('DnadamA, unless('DnadamCh, tell('DnadamA))) ||
ask('P53, unless('P53Ch, tell('P53))) || ask('P53A, unless('P53Ch, tell(
'P53A))) || ask('Mdm2, unless('Mdm2Ch, tell('Mdm2))) || ask('Mdm2A, unless(
'Mdm2Ch, tell('Mdm2A))) || next(! Persistence) || * || * || tell('P53A) ;
'Dnadam,'DnadamCh,'Mdm2A,'Mdm2Ch][5] -->
[0 ; * || * || next(tell('Mdm2A)) || next(! R1) || tell('Mdm2ACh) || tell(
'P53Ch) || next(tell('P53)) || next(! R2) || ask('P53, tell('Mdm2ACh) ||
tell('P53Ch) || next(tell('Mdm2))) || next(! R3) || ask('Mdm2, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53A))) || next(! R4) || ask('P53,
tell('DnadamCh) || tell('P53Ch) || next(tell('DnadamA))) || next(! R5) ||
ask('DnadamA, tell('DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2))) ||
next(! R6) || * || ask('DnadamA, unless('DnadamCh, tell('DnadamA))) || ask(
'P53, unless('P53Ch, tell('P53))) || ask('P53A, unless('P53Ch, tell(
'P53A))) || ask('Mdm2, unless('Mdm2Ch, tell('Mdm2))) || ask('Mdm2A, unless(
'Mdm2Ch, tell('Mdm2A))) || next(! Persistence) || * || * || tell('P53A) ;
'Dnadam,'DnadamCh,'Mdm2A,'Mdm2Ch][5] -->
[0 ; * || * || next(tell('Mdm2A)) || next(! R1) || * || tell('P53Ch) || next(
tell('P53)) || next(! R2) || ask('P53, tell('Mdm2ACh) || tell('P53Ch) ||
next(tell('Mdm2))) || next(! R3) || ask('Mdm2, tell('Mdm2ACh) || tell(
'P53Ch) || next(tell('P53A))) || next(! R4) || ask('P53, tell('DnadamCh) ||
tell('P53Ch) || next(tell('DnadamA))) || next(! R5) || ask('DnadamA, tell(
'DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2))) || next(! R6) || * ||
ask('DnadamA, unless('DnadamCh, tell('DnadamA))) || ask('P53, unless(
'P53Ch, tell('P53))) || ask('P53A, unless('P53Ch, tell('P53A))) || ask(
'Mdm2, unless('Mdm2Ch, tell('Mdm2))) || ask('Mdm2A, unless('Mdm2Ch, tell(
'Mdm2A))) || next(! Persistence) || * || * || tell('P53A) ; 'Dnadam,
'DnadamCh,'Mdm2A,'Mdm2ACh,'Mdm2Ch][6] -->
[0 ; * || * || next(tell('Mdm2A)) || next(! R1) || * || * || next(tell('P53))
|| next(! R2) || ask('P53, tell('Mdm2ACh) || tell('P53Ch) || next(tell(
'Mdm2))) || next(! R3) || ask('Mdm2, tell('Mdm2ACh) || tell('P53Ch) ||
next(tell('P53A))) || next(! R4) || ask('P53, tell('DnadamCh) || tell(
'P53Ch) || next(tell('DnadamA))) || next(! R5) || ask('DnadamA, tell(
'DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2))) || next(! R6) || * ||
ask('DnadamA, unless('DnadamCh, tell('DnadamA))) || ask('P53, unless(
'P53Ch, tell('P53))) || ask('P53A, unless('P53Ch, tell('P53A))) || ask(
'Mdm2, unless('Mdm2Ch, tell('Mdm2))) || ask('Mdm2A, unless('Mdm2Ch, tell(
'Mdm2A))) || next(! Persistence) || * || * || tell('P53A) ; 'Dnadam,
'DnadamCh,'Mdm2A,'Mdm2ACh,'Mdm2Ch,'P53Ch][22] -->
[0 ; * || * || next(tell('Mdm2A)) || next(! R1) || * || * || next(tell('P53))
|| next(! R2) || ask('P53, tell('Mdm2ACh) || tell('P53Ch) || next(tell(
'Mdm2))) || next(! R3) || ask('Mdm2, tell('Mdm2ACh) || tell('P53Ch) ||
next(tell('P53A))) || next(! R4) || ask('P53, tell('DnadamCh) || tell(
'P53Ch) || next(tell('DnadamA))) || next(! R5) || ask('DnadamA, tell(
'DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2))) || next(! R6) || * ||
ask('DnadamA, unless('DnadamCh, tell('DnadamA))) || ask('P53, unless(
'P53Ch, tell('P53))) || ask('P53A, unless('P53Ch, tell('P53A))) || ask(
'Mdm2, unless('Mdm2Ch, tell('Mdm2))) || unless('Mdm2Ch, tell('Mdm2A)) ||
next(! Persistence) || * || * || tell('P53A) ; 'Dnadam,'DnadamCh,'Mdm2A,
'Mdm2ACh,'Mdm2Ch,'P53Ch][22] -->
[0 ; * || * || next(tell('Mdm2A)) || next(! R1) || * || * || next(tell('P53))
|| next(! R2) || ask('P53, tell('Mdm2ACh) || tell('P53Ch) || next(tell(
'Mdm2))) || next(! R3) || ask('Mdm2, tell('Mdm2ACh) || tell('P53Ch) ||
next(tell('P53A))) || next(! R4) || ask('P53, tell('DnadamCh) || tell(
'P53Ch) || next(tell('DnadamA))) || next(! R5) || ask('DnadamA, tell(
'DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2))) || next(! R6) || * ||
ask('DnadamA, unless('DnadamCh, tell('DnadamA))) || ask('P53, unless(
'P53Ch, tell('P53))) || ask('P53A, unless('P53Ch, tell('P53A))) || ask(
'Mdm2, unless('Mdm2Ch, tell('Mdm2))) || * || next(! Persistence) || * || *
|| tell('P53A) ; 'Dnadam,'DnadamCh,'Mdm2A,'Mdm2ACh,'Mdm2Ch,'P53Ch][26] -->
[0 ; * || * || next(tell('Mdm2A)) || next(! R1) || * || * || next(tell('P53))
|| next(! R2) || ask('P53, tell('Mdm2ACh) || tell('P53Ch) || next(tell(
'Mdm2))) || next(! R3) || ask('Mdm2, tell('Mdm2ACh) || tell('P53Ch) ||
next(tell('P53A))) || next(! R4) || ask('P53, tell('DnadamCh) || tell(
'P53Ch) || next(tell('DnadamA))) || next(! R5) || ask('DnadamA, tell(
'DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2))) || next(! R6) || * ||
ask('DnadamA, unless('DnadamCh, tell('DnadamA))) || ask('P53, unless(
'P53Ch, tell('P53))) || ask('P53A, unless('P53Ch, tell('P53A))) || ask(
'Mdm2, unless('Mdm2Ch, tell('Mdm2))) || * || next(! Persistence) || * || *
|| * ; 'Dnadam,'DnadamCh,'Mdm2A,'Mdm2ACh,'Mdm2Ch,'P53A,'P53Ch][20] -->
[0 ; * || * || next(tell('Mdm2A)) || next(! R1) || * || * || next(tell('P53))
|| next(! R2) || ask('P53, tell('Mdm2ACh) || tell('P53Ch) || next(tell(
'Mdm2))) || next(! R3) || ask('Mdm2, tell('Mdm2ACh) || tell('P53Ch) ||
next(tell('P53A))) || next(! R4) || ask('P53, tell('DnadamCh) || tell(
'P53Ch) || next(tell('DnadamA))) || next(! R5) || ask('DnadamA, tell(
'DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2))) || next(! R6) || * ||
ask('DnadamA, unless('DnadamCh, tell('DnadamA))) || ask('P53, unless(
'P53Ch, tell('P53))) || unless('P53Ch, tell('P53A)) || ask('Mdm2, unless(
'Mdm2Ch, tell('Mdm2))) || * || next(! Persistence) || * || * || * ;
'Dnadam,'DnadamCh,'Mdm2A,'Mdm2ACh,'Mdm2Ch,'P53A,'P53Ch][20] -->
[0 ; * || * || next(tell('Mdm2A)) || next(! R1) || * || * || next(tell('P53))
|| next(! R2) || ask('P53, tell('Mdm2ACh) || tell('P53Ch) || next(tell(
'Mdm2))) || next(! R3) || ask('Mdm2, tell('Mdm2ACh) || tell('P53Ch) ||
next(tell('P53A))) || next(! R4) || ask('P53, tell('DnadamCh) || tell(
'P53Ch) || next(tell('DnadamA))) || next(! R5) || ask('DnadamA, tell(
'DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2))) || next(! R6) || * ||
ask('DnadamA, unless('DnadamCh, tell('DnadamA))) || ask('P53, unless(
'P53Ch, tell('P53))) || * || ask('Mdm2, unless('Mdm2Ch, tell('Mdm2))) || *
|| next(! Persistence) || * || * || * ; 'Dnadam,'DnadamCh,'Mdm2A,'Mdm2ACh,
'Mdm2Ch,'P53A,'P53Ch][1] --> stop} ==>
{2 / 3 >
[0 ; * || * || tell('Mdm2A) || ! R1 || * || * || tell('P53) || ! R2 || ! R3 ||
! R4 || ! R5 || ! R6 || * || * || * || ! Persistence || * || * || * ; bot][
3] -->
[0 ; * || * || * || ! R1 || * || * || tell('P53) || ! R2 || ! R3 || ! R4 || !
R5 || ! R6 || * || * || * || ! Persistence || * || * || * ; 'Mdm2A][4] -->
[0 ; * || * || * || R1 || next(! R1) || * || * || tell('P53) || ! R2 || ! R3 ||
! R4 || ! R5 || ! R6 || * || * || * || ! Persistence || * || * || * ;
'Mdm2A][4] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || tell('P53) || ! R2 || ! R3 || ! R4 ||
! R5 || ! R6 || * || * || * || ! Persistence || * || * || * ; 'Mdm2A][8]
-->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || ! R2 || ! R3 || ! R4 || ! R5 || !
R6 || * || * || * || ! Persistence || * || * || * ; 'Mdm2A,'P53][9] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || R2 || next(! R2) || ! R3 || ! R4
|| ! R5 || ! R6 || * || * || * || ! Persistence || * || * || * ; 'Mdm2A,
'P53][9] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || ask('Mdm2A, tell('Mdm2ACh) ||
tell('P53Ch) || next(tell('P53))) || next(! R2) || ! R3 || ! R4 || ! R5 ||
! R6 || * || * || * || ! Persistence || * || * || * ; 'Mdm2A,'P53][9] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || tell('Mdm2ACh) || tell('P53Ch) ||
next(tell('P53)) || next(! R2) || ! R3 || ! R4 || ! R5 || ! R6 || * || * ||
* || ! Persistence || * || * || * ; 'Mdm2A,'P53][9] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || tell('P53Ch) || next(tell(
'P53)) || next(! R2) || ! R3 || ! R4 || ! R5 || ! R6 || * || * || * || !
Persistence || * || * || * ; 'Mdm2A,'Mdm2ACh,'P53][10] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || next(tell('P53)) ||
next(! R2) || ! R3 || ! R4 || ! R5 || ! R6 || * || * || * || ! Persistence
|| * || * || * ; 'Mdm2A,'Mdm2ACh,'P53,'P53Ch][13] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || next(tell('P53)) ||
next(! R2) || R3 || next(! R3) || ! R4 || ! R5 || ! R6 || * || * || * || !
Persistence || * || * || * ; 'Mdm2A,'Mdm2ACh,'P53,'P53Ch][13] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || next(tell('P53)) ||
next(! R2) || ask('P53, tell('Mdm2ACh) || tell('P53Ch) || next(tell(
'Mdm2))) || next(! R3) || ! R4 || ! R5 || ! R6 || * || * || * || !
Persistence || * || * || * ; 'Mdm2A,'Mdm2ACh,'P53,'P53Ch][13] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || next(tell('P53)) ||
next(! R2) || tell('Mdm2ACh) || tell('P53Ch) || next(tell('Mdm2)) || next(!
R3) || ! R4 || ! R5 || ! R6 || * || * || * || ! Persistence || * || * || *
; 'Mdm2A,'Mdm2ACh,'P53,'P53Ch][13] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || next(tell('P53)) ||
next(! R2) || * || tell('P53Ch) || next(tell('Mdm2)) || next(! R3) || ! R4
|| ! R5 || ! R6 || * || * || * || ! Persistence || * || * || * ; 'Mdm2A,
'Mdm2ACh,'P53,'P53Ch][14] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || next(tell('P53)) ||
next(! R2) || * || * || next(tell('Mdm2)) || next(! R3) || ! R4 || ! R5 ||
! R6 || * || * || * || ! Persistence || * || * || * ; 'Mdm2A,'Mdm2ACh,'P53,
'P53Ch][17] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || next(tell('P53)) ||
next(! R2) || * || * || next(tell('Mdm2)) || next(! R3) || R4 || next(! R4)
|| ! R5 || ! R6 || * || * || * || ! Persistence || * || * || * ; 'Mdm2A,
'Mdm2ACh,'P53,'P53Ch][17] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || next(tell('P53)) ||
next(! R2) || * || * || next(tell('Mdm2)) || next(! R3) || ask('Mdm2, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53A))) || next(! R4) || ! R5 || !
R6 || * || * || * || ! Persistence || * || * || * ; 'Mdm2A,'Mdm2ACh,'P53,
'P53Ch][19] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || next(tell('P53)) ||
next(! R2) || * || * || next(tell('Mdm2)) || next(! R3) || ask('Mdm2, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53A))) || next(! R4) || R5 ||
next(! R5) || ! R6 || * || * || * || ! Persistence || * || * || * ; 'Mdm2A,
'Mdm2ACh,'P53,'P53Ch][19] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || next(tell('P53)) ||
next(! R2) || * || * || next(tell('Mdm2)) || next(! R3) || ask('Mdm2, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53A))) || next(! R4) || ask('P53,
tell('DnadamCh) || tell('P53Ch) || next(tell('DnadamA))) || next(! R5) || !
R6 || * || * || * || ! Persistence || * || * || * ; 'Mdm2A,'Mdm2ACh,'P53,
'P53Ch][19] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || next(tell('P53)) ||
next(! R2) || * || * || next(tell('Mdm2)) || next(! R3) || ask('Mdm2, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53A))) || next(! R4) || tell(
'DnadamCh) || tell('P53Ch) || next(tell('DnadamA)) || next(! R5) || ! R6 ||
* || * || * || ! Persistence || * || * || * ; 'Mdm2A,'Mdm2ACh,'P53,'P53Ch][
19] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || next(tell('P53)) ||
next(! R2) || * || * || next(tell('Mdm2)) || next(! R3) || ask('Mdm2, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53A))) || next(! R4) || * || tell(
'P53Ch) || next(tell('DnadamA)) || next(! R5) || ! R6 || * || * || * || !
Persistence || * || * || * ; 'DnadamCh,'Mdm2A,'Mdm2ACh,'P53,'P53Ch][20] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || next(tell('P53)) ||
next(! R2) || * || * || next(tell('Mdm2)) || next(! R3) || ask('Mdm2, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53A))) || next(! R4) || * || * ||
next(tell('DnadamA)) || next(! R5) || ! R6 || * || * || * || ! Persistence
|| * || * || * ; 'DnadamCh,'Mdm2A,'Mdm2ACh,'P53,'P53Ch][23] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || next(tell('P53)) ||
next(! R2) || * || * || next(tell('Mdm2)) || next(! R3) || ask('Mdm2, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53A))) || next(! R4) || * || * ||
next(tell('DnadamA)) || next(! R5) || R6 || next(! R6) || * || * || * || !
Persistence || * || * || * ; 'DnadamCh,'Mdm2A,'Mdm2ACh,'P53,'P53Ch][23] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || next(tell('P53)) ||
next(! R2) || * || * || next(tell('Mdm2)) || next(! R3) || ask('Mdm2, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53A))) || next(! R4) || * || * ||
next(tell('DnadamA)) || next(! R5) || ask('DnadamA, tell('DnadamCh) ||
tell('Mdm2Ch) || next(tell('Mdm2))) || next(! R6) || * || * || * || !
Persistence || * || * || * ; 'DnadamCh,'Mdm2A,'Mdm2ACh,'P53,'P53Ch][28] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || next(tell('P53)) ||
next(! R2) || * || * || next(tell('Mdm2)) || next(! R3) || ask('Mdm2, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53A))) || next(! R4) || * || * ||
next(tell('DnadamA)) || next(! R5) || ask('DnadamA, tell('DnadamCh) ||
tell('Mdm2Ch) || next(tell('Mdm2))) || next(! R6) || * || * || * ||
Persistence || next(! Persistence) || * || * || * ; 'DnadamCh,'Mdm2A,
'Mdm2ACh,'P53,'P53Ch][28] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || next(tell('P53)) ||
next(! R2) || * || * || next(tell('Mdm2)) || next(! R3) || ask('Mdm2, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53A))) || next(! R4) || * || * ||
next(tell('DnadamA)) || next(! R5) || ask('DnadamA, tell('DnadamCh) ||
tell('Mdm2Ch) || next(tell('Mdm2))) || next(! R6) || * || * || * || ask(
'Dnadam, unless('DnadamCh, tell('Dnadam))) || ask('DnadamA, unless(
'DnadamCh, tell('DnadamA))) || ask('P53, unless('P53Ch, tell('P53))) ||
ask('P53A, unless('P53Ch, tell('P53A))) || ask('Mdm2, unless('Mdm2Ch, tell(
'Mdm2))) || ask('Mdm2A, unless('Mdm2Ch, tell('Mdm2A))) || next(!
Persistence) || * || * || * ; 'DnadamCh,'Mdm2A,'Mdm2ACh,'P53,'P53Ch][30]
-->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || next(tell('P53)) ||
next(! R2) || * || * || next(tell('Mdm2)) || next(! R3) || ask('Mdm2, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53A))) || next(! R4) || * || * ||
next(tell('DnadamA)) || next(! R5) || ask('DnadamA, tell('DnadamCh) ||
tell('Mdm2Ch) || next(tell('Mdm2))) || next(! R6) || * || * || * || ask(
'Dnadam, unless('DnadamCh, tell('Dnadam))) || ask('DnadamA, unless(
'DnadamCh, tell('DnadamA))) || unless('P53Ch, tell('P53)) || ask('P53A,
unless('P53Ch, tell('P53A))) || ask('Mdm2, unless('Mdm2Ch, tell('Mdm2))) ||
ask('Mdm2A, unless('Mdm2Ch, tell('Mdm2A))) || next(! Persistence) || * || *
|| * ; 'DnadamCh,'Mdm2A,'Mdm2ACh,'P53,'P53Ch][30] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || next(tell('P53)) ||
next(! R2) || * || * || next(tell('Mdm2)) || next(! R3) || ask('Mdm2, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53A))) || next(! R4) || * || * ||
next(tell('DnadamA)) || next(! R5) || ask('DnadamA, tell('DnadamCh) ||
tell('Mdm2Ch) || next(tell('Mdm2))) || next(! R6) || * || * || * || ask(
'Dnadam, unless('DnadamCh, tell('Dnadam))) || ask('DnadamA, unless(
'DnadamCh, tell('DnadamA))) || * || ask('P53A, unless('P53Ch, tell('P53A)))
|| ask('Mdm2, unless('Mdm2Ch, tell('Mdm2))) || ask('Mdm2A, unless('Mdm2Ch,
tell('Mdm2A))) || next(! Persistence) || * || * || * ; 'DnadamCh,'Mdm2A,
'Mdm2ACh,'P53,'P53Ch][33] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || next(tell('P53)) ||
next(! R2) || * || * || next(tell('Mdm2)) || next(! R3) || ask('Mdm2, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53A))) || next(! R4) || * || * ||
next(tell('DnadamA)) || next(! R5) || ask('DnadamA, tell('DnadamCh) ||
tell('Mdm2Ch) || next(tell('Mdm2))) || next(! R6) || * || * || * || ask(
'Dnadam, unless('DnadamCh, tell('Dnadam))) || ask('DnadamA, unless(
'DnadamCh, tell('DnadamA))) || * || ask('P53A, unless('P53Ch, tell('P53A)))
|| ask('Mdm2, unless('Mdm2Ch, tell('Mdm2))) || unless('Mdm2Ch, tell(
'Mdm2A)) || next(! Persistence) || * || * || * ; 'DnadamCh,'Mdm2A,'Mdm2ACh,
'P53,'P53Ch][1] --> stop} ==>
{3 / 3 >
[0 ; * || * || * || ! R1 || * || * || * || * || * || tell('P53) || ! R2 || * ||
* || tell('Mdm2) || ! R3 || ! R4 || * || * || tell('DnadamA) || ! R5 || !
R6 || * || * || * || * || tell('Mdm2A) || ! Persistence || * || * || * ;
bot][4] -->
[0 ; * || * || * || R1 || next(! R1) || * || * || * || * || * || tell('P53) ||
! R2 || * || * || tell('Mdm2) || ! R3 || ! R4 || * || * || tell('DnadamA)
|| ! R5 || ! R6 || * || * || * || * || tell('Mdm2A) || ! Persistence || *
|| * || * ; bot][4] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || tell('P53) || ! R2 || *
|| * || tell('Mdm2) || ! R3 || ! R4 || * || * || tell('DnadamA) || ! R5 ||
! R6 || * || * || * || * || tell('Mdm2A) || ! Persistence || * || * || * ;
bot][11] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || ! R2 || * || * ||
tell('Mdm2) || ! R3 || ! R4 || * || * || tell('DnadamA) || ! R5 || ! R6 ||
* || * || * || * || tell('Mdm2A) || ! Persistence || * || * || * ; 'P53][
12] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || R2 || next(! R2)
|| * || * || tell('Mdm2) || ! R3 || ! R4 || * || * || tell('DnadamA) || !
R5 || ! R6 || * || * || * || * || tell('Mdm2A) || ! Persistence || * || *
|| * ; 'P53][12] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || ask('Mdm2A, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53))) || next(! R2) || * || * ||
tell('Mdm2) || ! R3 || ! R4 || * || * || tell('DnadamA) || ! R5 || ! R6 ||
* || * || * || * || tell('Mdm2A) || ! Persistence || * || * || * ; 'P53][
16] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || ask('Mdm2A, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53))) || next(! R2) || * || * || *
|| ! R3 || ! R4 || * || * || tell('DnadamA) || ! R5 || ! R6 || * || * || *
|| * || tell('Mdm2A) || ! Persistence || * || * || * ; 'Mdm2,'P53][17] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || ask('Mdm2A, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53))) || next(! R2) || * || * || *
|| R3 || next(! R3) || ! R4 || * || * || tell('DnadamA) || ! R5 || ! R6 ||
* || * || * || * || tell('Mdm2A) || ! Persistence || * || * || * ; 'Mdm2,
'P53][17] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || ask('Mdm2A, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53))) || next(! R2) || * || * || *
|| ask('P53, tell('Mdm2ACh) || tell('P53Ch) || next(tell('Mdm2))) || next(!
R3) || ! R4 || * || * || tell('DnadamA) || ! R5 || ! R6 || * || * || * || *
|| tell('Mdm2A) || ! Persistence || * || * || * ; 'Mdm2,'P53][17] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || ask('Mdm2A, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53))) || next(! R2) || * || * || *
|| tell('Mdm2ACh) || tell('P53Ch) || next(tell('Mdm2)) || next(! R3) || !
R4 || * || * || tell('DnadamA) || ! R5 || ! R6 || * || * || * || * || tell(
'Mdm2A) || ! Persistence || * || * || * ; 'Mdm2,'P53][17] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || ask('Mdm2A, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53))) || next(! R2) || * || * || *
|| * || tell('P53Ch) || next(tell('Mdm2)) || next(! R3) || ! R4 || * || *
|| tell('DnadamA) || ! R5 || ! R6 || * || * || * || * || tell('Mdm2A) || !
Persistence || * || * || * ; 'Mdm2,'Mdm2ACh,'P53][18] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || ask('Mdm2A, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53))) || next(! R2) || * || * || *
|| * || * || next(tell('Mdm2)) || next(! R3) || ! R4 || * || * || tell(
'DnadamA) || ! R5 || ! R6 || * || * || * || * || tell('Mdm2A) || !
Persistence || * || * || * ; 'Mdm2,'Mdm2ACh,'P53,'P53Ch][21] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || ask('Mdm2A, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53))) || next(! R2) || * || * || *
|| * || * || next(tell('Mdm2)) || next(! R3) || R4 || next(! R4) || * || *
|| tell('DnadamA) || ! R5 || ! R6 || * || * || * || * || tell('Mdm2A) || !
Persistence || * || * || * ; 'Mdm2,'Mdm2ACh,'P53,'P53Ch][21] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || ask('Mdm2A, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53))) || next(! R2) || * || * || *
|| * || * || next(tell('Mdm2)) || next(! R3) || ask('Mdm2, tell('Mdm2ACh)
|| tell('P53Ch) || next(tell('P53A))) || next(! R4) || * || * || tell(
'DnadamA) || ! R5 || ! R6 || * || * || * || * || tell('Mdm2A) || !
Persistence || * || * || * ; 'Mdm2,'Mdm2ACh,'P53,'P53Ch][21] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || ask('Mdm2A, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53))) || next(! R2) || * || * || *
|| * || * || next(tell('Mdm2)) || next(! R3) || tell('Mdm2ACh) || tell(
'P53Ch) || next(tell('P53A)) || next(! R4) || * || * || tell('DnadamA) || !
R5 || ! R6 || * || * || * || * || tell('Mdm2A) || ! Persistence || * || *
|| * ; 'Mdm2,'Mdm2ACh,'P53,'P53Ch][21] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || ask('Mdm2A, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53))) || next(! R2) || * || * || *
|| * || * || next(tell('Mdm2)) || next(! R3) || * || tell('P53Ch) || next(
tell('P53A)) || next(! R4) || * || * || tell('DnadamA) || ! R5 || ! R6 || *
|| * || * || * || tell('Mdm2A) || ! Persistence || * || * || * ; 'Mdm2,
'Mdm2ACh,'P53,'P53Ch][22] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || ask('Mdm2A, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53))) || next(! R2) || * || * || *
|| * || * || next(tell('Mdm2)) || next(! R3) || * || * || next(tell('P53A))
|| next(! R4) || * || * || tell('DnadamA) || ! R5 || ! R6 || * || * || * ||
* || tell('Mdm2A) || ! Persistence || * || * || * ; 'Mdm2,'Mdm2ACh,'P53,
'P53Ch][27] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || ask('Mdm2A, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53))) || next(! R2) || * || * || *
|| * || * || next(tell('Mdm2)) || next(! R3) || * || * || next(tell('P53A))
|| next(! R4) || * || * || * || ! R5 || ! R6 || * || * || * || * || tell(
'Mdm2A) || ! Persistence || * || * || * ; 'DnadamA,'Mdm2,'Mdm2ACh,'P53,
'P53Ch][28] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || ask('Mdm2A, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53))) || next(! R2) || * || * || *
|| * || * || next(tell('Mdm2)) || next(! R3) || * || * || next(tell('P53A))
|| next(! R4) || * || * || * || R5 || next(! R5) || ! R6 || * || * || * ||
* || tell('Mdm2A) || ! Persistence || * || * || * ; 'DnadamA,'Mdm2,
'Mdm2ACh,'P53,'P53Ch][28] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || ask('Mdm2A, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53))) || next(! R2) || * || * || *
|| * || * || next(tell('Mdm2)) || next(! R3) || * || * || next(tell('P53A))
|| next(! R4) || * || * || * || ask('P53, tell('DnadamCh) || tell('P53Ch)
|| next(tell('DnadamA))) || next(! R5) || ! R6 || * || * || * || * || tell(
'Mdm2A) || ! Persistence || * || * || * ; 'DnadamA,'Mdm2,'Mdm2ACh,'P53,
'P53Ch][28] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || ask('Mdm2A, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53))) || next(! R2) || * || * || *
|| * || * || next(tell('Mdm2)) || next(! R3) || * || * || next(tell('P53A))
|| next(! R4) || * || * || * || tell('DnadamCh) || tell('P53Ch) || next(
tell('DnadamA)) || next(! R5) || ! R6 || * || * || * || * || tell('Mdm2A)
|| ! Persistence || * || * || * ; 'DnadamA,'Mdm2,'Mdm2ACh,'P53,'P53Ch][28]
-->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || ask('Mdm2A, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53))) || next(! R2) || * || * || *
|| * || * || next(tell('Mdm2)) || next(! R3) || * || * || next(tell('P53A))
|| next(! R4) || * || * || * || * || tell('P53Ch) || next(tell('DnadamA))
|| next(! R5) || ! R6 || * || * || * || * || tell('Mdm2A) || ! Persistence
|| * || * || * ; 'DnadamA,'DnadamCh,'Mdm2,'Mdm2ACh,'P53,'P53Ch][29] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || ask('Mdm2A, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53))) || next(! R2) || * || * || *
|| * || * || next(tell('Mdm2)) || next(! R3) || * || * || next(tell('P53A))
|| next(! R4) || * || * || * || * || * || next(tell('DnadamA)) || next(!
R5) || ! R6 || * || * || * || * || tell('Mdm2A) || ! Persistence || * || *
|| * ; 'DnadamA,'DnadamCh,'Mdm2,'Mdm2ACh,'P53,'P53Ch][32] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || ask('Mdm2A, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53))) || next(! R2) || * || * || *
|| * || * || next(tell('Mdm2)) || next(! R3) || * || * || next(tell('P53A))
|| next(! R4) || * || * || * || * || * || next(tell('DnadamA)) || next(!
R5) || R6 || next(! R6) || * || * || * || * || tell('Mdm2A) || !
Persistence || * || * || * ; 'DnadamA,'DnadamCh,'Mdm2,'Mdm2ACh,'P53,
'P53Ch][32] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || ask('Mdm2A, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53))) || next(! R2) || * || * || *
|| * || * || next(tell('Mdm2)) || next(! R3) || * || * || next(tell('P53A))
|| next(! R4) || * || * || * || * || * || next(tell('DnadamA)) || next(!
R5) || ask('DnadamA, tell('DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2)))
|| next(! R6) || * || * || * || * || tell('Mdm2A) || ! Persistence || * ||
* || * ; 'DnadamA,'DnadamCh,'Mdm2,'Mdm2ACh,'P53,'P53Ch][32] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || ask('Mdm2A, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53))) || next(! R2) || * || * || *
|| * || * || next(tell('Mdm2)) || next(! R3) || * || * || next(tell('P53A))
|| next(! R4) || * || * || * || * || * || next(tell('DnadamA)) || next(!
R5) || tell('DnadamCh) || tell('Mdm2Ch) || next(tell('Mdm2)) || next(! R6)
|| * || * || * || * || tell('Mdm2A) || ! Persistence || * || * || * ;
'DnadamA,'DnadamCh,'Mdm2,'Mdm2ACh,'P53,'P53Ch][32] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || ask('Mdm2A, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53))) || next(! R2) || * || * || *
|| * || * || next(tell('Mdm2)) || next(! R3) || * || * || next(tell('P53A))
|| next(! R4) || * || * || * || * || * || next(tell('DnadamA)) || next(!
R5) || * || tell('Mdm2Ch) || next(tell('Mdm2)) || next(! R6) || * || * || *
|| * || tell('Mdm2A) || ! Persistence || * || * || * ; 'DnadamA,'DnadamCh,
'Mdm2,'Mdm2ACh,'P53,'P53Ch][33] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || ask('Mdm2A, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53))) || next(! R2) || * || * || *
|| * || * || next(tell('Mdm2)) || next(! R3) || * || * || next(tell('P53A))
|| next(! R4) || * || * || * || * || * || next(tell('DnadamA)) || next(!
R5) || * || * || next(tell('Mdm2)) || next(! R6) || * || * || * || * ||
tell('Mdm2A) || ! Persistence || * || * || * ; 'DnadamA,'DnadamCh,'Mdm2,
'Mdm2ACh,'Mdm2Ch,'P53,'P53Ch][40] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || ask('Mdm2A, tell(
'Mdm2ACh) || tell('P53Ch) || next(tell('P53))) || next(! R2) || * || * || *
|| * || * || next(tell('Mdm2)) || next(! R3) || * || * || next(tell('P53A))
|| next(! R4) || * || * || * || * || * || next(tell('DnadamA)) || next(!
R5) || * || * || next(tell('Mdm2)) || next(! R6) || * || * || * || * || *
|| ! Persistence || * || * || * ; 'DnadamA,'DnadamCh,'Mdm2,'Mdm2A,'Mdm2ACh,
'Mdm2Ch,'P53,'P53Ch][12] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || tell('Mdm2ACh) ||
tell('P53Ch) || next(tell('P53)) || next(! R2) || * || * || * || * || * ||
next(tell('Mdm2)) || next(! R3) || * || * || next(tell('P53A)) || next(!
R4) || * || * || * || * || * || next(tell('DnadamA)) || next(! R5) || * ||
* || next(tell('Mdm2)) || next(! R6) || * || * || * || * || * || !
Persistence || * || * || * ; 'DnadamA,'DnadamCh,'Mdm2,'Mdm2A,'Mdm2ACh,
'Mdm2Ch,'P53,'P53Ch][12] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || * || tell('P53Ch)
|| next(tell('P53)) || next(! R2) || * || * || * || * || * || next(tell(
'Mdm2)) || next(! R3) || * || * || next(tell('P53A)) || next(! R4) || * ||
* || * || * || * || next(tell('DnadamA)) || next(! R5) || * || * || next(
tell('Mdm2)) || next(! R6) || * || * || * || * || * || ! Persistence || *
|| * || * ; 'DnadamA,'DnadamCh,'Mdm2,'Mdm2A,'Mdm2ACh,'Mdm2Ch,'P53,'P53Ch][
13] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || * || * || next(
tell('P53)) || next(! R2) || * || * || * || * || * || next(tell('Mdm2)) ||
next(! R3) || * || * || next(tell('P53A)) || next(! R4) || * || * || * || *
|| * || next(tell('DnadamA)) || next(! R5) || * || * || next(tell('Mdm2))
|| next(! R6) || * || * || * || * || * || ! Persistence || * || * || * ;
'DnadamA,'DnadamCh,'Mdm2,'Mdm2A,'Mdm2ACh,'Mdm2Ch,'P53,'P53Ch][43] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || * || * || next(
tell('P53)) || next(! R2) || * || * || * || * || * || next(tell('Mdm2)) ||
next(! R3) || * || * || next(tell('P53A)) || next(! R4) || * || * || * || *
|| * || next(tell('DnadamA)) || next(! R5) || * || * || next(tell('Mdm2))
|| next(! R6) || * || * || * || * || * || Persistence || next(!
Persistence) || * || * || * ; 'DnadamA,'DnadamCh,'Mdm2,'Mdm2A,'Mdm2ACh,
'Mdm2Ch,'P53,'P53Ch][43] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || * || * || next(
tell('P53)) || next(! R2) || * || * || * || * || * || next(tell('Mdm2)) ||
next(! R3) || * || * || next(tell('P53A)) || next(! R4) || * || * || * || *
|| * || next(tell('DnadamA)) || next(! R5) || * || * || next(tell('Mdm2))
|| next(! R6) || * || * || * || * || * || ask('Dnadam, unless('DnadamCh,
tell('Dnadam))) || ask('DnadamA, unless('DnadamCh, tell('DnadamA))) || ask(
'P53, unless('P53Ch, tell('P53))) || ask('P53A, unless('P53Ch, tell(
'P53A))) || ask('Mdm2, unless('Mdm2Ch, tell('Mdm2))) || ask('Mdm2A, unless(
'Mdm2Ch, tell('Mdm2A))) || next(! Persistence) || * || * || * ; 'DnadamA,
'DnadamCh,'Mdm2,'Mdm2A,'Mdm2ACh,'Mdm2Ch,'P53,'P53Ch][44] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || * || * || next(
tell('P53)) || next(! R2) || * || * || * || * || * || next(tell('Mdm2)) ||
next(! R3) || * || * || next(tell('P53A)) || next(! R4) || * || * || * || *
|| * || next(tell('DnadamA)) || next(! R5) || * || * || next(tell('Mdm2))
|| next(! R6) || * || * || * || * || * || ask('Dnadam, unless('DnadamCh,
tell('Dnadam))) || unless('DnadamCh, tell('DnadamA)) || ask('P53, unless(
'P53Ch, tell('P53))) || ask('P53A, unless('P53Ch, tell('P53A))) || ask(
'Mdm2, unless('Mdm2Ch, tell('Mdm2))) || ask('Mdm2A, unless('Mdm2Ch, tell(
'Mdm2A))) || next(! Persistence) || * || * || * ; 'DnadamA,'DnadamCh,'Mdm2,
'Mdm2A,'Mdm2ACh,'Mdm2Ch,'P53,'P53Ch][44] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || * || * || next(
tell('P53)) || next(! R2) || * || * || * || * || * || next(tell('Mdm2)) ||
next(! R3) || * || * || next(tell('P53A)) || next(! R4) || * || * || * || *
|| * || next(tell('DnadamA)) || next(! R5) || * || * || next(tell('Mdm2))
|| next(! R6) || * || * || * || * || * || ask('Dnadam, unless('DnadamCh,
tell('Dnadam))) || * || ask('P53, unless('P53Ch, tell('P53))) || ask('P53A,
unless('P53Ch, tell('P53A))) || ask('Mdm2, unless('Mdm2Ch, tell('Mdm2))) ||
ask('Mdm2A, unless('Mdm2Ch, tell('Mdm2A))) || next(! Persistence) || * || *
|| * ; 'DnadamA,'DnadamCh,'Mdm2,'Mdm2A,'Mdm2ACh,'Mdm2Ch,'P53,'P53Ch][45]
-->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || * || * || next(
tell('P53)) || next(! R2) || * || * || * || * || * || next(tell('Mdm2)) ||
next(! R3) || * || * || next(tell('P53A)) || next(! R4) || * || * || * || *
|| * || next(tell('DnadamA)) || next(! R5) || * || * || next(tell('Mdm2))
|| next(! R6) || * || * || * || * || * || ask('Dnadam, unless('DnadamCh,
tell('Dnadam))) || * || unless('P53Ch, tell('P53)) || ask('P53A, unless(
'P53Ch, tell('P53A))) || ask('Mdm2, unless('Mdm2Ch, tell('Mdm2))) || ask(
'Mdm2A, unless('Mdm2Ch, tell('Mdm2A))) || next(! Persistence) || * || * ||
* ; 'DnadamA,'DnadamCh,'Mdm2,'Mdm2A,'Mdm2ACh,'Mdm2Ch,'P53,'P53Ch][45] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || * || * || next(
tell('P53)) || next(! R2) || * || * || * || * || * || next(tell('Mdm2)) ||
next(! R3) || * || * || next(tell('P53A)) || next(! R4) || * || * || * || *
|| * || next(tell('DnadamA)) || next(! R5) || * || * || next(tell('Mdm2))
|| next(! R6) || * || * || * || * || * || ask('Dnadam, unless('DnadamCh,
tell('Dnadam))) || * || * || ask('P53A, unless('P53Ch, tell('P53A))) ||
ask('Mdm2, unless('Mdm2Ch, tell('Mdm2))) || ask('Mdm2A, unless('Mdm2Ch,
tell('Mdm2A))) || next(! Persistence) || * || * || * ; 'DnadamA,'DnadamCh,
'Mdm2,'Mdm2A,'Mdm2ACh,'Mdm2Ch,'P53,'P53Ch][47] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || * || * || next(
tell('P53)) || next(! R2) || * || * || * || * || * || next(tell('Mdm2)) ||
next(! R3) || * || * || next(tell('P53A)) || next(! R4) || * || * || * || *
|| * || next(tell('DnadamA)) || next(! R5) || * || * || next(tell('Mdm2))
|| next(! R6) || * || * || * || * || * || ask('Dnadam, unless('DnadamCh,
tell('Dnadam))) || * || * || ask('P53A, unless('P53Ch, tell('P53A))) ||
unless('Mdm2Ch, tell('Mdm2)) || ask('Mdm2A, unless('Mdm2Ch, tell('Mdm2A)))
|| next(! Persistence) || * || * || * ; 'DnadamA,'DnadamCh,'Mdm2,'Mdm2A,
'Mdm2ACh,'Mdm2Ch,'P53,'P53Ch][47] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || * || * || next(
tell('P53)) || next(! R2) || * || * || * || * || * || next(tell('Mdm2)) ||
next(! R3) || * || * || next(tell('P53A)) || next(! R4) || * || * || * || *
|| * || next(tell('DnadamA)) || next(! R5) || * || * || next(tell('Mdm2))
|| next(! R6) || * || * || * || * || * || ask('Dnadam, unless('DnadamCh,
tell('Dnadam))) || * || * || ask('P53A, unless('P53Ch, tell('P53A))) || *
|| ask('Mdm2A, unless('Mdm2Ch, tell('Mdm2A))) || next(! Persistence) || *
|| * || * ; 'DnadamA,'DnadamCh,'Mdm2,'Mdm2A,'Mdm2ACh,'Mdm2Ch,'P53,'P53Ch][
48] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || * || * || next(
tell('P53)) || next(! R2) || * || * || * || * || * || next(tell('Mdm2)) ||
next(! R3) || * || * || next(tell('P53A)) || next(! R4) || * || * || * || *
|| * || next(tell('DnadamA)) || next(! R5) || * || * || next(tell('Mdm2))
|| next(! R6) || * || * || * || * || * || ask('Dnadam, unless('DnadamCh,
tell('Dnadam))) || * || * || ask('P53A, unless('P53Ch, tell('P53A))) || *
|| unless('Mdm2Ch, tell('Mdm2A)) || next(! Persistence) || * || * || * ;
'DnadamA,'DnadamCh,'Mdm2,'Mdm2A,'Mdm2ACh,'Mdm2Ch,'P53,'P53Ch][48] -->
[0 ; * || * || * || ask('Dnadam, tell('DnadamCh) || tell('Mdm2Ch) || next(tell(
'Mdm2A))) || next(! R1) || * || * || * || * || * || * || * || * || next(
tell('P53)) || next(! R2) || * || * || * || * || * || next(tell('Mdm2)) ||
next(! R3) || * || * || next(tell('P53A)) || next(! R4) || * || * || * || *
|| * || next(tell('DnadamA)) || next(! R5) || * || * || next(tell('Mdm2))
|| next(! R6) || * || * || * || * || * || ask('Dnadam, unless('DnadamCh,
tell('Dnadam))) || * || * || ask('P53A, unless('P53Ch, tell('P53A))) || *
|| * || next(! Persistence) || * || * || * ; 'DnadamA,'DnadamCh,'Mdm2,
'Mdm2A,'Mdm2ACh,'Mdm2Ch,'P53,'P53Ch][1] --> stop} ==> STOP
rew ComputeSlice(3, System, ('Mdm2, 'Mdm2A)) .
{1 / 3 >
[0 ; System ; *][1] -->
[0 ; ! R3 || ! Persistence || * ; *][5] -->
[0 ; next(! R3) || ! Persistence || * ; *][13] -->
[0 ; next(! R3) || next(! Persistence) || * ; *][1] --> stop} ==>
{2 / 3 >
[0 ; ! R3 || ! Persistence || * ; *][13] -->
[0 ; R3 || ! Persistence || * ; *][13] -->
[0 ; ask('P53, next(tell('Mdm2))) || ! Persistence || * ; *][13] -->
[0 ; next(tell('Mdm2)) || ! Persistence || * ; *][28] -->
[0 ; next(tell('Mdm2)) || Persistence || * ; *][28] -->
[0 ; next(tell('Mdm2)) || ask('Mdm2A, unless('Mdm2Ch, tell('Mdm2A))) || * ; *][33] -->
[0 ; next(tell('Mdm2)) || unless('Mdm2Ch, tell('Mdm2A)) || * ; *][1] --> stop} ==>
{3 / 3 >
[0 ; tell('Mdm2) || tell('Mdm2A) || * ; *][16] -->
[0 ; tell('Mdm2A) || * ; 'Mdm2,*][40] -->
[0 ; * ; 'Mdm2,'Mdm2A,*][1] --> stop} ==> STOP
next(tell('Mdm2)) || unless('Mdm2Ch, tell('Mdm2A))
This means that R3 did not add Mdm2Ch as expected. We
then found the bug: we wrongly wrote "'Mdm2ACh" instead of "'Mdm2Ch"
in process definition R3.
Init = tell('Dnadam) || tell('Mdm2) || tell('P53) .
In that case, we also detect that something is wrong:
rew ComputeSlice(2, System, ('Mdm2, 'Mdm2A)) .
{1 / 2 >
[0 ; System ; *][1] -->
[0 ; ! R1 || ! R3 || * ; *][1] -->
[0 ; R1 || ! R3 || * ; *][1] -->
[0 ; ask('Dnadam, next(tell('Mdm2A))) || ! R3 || * ; *][5] -->
[0 ; ask('Dnadam, next(tell('Mdm2A))) || R3 || * ; *][5] -->
[0 ; ask('Dnadam, next(tell('Mdm2A))) || ask('P53, next(tell('Mdm2))) || * ; *][1] -->
[0 ; next(tell('Mdm2A)) || ask('P53, next(tell('Mdm2))) || * ; *][7] -->
[0 ; next(tell('Mdm2A)) || next(tell('Mdm2)) || * ; *][1] --> stop} ==>
{2 / 2 >
[0 ; tell('Mdm2A) || tell('Mdm2) || * ; *][3] -->
[0 ; tell('Mdm2) || * ; 'Mdm2A][6] -->
[0 ; tell('Mdm2) || * ; 'Mdm2A,*][12] -->
[0 ; * ; 'Mdm2,'Mdm2A,*][1] --> stop} ==> STOP
(pos('Mdm2) imp neg('Mdm2A)) and (pos('Mdm2A) imp neg('Mdm2))
In words, the constraint Mdm2A
can be deduced
if and only if the constraint Mdm2
cannot be deduced. The slicer with the assertion mechanism allows for automatically stop the computation and highlight the relevant information
rew ComputeTraceAssertion('BIO, 20, (pos('Mdm2) imp neg('Mdm2A)) and (pos('Mdm2A) imp neg('Mdm2)) ,SystemWrong) .