[HN Gopher] Lean, Coq and other proof assistants: Visualising pr...
       ___________________________________________________________________
        
       Lean, Coq and other proof assistants: Visualising proofs as trees
        
       This is my overview of proof visualisation tools among all modern
       proof assistants.  If you're aware of any tools I might have
       missed, please @ me in the comments. I aimed to cover every one I
       could find.
        
       Author : lakesare
       Score  : 55 points
       Date   : 2023-09-20 11:48 UTC (1 days ago)
        
 (HTM) web link (lakesare.brick.do)
 (TXT) w3m dump (lakesare.brick.do)
        
       | tunesmith wrote:
       | Well, I think a DAG would generally be better than a tree for
       | visually representing a proof. Because a premise can support
       | multiple lemmas.
       | 
       | One site I've been working on uses graphs to generate arguments
       | in that fashion:
       | 
       | http://concludia.org/
        
         | lakesare wrote:
         | That's correct, in fact we would have a DAG if we displayed all
         | possible arrows, but we conceal it to make the UI easier to
         | interact with for the user. Hypotheses (green nodes) form many
         | little trees, and goals (red trees) form a single tree. These
         | must be trees, and not lattices, because that's just how Lean
         | and Coq tactics work. However, tactics make use of hypotheses,
         | and these can be displayed as arrows that connect hypotheses
         | and goals, making it, in this sense, a DAG (here is an example,
         | I moved the nodes a bit to make the arrows obvious
         | https://github.com/Paper-
         | Proof/paperproof/issues/9#issuecomm...). Concludia looks
         | interesting, does it support first-order logic/ORs?
        
       | Reubend wrote:
       | Thanks for posting this. As a beginner, do I need to already know
       | what "sequent-calculus-style trees" are for this to be useful?
       | 
       | I didn't see any broad explanation of what the tree structure
       | means here. I can see that disjunctions split a branch into 2
       | branches, but I'm still pretty confused overall.
        
         | lakesare wrote:
         | It isn't necessary to know theory for these visualisations to
         | be useful, both Traf and Paperproof (and sequence calculus
         | trees!) should, ideally, just reflect what's already happening
         | in your mental image while you're writing a Lean/Coq/on-paper
         | mathematical proof. But I agree it warrants a
         | tutorial/explanation, got to write it. I think it might be
         | particularly unclear what's happening if you're just looking at
         | the full tree of the already-proved-theorem. As we're writing
         | the proof, hypothesis nodes (green, what we have) move down;
         | and goal nodes (red, what we want to have) move up. So it kind
         | of goes from both sides to the center, and you should read it
         | "from both sides to the center", takes getting used to. Here is
         | a video of what's happening in Paperproof as we're writing the
         | proof e.g.: https://www.youtube.com/watch?v=0dVj4ITAF1o.
        
         | cobbal wrote:
         | Some searching found http://logitext.mit.edu/tutorial . It
         | tries to explain sequent calculus with an interactive gui
         | prover. Not sure how approachable it is... I've gotten too used
         | to these things to know how to explain them properly.
        
       | nathell wrote:
       | Reminds me of Leslie Lamport's ,,How to Write a Proof" [1]. I
       | wonder whether there exist tools that aid in manually writing
       | visualisable proofs?
       | 
       | https://lamport.azurewebsites.net/pubs/lamport-how-to-write....
        
       | [deleted]
        
       | mjfl wrote:
       | What is it with proof assistant designers and terrible naming
       | instincts? "Lean" as a name collides with all sorts of
       | business/engineering productivity frameworks "Lean software
       | development", "lean business management", "running a lean
       | startup". And of course Coq is phallic both in English and the
       | original French. It must be the case that the people that design
       | these things live in a separate plane of existence where these
       | things don't bother them.
        
         | [deleted]
        
       ___________________________________________________________________
       (page generated 2023-09-21 23:00 UTC)