- parser improved: constant uris and variable uris are now handled differently
- the callback function must now return a URI and no more a term
- explicit named substitutions (with syntax { V1 := t1 ; ... ; V2 := t2})
implemented
- for/of attribute no more checked ;-(
- parsing does not require any more the current uri (that was unclear
for CurrentProof)
- as a consequence of the previous change the parser should now be reentrant
- Porting of all the code to the new DTD format (with, among others, explicit
named substitutions)
- Porting to the new version of Pxp
- Porting of the cicReductionMachine code (that was abandoned for a while)
- Removal of all the cooking machinery
- Removal of the optimization (memoization) of the computation of recursive
arguments of constructors. Required to implement the next point. The actual
performance loss is minimal.
- First prototype of an environment with trusting abilities.
Notes: unification is still untested and probably wrong w.r.t. explicit
name substitutions.
Matteo Selmi [Tue, 22 Oct 2002 14:25:56 +0000 (14:25 +0000)]
- removed checkings for objects Definition and Axiom.
- inserted checkings for objects CostantType and ConstantBody.
- modified mode of view params (not "path/varname.var" but "varname").
- modified checkings for term LAMBDA, LETIN, PROD (with insertion of checkings for decl and def when used by these terms)
Better handling of queries. Now both the locate and backward queries give
the user the possibility to disambiguate the answer, and write it in the
input window. Some bugs in the disambiguation process have been fixed.
Finally the output of the query process in the outputhtml window is now
much more verbose.
When locate is used during the lexing phase, it may happen that no URI is
found or more than an URI is found. In those cases a window is now opened
and the user is asked to either enter the URI (if none was found) or
choose from the list of found URIs.
Patch applied to the locate query: when used to retrieve the first inductive
type of a mutual inductive types block, the returned URI is now the URI of
the type (with the fragment identifier!) and not the one of the block (without).
The parser (the lexer indeed) now use the locate query to locate an object
whose identifier is unknown. In ambigous cases, no choice is given to the
user and the usual exception (identifier not found) is raised. It works
only for constants and for the first inductive type of a mutual inductive
type block.
Irene Schena [Wed, 28 Aug 2002 14:57:52 +0000 (14:57 +0000)]
Modified Files:
1)core_grammar.txt grammar.txt query.xml xmathql.dtd: new version
----------------------------------------------------------------------
Many improvements in tactics (and tactical) representation:
1) tactics are no more functions from state to state, but functions from
proof * goal to proof * goal list where the goal list is the list of
new goals generated
2) proof and goal are no more optional
3) all the tactics have been slightly changed so that their type is now
param1 -> ... -> paramn -> ProofEngineTypes.tactic
4) the tactical thens has been implemented
Other changes:
1) more .mli committed
2) comments and copyright notices added where missing
mathQL modified, stderr corrected to stdout im mathql_interpreter,
new lavel assignment procedure in mQueryGenerator (uses degrees),
textual interface for mQueryGenerator added
Locate query changed again. There is a mismatch between Domenico's
implementation and Ferruccio's semantics. The code now conforms to
Domenico's implementation and seems to work.
Conversion rules are now correctly handled also for atoms.
The only residual problem is that some proofs + side-proofs
where the proof is an atom with different inner-types are
rendered as a proof with two sub-proofs which is innatural.