## About this book

### Introduction

1. BASIC CONCEPTS OF INTERACTIVE THEOREM PROVING Interactive Theorem Proving ultimately aims at the construction of powerful reasoning tools that let us (computer scientists) prove things we cannot prove without the tools, and the tools cannot prove without us. Interaction typi cally is needed, for example, to direct and control the reasoning, to speculate or generalize strategic lemmas, and sometimes simply because the conjec ture to be proved does not hold. In software verification, for example, correct versions of specifications and programs typically are obtained only after a number of failed proof attempts and subsequent error corrections. Different interactive theorem provers may actually look quite different: They may support different logics (first-or higher-order, logics of programs, type theory etc.), may be generic or special-purpose tools, or may be tar geted to different applications. Nevertheless, they share common concepts and paradigms (e.g. architectural design, tactics, tactical reasoning etc.). The aim of this chapter is to describe the common concepts, design principles, and basic requirements of interactive theorem provers, and to explore the band width of variations. Having a 'person in the loop', strongly influences the design of the proof tool: proofs must remain comprehensible, - proof rules must be high-level and human-oriented, - persistent proof presentation and visualization becomes very important.

### Keywords

Boolean algebra Processing automata automated deduction automated reasoning automated theorem proving complex system expert system heuristics interactive theorem proving logic logic programming natural language proving term rewriting

### Editors and affiliations

- Wolfgang Bibel
- Peter H. Schmitt

- 1.Darmstadt University of TechnologyGermany
- 2.Institute for Logic, Complexity and Deduction SystemsUniversity of KarlsruheKarlsruheGermany

### Bibliographic information