You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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)