Skip to content

ACSL typing fails when performing unification of type variables

ID0002170: This issue was created automatically from Mantis Issue 2170. Further discussion may take place here.


Id Project Category View Due Date Updated
ID0002170 Frama-C Kernel > ACSL implementation public 2015-09-24 2015-09-24
Reporter patrick Assigned To virgile Resolution open
Priority normal Severity minor Reproducibility always
Platform - OS - OS Version -
Product Version - Target Version - Fixed in Version -

Description :

Frama-C fails while typing the given ACSL axiomatic.

Additional Information :

Typing is succesful when axiom "a" is replaced by: @ axiom a: P(aList,Nil);

Steps To Reproduce :

> cat list.i
//@ type List<A> = Nil | Cons(A,List<A>);

/*@ axiomatic L {
  @   predicate P<B>(List<B> l1, List<B> l2);
  @   logic List<integer> aList{L} ;
  @   axiom a: P(Nil, aList);
  @ }
  @*/
> frama-c list.i
...
../tests/list.i:8:[kernel] user error: invalid implicit conversion from ℤ to A#4
Edited by Virgile Prevosto
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information