Difference between pages "Proof Skeleton Design" and "Proof Skeleton View"

From Event-B
(Difference between pages)
Jump to navigationJump to search
imported>Nicolas
(New page: This document aims at helping developers getting into the code of the proof skeleton viewer. ==Purpose== The Proof Skeleton View gives the user the ability to quickly browse the skeleton...)
 
imported>Mathieu
 
Line 1: Line 1:
This document aims at helping developers getting into the code of the proof skeleton viewer.
 
 
 
==Purpose==
 
==Purpose==
  
 
The Proof Skeleton View gives the user the ability to quickly browse the skeleton of a proof, without having to prove it anew. Furthermore, it is intended to be a convenient way to display rules and sequents together in the same view.
 
The Proof Skeleton View gives the user the ability to quickly browse the skeleton of a proof, without having to prove it anew. Furthermore, it is intended to be a convenient way to display rules and sequents together in the same view.
  
==Building the skeleton==
+
==The Proof Skeleton View==
 +
 
 +
===Showing the View===
 +
 
 +
The Proof Skeleton View is available as other views in the
 +
Window > Show View > Other > Event-B > Proof Skeleton View
 +
menu.
 +
 
 +
To watch a proof skeleton, simply select a proved predicate in the obligation explorer, or a proof file in the editor.
  
Core functions consist in rebuilding a proof tree from a saved proof. This is done in the '''ProofSkeletonBuilder''' class.
+
===View Interpretation===
  
Firstly, being given a proof, the root sequent can be built, using saved proof dependencies.
+
Proof skeletons are displayed in a two-part view. On the left hand side is the tree structure of rules applied in the proof. On the other side stands the sequent on which the currently selected rule is applied.
From that, the '''ProofBuilder''' provides a ''reuse()'' method that allows reconstructing the proof tree from saved proof skeleton.
 
  
==View architecture==
+
[[Image:proofSkeletonView.jpg]]
  
The two-part view is based on Eclipse's form '''MasterDetailsBlock'''. The main idea is that the master part (on the left) contains browsable data (for us, a proof tree), and depending on the master element being selected (a rule in our case), the details part (on the right) is refreshed with data concerning this very element (sequents here).
+
The tree can be expanded or collapsed by using [+] and [-] buttons on the upper right corner.
  
Classes are structured in the following way:
 
  
  MasterDetailsBlock : creates the MasterPart and registers the DetailsPageProvider
+
[[Category:User Documentation]]
      MasterPart : contains the tree viewer and fires tree selection change events
 
        ContentProvider : provides proof skeleton data to the tree viewer
 
        LabelProvider : provides node labels and images to the tree viewer
 
      DetailsPageProvider : returns the sequent details page when a proof tree node is selected
 
        DetailsPage : contains a list viewer that displays the sequent of the currently selected node
 

Revision as of 13:08, 12 December 2008

Purpose

The Proof Skeleton View gives the user the ability to quickly browse the skeleton of a proof, without having to prove it anew. Furthermore, it is intended to be a convenient way to display rules and sequents together in the same view.

The Proof Skeleton View

Showing the View

The Proof Skeleton View is available as other views in the Window > Show View > Other > Event-B > Proof Skeleton View menu.

To watch a proof skeleton, simply select a proved predicate in the obligation explorer, or a proof file in the editor.

View Interpretation

Proof skeletons are displayed in a two-part view. On the left hand side is the tree structure of rules applied in the proof. On the other side stands the sequent on which the currently selected rule is applied.

ProofSkeletonView.jpg

The tree can be expanded or collapsed by using [+] and [-] buttons on the upper right corner.