I have spent the week reviewing the code and understanding how it interfaces with the external PODEM and ATLANTA libraries to generate test vectors. I have also explored various open-source implementations of PODEM that could potentially serve as a reference or skeleton for my work.
However, I've found that many of these implementations, often created for coursework or thesis projects, have limitations. Some only deal with gates having two inputs, while others only implement brute force versions of PODEM.
Currently, I am studying the PODEM algorithm in detail, focusing on understanding the potential optimizations that could be made in the back-tracking and back-tracing steps. I found a paper that discusses the implementation at a decent level of detail, which has been helpful.
Moving forward, I propose implementing PODEM in Python and interfacing it with Fault (Swift code), similar to how the external libraries are currently handled. My reasoning for this is multifold: