Coder Social home page Coder Social logo

Comments (4)

kleinj avatar kleinj commented on August 16, 2024

I still like this idea. Concrete proposals:

  1. language-properties: for language-based properties and properties: for automata properties
  2. With prefix: lang-stutter-invariant vs deterministic
  3. ...?

I have no strong opinions about the syntax. Besides stutter-invariant, what other language properties would we like to list? Ideas:

  • safety: every rejected word has a bad prefix, i.e., a prefix w such that w w' is rejected for all infinite words w'
  • liveness: for all finite words w, there is an accepted word w' with prefix w
  • universal: language consists of all infinite words
  • empty: language is empty

Alexandre, you do property classification in Spot, are there some classifications that we could use here?

from hoaf.

xblahoud avatar xblahoud commented on August 16, 2024

I prefer syntax 1.

from hoaf.

JanKretinsky avatar JanKretinsky commented on August 16, 2024

I don't like the prefixes, Joachim's number 1. is fine

from hoaf.

adl avatar adl commented on August 16, 2024

I was thinking about this after reading Joachim's email, and I think I'm simply fine with the current situation.

  1. we already have tools that, following the current wording of the specifications, build automata with language-dependent properties such as properties: stutter-invariant, and tools that consume it. E.g., ltl2tgba can output properties: stutter-invariant and the development version of ltl2dstar can use it.
  2. for all specified properties, it is easy to tell whether they are language-dependent or not
  3. we have 0 experience with user-supplied properties

Splitting "properties:" into two headers just for the purpose of being able to handle unknown language properties if they are ever needed, seems to require some changes in our tools and in the format, for no immediate benefits. If you really want to do it, I'll do it as well of course, but my (lazy!) inclination would be not to work on this until we can actually feel it is needed.

Currently, if we want to preserve language-related properties in our tools, we need a hard-coded list of those properties. That is fine with me, as I already have to make explicit decisions in all algorithms about the other non-language-related properties I keep track of.

I also feel like those language properties is only a fraction of the problem. There might be non-language-related properties that are preserved by a transformation, and that tools do not know about. Again, I think we lack experience. If we ever have user-defined properties to preserve, an easy fix for our tools would be to have an option like --keep-prop=foo allowing user to tell: "run your algorithm, but keep the foo property if it was present in the input because that is important to me". The same idea could be applied to unknown headers. Again, I'm not suggesting to implement those options: I'm just saying this is something we can easily do later if we do nothing now.

from hoaf.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.