The Proof Tree Visualiser
By David Alexander
Supervisor: Rajeev Goré
Summer Scholar, RSISE
The Proof Tree Visualiser By David Alexander Supervisor: Rajeev Gor - - PowerPoint PPT Presentation
The Proof Tree Visualiser By David Alexander Supervisor: Rajeev Gor Summer Scholar, RSISE What is it? A graphical interface for... ...constructing proof trees , and... ...visualising proof trees generated by automated provers .
Summer Scholar, RSISE
2/10
– ...constructing proof trees, and... – ...visualising proof trees generated by automated
– Proof trees in the tableau and sequent proof
3/10
– Connectives: , , ¬,
– Theorems can be proven using resolution.
– ◊p means “possibly p”;
– Example: ◻(a b)
– A different approach is required for theorem-
4/10
– To prove/disprove a statement:
5/10
$ ./k.twb --trace --verbose <(echo "[] (<> ~ p0 v p0) v <> [] Falsum v <> ([] p0 & <> <> ~ p0) v <> ([] <> p0 & <> <> [] ~ p0) v <> (p0 & <> [] ~ p0) v <> (~ p0 & <> [] p0)") Proving: [] (<> ~ p0 v p0) v <> [] Falsum v <> ([] p0 & <> <> ~ p0) v <> ([] <> p0 & <> <> [] ~ p0) v <> (p0 & <> [] ~ p0) v <> (~ p0 & <> [] p0) Start Node: ((((((<> (([ ] p0) & (~ p0))) & ([ ] (<> Verum))) & ([ ] ((<> (~ p0)) v ([ ] ([ ] p0))))) & ([ ] ((<> ([ ] (~ p0))) v ([ ] ([ ] (<> p0)))))) & ([ ] ((~ p0) v ([ ] (<> p0))))) & ([ ] (p0 v ([ ] (<> (~ p0)))))) And ( 0 -> 1 ) ([ ] (p0 v ([ ] (<> (~ p0))))) ; (((((<> (([ ] p0) & (~ p0))) & ([ ] (<> Verum))) & ([ ] ((<> (~ p0)) v ([ ] ([ ] p0))))) & ([ ] ((<> ([ ] (~ p0))) v ([ ] ([ ] (<> p0)))))) & ([ ] ((~ p0) v ([ ] (<> p0))))) And ( 1 -> 2 ) ((((<> (([ ] p0) & (~ p0))) & ([ ] (<> Verum))) & ([ ] ((<> (~ p0)) v ([ ] ([ ] p0))))) & ([ ] ((<> ([ ] (~ p0))) v ([ ] ([ ] (<> p0)))))) ; ([ ] ((~ p0) v ([ ] (<> p0)))) ; ([ ] (p0 v ([ ] (<> (~ p0))))) And ( 2 -> 3 ) ([ ] ((~ p0) v ([ ] (<> p0)))) ; ([ ] ((<> ([ ] (~ p0))) v ([ ] ([ ] (<> p0))))) ; ([ ] (p0 v ([ ] (<> (~ p0))))) ; (((<> (([ ] p0) & (~ p0))) & ([ ] (<> Verum))) & ([ ] ((<> (~ p0)) v ([ ] ([ ] p0))))) And ( 3 -> 4 ) ((<> (([ ] p0) & (~ p0))) & ([ ] (<> Verum))) ; ([ ] ((~ p0) v ([ ] (<> p0)))) ; ([ ] ((<> (~ p0)) v ([ ] ([ ] p0)))) ; ([ ] ((<> ([ ] (~ p0))) v ([ ] ([ ] (<> p0))))) ; ([ ] (p0 v ([ ] (<> (~ p0))))) And ( 4 -> 5 ) (<> (([ ] p0) & (~ p0))) ; ([ ] (<> Verum)) ; ([ ] ((~ p0) v ([ ] (<> p0)))) ; ([ ] ((<> (~ p0)) v ([ ] ([ ] p0)))) ; ([ ] ((<> ([ ] (~ p0))) v ([ ] ([ ] (<> p0))))) ; ([ ] (p0 v ([ ] (<> (~ p0))))) K ( 5 -> 6 ) (<> Verum) ; ((~ p0) v ([ ] (<> p0))) ; ((<> (~ p0)) v ([ ] ([ ] p0))) ; ((<> ([ ] (~ p0))) v ([ ] ([ ] (<> p0)))) ; (p0 v ([ ] (<> (~ p0)))) ; (([ ] p0) & (~ p0)) ; And ( 6 -> 7 ) (~ p0) ; ((~ p0) v ([ ] (<> p0))) ; ((<> (~ p0)) v ([ ] ([ ] p0))) ; ((<> ([ ] (~ p0))) v ([ ] ([ ] (<> p0)))) ; (p0 v ([ ] (<> (~ p0)))) ; (<> Verum) ; ([ ] p0) ; Or ( 7 -> 8 ) ((<> (~ p0)) v ([ ] ([ ] p0))) ; ((<> ([ ] (~ p0))) v ([ ] ([ ] (<> p0)))) ; (p0 v ([ ] (<> (~ p0)))) ; ; (<> Verum) ; ([ ] p0) ; (~ p0) Or ( 8 -> 9 ) ((<> ([ ] (~ p0))) v ([ ] ([ ] (<> p0)))) ; (p0 v ([ ] (<> (~ p0)))) ; (<> Verum) ; (<> (~ p0)) ; ; ([ ] p0) ; (~ p0) Or ( 9 -> 10 ) (p0 v ([ ] (<> (~ p0)))) ; ; (<> Verum) ; (<> (~ p0)) ; (<> ([ ] (~ p0))) ; ([ ] p0) ; (~ p0) Or ( 10 -> 11 ) (<> Verum) ; (<> (~ p0)) ; (<> ([ ] (~ p0))) ; ; p0 ; ([ ] p0) ; (~ p0) Id ( 11 -> 12 )
... 104 lines omitted ...
Id ( 70 -> 71 ) Or ( 64 -> 72 ) (p0 v ([ ] (<> (~ p0)))) ; (<> Verum) ; ; ([ ] (<> p0)) ; ([ ] ([ ] (<> p0))) ; ([ ] ([ ] p0)) ; ([ ] p0) ; (~ p0) Or ( 72 -> 73 ) (<> Verum) ; p0 ; ([ ] (<> p0)) ; ([ ] ([ ] (<> p0))) ; ([ ] ([ ] p0)) ; ([ ] p0) ; (~ p0) Id ( 73 -> 74 ) Or ( 72 -> 75 ) (<> Verum) ; ; ([ ] (<> (~ p0))) ; ([ ] (<> p0)) ; ([ ] ([ ] (<> p0))) ; ([ ] ([ ] p0)) ; ([ ] p0) ; (~ p0) K ( 75 -> 76 ) ([ ] (<> p0)) ; ([ ] p0) ; p0 ; Verum ; ; ; ; (<> (~ p0)) ; (<> p0) K ( 76 -> 77 ) p0 ; ; ; (~ p0) ; ; (<> p0) Id ( 77 -> 78 ) Time:0.0080 Result:Close Total Rules applications:78 Cache results: Total queries:0 Hits:0 Miss:0 Elements in the cache:0
6/10
– Compact structure – formulae only shown on
– Assignments of formulae to variables shown using
7/10
8/10
– Nodes loaded over network as user views them.
– Each rule application is specified as a set of
– Exact details of format still in development.
9/10
– Allow users to adjust the layout manually if desired.
– Allow use of provers stored on the user's computer,
10/10
– Licensed under the GNU GPL.