simplified coercDb implementation with additional info about the position of
the coerced argument. Now (C ??? x ??? y z) is printed as (x y z) when C is a
coercion and ? are implicits or saturations generated to apply the coercion to
x.
New case in unification, when there is a triangular pullback and the
coerced is not flexible an unfolding of the composed coercion is attempted.
this helps in the case:
C ??? X ??? y ? +?+ C1 ??? (C2 ??? X ???) ??? y z
where C = C1 composed C2 but X is rigid abd conversion fails cause
x != ? and the heads are different... unfolding C helps
- Procedural: bug fix in rendering the application: we must handle the
arguments that are inferrable but do not occur in the goal
- LAMBDA-TYPES: bug fix in Makefile: MAS was not computed correctly
Ferruccio Guidi [Mon, 30 Jun 2008 14:07:46 +0000 (14:07 +0000)]
we tranlate an Automath book in an itermediate format where:
- the local references are resolved as position indexes
- the global references are disambiguated
- the parameter applications are completed
For now the trnslation is slow because the involved data structures are
inefficient
Ferruccio Guidi [Sun, 22 Jun 2008 15:13:14 +0000 (15:13 +0000)]
- grafiteParser.ml: the callback invocation was displaced
- cicNotationPres.ml: hack to have more brackets because
(forall .. \to ..) was rendered without brackets. FIXME!
- LAMBDA-TYPES: improved Makefile
- partial implementation of pattern for case documented
- notation partially documented
- omitting the precedence level in a notation declaration is no longer allowed
1. bug fixed in generalize_pattern: a lazy const_tac should have been
relocated. The interesting case is
generalize in match a in \vdash %
where a occurs in the goal under at least one binder
2. pattern for cases partially implemented. It is now possible to perform
a case on the hypotheses as long as the conclusion and hypothesis patterns
are trivial (i.e. %)
Ferruccio Guidi [Thu, 19 Jun 2008 12:15:38 +0000 (12:15 +0000)]
- Procedural: we now check that an eliminator opens as many goals as the constructors of the eliminated type
So nat_double_ind is not an eliminator for Nat :)
- Base-2 : now compiles correctly because we fixed the preamble :)
Enrico Tassi [Tue, 17 Jun 2008 14:18:12 +0000 (14:18 +0000)]
reordering of lexicon status partially avoided to make it sure
that interpretations are not moved around. I still argue that an alias can be
removed from the back of an interpretation, no idea how this would interfere with CSC recent patch
Ferruccio Guidi [Fri, 13 Jun 2008 11:47:41 +0000 (11:47 +0000)]
Initial version of the Helena Checker
- For now just parses an automath book (automath grammar by F. Wiedijg)
the grundlagen is provided as (the only existing) example
- In the future will convert an automath book to a lambda-delta environment
several lambda-delta extensions will be supported
Enrico Tassi [Thu, 12 Jun 2008 15:52:34 +0000 (15:52 +0000)]
Testing some performance tricks by caching the list of the first n primes and
showing that they are good either with nth_prime (sloooooooooowww) or with
sieve (slooooow and not proved correct yet). With sieve we are currently able
to verify the list of the first 103 primes in a sort of reasonable time.
The 103rd prime is only 593 :-(
Most of the time, URIs can now be replaced with identifiers in "interpretation".
Warning: identifiers are mapped to URIs according to the last declared
alias.