Bug fixed: when iota-expanding fixpoints the context was sometimes augmented
with the new types, even if the expansion already de-lifted the function body.
The user interface for the completeSearchPattern query has been improved.
It is now "easy" to query for induction principles, for example.
Much work still to do.
1. depth constraints for Rels and Sorts are now optional
2. "can" constraints renamed to "only" constraints
3. several bug fixes:
* the order of arguments for Sub in the second phase of the query was wrong
* some identifiers in the generated query were unbound
Bug fixed: the lhs part of an explicit name substitution was not generated
as an m:ci, but as simple text ===> no m:mi and no hyperlink were generated.
* mQueryLevels interface clean-up
* gui improvement: the precision level of the SearchPattern query is now
chosen by the user. Previously it was guessed.
* fold_tac has now a new parameter, which is the reduction to ``undo''
* The Fold button is replaced with Fold_whd and Fold_reduce
* Minor interfaces modifications
First working version of the possibility to introduce new inductive type
definitions. Many checks have not been implemented yet and the interface
allows you to progress to further stages even if the input is incorrect.
Nevertheless, if the input is correct it will be accepted by the kernel,
saved to disk and notified to the getter.
put_inductive_definition implemented and exposed.
It is a very UNSAFE solution to the problem of computing inner-types of
non-debrujined mutual inductive types (whose constructors referes to
the not-yet-defined inductive type block): you can use this function to
add the block to the environment; then you compute the inner-types; and
finally you save the object and register it to the getter.
typecheck_mutual_inductive_defs exposed.
It is used to type-check and inductive definition which has no URI associated
to it (i.e. it is not managed by the getter; e.g. when it is not saved yet
since we do not know if it is well-typed).
Michele Galatà [Tue, 3 Dec 2002 11:02:33 +0000 (11:02 +0000)]
Added new tactics: Exists, Split, Assumption, Absurd, Generalize (doesn't work)
Moved ElimType from ring.ml to variousTactics.ml
Moved Contradiction from fourierR.ml to variousTactics.ml
First implementation of the new generalized SearchPattern on the whole
type (not only the conclusion). Despite the file name, no levels have
been implemented so far.
Brand new implementation based on functors taking a strategy in input.
Several different strategies have been implemented. Unfortunately many
of them are incomparable and there are critical examples where only some
of them terminate in reasonable time.
Removing the functor/module stuff does not bring any sensible performance
improvement even for simple strategies (where most of the functions are
just identity fuctions that can be inlined when not crossing functor
boundaries).
Enrico Tassi [Sun, 1 Dec 2002 20:37:14 +0000 (20:37 +0000)]
- now esempi/fourier/ is he dir for all fourier extras
- fourier.cic some tests
- fourier_benchmarks.cic some test computionally interesting
- fourier_make_benchmarks.ml a simple tool to generate big systems of
inequations
lazily ==> call_by_name (since it is really a call_by_name!)
The default is now false (i.e. call_by_value strategy) to make an example
of Fourier application type-check in 8s instead of 1h40m!!!
We also tried a call_by_need strategy (not committed).
The results obtained are so far equivalent to the call_by_value strategy
(that is why we did not commit the code).
* The new query language (now broken) works only on the new DB
helm_mowgli_new_schema.
* InConclusion, InHypothesis and so on are now inserted in the DB with their
namespace.
- catch processing exception which are now reported embedded in html responses
- catch parameter exception which are now reported as bad request responses
- changed default port from 48085 to 58085
- disabled http debugging
WARNING!!!
From now on the V7_3_new_exportation branches of ocaml/mathql and
ocaml/mathql_interpreter are DEPRECATED!!! You must switch back to
the main branch.
Code clean-up: the widget in the lower-left corner is now a widget to input
CIC terms, featuring the following methods:
* get_term
* set_term (issue: what should be its type? So far the input is a string)
* reset
Inteface improvement: the "Edit Aliases..." menu entry now opens a window where
aliases may be entered and modified. I am now going to remove aliases
declaration from the CIC textual parser.
Interface improvement:
- the pages of every notebook are now generated with lazy code
- the interface to choose between several interpretations is now really nice