Hello all,
this is a problem which has haunted me for some time. If this is simply
hillarious, please tell me so. Or it may be some well known unsolvable
problem...
An assembly process takes inputs and produces outputs. I could say a Process
is a function
canProduce :: [Input]->[Output]->Bool
which tells me if the outputs can be produced from the inputs
There may be a similar function which tells me if the inputs are completely
consumed to procude the output.
The inputs do not determine the exact outputs. Think of a Process which
combines a List of Ints into pairs, such that the input ints are consumed and
each input Int occurs in only one position in the output. There are many ways
to do this. Still for any set of input Ints and output pairs I could decide
if the output can be produced from the input.
Likewise the Input is not determined by the output. There may be lots of
choices from what I could build my output (buy from different vendors).
When I know more about the inputs and outputs my choices get more and more
limited. I would like to to pass inputs and/or outputs to "something" and I
would like to get a "something" which is more restricted, but still
essentially a thing which tells me if the outputs can be produced from the
inputs.
I just cannot find a way to even THINK about this problem in a reasonable
general way.
--
Martin