cases: fixes a1 :: "nat \<Rightarrow> 'd"   and a2 :: "'e net_state"   and a3 :: "'f node_action"   and a4 :: "nat \<Rightarrow> 'd"   and a5 :: "'e net_state"   and S :: "(((nat \<Rightarrow> 'd) \<times> 'e) \<times> 'f seq_action \<times> (nat \<Rightarrow> 'd) \<times> 'e) set" assumes "((a1, a2), a3, a4, a5) \<in> onode_sos S" obtains \<sigma> :: "nat \<Rightarrow> 'd" and s :: "'e" and m :: "'f" and \<sigma>' :: "nat \<Rightarrow> 'd" and s' :: "'e" and i :: "nat" and R :: "nat set" where "a1 = \<sigma>''__" and "a2 = NodeS ia__ sa__ Ra__" and "a3 = Ra__:*cast(m__)" and "a4 = \<sigma>'''__" and "a5 = NodeS ia__ s'a__ Ra__" and "((\<sigma>''__, sa__), broadcast m__, \<sigma>'''__, s'a__) \<in> S"   | \<sigma> :: "nat \<Rightarrow> 'd" and s :: "'e" and D :: "nat set" and m :: "'f" and \<sigma>' :: "nat \<Rightarrow> 'd" and s' :: "'e" and i :: "nat" and R :: "nat set" where "a1 = \<sigma>''''__" and "a2 = NodeS ib__ sb__ Rb__" and "a3 = (Rb__ \<inter> D):*cast(ma__)" and "a4 = \<sigma>'''''__" and "a5 = NodeS ib__ s'b__ Rb__" and "((\<sigma>''''__, sb__), groupcast D ma__, \<sigma>'''''__, s'b__) \<in> S"   | \<sigma> :: "nat \<Rightarrow> 'd" and s :: "'e" and d :: "nat" and m :: "'f" and \<sigma>' :: "nat \<Rightarrow> 'd" and s' :: "'e" and R :: "nat set" and i :: "nat" where "a1 = \<sigma>''''''__" and "a2 = NodeS ic__ sc__ Rc__" and "a3 = {d__}:*cast(mb__)" and "a4 = \<sigma>'''''''__" and "a5 = NodeS ic__ s'c__ Rc__" and "((\<sigma>''''''__, sc__), unicast d__ mb__, \<sigma>'''''''__, s'c__) \<in> S" and "d__ \<in> Rc__"   | \<sigma> :: "nat \<Rightarrow> 'd" and s :: "'e" and d :: "nat" and \<sigma>' :: "nat \<Rightarrow> 'd" and s' :: "'e" and R :: "nat set" and i :: "nat" where "a1 = \<sigma>''''''''__" and "a2 = NodeS id__ sd__ Rd__" and "a3 = \<tau>" and "a4 = \<sigma>'''''''''__" and "a5 = NodeS id__ s'd__ Rd__" and "((\<sigma>''''''''__, sd__), \<not>unicast da__, \<sigma>'''''''''__, s'd__) \<in> S" and "da__ \<notin> Rd__" and "\<forall>j. j \<noteq> id__ \<longrightarrow> \<sigma>'''''''''__ j = \<sigma>''''''''__ j"   | \<sigma> :: "nat \<Rightarrow> 'd" and s :: "'e" and d :: "nat" and \<sigma>' :: "nat \<Rightarrow> 'd" and s' :: "'e" and i :: "nat" and R :: "nat set" where "a1 = \<sigma>''''''''''__" and "a2 = NodeS ie__ se__ Re__" and "a3 = ie__:deliver(d)" and "a4 = \<sigma>'''''''''''__" and "a5 = NodeS ie__ s'e__ Re__" and "((\<sigma>''''''''''__, se__), deliver d, \<sigma>'''''''''''__, s'e__) \<in> S" and "\<forall>j. j \<noteq> ie__ \<longrightarrow> \<sigma>'''''''''''__ j = \<sigma>''''''''''__ j"   | \<sigma> :: "nat \<Rightarrow> 'd" and s :: "'e" and \<sigma>' :: "nat \<Rightarrow> 'd" and s' :: "'e" and i :: "nat" and R :: "nat set" where "a1 = \<sigma>''''''''''''__" and "a2 = NodeS if__ sf__ Rf__" and "a3 = \<tau>" and "a4 = \<sigma>'''''''''''''__" and "a5 = NodeS if__ s'f__ Rf__" and "((\<sigma>''''''''''''__, sf__), \<tau>, \<sigma>'''''''''''''__, s'f__) \<in> S" and "\<forall>j. j \<noteq> if__ \<longrightarrow> \<sigma>'''''''''''''__ j = \<sigma>''''''''''''__ j"   | \<sigma> :: "nat \<Rightarrow> 'd" and s :: "'e" and m :: "'f" and \<sigma>' :: "nat \<Rightarrow> 'd" and s' :: "'e" and i :: "nat" and R :: "nat set" where "a1 = \<sigma>''''''''''''''__" and "a2 = NodeS ig__ sg__ Rg__" and "a3 = {ig__}\<not>{}:arrive(mc__)" and "a4 = \<sigma>'''''''''''''''__" and "a5 = NodeS ig__ s' Rg__" and "((\<sigma>''''''''''''''__, sg__), receive mc__, \<sigma>'''''''''''''''__, s') \<in> S"   | \<sigma>' :: "nat \<Rightarrow> 'd" and i :: "nat" and \<sigma> :: "nat \<Rightarrow> 'd" and s :: "'e" and R :: "nat set" and m :: "'f" where "a1 = \<sigma>'''''''''''''''''__" and "a2 = NodeS ih__ sh__ Rh__" and "a3 = {}\<not>{ih__}:arrive(m)" and "a4 = \<sigma>''''''''''''''''__" and "a5 = NodeS ih__ sh__ Rh__" and "\<sigma>''''''''''''''''__ ih__ = \<sigma>'''''''''''''''''__ ih__"   | \<sigma>' :: "nat \<Rightarrow> 'd" and i :: "nat" and \<sigma> :: "nat \<Rightarrow> 'd" and s :: "'e" and R :: "nat set" and i' :: "nat" where "a1 = \<sigma>'''''''''''''''''''__" and "a2 = NodeS ii__ si__ Ri__" and "a3 = connect(ii__, i'__)" and "a4 = \<sigma>''''''''''''''''''__" and "a5 = NodeS ii__ si__ (Ri__ \<union> {i'__})" and "\<sigma>''''''''''''''''''__ ii__ = \<sigma>'''''''''''''''''''__ ii__"   | \<sigma>' :: "nat \<Rightarrow> 'd" and i :: "nat" and \<sigma> :: "nat \<Rightarrow> 'd" and s :: "'e" and R :: "nat set" and i' :: "nat" where "a1 = \<sigma>'''''''''''''''''''''__" and "a2 = NodeS ij__ sj__ Rj__" and "a3 = connect(i'a__, ij__)" and "a4 = \<sigma>''''''''''''''''''''__" and "a5 = NodeS ij__ sj__ (Rj__ \<union> {i'a__})" and "\<sigma>''''''''''''''''''''__ ij__ = \<sigma>'''''''''''''''''''''__ ij__"   | \<sigma>' :: "nat \<Rightarrow> 'd" and i :: "nat" and \<sigma> :: "nat \<Rightarrow> 'd" and s :: "'e" and R :: "nat set" and i' :: "nat" where "a1 = \<sigma>'''''''''''''''''''''''__" and "a2 = NodeS ik__ sk__ Rk__" and "a3 = disconnect(ik__, i'b__)" and "a4 = \<sigma>''''''''''''''''''''''__" and "a5 = NodeS ik__ sk__ (Rk__ - {i'b__})" and "\<sigma>''''''''''''''''''''''__ ik__ = \<sigma>'''''''''''''''''''''''__ ik__"   | \<sigma>' :: "nat \<Rightarrow> 'd" and i :: "nat" and \<sigma> :: "nat \<Rightarrow> 'd" and s :: "'e" and R :: "nat set" and i' :: "nat" where "a1 = \<sigma>'''''''''''''''''''''''''__" and "a2 = NodeS il__ sl__ Rl__" and "a3 = disconnect(i'c__, il__)" and "a4 = \<sigma>''''''''''''''''''''''''__" and "a5 = NodeS il__ sl__ (Rl__ - {i'c__})" and "\<sigma>''''''''''''''''''''''''__ il__ = \<sigma>'''''''''''''''''''''''''__ il__"   | i :: "nat" and i' :: "nat" and i'' :: "nat" and \<sigma>' :: "nat \<Rightarrow> 'd" and \<sigma> :: "nat \<Rightarrow> 'd" and s :: "'e" and R :: "nat set" where "a1 = \<sigma>'''''''''''''''''''''''''''__" and "a2 = NodeS im__ sm__ Rm__" and "a3 = connect(i'd__, i''__)" and "a4 = \<sigma>''''''''''''''''''''''''''__" and "a5 = NodeS im__ sm__ Rm__" and "im__ \<noteq> i'd__" and "im__ \<noteq> i''__" and "\<sigma>''''''''''''''''''''''''''__ im__ = \<sigma>'''''''''''''''''''''''''''__ im__"   | i :: "nat" and i' :: "nat" and i'' :: "nat" and \<sigma>' :: "nat \<Rightarrow> 'd" and \<sigma> :: "nat \<Rightarrow> 'd" and s :: "'e" and R :: "nat set" where "a1 = \<sigma>" and "a2 = NodeS i s R" and "a3 = disconnect(i', i'')" and "a4 = \<sigma>'" and "a5 = NodeS i s R" and "i \<noteq> i'" and "i \<noteq> i''" and "\<sigma>' i = \<sigma> i"