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