design of point-and-click user interfaces for proof...

64
Design of point-and-click user interfaces for proof assistants Bohua Zhan 1 , Zhenyan Ji 2 , Wenfan Zhou 2 , Chaozhu Xiang 2 , Jie Hou 2 and Wenhui Sun 2 1 State Key Lab. of Computer Science, Institute of Software, CAS 2 Beijing Jiaotong University November 6, 2019 Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 1 / 43

Upload: others

Post on 03-Jan-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Design of point-and-click user interfaces for proofassistants

Bohua Zhan1, Zhenyan Ji2, Wenfan Zhou2, Chaozhu Xiang2,Jie Hou2 and Wenhui Sun2

1State Key Lab. of Computer Science, Institute of Software, CAS2Beijing Jiaotong University

November 6, 2019

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 1 / 43

Page 2: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Motivation

Interactive Theorem Proving is concerned with constructing andchecking formal proofs by interaction between the human user andthe computer.

The user interface receives user commands and displays the currentstatus of the proof. As a lot of time is spent interacting with the userinterface, it can be considered as a key part of the system.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 2 / 43

Page 3: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Motivation

Interactive Theorem Proving is concerned with constructing andchecking formal proofs by interaction between the human user andthe computer.

The user interface receives user commands and displays the currentstatus of the proof. As a lot of time is spent interacting with the userinterface, it can be considered as a key part of the system.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 2 / 43

Page 4: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Motivation

Existing user interfaces are mostly text-based.

Coq Isabelle

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 3 / 43

Page 5: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Motivation

Generally has a steep learning curve because:

Need to remember (and choose between) a large number of tactics.

Need to remember names of theorems and labels in a proof.

For structured language like Isabelle/Isar, need to learn another layerof syntax.

Is it possible to build user interfaces for proof assistantsbased on pointing-and-clicking?

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 4 / 43

Page 6: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Motivation

Generally has a steep learning curve because:

Need to remember (and choose between) a large number of tactics.

Need to remember names of theorems and labels in a proof.

For structured language like Isabelle/Isar, need to learn another layerof syntax.

Is it possible to build user interfaces for proof assistantsbased on pointing-and-clicking?

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 4 / 43

Page 7: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Existing work

KeYmaera/KeYmaeraX1

Focuses on verification of hybrid systems.

1http://www.ls.cs.cmu.edu/KeYmaeraX/tutorial/fm2016/tacticeditor.pngBohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 5 / 43

Page 8: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Existing work

Visual theorem proving with the incredible proof machine2

Conduct proofs in logic by connecting blocks.

2https://www.joachim-breitner.de/various/incredibe-proof.pngBohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 6 / 43

Page 9: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Existing work

Earlier works:

Bertot, Y. and Thery, L. A Generic Approach to Building UserInterfaces for Theorem Provers, J. of Symbolic Computation, 1998.

Abrial, J. and Cansel, D. Click’n Prove: Interactive Proofs withinSet Theory, TPHOLs, 2003.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 7 / 43

Page 10: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Motivation

Existing work on user interfaces are either limited to proofs in logic and settheory, or to special problem domains.

In our work, we aim for the system to be useful for general purposetheorem proving. In particular, the system can

work with newly added theorems.

be extended with domain-specific proof methods.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 8 / 43

Page 11: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Motivation

Existing work on user interfaces are either limited to proofs in logic and settheory, or to special problem domains.

In our work, we aim for the system to be useful for general purposetheorem proving. In particular, the system can

work with newly added theorems.

be extended with domain-specific proof methods.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 8 / 43

Page 12: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

holpy

higher-order logic in python

Proof assistant based on higher-order logic, implemented in Python.

Underlying logic is similar to that of Isabelle/HOL, HOL Light, and HOL4.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 9 / 43

Page 13: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

holpy

higher-order logic in python

Proof assistant based on higher-order logic, implemented in Python.

Underlying logic is similar to that of Isabelle/HOL, HOL Light, and HOL4.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 9 / 43

Page 14: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Proof object

holpy works with an explicit proof object:

Proof is represented as a list of sequents.

Each sequent is derived from (zero or more) previous sequents using aproof rule.

A proof rule can be either primitive or composite (also known asmacros).

An incomplete proof has holes signifying subgoals.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 10 / 43

