semanticsCases: fixes \<Psi> :: "'b"   and cP :: "('a, 'b, 'c) psi"   and cRs :: "('a, 'b, 'c) residual"   and xvec1 :: "name list"   and xvec2 :: "name list"   and xvec3 :: "name list"   and xvec4 :: "name list"   and xvec5 :: "name list"   and C :: "'e"   and x1 :: "name"   and x2 :: "name" assumes "\<Psi> \<rhd> cP \<longmapsto> cRs"   and "length xvec1 = inputLength cP"   and "distinct xvec1"   and "length xvec2 = residualLength cRs"   and "distinct xvec2"   and "length xvec3 = residualLength cRs"   and "distinct xvec3"   and "length xvec4 = residualLength cRs"   and "distinct xvec4"   and "length xvec5 = residualLength cRs"   and "distinct xvec5" obtains M :: "'a" and K :: "'a" and N :: "'a" and Tvec :: "'a list" and P :: "('a, 'b, 'c) psi" where "\<lbrakk>xvec1 \<sharp>* \<Psi>; xvec1 \<sharp>* cP; xvec1 \<sharp>* cRs\<rbrakk> \<Longrightarrow> cP = M__\<lparr>\<lambda>*xvec1 N__\<rparr>.Pa__ \<and> cRs = K__\<lparr>N__[xvec1::=Tvec]\<rparr> \<prec> Pa__[xvec1::=Tvec] \<and> \<Psi> \<turnstile> M__ \<leftrightarrow> K__ \<and> distinct xvec1 \<and> set xvec1 \<subseteq> supp N__ \<and> length xvec1 = length Tvec \<and> xvec1 \<sharp>* Tvec \<and> xvec1 \<sharp>* \<Psi> \<and> xvec1 \<sharp>* M__ \<and> xvec1 \<sharp>* K__"   | M :: "'a" and K :: "'a" and N :: "'a" and P :: "('a, 'b, 'c) psi" where "cP = Ma__\<langle>Na__\<rangle>.Pb__" and "cRs = Ka__\<langle>Na__\<rangle> \<prec> Pb__" and "\<Psi> \<turnstile> Ma__ \<leftrightarrow> Ka__"   | Cs :: "('c \<times> ('a, 'b, 'c) psi) list" and P :: "('a, 'b, 'c) psi" and \<phi> :: "'c" where "cP = Cases Cs" and "\<Psi> \<rhd> Pc__ \<longmapsto> cRs" and "(\<phi>, Pc__) mem Cs" and "\<Psi> \<turnstile> \<phi>" and "guarded Pc__"   | \<Psi>\<^sub>Q :: "'b" and P :: "('a, 'b, 'c) psi" and \<alpha> :: "'a action" and P' :: "('a, 'b, 'c) psi" and Q :: "('a, 'b, 'c) psi" and A\<^sub>Q :: "name list" where "\<lbrakk>xvec2 \<sharp>* \<Psi>; xvec2 \<sharp>* cP; xvec2 \<sharp>* cRs\<rbrakk> \<Longrightarrow> cP = Pd__ \<parallel> Qa__ \<and> cRs = \<alpha>'__ \<prec> P'__ \<parallel> Qa__ \<and> xvec2 = bn \<alpha>'__ \<and> \<Psi> \<otimes> \<Psi>\<^sub>Q__ \<rhd> Pd__ \<longmapsto> \<alpha>'__ \<prec> P'__ \<and> extractFrame Qa__ = \<langle>A\<^sub>Q__, \<Psi>\<^sub>Q__\<rangle> \<and> distinct A\<^sub>Q__ \<and> A\<^sub>Q__ \<sharp>* Pd__ \<and> A\<^sub>Q__ \<sharp>* Qa__ \<and> A\<^sub>Q__ \<sharp>* \<Psi> \<and> A\<^sub>Q__ \<sharp>* \<alpha>'__ \<and> A\<^sub>Q__ \<sharp>* P'__ \<and> A\<^sub>Q__ \<sharp>* C"   | \<Psi>\<^sub>P :: "'b" and Q :: "('a, 'b, 'c) psi" and \<alpha> :: "'a action" and Q' :: "('a, 'b, 'c) psi" and P :: "('a, 'b, 'c) psi" and A\<^sub>P :: "name list" where "\<lbrakk>xvec3 \<sharp>* \<Psi>; xvec3 \<sharp>* cP; xvec3 \<sharp>* cRs\<rbrakk> \<Longrightarrow> cP = Pe__ \<parallel> Qb__ \<and> cRs = \<alpha>''__ \<prec> Pe__ \<parallel> Q'__ \<and> xvec3 = bn \<alpha>''__ \<and> \<Psi> \<otimes> \<Psi>\<^sub>P__ \<rhd> Qb__ \<longmapsto> \<alpha>''__ \<prec> Q'__ \<and> extractFrame Pe__ = \<langle>A\<^sub>P__, \<Psi>\<^sub>P__\<rangle> \<and> distinct A\<^sub>P__ \<and> A\<^sub>P__ \<sharp>* Pe__ \<and> A\<^sub>P__ \<sharp>* Qb__ \<and> A\<^sub>P__ \<sharp>* \<Psi> \<and> A\<^sub>P__ \<sharp>* \<alpha>''__ \<and> A\<^sub>P__ \<sharp>* Q'__ \<and> A\<^sub>P__ \<sharp>* C"   | \<Psi>\<^sub>Q :: "'b" and P :: "('a, 'b, 'c) psi" and M :: "'a" and N :: "'a" and P' :: "('a, 'b, 'c) psi" and A\<^sub>P :: "name list" and \<Psi>\<^sub>P :: "'b" and Q :: "('a, 'b, 'c) psi" and K :: "'a" and xvec :: "name list" and Q' :: "('a, 'b, 'c) psi" and A\<^sub>Q :: "name list" where "cP = Pf__ \<parallel> Qc__" and "cRs = \<tau> \<prec> \<lparr>\<nu>*xvec__\<rparr>P'a__ \<parallel> Q'a__" and "\<Psi> \<otimes> \<Psi>\<^sub>Q'__ \<rhd> Pf__ \<longmapsto> Mb__\<lparr>Nb__\<rparr> \<prec> P'a__" and "extractFrame Pf__ = \<langle>A\<^sub>P'__, \<Psi>\<^sub>P'__\<rangle>" and "distinct A\<^sub>P'__" and "\<Psi> \<otimes> \<Psi>\<^sub>P'__ \<rhd> Qc__ \<longmapsto> Kb__\<lparr>\<nu>*xvec__\<rparr>\<langle>Nb__\<rangle> \<prec> Q'a__" and "extractFrame Qc__ = \<langle>A\<^sub>Q'__, \<Psi>\<^sub>Q'__\<rangle>" and "distinct A\<^sub>Q'__" and "\<Psi> \<otimes> \<Psi>\<^sub>P'__ \<otimes> \<Psi>\<^sub>Q'__ \<turnstile> Mb__ \<leftrightarrow> Kb__" and "A\<^sub>P'__ \<sharp>* \<Psi>" and "A\<^sub>P'__ \<sharp>* \<Psi>\<^sub>Q'__" and "A\<^sub>P'__ \<sharp>* Pf__" and "A\<^sub>P'__ \<sharp>* Mb__" and "A\<^sub>P'__ \<sharp>* Nb__" and "A\<^sub>P'__ \<sharp>* P'a__" and "A\<^sub>P'__ \<sharp>* Qc__" and "A\<^sub>P'__ \<sharp>* Q'a__" and "A\<^sub>P'__ \<sharp>* A\<^sub>Q'__" and "A\<^sub>P'__ \<sharp>* xvec__" and "A\<^sub>Q'__ \<sharp>* \<Psi>" and "A\<^sub>Q'__ \<sharp>* \<Psi>\<^sub>P'__" and "A\<^sub>Q'__ \<sharp>* Pf__" and "A\<^sub>Q'__ \<sharp>* Kb__" and "A\<^sub>Q'__ \<sharp>* Nb__" and "A\<^sub>Q'__ \<sharp>* P'a__" and "A\<^sub>Q'__ \<sharp>* Qc__" and "A\<^sub>Q'__ \<sharp>* Q'a__" and "A\<^sub>Q'__ \<sharp>* xvec__" and "xvec__ \<sharp>* \<Psi>" and "xvec__ \<sharp>* \<Psi>\<^sub>P'__" and "xvec__ \<sharp>* \<Psi>\<^sub>Q'__" and "xvec__ \<sharp>* Pf__" and "xvec__ \<sharp>* Mb__" and "xvec__ \<sharp>* Qc__" and "xvec__ \<sharp>* Kb__" and "A\<^sub>P'__ \<sharp>* C" and "A\<^sub>Q'__ \<sharp>* C" and "xvec__ \<sharp>* C" and "distinct xvec__"   | \<Psi>\<^sub>Q :: "'b" and P :: "('a, 'b, 'c) psi" and M :: "'a" and xvec :: "name list" and N :: "'a" and P' :: "('a, 'b, 'c) psi" and A\<^sub>P :: "name list" and \<Psi>\<^sub>P :: "'b" and Q :: "('a, 'b, 'c) psi" and K :: "'a" and Q' :: "('a, 'b, 'c) psi" and A\<^sub>Q :: "name list" where "cP = Pg__ \<parallel> Q" and "cRs = \<tau> \<prec> \<lparr>\<nu>*xveca__\<rparr>P'b__ \<parallel> Q'" and "\<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> Pg__ \<longmapsto> Mc__\<lparr>\<nu>*xveca__\<rparr>\<langle>Nc__\<rangle> \<prec> P'b__" and "extractFrame Pg__ = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>" and "distinct A\<^sub>P" and "\<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>Nc__\<rparr> \<prec> Q'" and "extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>" and "distinct A\<^sub>Q" and "\<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> Mc__ \<leftrightarrow> K" and "A\<^sub>P \<sharp>* \<Psi>" and "A\<^sub>P \<sharp>* \<Psi>\<^sub>Q" and "A\<^sub>P \<sharp>* Pg__" and "A\<^sub>P \<sharp>* Mc__" and "A\<^sub>P \<sharp>* Nc__" and "A\<^sub>P \<sharp>* P'b__" and "A\<^sub>P \<sharp>* Q" and "A\<^sub>P \<sharp>* Q'" and "A\<^sub>P \<sharp>* A\<^sub>Q" and "A\<^sub>P \<sharp>* xveca__" and "A\<^sub>Q \<sharp>* \<Psi>" and "A\<^sub>Q \<sharp>* \<Psi>\<^sub>P" and "A\<^sub>Q \<sharp>* Pg__" and "A\<^sub>Q \<sharp>* K" and "A\<^sub>Q \<sharp>* Nc__" and "A\<^sub>Q \<sharp>* P'b__" and "A\<^sub>Q \<sharp>* Q" and "A\<^sub>Q \<sharp>* Q'" and "A\<^sub>Q \<sharp>* xveca__" and "xveca__ \<sharp>* \<Psi>" and "xveca__ \<sharp>* \<Psi>\<^sub>P" and "xveca__ \<sharp>* \<Psi>\<^sub>Q" and "xveca__ \<sharp>* Pg__" and "xveca__ \<sharp>* Mc__" and "xveca__ \<sharp>* Q" and "xveca__ \<sharp>* K" and "A\<^sub>P \<sharp>* C" and "A\<^sub>Q \<sharp>* C" and "xveca__ \<sharp>* C" and "distinct xveca__"   | P :: "('a, 'b, 'c) psi" and M :: "'a" and xvec :: "name list" and y :: "name" and yvec :: "name list" and N :: "'a" and P' :: "('a, 'b, 'c) psi" where "\<lbrakk>xvec4 \<sharp>* \<Psi>; xvec4 \<sharp>* cP; xvec4 \<sharp>* cRs; x1 \<sharp> \<Psi>; x1 \<sharp> cP; x1 \<sharp> cRs; x1 \<sharp> xvec4\<rbrakk> \<Longrightarrow> cP = \<lparr>\<nu>x1\<rparr>Ph__ \<and> cRs = M\<lparr>\<nu>*(xvec @ x1 # yvec)\<rparr>\<langle>N\<rangle> \<prec> P'c__ \<and> xvec4 = xvec @ y # yvec \<and> \<Psi> \<rhd> Ph__ \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'c__ \<and> x1 \<in> supp N \<and> x1 \<sharp> xvec \<and> x1 \<sharp> yvec \<and> distinct xvec \<and> distinct yvec \<and> xvec \<sharp>* \<Psi> \<and> xvec \<sharp>* Ph__ \<and> xvec \<sharp>* M \<and> xvec \<sharp>* yvec \<and> yvec \<sharp>* \<Psi> \<and> yvec \<sharp>* Ph__ \<and> yvec \<sharp>* M"   | P :: "('a, 'b, 'c) psi" and \<alpha> :: "'a action" and P' :: "('a, 'b, 'c) psi" where "\<lbrakk>xvec5 \<sharp>* \<Psi>; xvec5 \<sharp>* cP; xvec5 \<sharp>* cRs; x2 \<sharp> \<Psi>; x2 \<sharp> cP; x2 \<sharp> cRs; x2 \<sharp> xvec5\<rbrakk> \<Longrightarrow> cP = \<lparr>\<nu>x2\<rparr>Pi__ \<and> cRs = \<alpha> \<prec> \<lparr>\<nu>x2\<rparr>P' \<and> xvec5 = bn \<alpha> \<and> \<Psi> \<rhd> Pi__ \<longmapsto> \<alpha> \<prec> P' \<and> x2 \<sharp> \<Psi> \<and> x2 \<sharp> \<alpha> \<and> bn \<alpha> \<sharp>* subject \<alpha> \<and> distinct (bn \<alpha>)"   | P :: "('a, 'b, 'c) psi" where "cP = !P" and "\<Psi> \<rhd> P \<parallel> !P \<longmapsto> cRs" and "guarded P"