Trying to break cycles when printing a .dot DAG (#8698)
authorvinciusb <65973642+vinciusb@users.noreply.github.com>
Fri, 20 May 2022 13:55:02 +0000 (10:55 -0300)
committerGitHub <noreply@github.com>
Fri, 20 May 2022 13:55:02 +0000 (13:55 +0000)
commit3546ec8388934b1a30ad025551884a724eeb25b9
tree5ae5ffff6d1230819ed58e68adc480869f664d3c
parent5bee1ec55d125db9980a669af694642f483593a5
Trying to break cycles when printing a .dot DAG (#8698)

Change the way cvc5 traverse and print the proof when --proof-dot-dag option is used. The main change is related to the way the printer deals with cycles between proof nodes that are in a ancestor/descendant relationship. The new conditions are:

- If any proof node under a first proof node has the hash equal to the first one, this would introduces a cycle. To avoid it, then no sharing between nodes happens in this case.

Signed-off-by: Vinícius Braga Freire vinicius.braga.freire@gmail.com
src/proof/dot/dot_printer.cpp
src/proof/dot/dot_printer.h