Page 15: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Proof object

holpy works with an explicit proof object:

Proof is represented as a list of sequents.

Each sequent is derived from (zero or more) previous sequents using aproof rule.

A proof rule can be either primitive or composite (also known asmacros).

An incomplete proof has holes signifying subgoals.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 10 / 43

Page 16: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Proof object

holpy works with an explicit proof object:

Proof is represented as a list of sequents.

Each sequent is derived from (zero or more) previous sequents using aproof rule.

A proof rule can be either primitive or composite (also known asmacros).

An incomplete proof has holes signifying subgoals.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 10 / 43

Page 17: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Proof object

holpy works with an explicit proof object:

Proof is represented as a list of sequents.

Each sequent is derived from (zero or more) previous sequents using aproof rule.

A proof rule can be either primitive or composite (also known asmacros).

An incomplete proof has holes signifying subgoals.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 10 / 43

Page 18: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Example

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 11 / 43

Page 19: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Example

Note: facts available for the current subgoal are always visible.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 12 / 43

Page 20: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Overall design

State of the proof is the current proof object.

At each step, the user selects a subgoal and a list of facts availablefor use at that subgoal.

System provides a list of suggested actions.

User chooses among the suggestions, or another action from themenu.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 13 / 43

Page 21: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Overall design

State of the proof is the current proof object.

At each step, the user selects a subgoal and a list of facts availablefor use at that subgoal.

System provides a list of suggested actions.

User chooses among the suggestions, or another action from themenu.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 13 / 43

Page 22: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Overall design

State of the proof is the current proof object.

At each step, the user selects a subgoal and a list of facts availablefor use at that subgoal.

System provides a list of suggested actions.

User chooses among the suggestions, or another action from themenu.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 13 / 43

Page 23: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Overall design

State of the proof is the current proof object.

At each step, the user selects a subgoal and a list of facts availablefor use at that subgoal.

System provides a list of suggested actions.

User chooses among the suggestions, or another action from themenu.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 13 / 43

Page 24: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Methods

A method is a function that takes the following inputs:

1. The current theory environment and the current proof state.

2. The selected goal and list of selected facts.

3. Additional parameters depending on the method.

and (if successful) returns a new proof state.

Abstracts the concept of action during a proof. In particular, any tacticcan be packaged as a method.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 14 / 43

Page 25: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Methods

A method is a function that takes the following inputs:

1. The current theory environment and the current proof state.

2. The selected goal and list of selected facts.

3. Additional parameters depending on the method.

and (if successful) returns a new proof state.

Abstracts the concept of action during a proof. In particular, any tacticcan be packaged as a method.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 14 / 43

Page 26: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Search function

In addition, a method provides a search function, that takes the followinginputs:

1. The current theory environment and the current proof state.

2. The selected goal and list of selected facts.

and returns a (possibly empty) list of suggested parameters.

The suggestions for all methods are collected together to formthe suggestions by the system.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 15 / 43

Page 27: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Search function

In addition, a method provides a search function, that takes the followinginputs:

1. The current theory environment and the current proof state.

2. The selected goal and list of selected facts.

and returns a (possibly empty) list of suggested parameters.

The suggestions for all methods are collected together to formthe suggestions by the system.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 15 / 43

Page 28: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Searching and applying theorems

Method apply backward step applies a theorem in the backwarddirection (corresponds to apply rule in Isabelle).

Its search function searches for applicable theorems by matching thecurrent subgoal with the conclusion.

The user may annotate a theorem to include it in the search.

Likewise, there are methods for forward application, rewriting, etc.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 16 / 43

Page 29: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Searching and applying theorems

Method apply backward step applies a theorem in the backwarddirection (corresponds to apply rule in Isabelle).

Its search function searches for applicable theorems by matching thecurrent subgoal with the conclusion.

The user may annotate a theorem to include it in the search.

Likewise, there are methods for forward application, rewriting, etc.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 16 / 43

Page 30: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Searching and applying theorems

Method apply backward step applies a theorem in the backwarddirection (corresponds to apply rule in Isabelle).

Its search function searches for applicable theorems by matching thecurrent subgoal with the conclusion.

The user may annotate a theorem to include it in the search.

Likewise, there are methods for forward application, rewriting, etc.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 16 / 43

