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"