Theorem Proving in Higher Order Logics: 14th International Conference, TPHOLs 2001, Edinburgh, Scotland, UK, September 3-6, 2001. Proceedings (Lecture Notes in Computer Science, 2152) 354042525X, 9783540425250

This volume constitutes the proceedings of the 14th International Conference on Theorem Proving in Higher Order Logics (

117 36 4MB

English Pages 412 [405] Year 2001

Report DMCA / Copyright

DOWNLOAD FILE

Theorem Proving in Higher Order Logics: 14th International Conference, TPHOLs 2001, Edinburgh, Scotland, UK, September 3-6, 2001. Proceedings (Lecture Notes in Computer Science, 2152)
 354042525X, 9783540425250

Table of contents :
Theorem Proving in Higher Order Logics
Preface
Table of Contents
JavaCard Program Verification
Smart Card Trends
Challenges for Formal Methods
VerifiCard: Aims
VerifiCard: Work
Scientific Work of Nijmegen
References
View from the Fringe of the Fringe (Joint with CHARME 2001)
References
Using Decision Procedures with a Higher-Order Logic
Discussion
References
Finite-State Methods
Ground Decision Procedures
Executing PVS Specifications
Typechecking in PVS
The PVS Higher-Order Logic
Computer Algebra Meets Automated Theorem Proving: Integrating Maple and PVS
Introduction
Motivating Examples
Background
Maple
PVS
Design Issues
The PVS Real Analysis Library
Implementation
Extending Maple
Maple/PVS Communication
Simple Examples
Applications
Continuity of $sqrt {x}$ for $x > 0$
Using the Real Analysis Library
A Generic Application to IVPs
Conclusions
References
An Irrational Construction of R from Z
1 Introduction
1.1 Automated Theorem Proving Background
1.2 Mathematical Background
1.3 A New Approach
2 Dedekind-MacNeille Completion
3 Defining the Additive Structure
4 Defining the Multiplacative Structure
5 An Alternative to Q
5.1 Calculating in Z[\sqrt(2)]
5.2 The Ordering of Z[\sqrt(2)]
5.3 Properties of the Ordering
5.4 Discussion
6 The Actual ProofPower Construction
7 Concluding Remarks
References
HELM and the Semantic Math-Web
Introduction
The eXtensible Markup Language
The HELM Project
Exporting from Coq
Relevant Information to Be Exported
Auxiliary Information and Metadata
Proof-Checker
XSL Transformations and MathML
Interfaces to HELM
The Model of Distribution
Conclusions and Further Developments
References
Calculational Reasoning Revisited (An Isabelle/Isar Experience)
Introduction
Foundations of Calculational Reasoning
Logical Preliminaries
The Isabelle/Isar Proof Language
Calculational Sequences
Calculational Elements within the Proof Language
Rules and Proof Search
Idioms of Calculational Reasoning
Variation of Rules
Variation of Conclusions
Variation of Facts
Variation of Structure
Case-Study: Some Properties of CTL
CTL Formulae
Basic Fixed Point Properties
The Tree Induction Principle
An Application of Tree Induction
Discussion
Conclusion and Related Work
References
Mechanical Proofs about a Non-repudiation Protocol
Introduction
The Inductive Approach
Strategies to Proving Non-repudiation
A Fair Non-repudiation Protocol
Modelling a Fair Non-repudiation Protocol
Verifying a Fair Non-repudiation Protocol
Proving Validity of Evidence
Proving Fairness
Modelling and Verifying with a Spy
Related Work
Conclusions
References
Proving Hybrid Protocols Correct
Introduction
Protocol Switching
Meta-Properties: Classifying Switchable Properties
Formalization
A Formal Model of Communication
Meta-properties
Verification of Hybrid Protocols
The Local Switching Invariant
Global Correctness of Switching
Implementation Aspects
Conclusion
References
Nested General Recursion and Partiality in Type Theory
1 Introduction
2 Simple General Recursion in Type Theory
3 Nested Recursion in Type Theory
4 Partial Functions in Type Theory
5 Conclusions and Related Work
References
A Higher-Order Calculus for Categories
Introduction
The Language
Categories as Types
Syntax for Expressions
Functoriality
Naturality
Ends and Coends
Representability
Limits and Ends as Representations
Ends with Parameters
Complete Categories
Duality: Coend Formulae
The Calculus
Rules for Typing
Rules for Natural Isomorphisms
Examples
Continuity
The Density Formula
Implementation in Isabelle
Conclusions, Related Work, and Future Directions
References
Certifying the Fast Fourier Transform with Coq
1 Introduction
2 Data Representation
3 The Two-Level Approach for Trees
4 Definition and Correctness of FFT
5 The Inverse Fourier Transform
6 Conclusion
References
A Generic Library for Floating-Point Numbers and Its Application to Exact Computing
Introduction
Floating-Point Format and Basic Notions
Definitions
Bounded Floating-Point Numbers
Canonical Numbers
Rounding Mode
Basic Results
An Example
Floating-Point Expansion
Two Sum
Expansion
Adding Two Expansions
Conclusion
References
Ordinal Arithmetic: A Case Study for Rippling in a Higher Order Domain
Introduction
Ordinal Arithmetic: A Higher Order Family of Problems
Proof Planning
Proof Planning in unhbox voidb @x hbox {$lambda $textit {Clam}}xspace
The Proof Strategy for Induction and Rippling
Proof Planning Ordinal Arithmetic
Representing Ordinals in unhbox voidb @x hbox {$lambda $textit {Clam}}xspace
Defining the Arithmetical Operators
Defining Support Lemmas
An Induction Scheme for Transfinite Induction
Evaluation
The Distributivity of Multiplication over Addition
The Synthesis of a Fixpoint for a Normal Function
Related and Further Work
Conclusion
References
Abstraction and Refinement in Higher Order Logic
1 Introduction
2 Higher-Order Framework: Technical Details
3 Our Method in Practice
4 Conclusions
References
A Framework for the Formalisation of Pi Calculus Type Systems in Isabelle/HOL
Introduction
Pi Calculus
Overview of the Formalisation
The Theory texttt {Types}
Environments
The Meta Language
Substitution
The Typed Meta Language
Formalising the Pi Calculus
Type Soundness
Extension to Session Types
Conclusions
References
Representing Hierarchical Automata in Interactive Theorem Provers
1 Introduction
2 Hierarchical Automata
2.1 Example Specification: Car-Audio-System
2.2 Function-Based Formalization
2.3 Well-Formedness of HA
3 Efficient Formalization
4 Semantics of HA
4.1 Configurations and Statuses
4.2 Configuartion Trees
5 Conclusion
References
Refinement Calculus for Logic Programming in Isabelle/HOL
Introduction
Refinement Calculus for Logic Programs in Isabelle/HOL
Preliminary Definitions
Wide-Spectrum Language
Execution Semantics
Refinement
Assumption Context
Supporting Window Inference
Example
Discussion
Richness of Language
Typed versus Untyped Logics
Automated Proof Support
User-Defined Tactics
Representing Program State
Conclusions
References
Refinement Laws
Predicate Subtyping with Predicate Sets
Introduction
Notation
The Formalism
Subtypes
Subtype Constructors
Subtype Rules
Subtypes of Constants
Subtype Judgements
Subtype Derivation Algorithm
Applications
Predicate Set Prover
Proving Conditions During Rewriting
Debugging Specifications
Logical Limits
Conclusion
Further Work
Related Work
References
A Structural Embedding of Ocsid in PVS
Introduction
The Ocsid Language
Base Ocsid in PVS
Infrastructure
Actions in PVS
Ocsid Classes in PVS
Initial Conditions and Invariants
Superposition
Layers
Specifications
Discussion
Conclusions
References
A Certified Polynomial-Based Decision Procedure for Propositional Logic
Introduction
IF-Formulas and Boolean Polynomials
IF-Formulas
Boolean Polynomials
Interpretation Preserving Translation
Normalization
Hsiang's Canonical TRS for Boolean Algebras
A Straightforward Normalization Algorithm
A Decision Procedure
Contradiction-Checker
Tautology-Checker
Execution Examples
Conclusions and Further Work
References
Finite Set Theory in ACL2
Introduction
Basics
Set Theoretic Functions and Theorems Proved
The Choice Function
Behind the Scenes
Codified Proof Strategies
Recursive Functions on Sets
The Defmap Macro
Example
Conclusions
References
The HOL/NuPRL Proof Translator (A Practical Approach to Formal Interoperability
Introduction
Two Kinds of Translators
Previous Results
Why Translating from HOL to NuPRL?
Challenges
Paper Outline
Overview of the Theorem Provers
The HOL System
The NuPRL System
Logical Foundations of the Translator
A Classical Extension of NuPRL
Translation of Formulas
Translation of Inference Rules
Implementation of the Proof Translator
Adding Proof Objects to HOL
Translating Rules as Tactics
Dealing with Derived Rules of HOL
Implementation Details
Efficiency Issues
Related Work
Conclusions
References
Formalizing Convex Hull Algorithms
1 Introduction
1.1 Related Work
2 Knuth's "Axioms" for Convex Hulls
2.1 Proving the Axioms
2.2 The Specification
2.3 Finding Initial Data
3 Proving Algorithms
3.1 The Incremental Algorithm
3.2 The Package-Wrapping Algorithm
4 Degenerate Cases
4.1 Segements
4.2 The Working Horse Predicate
4.3 Perturbations
5 Conclusion
References
Experiments with Finite Tree Automata in Coq
Introduction
Related Work
A Short Tour of Coq
Tree Automata
Shallow Reflection
Instrumenting Automaton Subroutines
Experimental Evaluation
Deep Reflection
Data Structures
Implementing Union
Implementing Intersection
Removing Empty and Non-coaccessible States
Experimental Evaluation
Conclusion
References
Mizar Light for HOL Light
Introduction
Procedural versus Declarative Proving
Example: The Drinker
HOL
Mizar
Mizar as HOL Tactics
Enhancements
The {tt BECAUSE} Tactic
A More Powerful {tt ASSUME_A} Tactic
An Interactive Version of the {tt PER_CASES} Tactic
Tactics versus Proofs
Terms in Context
Out of Sequence Labels and Negative Labels
Symbolic Labels
Error Recovery
Bigger Example
Conclusion
References
Implementation
Author Index

Polecaj historie