Theorem Prover using Isabelle - PowerPoint PPT Presentation

1 / 11
About This Presentation
Title:

Theorem Prover using Isabelle

Description:

Comes with large theories of formally verified ... Free for academic users. Project Goals ... Isabelle. http://www.cl.cam.ac.uk/Research/HVG/Isabelle ... – PowerPoint PPT presentation

Number of Views:128
Avg rating:3.0/5.0
Slides: 12
Provided by: cso7
Category:
Tags: cam | free | isabelle | prover | theorem | using

less

Transcript and Presenter's Notes

Title: Theorem Prover using Isabelle


1
Theorem Prover using Isabelle
  • Saravanakumar Chandran
  • Under Guidance from
  • Dr. S Toida

2
Isabelle
  • A generic proof assistant
  • Easier to use than others e.g., TPS
  • Comes with large theories of formally verified
    mathematics, including elementary number theory,
    algebra and set theory. (Main, Set, HOL, TypeDef
    .)
  • Developed at Cambridge Univ. and TU Munich
  • Free for academic users

3
Project Goals
  • Develop a web interface to Isabelle, for proofs
    involving Sets and logic.
  • Allow users to use Math Symbols which they are
    aware of.
  • Transform the result back into Math symbols.
  • Provide feedback to user as to correctness for
    current line of proof (Undo the line)
  • Capability to correct mistakes.
  • Allow user to refer any previous lines
  • Maximize ease of use, minimize loss of
    functionality through interface

4
Major Components
  • Client Interface
  • Message/Communication (Socket)
  • Server to interact with Isabelle
  • Symbol Filter between client and server

5
User Interface
  • Java Applet on browser
  • Proof statement section
  • Math Symbols for Sets and Logics
  • Dynamically adds boxes/text areas based on proof
    status
  • Communicates to Isabelle via a server residing
    on web-server host. (Proof content object)

6
Socket communication
  • Simple java object holds current state of proof
    (ProofContent)
  • Filter intercepts the ProofContent object from
    the client and transforms the Math symbol into
    Isabelle equivalent and sends it on to the
    Server.
  • Server executes the proof line and modifies the
    ProofContent object and sends it to the Filter.
    Filter again converts it back into Human
    understandable Math Symbol format and passes it
    on to the client to display.

7
Symbol Filter
  • Proof content object is modified by the filter
    from client to server and vice versa.
  • Unicode Mapping

8
Server
  • Process that receives requests from clients and
    interacts with Isabelle
  • Makes Unix calls using java runtime exec
  • Each request spawns a thread which invokes
    Isabelle
  • Reads Isabelles stdout/stderr to determine
    correctness
  • Modifies ProofContent object and returns to
    client
  • Theory toy Main.

9
Server Code
  • theory Toy Main
  • lemma "x - (A Int B) gt x A Int B"
  • ML "set trace_simp"
  • apply(auto)
  • After this code is executed by the server if the
    result is that No subgoals then the step is
    proved.

10
Proof Checker
  • Demo URL
  • http//tango.cs.odu.edu29082/symbolmap/index.html

11
References
  • HOL libraries
  • http//www.cl.cam.ac.uk/Research/HVG/Isabelle/dist
    /library/HOL/
  • Isabelle
  • http//www.cl.cam.ac.uk/Research/HVG/Isabelle/
Write a Comment
User Comments (0)
About PowerShow.com