Minimal from Classical Proofs

We consider the --. V-fragment of first order logic with a distinguished predicate symbol .l_ (for falsity); as usual we write ~ for ~ ~ .l.. Gentzen's natural deduction system for minimal logic in this language consists just of introduction and elimination rules for ~ and V. Hence any proof in this system gives rise to a typefree A-term, possibly with assumption variables. If in addition a proof (and hence also its associated A-term) is normal, then from its context, i.e. the assignment of assumption formulas to its assumption variables, and from its endformula we can recover all formulas in the proof. This representation of formal proofs seems to be useful: for instance it allows an efficient implementation of normalization by evaluation (cf. [1], [2]). It is well known that any proof can be transformed into a unique normal form with respect to /3-conversion. Using ~/-expansion we can then construct the long normal form, where all minimal formulas are atomic. We are interested in the problem of how to find proofs in minimal logic, from a somewhat practical point of view.* In particular we want to make use of existing theorem provers based on classical logic. So our problem is to review under what circumstances a classical proof can be converted into a proof in minimal logic, and moreover to describe reasonable algorithms which do this conversion. A good survey of the subject can be found in [3, Chapter 2.3]. Here we add a new result. Note first that a convenient way to represent classical logic in our setting is to add stability assumptions of the form

[1]  Ulrich Berger,et al.  An inverse of the evaluation functional for typed lambda -calculus , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.

[2]  A. Troelstra Constructivism in mathematics , 1988 .