Skip to content
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

Abella documentation is woefully incomplete #80

Open
chaudhuri opened this issue Mar 5, 2017 · 6 comments
Open

Abella documentation is woefully incomplete #80

chaudhuri opened this issue Mar 5, 2017 · 6 comments
Labels

Comments

@chaudhuri
Copy link
Member

Please list here things that you were not able to find good documentation for. This will let us prioritize what needs to be fixed/updated.

@chaudhuri chaudhuri added the text label Mar 5, 2017
@lambdacalculator
Copy link

lambdacalculator commented Mar 5, 2017

Here is a list to get things started:

  • The "For those who aren't familiar with the logic" section should be expanded to include enough information for the intended audience. What of those with little or no exposure to lambda-Prolog?
  • Update the blurb in the description of Define concerning stratification. What, exactly, is the condition being enforced?
  • Split doesn't apply only to mutually inductive theorems, although that is its main use case.
  • Set should list all available options (at least subgoals and types have been updated/added).
  • The tactic section should begin with a description of hypothesis naming as well as *hypothesis consumption, so the tactics that use it have something to refer to.
  • Update induction to include alternating quantifiers and implications, with perhaps an example.
  • search should include a rough description of the search procedure, so that users can quickly learn what to expect, as well as a clearer definition of search depth, since it is a parameter to other tactics.
  • Update descriptions of unfold, exists/witness, clear.
  • The description of Close contains an inconsistency: at first, in both the top-level command section and the subordination section, we are told that the tactic will close all subordinates of a list of types, but later in the same paragraph of the subordination section that we have to close them ourselves (which I believe is correct).

It would also be nice to have somewhere an annotated directory of the examples, briefly describing what each example is about, as well as which technical aspects of theorem proving in Abella are illustrated by those examples.

@chaudhuri
Copy link
Member Author

Thanks Todd. I took the liberty of turning your bullets into checkboxes.

About the annotated directory, I am not sure if it makes sense to divide them up based on what features of Abella they use. We can perhaps improve this page a bit.

@lambdacalculator
Copy link

I wasn't suggesting reorganizing the examples in any way; I think the current organization is just fine. I was just thinking that a title alone is not enough information for someone looking for ideas on how to organize a development. Perhaps a brief paragraph on each example, with information on what techniques are illustrated by the example, would go a long way to help someone looking for ideas. I could try doing a few to illustrate better what I'm suggesting.

Also, it would be nice if there were a way to add a stylized comment in the example code itself that is automatically picked up by the website generation tool and turned into the blurb in the directory.

@chaudhuri
Copy link
Member Author

Yes, @ThatDaleMiller and I have been discussing how to add a little bit of literate programming support to Abella so that we can interleave documentation and code in a web-page. We can try to steal ideas from Literate Haskell, Isabelle, Coq. or even use some turnkey solution such as noweb.

@amerikan
Copy link
Contributor

amerikan commented Jun 4, 2018

It will be good to consider this for: abella-prover/abella-prover.org#4

@ThatDaleMiller
Copy link

I have updated this document with more about stratification.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: In Progress
Development

No branches or pull requests

4 participants