]>
matita.cs.unibo.it Git - helm.git/log
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
Claudio Sacerdoti Coen [Fri, 17 Jul 2009 13:48:12 +0000 (13:48 +0000)]
Non reproducible.
Claudio Sacerdoti Coen [Fri, 17 Jul 2009 13:46:14 +0000 (13:46 +0000)]
Some bugs already fixed.
Claudio Sacerdoti Coen [Fri, 17 Jul 2009 13:41:42 +0000 (13:41 +0000)]
Bugs (mostly from Oliboni)
Claudio Sacerdoti Coen [Fri, 17 Jul 2009 13:39:19 +0000 (13:39 +0000)]
Bug fixed: singleton application.
Claudio Sacerdoti Coen [Fri, 17 Jul 2009 13:31:13 +0000 (13:31 +0000)]
New suffixes for elimination principles:
_ind (towards Prop)
_rect_UNIVERSENAME (towards Type)
Claudio Sacerdoti Coen [Fri, 17 Jul 2009 13:15:23 +0000 (13:15 +0000)]
1) added a function to retrieve all the universes currently in use
2) INCONSISTENCY BUG FIXED: it was possible to _redefine_ an already defined
constant. Thus it was very easy to prove False!
Cosimo Oliboni [Fri, 17 Jul 2009 12:41:15 +0000 (12:41 +0000)]
freescale porting, work in progress
Claudio Sacerdoti Coen [Fri, 17 Jul 2009 08:58:18 +0000 (08:58 +0000)]
Generation of inductive principle for Type[0].
The way the code has been branched is very messy: we generate an AST and
from it a new command NObj that is recursively processed in GrafiteEngine.
However, disambiguation needs the alias. Thus the aliases for the inductive
principle are immediately generated and added while the others are delayed.
Cosimo Oliboni [Thu, 16 Jul 2009 13:26:14 +0000 (13:26 +0000)]
freescale porting, work in progress
denes [Thu, 16 Jul 2009 12:40:06 +0000 (12:40 +0000)]
Sorted version of eligible problems list
denes [Thu, 16 Jul 2009 11:23:59 +0000 (11:23 +0000)]
Disabled age selection and ad hoc goal weight computation
Enrico Tassi [Wed, 15 Jul 2009 16:34:34 +0000 (16:34 +0000)]
ncopy partially implemented and fixed (a ?) chain to print elimintaors
Wilmer Ricciotti [Wed, 15 Jul 2009 13:29:33 +0000 (13:29 +0000)]
Fixed dependency function, which was lacking the code for recursive calls.
Enrico Tassi [Wed, 15 Jul 2009 11:54:04 +0000 (11:54 +0000)]
...
Enrico Tassi [Wed, 15 Jul 2009 11:42:46 +0000 (11:42 +0000)]
match_coercion gives back the saturations, not the arity:
`f ??????? x ???? y z` has to be rendered as `x y z`
<-----> <-->
cpos stat
Cosimo Oliboni [Wed, 15 Jul 2009 11:39:18 +0000 (11:39 +0000)]
freescale porting, work in progress
denes [Tue, 14 Jul 2009 14:36:56 +0000 (14:36 +0000)]
Fixed Option type error (OCaml bug)
denes [Tue, 14 Jul 2009 14:33:53 +0000 (14:33 +0000)]
.
denes [Tue, 14 Jul 2009 14:33:29 +0000 (14:33 +0000)]
.
Cosimo Oliboni [Tue, 14 Jul 2009 03:27:50 +0000 (03:27 +0000)]
freescale porting to ng, work in progress
Enrico Tassi [Mon, 13 Jul 2009 18:52:29 +0000 (18:52 +0000)]
better spacing
Enrico Tassi [Mon, 13 Jul 2009 13:48:35 +0000 (13:48 +0000)]
statistics are used, when possible, to sort
constants
denes [Mon, 13 Jul 2009 10:03:23 +0000 (10:03 +0000)]
Added statistics printings
denes [Mon, 13 Jul 2009 10:02:10 +0000 (10:02 +0000)]
Added statistics module
Claudio Sacerdoti Coen [Mon, 13 Jul 2009 09:13:12 +0000 (09:13 +0000)]
First proof finished (some tactics still not working).
Enrico Tassi [Mon, 13 Jul 2009 08:56:24 +0000 (08:56 +0000)]
matitaprover is now flexible enough to allow the computation of statistics on
the clauses and then choose an ordering to be used for the proof search
Claudio Sacerdoti Coen [Mon, 13 Jul 2009 03:27:46 +0000 (03:27 +0000)]
Coercion hiding implemented. Notes:
1) hiding of coercions whose return type is a product is not done correctly,
since the "sats" information seem to have changed semantics. Enrico, is it
a bug or just a new semantics?
2) coercion matching has been implemented trivially (O(n)) in NCicCoercion.
Here I need a special version of a discrimination tree. Enrico, do we have
one already or is there a way to simulate it?
Cosimo Oliboni [Mon, 13 Jul 2009 01:39:16 +0000 (01:39 +0000)]
freescale translation (work in progress)