Tractables / LogicCircuits.jl

Logic Circuits from the Juice library
https://tractables.github.io/LogicCircuits.jl/dev/
Apache License 2.0
48 stars 4 forks source link

Add condition operation and forgetting #78

Open khosravipasha opened 3 years ago

khosravipasha commented 3 years ago
  1. Condition might be slightly different than what we have implemented. Maybe rename to something like conjoin_literals.

  2. In what cases this is possible? I get error when trying it on Sdds.

guyvdbroeck commented 3 years ago

The naming issue was resolved in https://github.com/Juice-jl/LogicCircuits.jl/commit/e92c417386f4b3a9089c1302148d30cbe82c6951 where condition is now conjoin in the transformations. We should still consider adding a condition operation though, and a forgetting one -- leaving this issue open.

khosravipasha commented 3 years ago

What was the main difference with condition vs conjoin? Would be a nice example in the docs. We already have forgetting, but maybe not for all types of circuit.

guyvdbroeck commented 3 years ago

The function after conditioning on X no longer depends on X. The function after conjoining with X still depends on it and fixes it to one value.

khosravipasha commented 3 years ago

renamed since original issue was resolved and other new things were suggested.