Skip to content

Wrong results when using parallel compositions #132

Open
@MatCos

Description

@MatCos

I came across some unexplainable behavior when using the parallel composition of two AIGER circuits.

Given the following minimal example:

    circ0 = aiger.parse("aag 2 1 1 1 0\n2\n4 2\n4\ni0 i0\nl0 l0\no0 o0")
    circ1 = aiger.parse("aag 2 1 1 1 0\n2\n4 2\n4\ni0 i1\nl0 l0\no0 o1")

of two AIGER circuits that are copies of each other but with disjunct inputs/outputs.
Both circuits have one latch that delays the only input to the output by one step.
The composed circuit:

   circ0 | circ1
   aag 3 2 1 2 0
   2
   4
   6 4 0
   6
   6
   i0 i0
   i1 i1
   o0 o0
   o1 o1
   l0 l0

consists of only one latch, hence input i0 is ignored and circ0 is not subsumed by the composed result

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions