Ferruccio Guidi [Sat, 23 Aug 2008 19:38:53 +0000 (19:38 +0000)]
Procedural: bug fix in comment generation
applyTransformation: now mma compilation fails on procedural generation errors
matitacLib: when the mma fails the generated ma is removed
Ferruccio Guidi [Sat, 23 Aug 2008 13:18:57 +0000 (13:18 +0000)]
Procedural: explicit flavour specification for constants is now working
procedural inlining of inductive types is now working
fixup in the generation of comments
grafiteAstPp: syntax fixup
transcript: now generates explicit flavour for inlined constants
so we distinguish between definitions and theorems :)
[the attributes are not present when we inline from Coq's library]
CoRN-Procedural: mma files regenerated with explicit flavours
Added catching of an exception to implement a missing occur check:
when unifying ?1 : T with t : T', T and T' are unified first. If ?1
occurs in T', it is moved from the metasenv to the subst, and the
exception here used to escape.
- too strict check on left parameters of constructors in guarded by constructors removed
- the cases Fixpont and CoFixpoint in guarded by constructors are useless code in the
new kernel since:
o recursive/corecursive objects are now closed terms
o we do not allow (yet?) to pass co-recursive functions around
o we do check that the arguments of the application of a fix/cofix do not
contain the function we are checking for GBC
matitadep: we now handle the inline of an uri, we removed the -exclude option
matitaInit: we removed the -drop option (now handled automatically)
transcript: we removed the baseuri generation
CoRN-Procedural: the mma files and the depends file are now available
Procedural: some comments added in the generated script
tests/fguidi.ma: we removed the dependence from legacy/coq.ma
ApplyTransformation: new function procedural_text_of_cic_term
for use in matitaScript (still disabled)
a) update with upstream version
b) new: implemented semantic analyzer from untyped to typed AST for
an imperative structured function-less C compiler
c) all URIs removed from .ma files
lambda-delta: we added the support for position indexes in global references
we added a pretty printer for the intermediate language
librarian : utime stamps now appear only in debug mode
cicUtil : we added a context to is_sober to check for consistancy
of RELS (not implemented yet)
doubleTypeInference: the inferred name of an anonymous lambda must be the name
of the expected prod :)
acic2Procedural : we added a consistancy check that was missing
librarian: retrieval of buildable files speeded up a lot
Procedural: some bug fixes
termContentPres.ml: syntax of let-in construction fixed
LAMBDA-TYPES: some improvements in the Makefile
New feature/bug fixed (hopefully): it is now possible to use fixed (term)
variables in fold bodies.
The notation for exists is now fully working as expected.
Notation for existential partially fixed: it is now possible to write
\exists a,b,c:T.P
(possibly omitting the type).
In any case, however, the type is got rid of during parsing.
A very nice experiment using notation: we define the notation for natural
language derivations so that, when looking at the proof, we see it as a
natural deduction tree! Useful to teach logic to first year students, but
much work still need to be done (expecially to give derivation trees to
the system in some way).