]>
matita.cs.unibo.it Git - helm.git/log
Cosimo Oliboni [Wed, 5 Aug 2009 13:23:02 +0000 (13:23 +0000)]
freescale porting, work in progress
Cosimo Oliboni [Wed, 5 Aug 2009 11:03:09 +0000 (11:03 +0000)]
freescale porting, work in progress
Cosimo Oliboni [Wed, 5 Aug 2009 08:35:30 +0000 (08:35 +0000)]
freescale porting, work in progress
Cosimo Oliboni [Tue, 4 Aug 2009 22:12:22 +0000 (22:12 +0000)]
freescale porting, work in progress
Claudio Sacerdoti Coen [Tue, 4 Aug 2009 21:22:30 +0000 (21:22 +0000)]
More Gonthierism. Are they the right solution?
Claudio Sacerdoti Coen [Tue, 4 Aug 2009 19:53:30 +0000 (19:53 +0000)]
...
Claudio Sacerdoti Coen [Tue, 4 Aug 2009 19:47:46 +0000 (19:47 +0000)]
Hmmm, quite broken now.
Cosimo Oliboni [Tue, 4 Aug 2009 17:43:23 +0000 (17:43 +0000)]
freescale porting, work in progress
Cosimo Oliboni [Tue, 4 Aug 2009 16:24:31 +0000 (16:24 +0000)]
freescle porting, work in progress
Cosimo Oliboni [Tue, 4 Aug 2009 12:30:22 +0000 (12:30 +0000)]
freescale porting, work in progress
Cosimo Oliboni [Mon, 3 Aug 2009 16:24:22 +0000 (16:24 +0000)]
freescale porting, work in progress
Claudio Sacerdoti Coen [Sat, 1 Aug 2009 16:50:02 +0000 (16:50 +0000)]
Smaller formulae.
Cosimo Oliboni [Sat, 1 Aug 2009 10:49:14 +0000 (10:49 +0000)]
freescale porting, work in progress
Cosimo Oliboni [Fri, 31 Jul 2009 23:06:23 +0000 (23:06 +0000)]
freescale porting, work in progress
Claudio Sacerdoti Coen [Fri, 31 Jul 2009 17:32:31 +0000 (17:32 +0000)]
Setoids, setoids1, sets, and the like. The mess begins.
Note: the (partially) interesting part of the development is that canonical
structures (provided by unification hints) allow to perform setoid rewriting
by hieroglyphs without having to use "rich operators". On the other hand, after
the application what you get is always an enriched structure and thus either
it is normalized away or the theory becomes a mix of rich/unrich. The latter
phenomena happens anyway because, in algebraic structures, you need to put
things in rich structures to have all the properties you need.
algebra/magmas does not work because refinement of projection is too weak
Claudio Sacerdoti Coen [Fri, 31 Jul 2009 13:15:07 +0000 (13:15 +0000)]
Bad patch reverted (in error message).
Claudio Sacerdoti Coen [Fri, 31 Jul 2009 13:07:53 +0000 (13:07 +0000)]
Bug fixed: one case of too many arguments was not detected and used to diverge.
Claudio Sacerdoti Coen [Fri, 31 Jul 2009 09:39:28 +0000 (09:39 +0000)]
Serious bug fixed: uris were not refreshed when loading coercions.
Claudio Sacerdoti Coen [Fri, 31 Jul 2009 09:03:22 +0000 (09:03 +0000)]
Record projections are now defined as fixpoints in order to block
delta-expansion when the argument is not a constructor.
Claudio Sacerdoti Coen [Fri, 31 Jul 2009 09:02:31 +0000 (09:02 +0000)]
\ldots are now used in nelim and ncases
Claudio Sacerdoti Coen [Fri, 31 Jul 2009 09:01:53 +0000 (09:01 +0000)]
Pp fixed in order to obtain read-back.
Claudio Sacerdoti Coen [Thu, 30 Jul 2009 14:56:18 +0000 (14:56 +0000)]
1) \ldots here and there
Where they are not used, it means they do not work!
2) napply/etc. now add \ldots at the end by default
Claudio Sacerdoti Coen [Thu, 30 Jul 2009 12:36:46 +0000 (12:36 +0000)]
More napply \ldots => napply
Claudio Sacerdoti Coen [Thu, 30 Jul 2009 12:23:20 +0000 (12:23 +0000)]
napply now automatically inserts \ldots at the end
Claudio Sacerdoti Coen [Thu, 30 Jul 2009 12:18:26 +0000 (12:18 +0000)]
More \ldots.
Claudio Sacerdoti Coen [Thu, 30 Jul 2009 10:22:55 +0000 (10:22 +0000)]
\ldots used here and there. Cool!
Claudio Sacerdoti Coen [Thu, 30 Jul 2009 10:12:02 +0000 (10:12 +0000)]
First implementation of \ldots.
Note: the implementation is now inefficient since implicits are generated and
mapped to metavariables again and again and again. It would be better to handle
\ldots as a coercion from \forall x:A.B(x) to B(?).
Claudio Sacerdoti Coen [Thu, 30 Jul 2009 10:11:09 +0000 (10:11 +0000)]
...
Claudio Sacerdoti Coen [Thu, 30 Jul 2009 10:01:44 +0000 (10:01 +0000)]
Don't reinvent the wheel.
denes [Wed, 29 Jul 2009 16:41:16 +0000 (16:41 +0000)]
Added benchmarks
Cosimo Oliboni [Wed, 29 Jul 2009 16:30:44 +0000 (16:30 +0000)]
freescale porting, work in progress
Andrea Asperti [Wed, 29 Jul 2009 15:56:18 +0000 (15:56 +0000)]
New demodulation (innermost, optimized to avoid reducing already normalized
subterms).
Andrea Asperti [Wed, 29 Jul 2009 15:53:44 +0000 (15:53 +0000)]
Changed the ordering of rels, and the introduction of hypothesis to get
a version closer to the standalone prover.
Andrea Asperti [Wed, 29 Jul 2009 13:25:46 +0000 (13:25 +0000)]
Lazy strings
-This line, and those below, will be ignored--
paramod.ml
Andrea Asperti [Wed, 29 Jul 2009 09:16:39 +0000 (09:16 +0000)]
Added the benchmark with the new demodulation function.
Claudio Sacerdoti Coen [Tue, 28 Jul 2009 15:45:42 +0000 (15:45 +0000)]
"..." -> "\ldots" for implicit vectors
Claudio Sacerdoti Coen [Tue, 28 Jul 2009 15:36:18 +0000 (15:36 +0000)]
1) Some more work for vector implicits.
2) Vector implicits can be used only in argument position.
Claudio Sacerdoti Coen [Tue, 28 Jul 2009 15:17:51 +0000 (15:17 +0000)]
Introduction of vectors of implicit (only for NG).
Proposed concrete syntax: "..."
denes [Tue, 28 Jul 2009 09:33:00 +0000 (09:33 +0000)]
New reference benchmark with CPU Time
denes [Mon, 27 Jul 2009 17:20:16 +0000 (17:20 +0000)]
Removed meaningless time information
denes [Mon, 27 Jul 2009 17:19:43 +0000 (17:19 +0000)]
Removed internal default timeout
Added TreeLimitedRun (CASC) script to run_on_a_list
Claudio Sacerdoti Coen [Mon, 27 Jul 2009 13:13:45 +0000 (13:13 +0000)]
Stupid bug fixed: the test to detect Uncertain cases was simply reverted.
denes [Mon, 27 Jul 2009 12:49:02 +0000 (12:49 +0000)]
Removed old logs
Claudio Sacerdoti Coen [Mon, 27 Jul 2009 12:46:08 +0000 (12:46 +0000)]
Useless "let module" removed.
Claudio Sacerdoti Coen [Mon, 27 Jul 2009 12:25:54 +0000 (12:25 +0000)]
Since I guess the divergence bug is fixed, I activate the test again.
Claudio Sacerdoti Coen [Mon, 27 Jul 2009 12:24:52 +0000 (12:24 +0000)]
Serious bug fixed: because of lazy evaluation of !require1, the function could
diverge.
Claudio Sacerdoti Coen [Mon, 27 Jul 2009 10:31:40 +0000 (10:31 +0000)]
setoids.ma split into setoids.ma + setoids1.ma
Claudio Sacerdoti Coen [Mon, 27 Jul 2009 10:18:47 +0000 (10:18 +0000)]
topology/igt.ma (???) |-> sets/setoids.ma
Claudio Sacerdoti Coen [Mon, 27 Jul 2009 10:04:52 +0000 (10:04 +0000)]
...
denes [Mon, 27 Jul 2009 09:35:18 +0000 (09:35 +0000)]
Moved benchmarks to new folder
Claudio Sacerdoti Coen [Fri, 24 Jul 2009 22:19:37 +0000 (22:19 +0000)]
It works better now.
Claudio Sacerdoti Coen [Fri, 24 Jul 2009 22:06:11 +0000 (22:06 +0000)]
...
Claudio Sacerdoti Coen [Fri, 24 Jul 2009 22:05:44 +0000 (22:05 +0000)]
No more hand-made coercions.
Claudio Sacerdoti Coen [Fri, 24 Jul 2009 22:05:29 +0000 (22:05 +0000)]
Debugging code removed.
Claudio Sacerdoti Coen [Fri, 24 Jul 2009 22:05:07 +0000 (22:05 +0000)]
Record fields declared as coercions as now really declared as coercions.
Claudio Sacerdoti Coen [Fri, 24 Jul 2009 21:49:56 +0000 (21:49 +0000)]
Beta-expansion was avoided as soon as one argument was flexible.
This lead to a different behaviour in the following two unification problems:
(\lambda_.?) ? =?= T vs ? ? =?= T
or, equivalently
?[?] =?= T
The fix is very easy: we always perform beta-expansion and delifting will
take care of ignoring the flexible "arguments", both during beta-expansion
and during the unification that follows.
Claudio Sacerdoti Coen [Fri, 24 Jul 2009 21:25:13 +0000 (21:25 +0000)]
...
Claudio Sacerdoti Coen [Fri, 24 Jul 2009 21:24:46 +0000 (21:24 +0000)]
Function to map NCic.term to CicNotationPt.term finished.
Note: it is almost identical to ncic_of_ast0, but it uses a different data
type for contexts that allow to perform "substitution" in a single operation.
Moreover, the terms that are substituted are CicNotationPt.terms and not
NCic.terms. The two codes really ought to be unified.
Claudio Sacerdoti Coen [Fri, 24 Jul 2009 21:23:19 +0000 (21:23 +0000)]
Bug (found during code review) fixed (but not tested and bug never re-produced):
wrong context passed around.
Claudio Sacerdoti Coen [Thu, 23 Jul 2009 20:42:15 +0000 (20:42 +0000)]
...
Cosimo Oliboni [Thu, 23 Jul 2009 18:18:28 +0000 (18:18 +0000)]
freescale porting, work in progress
Cosimo Oliboni [Thu, 23 Jul 2009 12:13:26 +0000 (12:13 +0000)]
freescale porting, work in progress
Claudio Sacerdoti Coen [Wed, 22 Jul 2009 16:46:04 +0000 (16:46 +0000)]
Elimination principles are now processed in O(1) again
Claudio Sacerdoti Coen [Wed, 22 Jul 2009 16:39:32 +0000 (16:39 +0000)]
Major speed-up: meta-chains are now expanded during restriction to avoid
creating longer ones and to avoid restricting twice the same conjecture.
denes [Wed, 22 Jul 2009 15:43:57 +0000 (15:43 +0000)]
Fixed test for invertibility
Claudio Sacerdoti Coen [Wed, 22 Jul 2009 15:13:59 +0000 (15:13 +0000)]
...
Claudio Sacerdoti Coen [Wed, 22 Jul 2009 15:10:50 +0000 (15:10 +0000)]
1) PTS simplified
2) several eliminiation principles and projections are now automatically generated
denes [Wed, 22 Jul 2009 13:14:16 +0000 (13:14 +0000)]
Now using lazy strings for debug printings
Claudio Sacerdoti Coen [Wed, 22 Jul 2009 11:20:02 +0000 (11:20 +0000)]
...
Claudio Sacerdoti Coen [Wed, 22 Jul 2009 11:16:21 +0000 (11:16 +0000)]
nelim fixed
Claudio Sacerdoti Coen [Wed, 22 Jul 2009 11:15:41 +0000 (11:15 +0000)]
leftno was List.length rights :-)
Claudio Sacerdoti Coen [Wed, 22 Jul 2009 09:24:55 +0000 (09:24 +0000)]
Almost ready to implement coercion declaration for record fields. But how?
Cosimo Oliboni [Tue, 21 Jul 2009 22:37:37 +0000 (22:37 +0000)]
freescale porting, work in progress
Claudio Sacerdoti Coen [Tue, 21 Jul 2009 20:25:12 +0000 (20:25 +0000)]
1) record projections are now automatically generated
2) incomplete code commented out
Claudio Sacerdoti Coen [Tue, 21 Jul 2009 20:21:22 +0000 (20:21 +0000)]
Debugging code removed.
Claudio Sacerdoti Coen [Tue, 21 Jul 2009 20:20:18 +0000 (20:20 +0000)]
Record projections are now automatically generated for NG.
Note: I have implemented a partial function from NCic.term to
CicNotationPt.term. Is there already a similar function? Where should it be
moved?
denes [Tue, 21 Jul 2009 15:38:17 +0000 (15:38 +0000)]
Implemented handling of Invertible equalities
Fixed nasty bug in inferences for Incomparable equalities
Enrico Tassi [Mon, 20 Jul 2009 21:38:04 +0000 (21:38 +0000)]
sorted modules
Claudio Sacerdoti Coen [Mon, 20 Jul 2009 19:43:54 +0000 (19:43 +0000)]
Debugging printf removed
Claudio Sacerdoti Coen [Mon, 20 Jul 2009 19:43:42 +0000 (19:43 +0000)]
nrewrite now uses the appropriate principle when going from right to left
Claudio Sacerdoti Coen [Mon, 20 Jul 2009 19:36:04 +0000 (19:36 +0000)]
nrewrite now working
Claudio Sacerdoti Coen [Mon, 20 Jul 2009 19:23:43 +0000 (19:23 +0000)]
...
denes [Mon, 20 Jul 2009 18:06:07 +0000 (18:06 +0000)]
Removed status printing by processes
denes [Mon, 20 Jul 2009 17:58:07 +0000 (17:58 +0000)]
Fixed multiple printing
Wilmer Ricciotti [Mon, 20 Jul 2009 17:12:17 +0000 (17:12 +0000)]
Final version, submitted to CASC-22.
Wilmer Ricciotti [Mon, 20 Jul 2009 17:07:00 +0000 (17:07 +0000)]
added a flag for age selection
Claudio Sacerdoti Coen [Mon, 20 Jul 2009 16:30:26 +0000 (16:30 +0000)]
Very serious bug fixed in unification, but the fix is very ugly.
Explanation: we have reduced the case ? x1 .. xn to the case
?[x1,...,xn] by mean of lambda-abstractions. However, these need to be
typed. The way we used to type them was with non-dependent types. Thus they
failed in almost all dependent cases (like rewrite).
This fix seems to work and uses a few lines of code, but it requires a call
to the unifier which is VEEERY bad.
Debugging prints still to be removed.
Claudio Sacerdoti Coen [Mon, 20 Jul 2009 16:25:26 +0000 (16:25 +0000)]
1) The NG kernel now accepts only usage of declared universes
2) Bug (badly) fixed in NCicElim: it used to generate undeclared universe
names.
denes [Mon, 20 Jul 2009 16:07:51 +0000 (16:07 +0000)]
One-side indexing for commutativity
denes [Mon, 20 Jul 2009 11:22:28 +0000 (11:22 +0000)]
No demod call on functionnal symbols
Claudio Sacerdoti Coen [Mon, 20 Jul 2009 09:57:32 +0000 (09:57 +0000)]
1) ppmetasenv and ppcontext to reduce the amount of printed information during
debugging
2) BUG FIXED: boxes (in particular out_scope ones) could happear in the
substitution after unification. In particular, this happened when the goal
had the form H: False |- C and we tried to "nelim H". After the
unification, some meta ?1 was instantiated with ?os where ?os := C. This
triggered a unification C =?= ?1 before the end of the tactic (hence
before the apply_subst). As a result, the ad-hoc unification case for
in_scope/out_scope was triggered on inputs of the bad shape and an assert
false was raised.
Cosimo Oliboni [Sun, 19 Jul 2009 21:18:32 +0000 (21:18 +0000)]
freescale porting, work in progress
Claudio Sacerdoti Coen [Fri, 17 Jul 2009 20:18:04 +0000 (20:18 +0000)]
...
Claudio Sacerdoti Coen [Fri, 17 Jul 2009 20:04:36 +0000 (20:04 +0000)]
nelim now uses the appropriate _rect_XXX elimination principle
Claudio Sacerdoti Coen [Fri, 17 Jul 2009 19:51:37 +0000 (19:51 +0000)]
1) the user is notified when a new object is defined
2) (very ugly) "detection" of elimination principles that cannot be defined
Claudio Sacerdoti Coen [Fri, 17 Jul 2009 19:28:48 +0000 (19:28 +0000)]
More info to refine empty types elimination.
Claudio Sacerdoti Coen [Fri, 17 Jul 2009 19:27:32 +0000 (19:27 +0000)]
Old code commented out.
Claudio Sacerdoti Coen [Fri, 17 Jul 2009 14:06:20 +0000 (14:06 +0000)]
Generation of principles is now atomic.
Claudio Sacerdoti Coen [Fri, 17 Jul 2009 14:05:29 +0000 (14:05 +0000)]
Debugging code commented out.
Enrico Tassi [Fri, 17 Jul 2009 13:57:06 +0000 (13:57 +0000)]
add comment