• Corpus ID: 15323764

Learning from an expert's proof: AI4FM

  title={Learning from an expert's proof: AI4FM},
  author={Leo Freitas and Cliff B. Jones},
This position paper outlines the background and current approaches taken within AI4FM, a 4-year research project aimed at combining AI methodologies to aid proof discovery of certain families of interest. Namely, those repeated proofs often appearing in the application of verification to industrial applications. 

Can a system learn from interactive proofs?

The on-going research in a project which is investigating how to learn from one interactive proof so that other similar proofs can be completed automatically is set out.

Capturing proof process

This thesis presents an architecture to capture the expert’s proof ideas as a highlevel proof process, which accommodates branching to represent the actual proof structure as well as layers of abstraction to accommodate different granularities.

Ours Is to Reason Why

The central idea is to "learn" new ways of discharging families of proof obligations by tracking one interactive proof performed by an expert, which will facilitate the discharge of significant "families" of recalcitrant proof tasks.

Formalising Workflows Partitioning over Federated Clouds: Multi-level Security and Costs

We present an abstract formalisation of federated cloud workflows using the Z notation. Various properties of interest are observed in the possible deployments symbolically calculated by the Z/EVES

Formalizing workflows partitioning over federated clouds: multi-level security and costs

An formalization of federated cloud workflows using the Z notation with properties of interest being observed by the possible deployments, which are symbolically calculated by the Z/EVES theorem prover is presented.



Interactive Proof Critics

An interface to an inductive theorem prover is developed and evaluated which supports a collaborative style of failure analysis and builds upon an automatic proof patching mechanism and extends the capabilities of an existing theorem proving interface.

Constructing a theory of a data structure as an aid to program development

An extension to the method of developing programs via abstract data types is illustrated, in order to make the proofs shorter and more intuitive a collection of lemmas (theory) is constructed for the main data types.

Modeling in Event-B - System and Software Engineering

This book presents a mathematical approach to modelling and designing systems using an extension of the B formal method: Event-B, which allows the user to construct models gradually and to facilitate a systematic reasoning method by means of proofs.


How guidelines for using C language were prepared under the auspices of the Motor Industry Software Reliability Association (MISRA) are described and the contents of the guidelines are briefly described.

The TPTP Problem Library and Associated Infrastructure

  • G. Sutcliffe
  • Computer Science
    Journal of Automated Reasoning
  • 2009
This paper describes the First-Order Form (FOF) and Clause Normal Form (CNF) parts of the TPTP problem library, and the associated infrastructure. TPTP v3.5.0 was the last release containing only FOF

Rippling - meta-level guidance for mathematical reasoning

This book presents a meta-analysis of rippling using an annotated calculus and a unification algorithm as a guide to a general methodology for efficient use of failure.

Correctness by construction: putting engineering (back) into software

This presentation will look at the many problems of designing and building high-integrity software and the processes, languages and tools that are currently used, and considers why Praxis still uses (and chooses) Ada, and the role that Ada has to play in the future of high-Integrity software.

Boogie: A Modular Reusable Verifier for Object-Oriented Programs

The architecture of a state-of-the-art program verifier for object-oriented programs for compiler technology, program semantics, property inference, verification-condition generation, automatic decision procedures, and a user interface are described.

The Spec# Programming System: Challenges and Directions

The Spec# programming system is a new attempt to increase the quality of general purpose, industrial software by using specifications to make programmer assumptions explicit and the use of tools to enforce the specifications.