Function Repository Resource:

# FindUnresolvedCriticalPairs

Find all unresolved (non-convergent) critical pairs for a given multiway system evolution

Contributed by: Jonathan Gorard
 ResourceFunction["FindUnresolvedCriticalPairs"][rules,init,n] finds all unresolved critical pairs after n steps in the evolution of the multiway system with the specified rules starting from initial condition init.

## Details and Options

Critical pairs are pairs of terms in a rewrite system that result from overlapping rules.
In the context of multiway systems, critical pairs indicate bifurcations or ambiguities in the multiway system evolution.
ResourceFunction["FindUnresolvedCriticalPairs"] gives all critical pairs in the multiway system that do not eventually converge back to a common state.
Multiway systems operate on strings, lists and WolframModel systems.
When rules are specified by an explicit association, the following elements can be included:
 "StateEvolutionFunction" the list of successors for a given state "StateEquivalenceFunction" whether two states should be considered equivalent "StateEventFunction" the list of events obtained from a given state "SystemType" system type name "EventSelectionFunction" which events from a given state should be included
The initial condition can consist of a single state or a list of states.

## Examples

### Basic Examples (5)

Find all unresolved critical pairs for a non-causally-invariant multiway system evolution:

 In[1]:=
 Out[1]=
 In[2]:=
 Out[2]=

Find all unresolved critical pairs for a more complicated non-causally-invariant multiway system evolution:

 In[3]:=
 Out[3]=
 In[4]:=
 Out[4]=

By picking a specific updating order, we can force all critical pairs to converge:

 In[5]:=
 Out[5]=
 In[6]:=
 Out[6]=

Determine that a multiway system is causally invariant:

 In[7]:=
 Out[7]=
 In[8]:=
 Out[8]=

FindUnresolvedCriticalPairs can also find unresolved critical pairs in WolframModel evolutions:

 In[9]:=
 Out[9]=
 In[10]:=
 Out[10]=

### Scope (1)

FindUnresolvedCriticalPairs gives an empty list if and only if the multiway system is causally invariant:

 In[11]:=
 Out[11]=
 In[12]:=
 Out[12]=

Jonathan Gorard

## Version History

• 1.0.0 – 04 December 2019