Skip to content

Enhancement Proposals

Olivier Laurent edited this page Apr 28, 2021 · 27 revisions

Implicit Exchange

  • Goal: provide export of proofs matching what the user sees on the screen
  • Code:
    • extend Exchange_proof with type sequent * int list * int list * proof (let us call σ1 the first permutation and σ2 the second one)
    • if ⊢ Γ is the conclusion of the premise, ⊢ Γσ1 is what is on the screen (generated by a posteriori drag and drop by user) and ⊢ Γσ2 is the conclusion of the proof
    • when a rule is generated, σ1 is the identity
    • when the user modifies the order in an existing sequent, σ2 is unchanged and σ1 is updated
    • for Coq export, only σ2 matters, the conclusion of the proof is ⊢ Γσ2, as well as for exports with explicit exchange rules
    • for export with implicit exchange rule, the displayed conclusion of the proof is ⊢ Γσ1

Cyclic Proofs

  • Goal: dealing with infinite proofs through back edges connecting a proof leaf to an identical sequent met previously during proof construction
  • Interface: drag and drop a turnstile symbol to another sequent which is equal (not up to permutation since permutation is meaningful)

Clone this wiki locally