-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
First draft for interactive theorem provers #14
base: trunk
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The format is not correct -- you need to have bib items with summaries, as in notation.rst. Please correct this and make the other suggested changes for your second draft.
src/itp.rst
Outdated
@@ -0,0 +1,139 @@ | |||
.. :Authors: - Cyrus Omar |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
add your name here
src/itp.rst
Outdated
@@ -0,0 +1,139 @@ | |||
.. :Authors: - Cyrus Omar | |||
|
|||
.. title:: Interactive Theorem Prover |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Prover" -> "Provers"
src/itp.rst
Outdated
.. bibliography:: itp.bib | ||
:filter: key == 'Klein2009' | ||
|
||
Complete formal verification is the only known way to guarantee that a system is free of programming errors. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This statement is not a summary of the Klein et al 2009 paper. This can be the first sentence of your Overview but this paper should be separately summarized.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just want this to be an introduction, rather than introducing this paper; maybe I should clarify this more.
src/itp.rst
Outdated
.. bibliography:: itp.bib | ||
:filter: key == '10.1007/BFb0000430' | ||
|
||
while the flaws are counterintuitive enough so that an informal analysis may be too prone to error |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
again, this is not a summary of the cited paper.
src/itp.rst
Outdated
while the flaws are counterintuitive enough so that an informal analysis may be too prone to error | ||
to be reliable. | ||
|
||
An `interactive theorem prover <https://en.wikipedia.org/wiki/Proof_assistant>`_, sometimes refered as proof assistant, is a software that helps |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- don't link to Wikipedia
- "refered" -> "referred to"
- "a software" -> "a programming environment"
src/itp.rst
Outdated
|
||
Usability Evaluation of Interactive Theorem provers | ||
========================================================= | ||
[EVAL] performs usability evaluation using focus groups. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
again, bib item
src/itp.rst
Outdated
|
||
The evaluation involves discussion about two interactive theorem provers, KeY and Isabelle. | ||
The KeY system is an interactive verification system for programs | ||
written in Java annotated with the Java Modelling Language. The user interface is tree-structured, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Modelling" -> "Modeling"
src/itp.rst
Outdated
The KeY system is an interactive verification system for programs | ||
written in Java annotated with the Java Modelling Language. The user interface is tree-structured, | ||
each node is an intermediate goal, and the children are derived from applying formulas to their parent node, | ||
whereas Isabelle only shows the current goal, and by applying tactics (sometimes called methods), which are essentially |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
run-on sentence, start a new sentence about Isabelle
src/itp.rst
Outdated
it gives too much information that the user does not care about. | ||
However KeY users oftenly have to interact with | ||
low-level logic formulas rather than doing proof on the notation level, and low-level steps are oftenly repeated by hand. | ||
Isabelle, on the other hand, produces intuitive proof. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"produces intuitive proof" -> "produces a more intuitive proof"
src/index.rst
Outdated
\part{Interactive Theorem Prover} | ||
|
||
.. toctree:: | ||
:caption: Interactive Theorem Prover |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this should go in the Live Programming chapter, not in a separate top-level chapter like this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good topic coverage and paper descriptions overall. need a little more work introducing various topics before talking about their results (see comments). second draft grade will be sent by email.
src/itp.bib
Outdated
@inproceedings{klein09, | ||
author = {Klein, Gerwin and Elphinstone, Kevin and Heiser, Gernot and Andronick, June and Cock, David and Derrin, Philip and Elkaduwe, Dhammika and Engelhardt, Kai and Kolanski, Rafal and Norrish, Michael and Sewell, Thomas and Tuch, Harvey and Winwood, Simon}, | ||
title = {seL4: Formal Verification of an OS Kernel}, | ||
booktitle = {Proceedings of the ACM SIGOPS 22Nd Symposium on Operating Systems Principles}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
22Nd -> 22nd
src/itp.bib
Outdated
@@ -0,0 +1,120 @@ | |||
@inproceedings{klein09, | |||
author = {Klein, Gerwin and Elphinstone, Kevin and Heiser, Gernot and Andronick, June and Cock, David and Derrin, Philip and Elkaduwe, Dhammika and Engelhardt, Kai and Kolanski, Rafal and Norrish, Michael and Sewell, Thomas and Tuch, Harvey and Winwood, Simon}, | |||
title = {seL4: Formal Verification of an OS Kernel}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
acronyms in bibtex titles need to be in braces to avoid capitalization changes: {OS}
src/itp.bib
Outdated
} | ||
|
||
@inproceedings{boutry16, | ||
title = {From Tarski to Descartes: Formalization of the Arithmetization of Euclidean Geometry}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Formal names need to be braced: {Tarski}
, {Descartes}
, etc.
src/itp.bib
Outdated
} | ||
|
||
@inproceedings{lerner15, | ||
title={Polymorphic blocks: Formalism-inspired UI for structured connectors}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
{UI}
src/itp.bib
Outdated
} | ||
|
||
@inproceedings{aspinall00, | ||
title={Proof General: A generic tool for proof development}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
{Proof General}
src/itp.rst
Outdated
is completely rigorous, and is oftenly tedious and hard. | ||
|
||
It is worth noting that, when we say some formal proof done by a theorem prover works, | ||
we impose the implicit assumption that the theorem prover is error-free. In other words, we have to trust the theorem provers. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
use the phrase "trusted computing base (TCB)" here, since that shows up in a lot of papers
src/itp.rst
Outdated
|
||
|
||
Now there are `more features, <http://proofgeneral.inf.ed.ac.uk/htmlshow.php?title=Proof+General+user+manual&file=releases%2FProofGeneral%2Fdoc%2FProofGeneral%2FProofGeneral_2.html>`_ | ||
supported by proof general, such as proof by pointing (appropraite tactics or lemmas are automatically applied |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"appropraite" -> "appropriate"
src/itp.rst
Outdated
The geometry software is used for drawing geometric figures and inventing conjectures by using feed back from the geometric software | ||
, and a theorem prover is used to prove the conjectures. | ||
In the automatic mode, the conjecture along with the graph created by the user is rewritten and translated to the automatic theorem prover. | ||
The user can choose certain strategies such as setting searchning depth for the automated theorem prover, but has no control during proving, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"searchning" -> "searching"
src/itp.rst
Outdated
:filter: key == 'boutry16' | ||
|
||
Tarski's axioms, which are axioms for Euclidean geometry, | ||
is formulated in first-order logic, are formalized in Coq, which 'paves the way for the use of algebraic automated |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
didn't conclude the quote here
src/itp.rst
Outdated
is formulated in first-order logic, are formalized in Coq, which 'paves the way for the use of algebraic automated | ||
deduction methods in synthetic geometry within the Coq proof assistant. | ||
|
||
Usability Evaluation of Interactive Theorem provers |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"provers" -> "Provers"
src/itp.rst
Outdated
|
||
Overview | ||
======== | ||
Formal verification is essential to make sure important properties such as safety hold in software or hardware systems. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the next sentence restates this sentence, so just remove this one
src/itp.rst
Outdated
whether it helps the user understand the symbolic meaning of the formulas. The paper also states that this tool has a potential of | ||
laying the foundation for crowdsourcing proofs via gamification. | ||
|
||
Proof General |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This isn't a general topic, it's a specific system. Maybe call these "Live Interactive Theorem Provers", and add the evaluation paper about KeY and Isabelle in to that section instead of having them separated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks! will send final grades by email soon
@@ -71,7 +71,7 @@ @article{narboux07 | |||
} | |||
|
|||
@inproceedings{boutry16, | |||
title = {From Tarski to Descartes: Formalization of the Arithmetization of Euclidean Geometry}, | |||
title = {From {Tarski} to {Descartes}: Formalization of the Arithmetization of Euclidean Geometry}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Euclidean" should also be capitalized
There are still contents to add, and citation to fix.