WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Support finding relevant facts and definitions #206

@muenchnerkindl

Description

@muenchnerkindl

The prover requires users to list all facts to be used and all definitions to be expanded for the proof of a step, either through USE directives that remain in effect throughout their scope or directly in the BY clause justifying the step. This helps control the search space for automatic proof backends, but it can be tedious for the user to remember all relevant facts and to figure out what may be missing just from staring at a large proof obligation.

It would therefore be useful to have an assistant capable of suggesting relevant facts and definitions. A first possibility would be to launch backend provers repeatedly while adding more and more facts and definitions that are available in the context. (Obviously, only definitions of operators that appear in the proof obligation need to be expanded.) A more ambitious approach could analyze the proof obligation in order to identify possibly relevant facts, perhaps taking into account the capabilities and limitations of the backend to be used. For example, pure first-order provers are good at handling quantified formulas, whereas SMT solvers can reason about arithmetic.

Once an obligation has been proved successfully, the facts and definitions used for the proof should be recorded so that they remain available for subsequent launches of the prover.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementA new feature, an improvement, or other addition.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions