In[]:=
rules={not[1]0,not[0]1,​​and[0,0]0,and[0,1]0,and[1,0]0,and[1,1]1,​​or[0,0]0,or[0,1]1,or[1,0]1,or[1,1]1,​​xor[0,0]0,xor[0,1]1,xor[1,0]1,xor[1,1]0};​​​​​​​​ init=and[or[x,x],or[y,x]];​​ init=ReplaceAll[init,{x1,y0}];​​ ​​expr=init;​​prevExpr={expr};​​Do[expr=ResourceFunction["MultiwayCombinator"][rules"Sequential",expr,1];​​Echo[expr];​​expr=Part[expr,2];​​Print[i];​​Print[expr];​​If[expr=={},Break[]];​​  prevExpr=expr,​​{i,15}];​​StringForm["Final expression: ``",Part[prevExpr,1]]​​
»
{{and[or[1, 1], or[0, 1]]},{and[1, or[0, 1]]}}
1
{and[1, or[0, 1]]}
»
{{and[1, or[0, 1]]},{and[1, 1]}}
2
{and[1, 1]}
»
{{and[1, 1]},{1}}
3
{1}
»
{{1},{}}
4
{}
Out[]=
Final expression: 1
In[]:=
rules={not[1]0,not[0]1,​​and[0,0]0,and[0,1]0,and[1,0]0,and[1,1]1,​​or[0,0]0,or[0,1]1,or[1,0]1,or[1,1]1,​​xor[0,0]0,xor[0,1]1,xor[1,0]1,xor[1,1]0};​​​​​​​​init=or[xor[and[or[0,0],or[0,1]],1],and[1,1]];​​​​​​​​ResourceFunction["MultiwayCombinator"][rules,init,10,"StatesGraphStructure"]
Out[]=