FMFI-UK-1-AIN-412 / proof-assistant

Proof assistant
MIT License
0 stars 1 forks source link

More uniform treatment of assumptions and goals #2

Open crnkjck opened 6 years ago

crnkjck commented 6 years ago

So far, the assistant automatically checks only derivation of new assumptions from existing ones, but can neither derive admissible assumptions from goals (goal: φ → ψ / assumption: φ), nor detect that proving a sub-goal suffices to prove a super-goal (goal: φ → ψ / goal: ψ). Goals are treated specially and on a very basic level.

Goals can be made essentially “first-class” citizens by treating them similarly to F-formulas in tableaux. This requires adjustments to proof structure, validation, and rules (matchers).

Rules (matchers) have to operate not only assumptions, but, also on goals and combinations of assumptions and goals.

Validation needs to collect not only sets of assumptions, but also sets of active goals. Each branch is thus a sequent.

Proof structure should probably have five kinds of nodes:

A goal is proved if all branches of its proof are closed.

A branch is closed if the sequent collected in its leaf either has:

Note that this treatment will essentially eliminate the need for proof by contradiction (it is derivable by a rule that when proving a goal φ, you can assume ¬φ, and vice versa), and proof by generalization (just a special case of “Suffices to prove” goal).