GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
RANDLTL(1) User Commands RANDLTL(1)

randltl - generate random LTL/PSL formulas

randltl [OPTION...] N|PROP...

Generate random temporal logic formulas.

The formulas are built over the atomic propositions named by PROPS... or, if N is a nonnegative number, using N arbitrary names.

generate Boolean formulas
generate LTL formulas (default)
generate PSL formulas
generate SERE

allow duplicate formulas to be output
number of formulas to output (1) use a negative value for unbounded generation
simplify formulas according to LEVEL (see below); LEVEL is set to 3 if omitted
seed for the random number generator (0)
tree size of the formulas generated, before mandatory trivial simplifications (15)
append some weak-fairness conditions

RANGE may have one of the following forms: 'INT', 'INT..INT', or '..INT'. In the latter case, the missing number is assumed to be 1.

The simplification LEVEL may be set as follows.

0
No rewriting
1
basic rewritings and eventual/universal rules
2
additional syntactic implication rules
3
better implications using containment

set priorities for Boolean formulas
show current priorities, do not generate any formula
set priorities for LTL formulas
set priorities for SERE formulas

STRING should be a comma-separated list of assignments, assigning integer priorities to the tokens listed by --dump-priorities.

-0, --zero-terminated-output
separate output formulas with \0 instead of \n (for use with xargs -0)
-8, --utf8
output using UTF-8 characters
specify how each line should be output (default: "%f")
output in LBT's syntax
output using LaTeX macros
send output to a file named FORMAT instead of standard output. The first formula sent to a file truncates it unless FORMAT starts with '>>'.
output fully-parenthesized formulas
output in Spin's syntax
output in Spot's syntax (default)
output in Wring's syntax

The FORMAT string passed to --format may use the following interpreted sequences:

%%
a single %
%b
the Boolean-length of the formula (i.e., all Boolean subformulas count as 1)
%f
the formula (in the selected syntax)
%h, %[vw]h
the class of the formula is the Manna-Pnueli hierarchy ([v] replaces abbreviations by class names, [w] for all compatible classes)
%l
the (serial) number of the formula (0-based)
%L
the (serial) number of the formula (1-based)
%[OP]n
the nesting depth of operator OP. OP should be a single letter denoting the operator to count, or multiple letters to fuse several operators during depth evaluation. Add '~' to rewrite the formula in negative normal form before counting.
%s
the length (or size) of the formula
%x, %[LETTERS]X, %[LETTERS]x
number of atomic propositions used in the
add LETTERS to list atomic propositions
with C-style escape, (d) double-quotes with C-style escape, (c) double-quotes with CSV-style escape, (p) between parentheses, any extra non-alphanumeric character will be used to separate propositions

print this help
print program version

Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.

If you would like to give a reference to this tool in an article, we suggest you cite the following paper:

Alexandre Duret-Lutz: Manipulating LTL formulas using Spot 1.0. Proceedings of ATVA'13. LNCS 8172.

The following generates 10 random LTL formulas over the propositions a, b, and c, with the default tree-size, and all available operators.

% randltl -n10 a b c

If you do not mind about the name of the atomic propositions, just give a number instead:

% randltl -n10 3

You can disable or favor certain operators by changing their priority. The following disables xor, implies, and equiv, and multiply the probability of X to occur by 10.

% randltl --ltl-priorities='xor=0, implies=0, equiv=0, X=10' -n10 a b c

Report bugs to <spot@lrde.epita.fr>.

Copyright © 2024 by the Spot authors, see the AUTHORS File for details. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

genaut(1), genltl(1), ltlfilt(1), randaut(1)

September 2024 randltl (spot) 2.12.1

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.