]> matita.cs.unibo.it Git - helm.git/log
helm.git
13 years agoMajor speed-up:
Claudio Sacerdoti Coen [Mon, 6 Jun 2011 16:41:34 +0000 (16:41 +0000)]
Major speed-up:

 1) bug fixed: the fo_unif applied to a metavariable in the subst made a
    recursive call using unify. Thus, in case of failure of the unify
    (after hints, reduction, etc.), fo_unif failed and hints, reduction,
    etc. was tried again. This resulted in an exponential blow-up in the
    worst case.
 2) bug fixed: in the case  ? args == ?pattern, the ?pattern was delifted
    w.r.t. args, but during the delift the special unification case with
    a pattern was considered again. This was costly since reduction was
    used on the first argument of the unification.
 3) semantics of fo_unif "fixed": it is now succesfull on every pair of
    terms whose rigid prefix is equal and whose arguments are unifiable.
    Before it used to fail for example on (x args == x args) where x is
    a Rel.
 4) BEHAVIOUR OF DELIFT CHANGED: it no longer matches terms in the local
    context up to full unification, but only up to fo_unif. Some tactics
    that used to be accepted could now fail and the user needs to change
    the terms by hand before applying the tactic. On the other hand, the
    speed up is really significant.

13 years agoThis update uses XML for client-server communication. For unknown reasons, this
Wilmer Ricciotti [Mon, 6 Jun 2011 14:55:54 +0000 (14:55 +0000)]
This update uses XML for client-server communication. For unknown reasons, this
doesn't seem to work well with Firefox (but works ok on Chrome).

We reverted to a single process http daemon because of an annoying bug in
Ocaml Http, causing the daemon to terminate randomly.

13 years ago- we introduce extended existentials (generated)
Ferruccio Guidi [Fri, 3 Jun 2011 16:52:50 +0000 (16:52 +0000)]
- we introduce extended existentials (generated)
- we exploit the tactic "*" to reduce the volume of decompositions

13 years agoMax width overflows, which cause auto to fail, are now logged as errors.
Ferruccio Guidi [Fri, 3 Jun 2011 13:40:38 +0000 (13:40 +0000)]
Max width overflows, which cause auto to fail, are now logged as errors.
The message "auto gave up" is not very informative by itself!

13 years agoFixed a bug that prevented record projections from being generated. This patch
Wilmer Ricciotti [Fri, 3 Jun 2011 09:28:29 +0000 (09:28 +0000)]
Fixed a bug that prevented record projections from being generated. This patch
supersedes a previous one (r11250), which created more problems than those it
solved.

13 years agoThe pretty printer should never fail, even on fake inductive types used in
Claudio Sacerdoti Coen [Fri, 3 Jun 2011 08:55:01 +0000 (08:55 +0000)]
The pretty printer should never fail, even on fake inductive types used in
patterns.

13 years agoPretty printing of exceptions escaped from pretty printing of exceptions
Claudio Sacerdoti Coen [Fri, 3 Jun 2011 08:53:47 +0000 (08:53 +0000)]
Pretty printing of exceptions escaped from pretty printing of exceptions
improved.

13 years agoAvoid killing the main gui thread.
Claudio Sacerdoti Coen [Fri, 3 Jun 2011 08:32:32 +0000 (08:32 +0000)]
Avoid killing the main gui thread.

13 years agoDelift used to produce not well typed substitutions. In turn, this
Claudio Sacerdoti Coen [Wed, 1 Jun 2011 16:36:13 +0000 (16:36 +0000)]
Delift used to produce not well typed substitutions. In turn, this
led to tactics that were not failing immediately, but only at Qed.

Fixed by adding the appropriate check to the delift function.

Note:
 - pass the metavariable number (-1) to avoid the check when you know what
   you are doing (e.g. when delift is just used to restrict a term or to
   replace a term with a convertible one). This used to be 0 (not -1).
 - in some cases (algebraic universes and implicits used to stop chains of
   metavariables) the check is relaxed
 - to make the CerCo script pass (in very "reasonable" and "frequent" cases),
   the algorithm needs to solve the following unification problem:
     S (?[n]) == ?[(S n)]
   Our algorithm used to delift S(?[n]) w.r.t. (S n), yielding x |- ? := x.
   By chance, this was the right solution since S (?[n]) becomes (S n) and
   also ?[(S n)] becomes (S n). However, the two solutions were both added
   to the subst (first bug) and they could even be different (second bug).
   We fix this by checking that they are not different.
   However, at the moment, the solution still occurs twice in the subst....

