New in version 2.1.5
   Version 2.1.5 brings the -pedantic switch that implements
   strict checking for existence of final/initial models.

 CCSLC INTERFACE
   - new switch -pedantic, see man page
   - new debug flag 8192, see man page

 LANGUAGE CHANGES
   - the class specials <class>_class_invariant?,
   <class>_class_bisimulation?, and <class>_class_morphism? are
   available in assertions, creation conditions, and theorems of
   <class>.

 PVS BACKEND
   - data type <class>_Method_Id has been renamed to <class>Method_Id
   - new theory <class>FinalityBisim contains the
   <class>_finality_bisim_eq lemma (which is hopefully provable
   now)

######################################################################


New in version 2.1.4
   Version 2.1.4. is a technical release, there are almost no
   changes besides some bug fixes.

 CCSLC INTERFACE
   - new option -dependent-assertions makes the assertion
     predicates dependent on each other so that one can use
     previous assertions to discharge type-check conditions on
     later assertions.

 PVS BACKEND
   - added proofs for loose and final TCC's


######################################################################
   

New in version 2.1.3

 LANGUAGE CHANGES

   - Keyword TYPE (synonymously but deprecated GROUNDTYPE)
     introduces type definitions. Syntax (inside or outside of
     groundsignatures):

       TYPE identifier [ parameterlist ] [ EQUAL type ]

     If parameterlist is present, it is called the local type
     parameter list, in contrast to the global parameter list of
     the enclosing groundsignature. Global and local
     parameterlists are concatenated to give the type parameters
     of the type. 

     If the type equation is given, this defines a type equality,
     which is silently expanded in type checking and lifting
     generation. 

     For type equations the backend generates a type equation as
     well.

   - type abbreviations are gone

   - Keyword CONSTANT (synonymously but deprecated GROUNDTERM)
     defines constants as before. However, these constants can
     have local typeparameters as well:

      idorinfix [ parameterlist ] COLON type [ formula ]

     (if present, the formula must be an equation)

   - Relaxed parsing of defining equations. There is no variable
     required on the left hand side any more.

   - C-Preprocessor like include directive allows nesting of CCSL
     specifications. Syntax:

       #include "filename"

     filename is searched relative to the current directory and
     its contents is inserted literally.

   - several small problems fixed: 
     - double type parameters are detected
     - qualified identifiers work for groundtypes as well

 CCSLC INTERFACE
   - new option -no-inline-lifting disables inlining of liftings
     of constant functors

 PVS BACKEND

   - The enumeration type for methods (used for methodwise
     invariants) is now defined as an ADT outside the invariants
     theory. 

   - renamed inv_linear and box_linear lemmas into
     inv_linear_cons and inv_linear_append, respectively 

   - new lemmas inv_linear_append, box_linear_append

   - new theories <class>MethodInvariantInherit and
     <class>BoxInherit. They link methodwise invariants and Box
     with ancestor classes (if the ancestor instanciation is
     constant)

   - generate proofs for <class>Basic theory

   - one groundsignature might give rise to several PVS theories:
     every item with local type parameters gets its own theory.
     
   - the compiler generates generic importings (without
     instanciation) for groundsignatures that contain items with
     local type parameters

   - several bug fixes

 INTERNALITIES

   - improved expression optimization


######################################################################

New in version 2.1.2

 LANGUAGE CHANGES

   - For every class there are now three additional predicates
     invariant?, bisimulation?, and morphism?. They recognize
     invariants, bisimulations, and coalgebra morphisms for that
     class. For instance for a class CM

       CM_class_invariant?(a, lambda(x : Self) : step (step x)) inv;
       CM_class_bisimulation? (a, step) (oa, ostep) orel;
       CM_class_morphism? (a, step) (CM_A::a, CM_A::step) upcast;

   - In definitional extentions modal operators are allowed now

   - "\" is allowed in infix operators now

   - ground term declarations can have definitions now, for
     example 

	GroundTerm inv : [bool -> bool]
	  inv x = not x

	Begin bla : Groundsignature
	constant
	inv : [bool -> bool]
	  inv x = not x
	end bla

     If groundterms have a definition, then the compiler generates
     output for that definition.

   - in class specification one can specify theorems in the theorem's
     section:

	Begin ... : ClassSpec

          ...

	  THEOREM 
	    name : <formula>;

	end A

      The theorem section can have an IMPORTING clause and variable
      declarations. The theorems of one class go into the the file 
      <class>_theorem.pvs

 OTHER CHANGES

   - configuration uses autoconf generated configure script now

   - a man page describes all options of the compiler.


This file started with version 2.1.1


$Id: NEWS,v 1.5 2002/07/03 12:01:13 tews Exp $

*** Local Variables: ***
*** mode: text ***
*** version-control: t ***
*** kept-new-versions: 5 ***
*** delete-old-versions: t ***
*** End: ***
