]> matita.cs.unibo.it Git - helm.git/commit
Change (or better define) the order of hints premises.
authorEnrico Tassi <enrico.tassi@inria.fr>
Sun, 12 Sep 2010 16:55:11 +0000 (16:55 +0000)
committerEnrico Tassi <enrico.tassi@inria.fr>
Sun, 12 Sep 2010 16:55:11 +0000 (16:55 +0000)
commit7d7f1e8403bebcfc759d0955bd2f5a4837c414b2
treebd2a5294c2e5ee4638ee9889597b119628658fa8
parente8fbe5898b3214a5b0c4d48e8c9d1ee55f3415cc
Change (or better define) the order of hints premises.

They are now processed top to bottom, and not viceversa as before. This seems
to be right thing, since rules like:

  X := carr T
  ....
  R := mk_foo ... (P X) ... T ...
 --------------------------------- |-
  carr R = (P X)

can't be written putting X := carr T last, but you really want to be sure that
the needed assumptions to obtain a foo (in that case, that X is the carrier of
a setoid T) are available _before_ you even try to typecheck the bigger
unification problem (that may not be well typed if X and carr T are not
_convertible_, since in the fix function called in instantiate we call the
typechecker and not the refiner).
helm/software/components/ng_refiner/nCicUnification.ml
helm/software/matita/nlibrary/hints_declaration.ma
helm/software/matita/nlibrary/re/re-setoids.ma