]> matita.cs.unibo.it Git - helm.git/commit
Beta-expansion was avoided as soon as one argument was flexible.
authorClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Fri, 24 Jul 2009 21:49:56 +0000 (21:49 +0000)
committerClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Fri, 24 Jul 2009 21:49:56 +0000 (21:49 +0000)
commit53bd7590de050214164c4f6b5181699dc38056f6
tree84ea1d5bd33253cebd3e8c88a878f6ff59d926e8
parent0f99c7691f8a418003acea3f7856102c21dcab8d
Beta-expansion was avoided as soon as one argument was flexible.
This lead to a different behaviour in the following two unification problems:

   (\lambda_.?) ? =?= T         vs               ? ? =?= T
     or, equivalently
        ?[?] =?= T

The fix is very easy: we always perform beta-expansion and delifting will
take care of ignoring the flexible "arguments", both during beta-expansion
and during the unification that follows.
helm/software/components/ng_refiner/nCicMetaSubst.ml
helm/software/components/ng_refiner/nCicMetaSubst.mli
helm/software/components/ng_refiner/nCicUnification.ml