Giter Club home page Giter Club logo

eventb_gen's People

Contributors

bendisposto avatar joyheron avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

leuschel

eventb_gen's Issues

Label Clash between auto-generated and user generated invariant labels

The eventb_gen tool seems to auto-generate labels inv0, inv1,... There is a type clash in case the user uses the same label himself or herself.

Example:
procedure first_of_str(NullableSet,FirstRel,str) => first_str
sees symbols

typing NullableSet: POW(N)
typing FirstRel: N --> POW(T)
typing str: String
typing first_str: POW(T)

precondition str:String & FirstRel: N --> POW(T) & first_of_str <: T
postcondition first_str <: T & (str[{1}] \ T) <: first_str

implementation
var i type i:NAT1 init i โ‰” 1;
var F type F<:T init F := {}
invariants
@INV1 i:1..(card(str)+1)
@Inv2 F <: T

  algorithm
     while: i <= card(str)
        invariant i: 1..card(str)
        variant card(str)+1-i
     do
        if: str(i) : T then
          @term F := F \/ {str(i)}
        else
          @nonterm F := F \/ FirstRel(str(i))
        end;
        if: str(i) : NullableSet then
          @inc i := i+1
        else
          @exit i := card(str)+1
        end
     end; 
     return F
  end

end
end

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.