:Begin: :Function: arroverlapq :Pattern: lapQ[a_, b_] :Arguments: {a,b} :ArgumentTypes: {Manual} :ReturnType: Integer :End: :Evaluate: lapQ::usage="check overlap of a in b, as array-graphs" :Begin: :Function: nonconrepl :Pattern: tryreplace[f_List,g_List,h_List,e_List] :Arguments: {f,g,h,e} :ArgumentTypes: {Manual} :ReturnType: Manual :End: :Evaluate: tryreplace::usage="tryreplace[f,g,h,ftg] replaces the background graph h with the replacement graph f in the place of the matching pattern graph g, where the hairs have been aligned from ftg. The graphs are given as a sorted list, in low-connected format, with consecutive node labels starting at 0. The hair alignments are of the form {node in f, node in g}." :Begin: :Function: nonconcount :Pattern: trycount[g_List,h_List] :Arguments: {g,h} :ArgumentTypes: {Manual} :ReturnType: Manual :End: :Evaluate: trycount::usage="trycount[g,h] counts the occurences of g in h." :Begin: :Function: nonconlaps :Pattern: trylaps[g_List,h_List] :Arguments: {g,h} :ArgumentTypes: {Manual} :ReturnType: Manual :End: :Evaluate: trylaps::usage="trylaps[g,h] yields {count, nodelist} counts the occurences of g in h, and gives the list of nodes in h which are in a pattern match with g." :Begin: :Function: allmultievo :Pattern: netevolvelist[a:{___List},b_List,c_Integer] :Arguments: {a,b,c} :ArgumentTypes: {Manual} :ReturnType: Manual :End: :Evaluate: netevolvelist::usage="netevolvelist[{{f,g,hair relations}...},h,k] replaces the background graph h using the list of rules g->f, after k steps, giving the list of the evolution." :Begin: :Function: multievo :Pattern: netevolve[a:{___List},b_List,c_Integer] :Arguments: {a,b,c} :ArgumentTypes: {Manual} :ReturnType: Manual :End: :Evaluate: netevolve::usage="netevolve[{{f,g,hair relations}...},h,k] replaces the background graph h using the list of rules g->f, after k steps." :Begin: :Function: multievoendq :Pattern: netevolvendq[a:{___List},b_List,c_Integer] :Arguments: {a,b,c} :ArgumentTypes: {Manual} :ReturnType: Integer :End: :Evaluate: netevolvendq::usage="netevolvendq[{{f,g,hair relations}...},h,k] replaces the background graph h using the list of rules g->f, after k steps, returning 1 if the evolution ends within k steps, and returning 0 otherwise." :Begin: :Function: causalevo :Pattern: causalnet[a:{___List},b_List,c_Integer] :Arguments: {a,b,c} :ArgumentTypes: {Manual} :ReturnType: Manual :End: :Evaluate: causalnet::usage="causalnet[{{f,g,hair relations}...},h,k] gives the causal network, derived from replacing the background graph h using the list of rules g->f, in k steps." :Begin: :Function: isomorphq :Pattern: isomorphq[g_List,h_List] :Arguments: {g,h} :ArgumentTypes: {Manual} :ReturnType: Integer :End: :Evaluate: isomorphq::usage="isomorphq[g,h] returns 1 if g is isomorphic to h, and returns 0 otherwise. g is assumed to be low-connected, and h must be connected." :Begin: :Function: strongisoq :Pattern: strongisoq[g_List,h_List,n_Integer] :Arguments: {g,h,n} :ArgumentTypes: {Manual} :ReturnType: Integer :End: :Evaluate: strongisoq::usage="strongisoq[g,h] returns 1 if g is isomorphic to h, under the assumption that the first n nodes of each graph are identified, and returns 0 otherwise. This is a stronger condition than isomorphism. g is assumed to be low-connected, and h must be connected."