Sun Mar 25 11:39:36 CEST 2012

Adding arrows to a network

A bijective constraint network (equation network) is a collection of
nodes and relations, where each node takes part in a number of
relations, but is output to only one relation.  Solving the network is
to determine by which relation a node is determined.

The fact that this is local allows focus on compositon.

Can this be done using a simple bitmask?  I.e. this is a form of
3-state logic:

  0  output
  1  input
  x  unknown

Probably the I/O assignment and actual function "production" can be

- When a node is asserted, for each connected equation, determine if
  the degrees of freedom are reached and propagate for all relations
  not self.

Using an imperative algorithm this seems straightforwad.  Is there a
functional way?

Taking a break.  This probably needs some more background processing..

The input is a network so I'm thinking of using some kind of spanning
tree representation.  The result is also a DAG, so a simple tree rep
won't work for the result.  (If this where possible, the network might
have been represented by "a" solution, where changing of I/O
configurations would simply transform this solution).