*** Derived:
and ***
and stops. With the -all option, h1 prints the names of all signalling symbols
that can be derived.
memtime h1 -progress Fabrice/alice_full1.pThis is a 459 clause example, generated automatically from the static analysis by an early and faulty version of the Csur static analyzer [2005 (Goubault-Larrecq and Parrennes)] of a small C implementation of the Needham-Schroeder public-key protocol (not the same as the symmetric-key protocol of Section 3.4). Beware that this will take quite some time, and some disk space! On the machine I'm using to write this text (an 1.4 Ghz Pentium IV class machine running RedHat Linux .6.9-1.6_FC2), it takes 33 minutes, and 264 Mb main memory.
Killed [25] 1372.43 user, 12.62 system, 1414.11 elapsed -- Max VSize = 240624KB, Max RSS = 239348KBThis is what happens when the log file exceeds its maximum allowed size. To avert this, run:
memtime h1 -progress -log-out Fabrice/alice_full1.p >alice_full1.logThis outputs the log file to stdout; then the Unix shell knows how to record this in a file almost as large as you wish.
watch h1mon h1.pgrin parallel, to see how h1 progresses on Fabrice/alice\_full1.p. (See Section 4.3.) To cut it short, Fabrice/alice\_full1.p will be detected as (possibly) unsatisfiable by h1, and will generate the log file Fabrice/alice\_full1.log. This is 2.73 Gb large. Early versions of h1 instead compressed the log file on the file using gzip, resulting in a log file of only 94.5 Mb. However, this resulted in strange asynchrony-related bugs that affected the overall behavior of the h1 tool suite.
H | ⇐ | P1 (t1), …, Pi−1 (ti−1), Q (X1, …, Xk), Pi+1 (ti+1), …, Pn (tn) |
Q (X1, …, Xk) | ⇐ | Pi (ti) |