]> matita.cs.unibo.it Git - helm.git/blob - matita/matita/dist/ChangeLog
we now use non-telescopic substitution in parallel reduction, rather
[helm.git] / matita / matita / dist / ChangeLog
1 0.5.8 - 02/12/2009 - toward the 1.x series
2         * Complete rewriting of paramodulation code (thanks to Maxime Denes),
3           that is abstract over the data type embedded in the fisrt order
4           theory the procedure is able to handle. 
5           Can be used as a stand-alone prover, and partecipated
6           to the CASC22 beating many older systems ;-)
7         * new (compact) kernel:
8           * toplevel fixpoints 
9           * height (inter object dependency) driven conversion
10           * compact metavariable representation
11           * experimental irrelevant arguments handling in convesion
12             (in the spirit of proof irrelevance)
13           * explicit predicative universes
14         * new refiner:
15           * bi-directional type inference
16           * unification hints
17           * implicit vector (expands to the right number of implicits)
18         * new basic tactics:
19           * new type for tactics, with a global view on the ongoing proof
20           * heavily based on the refiner
21           * work with terms labelled with their contexts
22         * new auto (prolog like) proof search tactic:
23           * works on a set of goals
24           * non uniform context support:
25             * arbitrary tactics can be called to attack a goal (hardcoded 
26               at the OCaml level), for now just apply and intro
27         * new installation:
28           * the standard library (now we have two of them) is not
29             distributed pre-compiled
30           * standard library .ma files can be included from everywhere since
31             they are in a standard path
32           * including a file of the standard library triggers its compilation
33             in the user's space
34         * gtksourceview2 based text widget (lablgtk >= 2.14)
35
36 0.5.7 - 15/02/2009 - PĂ doa release
37         * are_convertible bug solved, arguments of application where 
38           compared allowing cumulativity. This allowed to prove Type0=Type1.
39         * cases tactic speedup in the simplest case of an inductive type 
40           hose right parameters have all to be abstracted when the outtype is
41           built
42         * maction support added to output notation (adopted for "=" that 
43           expands to "= \sub T" to show the equality type)
44         * generation of derived lemmas rewritten to be based on hooks that
45           are triggered every definition
46         * composition of coercions fixed, more composite are generated
47         * undo mechanism for coercions remade, should work better
48         * new command "prefer coercion foo" to reorder coercions.
49         * UTF-8 eq classes and virtuals described in the manual and
50           consistently printed in the TeX/UTF-8 table
51         * added a memory system for UTF-8 equivalence classes, so that
52           last choice is remembered and attempted first next time the same
53           eq class is walked trough
54         * some core notation fixed to allow a better setoid-path
55           representation (foo ^-1 changed precedence)
56         * matita manual updated with a section regarding the usage of 
57           the liveCD with the VirtualBox emulator
58         * liveCD fixed to allow to easily mount/unmount real host folders
59           with VirtualBox
60         * ttf-freefont package added to the liveCD together with gucharmap
61         * coercions from convertible types are not inserted for real, they
62           just behave as hints for the unification algorithm
63         * virtuals (eq classes) fixed w.r.t. greek letters
64         * some virtuals added to ease the writing of diamond (<>), box ([])
65           and upper bar (_).
66         * code that generates eliminators fixed to use whd ~delta set to true
67           when counting products, this allows to used definitions as inductive
68           type ariety.
69         * match ... with rendering fixed to break the box containing
70           constructors arguments if needed (i.e. record projections
71           are now almost readable)
72         * fixed pattern matching over ast terms, Ast.Case construct can be
73           matched correctly. Look the o-algebra example if you are
74           intereseted.
75         * Mpadded MathML tag can be used in notation, it allows to overlap
76           symbols reducing the bounding box size 
77
78 0.5.6 - 1/12/2008 - bugfix release
79         * more abstract disambiguation algorithm, simpler instantiation
80           to a different CIC/refiner
81         * natural deduction support improved in the first order case
82         * natural deduction lem rule does now support lemmas 
83           with (up to) 3 premises (multicut rule, displayed as
84           a collapsed tree)
85
86 0.5.5  - 17/11/2008 - bugfix release with students in mind      
87         * by ... we proved fixed to use only the specified lemmas but
88           using full unification inside auto.
89         * new apply rule tactic, that exploits the goal type to
90           disambiguate the input term.
91         * new didactic/ library directory, with support for natural deduction
92           treese.
93
94 0.5.4  - 19/10/2008 - bugfix release    
95         * When a file is opened, the cursor is placed at the begin of the
96           buffer and not atthe end as before
97         * New macro eval
98         * More code in the direction of a fully functional matita status, that
99           improved undo reliability in the parser/notation modules
100         * matitac was seldom compiling up-to-date files, fixed
101         * Memory consumption durin proof construction cut down using Lazy.t
102           proof terms
103         * mstyle support in notation for text color, font size
104         * AutoGui now scales fonts to the correct user-requested size 
105         * Non linear pattern matching from the level of terms to the
106           one of content in interpretation command (if the same variable name
107           is used, the two captured terms must be alpha equivalent to match)
108
109 0.5.3  - 23/7/2008 - bugfix release
110         * many fixes concerning the CProp hiearchy
111         * coercion database simplified
112         * coercion hiding now works properly for coercions to funclass
113         * triangular pullback works better with coercions to the function space
114         * notation for lists fixed to add a break point after the separator
115         * notation for the existential is now user definable
116         * \infrule layout added, allows to display readable fractions
117         * better window for terms grammar and TeX/Unicode
118         * fixed a bug in the positivity check not considering some subterms
119         * fixed some GUI glitches thanks to glade-3
120
121 0.5.2  - 2/7/2008 - better-usability-for-the-working-constructivist release
122         * refinement of match fixed to prevent useless unfolding,
123           head_beta_reduce is used instead of whd ~delta:true
124         * CProp hierarchy, interleaved with type (used to be a single universe)
125         * Notation now allows to set the precedence level of subterms, avoiding
126           unnecessary parenthese
127         * UTF-8 / TeX conversion table is now available in the Help menu
128         * Notation subsystem described in the manual
129         * EBNF term grammar is now available in the View menu (and is in sync with
130           the currently loaded notation)
131         * Rewrite tactic (in hypothesis) now computes the right sort and
132           uses the right equality elimination principle
133         * URI free interpretation and coercion statements (scripts are almost
134           relocatable now)
135         * elim and cases tactic now support a pattern to specify hypotheses that 
136           are generalized before the elimination. 
137
138 0.5.1  - 29/5/2008 - minor bug fix release
139         * visualization of inductive types reports the number of fixed parameters
140         * a wrong context was used to refine fixpoints arguments
141           when trying to optimize out the letin (grep for `AvoidLetIn):
142           (let rec f x = Fix... in f t ---> Fix... t)
143         * auto fixed to prefer goals with metavariables to closed ones,
144           added new syntax to specify the universe "auto by t1, t2, ...",
145                 updated documentation describing all auto parameters
146         * declarative language syntax and documentation ported to the new 
147           auto parameters
148
149 0.5.0  - 9/5/2008 - bugfix release
150         * first release not considered experimental
151
152 0.4.98 - ??/11/2007 - bugfix release
153         * compiles against camlp5 >= 5.0  
154         * changed lablgtksourceview module name since it is now part of lablgtk2
155
156 0.4.97 - 16/11/2007 - initial release