13 years agoCC2FO_K_cube: soundness of the K interpretation stated
Ferruccio Guidi [Wed, 1 Jun 2011 14:18:46 +0000 (14:18 +0000)]
CC2FO_K_cube: soundness of the K interpretation stated

13 years agoComment is now up-to-date.
Claudio Sacerdoti Coen [Wed, 1 Jun 2011 12:57:28 +0000 (12:57 +0000)]
Comment is now up-to-date.

13 years agoMatita Web: moved the javascript in a separate file. Bugfixes.
Wilmer Ricciotti [Wed, 1 Jun 2011 12:29:29 +0000 (12:29 +0000)]
Matita Web: moved the javascript in a separate file. Bugfixes.

13 years agosubst.ma: some additions
Ferruccio Guidi [Wed, 1 Jun 2011 11:55:11 +0000 (11:55 +0000)]
subst.ma: some additions
convertibility.ma: non "conv" refers to the correct predicate
CC2FO_K.ma: CC to Fomega: first interpretation: substitution lemma

13 years agoPrint backtrace of exceptions when OCAMLRUNPARAM=b is setted.
Claudio Sacerdoti Coen [Wed, 1 Jun 2011 11:34:24 +0000 (11:34 +0000)]
Print backtrace of exceptions when OCAMLRUNPARAM=b is setted.

13 years agoassert false removed
Claudio Sacerdoti Coen [Wed, 1 Jun 2011 11:27:34 +0000 (11:27 +0000)]
assert false removed

13 years agoPartial implementation of "go to cursor" action.
Wilmer Ricciotti [Tue, 31 May 2011 13:59:37 +0000 (13:59 +0000)]
Partial implementation of "go to cursor" action.

13 years agoauto does not work here :(
Ferruccio Guidi [Mon, 30 May 2011 19:18:51 +0000 (19:18 +0000)]
auto does not work here :(

13 years agobasics: some additions
Ferruccio Guidi [Mon, 30 May 2011 18:34:47 +0000 (18:34 +0000)]
basics: some additions
lambda: some additions + split of lift and subst

13 years agoBetter indentation.
Claudio Sacerdoti Coen [Mon, 30 May 2011 16:28:27 +0000 (16:28 +0000)]
Better indentation.

13 years agoPartially working table layout of matita web (only on some browsers).
Wilmer Ricciotti [Mon, 30 May 2011 12:25:24 +0000 (12:25 +0000)]
Partially working table layout of matita web (only on some browsers).

13 years agoDebugging code to understand cases where the output notation is not
Claudio Sacerdoti Coen [Mon, 30 May 2011 11:02:26 +0000 (11:02 +0000)]
Debugging code to understand cases where the output notation is not
applied, is applied badly or it raises an assert failure.

Usually the problem is given by optional parts of the term. For instance,
in output all typing information is present and it _must_ be matched.

13 years agoName generator for Russell greatly improved.
Claudio Sacerdoti Coen [Fri, 27 May 2011 14:58:10 +0000 (14:58 +0000)]
Name generator for Russell greatly improved.
But maybe we need a longer term solution.

13 years agoImproved rendering of sequents in matitaweb, including handling of multiple
Wilmer Ricciotti [Thu, 26 May 2011 14:14:13 +0000 (14:14 +0000)]
Improved rendering of sequents in matitaweb, including handling of multiple
goals.

13 years agoSerious bug fixed:
Claudio Sacerdoti Coen [Thu, 26 May 2011 12:06:11 +0000 (12:06 +0000)]
Serious bug fixed:
 - in order to look for coercions to sort and funclass, we passed
   types containing implicits and a flag to avoid unification
 - totally avoiding unification, it happened
    1) that we diverged:
       t : A :> B ==> inject t : Sigma x.A :> B ==> eject (inject t): A :> B
    2) that we called unification on types that contained implicits
       (in some cases)

13 years agoProd indexed as Dead, that is equal only to itself, instead of Variable that
Enrico Tassi [Thu, 26 May 2011 11:57:17 +0000 (11:57 +0000)]
Prod indexed as Dead, that is equal only to itself, instead of Variable that
is equal to anything

13 years agoPreliminary version of matitaweb handling multiple goals in the sequent view.
Wilmer Ricciotti [Thu, 26 May 2011 11:48:48 +0000 (11:48 +0000)]
Preliminary version of matitaweb handling multiple goals in the sequent view.

