abella-prover / abella

An interactive theorem prover based on lambda-tree syntax
https://abella-prover.org/
GNU General Public License v3.0
89 stars 18 forks source link

Increment unprotected dB indexes in abstract #83

Closed robblanco closed 7 years ago

robblanco commented 7 years ago

The problem occurs in those DB subterms that the recursive function does not see as protected by a binder. For example:

abstract "X" ty (1 (g (y\ h1 X))) -> x\ 1 (g (y\ h1 `2) -> x\ x (g (y\ y x))

So there is a capture at the top that was not envisioned by the method. These "unprotected DBs" are to be incremented to account for the new lambda that will wrap the resulting term.

This commit addresses issue #82.