CALL FOR PAPERS
"On the Effectiveness of Temporal Logics on Finite Traces in AI"
Part of the AAAI 2023 Spring Symposium Series
<https://aaai.org/Symposia/Spring/sss23.php>
March 27-29, 2023, Hyatt Regency San Francisco Airport, CA, USA
Website: https://ltlf-symposium.github.io/
Temporal logics, such as Linear Temporal Logic (LTL), are widely adopted as
a logical specification language in Formal Methods. They are also getting
increasing attention from the AI Community. In AI, however, there is often
a need to interpret such logics over finite traces, rather than the
traditional infinite-trace interpretation. This is evident, for instance,
in works on Planning, Reinforcement Learning, and Business Process
Management. An important computational feature of working with finite
traces is that it allows one to use standard finite-state automata to model
and reason, rather than the more complex omega-automata used for infinite
traces. This is a great simplification that has already had a significant
impact on many areas of AI and CS.
This symposium aims to bring together researchers working with temporal
logics on finite traces, in basic research and applications, in order to
discuss current results and future directions, and to facilitate the
emergence of teams working across different areas.
Topics
Topics of interest span the use of temporal logics over finite traces,
including (but not limited to) the following areas:
-
AI Planning
-
Verification and Synthesis
-
Reinforcement Learning
-
Automated Reasoning
-
Knowledge Representation
-
Multi-Agent Systems
-
Robotics
-
Motion and Task Planning
-
Discrete-Event Control
-
Workflow Management
-
Conversational Systems
-
Automated Service Composition
-
Business Process Management
-
Fintech
-
Cyber Security
-
Human Computer Interaction
-
Natural Language Processing
Submissions
Submissions should have a single main author, who will be the speaker, and
each speaker can have no more than one submission. Each submission must not
exceed 2 pages, including references (in AAAI style), and may refer to
joint work with other collaborators to be credited in the presentation.
There will be no formal proceedings and we encourage submissions of work
presented or submitted elsewhere (no copyright transfer is required, only
permission to post the abstract on the workshop site). Submissions should
be uploaded via the AAAI SSS-23 EasyChair site.
<https://easychair.org/conferences/?conf=sss23>
Important Dates
-
January 30, 2023: Paper submission deadline (AoE).
-
February 4, 2023: Author notification (AoE).
-
March 27-29: AAAI Spring Symposium Series.
Invited Speakers
-
Rance Cleaveland <https://www.cs.umd.edu/people/wcleavel>, University of
Maryland, USA
-
Giuseppe De Giacomo <https://www.diag.uniroma1.it//degiacom/>,
University of Oxford & Sapienza University of Rome, Italy
-
Lydia Kavraki <https://www.cs.rice.edu/~kavraki/>, Rice University,
Houston, TX, USA
-
Shiela A. Mcilraith <https://www.cs.toronto.edu/~sheila/>, University of
Toronto, Canada
-
Marco Montali
<https://www.unibz.it/it/faculties/computer-science/academic-staff/person/31…>,
University of Bolzano, Italy
-
Kristin Y. Rozier
<https://www.engineering.iastate.edu/people/profile/kyrozier/>, Iowa
State University, USA
-
Ufuk Topcu
<https://www.ae.utexas.edu/people/faculty/faculty-directory/topcu>,
University of Texas at Austin, TX, USA
-
Moshe Vardi <https://www.cs.rice.edu/~vardi/>, Rice University, Houston,
TX, USA
Organizing Committee
-
Suguman Bansal <https://suguman.github.io/>, Co-Chair, Georgia Institute
of Technology, suguman(a)seas.upenn.edu
-
Antonio Di Stasio <https://antoniodistasio.github.io/>, Co-Chair,
Sapienza University of Rome, distasio(a)diag.uniroma1.it
-
Sasha Rubin <https://sasharubin.github.io/>, Co-Chair, University of
Sydney, sasha.rubin(a)sydney.edu.au
-
Shufang Zhu <https://shufang-zhu.github.io/>, Co-Chair, Sapienza
University of Rome, zhu(a)diag.uniroma1.it
Website
For more information, please see the symposium website:
https://ltlf-symposium.github.io/
Hi,
I am specifically trying to generate unsatisfiable LTL formulae using the randltl tool in Spot. I am struggling because the default tool is so much more likely to produce consistent and satisfiable formulae. Have you got any tips on how I can alter the generation to produce these types of formulae?
Best wishes,
Charles Pert
Hello,
It seems that Spot cannot parse implication and equivalent operators in
prefix order. I tried on both my local machine and the online translator
<https://spot.lre.epita.fr/app/>.
The installed Spot version is 2.11.1.
The commands are
- local: spot.formula("-> a b")
- online translator: type in -> a b
Error message: syntax error, unexpected implication operator
Thank you very much for your help and creating the conda package for Spot,
that makes the installation very convenient! Happy holidays!
Best,
Jason
Dear Spot support team,
I am a researcher at Developair Technologies. I write you looking for help
with a formula that ltl2tgba cannot handle, possibly a bug.
Here at Developair we have been using Spot for the past few months with
great satisfaction. However, it seems that *ltl2tgba *cannot process the
formula in attached file gb_formula.ltl . We let it run for quite some time
(like hours) and it didn't terminate. On the other hand, Owl can process
the same formula in a matter of a few milliseconds. We don't have any
problem using ltl2tgba with other, similar formulas.
It seems strange to us that Spot gets stuck with such a relatively simple
formula, especially since in our experience Spot worked reliably well with
other, way more complex formulas. Is it maybe a bug or something that we
are doing wrong? Could you please help us?
Please find some more details (version and command) below.
Thank you. Best regards,
J.
Spot version:
ltl2tgba --version
> ltl2tgba (spot) 2.10.6
>
> Copyright (C) 2022 Laboratoire de Recherche et Développement de l'Epita.
> 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.
>
Command:
ltl2tgba -S --deterministic --dot=s --output=output.txt -F gb_formula.ltl
Using the "simplest" command "ltl2tgba -F gb_formula.ltl" produces the same
result (that is, no result).
For comparison, with Owl we used command:
owl ltl2ldgba --state-acceptance -i gb_formula.ltl -o owl_gb.txt
--
Jacopo Binchi
jbinchi(a)developair.es
Paseo de Miramón 170
20014 San Sebastián – Donostia
Gipuzkoa (Spain)
www.developair.es
Hi all,
I did not find how to get the number of states (reachable or not) of an automaton using autfilt
(in particular the `--stats` option). The option provided by `autfilt --stats` is for reachable states only.
I did find a workaround with `--hoaf` which outputs the automaton in HOA format and
then getting the number from the `States:` header.
For the number of transitions (reachable or not) I don't have a workaround.
Since spot can compute these numbers easily, it seems handy (at least for me)
to have a direct access to them thru the `--stats` interface.
Thank you,
Pierre.
Hi all,
I am trying to install spot on Ubuntu 20.04 following instructions from:
https://spot.lrde.epita.fr/install.html
But apt update complains about the signature:
W: An error occurred during the signature verification. The repository
is not updated and the previous index files will be used. GPG error:
http://www.lrde.epita.fr/repo/debian stable/ InRelease: The following
signatures were invalid: EXPKEYSIG 03D99E7444F2A84A LRDE Repository
<admin(a)lrde.epita.fr>
W: Failed to fetch
http://www.lrde.epita.fr/repo/debian/stable/InRelease The following
signatures were invalid: EXPKEYSIG 03D99E7444F2A84A LRDE Repository
<admin(a)lrde.epita.fr>
Could the signature be expired?
I can actually install spot from source but Debian packages are useful
for preparing artifact submissions.
Thanks,
Ocan
Dear Spot developers,
Thank you so much for your helpful tool! We are undergraduate researchers
at Barnard college and are using your tool for our summer research project.
We are writing to ask if you would be able to help us understand a behavior
of spot on a spec we are working with.
We have the following small spec:
ASSUME {
G (! ((i1) && (i2)));
}
GUARANTEE {
G (((o1) && (! (o2))) || ((o2) && (! (o1))));
(G (! ((i1) && (i2)))) -> (G (F (o2)));
}
From this, ltlsynt gives us:
AP: 4 "i1" "i2" "o1" "o2"
acc-name: all
Acceptance: 0 t
properties: trans-labels explicit-labels state-acc deterministic
--BODY--
State: 0
[0&1&!2&!3 | 0&1&2&3] 0
[!0&!2&3 | !1&!2&3] 0
--END–
Due to the ASSUME { G (! ((i1) && (i2)));}, the first transition in the hoa
output should never happen. We understand that if a transition violates an
assumption, it's still generated in hoa format because the system is free
to choose any behavior and make any update.
Some questions we have are: how does spot figure out if an assumption has
been violated? Is there a flag that spot gives a transition that violates
an assumption so that it can be dealt with differently? Instead of
generating every possible behavior for the invalid transition, we are
interested in removing it altogether. Is this possible to do through spot
or do we need to come up with our own postprocessing algorithm?
For context, we are working on a tool that takes a spec written in temporal
logic and generates program code in a mealy machine format. We want to
optimize the generated code so that it is as human-readable as possible. We
appreciate any advice you can provide!
Best,
Leyi and Raven
Dear Spot devs,
I am not sure how I am supposed to work with Kripke structures (which I
imported using ltsmin) or `twa_product` (which I obtained using
`otf_product` on the Kripke structure).
In the screenshot below I can invoke 'exclusive_word' with no problems on a
`kripke` and `twa_product` but the same is not true for 'contains' which
returns a type error.
The way I found to invoke 'contains' without errors is to use 'save' and
then 'automaton' to read that same file again in order to get `twa_graph`
as expected by `contains`. I am not sure this workaround is what the devs
had in mind.
Thank you for clarifying,
PierreG
[image: image.png]
Dear Spot devs,
Is there a way for Spot to perform the alphabet abstraction available in
GOAL as triggered with the `-a` switch when invoking the `alphabet` command?
I paste the GOAL documentation about it below.
Thank you,
Pierre.
- Alphabet -NAMEalphabet - Manipulate the alphabet of an automaton or a
game.SYNOPSISalphabet -s [ -ap ] FILE_OR_LVALalphabet -e EXPR [ -ap ]
FILE_OR_LVALalphabet -c EXPR [ -ap ] FILE_OR_LVALalphabet -r EXPR [ -ap ]
FILE_OR_LVALalphabet -a EXPR [-R | -A | -S EXPR | -P EXPR | -ap ]
FILE_OR_LVALDESCRIPTIONManipulate the alphabet of an automaton (or a game).
This operation is directly applied to the input automaton. The returned
value is always the new alphabet of the automaton (or the new atomic
propositions if -ap is present).
-s Simply return the alphabet of the input automaton or game.
-ap Return the atomic propositions (or classical symbols) instead of the
alphabet.
-e Expand the alphabet by a list of propositions.
-c Contract the alphabet by removing a list of propositions.
-r Rename the propositions based on a map from a proposition to its new
name.
-a Abstract the alphabet based on a map from a predicate to its definition.
-R Retain the transition symbols in alphabet abstraction.
-A Only annotate the transitions with properties specified by -S and -P.
-S Specify the name of the property that will store the symbols on the
transitions in alphabet abstraction.
-P Specify the name of the property that will store the evaluations of the
predicates in alphabet abstraction. EXAMPLE
alphabet -e "r" aut.gff
alphabet -c "p" aut.gff
alphabet -r "p=>r,q=>s" aut.gff
alphabet -a "r=>p/\q" aut.gff
alphabet -a "r=>p/\q" -A -P "Predicates" aut.gff
Hello,
There is a small hack in the lexer definition files `scanlt.ll` and `scanaut.ll` which fails the compilation on my Mac (macOS 12.3 arm64, Clang 13.1.6); they override `__STDC_VERSION__` which in turn wreaks havoc in the libc includes. I was able to fix the compilation using this small patch, which includes `libc-config.h` at the top in addition to `config.h`. I hope it would be useful to you.
Cheers.