13 years agoSyntax for coercion nocomposites fixed.
Claudio Sacerdoti Coen [Thu, 26 May 2011 09:33:31 +0000 (09:33 +0000)]
Syntax for coercion nocomposites fixed.

13 years agoAdded "nocomposites" to coercions.
Claudio Sacerdoti Coen [Thu, 26 May 2011 09:27:38 +0000 (09:27 +0000)]
Added "nocomposites" to coercions.

13 years ago- degree: some improvements and the Deg_append lemma
Ferruccio Guidi [Wed, 25 May 2011 12:22:16 +0000 (12:22 +0000)]
- degree: some improvements and the Deg_append lemma
- lambda_notation: the K interpretation (CC to Fomega mapping)

13 years agoQuick patch to avoid name collisions when passing coercions under let...ins.
Claudio Sacerdoti Coen [Tue, 24 May 2011 22:01:19 +0000 (22:01 +0000)]
Quick patch to avoid name collisions when passing coercions under let...ins.

13 years agoCoercions are now propagated under let...ins.
Claudio Sacerdoti Coen [Tue, 24 May 2011 21:39:32 +0000 (21:39 +0000)]
Coercions are now propagated under let...ins.

13 years agoFixed box pretty printing.
Wilmer Ricciotti [Tue, 24 May 2011 16:40:35 +0000 (16:40 +0000)]
Fixed box pretty printing.

13 years agomatitaweb: added retract (undo)
Wilmer Ricciotti [Tue, 24 May 2011 13:24:53 +0000 (13:24 +0000)]
matitaweb: added retract (undo)

13 years agodegree.ma: we defined the "degree" of a term, which is meaningful in
Ferruccio Guidi [Tue, 24 May 2011 12:19:11 +0000 (12:19 +0000)]
degree.ma: we defined the "degree" of a term, which is meaningful in
the lambda-cube

13 years ago1) interpretation of matches in patterns implemented
Claudio Sacerdoti Coen [Mon, 23 May 2011 23:08:04 +0000 (23:08 +0000)]
1) interpretation of matches in patterns implemented
2) missing exception added to matitaExcPp

13 years agoAdded support for hyperlinks in the goal view of the web interface.
Wilmer Ricciotti [Mon, 23 May 2011 15:13:38 +0000 (15:13 +0000)]
Added support for hyperlinks in the goal view of the web interface.

13 years ago...
Wilmer Ricciotti [Mon, 23 May 2011 10:49:02 +0000 (10:49 +0000)]
...

13 years agoRemoved dead code
Andrea Asperti [Mon, 23 May 2011 10:24:12 +0000 (10:24 +0000)]
Removed dead code

13 years ago- we weakened SAT3
Ferruccio Guidi [Fri, 20 May 2011 14:35:59 +0000 (14:35 +0000)]
- we weakened SAT3
- we simplified the specifications of the Cube

13 years agowant_indent bug fixed
Andrea Asperti [Fri, 20 May 2011 10:34:09 +0000 (10:34 +0000)]
want_indent bug fixed

13 years agoreadded function box_of
Andrea Asperti [Fri, 20 May 2011 10:06:00 +0000 (10:06 +0000)]
readded function box_of

13 years agoCompilation fix
Wilmer Ricciotti [Fri, 20 May 2011 09:59:53 +0000 (09:59 +0000)]
Compilation fix

13 years agoCompilation fix
Wilmer Ricciotti [Fri, 20 May 2011 09:59:31 +0000 (09:59 +0000)]
Compilation fix

13 years agoSimplified rendering.
Andrea Asperti [Fri, 20 May 2011 08:50:16 +0000 (08:50 +0000)]
Simplified rendering.

13 years agoSimplified rendering
Andrea Asperti [Fri, 20 May 2011 08:49:10 +0000 (08:49 +0000)]
Simplified rendering

13 years agoSimplified rendering
Andrea Asperti [Fri, 20 May 2011 08:48:27 +0000 (08:48 +0000)]
Simplified rendering

13 years agorm rendering attrs
Andrea Asperti [Fri, 20 May 2011 08:45:36 +0000 (08:45 +0000)]
rm rendering attrs

13 years agoRemoved mathml and proof rendering.
Andrea Asperti [Fri, 20 May 2011 08:44:09 +0000 (08:44 +0000)]
Removed mathml and proof rendering.