Page 31: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Searching and applying theorems

Method apply backward step applies a theorem in the backwarddirection (corresponds to apply rule in Isabelle).

Its search function searches for applicable theorems by matching thecurrent subgoal with the conclusion.

The user may annotate a theorem to include it in the search.

Likewise, there are methods for forward application, rewriting, etc.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 16 / 43

Page 32: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Example 1

First example, from Bertot and Thery:

Illustrates:

Propositional and predicate logic.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 17 / 43

Page 33: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Example 1

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 18 / 43

Page 34: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Example 1

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 19 / 43

Page 35: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Example 1

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 20 / 43

Page 36: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Example 1

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 21 / 43

Page 37: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Example 1

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 22 / 43

Page 38: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Example 1

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 23 / 43

Page 39: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Example 1

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 24 / 43

Page 40: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Example 2

Second example, from Peano arithmetic:

Illustrates:

Induction on natural numbers.

Rewriting using a theorem / fact in proof.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 25 / 43

Page 41: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Example 2

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 26 / 43

Page 42: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Example 2

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 27 / 43

Page 43: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Example 2

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 28 / 43

Page 44: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Example 2

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 29 / 43

Page 45: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Example 2

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 30 / 43

Page 46: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Example 2

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 31 / 43

Page 47: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Example 3

Third example, from proof of Knaster-Tarski theorem:

Illustrates:

Applying existing theorems.

Inserting intermediate goal.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 32 / 43

Page 48: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Example 3

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 33 / 43

Page 49: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Example 3

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 34 / 43

Page 50: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Example 3

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 35 / 43

Page 51: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Example 3

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 36 / 43

Page 52: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Example 3

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 37 / 43

Page 53: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Example 3

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 38 / 43

Page 54: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Example 3

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 39 / 43

Page 55: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Example 3

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 40 / 43

Page 56: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Example 3

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 41 / 43

Page 57: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Thesis (still to be fully demonstrated)

Improvements to user interface can significantly increase efficiencyand make proof assistants easier to learn.

Corollary

More effort should be devoted to user interface designin interactive theorem proving.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 42 / 43

Page 58: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Thesis (still to be fully demonstrated)

Improvements to user interface can significantly increase efficiencyand make proof assistants easier to learn.

Corollary

More effort should be devoted to user interface designin interactive theorem proving.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 42 / 43

Page 59: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Future work

Test the user interface on a larger body of theorems.

I Currently underway for real analysis.

Incorporate various proof automation.I Can be easily represented as methods.

Machine learning for ordering suggestions.I Main obstacle is the need to build a large library for learning.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 43 / 43

Page 60: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Future work

Test the user interface on a larger body of theorems.I Currently underway for real analysis.

Incorporate various proof automation.I Can be easily represented as methods.

Machine learning for ordering suggestions.I Main obstacle is the need to build a large library for learning.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 43 / 43

Page 61: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Future work

Test the user interface on a larger body of theorems.I Currently underway for real analysis.

Incorporate various proof automation.

I Can be easily represented as methods.

Machine learning for ordering suggestions.I Main obstacle is the need to build a large library for learning.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 43 / 43

Page 62: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Future work

Test the user interface on a larger body of theorems.I Currently underway for real analysis.

Incorporate various proof automation.I Can be easily represented as methods.

Machine learning for ordering suggestions.I Main obstacle is the need to build a large library for learning.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 43 / 43

Page 63: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Future work

Test the user interface on a larger body of theorems.I Currently underway for real analysis.

Incorporate various proof automation.I Can be easily represented as methods.

Machine learning for ordering suggestions.

I Main obstacle is the need to build a large library for learning.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 43 / 43

Page 64: Design of point-and-click user interfaces for proof assistantslcs.ios.ac.cn/~bzhan/icfem2019_slides.pdf · Design of point-and-click user interfaces for proof assistants Bohua Zhan1,

Future work

Test the user interface on a larger body of theorems.I Currently underway for real analysis.

Incorporate various proof automation.I Can be easily represented as methods.

Machine learning for ordering suggestions.I Main obstacle is the need to build a large library for learning.

Bohua Zhan et al. (ISCAS & BJTU) Design of point-and-click user interfaces November 6, 2019 43 / 43