]>
matita.cs.unibo.it Git - helm.git/log
Claudio Sacerdoti Coen [Sun, 18 May 2008 17:46:38 +0000 (17:46 +0000)]
Dummy dependent types are no longer cleaned in inductive type arities.
Claudio Sacerdoti Coen [Sun, 18 May 2008 17:44:51 +0000 (17:44 +0000)]
Dummy dependent types are no longer cleaned in inductive type arities.
Claudio Sacerdoti Coen [Sun, 18 May 2008 17:38:47 +0000 (17:38 +0000)]
Dummy dependent products in inductive types arities are no longer cleaned.
Claudio Sacerdoti Coen [Sun, 18 May 2008 17:31:41 +0000 (17:31 +0000)]
This commit avoids cleaning dummy dependent types in the arities of inductive
types. This is an overkilling solution to the problem of avoiding cleaning
dummy dependent types in the left products in the arities of inductive types.
The left products should be _syntactically_ the same as those of the
constructors. Otherwise, error reporting is incorrect.
Claudio Sacerdoti Coen [Sun, 18 May 2008 08:16:55 +0000 (08:16 +0000)]
Implemented translation of inductive types from the new to the old format.
Claudio Sacerdoti Coen [Sun, 18 May 2008 07:52:55 +0000 (07:52 +0000)]
Serious bug fixed: the max of two universes was computed using the polymorphic
max function of OCaml instead of append!!!
Claudio Sacerdoti Coen [Sun, 18 May 2008 07:49:20 +0000 (07:49 +0000)]
Synch with the paper.
Claudio Sacerdoti Coen [Sun, 18 May 2008 07:42:05 +0000 (07:42 +0000)]
...
Claudio Sacerdoti Coen [Sun, 18 May 2008 07:30:14 +0000 (07:30 +0000)]
Error message improved.
Claudio Sacerdoti Coen [Sun, 18 May 2008 07:25:38 +0000 (07:25 +0000)]
More effective optimization: avoid introducing already implied arcs.
Enrico Tassi [Sat, 17 May 2008 18:50:09 +0000 (18:50 +0000)]
impredicative Set is considered as Prop in the new check implemented by CSC
Claudio Sacerdoti Coen [Sat, 17 May 2008 18:02:51 +0000 (18:02 +0000)]
New check implemented: the sort of each constructor should be constrained by
the sort of its inductive type.
Note: I just realized that nobody implements the check that the left
abstractions of each constructors/inductive type must be exactly the same.
To be implemented.
Claudio Sacerdoti Coen [Sat, 17 May 2008 17:57:58 +0000 (17:57 +0000)]
Missing check implemented: the sort of each constructors should be constrained
by the sort of its inductive type.
Claudio Sacerdoti Coen [Sat, 17 May 2008 15:26:44 +0000 (15:26 +0000)]
The file bug_universi.ma shows a strage case where the ranked universe
graph does not contain any universe for one object that does contain a
user-provided universe. In turns, this make check.ml fail (since no constraint
is defined between Type0, which occurs in the object, and Type1).
Claudio Sacerdoti Coen [Sat, 17 May 2008 15:05:41 +0000 (15:05 +0000)]
Missing whd.
Claudio Sacerdoti Coen [Sat, 17 May 2008 13:21:45 +0000 (13:21 +0000)]
Bug fixed: since circular <= graphs are allowed, added an avoid list to
avoid looping.
Even more code semplification.
Little optimization: adding x <= x does nothing
Claudio Sacerdoti Coen [Sat, 17 May 2008 13:19:22 +0000 (13:19 +0000)]
Bug fixed: only Type < Type1 was declared.
Claudio Sacerdoti Coen [Sat, 17 May 2008 12:59:39 +0000 (12:59 +0000)]
Bug fixed and further code semplification in management of universes.
Claudio Sacerdoti Coen [Sat, 17 May 2008 11:14:46 +0000 (11:14 +0000)]
The code for universes was not correct in many borderline cases.
The new code should be correct. For sure, it is much simpler, shorter,
characterized by better invariants and its interface has less functions.
Enrico Tassi [Fri, 16 May 2008 17:07:06 +0000 (17:07 +0000)]
ranking reports the lest of univs
Enrico Tassi [Fri, 16 May 2008 17:06:29 +0000 (17:06 +0000)]
added new implementation of universes
Enrico Tassi [Fri, 16 May 2008 16:03:01 +0000 (16:03 +0000)]
added name_of_uri
Enrico Tassi [Fri, 16 May 2008 13:23:50 +0000 (13:23 +0000)]
meta VS meta in alpha_eq honors substitution
Enrico Tassi [Fri, 16 May 2008 11:52:59 +0000 (11:52 +0000)]
used ind/coind information in references
Enrico Tassi [Fri, 16 May 2008 11:34:37 +0000 (11:34 +0000)]
types where compared without lookig at test_eq_only
Claudio Sacerdoti Coen [Thu, 15 May 2008 21:40:45 +0000 (21:40 +0000)]
Timings
Enrico Tassi [Thu, 15 May 2008 17:04:07 +0000 (17:04 +0000)]
(Approximated) inference of relevance implemented: an argument X of t is irrelevant
if it has sort Prop and the sort of t is not Prop.
Enrico Tassi [Thu, 15 May 2008 16:09:43 +0000 (16:09 +0000)]
First implementation of irrelevance in conversion.
Enrico Tassi [Thu, 15 May 2008 16:09:17 +0000 (16:09 +0000)]
New function get_relevance and new (not exported) function get_checked_decl.
Enrico Tassi [Thu, 15 May 2008 15:47:57 +0000 (15:47 +0000)]
New function list_forall_default3. 3 euros to the first one that reuses this function
(not artificially)
Enrico Tassi [Thu, 15 May 2008 15:08:57 +0000 (15:08 +0000)]
Bug fixed in computation of heights: a constant must have height greater than its constant__s
Enrico Tassi [Thu, 15 May 2008 14:12:21 +0000 (14:12 +0000)]
Implementation of calculation of heights.
Enrico Tassi [Thu, 15 May 2008 12:45:30 +0000 (12:45 +0000)]
Typo fixed.
Enrico Tassi [Thu, 15 May 2008 12:39:00 +0000 (12:39 +0000)]
Major code semplification and bugs removed (thanks to a better invariant):
small_delta_step always put the terms in WHNF, even if it can do that with delta > 0.
Terms in WHNF, delta=0 that are not head-alpha convertible and tail-machine convertible
are not convertible.
Andrea Asperti [Thu, 15 May 2008 10:08:00 +0000 (10:08 +0000)]
Removed two args from psubst.
Enrico Tassi [Thu, 15 May 2008 09:24:19 +0000 (09:24 +0000)]
height of constants properly handled
Claudio Sacerdoti Coen [Wed, 14 May 2008 17:41:33 +0000 (17:41 +0000)]
list_iter2_default_value moved to HExtlib. 1 euro to the first one that will
re-use it (not artificially)
Claudio Sacerdoti Coen [Wed, 14 May 2008 17:16:07 +0000 (17:16 +0000)]
eat_lambdas and eat_or_subst_lambdas taken out of the big recursion.
In principle, we could move them to nCicUtils. Maybe this should be done.
Claudio Sacerdoti Coen [Wed, 14 May 2008 17:11:19 +0000 (17:11 +0000)]
debruijn simplified. It could go in nCicUtils, but why should we do that?
Claudio Sacerdoti Coen [Wed, 14 May 2008 16:49:25 +0000 (16:49 +0000)]
Bug fixed: types were check for conversion in the wrong context.
Claudio Sacerdoti Coen [Wed, 14 May 2008 16:35:55 +0000 (16:35 +0000)]
We forgot an important check: the declared and expected type in definitions in
the context must be checked for convertibility.
Enrico Tassi [Wed, 14 May 2008 16:27:16 +0000 (16:27 +0000)]
partial implementation of reduction up to a given height
Enrico Tassi [Wed, 14 May 2008 16:26:41 +0000 (16:26 +0000)]
fixed error message
Claudio Sacerdoti Coen [Wed, 14 May 2008 16:06:45 +0000 (16:06 +0000)]
New checks for well-formedness of metasenvs and substs.
Claudio Sacerdoti Coen [Wed, 14 May 2008 15:36:26 +0000 (15:36 +0000)]
nuri_of_ouri, ouri_of_nuri, reference_of_ouri, ouri_of_reference moved
to NCic2OCic or to OCic2NCic.\f The kernel is now clean of conversion functions.
Claudio Sacerdoti Coen [Wed, 14 May 2008 15:07:54 +0000 (15:07 +0000)]
Nicer graph.
Claudio Sacerdoti Coen [Wed, 14 May 2008 15:01:31 +0000 (15:01 +0000)]
map_hash moved to HExtlib
Claudio Sacerdoti Coen [Wed, 14 May 2008 14:58:05 +0000 (14:58 +0000)]
New function map_hash.
Claudio Sacerdoti Coen [Wed, 14 May 2008 14:55:57 +0000 (14:55 +0000)]
Generation of dot file.
Claudio Sacerdoti Coen [Wed, 14 May 2008 13:45:41 +0000 (13:45 +0000)]
New licence used uniformly everywhere.
Ferruccio Guidi [Tue, 13 May 2008 19:03:34 +0000 (19:03 +0000)]
we added a link to lambda-delta home page in the hope that this page gets eventually indexed by google :)
Claudio Sacerdoti Coen [Tue, 13 May 2008 17:32:34 +0000 (17:32 +0000)]
One more bug fixed: we tried to perform List.nth on negative indexes.
Claudio Sacerdoti Coen [Tue, 13 May 2008 17:31:40 +0000 (17:31 +0000)]
More exceptions captured.
Claudio Sacerdoti Coen [Tue, 13 May 2008 17:27:08 +0000 (17:27 +0000)]
Bug fixed in pretty-printing of free Rels.
Claudio Sacerdoti Coen [Tue, 13 May 2008 17:07:07 +0000 (17:07 +0000)]
Never commit before trying to compile... stupid typo fixed.
Claudio Sacerdoti Coen [Tue, 13 May 2008 17:05:08 +0000 (17:05 +0000)]
Used old kernel exception in place of brand new one.
Claudio Sacerdoti Coen [Tue, 13 May 2008 16:53:33 +0000 (16:53 +0000)]
- is_closed removed from the kernel (it used to make a loose test, replaced
with a tighter one)
- does_not_occur no longer calls lift (performance improvement)
- does_not_occur: bug fixed in management of Metas
Claudio Sacerdoti Coen [Tue, 13 May 2008 16:51:14 +0000 (16:51 +0000)]
Library factorized out.
Enrico Tassi [Tue, 13 May 2008 16:47:54 +0000 (16:47 +0000)]
wrong test equality only fixed
Claudio Sacerdoti Coen [Tue, 13 May 2008 10:41:53 +0000 (10:41 +0000)]
Type of conjecture and subst_entry made uniform.
Enrico Tassi [Tue, 13 May 2008 10:01:10 +0000 (10:01 +0000)]
convertibility was taking a metasenv but not using it
Claudio Sacerdoti Coen [Tue, 13 May 2008 09:40:21 +0000 (09:40 +0000)]
Added boolean "is_inductive" to NReference.Ind
Claudio Sacerdoti Coen [Mon, 12 May 2008 21:41:57 +0000 (21:41 +0000)]
trust is always false by default
Claudio Sacerdoti Coen [Mon, 12 May 2008 21:41:02 +0000 (21:41 +0000)]
trust implemented, but in the nCicTypeChecker!
Claudio Sacerdoti Coen [Mon, 12 May 2008 21:24:11 +0000 (21:24 +0000)]
New implementation of CicEnvironment:
a) I have splitted out nCicLibrary from nCicEnvironment
b) Recursion changed: the nCicTypechecker now registers itself to the
nCicEnvironment. Then it is the nCicEnvironment.get_obj that retrieves
an object from the library before calling the registered typecheck_obj
c) The logger is now called every time NCicTypechecker.get_obj is invoked,
both by the nCicEnvironment and by another module
TODO: implement trustness
Enrico Tassi [Mon, 12 May 2008 15:11:14 +0000 (15:11 +0000)]
height is stored in the reference, no need to fetch the object from the environment
Enrico Tassi [Sat, 10 May 2008 11:54:26 +0000 (11:54 +0000)]
fixed english
Enrico Tassi [Sat, 10 May 2008 11:53:00 +0000 (11:53 +0000)]
valid xml
Enrico Tassi [Sat, 10 May 2008 10:49:58 +0000 (10:49 +0000)]
...
Enrico Tassi [Sat, 10 May 2008 10:48:22 +0000 (10:48 +0000)]
...
Enrico Tassi [Sat, 10 May 2008 10:39:29 +0000 (10:39 +0000)]
released 0.5.0
Enrico Tassi [Sat, 10 May 2008 10:28:29 +0000 (10:28 +0000)]
...
Enrico Tassi [Sat, 10 May 2008 10:27:59 +0000 (10:27 +0000)]
...
Enrico Tassi [Sat, 10 May 2008 10:14:42 +0000 (10:14 +0000)]
some files orphaned
Enrico Tassi [Fri, 9 May 2008 16:45:03 +0000 (16:45 +0000)]
...
Enrico Tassi [Fri, 9 May 2008 12:05:57 +0000 (12:05 +0000)]
a missing prime
Claudio Sacerdoti Coen [Fri, 9 May 2008 11:40:29 +0000 (11:40 +0000)]
Bug fixed: the domain of a LetRec was only made by the last function in the
mutual block.
Claudio Sacerdoti Coen [Wed, 7 May 2008 22:43:37 +0000 (22:43 +0000)]
Update after some more bug fixing.
Claudio Sacerdoti Coen [Wed, 7 May 2008 22:01:04 +0000 (22:01 +0000)]
Partially reverted bad merge by Enrico that re-introduced an un-conditioned
whd in guarded_by_destructors.
Claudio Sacerdoti Coen [Mon, 5 May 2008 21:01:37 +0000 (21:01 +0000)]
More bugs fixed.
Enrico Tassi [Mon, 5 May 2008 17:02:26 +0000 (17:02 +0000)]
get_check_fix and cofix unified, bug regarding debruijnation of constructors types fixed everywhere.
the constructor typs are debruinated wrt some inductive type uri an not wrt
their own, thus a wrong context was created. guarded by constructors ported from the old kernel.
Enrico Tassi [Mon, 5 May 2008 16:43:04 +0000 (16:43 +0000)]
get_checked_indtys can take a constructor reference
Enrico Tassi [Mon, 5 May 2008 16:42:12 +0000 (16:42 +0000)]
added mk_cofix
Enrico Tassi [Mon, 5 May 2008 16:41:52 +0000 (16:41 +0000)]
let corec
Enrico Tassi [Mon, 5 May 2008 16:41:39 +0000 (16:41 +0000)]
CoFix cache implemented
Enrico Tassi [Mon, 5 May 2008 13:40:34 +0000 (13:40 +0000)]
fix_left_in_constr still broken, ask enrico
Enrico Tassi [Mon, 5 May 2008 13:34:10 +0000 (13:34 +0000)]
guarded_by_constructors implemented, some cleanup here and there.
fix_lefts_in_constr fixed: the inductive type list was returned with
constructors instantiated and debruijned, but with types whose arity was
instantiated with lefts too. This is wrong since we want to use these types to
build a context, that is closed, and will be put at the end of the actual
context since debruijn will make uris point to those terms
Enrico Tassi [Mon, 5 May 2008 13:31:59 +0000 (13:31 +0000)]
removed dead code
Enrico Tassi [Mon, 5 May 2008 11:40:57 +0000 (11:40 +0000)]
...
Claudio Sacerdoti Coen [Sat, 3 May 2008 21:31:45 +0000 (21:31 +0000)]
Bug fixed in handling of explicit named substitutions: it could happen that
explicit named substitution are merged not in the expected order. This happens
comparing the case of an instantiation inside and outside a (nested) section.
Thus I have added back the re-ordering of the explicit named substitution in
CicSubstitution.subst_vars and in CicReduction.unwind_aux. Moreover, I have
added to CicTypechecker.type_of_aux' the check that verifies if an explicit
named substitution is ordered.
Claudio Sacerdoti Coen [Sat, 3 May 2008 14:52:17 +0000 (14:52 +0000)]
Broken XML files either fixed or removed.
Wilmer Ricciotti [Fri, 2 May 2008 13:40:56 +0000 (13:40 +0000)]
Some destruct tactics got broken after last update. Small axiomatization
still included.
Claudio Sacerdoti Coen [Thu, 1 May 2008 17:31:31 +0000 (17:31 +0000)]
More precise classification of failures.
Claudio Sacerdoti Coen [Thu, 1 May 2008 17:30:20 +0000 (17:30 +0000)]
List of all URIS comprising:
- coq objects
- matita standard library
- all matita tests and matita contribs that compile today
Claudio Sacerdoti Coen [Thu, 1 May 2008 17:16:10 +0000 (17:16 +0000)]
More options can now be set at the beginning of the file.
Claudio Sacerdoti Coen [Thu, 1 May 2008 14:11:07 +0000 (14:11 +0000)]
Last (???) bug about variables with bodies fixed: we do no longer create
applications with less than 2 args.
Claudio Sacerdoti Coen [Thu, 1 May 2008 13:59:06 +0000 (13:59 +0000)]
Another case where the presence of variables with bodies resulted in the
creation of an application without arguments.
Enrico Tassi [Thu, 1 May 2008 12:44:26 +0000 (12:44 +0000)]
tagging 0.5.0-rc1
Claudio Sacerdoti Coen [Thu, 1 May 2008 10:57:00 +0000 (10:57 +0000)]
Bug fixed: application without arguments generated in case of an ens made only
of variables with bodies.
Claudio Sacerdoti Coen [Thu, 1 May 2008 10:45:19 +0000 (10:45 +0000)]
New bug found.