13 years agoSimplified rendering
Andrea Asperti [Fri, 20 May 2011 08:42:04 +0000 (08:42 +0000)]
Simplified rendering

13 years agoPorting to new reduction.
Andrea Asperti [Fri, 20 May 2011 08:34:57 +0000 (08:34 +0000)]
Porting to new reduction.

13 years agoAdded matitadaemon.
Wilmer Ricciotti [Thu, 19 May 2011 14:14:06 +0000 (14:14 +0000)]
Added matitadaemon.

13 years agocube.ma: some pts specifications of the lambda-cube
Ferruccio Guidi [Thu, 19 May 2011 14:12:22 +0000 (14:12 +0000)]
cube.ma: some pts specifications of the lambda-cube

13 years agoPorting to the new pts.
Andrea Asperti [Thu, 19 May 2011 10:36:25 +0000 (10:36 +0000)]
Porting to the new pts.

13 years agoPorting to new parametric TJ.
Andrea Asperti [Thu, 19 May 2011 10:16:44 +0000 (10:16 +0000)]
Porting to new parametric TJ.

13 years agoDummies are blocked.
Andrea Asperti [Thu, 19 May 2011 09:58:04 +0000 (09:58 +0000)]
Dummies are blocked.

13 years agoNew version of TJ parametric in the specification of pts.
Andrea Asperti [Wed, 18 May 2011 09:46:17 +0000 (09:46 +0000)]
New version of TJ parametric in the specification of pts.

13 years agowe added a property
Ferruccio Guidi [Sat, 14 May 2011 18:59:20 +0000 (18:59 +0000)]
we added a property

13 years agoground: some arithmetical properties added
Ferruccio Guidi [Fri, 13 May 2011 21:19:34 +0000 (21:19 +0000)]
ground: some arithmetical properties added
lift: some properties proved

13 years agointerim version (added smallLexer)
Wilmer Ricciotti [Fri, 13 May 2011 08:55:12 +0000 (08:55 +0000)]
interim version (added smallLexer)

13 years agoRecord projections:
Wilmer Ricciotti [Thu, 12 May 2011 16:03:08 +0000 (16:03 +0000)]
Record projections:
no need to synthesize an ast term from a CIC term: just use NotationPt.NCic ;
this also fixes a bug that used to prevent generation of projections when the
types of some fields was associated to a notation (example: natural numbers
expressed using \naturals).

13 years agoRecord projections:
Wilmer Ricciotti [Thu, 12 May 2011 15:59:10 +0000 (15:59 +0000)]
Record projections:
no need to synthesize an ast term from a CIC term: just use NotationPt.NCic ;
this also fixes a bug that used to prevent generation of projections when the
types of some fields was associated to a notation (example: natural numbers
expressed using \naturals).

13 years agoPartial modifications.
Andrea Asperti [Wed, 11 May 2011 13:26:18 +0000 (13:26 +0000)]
Partial modifications.

13 years agowe uncommented R3 and R4 tu be used in lambda-delta
Ferruccio Guidi [Thu, 28 Apr 2011 15:24:48 +0000 (15:24 +0000)]
we uncommented R3 and R4 tu be used in lambda-delta

13 years ago- weight: bugfix + weight-based eliminator axiomatized
Ferruccio Guidi [Thu, 28 Apr 2011 15:23:38 +0000 (15:23 +0000)]
- weight: bugfix + weight-based eliminator axiomatized
- notation: bugfix
- lift: first main property axiomatized

