Marco Maggi wrote:
Thanks to all. Am I correct in saying that with a form like:

  (a . body)

if the symbol 'a' appears in 'body' the graph is cyclic,
while if the symbol does not appear in its own body the
graph is Acyclic?
Well, it is immediately obvious that any graph (or digraph) which has such a form has a cycle. So if a graph is acyclic, then no such form appears. But you also want the converse or its contrapositive: if no such form appears, then the graph is acyclic; if a graph is cyclic, then such a form appears.

Are you trying to represent graphs or digraphs?


I. you are representing graphs

The answer is no. (a (b c) c) contains a cycle a-b-c-a, but does not contain an (a . body) with a in body form.


II. you are representing digraphs

The answer is provisionally no. (a (b c) (c b)) contains a cycle b->c->b, but no form (a . body) with a in body. However, this graph could also be represented as (a (b (c b)) c), which does contain such a form. Notice that in this latter representation, the first time a node appears, its edge list is given.

So, if we do not require the edge list to be given at the first appearance of a node, the answer is definitely no. OTOH, if we do make such a requirement, the answer seems to be yes, but I have not proven this to be so.

Regards,
Jon


_______________________________________________
Guile-user mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/guile-user

Reply via email to