+ ===================================================================== + | | | LIBRARY : integer | | | | DESCRIPTION : development of basic algebraic and order-theoretic | | structure of the integers and basic algebraic | | properties of modular arithmetic. | | | | AUTHOR : E. L. Gunter | | DATE : 89.3.23 | | | + ===================================================================== + + --------------------------------------------------------------------- + | | | FILES: | | | + --------------------------------------------------------------------- + mk_more_arith.ml creates an ad-hoc collection of arithemtic theorems about the natural numbers. Intended to speed the development of the integers. more_arith.print gives a listing of more_arith.th num_tac.ml contains the rule and tactic for general induction. load_more_arith.ml loads the theory more_arith.th, together with the the rule and tactic for general induction from num_tac.ml mk_integer.ml defines the type of integer, the operations of plus, minus, neg, and times, the predicates POS, and NEG, and the relation below. Develops much of the basic algebraic, and some basic order theoretic properties of the integers. integer.print gives a listing of the theory of integer.th integer_tac.ml defines rules and tactics for various arguements special to the integers. Contains the rule and tactic that were previously in int_cases_tac.ml. load_integer.ml loads the theory of integers (with the representation dependent part excluded), together with the tactics and functions from ../group/start.ml and integer_tac.ml + --------------------------------------------------------------------- + | | | TO REBUILD THE LIBRARY: | | | + --------------------------------------------------------------------- + 1) edit the pathnames in the Makefile (if necessary) 2) type "make clean" 3) type "make all" + --------------------------------------------------------------------- + | | | TO USE THE LIBRARY: | | | + --------------------------------------------------------------------- + 1) To automatically load the theory of the integers, together with a tactic for generalized induction on the natural numbers and a tactic for proving theorems about all integers based on the cases of whether the integer is positve, negative or zero, execute load_lib `integer`;; This will add the necessary path for this directory to the search path. Also, if you are in draft mode, it will add integer.th (and hence more_arith.th and elg_gp.th (from Library/group)) as an ancestor. If you are not in draft, it will attempt to execute load_theory `integer`. If it cannot succeed with load_theory `integer`, it will proceed with the remainer of the loading anyway. But for it to succeed in the case were you are not in draft mode and it cannot execute load_theory `integer`, integer.th must be a predeclared ancestor of the current theory. 2) To load the theorems of more_arith.th, instaed of or in addition to loading the theory of the integers, execute loadt_from_lib `integer` `load_more_arith`;; This behaves with respect to the treatment of the search path and the theory `more_arith` the same as load_lib `integer` did (with `more_arith` in place of `integer`.) In addition to loading the theorems from more_arith.th, this also loads the tactic for genralized induction.