13 years ago- we added notation for the zetable and thetable items
Ferruccio Guidi [Thu, 21 Apr 2011 14:16:26 +0000 (14:16 +0000)]
- we added notation for the zetable and thetable items
- the first inversion lemma for lift shows a bug in the destruct tactic :(

13 years agoconvertibility.
Andrea Asperti [Wed, 20 Apr 2011 08:50:32 +0000 (08:50 +0000)]
convertibility.

13 years agogeneratin lemmas and subject reduction (with a lot of axioms).
Andrea Asperti [Wed, 20 Apr 2011 08:49:15 +0000 (08:49 +0000)]
generatin lemmas and subject reduction (with a lot of axioms).

13 years agoprogress
Andrea Asperti [Wed, 20 Apr 2011 08:48:02 +0000 (08:48 +0000)]
progress

13 years agoerror in the conversion rule
Andrea Asperti [Wed, 20 Apr 2011 08:38:18 +0000 (08:38 +0000)]
error in the conversion rule

13 years agonotation bug fix
Ferruccio Guidi [Tue, 19 Apr 2011 21:28:46 +0000 (21:28 +0000)]
notation bug fix

13 years ago- some bug fixes
Ferruccio Guidi [Tue, 19 Apr 2011 20:59:15 +0000 (20:59 +0000)]
- some bug fixes
- we defined the thinning relation

13 years agocomplete reformalization of lambda-delta in matita (initial commit)
Ferruccio Guidi [Tue, 19 Apr 2011 15:15:23 +0000 (15:15 +0000)]
complete reformalization of lambda-delta in matita (initial commit)
first definitions and one lemma

13 years agodisambiguation of explicit interprettions with arguments now works
Ferruccio Guidi [Tue, 19 Apr 2011 08:06:07 +0000 (08:06 +0000)]
disambiguation of explicit interprettions with arguments now works
i.e. 'eq x y z

13 years ago...
Claudio Sacerdoti Coen [Wed, 13 Apr 2011 11:15:01 +0000 (11:15 +0000)]
...

13 years agowe added an nmap from NCic.obj to NotationPt.obj (to be continued)
Ferruccio Guidi [Tue, 5 Apr 2011 20:30:48 +0000 (20:30 +0000)]
we added an nmap from NCic.obj to NotationPt.obj (to be continued)

13 years agowe removed an extra dot from the "include" syntax
Ferruccio Guidi [Tue, 5 Apr 2011 15:59:50 +0000 (15:59 +0000)]
we removed an extra dot from the "include" syntax

13 years agowe introduced nterm for NotationPt.term
Ferruccio Guidi [Mon, 4 Apr 2011 16:55:04 +0000 (16:55 +0000)]
we introduced nterm for NotationPt.term

13 years agoPatch to avoid equations of the form ? -> T (oriented this way) that
Claudio Sacerdoti Coen [Fri, 1 Apr 2011 12:43:29 +0000 (12:43 +0000)]
Patch to avoid equations of the form ? -> T (oriented this way) that
can always be applied to later yield non well typed terms.

Moreover, when T is a Leaf and when the goal contains a Leaf, the equation
above is applied breaking one of the "assert (subst=[])" in the code
(since the Leaf is matched by ?).

13 years agowe proved that the union of two saturated sets is saturated
Ferruccio Guidi [Wed, 30 Mar 2011 17:33:14 +0000 (17:33 +0000)]
we proved that the union of two saturated sets is saturated

13 years agoKeeping track of locations of disambiguated ids and symbols.
Wilmer Ricciotti [Wed, 30 Mar 2011 11:52:27 +0000 (11:52 +0000)]
Keeping track of locations of disambiguated ids and symbols.
Matitac produces disambiguated files, with hyperlinks for ids and ยง marks
for symbols.
Matita is able to reparse ids with hypelinks.

13 years agoFixes previous wrong commit.
Claudio Sacerdoti Coen [Sun, 27 Mar 2011 13:18:36 +0000 (13:18 +0000)]
Fixes previous wrong commit.

13 years ago1) Second half of the bug fixing for the "lexical keywords lost" bug.
Claudio Sacerdoti Coen [Sun, 27 Mar 2011 13:09:20 +0000 (13:09 +0000)]
1) Second half of the bug fixing for the "lexical keywords lost" bug.
   I expected the need for re-building the lexer also after the Notation command
   and indeed I have found an example for this in CerCo.
2) Printing of compilation result and times required fixed.

13 years agoBug fixed: some Uri was not refreshed. The effect of the bug was that some
Claudio Sacerdoti Coen [Sun, 27 Mar 2011 13:08:22 +0000 (13:08 +0000)]
Bug fixed: some Uri was not refreshed. The effect of the bug was that some
file was re-compiled even if already compiled.

13 years agoDebugging code commented out.
Claudio Sacerdoti Coen [Sun, 27 Mar 2011 13:07:45 +0000 (13:07 +0000)]
Debugging code commented out.

13 years ago- terms.ma: we included 'is_dummy" and "neutral" (maybe "is_neutral
Ferruccio Guidi [Wed, 23 Mar 2011 21:31:24 +0000 (21:31 +0000)]
- terms.ma: we included 'is_dummy" and "neutral" (maybe "is_neutral
would be better)
- sn.ma rc_sat.ma: we introduced the axioms for dummy

