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

Proof summary improvements #1216

Merged
merged 18 commits into from
Jun 2, 2021
Merged

Proof summary improvements #1216

merged 18 commits into from
Jun 2, 2021

Commits on Jun 2, 2021

  1. Track some additional metadata about theorems,

    including source positions.
    robdockins committed Jun 2, 2021
    Configuration menu
    Copy the full SHA
    5dced9a View commit details
    Browse the repository at this point in the history
  2. Add annotations to rewrite rules and simpsets.

    This allows users to add metadata their rewrite rules,
    and have rewriting steps record and return the metadata
    for rules what were actually used in rewriting.
    
    The intention is to use these annotations to link rewrite rules
    back to theorems/axioms that generated them so proof steps
    can determine the dependencies of a proof.
    robdockins committed Jun 2, 2021
    Configuration menu
    Copy the full SHA
    e0df276 View commit details
    Browse the repository at this point in the history
  3. Update uses of saw-core API WRT simpset annotations.

    Currently, we use trivial `()` annotations and ignore annotations
    collected by rewrite steps. The plan is to allocate unique nonces
    for each theorem and use those to track theorem dependencies.
    robdockins committed Jun 2, 2021
    Configuration menu
    Copy the full SHA
    2461b4e View commit details
    Browse the repository at this point in the history
  4. Update saw-remote-api with Simpset changes.

    TODO! We currently are allowing users to create simpsets from
    raw terms, and probably we should only let `Theorem` values
    be turned into rewrite rules.
    robdockins committed Jun 2, 2021
    Configuration menu
    Copy the full SHA
    be95621 View commit details
    Browse the repository at this point in the history
  5. Deprecate addsimp' and addsimps'.

    Instead, users should use `core_axiom` or `prove_print (admit "...")`
    to turn terms into theorems for use with `addsimp` or `addsimps`.
    robdockins committed Jun 2, 2021
    Configuration menu
    Copy the full SHA
    3177736 View commit details
    Browse the repository at this point in the history
  6. Start tracking theorem dependencies.

    Add a unique value to each generated theorem, and compute the
    set of theorems a proof depends on while checking evidence.
    Track the collection of all proved theorems during a run
    in a `TheoremDB`; later we should be able to generate a
    graph of theorem depencencies from this database.
    robdockins committed Jun 2, 2021
    Configuration menu
    Copy the full SHA
    c31f25e View commit details
    Browse the repository at this point in the history
  7. Add a new ProvedSpec record for tracking metadata about

    specs that have been proved or assumed.
    robdockins committed Jun 2, 2021
    Configuration menu
    Copy the full SHA
    adaf986 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    8925ace View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    5600769 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    c1e9fec View commit details
    Browse the repository at this point in the history
  11. Squash warnings

    robdockins committed Jun 2, 2021
    Configuration menu
    Copy the full SHA
    deccd68 View commit details
    Browse the repository at this point in the history
  12. Add elapsed time metadata to theorems and proved specifications.

    These are now output in JSON verification summaries.
    robdockins committed Jun 2, 2021
    Configuration menu
    Copy the full SHA
    ef6924f View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    bd97d4e View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    9f2d92d View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    d43bbf6 View commit details
    Browse the repository at this point in the history
  16. Add a rough cut at visualizing a proof dependency graph.

    We parse a verification summary JSON file and produce
    a Graphviz file intended to be fed into `dot` to produce
    a visulaization. For large proofs, especially, the layout
    is problematic; however, even so, it seems like a helpful
    way to scroll through a proof and get a sense of what is
    proved and what depends on what.
    robdockins committed Jun 2, 2021
    Configuration menu
    Copy the full SHA
    eab4247 View commit details
    Browse the repository at this point in the history
  17. Use HTML-like tables instead of graph clusters for

    displaying verification conditions of method specs.
    This reduces clutter in the graph and produces more
    readable output.
    robdockins committed Jun 2, 2021
    Configuration menu
    Copy the full SHA
    a267fc9 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    bf68aac View commit details
    Browse the repository at this point in the history