Proof Search in Minimal Logic

  title={Proof Search in Minimal Logic},
  author={Helmut Schwichtenberg},
We describe a rather natural proof search algorithm for a certain fragment of higher order (simply typed) minimal logic. This fragment is determined by requiring that every higher order variable Y can only occur in a context \(Y \vec{x}\), where \(\vec{x}\) are distinct bound variables in the scope of the operator binding Y, and of opposite polarity. Note that for first order logic this restriction does not mean anything, since there are no higher order variables. However, when designing a… 

Minlog - A Tool for Program Extraction Supporting Algebras and Coalgebras

An overview of Minlog is given and it is demonstrated how it can be used to exploit the computational content in (co)algebraic proofs and to develop correct and efficient programs.


This is a tutorial for the interactive proof system Minlog, Version 5.0, developed by Helmut Schwichtenberg and members of the logic group at the University of Munich. Minlog is implemented in

Operating system verification—An overview

This paper gives a high-level introduction to the topic of formal, interactive, machine-checked software verification in general, and the verification of operating systems code in particular. We



A sequent calculus for nominal logic

  • M. GabbayJ. Cheney
  • Philosophy
    Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science, 2004.
  • 2004
This work uses FL to provide a proof-theoretic foundation for nominal logic programming and shows how to interpret FO/spl lambda//spl nabla/, another logic with a self-dual quantifier, within FL.

Higher-order critical pairs

  • T. Nipkow
  • Computer Science
    [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science
  • 1991
The notion of critical pair is generalized to higher-order rewrite systems, and the analog of the critical pair lemma is proved.

A Logic Programming Language with Lambda-Abstraction, Function Variables, and Simple Unification

This paper presents a logic programming language, called Lλ, that also contains both function variables and λ-abstractions, but certain restriction are placed on occurrences of function variables, so that an implementation of Lλ does not need to implement full higher-order unification.