13 years agoMore verbose in case of errors.
Claudio Sacerdoti Coen [Wed, 23 Mar 2011 15:54:49 +0000 (15:54 +0000)]
More verbose in case of errors.

13 years agored star
Andrea Asperti [Wed, 23 Mar 2011 07:36:29 +0000 (07:36 +0000)]
red star

13 years agoUse jmeq from lib.
Claudio Sacerdoti Coen [Wed, 23 Mar 2011 01:28:29 +0000 (01:28 +0000)]
Use jmeq from lib.

13 years agoNested calls to matitac are now pretty-printed nicely.
Claudio Sacerdoti Coen [Wed, 23 Mar 2011 01:08:02 +0000 (01:08 +0000)]
Nested calls to matitac are now pretty-printed nicely.
The times printed, however, still include the nested compilation time
(to be fixed).

13 years agoReindentation.
Claudio Sacerdoti Coen [Tue, 22 Mar 2011 21:58:08 +0000 (21:58 +0000)]
Reindentation.

13 years agothe weakening lemma is not needed since it is assumed in the rules of
Ferruccio Guidi [Tue, 22 Mar 2011 21:00:04 +0000 (21:00 +0000)]
the weakening lemma is not needed since it is assumed in the rules of
the type judgement :)

13 years agothe thinning lemma follows immediately from the substitution lemma ...
Ferruccio Guidi [Tue, 22 Mar 2011 20:34:05 +0000 (20:34 +0000)]
the thinning lemma follows immediately from the substitution lemma ...

13 years ago- lambda_notation.ma: more notation and bug fixes
Ferruccio Guidi [Tue, 22 Mar 2011 18:53:26 +0000 (18:53 +0000)]
- lambda_notation.ma: more notation and bug fixes
- terms.ma: contains the data structure of terms and related functions (not involving substitution).
- ext_lambda.ma: cut off of previous ext.ma, containing the lambda-related objects
- subst.ma, types.ma: we removed notation from here
- types.ma: we added special cases of the weakening and thinning lemmas as axioms

13 years agoBug fixed and code refactoring: now both matitac and matita include files
Claudio Sacerdoti Coen [Tue, 22 Mar 2011 17:22:53 +0000 (17:22 +0000)]
Bug fixed and code refactoring: now both matitac and matita include files
correctly by re-generating ~include_paths in the same way and every time a
file is opened (either by matitaScript or by assert_ng itself).

13 years agoUse matita/lib as the new standard library in place of matita/nlibrary.
Claudio Sacerdoti Coen [Tue, 22 Mar 2011 16:41:24 +0000 (16:41 +0000)]
Use matita/lib as the new standard library in place of matita/nlibrary.

13 years agoDebugging code removed.
Claudio Sacerdoti Coen [Tue, 22 Mar 2011 16:39:35 +0000 (16:39 +0000)]
Debugging code removed.

13 years agosn_prod
Andrea Asperti [Mon, 21 Mar 2011 08:18:22 +0000 (08:18 +0000)]
sn_prod

13 years agosn_lambda
Andrea Asperti [Mon, 21 Mar 2011 07:41:43 +0000 (07:41 +0000)]
sn_lambda

13 years agoextensions
Andrea Asperti [Mon, 21 Mar 2011 07:40:56 +0000 (07:40 +0000)]
extensions

13 years agoBug "fixed" (i.e avoided).
Claudio Sacerdoti Coen [Sat, 19 Mar 2011 00:00:31 +0000 (00:00 +0000)]
Bug "fixed" (i.e avoided).

Bug description:
 - matitac (more precisely, MatitaEngine.assert_ng, hence the "include"
   command) parses files differently from Matita. In particular, it works on
   a camlp5 "Grammar.parsable" lexer, which is a lexer that remembers
   look-ahead tokens.
 - an "include" file can change the list of keywords for the lexer
   (e.g. when defining the "if-then-else" notation). Hence, after an include,
   the lexer to be used must change and thus the corresponding
   "Grammar.parsable" should change too. This was not the case since the
   "Grammar.parsable" was not regenerated to avoid loosing the look-ahead
   tokens

Bug avoidance:
 - we assume that the "include" command is properly terminated. Hence no
   look-ahead is performed. After each "include" command we regenerate
   the lexer to avoid the bug.

Note:
 - why don't we need to do this just after a "notation" command?
   Apparently, this is not required. However, I do not understand why.
   Is this to be better understood in the future?