The Tecton Proof System

The Tecton Proof System is a new verification system designed to support construction of large and complex proofs, using novel user interface methods and extensive automation. We first describe the main features of the user interface, including the use of tabular formats for ordinary logical formulas and Hoare formulas, graphical proof representations, and hypertext links between related parts of large proofs. In the area of proof automation, we describe the inference mechanisms used by the Tecton inference engine and the integration of a decision procedure for a subclass of Presburger Arithmetic into the inference mechanisms. Through its combination of user interface features and automated deduction capabilities, Tecton provides the kind of support necessary for building libraries of verified software and hardware components.

[1]  David R. Musser,et al.  Analysis of the Pope-Stein Division Algorithm , 1977, Information Processing Letters.

[2]  David R. Musser,et al.  An Overview of AFFIRM: A Specification and Verification System , 1980, IFIP Congress.

[3]  David R. Musser,et al.  The AFFIRM Theorem Prover: Proof Forests and Management of Large Proofs , 1980, CADE.

[4]  Robert S. Boyer,et al.  Integrating decision procedures into heuristic theorem provers: a case study of linear arithmetic , 1988 .

[5]  Ellis Horowitz,et al.  Some extensions to algebraic specifications , 1977, Language Design for Reliable Software.

[6]  Deepak Kapur,et al.  A Mechanizable Induction Principle for Equational Specifications , 1988, CADE.

[7]  Alexander A. Stepanov,et al.  The Ada® Generic Library , 1989, Springer Compass International.

[8]  David R. Musser,et al.  Tecton: A Framework for Specifying and Verifying Generic System Components , 1992 .

[9]  David R. Musser,et al.  The application of a symbolic mathematical system to program verification , 1974, ACM '74.

[10]  L. E. Heindel,et al.  The SAC-1 Modular Arithmetic System , 1972 .

[11]  Jeff Conklin,et al.  Hypertext: An Introduction and Survey , 1987, Computer.

[12]  David R. Musser,et al.  New directions in teaching the fundamentals of computer science — discrete structures and computational analysis , 1973, SIGCSE '73.

[13]  Alexander A. Stepanov,et al.  Tecton: A Language for Manipulating Generic Objects , 1981, Program Specification.

[14]  Robert E. Shostak,et al.  A Practical Decision Procedure for Arithmetic with Function Symbols , 1979, JACM.

[15]  David R. Musser,et al.  On proving inductive properties of abstract data types , 1980, POPL '80.

[16]  Bjarne Stroustrup,et al.  The Annotated C++ Reference Manual , 1990 .

[17]  David R. Musser,et al.  On the Efficiency of a Polynomial Irreducibility Test , 1978, JACM.

[18]  David R. Musser,et al.  Abstract Data Type Specification in the Affirm System , 1980, IEEE Transactions on Software Engineering.

[19]  Ellis Horowitz,et al.  Abstract data types and software validation , 1978, CACM.

[20]  David R. Musser,et al.  Multivariate Polynomial Factorization , 1975, JACM.

[21]  Alexander A. Stepanov,et al.  The Ada® Generic Library: Linear List Processing Packages , 1989 .

[22]  David R. Musser AIDS to hierarchical specification structuring and reusing theorems in AFFIRM-85 , 1985, SOEN.

[23]  Greg Nelson,et al.  Simplification by Cooperating Decision Procedures , 1979, TOPL.

[24]  Deepak Kapur,et al.  An Overview of Rewrite Rule Laboratory (RRL) , 1989, RTA.

[25]  C. A. R. Hoare,et al.  An axiomatic basis for computer programming , 1969, CACM.

[26]  N. A C H U M D E R S H O W I T Z Termination of Rewriting' , 2022 .

[27]  Thomas Käufl,et al.  Reasoning about Systems of Linear Inequalities , 1988, CADE.

[28]  Alexander A. Stepanov,et al.  Operators and algebraic structures , 1981, FPCA '81.