
 +---------------------------------------------------------------------------+
 | A guide for the user of                                                   |
 | ICOT Free Software : Boyer-Moore Theorem Prover in Prolog (No.24, bmtp)   |
 +---------------------------------------------------------------------------+

                                    Hiroshi FUJITA
                                    Central Research Laboratory
                                    Mitsubishi Electric Corporation
                                    fujita@sys.crl.melco.co.jp



This file describes the outline of the system and how to get started.
Users are refered to the reference given at the end of this guide
for more information about the system, and the file: INSTALL
for the information about how to install the system.


1. Description

  1.1 What is BMTP/p

      The system BMTP/p is a Boyer-Moore's theorem prover implemented
      in Prolog.

  1.2 Feature of the system

      - Proves theorems by using
        simplification, heuristic rewriting, and induction
        as basic inference procedures

      - Accepts user-defined data-types(shell) and
        user-defined (primitive recursive) functions

      - Provides options for controlling proof processes and
        for obtaining detailed proof traces


2. How to get started

  2.1 Required environment

      BMTP/p runs on SICStus 0.7.
      (With minor changes to some of the source files, you might
       run BMTP/p on any standard Prolog (e.g. DEC-10 Prolog) as well.)

  2.2 How to get started

      (1) Invoke Prolog
          > prolog      %  or sicstus0.7

      (2) Consult "make" file
          ?- [make].

      (3) Compile and save
          ?- make.

      (4) Hereafter you can invoke bmtp directly from the shell
          > bmtp

     
3. File list

  3.0 README files

  File name             Description
  -----------------------------------------------------------------------------
  README                This file
  README.j              Japanese version of this file
  INSTALL               How to install
  INSTALL.j             Japanese version of How to install
  make.log              Install log


  3.1 Source files

  File name             Description
  -----------------------------------------------------------------------------
  op.pl                 Operator declaration
  top.pl                Top level
  util.pl               Command utility
  list.pl               List operations
  set.pl                Set operations
  pp.pl                 Pretty printer
  vt100.pl              VT100 utility
  time.pl               Timing utility
  var.pl                Variable operations
  term.pl               Term operations
  clause.pl             Clause operations
  prove.pl              Proof process control
  simp.pl               Simplification module
  type.pl               Type handling
  rewrite.pl            Term rewriting
  expand.pl             Opening up definitions
  heuris.pl             Heuristic rewriting module
  elim1.pl              Destructorõ
  equ.pl                Cross-fertilization
  gen.pl                Generalization
  elim2.pl              Eliminating irrelevance
  induct.pl             Induction module
  shell.pl              Shell definition module
  defun.pl              Function definition module
  logic.pl              Basic logic
  init.pl               Default switches
  help.txt              Help messages


  3.2 Basic definitions and environment

  File name             Description
  -----------------------------------------------------------------------------
  basic0.bm             Basic shells and functions definitions
  basic0.env            Basic shells and functions environment


  3.3 Examples

  File name             Description
  -----------------------------------------------------------------------------
  assoc_app.bm          Associativity_of_append definitions
  assoc_app.log         Associativity_of_append proof
  revrev.bm             Reverse_reverse definitions
  revrev.log            Reverse_reverse proof
  flatten.bm            Flatten_Mc_flatten definitions
  flatten.log           Flatten_Mc_flatten proof
  example.bm            Examples


4. References

   [1] Robert S. Boyer and J Strother Moore.
       A Computational Logic.
       Academic Press, 1979.

   [2] Robert S. Boyer and J Strother Moore.
       A Computational Logic Handbook.
       Academic Press, 1988.

   [3] The Boyer-Moore Theorem Prover in Prolog User's Manual.
       ICOT TM-086, 1984.
