Zulip Chat Archive
Stream: Equational
Topic: multiple transitive closure computation scripts
Andrés Goens (Oct 05 2024 at 10:06):
There seems to be three different ways of computing the transitive closure of implications and I've lost the overview of which one is which (or why there's three different ones). There's:
scripts/extract_implications.lean
I thought this was the canonical one, as it actually checks the Lean implications, and it seem to be used bygenerate_dashboard.py
scripts/transitive_closure.rb
which seems to be used bygraph.rb
andgenerate_graphviz_graph.rb
scripts/process_implications.py
which seems to be used bygenerate_imaghe.py
andgenerate_most_wanted_list.py
.
Is it just three concurrent efforts to do this? Can we agree one a single one that's going to be the ground truth?
(I'm asking for equational#174 to know where we should calculate this, but I think it's a more general question)
Vlad Tsyrklevich (Oct 05 2024 at 11:17):
I think ground truth should be lake exe extract_implications --closure
, but the others are still useful for tooling and re-computing things so they should stick around
Amir Livne Bar-on (Oct 05 2024 at 11:17):
Author of process_implications here. Everything it does is included in the extract_implications.
I looked at the 2 scripts that import it, they only use it for parsing, which is provided by "extract_implication raw". And actually, both scripts only calculate the transitive closure of implications and not of non-implications, so they better use "extract_implications outcomes" instead to get that closure too.
Vlad Tsyrklevich (Oct 05 2024 at 11:19):
yeah so the ruby and python implementation authors both say use extract_implications
as ground truth
Last updated: May 02 2025 at 03:31 UTC