cases: fixes a1 :: "nat \<Rightarrow> 'a"   and a2 :: "'b net_state"   and a3 :: "'c node_action"   and a4 :: "nat \<Rightarrow> 'a"   and a5 :: "'b net_state"   and S :: "(((nat \<Rightarrow> 'a) \<times> 'b) \<times> 'c seq_action \<times> (nat \<Rightarrow> 'a) \<times> 'b) set" assumes "((a1, a2), a3, a4, a5) \<in> onode_sos S" obtains \<sigma> :: "nat \<Rightarrow> 'a" and s :: "'b" and m :: "'c" and \<sigma>' :: "nat \<Rightarrow> 'a" and s' :: "'b" 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> 'a" and s :: "'b" and D :: "nat set" and m :: "'c" and \<sigma>' :: "nat \<Rightarrow> 'a" and s' :: "'b" 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> 'a" and s :: "'b" and d :: "nat" and m :: "'c" and \<sigma>' :: "nat \<Rightarrow> 'a" and s' :: "'b" 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> 'a" and s :: "'b" and d :: "nat" and \<sigma>' :: "nat \<Rightarrow> 'a" and s' :: "'b" 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> 'a" and s :: "'b" and d :: "nat" and \<sigma>' :: "nat \<Rightarrow> 'a" and s' :: "'b" 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> 'a" and s :: "'b" and \<sigma>' :: "nat \<Rightarrow> 'a" and s' :: "'b" 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> 'a" and s :: "'b" and m :: "'c" and \<sigma>' :: "nat \<Rightarrow> 'a" and s' :: "'b" 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> 'a" and i :: "nat" and \<sigma> :: "nat \<Rightarrow> 'a" and s :: "'b" and R :: "nat set" and m :: "'c" 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> 'a" and i :: "nat" and \<sigma> :: "nat \<Rightarrow> 'a" and s :: "'b" 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> 'a" and i :: "nat" and \<sigma> :: "nat \<Rightarrow> 'a" and s :: "'b" 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> 'a" and i :: "nat" and \<sigma> :: "nat \<Rightarrow> 'a" and s :: "'b" 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> 'a" and i :: "nat" and \<sigma> :: "nat \<Rightarrow> 'a" and s :: "'b" 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> 'a" and \<sigma> :: "nat \<Rightarrow> 'a" and s :: "'b" 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> 'a" and \<sigma> :: "nat \<Rightarrow> 'a" and s :: "'b" 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"