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 i__ s__ R__" and "a3 = R__:*cast(m__)" and "a4 = \<sigma>'''__" and "a5 = NodeS i__ s'__ R__" and "((\<sigma>''__, s__), broadcast m__, \<sigma>'''__, s'__) \<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 ia__ sa__ Ra__" and "a3 = (Ra__ \<inter> D):*cast(ma__)" and "a4 = \<sigma>'''''__" and "a5 = NodeS ia__ s'a__ Ra__" and "((\<sigma>''''__, sa__), groupcast D ma__, \<sigma>'''''__, s'a__) \<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 ib__ sb__ Rb__" and "a3 = {d__}:*cast(mb__)" and "a4 = \<sigma>'''''''__" and "a5 = NodeS ib__ s'b__ Rb__" and "((\<sigma>''''''__, sb__), unicast d__ mb__, \<sigma>'''''''__, s'b__) \<in> S" and "d__ \<in> Rb__"   | \<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 ic__ sc__ Rc__" and "a3 = \<tau>" and "a4 = \<sigma>'''''''''__" and "a5 = NodeS ic__ s'c__ Rc__" and "((\<sigma>''''''''__, sc__), \<not>unicast da__, \<sigma>'''''''''__, s'c__) \<in> S" and "da__ \<notin> Rc__" and "\<forall>j. j \<noteq> ic__ \<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 id__ sd__ Rd__" and "a3 = id__:deliver(d)" and "a4 = \<sigma>'''''''''''__" and "a5 = NodeS id__ s'd__ Rd__" and "((\<sigma>''''''''''__, sd__), deliver d, \<sigma>'''''''''''__, s'd__) \<in> S" and "\<forall>j. j \<noteq> id__ \<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 ie__ se__ Re__" and "a3 = \<tau>" and "a4 = \<sigma>'''''''''''''__" and "a5 = NodeS ie__ s'e__ Re__" and "((\<sigma>''''''''''''__, se__), \<tau>, \<sigma>'''''''''''''__, s'e__) \<in> S" and "\<forall>j. j \<noteq> ie__ \<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 if__ sf__ Rf__" and "a3 = {if__}\<not>{}:arrive(mc__)" and "a4 = \<sigma>'''''''''''''''__" and "a5 = NodeS if__ s' Rf__" and "((\<sigma>''''''''''''''__, sf__), 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 ig__ sg__ Rg__" and "a3 = {}\<not>{ig__}:arrive(m)" and "a4 = \<sigma>''''''''''''''''__" and "a5 = NodeS ig__ sg__ Rg__" and "\<sigma>''''''''''''''''__ ig__ = \<sigma>'''''''''''''''''__ ig__"   | \<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 ih__ sh__ Rh__" and "a3 = connect(ih__, i'__)" and "a4 = \<sigma>''''''''''''''''''__" and "a5 = NodeS ih__ sh__ (Rh__ \<union> {i'__})" 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(i'a__, ii__)" and "a4 = \<sigma>''''''''''''''''''''__" and "a5 = NodeS ii__ si__ (Ri__ \<union> {i'a__})" 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 = disconnect(ij__, i'b__)" and "a4 = \<sigma>''''''''''''''''''''''__" and "a5 = NodeS ij__ sj__ (Rj__ - {i'b__})" 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(i'c__, ik__)" and "a4 = \<sigma>''''''''''''''''''''''''__" and "a5 = NodeS ik__ sk__ (Rk__ - {i'c__})" and "\<sigma>''''''''''''''''''''''''__ ik__ = \<sigma>'''''''''''''''''''''''''__ ik__"   | 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 il__ sl__ Rl__" and "a3 = connect(i'd__, i''__)" and "a4 = \<sigma>''''''''''''''''''''''''''__" and "a5 = NodeS il__ sl__ Rl__" and "il__ \<noteq> i'd__" and "il__ \<noteq> i''__" 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 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"