[STATEMENT]
lemma semanticsInduct[consumes 3, case_names cAlpha cInput cOutput cCase cPar1 cPar2 cComm1 cComm2 cOpen cScope cBang]:
  fixes \<Psi>    :: 'b
  and   P    :: "('a, 'b, 'c) psi"
  and   \<alpha>    :: "'a action"
  and   P'   :: "('a, 'b, 'c) psi"
  and   Prop :: "'d::fs_name \<Rightarrow> 'b \<Rightarrow> ('a, 'b, 'c) psi \<Rightarrow>
                'a action \<Rightarrow> ('a, 'b, 'c) psi \<Rightarrow> bool"
  and   C    :: "'d::fs_name"

  assumes "\<Psi> \<rhd> P \<longmapsto>\<alpha> \<prec> P'"
  and     "bn \<alpha> \<sharp>* (subject \<alpha>)"
  and     "distinct(bn \<alpha>)"
  and     rAlpha: "\<And>\<Psi> P \<alpha> P' p C. \<lbrakk>bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* (subject \<alpha>);
                                    bn \<alpha> \<sharp>* C; bn \<alpha> \<sharp>* (bn(p \<bullet> \<alpha>));
                                    set p \<subseteq> set(bn \<alpha>) \<times> set(bn(p \<bullet> \<alpha>)); distinctPerm p;
                                    (bn(p \<bullet> \<alpha>)) \<sharp>* \<alpha>; (bn(p \<bullet> \<alpha>)) \<sharp>* P'; Prop C \<Psi> P \<alpha> P'\<rbrakk> \<Longrightarrow>
                                     Prop C \<Psi> P (p \<bullet> \<alpha>) (p \<bullet> P')"
  and     rInput: "\<And>\<Psi> M K xvec N Tvec P C.
                   \<lbrakk>\<Psi> \<turnstile> M \<leftrightarrow> K; distinct xvec; set xvec \<subseteq> supp N;
                    length xvec = length Tvec; xvec \<sharp>* \<Psi>;
                    xvec \<sharp>* M; xvec \<sharp>* K; xvec \<sharp>* C\<rbrakk> \<Longrightarrow>
                    Prop C \<Psi> (M\<lparr>\<lambda>*xvec N\<rparr>.P)
                              (K\<lparr>(N[xvec::=Tvec])\<rparr>) (P[xvec::=Tvec])"
  and     rOutput: "\<And>\<Psi> M K N P C. \<lbrakk>\<Psi> \<turnstile> M \<leftrightarrow> K\<rbrakk> \<Longrightarrow> Prop C \<Psi> (M\<langle>N\<rangle>.P) (K\<langle>N\<rangle>) P"
  and     rCase: "\<And>\<Psi> P \<alpha> P' \<phi> Cs C. \<lbrakk>\<Psi> \<rhd> P \<longmapsto>\<alpha> \<prec> P'; \<And>C. Prop C \<Psi> P \<alpha> P'; (\<phi>, P) mem Cs; \<Psi> \<turnstile> \<phi>; guarded P\<rbrakk> \<Longrightarrow>
                                      Prop C \<Psi> (Cases Cs) \<alpha> P'"
  and     rPar1: "\<And>\<Psi> \<Psi>\<^sub>Q P \<alpha> P' A\<^sub>Q Q C.
                   \<lbrakk>\<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto>\<alpha> \<prec> P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q;
                    \<And>C. Prop C (\<Psi> \<otimes> \<Psi>\<^sub>Q) P \<alpha> P';
                    A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* C; distinct(bn \<alpha>); bn \<alpha> \<sharp>* Q;
                    bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>Q; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; bn \<alpha> \<sharp>* C\<rbrakk> \<Longrightarrow>
                    Prop C \<Psi> (P \<parallel> Q) \<alpha> (P' \<parallel> Q)"
  and     rPar2: "\<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' A\<^sub>P P C.
                   \<lbrakk>\<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto>\<alpha> \<prec> Q'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P;
                    \<And>C. Prop C (\<Psi> \<otimes> \<Psi>\<^sub>P) Q \<alpha> Q';
                    A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* C; distinct(bn \<alpha>); bn \<alpha> \<sharp>* Q;
                    bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; bn \<alpha> \<sharp>* C\<rbrakk> \<Longrightarrow>
                    Prop C \<Psi> (P \<parallel> Q) \<alpha> (P \<parallel> Q')"
  and     rComm1: "\<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q C.
                   \<lbrakk>\<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto>M\<lparr>N\<rparr> \<prec> P'; \<And>C. Prop C (\<Psi> \<otimes> \<Psi>\<^sub>Q) P (M\<lparr>N\<rparr>) P';
                    extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P;
                    \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>C. Prop C (\<Psi> \<otimes> \<Psi>\<^sub>P) Q (K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle>) Q';
                    extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q;
                    \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K;
                    A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P';
                    A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P;
                    A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; distinct xvec;
                    A\<^sub>Q \<sharp>* xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M;
                    xvec \<sharp>* Q; xvec \<sharp>* K; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* C; xvec \<sharp>* C\<rbrakk> \<Longrightarrow>
                    Prop C \<Psi> (P \<parallel> Q) (\<tau>) (\<lparr>\<nu>*xvec\<rparr>(P' \<parallel> Q'))"
  and     rComm2: "\<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q C.
                   \<lbrakk>\<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>C. Prop C (\<Psi> \<otimes> \<Psi>\<^sub>Q) P (M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle>) P';
                    extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P;
                    \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto>K\<lparr>N\<rparr> \<prec> Q'; \<And>C. Prop C (\<Psi> \<otimes> \<Psi>\<^sub>P) Q (K\<lparr>N\<rparr>) Q';
                    extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q;
                    \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K;
                    A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P';
                    A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P;
                    A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; distinct xvec;
                    A\<^sub>Q \<sharp>* xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M;
                    xvec \<sharp>* Q; xvec \<sharp>* K; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* C; xvec \<sharp>* C\<rbrakk> \<Longrightarrow>
                    Prop C \<Psi> (P \<parallel> Q) (\<tau>) (\<lparr>\<nu>*xvec\<rparr>(P' \<parallel> Q'))"
  and     rOpen:  "\<And>\<Psi> P M xvec yvec N P' x C.
                   \<lbrakk>\<Psi> \<rhd> P \<longmapsto>M\<lparr>\<nu>*(xvec@yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; x \<in> supp N; \<And>C. Prop C \<Psi> P (M\<lparr>\<nu>*(xvec@yvec)\<rparr>\<langle>N\<rangle>) P';
                    x \<sharp> \<Psi>; x \<sharp> M; x \<sharp> xvec; x \<sharp> yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M;  distinct xvec; distinct yvec;
                    yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; yvec \<sharp>* C; x \<sharp> C; xvec \<sharp>* C\<rbrakk> \<Longrightarrow>
                    Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec@x#yvec)\<rparr>\<langle>N\<rangle>) P'"
  and     rScope: "\<And>\<Psi> P \<alpha> P' x C.
                    \<lbrakk>\<Psi> \<rhd> P \<longmapsto>\<alpha> \<prec> P'; \<And>C. Prop C \<Psi> P \<alpha> P';
                    x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>;
                    bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* (subject \<alpha>); x \<sharp> C; bn \<alpha> \<sharp>* C; distinct(bn \<alpha>)\<rbrakk> \<Longrightarrow>
                    Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> (\<lparr>\<nu>x\<rparr>P')"
  and     rBang:    "\<And>\<Psi> P \<alpha> P' C.
                     \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto>\<alpha> \<prec> P'; guarded P; \<And>C. Prop C \<Psi> (P \<parallel> !P) \<alpha> P'\<rbrakk> \<Longrightarrow>
                      Prop C \<Psi> (!P) \<alpha> P'"

  shows "Prop C \<Psi> P \<alpha> P'"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. Prop C \<Psi> P \<alpha> P'
[PROOF STEP]
using \<open>\<Psi> \<rhd> P \<longmapsto>\<alpha> \<prec> P'\<close> \<open>bn \<alpha> \<sharp>* (subject \<alpha>)\<close> \<open>distinct(bn \<alpha>)\<close>
[PROOF STATE]
proof (prove)
using this:
\<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'
bn \<alpha> \<sharp>* subject \<alpha>
distinct (bn \<alpha>)

goal (1 subgoal):
 1. Prop C \<Psi> P \<alpha> P'
[PROOF STEP]
proof(nominal_induct x3=="\<alpha> \<prec> P'" avoiding: \<alpha> C arbitrary: P' rule: semantics.strong_induct)
[PROOF STATE]
proof (state)
goal (10 subgoals):
 1. \<And>\<Psi> M K xvec N Tvec P \<alpha> C P'. \<lbrakk>xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<turnstile> M \<leftrightarrow> K; distinct xvec; set xvec \<subseteq> supp N; xvec \<sharp>* Tvec; length xvec = length Tvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* M; xvec \<sharp>* K; K\<lparr>N[xvec::=Tvec]\<rparr> \<prec> P[xvec::=Tvec] = \<alpha> \<prec> P'; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (M\<lparr>\<lambda>*xvec N\<rparr>.P) \<alpha> P'
 2. \<And>\<Psi> M K N P \<alpha> C P'. \<lbrakk>\<Psi> \<turnstile> M \<leftrightarrow> K; K\<langle>N\<rangle> \<prec> P = \<alpha> \<prec> P'; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (M\<langle>N\<rangle>.P) \<alpha> P'
 3. \<And>\<Psi> P \<phi> Cs \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; (\<phi>, P) mem Cs; \<Psi> \<turnstile> \<phi>; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (Cases Cs) \<alpha> P'
 4. \<And>\<Psi> \<Psi>\<^sub>Q P \<alpha> P' Q A\<^sub>Q \<alpha>' C P'a. \<lbrakk>A\<^sub>Q \<sharp>* \<alpha>'; A\<^sub>Q \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* P'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>Q; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'a
 5. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 6. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 7. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 8. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 9. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 10. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
case(cInput \<Psi> M K xvec N Tvec P \<alpha> C P')
[PROOF STATE]
proof (state)
this:
xvec \<sharp>* \<alpha>
xvec \<sharp>* C
\<Psi> \<turnstile> M \<leftrightarrow> K
distinct xvec
set xvec \<subseteq> supp N
xvec \<sharp>* Tvec
length xvec = length Tvec
xvec \<sharp>* \<Psi>
xvec \<sharp>* M
xvec \<sharp>* K
K\<lparr>N[xvec::=Tvec]\<rparr> \<prec> P[xvec::=Tvec] = \<alpha> \<prec> P'
bn \<alpha> \<sharp>* subject \<alpha>
distinct (bn \<alpha>)

goal (10 subgoals):
 1. \<And>\<Psi> M K xvec N Tvec P \<alpha> C P'. \<lbrakk>xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<turnstile> M \<leftrightarrow> K; distinct xvec; set xvec \<subseteq> supp N; xvec \<sharp>* Tvec; length xvec = length Tvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* M; xvec \<sharp>* K; K\<lparr>N[xvec::=Tvec]\<rparr> \<prec> P[xvec::=Tvec] = \<alpha> \<prec> P'; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (M\<lparr>\<lambda>*xvec N\<rparr>.P) \<alpha> P'
 2. \<And>\<Psi> M K N P \<alpha> C P'. \<lbrakk>\<Psi> \<turnstile> M \<leftrightarrow> K; K\<langle>N\<rangle> \<prec> P = \<alpha> \<prec> P'; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (M\<langle>N\<rangle>.P) \<alpha> P'
 3. \<And>\<Psi> P \<phi> Cs \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; (\<phi>, P) mem Cs; \<Psi> \<turnstile> \<phi>; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (Cases Cs) \<alpha> P'
 4. \<And>\<Psi> \<Psi>\<^sub>Q P \<alpha> P' Q A\<^sub>Q \<alpha>' C P'a. \<lbrakk>A\<^sub>Q \<sharp>* \<alpha>'; A\<^sub>Q \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* P'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>Q; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'a
 5. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 6. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 7. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 8. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 9. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 10. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
thus ?case
[PROOF STATE]
proof (prove)
using this:
xvec \<sharp>* \<alpha>
xvec \<sharp>* C
\<Psi> \<turnstile> M \<leftrightarrow> K
distinct xvec
set xvec \<subseteq> supp N
xvec \<sharp>* Tvec
length xvec = length Tvec
xvec \<sharp>* \<Psi>
xvec \<sharp>* M
xvec \<sharp>* K
K\<lparr>N[xvec::=Tvec]\<rparr> \<prec> P[xvec::=Tvec] = \<alpha> \<prec> P'
bn \<alpha> \<sharp>* subject \<alpha>
distinct (bn \<alpha>)

goal (1 subgoal):
 1. Prop C \<Psi> (M\<lparr>\<lambda>*xvec N\<rparr>.P) \<alpha> P'
[PROOF STEP]
by(force intro: rInput simp add: residualInject)
[PROOF STATE]
proof (state)
this:
Prop C \<Psi> (M\<lparr>\<lambda>*xvec N\<rparr>.P) \<alpha> P'

goal (9 subgoals):
 1. \<And>\<Psi> M K N P \<alpha> C P'. \<lbrakk>\<Psi> \<turnstile> M \<leftrightarrow> K; K\<langle>N\<rangle> \<prec> P = \<alpha> \<prec> P'; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (M\<langle>N\<rangle>.P) \<alpha> P'
 2. \<And>\<Psi> P \<phi> Cs \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; (\<phi>, P) mem Cs; \<Psi> \<turnstile> \<phi>; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (Cases Cs) \<alpha> P'
 3. \<And>\<Psi> \<Psi>\<^sub>Q P \<alpha> P' Q A\<^sub>Q \<alpha>' C P'a. \<lbrakk>A\<^sub>Q \<sharp>* \<alpha>'; A\<^sub>Q \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* P'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>Q; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'a
 4. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 5. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 6. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 7. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 8. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 9. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (9 subgoals):
 1. \<And>\<Psi> M K N P \<alpha> C P'. \<lbrakk>\<Psi> \<turnstile> M \<leftrightarrow> K; K\<langle>N\<rangle> \<prec> P = \<alpha> \<prec> P'; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (M\<langle>N\<rangle>.P) \<alpha> P'
 2. \<And>\<Psi> P \<phi> Cs \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; (\<phi>, P) mem Cs; \<Psi> \<turnstile> \<phi>; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (Cases Cs) \<alpha> P'
 3. \<And>\<Psi> \<Psi>\<^sub>Q P \<alpha> P' Q A\<^sub>Q \<alpha>' C P'a. \<lbrakk>A\<^sub>Q \<sharp>* \<alpha>'; A\<^sub>Q \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* P'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>Q; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'a
 4. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 5. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 6. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 7. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 8. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 9. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
case(Output \<Psi> M K N P \<alpha> C P')
[PROOF STATE]
proof (state)
this:
\<Psi> \<turnstile> M \<leftrightarrow> K
K\<langle>N\<rangle> \<prec> P = \<alpha> \<prec> P'
bn \<alpha> \<sharp>* subject \<alpha>
distinct (bn \<alpha>)

goal (9 subgoals):
 1. \<And>\<Psi> M K N P \<alpha> C P'. \<lbrakk>\<Psi> \<turnstile> M \<leftrightarrow> K; K\<langle>N\<rangle> \<prec> P = \<alpha> \<prec> P'; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (M\<langle>N\<rangle>.P) \<alpha> P'
 2. \<And>\<Psi> P \<phi> Cs \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; (\<phi>, P) mem Cs; \<Psi> \<turnstile> \<phi>; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (Cases Cs) \<alpha> P'
 3. \<And>\<Psi> \<Psi>\<^sub>Q P \<alpha> P' Q A\<^sub>Q \<alpha>' C P'a. \<lbrakk>A\<^sub>Q \<sharp>* \<alpha>'; A\<^sub>Q \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* P'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>Q; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'a
 4. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 5. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 6. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 7. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 8. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 9. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
thus ?case
[PROOF STATE]
proof (prove)
using this:
\<Psi> \<turnstile> M \<leftrightarrow> K
K\<langle>N\<rangle> \<prec> P = \<alpha> \<prec> P'
bn \<alpha> \<sharp>* subject \<alpha>
distinct (bn \<alpha>)

goal (1 subgoal):
 1. Prop C \<Psi> (M\<langle>N\<rangle>.P) \<alpha> P'
[PROOF STEP]
by(force intro: rOutput simp add: residualInject)
[PROOF STATE]
proof (state)
this:
Prop C \<Psi> (M\<langle>N\<rangle>.P) \<alpha> P'

goal (8 subgoals):
 1. \<And>\<Psi> P \<phi> Cs \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; (\<phi>, P) mem Cs; \<Psi> \<turnstile> \<phi>; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (Cases Cs) \<alpha> P'
 2. \<And>\<Psi> \<Psi>\<^sub>Q P \<alpha> P' Q A\<^sub>Q \<alpha>' C P'a. \<lbrakk>A\<^sub>Q \<sharp>* \<alpha>'; A\<^sub>Q \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* P'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>Q; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'a
 3. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 4. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 5. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 6. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 7. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 8. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (8 subgoals):
 1. \<And>\<Psi> P \<phi> Cs \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; (\<phi>, P) mem Cs; \<Psi> \<turnstile> \<phi>; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (Cases Cs) \<alpha> P'
 2. \<And>\<Psi> \<Psi>\<^sub>Q P \<alpha> P' Q A\<^sub>Q \<alpha>' C P'a. \<lbrakk>A\<^sub>Q \<sharp>* \<alpha>'; A\<^sub>Q \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* P'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>Q; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'a
 3. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 4. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 5. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 6. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 7. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 8. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
case(Case \<Psi> P Rs \<phi> Cs \<alpha> C)
[PROOF STATE]
proof (state)
this:
\<Psi> \<rhd> P \<longmapsto> Cs \<prec> C
\<lbrakk>Cs \<prec> C = ?b \<prec> ?P'; bn ?b \<sharp>* subject ?b; distinct (bn ?b)\<rbrakk> \<Longrightarrow> Prop ?ba \<Psi> P ?b ?P'
(Rs, P) mem \<phi>
\<Psi> \<turnstile> Rs
guarded P
bn Cs \<sharp>* subject Cs
distinct (bn Cs)

goal (8 subgoals):
 1. \<And>\<Psi> P \<phi> Cs \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; (\<phi>, P) mem Cs; \<Psi> \<turnstile> \<phi>; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (Cases Cs) \<alpha> P'
 2. \<And>\<Psi> \<Psi>\<^sub>Q P \<alpha> P' Q A\<^sub>Q \<alpha>' C P'a. \<lbrakk>A\<^sub>Q \<sharp>* \<alpha>'; A\<^sub>Q \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* P'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>Q; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'a
 3. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 4. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 5. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 6. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 7. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 8. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
thus ?case
[PROOF STATE]
proof (prove)
using this:
\<Psi> \<rhd> P \<longmapsto> Cs \<prec> C
\<lbrakk>Cs \<prec> C = ?b \<prec> ?P'; bn ?b \<sharp>* subject ?b; distinct (bn ?b)\<rbrakk> \<Longrightarrow> Prop ?ba \<Psi> P ?b ?P'
(Rs, P) mem \<phi>
\<Psi> \<turnstile> Rs
guarded P
bn Cs \<sharp>* subject Cs
distinct (bn Cs)

goal (1 subgoal):
 1. Prop \<alpha> \<Psi> (Cases \<phi>) Cs C
[PROOF STEP]
by(auto intro: rCase)
[PROOF STATE]
proof (state)
this:
Prop \<alpha> \<Psi> (Cases \<phi>) Cs C

goal (7 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>Q P \<alpha> P' Q A\<^sub>Q \<alpha>' C P'a. \<lbrakk>A\<^sub>Q \<sharp>* \<alpha>'; A\<^sub>Q \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* P'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>Q; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'a
 2. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 5. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 6. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 7. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (7 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>Q P \<alpha> P' Q A\<^sub>Q \<alpha>' C P'a. \<lbrakk>A\<^sub>Q \<sharp>* \<alpha>'; A\<^sub>Q \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* P'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>Q; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'a
 2. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 5. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 6. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 7. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
case(cPar1 \<Psi> \<Psi>\<^sub>Q P \<alpha> P' Q A\<^sub>Q \<alpha>' C P'')
[PROOF STATE]
proof (state)
this:
A\<^sub>Q \<sharp>* \<alpha>'
A\<^sub>Q \<sharp>* C
bn \<alpha> \<sharp>* \<alpha>'
bn \<alpha> \<sharp>* C
\<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'
\<lbrakk>\<alpha> \<prec> P' = ?b \<prec> ?P'; bn ?b \<sharp>* subject ?b; distinct (bn ?b)\<rbrakk> \<Longrightarrow> Prop ?ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P ?b ?P'
extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>
distinct A\<^sub>Q
A\<^sub>Q \<sharp>* P
A\<^sub>Q \<sharp>* Q
A\<^sub>Q \<sharp>* \<Psi>
A\<^sub>Q \<sharp>* \<alpha>
A\<^sub>Q \<sharp>* P'
distinct (bn \<alpha>)
bn \<alpha> \<sharp>* \<Psi>
bn \<alpha> \<sharp>* \<Psi>\<^sub>Q
bn \<alpha> \<sharp>* Q
bn \<alpha> \<sharp>* P
bn \<alpha> \<sharp>* subject \<alpha>
\<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P''
bn \<alpha>' \<sharp>* subject \<alpha>'
distinct (bn \<alpha>')

goal (7 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>Q P \<alpha> P' Q A\<^sub>Q \<alpha>' C P'a. \<lbrakk>A\<^sub>Q \<sharp>* \<alpha>'; A\<^sub>Q \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* P'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>Q; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'a
 2. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 5. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 6. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 7. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
note \<open>\<alpha> \<prec> (P' \<parallel> Q) = \<alpha>' \<prec> P''\<close>
[PROOF STATE]
proof (state)
this:
\<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P''

goal (7 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>Q P \<alpha> P' Q A\<^sub>Q \<alpha>' C P'a. \<lbrakk>A\<^sub>Q \<sharp>* \<alpha>'; A\<^sub>Q \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* P'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>Q; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'a
 2. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 5. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 6. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 7. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
\<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P''

goal (7 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>Q P \<alpha> P' Q A\<^sub>Q \<alpha>' C P'a. \<lbrakk>A\<^sub>Q \<sharp>* \<alpha>'; A\<^sub>Q \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* P'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>Q; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'a
 2. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 5. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 6. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 7. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
from \<open>bn \<alpha> \<sharp>* \<alpha>'\<close>
[PROOF STATE]
proof (chain)
picking this:
bn \<alpha> \<sharp>* \<alpha>'
[PROOF STEP]
have "bn \<alpha> \<sharp>* (bn \<alpha>')"
[PROOF STATE]
proof (prove)
using this:
bn \<alpha> \<sharp>* \<alpha>'

goal (1 subgoal):
 1. bn \<alpha> \<sharp>* bn \<alpha>'
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
bn \<alpha> \<sharp>* bn \<alpha>'

goal (7 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>Q P \<alpha> P' Q A\<^sub>Q \<alpha>' C P'a. \<lbrakk>A\<^sub>Q \<sharp>* \<alpha>'; A\<^sub>Q \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* P'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>Q; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'a
 2. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 5. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 6. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 7. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
bn \<alpha> \<sharp>* bn \<alpha>'

goal (7 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>Q P \<alpha> P' Q A\<^sub>Q \<alpha>' C P'a. \<lbrakk>A\<^sub>Q \<sharp>* \<alpha>'; A\<^sub>Q \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* P'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>Q; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'a
 2. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 5. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 6. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 7. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
note \<open>distinct (bn \<alpha>)\<close> \<open>distinct(bn \<alpha>')\<close>
[PROOF STATE]
proof (state)
this:
distinct (bn \<alpha>)
distinct (bn \<alpha>')

goal (7 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>Q P \<alpha> P' Q A\<^sub>Q \<alpha>' C P'a. \<lbrakk>A\<^sub>Q \<sharp>* \<alpha>'; A\<^sub>Q \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* P'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>Q; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'a
 2. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 5. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 6. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 7. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
distinct (bn \<alpha>)
distinct (bn \<alpha>')

goal (7 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>Q P \<alpha> P' Q A\<^sub>Q \<alpha>' C P'a. \<lbrakk>A\<^sub>Q \<sharp>* \<alpha>'; A\<^sub>Q \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* P'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>Q; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'a
 2. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 5. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 6. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 7. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
from \<open>bn \<alpha> \<sharp>* subject \<alpha>\<close> \<open>bn \<alpha>' \<sharp>* subject \<alpha>'\<close>
[PROOF STATE]
proof (chain)
picking this:
bn \<alpha> \<sharp>* subject \<alpha>
bn \<alpha>' \<sharp>* subject \<alpha>'
[PROOF STEP]
have "bn \<alpha> \<sharp>* (\<alpha> \<prec> P' \<parallel> Q)" and "bn \<alpha>' \<sharp>* (\<alpha>' \<prec> P'')"
[PROOF STATE]
proof (prove)
using this:
bn \<alpha> \<sharp>* subject \<alpha>
bn \<alpha>' \<sharp>* subject \<alpha>'

goal (1 subgoal):
 1. bn \<alpha> \<sharp>* (\<alpha> \<prec> P' \<parallel> Q) &&& bn \<alpha>' \<sharp>* (\<alpha>' \<prec> P'')
[PROOF STEP]
by simp+
[PROOF STATE]
proof (state)
this:
bn \<alpha> \<sharp>* (\<alpha> \<prec> P' \<parallel> Q)
bn \<alpha>' \<sharp>* (\<alpha>' \<prec> P'')

goal (7 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>Q P \<alpha> P' Q A\<^sub>Q \<alpha>' C P'a. \<lbrakk>A\<^sub>Q \<sharp>* \<alpha>'; A\<^sub>Q \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* P'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>Q; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'a
 2. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 5. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 6. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 7. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
ultimately
[PROOF STATE]
proof (chain)
picking this:
\<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P''
bn \<alpha> \<sharp>* bn \<alpha>'
distinct (bn \<alpha>)
distinct (bn \<alpha>')
bn \<alpha> \<sharp>* (\<alpha> \<prec> P' \<parallel> Q)
bn \<alpha>' \<sharp>* (\<alpha>' \<prec> P'')
[PROOF STEP]
obtain p where S: "(set p) \<subseteq> (set(bn \<alpha>)) \<times> (set(bn(p \<bullet> \<alpha>)))" and "distinctPerm p"
                        and \<alpha>Eq: "\<alpha>' = p \<bullet> \<alpha>" and P'eq: "P'' = p \<bullet> (P' \<parallel> Q)" and "(bn(p \<bullet> \<alpha>)) \<sharp>* \<alpha>"
                        and "(bn(p \<bullet> \<alpha>)) \<sharp>* (P' \<parallel> Q)"
[PROOF STATE]
proof (prove)
using this:
\<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P''
bn \<alpha> \<sharp>* bn \<alpha>'
distinct (bn \<alpha>)
distinct (bn \<alpha>')
bn \<alpha> \<sharp>* (\<alpha> \<prec> P' \<parallel> Q)
bn \<alpha>' \<sharp>* (\<alpha>' \<prec> P'')

goal (1 subgoal):
 1. (\<And>p. \<lbrakk>set p \<subseteq> set (bn \<alpha>) \<times> set (bn (p \<bullet> \<alpha>)); distinctPerm p; \<alpha>' = p \<bullet> \<alpha>; P'' = p \<bullet> P' \<parallel> Q; bn (p \<bullet> \<alpha>) \<sharp>* \<alpha>; bn (p \<bullet> \<alpha>) \<sharp>* (P' \<parallel> Q)\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by(rule residualEq)
[PROOF STATE]
proof (state)
this:
set p \<subseteq> set (bn \<alpha>) \<times> set (bn (p \<bullet> \<alpha>))
distinctPerm p
\<alpha>' = p \<bullet> \<alpha>
P'' = p \<bullet> P' \<parallel> Q
bn (p \<bullet> \<alpha>) \<sharp>* \<alpha>
bn (p \<bullet> \<alpha>) \<sharp>* (P' \<parallel> Q)

goal (7 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>Q P \<alpha> P' Q A\<^sub>Q \<alpha>' C P'a. \<lbrakk>A\<^sub>Q \<sharp>* \<alpha>'; A\<^sub>Q \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* P'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>Q; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'a
 2. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 5. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 6. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 7. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
note \<open>\<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto>\<alpha> \<prec> P'\<close> \<open>extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>\<close> \<open>distinct A\<^sub>Q\<close>
[PROOF STATE]
proof (state)
this:
\<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'
extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>
distinct A\<^sub>Q

goal (7 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>Q P \<alpha> P' Q A\<^sub>Q \<alpha>' C P'a. \<lbrakk>A\<^sub>Q \<sharp>* \<alpha>'; A\<^sub>Q \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* P'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>Q; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'a
 2. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 5. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 6. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 7. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
\<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'
extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>
distinct A\<^sub>Q

goal (7 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>Q P \<alpha> P' Q A\<^sub>Q \<alpha>' C P'a. \<lbrakk>A\<^sub>Q \<sharp>* \<alpha>'; A\<^sub>Q \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* P'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>Q; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'a
 2. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 5. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 6. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 7. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
from \<open>bn \<alpha> \<sharp>* subject \<alpha>\<close> \<open>distinct(bn \<alpha>)\<close>
[PROOF STATE]
proof (chain)
picking this:
bn \<alpha> \<sharp>* subject \<alpha>
distinct (bn \<alpha>)
[PROOF STEP]
have "\<And>C. Prop C (\<Psi> \<otimes> \<Psi>\<^sub>Q) P \<alpha> P'"
[PROOF STATE]
proof (prove)
using this:
bn \<alpha> \<sharp>* subject \<alpha>
distinct (bn \<alpha>)

goal (1 subgoal):
 1. \<And>C. Prop C (\<Psi> \<otimes> \<Psi>\<^sub>Q) P \<alpha> P'
[PROOF STEP]
by(rule_tac cPar1) auto
[PROOF STATE]
proof (state)
this:
Prop ?C (\<Psi> \<otimes> \<Psi>\<^sub>Q) P \<alpha> P'

goal (7 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>Q P \<alpha> P' Q A\<^sub>Q \<alpha>' C P'a. \<lbrakk>A\<^sub>Q \<sharp>* \<alpha>'; A\<^sub>Q \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* P'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>Q; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'a
 2. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 5. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 6. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 7. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
Prop ?C (\<Psi> \<otimes> \<Psi>\<^sub>Q) P \<alpha> P'

goal (7 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>Q P \<alpha> P' Q A\<^sub>Q \<alpha>' C P'a. \<lbrakk>A\<^sub>Q \<sharp>* \<alpha>'; A\<^sub>Q \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* P'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>Q; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'a
 2. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 5. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 6. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 7. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
note \<open>A\<^sub>Q \<sharp>* P\<close> \<open>A\<^sub>Q \<sharp>* Q\<close> \<open>A\<^sub>Q \<sharp>* \<Psi>\<close> \<open>A\<^sub>Q \<sharp>* \<alpha>\<close> \<open>A\<^sub>Q \<sharp>* P'\<close> \<open>A\<^sub>Q \<sharp>* C\<close>
                \<open>bn \<alpha> \<sharp>* Q\<close> \<open>distinct(bn \<alpha>)\<close> \<open>bn \<alpha> \<sharp>* \<Psi>\<close> \<open>bn \<alpha> \<sharp>* \<Psi>\<^sub>Q\<close> \<open>bn \<alpha> \<sharp>* P\<close> \<open>bn \<alpha> \<sharp>* subject \<alpha>\<close> \<open>bn \<alpha> \<sharp>* C\<close>
[PROOF STATE]
proof (state)
this:
A\<^sub>Q \<sharp>* P
A\<^sub>Q \<sharp>* Q
A\<^sub>Q \<sharp>* \<Psi>
A\<^sub>Q \<sharp>* \<alpha>
A\<^sub>Q \<sharp>* P'
A\<^sub>Q \<sharp>* C
bn \<alpha> \<sharp>* Q
distinct (bn \<alpha>)
bn \<alpha> \<sharp>* \<Psi>
bn \<alpha> \<sharp>* \<Psi>\<^sub>Q
bn \<alpha> \<sharp>* P
bn \<alpha> \<sharp>* subject \<alpha>
bn \<alpha> \<sharp>* C

goal (7 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>Q P \<alpha> P' Q A\<^sub>Q \<alpha>' C P'a. \<lbrakk>A\<^sub>Q \<sharp>* \<alpha>'; A\<^sub>Q \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* P'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>Q; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'a
 2. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 5. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 6. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 7. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
ultimately
[PROOF STATE]
proof (chain)
picking this:
\<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'
extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>
distinct A\<^sub>Q
Prop ?C (\<Psi> \<otimes> \<Psi>\<^sub>Q) P \<alpha> P'
A\<^sub>Q \<sharp>* P
A\<^sub>Q \<sharp>* Q
A\<^sub>Q \<sharp>* \<Psi>
A\<^sub>Q \<sharp>* \<alpha>
A\<^sub>Q \<sharp>* P'
A\<^sub>Q \<sharp>* C
bn \<alpha> \<sharp>* Q
distinct (bn \<alpha>)
bn \<alpha> \<sharp>* \<Psi>
bn \<alpha> \<sharp>* \<Psi>\<^sub>Q
bn \<alpha> \<sharp>* P
bn \<alpha> \<sharp>* subject \<alpha>
bn \<alpha> \<sharp>* C
[PROOF STEP]
have "Prop C \<Psi> (P \<parallel> Q) \<alpha> (P' \<parallel> Q)"
[PROOF STATE]
proof (prove)
using this:
\<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'
extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>
distinct A\<^sub>Q
Prop ?C (\<Psi> \<otimes> \<Psi>\<^sub>Q) P \<alpha> P'
A\<^sub>Q \<sharp>* P
A\<^sub>Q \<sharp>* Q
A\<^sub>Q \<sharp>* \<Psi>
A\<^sub>Q \<sharp>* \<alpha>
A\<^sub>Q \<sharp>* P'
A\<^sub>Q \<sharp>* C
bn \<alpha> \<sharp>* Q
distinct (bn \<alpha>)
bn \<alpha> \<sharp>* \<Psi>
bn \<alpha> \<sharp>* \<Psi>\<^sub>Q
bn \<alpha> \<sharp>* P
bn \<alpha> \<sharp>* subject \<alpha>
bn \<alpha> \<sharp>* C

goal (1 subgoal):
 1. Prop C \<Psi> (P \<parallel> Q) \<alpha> (P' \<parallel> Q)
[PROOF STEP]
by(rule_tac rPar1)
[PROOF STATE]
proof (state)
this:
Prop C \<Psi> (P \<parallel> Q) \<alpha> (P' \<parallel> Q)

goal (7 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>Q P \<alpha> P' Q A\<^sub>Q \<alpha>' C P'a. \<lbrakk>A\<^sub>Q \<sharp>* \<alpha>'; A\<^sub>Q \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* P'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>Q; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'a
 2. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 5. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 6. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 7. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
with \<open>bn \<alpha> \<sharp>* \<Psi>\<close> \<open>bn \<alpha> \<sharp>* P\<close> \<open>bn \<alpha> \<sharp>* Q\<close> \<open>bn \<alpha> \<sharp>* subject \<alpha>\<close> \<open>bn \<alpha> \<sharp>* C\<close> \<open>bn \<alpha> \<sharp>* bn \<alpha>'\<close> S \<open>distinctPerm p\<close> \<open>bn(p \<bullet> \<alpha>) \<sharp>* \<alpha>\<close> \<open>bn(p \<bullet> \<alpha>) \<sharp>* (P' \<parallel> Q)\<close> \<open>A\<^sub>Q \<sharp>* C\<close>
[PROOF STATE]
proof (chain)
picking this:
bn \<alpha> \<sharp>* \<Psi>
bn \<alpha> \<sharp>* P
bn \<alpha> \<sharp>* Q
bn \<alpha> \<sharp>* subject \<alpha>
bn \<alpha> \<sharp>* C
bn \<alpha> \<sharp>* bn \<alpha>'
set p \<subseteq> set (bn \<alpha>) \<times> set (bn (p \<bullet> \<alpha>))
distinctPerm p
bn (p \<bullet> \<alpha>) \<sharp>* \<alpha>
bn (p \<bullet> \<alpha>) \<sharp>* (P' \<parallel> Q)
A\<^sub>Q \<sharp>* C
Prop C \<Psi> (P \<parallel> Q) \<alpha> (P' \<parallel> Q)
[PROOF STEP]
have "Prop C \<Psi> (P \<parallel> Q) (p \<bullet> \<alpha>) (p \<bullet> (P' \<parallel> Q))"
[PROOF STATE]
proof (prove)
using this:
bn \<alpha> \<sharp>* \<Psi>
bn \<alpha> \<sharp>* P
bn \<alpha> \<sharp>* Q
bn \<alpha> \<sharp>* subject \<alpha>
bn \<alpha> \<sharp>* C
bn \<alpha> \<sharp>* bn \<alpha>'
set p \<subseteq> set (bn \<alpha>) \<times> set (bn (p \<bullet> \<alpha>))
distinctPerm p
bn (p \<bullet> \<alpha>) \<sharp>* \<alpha>
bn (p \<bullet> \<alpha>) \<sharp>* (P' \<parallel> Q)
A\<^sub>Q \<sharp>* C
Prop C \<Psi> (P \<parallel> Q) \<alpha> (P' \<parallel> Q)

goal (1 subgoal):
 1. Prop C \<Psi> (P \<parallel> Q) (p \<bullet> \<alpha>) (p \<bullet> P' \<parallel> Q)
[PROOF STEP]
by(rule_tac rAlpha) auto
[PROOF STATE]
proof (state)
this:
Prop C \<Psi> (P \<parallel> Q) (p \<bullet> \<alpha>) (p \<bullet> P' \<parallel> Q)

goal (7 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>Q P \<alpha> P' Q A\<^sub>Q \<alpha>' C P'a. \<lbrakk>A\<^sub>Q \<sharp>* \<alpha>'; A\<^sub>Q \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* P'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>Q; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P' \<parallel> Q = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'a
 2. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 5. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 6. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 7. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
with \<alpha>Eq P'eq \<open>distinctPerm p\<close>
[PROOF STATE]
proof (chain)
picking this:
\<alpha>' = p \<bullet> \<alpha>
P'' = p \<bullet> P' \<parallel> Q
distinctPerm p
Prop C \<Psi> (P \<parallel> Q) (p \<bullet> \<alpha>) (p \<bullet> P' \<parallel> Q)
[PROOF STEP]
show ?case
[PROOF STATE]
proof (prove)
using this:
\<alpha>' = p \<bullet> \<alpha>
P'' = p \<bullet> P' \<parallel> Q
distinctPerm p
Prop C \<Psi> (P \<parallel> Q) (p \<bullet> \<alpha>) (p \<bullet> P' \<parallel> Q)

goal (1 subgoal):
 1. Prop C \<Psi> (P \<parallel> Q) \<alpha>' P''
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
Prop C \<Psi> (P \<parallel> Q) \<alpha>' P''

goal (6 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 2. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 5. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 6. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (6 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 2. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 5. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 6. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
case(cPar2 \<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C Q'')
[PROOF STATE]
proof (state)
this:
A\<^sub>P \<sharp>* \<alpha>'
A\<^sub>P \<sharp>* C
bn \<alpha> \<sharp>* \<alpha>'
bn \<alpha> \<sharp>* C
\<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'
\<lbrakk>\<alpha> \<prec> Q' = ?b \<prec> ?P'; bn ?b \<sharp>* subject ?b; distinct (bn ?b)\<rbrakk> \<Longrightarrow> Prop ?ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q ?b ?P'
extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>
distinct A\<^sub>P
A\<^sub>P \<sharp>* P
A\<^sub>P \<sharp>* Q
A\<^sub>P \<sharp>* \<Psi>
A\<^sub>P \<sharp>* \<alpha>
A\<^sub>P \<sharp>* Q'
distinct (bn \<alpha>)
bn \<alpha> \<sharp>* \<Psi>
bn \<alpha> \<sharp>* \<Psi>\<^sub>P
bn \<alpha> \<sharp>* P
bn \<alpha> \<sharp>* Q
bn \<alpha> \<sharp>* subject \<alpha>
\<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> Q''
bn \<alpha>' \<sharp>* subject \<alpha>'
distinct (bn \<alpha>')

goal (6 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 2. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 5. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 6. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
note \<open>\<alpha> \<prec> (P \<parallel> Q') = \<alpha>' \<prec> Q''\<close>
[PROOF STATE]
proof (state)
this:
\<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> Q''

goal (6 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 2. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 5. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 6. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
\<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> Q''

goal (6 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 2. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 5. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 6. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
from \<open>bn \<alpha> \<sharp>* \<alpha>'\<close>
[PROOF STATE]
proof (chain)
picking this:
bn \<alpha> \<sharp>* \<alpha>'
[PROOF STEP]
have "bn \<alpha> \<sharp>* (bn \<alpha>')"
[PROOF STATE]
proof (prove)
using this:
bn \<alpha> \<sharp>* \<alpha>'

goal (1 subgoal):
 1. bn \<alpha> \<sharp>* bn \<alpha>'
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
bn \<alpha> \<sharp>* bn \<alpha>'

goal (6 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 2. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 5. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 6. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
bn \<alpha> \<sharp>* bn \<alpha>'

goal (6 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 2. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 5. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 6. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
note \<open>distinct (bn \<alpha>)\<close> \<open>distinct(bn \<alpha>')\<close>
[PROOF STATE]
proof (state)
this:
distinct (bn \<alpha>)
distinct (bn \<alpha>')

goal (6 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 2. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 5. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 6. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
distinct (bn \<alpha>)
distinct (bn \<alpha>')

goal (6 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 2. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 5. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 6. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
from \<open>bn \<alpha> \<sharp>* subject \<alpha>\<close> \<open>bn \<alpha>' \<sharp>* subject \<alpha>'\<close>
[PROOF STATE]
proof (chain)
picking this:
bn \<alpha> \<sharp>* subject \<alpha>
bn \<alpha>' \<sharp>* subject \<alpha>'
[PROOF STEP]
have "bn \<alpha> \<sharp>* (\<alpha> \<prec> P \<parallel> Q')" and "bn \<alpha>' \<sharp>* (\<alpha>' \<prec> Q'')"
[PROOF STATE]
proof (prove)
using this:
bn \<alpha> \<sharp>* subject \<alpha>
bn \<alpha>' \<sharp>* subject \<alpha>'

goal (1 subgoal):
 1. bn \<alpha> \<sharp>* (\<alpha> \<prec> P \<parallel> Q') &&& bn \<alpha>' \<sharp>* (\<alpha>' \<prec> Q'')
[PROOF STEP]
by simp+
[PROOF STATE]
proof (state)
this:
bn \<alpha> \<sharp>* (\<alpha> \<prec> P \<parallel> Q')
bn \<alpha>' \<sharp>* (\<alpha>' \<prec> Q'')

goal (6 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 2. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 5. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 6. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
ultimately
[PROOF STATE]
proof (chain)
picking this:
\<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> Q''
bn \<alpha> \<sharp>* bn \<alpha>'
distinct (bn \<alpha>)
distinct (bn \<alpha>')
bn \<alpha> \<sharp>* (\<alpha> \<prec> P \<parallel> Q')
bn \<alpha>' \<sharp>* (\<alpha>' \<prec> Q'')
[PROOF STEP]
obtain p where S: "(set p) \<subseteq> (set(bn \<alpha>)) \<times> (set(bn(p \<bullet> \<alpha>)))" and "distinctPerm p"
                        and \<alpha>Eq: "\<alpha>' = p \<bullet> \<alpha>" and Q'eq: "Q'' = p \<bullet> (P \<parallel> Q')" and "(bn(p \<bullet> \<alpha>)) \<sharp>* \<alpha>"
                        and "(bn(p \<bullet> \<alpha>)) \<sharp>* (P \<parallel> Q')"
[PROOF STATE]
proof (prove)
using this:
\<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> Q''
bn \<alpha> \<sharp>* bn \<alpha>'
distinct (bn \<alpha>)
distinct (bn \<alpha>')
bn \<alpha> \<sharp>* (\<alpha> \<prec> P \<parallel> Q')
bn \<alpha>' \<sharp>* (\<alpha>' \<prec> Q'')

goal (1 subgoal):
 1. (\<And>p. \<lbrakk>set p \<subseteq> set (bn \<alpha>) \<times> set (bn (p \<bullet> \<alpha>)); distinctPerm p; \<alpha>' = p \<bullet> \<alpha>; Q'' = p \<bullet> P \<parallel> Q'; bn (p \<bullet> \<alpha>) \<sharp>* \<alpha>; bn (p \<bullet> \<alpha>) \<sharp>* (P \<parallel> Q')\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by(rule residualEq)
[PROOF STATE]
proof (state)
this:
set p \<subseteq> set (bn \<alpha>) \<times> set (bn (p \<bullet> \<alpha>))
distinctPerm p
\<alpha>' = p \<bullet> \<alpha>
Q'' = p \<bullet> P \<parallel> Q'
bn (p \<bullet> \<alpha>) \<sharp>* \<alpha>
bn (p \<bullet> \<alpha>) \<sharp>* (P \<parallel> Q')

goal (6 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 2. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 5. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 6. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
note \<open>\<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto>\<alpha> \<prec> Q'\<close> \<open>extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>\<close> \<open>distinct A\<^sub>P\<close>
[PROOF STATE]
proof (state)
this:
\<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'
extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>
distinct A\<^sub>P

goal (6 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 2. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 5. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 6. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
\<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'
extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>
distinct A\<^sub>P

goal (6 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 2. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 5. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 6. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
from \<open>bn \<alpha> \<sharp>* subject \<alpha>\<close> \<open>distinct(bn \<alpha>)\<close>
[PROOF STATE]
proof (chain)
picking this:
bn \<alpha> \<sharp>* subject \<alpha>
distinct (bn \<alpha>)
[PROOF STEP]
have "\<And>C. Prop C (\<Psi> \<otimes> \<Psi>\<^sub>P) Q \<alpha> Q'"
[PROOF STATE]
proof (prove)
using this:
bn \<alpha> \<sharp>* subject \<alpha>
distinct (bn \<alpha>)

goal (1 subgoal):
 1. \<And>C. Prop C (\<Psi> \<otimes> \<Psi>\<^sub>P) Q \<alpha> Q'
[PROOF STEP]
by(rule_tac cPar2) auto
[PROOF STATE]
proof (state)
this:
Prop ?C (\<Psi> \<otimes> \<Psi>\<^sub>P) Q \<alpha> Q'

goal (6 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 2. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 5. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 6. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
Prop ?C (\<Psi> \<otimes> \<Psi>\<^sub>P) Q \<alpha> Q'

goal (6 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 2. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 5. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 6. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
note \<open>A\<^sub>P \<sharp>* P\<close> \<open>A\<^sub>P \<sharp>* Q\<close> \<open>A\<^sub>P \<sharp>* \<Psi>\<close> \<open>A\<^sub>P \<sharp>* \<alpha>\<close> \<open>A\<^sub>P \<sharp>* Q'\<close> \<open>A\<^sub>P \<sharp>* C\<close>
                \<open>bn \<alpha> \<sharp>* Q\<close> \<open>distinct(bn \<alpha>)\<close> \<open>bn \<alpha> \<sharp>* \<Psi>\<close> \<open>bn \<alpha> \<sharp>* \<Psi>\<^sub>P\<close> \<open>bn \<alpha> \<sharp>* P\<close> \<open>bn \<alpha> \<sharp>* subject \<alpha>\<close> \<open>bn \<alpha> \<sharp>* C\<close>
[PROOF STATE]
proof (state)
this:
A\<^sub>P \<sharp>* P
A\<^sub>P \<sharp>* Q
A\<^sub>P \<sharp>* \<Psi>
A\<^sub>P \<sharp>* \<alpha>
A\<^sub>P \<sharp>* Q'
A\<^sub>P \<sharp>* C
bn \<alpha> \<sharp>* Q
distinct (bn \<alpha>)
bn \<alpha> \<sharp>* \<Psi>
bn \<alpha> \<sharp>* \<Psi>\<^sub>P
bn \<alpha> \<sharp>* P
bn \<alpha> \<sharp>* subject \<alpha>
bn \<alpha> \<sharp>* C

goal (6 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 2. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 5. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 6. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
ultimately
[PROOF STATE]
proof (chain)
picking this:
\<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'
extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>
distinct A\<^sub>P
Prop ?C (\<Psi> \<otimes> \<Psi>\<^sub>P) Q \<alpha> Q'
A\<^sub>P \<sharp>* P
A\<^sub>P \<sharp>* Q
A\<^sub>P \<sharp>* \<Psi>
A\<^sub>P \<sharp>* \<alpha>
A\<^sub>P \<sharp>* Q'
A\<^sub>P \<sharp>* C
bn \<alpha> \<sharp>* Q
distinct (bn \<alpha>)
bn \<alpha> \<sharp>* \<Psi>
bn \<alpha> \<sharp>* \<Psi>\<^sub>P
bn \<alpha> \<sharp>* P
bn \<alpha> \<sharp>* subject \<alpha>
bn \<alpha> \<sharp>* C
[PROOF STEP]
have "Prop C \<Psi> (P \<parallel> Q) \<alpha> (P \<parallel> Q')"
[PROOF STATE]
proof (prove)
using this:
\<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'
extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>
distinct A\<^sub>P
Prop ?C (\<Psi> \<otimes> \<Psi>\<^sub>P) Q \<alpha> Q'
A\<^sub>P \<sharp>* P
A\<^sub>P \<sharp>* Q
A\<^sub>P \<sharp>* \<Psi>
A\<^sub>P \<sharp>* \<alpha>
A\<^sub>P \<sharp>* Q'
A\<^sub>P \<sharp>* C
bn \<alpha> \<sharp>* Q
distinct (bn \<alpha>)
bn \<alpha> \<sharp>* \<Psi>
bn \<alpha> \<sharp>* \<Psi>\<^sub>P
bn \<alpha> \<sharp>* P
bn \<alpha> \<sharp>* subject \<alpha>
bn \<alpha> \<sharp>* C

goal (1 subgoal):
 1. Prop C \<Psi> (P \<parallel> Q) \<alpha> (P \<parallel> Q')
[PROOF STEP]
by(rule_tac rPar2)
[PROOF STATE]
proof (state)
this:
Prop C \<Psi> (P \<parallel> Q) \<alpha> (P \<parallel> Q')

goal (6 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 2. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 5. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 6. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
with \<open>bn \<alpha> \<sharp>* \<Psi>\<close> \<open>bn \<alpha> \<sharp>* P\<close> \<open>bn \<alpha> \<sharp>* Q\<close> \<open>bn \<alpha> \<sharp>* subject \<alpha>\<close> \<open>bn \<alpha> \<sharp>* C\<close> \<open>bn \<alpha> \<sharp>* (bn \<alpha>')\<close> S \<open>distinctPerm p\<close> \<open>bn(p \<bullet> \<alpha>) \<sharp>* \<alpha>\<close> \<open>bn(p \<bullet> \<alpha>) \<sharp>* (P \<parallel> Q')\<close>
[PROOF STATE]
proof (chain)
picking this:
bn \<alpha> \<sharp>* \<Psi>
bn \<alpha> \<sharp>* P
bn \<alpha> \<sharp>* Q
bn \<alpha> \<sharp>* subject \<alpha>
bn \<alpha> \<sharp>* C
bn \<alpha> \<sharp>* bn \<alpha>'
set p \<subseteq> set (bn \<alpha>) \<times> set (bn (p \<bullet> \<alpha>))
distinctPerm p
bn (p \<bullet> \<alpha>) \<sharp>* \<alpha>
bn (p \<bullet> \<alpha>) \<sharp>* (P \<parallel> Q')
Prop C \<Psi> (P \<parallel> Q) \<alpha> (P \<parallel> Q')
[PROOF STEP]
have "Prop C \<Psi> (P \<parallel> Q) (p \<bullet> \<alpha>) (p \<bullet> (P \<parallel> Q'))"
[PROOF STATE]
proof (prove)
using this:
bn \<alpha> \<sharp>* \<Psi>
bn \<alpha> \<sharp>* P
bn \<alpha> \<sharp>* Q
bn \<alpha> \<sharp>* subject \<alpha>
bn \<alpha> \<sharp>* C
bn \<alpha> \<sharp>* bn \<alpha>'
set p \<subseteq> set (bn \<alpha>) \<times> set (bn (p \<bullet> \<alpha>))
distinctPerm p
bn (p \<bullet> \<alpha>) \<sharp>* \<alpha>
bn (p \<bullet> \<alpha>) \<sharp>* (P \<parallel> Q')
Prop C \<Psi> (P \<parallel> Q) \<alpha> (P \<parallel> Q')

goal (1 subgoal):
 1. Prop C \<Psi> (P \<parallel> Q) (p \<bullet> \<alpha>) (p \<bullet> P \<parallel> Q')
[PROOF STEP]
by(rule_tac rAlpha) auto
[PROOF STATE]
proof (state)
this:
Prop C \<Psi> (P \<parallel> Q) (p \<bullet> \<alpha>) (p \<bullet> P \<parallel> Q')

goal (6 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>P Q \<alpha> Q' P A\<^sub>P \<alpha>' C P'. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>'; A\<^sub>P \<sharp>* C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> \<alpha> \<prec> Q'; \<And>b ba P'. \<lbrakk>\<alpha> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* Q'; distinct (bn \<alpha>); bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* \<Psi>\<^sub>P; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* Q; bn \<alpha> \<sharp>* subject \<alpha>; \<alpha> \<prec> P \<parallel> Q' = \<alpha>' \<prec> P'; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha>' P'
 2. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 3. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 4. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 5. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 6. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
with \<alpha>Eq Q'eq \<open>distinctPerm p\<close>
[PROOF STATE]
proof (chain)
picking this:
\<alpha>' = p \<bullet> \<alpha>
Q'' = p \<bullet> P \<parallel> Q'
distinctPerm p
Prop C \<Psi> (P \<parallel> Q) (p \<bullet> \<alpha>) (p \<bullet> P \<parallel> Q')
[PROOF STEP]
show ?case
[PROOF STATE]
proof (prove)
using this:
\<alpha>' = p \<bullet> \<alpha>
Q'' = p \<bullet> P \<parallel> Q'
distinctPerm p
Prop C \<Psi> (P \<parallel> Q) (p \<bullet> \<alpha>) (p \<bullet> P \<parallel> Q')

goal (1 subgoal):
 1. Prop C \<Psi> (P \<parallel> Q) \<alpha>' Q''
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
Prop C \<Psi> (P \<parallel> Q) \<alpha>' Q''

goal (5 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 2. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 3. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 4. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 5. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (5 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 2. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 3. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 4. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 5. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
case(cComm1 \<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'')
[PROOF STATE]
proof (state)
this:
A\<^sub>P \<sharp>* \<alpha>
A\<^sub>P \<sharp>* C
A\<^sub>Q \<sharp>* \<alpha>
A\<^sub>Q \<sharp>* C
xvec \<sharp>* \<alpha>
xvec \<sharp>* C
\<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'
\<lbrakk>M\<lparr>N\<rparr> \<prec> P' = ?b \<prec> ?P'; bn ?b \<sharp>* subject ?b; distinct (bn ?b)\<rbrakk> \<Longrightarrow> Prop ?ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P ?b ?P'
extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>
distinct A\<^sub>P
\<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'
\<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = ?b \<prec> ?P'; bn ?b \<sharp>* subject ?b; distinct (bn ?b)\<rbrakk> \<Longrightarrow> Prop ?ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q ?b ?P'
extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>
distinct A\<^sub>Q
\<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K
A\<^sub>P \<sharp>* \<Psi>
A\<^sub>P \<sharp>* \<Psi>\<^sub>Q
A\<^sub>P \<sharp>* P
A\<^sub>P \<sharp>* M
A\<^sub>P \<sharp>* N
A\<^sub>P \<sharp>* P'
A\<^sub>P \<sharp>* Q
A\<^sub>P \<sharp>* Q'
A\<^sub>P \<sharp>* A\<^sub>Q
A\<^sub>P \<sharp>* xvec
A\<^sub>Q \<sharp>* \<Psi>
A\<^sub>Q \<sharp>* \<Psi>\<^sub>P
A\<^sub>Q \<sharp>* P
A\<^sub>Q \<sharp>* N
A\<^sub>Q \<sharp>* P'
A\<^sub>Q \<sharp>* Q
A\<^sub>Q \<sharp>* K
A\<^sub>Q \<sharp>* Q'
A\<^sub>Q \<sharp>* xvec
distinct xvec
xvec \<sharp>* \<Psi>
xvec \<sharp>* \<Psi>\<^sub>P
xvec \<sharp>* \<Psi>\<^sub>Q
xvec \<sharp>* P
xvec \<sharp>* M
xvec \<sharp>* Q
xvec \<sharp>* K
\<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P''
bn \<alpha> \<sharp>* subject \<alpha>
distinct (bn \<alpha>)

goal (5 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 2. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 3. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 4. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 5. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
hence "Prop C \<Psi> (P \<parallel> Q) (\<tau>) (\<lparr>\<nu>*xvec\<rparr>(P' \<parallel> Q'))"
[PROOF STATE]
proof (prove)
using this:
A\<^sub>P \<sharp>* \<alpha>
A\<^sub>P \<sharp>* C
A\<^sub>Q \<sharp>* \<alpha>
A\<^sub>Q \<sharp>* C
xvec \<sharp>* \<alpha>
xvec \<sharp>* C
\<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'
\<lbrakk>M\<lparr>N\<rparr> \<prec> P' = ?b \<prec> ?P'; bn ?b \<sharp>* subject ?b; distinct (bn ?b)\<rbrakk> \<Longrightarrow> Prop ?ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P ?b ?P'
extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>
distinct A\<^sub>P
\<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'
\<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = ?b \<prec> ?P'; bn ?b \<sharp>* subject ?b; distinct (bn ?b)\<rbrakk> \<Longrightarrow> Prop ?ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q ?b ?P'
extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>
distinct A\<^sub>Q
\<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K
A\<^sub>P \<sharp>* \<Psi>
A\<^sub>P \<sharp>* \<Psi>\<^sub>Q
A\<^sub>P \<sharp>* P
A\<^sub>P \<sharp>* M
A\<^sub>P \<sharp>* N
A\<^sub>P \<sharp>* P'
A\<^sub>P \<sharp>* Q
A\<^sub>P \<sharp>* Q'
A\<^sub>P \<sharp>* A\<^sub>Q
A\<^sub>P \<sharp>* xvec
A\<^sub>Q \<sharp>* \<Psi>
A\<^sub>Q \<sharp>* \<Psi>\<^sub>P
A\<^sub>Q \<sharp>* P
A\<^sub>Q \<sharp>* N
A\<^sub>Q \<sharp>* P'
A\<^sub>Q \<sharp>* Q
A\<^sub>Q \<sharp>* K
A\<^sub>Q \<sharp>* Q'
A\<^sub>Q \<sharp>* xvec
distinct xvec
xvec \<sharp>* \<Psi>
xvec \<sharp>* \<Psi>\<^sub>P
xvec \<sharp>* \<Psi>\<^sub>Q
xvec \<sharp>* P
xvec \<sharp>* M
xvec \<sharp>* Q
xvec \<sharp>* K
\<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P''
bn \<alpha> \<sharp>* subject \<alpha>
distinct (bn \<alpha>)

goal (1 subgoal):
 1. Prop C \<Psi> (P \<parallel> Q) (\<tau>) (\<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q')
[PROOF STEP]
by(rule_tac rComm1) (assumption | simp)+
[PROOF STATE]
proof (state)
this:
Prop C \<Psi> (P \<parallel> Q) (\<tau>) (\<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q')

goal (5 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>Q P M N P' A\<^sub>P \<Psi>\<^sub>P Q K xvec Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>N\<rparr> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>N\<rparr> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 2. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 3. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 4. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 5. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
thus ?case
[PROOF STATE]
proof (prove)
using this:
Prop C \<Psi> (P \<parallel> Q) (\<tau>) (\<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q')

goal (1 subgoal):
 1. Prop C \<Psi> (P \<parallel> Q) \<alpha> P''
[PROOF STEP]
using \<open>\<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>(P' \<parallel> Q') = \<alpha> \<prec> P''\<close>
[PROOF STATE]
proof (prove)
using this:
Prop C \<Psi> (P \<parallel> Q) (\<tau>) (\<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q')
\<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P''

goal (1 subgoal):
 1. Prop C \<Psi> (P \<parallel> Q) \<alpha> P''
[PROOF STEP]
by(simp add: residualInject)
[PROOF STATE]
proof (state)
this:
Prop C \<Psi> (P \<parallel> Q) \<alpha> P''

goal (4 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 2. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 3. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 4. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (4 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 2. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 3. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 4. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
case(cComm2 \<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'')
[PROOF STATE]
proof (state)
this:
A\<^sub>P \<sharp>* \<alpha>
A\<^sub>P \<sharp>* C
A\<^sub>Q \<sharp>* \<alpha>
A\<^sub>Q \<sharp>* C
xvec \<sharp>* \<alpha>
xvec \<sharp>* C
\<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'
\<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = ?b \<prec> ?P'; bn ?b \<sharp>* subject ?b; distinct (bn ?b)\<rbrakk> \<Longrightarrow> Prop ?ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P ?b ?P'
extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>
distinct A\<^sub>P
\<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'
\<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = ?b \<prec> ?P'; bn ?b \<sharp>* subject ?b; distinct (bn ?b)\<rbrakk> \<Longrightarrow> Prop ?ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q ?b ?P'
extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>
distinct A\<^sub>Q
\<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K
A\<^sub>P \<sharp>* \<Psi>
A\<^sub>P \<sharp>* \<Psi>\<^sub>Q
A\<^sub>P \<sharp>* P
A\<^sub>P \<sharp>* M
A\<^sub>P \<sharp>* N
A\<^sub>P \<sharp>* P'
A\<^sub>P \<sharp>* Q
A\<^sub>P \<sharp>* Q'
A\<^sub>P \<sharp>* A\<^sub>Q
A\<^sub>P \<sharp>* xvec
A\<^sub>Q \<sharp>* \<Psi>
A\<^sub>Q \<sharp>* \<Psi>\<^sub>P
A\<^sub>Q \<sharp>* P
A\<^sub>Q \<sharp>* N
A\<^sub>Q \<sharp>* P'
A\<^sub>Q \<sharp>* Q
A\<^sub>Q \<sharp>* K
A\<^sub>Q \<sharp>* Q'
A\<^sub>Q \<sharp>* xvec
distinct xvec
xvec \<sharp>* \<Psi>
xvec \<sharp>* \<Psi>\<^sub>P
xvec \<sharp>* \<Psi>\<^sub>Q
xvec \<sharp>* P
xvec \<sharp>* M
xvec \<sharp>* Q
xvec \<sharp>* K
\<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P''
bn \<alpha> \<sharp>* subject \<alpha>
distinct (bn \<alpha>)

goal (4 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 2. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 3. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 4. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
hence "Prop C \<Psi> (P \<parallel> Q) (\<tau>) (\<lparr>\<nu>*xvec\<rparr>(P' \<parallel> Q'))"
[PROOF STATE]
proof (prove)
using this:
A\<^sub>P \<sharp>* \<alpha>
A\<^sub>P \<sharp>* C
A\<^sub>Q \<sharp>* \<alpha>
A\<^sub>Q \<sharp>* C
xvec \<sharp>* \<alpha>
xvec \<sharp>* C
\<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'
\<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = ?b \<prec> ?P'; bn ?b \<sharp>* subject ?b; distinct (bn ?b)\<rbrakk> \<Longrightarrow> Prop ?ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P ?b ?P'
extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>
distinct A\<^sub>P
\<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'
\<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = ?b \<prec> ?P'; bn ?b \<sharp>* subject ?b; distinct (bn ?b)\<rbrakk> \<Longrightarrow> Prop ?ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q ?b ?P'
extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>
distinct A\<^sub>Q
\<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K
A\<^sub>P \<sharp>* \<Psi>
A\<^sub>P \<sharp>* \<Psi>\<^sub>Q
A\<^sub>P \<sharp>* P
A\<^sub>P \<sharp>* M
A\<^sub>P \<sharp>* N
A\<^sub>P \<sharp>* P'
A\<^sub>P \<sharp>* Q
A\<^sub>P \<sharp>* Q'
A\<^sub>P \<sharp>* A\<^sub>Q
A\<^sub>P \<sharp>* xvec
A\<^sub>Q \<sharp>* \<Psi>
A\<^sub>Q \<sharp>* \<Psi>\<^sub>P
A\<^sub>Q \<sharp>* P
A\<^sub>Q \<sharp>* N
A\<^sub>Q \<sharp>* P'
A\<^sub>Q \<sharp>* Q
A\<^sub>Q \<sharp>* K
A\<^sub>Q \<sharp>* Q'
A\<^sub>Q \<sharp>* xvec
distinct xvec
xvec \<sharp>* \<Psi>
xvec \<sharp>* \<Psi>\<^sub>P
xvec \<sharp>* \<Psi>\<^sub>Q
xvec \<sharp>* P
xvec \<sharp>* M
xvec \<sharp>* Q
xvec \<sharp>* K
\<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P''
bn \<alpha> \<sharp>* subject \<alpha>
distinct (bn \<alpha>)

goal (1 subgoal):
 1. Prop C \<Psi> (P \<parallel> Q) (\<tau>) (\<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q')
[PROOF STEP]
by(rule_tac rComm2) (assumption | simp)+
[PROOF STATE]
proof (state)
this:
Prop C \<Psi> (P \<parallel> Q) (\<tau>) (\<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q')

goal (4 subgoals):
 1. \<And>\<Psi> \<Psi>\<^sub>Q P M xvec N P' A\<^sub>P \<Psi>\<^sub>P Q K Q' A\<^sub>Q \<alpha> C P'a. \<lbrakk>A\<^sub>P \<sharp>* \<alpha>; A\<^sub>P \<sharp>* C; A\<^sub>Q \<sharp>* \<alpha>; A\<^sub>Q \<sharp>* C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; \<Psi> \<otimes> \<Psi>\<^sub>Q \<rhd> P \<longmapsto> M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*xvec\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>Q) P b P'a; extractFrame P = \<langle>A\<^sub>P, \<Psi>\<^sub>P\<rangle>; distinct A\<^sub>P; \<Psi> \<otimes> \<Psi>\<^sub>P \<rhd> Q \<longmapsto> K\<lparr>N\<rparr> \<prec> Q'; \<And>b ba P'. \<lbrakk>K\<lparr>N\<rparr> \<prec> Q' = b \<prec> P'; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba (\<Psi> \<otimes> \<Psi>\<^sub>P) Q b P'; extractFrame Q = \<langle>A\<^sub>Q, \<Psi>\<^sub>Q\<rangle>; distinct A\<^sub>Q; \<Psi> \<otimes> \<Psi>\<^sub>P \<otimes> \<Psi>\<^sub>Q \<turnstile> M \<leftrightarrow> K; A\<^sub>P \<sharp>* \<Psi>; A\<^sub>P \<sharp>* \<Psi>\<^sub>Q; A\<^sub>P \<sharp>* P; A\<^sub>P \<sharp>* M; A\<^sub>P \<sharp>* N; A\<^sub>P \<sharp>* P'; A\<^sub>P \<sharp>* Q; A\<^sub>P \<sharp>* Q'; A\<^sub>P \<sharp>* A\<^sub>Q; A\<^sub>P \<sharp>* xvec; A\<^sub>Q \<sharp>* \<Psi>; A\<^sub>Q \<sharp>* \<Psi>\<^sub>P; A\<^sub>Q \<sharp>* P; A\<^sub>Q \<sharp>* N; A\<^sub>Q \<sharp>* P'; A\<^sub>Q \<sharp>* Q; A\<^sub>Q \<sharp>* K; A\<^sub>Q \<sharp>* Q'; A\<^sub>Q \<sharp>* xvec; distinct xvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* \<Psi>\<^sub>P; xvec \<sharp>* \<Psi>\<^sub>Q; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* Q; xvec \<sharp>* K; \<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (P \<parallel> Q) \<alpha> P'a
 2. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 3. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 4. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
thus ?case
[PROOF STATE]
proof (prove)
using this:
Prop C \<Psi> (P \<parallel> Q) (\<tau>) (\<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q')

goal (1 subgoal):
 1. Prop C \<Psi> (P \<parallel> Q) \<alpha> P''
[PROOF STEP]
using \<open>\<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>(P' \<parallel> Q') = \<alpha> \<prec> P''\<close>
[PROOF STATE]
proof (prove)
using this:
Prop C \<Psi> (P \<parallel> Q) (\<tau>) (\<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q')
\<tau> \<prec> \<lparr>\<nu>*xvec\<rparr>P' \<parallel> Q' = \<alpha> \<prec> P''

goal (1 subgoal):
 1. Prop C \<Psi> (P \<parallel> Q) \<alpha> P''
[PROOF STEP]
by(simp add: residualInject)
[PROOF STATE]
proof (state)
this:
Prop C \<Psi> (P \<parallel> Q) \<alpha> P''

goal (3 subgoals):
 1. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 2. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 3. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (3 subgoals):
 1. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 2. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 3. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
case(cOpen \<Psi> P M xvec yvec N P' x \<alpha> C P'')
[PROOF STATE]
proof (state)
this:
x \<sharp> \<alpha>
x \<sharp> C
xvec \<sharp>* \<alpha>
xvec \<sharp>* C
yvec \<sharp>* \<alpha>
yvec \<sharp>* C
\<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'
\<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = ?b \<prec> ?P'; bn ?b \<sharp>* subject ?b; distinct (bn ?b)\<rbrakk> \<Longrightarrow> Prop ?ba \<Psi> P ?b ?P'
x \<in> supp N
x \<sharp> xvec
x \<sharp> yvec
x \<sharp> M
x \<sharp> \<Psi>
distinct xvec
distinct yvec
xvec \<sharp>* \<Psi>
xvec \<sharp>* P
xvec \<sharp>* M
xvec \<sharp>* yvec
yvec \<sharp>* \<Psi>
yvec \<sharp>* P
yvec \<sharp>* M
M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P''
bn \<alpha> \<sharp>* subject \<alpha>
distinct (bn \<alpha>)

goal (3 subgoals):
 1. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 2. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 3. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
note \<open>M\<lparr>\<nu>*(xvec@x#yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P''\<close>
[PROOF STATE]
proof (state)
this:
M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P''

goal (3 subgoals):
 1. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 2. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 3. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P''

goal (3 subgoals):
 1. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 2. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 3. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
from \<open>xvec \<sharp>* \<alpha>\<close> \<open>x \<sharp> \<alpha>\<close> \<open>yvec \<sharp>* \<alpha>\<close>
[PROOF STATE]
proof (chain)
picking this:
xvec \<sharp>* \<alpha>
x \<sharp> \<alpha>
yvec \<sharp>* \<alpha>
[PROOF STEP]
have "(xvec@x#yvec) \<sharp>* (bn \<alpha>)"
[PROOF STATE]
proof (prove)
using this:
xvec \<sharp>* \<alpha>
x \<sharp> \<alpha>
yvec \<sharp>* \<alpha>

goal (1 subgoal):
 1. (xvec @ x # yvec) \<sharp>* bn \<alpha>
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
(xvec @ x # yvec) \<sharp>* bn \<alpha>

goal (3 subgoals):
 1. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 2. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 3. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
(xvec @ x # yvec) \<sharp>* bn \<alpha>

goal (3 subgoals):
 1. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 2. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 3. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
from \<open>xvec \<sharp>* yvec\<close> \<open>x \<sharp> xvec\<close> \<open>x \<sharp> yvec\<close> \<open>distinct xvec\<close> \<open>distinct yvec\<close>
[PROOF STATE]
proof (chain)
picking this:
xvec \<sharp>* yvec
x \<sharp> xvec
x \<sharp> yvec
distinct xvec
distinct yvec
[PROOF STEP]
have "distinct(xvec@x#yvec)"
[PROOF STATE]
proof (prove)
using this:
xvec \<sharp>* yvec
x \<sharp> xvec
x \<sharp> yvec
distinct xvec
distinct yvec

goal (1 subgoal):
 1. distinct (xvec @ x # yvec)
[PROOF STEP]
by(auto simp add: fresh_star_def) (simp add: fresh_def name_list_supp)
[PROOF STATE]
proof (state)
this:
distinct (xvec @ x # yvec)

goal (3 subgoals):
 1. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 2. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 3. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
distinct (xvec @ x # yvec)

goal (3 subgoals):
 1. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 2. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 3. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
note \<open>distinct(bn \<alpha>)\<close>
[PROOF STATE]
proof (state)
this:
distinct (bn \<alpha>)

goal (3 subgoals):
 1. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 2. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 3. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
distinct (bn \<alpha>)

goal (3 subgoals):
 1. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 2. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 3. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
from \<open>xvec \<sharp>* M\<close> \<open>x \<sharp> M\<close> \<open>yvec \<sharp>* M\<close>
[PROOF STATE]
proof (chain)
picking this:
xvec \<sharp>* M
x \<sharp> M
yvec \<sharp>* M
[PROOF STEP]
have "(xvec@x#yvec) \<sharp>* M"
[PROOF STATE]
proof (prove)
using this:
xvec \<sharp>* M
x \<sharp> M
yvec \<sharp>* M

goal (1 subgoal):
 1. (xvec @ x # yvec) \<sharp>* M
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
(xvec @ x # yvec) \<sharp>* M

goal (3 subgoals):
 1. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 2. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 3. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
hence "(xvec@x#yvec) \<sharp>* (M\<lparr>\<nu>*(xvec@x#yvec)\<rparr>\<langle>N\<rangle> \<prec> P')"
[PROOF STATE]
proof (prove)
using this:
(xvec @ x # yvec) \<sharp>* M

goal (1 subgoal):
 1. (xvec @ x # yvec) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P')
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
(xvec @ x # yvec) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P')

goal (3 subgoals):
 1. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 2. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 3. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
(xvec @ x # yvec) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P')

goal (3 subgoals):
 1. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 2. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 3. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
from \<open>bn \<alpha> \<sharp>* subject \<alpha>\<close>
[PROOF STATE]
proof (chain)
picking this:
bn \<alpha> \<sharp>* subject \<alpha>
[PROOF STEP]
have "bn \<alpha> \<sharp>* (\<alpha> \<prec> P'')"
[PROOF STATE]
proof (prove)
using this:
bn \<alpha> \<sharp>* subject \<alpha>

goal (1 subgoal):
 1. bn \<alpha> \<sharp>* (\<alpha> \<prec> P'')
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
bn \<alpha> \<sharp>* (\<alpha> \<prec> P'')

goal (3 subgoals):
 1. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 2. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 3. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
ultimately
[PROOF STATE]
proof (chain)
picking this:
M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P''
(xvec @ x # yvec) \<sharp>* bn \<alpha>
distinct (xvec @ x # yvec)
distinct (bn \<alpha>)
(xvec @ x # yvec) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P')
bn \<alpha> \<sharp>* (\<alpha> \<prec> P'')
[PROOF STEP]
obtain p where S: "(set p) \<subseteq> (set(xvec@x#yvec)) \<times> (set(p \<bullet> (xvec@x#yvec)))" and "distinctPerm p"
             and \<alpha>eq: "\<alpha> = (p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec@x#yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>" and P'eq: "P'' = (p \<bullet> P')"
             and A: "(xvec@x#yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec@x#yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>)"
             and B: "(p \<bullet> (xvec@x#yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec@x#yvec)\<rparr>\<langle>N\<rangle>)"
             and C: "(p \<bullet> (xvec@x#yvec)) \<sharp>* P'"
[PROOF STATE]
proof (prove)
using this:
M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P''
(xvec @ x # yvec) \<sharp>* bn \<alpha>
distinct (xvec @ x # yvec)
distinct (bn \<alpha>)
(xvec @ x # yvec) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P')
bn \<alpha> \<sharp>* (\<alpha> \<prec> P'')

goal (1 subgoal):
 1. (\<And>p. \<lbrakk>set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec)); distinctPerm p; \<alpha> = (p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>; P'' = p \<bullet> P'; (xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* P'\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by(rule_tac residualEq) (assumption | simp)+
[PROOF STATE]
proof (state)
this:
set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec))
distinctPerm p
\<alpha> = (p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>
P'' = p \<bullet> P'
(xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>)
(p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>)
(p \<bullet> (xvec @ x # yvec)) \<sharp>* P'

goal (3 subgoals):
 1. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 2. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 3. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
note \<open>\<Psi> \<rhd> P \<longmapsto>M\<lparr>\<nu>*(xvec@yvec)\<rparr>\<langle>N\<rangle> \<prec> P'\<close> \<open>x \<in> (supp N)\<close>
[PROOF STATE]
proof (state)
this:
\<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'
x \<in> supp N

goal (3 subgoals):
 1. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 2. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 3. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
\<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'
x \<in> supp N

goal (3 subgoals):
 1. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 2. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 3. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
{
[PROOF STATE]
proof (state)
this:
\<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'
x \<in> supp N

goal (3 subgoals):
 1. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 2. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 3. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
fix C
[PROOF STATE]
proof (state)
goal (3 subgoals):
 1. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 2. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 3. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
from \<open>xvec \<sharp>* M\<close> \<open>yvec \<sharp>* M\<close>
[PROOF STATE]
proof (chain)
picking this:
xvec \<sharp>* M
yvec \<sharp>* M
[PROOF STEP]
have "(xvec@yvec) \<sharp>* M"
[PROOF STATE]
proof (prove)
using this:
xvec \<sharp>* M
yvec \<sharp>* M

goal (1 subgoal):
 1. (xvec @ yvec) \<sharp>* M
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
(xvec @ yvec) \<sharp>* M

goal (3 subgoals):
 1. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 2. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 3. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
(xvec @ yvec) \<sharp>* M

goal (3 subgoals):
 1. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 2. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 3. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
from \<open>distinct xvec\<close> \<open>distinct yvec\<close> \<open>xvec \<sharp>* yvec\<close>
[PROOF STATE]
proof (chain)
picking this:
distinct xvec
distinct yvec
xvec \<sharp>* yvec
[PROOF STEP]
have "distinct(xvec@yvec)"
[PROOF STATE]
proof (prove)
using this:
distinct xvec
distinct yvec
xvec \<sharp>* yvec

goal (1 subgoal):
 1. distinct (xvec @ yvec)
[PROOF STEP]
by auto (simp add: fresh_star_def name_list_supp fresh_def)
[PROOF STATE]
proof (state)
this:
distinct (xvec @ yvec)

goal (3 subgoals):
 1. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 2. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 3. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
ultimately
[PROOF STATE]
proof (chain)
picking this:
(xvec @ yvec) \<sharp>* M
distinct (xvec @ yvec)
[PROOF STEP]
have "Prop C \<Psi> P (M\<lparr>\<nu>*(xvec@yvec)\<rparr>\<langle>N\<rangle>) P'"
[PROOF STATE]
proof (prove)
using this:
(xvec @ yvec) \<sharp>* M
distinct (xvec @ yvec)

goal (1 subgoal):
 1. Prop C \<Psi> P (M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle>) P'
[PROOF STEP]
by(rule_tac cOpen) auto
[PROOF STATE]
proof (state)
this:
Prop C \<Psi> P (M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle>) P'

goal (3 subgoals):
 1. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 2. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 3. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
}
[PROOF STATE]
proof (state)
this:
Prop ?Cb2 \<Psi> P (M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle>) P'

goal (3 subgoals):
 1. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 2. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 3. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
Prop ?Cb2 \<Psi> P (M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle>) P'

goal (3 subgoals):
 1. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 2. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 3. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
note \<open>x \<sharp> \<Psi>\<close> \<open>x \<sharp> M\<close> \<open>x \<sharp> xvec\<close> \<open>x \<sharp> yvec\<close> \<open>xvec \<sharp>* \<Psi>\<close> \<open>xvec \<sharp>* P\<close> \<open>xvec \<sharp>* M\<close>
                 \<open>yvec \<sharp>* \<Psi>\<close> \<open>yvec \<sharp>* P\<close> \<open>yvec \<sharp>* M\<close> \<open>yvec \<sharp>* C\<close> \<open>x \<sharp> C\<close> \<open>xvec \<sharp>* C\<close> \<open>distinct xvec\<close> \<open>distinct yvec\<close>
[PROOF STATE]
proof (state)
this:
x \<sharp> \<Psi>
x \<sharp> M
x \<sharp> xvec
x \<sharp> yvec
xvec \<sharp>* \<Psi>
xvec \<sharp>* P
xvec \<sharp>* M
yvec \<sharp>* \<Psi>
yvec \<sharp>* P
yvec \<sharp>* M
yvec \<sharp>* C
x \<sharp> C
xvec \<sharp>* C
distinct xvec
distinct yvec

goal (3 subgoals):
 1. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 2. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 3. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
ultimately
[PROOF STATE]
proof (chain)
picking this:
\<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'
x \<in> supp N
Prop ?Cb2 \<Psi> P (M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle>) P'
x \<sharp> \<Psi>
x \<sharp> M
x \<sharp> xvec
x \<sharp> yvec
xvec \<sharp>* \<Psi>
xvec \<sharp>* P
xvec \<sharp>* M
yvec \<sharp>* \<Psi>
yvec \<sharp>* P
yvec \<sharp>* M
yvec \<sharp>* C
x \<sharp> C
xvec \<sharp>* C
distinct xvec
distinct yvec
[PROOF STEP]
have "Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec@x#yvec)\<rparr>\<langle>N\<rangle>) P'"
[PROOF STATE]
proof (prove)
using this:
\<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'
x \<in> supp N
Prop ?Cb2 \<Psi> P (M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle>) P'
x \<sharp> \<Psi>
x \<sharp> M
x \<sharp> xvec
x \<sharp> yvec
xvec \<sharp>* \<Psi>
xvec \<sharp>* P
xvec \<sharp>* M
yvec \<sharp>* \<Psi>
yvec \<sharp>* P
yvec \<sharp>* M
yvec \<sharp>* C
x \<sharp> C
xvec \<sharp>* C
distinct xvec
distinct yvec

goal (1 subgoal):
 1. Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'
[PROOF STEP]
by(rule_tac rOpen)
[PROOF STATE]
proof (state)
this:
Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'

goal (3 subgoals):
 1. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 2. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 3. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
with \<open>xvec \<sharp>* \<Psi>\<close> \<open>yvec \<sharp>* \<Psi>\<close> \<open>xvec \<sharp>* P\<close> \<open>yvec \<sharp>* P\<close> \<open>xvec \<sharp>* M\<close> \<open>yvec \<sharp>* M\<close>
       \<open>yvec \<sharp>* C\<close>  S \<open>distinctPerm p\<close> \<open>x \<sharp> C\<close> \<open>xvec \<sharp>* C\<close>
       \<open>x \<sharp> \<Psi>\<close> \<open>x \<sharp> M\<close> \<open>x \<sharp> xvec\<close> \<open>x \<sharp> yvec\<close> A B C
[PROOF STATE]
proof (chain)
picking this:
xvec \<sharp>* \<Psi>
yvec \<sharp>* \<Psi>
xvec \<sharp>* P
yvec \<sharp>* P
xvec \<sharp>* M
yvec \<sharp>* M
yvec \<sharp>* C
set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec))
distinctPerm p
x \<sharp> C
xvec \<sharp>* C
x \<sharp> \<Psi>
x \<sharp> M
x \<sharp> xvec
x \<sharp> yvec
(xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>)
(p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>)
(p \<bullet> (xvec @ x # yvec)) \<sharp>* P'
Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'
[PROOF STEP]
have "Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (p \<bullet> (M\<lparr>\<nu>*(xvec@x#yvec)\<rparr>\<langle>N\<rangle>)) (p \<bullet> P')"
[PROOF STATE]
proof (prove)
using this:
xvec \<sharp>* \<Psi>
yvec \<sharp>* \<Psi>
xvec \<sharp>* P
yvec \<sharp>* P
xvec \<sharp>* M
yvec \<sharp>* M
yvec \<sharp>* C
set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec))
distinctPerm p
x \<sharp> C
xvec \<sharp>* C
x \<sharp> \<Psi>
x \<sharp> M
x \<sharp> xvec
x \<sharp> yvec
(xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>)
(p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>)
(p \<bullet> (xvec @ x # yvec)) \<sharp>* P'
Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'

goal (1 subgoal):
 1. Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (p \<bullet> M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) (p \<bullet> P')
[PROOF STEP]
apply(rule_tac \<alpha>="M\<lparr>\<nu>*(xvec@x#yvec)\<rparr>\<langle>N\<rangle>" in rAlpha)
[PROOF STATE]
proof (prove)
goal (10 subgoals):
 1. \<lbrakk>xvec \<sharp>* \<Psi>; yvec \<sharp>* \<Psi>; xvec \<sharp>* P; yvec \<sharp>* P; xvec \<sharp>* M; yvec \<sharp>* M; yvec \<sharp>* C; set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec)); distinctPerm p; x \<sharp> C; xvec \<sharp>* C; x \<sharp> \<Psi>; x \<sharp> M; x \<sharp> xvec; x \<sharp> yvec; (xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* P'; Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'\<rbrakk> \<Longrightarrow> bn (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) \<sharp>* \<Psi>
 2. \<lbrakk>xvec \<sharp>* \<Psi>; yvec \<sharp>* \<Psi>; xvec \<sharp>* P; yvec \<sharp>* P; xvec \<sharp>* M; yvec \<sharp>* M; yvec \<sharp>* C; set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec)); distinctPerm p; x \<sharp> C; xvec \<sharp>* C; x \<sharp> \<Psi>; x \<sharp> M; x \<sharp> xvec; x \<sharp> yvec; (xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* P'; Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'\<rbrakk> \<Longrightarrow> bn (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) \<sharp>* \<lparr>\<nu>x\<rparr>P
 3. \<lbrakk>xvec \<sharp>* \<Psi>; yvec \<sharp>* \<Psi>; xvec \<sharp>* P; yvec \<sharp>* P; xvec \<sharp>* M; yvec \<sharp>* M; yvec \<sharp>* C; set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec)); distinctPerm p; x \<sharp> C; xvec \<sharp>* C; x \<sharp> \<Psi>; x \<sharp> M; x \<sharp> xvec; x \<sharp> yvec; (xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* P'; Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'\<rbrakk> \<Longrightarrow> bn (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) \<sharp>* subject (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>)
 4. \<lbrakk>xvec \<sharp>* \<Psi>; yvec \<sharp>* \<Psi>; xvec \<sharp>* P; yvec \<sharp>* P; xvec \<sharp>* M; yvec \<sharp>* M; yvec \<sharp>* C; set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec)); distinctPerm p; x \<sharp> C; xvec \<sharp>* C; x \<sharp> \<Psi>; x \<sharp> M; x \<sharp> xvec; x \<sharp> yvec; (xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* P'; Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'\<rbrakk> \<Longrightarrow> bn (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) \<sharp>* C
 5. \<lbrakk>xvec \<sharp>* \<Psi>; yvec \<sharp>* \<Psi>; xvec \<sharp>* P; yvec \<sharp>* P; xvec \<sharp>* M; yvec \<sharp>* M; yvec \<sharp>* C; set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec)); distinctPerm p; x \<sharp> C; xvec \<sharp>* C; x \<sharp> \<Psi>; x \<sharp> M; x \<sharp> xvec; x \<sharp> yvec; (xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* P'; Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'\<rbrakk> \<Longrightarrow> bn (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) \<sharp>* bn (p \<bullet> M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>)
 6. \<lbrakk>xvec \<sharp>* \<Psi>; yvec \<sharp>* \<Psi>; xvec \<sharp>* P; yvec \<sharp>* P; xvec \<sharp>* M; yvec \<sharp>* M; yvec \<sharp>* C; set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec)); distinctPerm p; x \<sharp> C; xvec \<sharp>* C; x \<sharp> \<Psi>; x \<sharp> M; x \<sharp> xvec; x \<sharp> yvec; (xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* P'; Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'\<rbrakk> \<Longrightarrow> set p \<subseteq> set (bn (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>)) \<times> set (bn (p \<bullet> M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>))
 7. \<lbrakk>xvec \<sharp>* \<Psi>; yvec \<sharp>* \<Psi>; xvec \<sharp>* P; yvec \<sharp>* P; xvec \<sharp>* M; yvec \<sharp>* M; yvec \<sharp>* C; set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec)); distinctPerm p; x \<sharp> C; xvec \<sharp>* C; x \<sharp> \<Psi>; x \<sharp> M; x \<sharp> xvec; x \<sharp> yvec; (xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* P'; Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'\<rbrakk> \<Longrightarrow> distinctPerm p
 8. \<lbrakk>xvec \<sharp>* \<Psi>; yvec \<sharp>* \<Psi>; xvec \<sharp>* P; yvec \<sharp>* P; xvec \<sharp>* M; yvec \<sharp>* M; yvec \<sharp>* C; set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec)); distinctPerm p; x \<sharp> C; xvec \<sharp>* C; x \<sharp> \<Psi>; x \<sharp> M; x \<sharp> xvec; x \<sharp> yvec; (xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* P'; Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'\<rbrakk> \<Longrightarrow> bn (p \<bullet> M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>)
 9. \<lbrakk>xvec \<sharp>* \<Psi>; yvec \<sharp>* \<Psi>; xvec \<sharp>* P; yvec \<sharp>* P; xvec \<sharp>* M; yvec \<sharp>* M; yvec \<sharp>* C; set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec)); distinctPerm p; x \<sharp> C; xvec \<sharp>* C; x \<sharp> \<Psi>; x \<sharp> M; x \<sharp> xvec; x \<sharp> yvec; (xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* P'; Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'\<rbrakk> \<Longrightarrow> bn (p \<bullet> M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) \<sharp>* P'
 10. \<lbrakk>xvec \<sharp>* \<Psi>; yvec \<sharp>* \<Psi>; xvec \<sharp>* P; yvec \<sharp>* P; xvec \<sharp>* M; yvec \<sharp>* M; yvec \<sharp>* C; set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec)); distinctPerm p; x \<sharp> C; xvec \<sharp>* C; x \<sharp> \<Psi>; x \<sharp> M; x \<sharp> xvec; x \<sharp> yvec; (xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* P'; Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'
[PROOF STEP]
apply(assumption | simp)+
[PROOF STATE]
proof (prove)
goal (9 subgoals):
 1. \<lbrakk>xvec \<sharp>* \<Psi>; yvec \<sharp>* \<Psi>; xvec \<sharp>* P; yvec \<sharp>* P; xvec \<sharp>* M; yvec \<sharp>* M; yvec \<sharp>* C; set p \<subseteq> insert x (set xvec \<union> set yvec) \<times> set (p \<bullet> (xvec @ x # yvec)); distinctPerm p; x \<sharp> C; xvec \<sharp>* C; x \<sharp> \<Psi>; x \<sharp> M; x \<sharp> xvec; x \<sharp> yvec; xvec \<sharp>* (p \<bullet> (xvec @ x # yvec)) \<and> x \<sharp> p \<bullet> (xvec @ x # yvec) \<and> yvec \<sharp>* (p \<bullet> (xvec @ x # yvec)) \<and> xvec \<sharp>* (p \<bullet> N) \<and> x \<sharp> p \<bullet> N \<and> yvec \<sharp>* (p \<bullet> N); (p \<bullet> (xvec @ x # yvec)) \<sharp>* M \<and> (p \<bullet> (xvec @ x # yvec)) \<sharp>* N; (p \<bullet> (xvec @ x # yvec)) \<sharp>* P'; Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'\<rbrakk> \<Longrightarrow> (xvec @ x # yvec) \<sharp>* [x].P
 2. \<lbrakk>xvec \<sharp>* \<Psi>; yvec \<sharp>* \<Psi>; xvec \<sharp>* P; yvec \<sharp>* P; xvec \<sharp>* M; yvec \<sharp>* M; yvec \<sharp>* C; set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec)); distinctPerm p; x \<sharp> C; xvec \<sharp>* C; x \<sharp> \<Psi>; x \<sharp> M; x \<sharp> xvec; x \<sharp> yvec; (xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* P'; Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'\<rbrakk> \<Longrightarrow> bn (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) \<sharp>* subject (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>)
 3. \<lbrakk>xvec \<sharp>* \<Psi>; yvec \<sharp>* \<Psi>; xvec \<sharp>* P; yvec \<sharp>* P; xvec \<sharp>* M; yvec \<sharp>* M; yvec \<sharp>* C; set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec)); distinctPerm p; x \<sharp> C; xvec \<sharp>* C; x \<sharp> \<Psi>; x \<sharp> M; x \<sharp> xvec; x \<sharp> yvec; (xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* P'; Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'\<rbrakk> \<Longrightarrow> bn (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) \<sharp>* C
 4. \<lbrakk>xvec \<sharp>* \<Psi>; yvec \<sharp>* \<Psi>; xvec \<sharp>* P; yvec \<sharp>* P; xvec \<sharp>* M; yvec \<sharp>* M; yvec \<sharp>* C; set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec)); distinctPerm p; x \<sharp> C; xvec \<sharp>* C; x \<sharp> \<Psi>; x \<sharp> M; x \<sharp> xvec; x \<sharp> yvec; (xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* P'; Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'\<rbrakk> \<Longrightarrow> bn (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) \<sharp>* bn (p \<bullet> M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>)
 5. \<lbrakk>xvec \<sharp>* \<Psi>; yvec \<sharp>* \<Psi>; xvec \<sharp>* P; yvec \<sharp>* P; xvec \<sharp>* M; yvec \<sharp>* M; yvec \<sharp>* C; set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec)); distinctPerm p; x \<sharp> C; xvec \<sharp>* C; x \<sharp> \<Psi>; x \<sharp> M; x \<sharp> xvec; x \<sharp> yvec; (xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* P'; Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'\<rbrakk> \<Longrightarrow> set p \<subseteq> set (bn (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>)) \<times> set (bn (p \<bullet> M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>))
 6. \<lbrakk>xvec \<sharp>* \<Psi>; yvec \<sharp>* \<Psi>; xvec \<sharp>* P; yvec \<sharp>* P; xvec \<sharp>* M; yvec \<sharp>* M; yvec \<sharp>* C; set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec)); distinctPerm p; x \<sharp> C; xvec \<sharp>* C; x \<sharp> \<Psi>; x \<sharp> M; x \<sharp> xvec; x \<sharp> yvec; (xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* P'; Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'\<rbrakk> \<Longrightarrow> distinctPerm p
 7. \<lbrakk>xvec \<sharp>* \<Psi>; yvec \<sharp>* \<Psi>; xvec \<sharp>* P; yvec \<sharp>* P; xvec \<sharp>* M; yvec \<sharp>* M; yvec \<sharp>* C; set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec)); distinctPerm p; x \<sharp> C; xvec \<sharp>* C; x \<sharp> \<Psi>; x \<sharp> M; x \<sharp> xvec; x \<sharp> yvec; (xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* P'; Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'\<rbrakk> \<Longrightarrow> bn (p \<bullet> M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>)
 8. \<lbrakk>xvec \<sharp>* \<Psi>; yvec \<sharp>* \<Psi>; xvec \<sharp>* P; yvec \<sharp>* P; xvec \<sharp>* M; yvec \<sharp>* M; yvec \<sharp>* C; set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec)); distinctPerm p; x \<sharp> C; xvec \<sharp>* C; x \<sharp> \<Psi>; x \<sharp> M; x \<sharp> xvec; x \<sharp> yvec; (xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* P'; Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'\<rbrakk> \<Longrightarrow> bn (p \<bullet> M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) \<sharp>* P'
 9. \<lbrakk>xvec \<sharp>* \<Psi>; yvec \<sharp>* \<Psi>; xvec \<sharp>* P; yvec \<sharp>* P; xvec \<sharp>* M; yvec \<sharp>* M; yvec \<sharp>* C; set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec)); distinctPerm p; x \<sharp> C; xvec \<sharp>* C; x \<sharp> \<Psi>; x \<sharp> M; x \<sharp> xvec; x \<sharp> yvec; (xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* P'; Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'
[PROOF STEP]
apply(fastforce simp add: fresh_star_def abs_fresh)
[PROOF STATE]
proof (prove)
goal (8 subgoals):
 1. \<lbrakk>xvec \<sharp>* \<Psi>; yvec \<sharp>* \<Psi>; xvec \<sharp>* P; yvec \<sharp>* P; xvec \<sharp>* M; yvec \<sharp>* M; yvec \<sharp>* C; set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec)); distinctPerm p; x \<sharp> C; xvec \<sharp>* C; x \<sharp> \<Psi>; x \<sharp> M; x \<sharp> xvec; x \<sharp> yvec; (xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* P'; Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'\<rbrakk> \<Longrightarrow> bn (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) \<sharp>* subject (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>)
 2. \<lbrakk>xvec \<sharp>* \<Psi>; yvec \<sharp>* \<Psi>; xvec \<sharp>* P; yvec \<sharp>* P; xvec \<sharp>* M; yvec \<sharp>* M; yvec \<sharp>* C; set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec)); distinctPerm p; x \<sharp> C; xvec \<sharp>* C; x \<sharp> \<Psi>; x \<sharp> M; x \<sharp> xvec; x \<sharp> yvec; (xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* P'; Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'\<rbrakk> \<Longrightarrow> bn (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) \<sharp>* C
 3. \<lbrakk>xvec \<sharp>* \<Psi>; yvec \<sharp>* \<Psi>; xvec \<sharp>* P; yvec \<sharp>* P; xvec \<sharp>* M; yvec \<sharp>* M; yvec \<sharp>* C; set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec)); distinctPerm p; x \<sharp> C; xvec \<sharp>* C; x \<sharp> \<Psi>; x \<sharp> M; x \<sharp> xvec; x \<sharp> yvec; (xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* P'; Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'\<rbrakk> \<Longrightarrow> bn (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) \<sharp>* bn (p \<bullet> M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>)
 4. \<lbrakk>xvec \<sharp>* \<Psi>; yvec \<sharp>* \<Psi>; xvec \<sharp>* P; yvec \<sharp>* P; xvec \<sharp>* M; yvec \<sharp>* M; yvec \<sharp>* C; set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec)); distinctPerm p; x \<sharp> C; xvec \<sharp>* C; x \<sharp> \<Psi>; x \<sharp> M; x \<sharp> xvec; x \<sharp> yvec; (xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* P'; Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'\<rbrakk> \<Longrightarrow> set p \<subseteq> set (bn (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>)) \<times> set (bn (p \<bullet> M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>))
 5. \<lbrakk>xvec \<sharp>* \<Psi>; yvec \<sharp>* \<Psi>; xvec \<sharp>* P; yvec \<sharp>* P; xvec \<sharp>* M; yvec \<sharp>* M; yvec \<sharp>* C; set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec)); distinctPerm p; x \<sharp> C; xvec \<sharp>* C; x \<sharp> \<Psi>; x \<sharp> M; x \<sharp> xvec; x \<sharp> yvec; (xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* P'; Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'\<rbrakk> \<Longrightarrow> distinctPerm p
 6. \<lbrakk>xvec \<sharp>* \<Psi>; yvec \<sharp>* \<Psi>; xvec \<sharp>* P; yvec \<sharp>* P; xvec \<sharp>* M; yvec \<sharp>* M; yvec \<sharp>* C; set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec)); distinctPerm p; x \<sharp> C; xvec \<sharp>* C; x \<sharp> \<Psi>; x \<sharp> M; x \<sharp> xvec; x \<sharp> yvec; (xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* P'; Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'\<rbrakk> \<Longrightarrow> bn (p \<bullet> M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>)
 7. \<lbrakk>xvec \<sharp>* \<Psi>; yvec \<sharp>* \<Psi>; xvec \<sharp>* P; yvec \<sharp>* P; xvec \<sharp>* M; yvec \<sharp>* M; yvec \<sharp>* C; set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec)); distinctPerm p; x \<sharp> C; xvec \<sharp>* C; x \<sharp> \<Psi>; x \<sharp> M; x \<sharp> xvec; x \<sharp> yvec; (xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* P'; Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'\<rbrakk> \<Longrightarrow> bn (p \<bullet> M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) \<sharp>* P'
 8. \<lbrakk>xvec \<sharp>* \<Psi>; yvec \<sharp>* \<Psi>; xvec \<sharp>* P; yvec \<sharp>* P; xvec \<sharp>* M; yvec \<sharp>* M; yvec \<sharp>* C; set p \<subseteq> set (xvec @ x # yvec) \<times> set (p \<bullet> (xvec @ x # yvec)); distinctPerm p; x \<sharp> C; xvec \<sharp>* C; x \<sharp> \<Psi>; x \<sharp> M; x \<sharp> xvec; x \<sharp> yvec; (xvec @ x # yvec) \<sharp>* ((p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>); (p \<bullet> (xvec @ x # yvec)) \<sharp>* P'; Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) P'
[PROOF STEP]
by(assumption | simp)+
[PROOF STATE]
proof (state)
this:
Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (p \<bullet> M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) (p \<bullet> P')

goal (3 subgoals):
 1. \<And>\<Psi> P M xvec yvec N P' x \<alpha> C P'a. \<lbrakk>x \<sharp> \<alpha>; x \<sharp> C; xvec \<sharp>* \<alpha>; xvec \<sharp>* C; yvec \<sharp>* \<alpha>; yvec \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P'; \<And>b ba P'a. \<lbrakk>M\<lparr>\<nu>*(xvec @ yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<in> supp N; x \<sharp> xvec; x \<sharp> yvec; x \<sharp> M; x \<sharp> \<Psi>; distinct xvec; distinct yvec; xvec \<sharp>* \<Psi>; xvec \<sharp>* P; xvec \<sharp>* M; xvec \<sharp>* yvec; yvec \<sharp>* \<Psi>; yvec \<sharp>* P; yvec \<sharp>* M; M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle> \<prec> P' = \<alpha> \<prec> P'a; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P'a
 2. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 3. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
with \<alpha>eq P'eq
[PROOF STATE]
proof (chain)
picking this:
\<alpha> = (p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>
P'' = p \<bullet> P'
Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (p \<bullet> M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) (p \<bullet> P')
[PROOF STEP]
show ?case
[PROOF STATE]
proof (prove)
using this:
\<alpha> = (p \<bullet> M)\<lparr>\<nu>*(p \<bullet> (xvec @ x # yvec))\<rparr>\<langle>(p \<bullet> N)\<rangle>
P'' = p \<bullet> P'
Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (p \<bullet> M\<lparr>\<nu>*(xvec @ x # yvec)\<rparr>\<langle>N\<rangle>) (p \<bullet> P')

goal (1 subgoal):
 1. Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P''
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> P''

goal (2 subgoals):
 1. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 2. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (2 subgoals):
 1. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 2. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
case(cScope \<Psi> P \<alpha> P' x \<alpha>' C P'')
[PROOF STATE]
proof (state)
this:
x \<sharp> \<alpha>'
x \<sharp> C
bn \<alpha> \<sharp>* \<alpha>'
bn \<alpha> \<sharp>* C
\<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'
\<lbrakk>\<alpha> \<prec> P' = ?b \<prec> ?P'; bn ?b \<sharp>* subject ?b; distinct (bn ?b)\<rbrakk> \<Longrightarrow> Prop ?ba \<Psi> P ?b ?P'
x \<sharp> \<Psi>
x \<sharp> \<alpha>
bn \<alpha> \<sharp>* \<Psi>
bn \<alpha> \<sharp>* P
bn \<alpha> \<sharp>* subject \<alpha>
distinct (bn \<alpha>)
\<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P''
bn \<alpha>' \<sharp>* subject \<alpha>'
distinct (bn \<alpha>')

goal (2 subgoals):
 1. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 2. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
note \<open>\<alpha> \<prec> (\<lparr>\<nu>x\<rparr>P') = \<alpha>' \<prec> P''\<close>
[PROOF STATE]
proof (state)
this:
\<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P''

goal (2 subgoals):
 1. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 2. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
\<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P''

goal (2 subgoals):
 1. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 2. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
from \<open>bn \<alpha> \<sharp>* \<alpha>'\<close>
[PROOF STATE]
proof (chain)
picking this:
bn \<alpha> \<sharp>* \<alpha>'
[PROOF STEP]
have "bn \<alpha> \<sharp>* (bn \<alpha>')"
[PROOF STATE]
proof (prove)
using this:
bn \<alpha> \<sharp>* \<alpha>'

goal (1 subgoal):
 1. bn \<alpha> \<sharp>* bn \<alpha>'
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
bn \<alpha> \<sharp>* bn \<alpha>'

goal (2 subgoals):
 1. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 2. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
bn \<alpha> \<sharp>* bn \<alpha>'

goal (2 subgoals):
 1. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 2. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
note \<open>distinct (bn \<alpha>)\<close> \<open>distinct(bn \<alpha>')\<close>
[PROOF STATE]
proof (state)
this:
distinct (bn \<alpha>)
distinct (bn \<alpha>')

goal (2 subgoals):
 1. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 2. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
distinct (bn \<alpha>)
distinct (bn \<alpha>')

goal (2 subgoals):
 1. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 2. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
from \<open>bn \<alpha> \<sharp>* subject \<alpha>\<close> \<open>bn \<alpha>' \<sharp>* subject \<alpha>'\<close>
[PROOF STATE]
proof (chain)
picking this:
bn \<alpha> \<sharp>* subject \<alpha>
bn \<alpha>' \<sharp>* subject \<alpha>'
[PROOF STEP]
have "bn \<alpha> \<sharp>* (\<alpha> \<prec> \<lparr>\<nu>x\<rparr>P')" and "bn \<alpha>' \<sharp>* (\<alpha>' \<prec> P'')"
[PROOF STATE]
proof (prove)
using this:
bn \<alpha> \<sharp>* subject \<alpha>
bn \<alpha>' \<sharp>* subject \<alpha>'

goal (1 subgoal):
 1. bn \<alpha> \<sharp>* (\<alpha> \<prec> \<lparr>\<nu>x\<rparr>P') &&& bn \<alpha>' \<sharp>* (\<alpha>' \<prec> P'')
[PROOF STEP]
by simp+
[PROOF STATE]
proof (state)
this:
bn \<alpha> \<sharp>* (\<alpha> \<prec> \<lparr>\<nu>x\<rparr>P')
bn \<alpha>' \<sharp>* (\<alpha>' \<prec> P'')

goal (2 subgoals):
 1. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 2. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
ultimately
[PROOF STATE]
proof (chain)
picking this:
\<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P''
bn \<alpha> \<sharp>* bn \<alpha>'
distinct (bn \<alpha>)
distinct (bn \<alpha>')
bn \<alpha> \<sharp>* (\<alpha> \<prec> \<lparr>\<nu>x\<rparr>P')
bn \<alpha>' \<sharp>* (\<alpha>' \<prec> P'')
[PROOF STEP]
obtain p where S: "(set p) \<subseteq> (set(bn \<alpha>)) \<times> (set(bn(p \<bullet> \<alpha>)))" and "distinctPerm p"
                        and \<alpha>Eq: "\<alpha>' = p \<bullet> \<alpha>" and P'eq: "P'' = p \<bullet> (\<lparr>\<nu>x\<rparr>P')" and "(bn(p \<bullet> \<alpha>)) \<sharp>* \<alpha>"
                        and "(bn(p \<bullet> \<alpha>)) \<sharp>* (\<lparr>\<nu>x\<rparr>P')"
[PROOF STATE]
proof (prove)
using this:
\<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P''
bn \<alpha> \<sharp>* bn \<alpha>'
distinct (bn \<alpha>)
distinct (bn \<alpha>')
bn \<alpha> \<sharp>* (\<alpha> \<prec> \<lparr>\<nu>x\<rparr>P')
bn \<alpha>' \<sharp>* (\<alpha>' \<prec> P'')

goal (1 subgoal):
 1. (\<And>p. \<lbrakk>set p \<subseteq> set (bn \<alpha>) \<times> set (bn (p \<bullet> \<alpha>)); distinctPerm p; \<alpha>' = p \<bullet> \<alpha>; P'' = p \<bullet> \<lparr>\<nu>x\<rparr>P'; bn (p \<bullet> \<alpha>) \<sharp>* \<alpha>; bn (p \<bullet> \<alpha>) \<sharp>* \<lparr>\<nu>x\<rparr>P'\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by(rule residualEq)
[PROOF STATE]
proof (state)
this:
set p \<subseteq> set (bn \<alpha>) \<times> set (bn (p \<bullet> \<alpha>))
distinctPerm p
\<alpha>' = p \<bullet> \<alpha>
P'' = p \<bullet> \<lparr>\<nu>x\<rparr>P'
bn (p \<bullet> \<alpha>) \<sharp>* \<alpha>
bn (p \<bullet> \<alpha>) \<sharp>* \<lparr>\<nu>x\<rparr>P'

goal (2 subgoals):
 1. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 2. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
note \<open>\<Psi> \<rhd> P \<longmapsto>\<alpha> \<prec> P'\<close>
[PROOF STATE]
proof (state)
this:
\<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'

goal (2 subgoals):
 1. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 2. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
\<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'

goal (2 subgoals):
 1. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 2. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
from \<open>bn \<alpha> \<sharp>* subject \<alpha>\<close> \<open>distinct(bn \<alpha>)\<close>
[PROOF STATE]
proof (chain)
picking this:
bn \<alpha> \<sharp>* subject \<alpha>
distinct (bn \<alpha>)
[PROOF STEP]
have "\<And>C. Prop C \<Psi> P \<alpha> P'"
[PROOF STATE]
proof (prove)
using this:
bn \<alpha> \<sharp>* subject \<alpha>
distinct (bn \<alpha>)

goal (1 subgoal):
 1. \<And>C. Prop C \<Psi> P \<alpha> P'
[PROOF STEP]
by(rule_tac cScope) auto
[PROOF STATE]
proof (state)
this:
Prop ?C \<Psi> P \<alpha> P'

goal (2 subgoals):
 1. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 2. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
Prop ?C \<Psi> P \<alpha> P'

goal (2 subgoals):
 1. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 2. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
note \<open>x \<sharp> \<Psi>\<close> \<open>x \<sharp> \<alpha>\<close> \<open>bn \<alpha> \<sharp>* \<Psi>\<close> \<open>bn \<alpha> \<sharp>* P\<close> \<open>bn \<alpha> \<sharp>* subject \<alpha>\<close>
                \<open>x \<sharp> C\<close> \<open>bn \<alpha> \<sharp>* C\<close> \<open>distinct(bn \<alpha>)\<close>
[PROOF STATE]
proof (state)
this:
x \<sharp> \<Psi>
x \<sharp> \<alpha>
bn \<alpha> \<sharp>* \<Psi>
bn \<alpha> \<sharp>* P
bn \<alpha> \<sharp>* subject \<alpha>
x \<sharp> C
bn \<alpha> \<sharp>* C
distinct (bn \<alpha>)

goal (2 subgoals):
 1. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 2. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
ultimately
[PROOF STATE]
proof (chain)
picking this:
\<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'
Prop ?C \<Psi> P \<alpha> P'
x \<sharp> \<Psi>
x \<sharp> \<alpha>
bn \<alpha> \<sharp>* \<Psi>
bn \<alpha> \<sharp>* P
bn \<alpha> \<sharp>* subject \<alpha>
x \<sharp> C
bn \<alpha> \<sharp>* C
distinct (bn \<alpha>)
[PROOF STEP]
have "Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> (\<lparr>\<nu>x\<rparr>P')"
[PROOF STATE]
proof (prove)
using this:
\<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'
Prop ?C \<Psi> P \<alpha> P'
x \<sharp> \<Psi>
x \<sharp> \<alpha>
bn \<alpha> \<sharp>* \<Psi>
bn \<alpha> \<sharp>* P
bn \<alpha> \<sharp>* subject \<alpha>
x \<sharp> C
bn \<alpha> \<sharp>* C
distinct (bn \<alpha>)

goal (1 subgoal):
 1. Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> (\<lparr>\<nu>x\<rparr>P')
[PROOF STEP]
by(rule rScope)
[PROOF STATE]
proof (state)
this:
Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> (\<lparr>\<nu>x\<rparr>P')

goal (2 subgoals):
 1. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 2. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
with \<open>bn \<alpha> \<sharp>* \<Psi>\<close> \<open>bn \<alpha> \<sharp>* P\<close> \<open>x \<sharp> \<alpha>\<close> \<open>bn \<alpha> \<sharp>* subject \<alpha>\<close> \<open>bn \<alpha> \<sharp>* C\<close> \<open>bn \<alpha> \<sharp>* (bn \<alpha>')\<close> S \<open>distinctPerm p\<close> \<open>bn(p \<bullet> \<alpha>) \<sharp>* \<alpha>\<close> \<open>bn(p \<bullet> \<alpha>) \<sharp>* (\<lparr>\<nu>x\<rparr>P')\<close>
[PROOF STATE]
proof (chain)
picking this:
bn \<alpha> \<sharp>* \<Psi>
bn \<alpha> \<sharp>* P
x \<sharp> \<alpha>
bn \<alpha> \<sharp>* subject \<alpha>
bn \<alpha> \<sharp>* C
bn \<alpha> \<sharp>* bn \<alpha>'
set p \<subseteq> set (bn \<alpha>) \<times> set (bn (p \<bullet> \<alpha>))
distinctPerm p
bn (p \<bullet> \<alpha>) \<sharp>* \<alpha>
bn (p \<bullet> \<alpha>) \<sharp>* \<lparr>\<nu>x\<rparr>P'
Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> (\<lparr>\<nu>x\<rparr>P')
[PROOF STEP]
have "Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (p \<bullet> \<alpha>) (p \<bullet> (\<lparr>\<nu>x\<rparr>P'))"
[PROOF STATE]
proof (prove)
using this:
bn \<alpha> \<sharp>* \<Psi>
bn \<alpha> \<sharp>* P
x \<sharp> \<alpha>
bn \<alpha> \<sharp>* subject \<alpha>
bn \<alpha> \<sharp>* C
bn \<alpha> \<sharp>* bn \<alpha>'
set p \<subseteq> set (bn \<alpha>) \<times> set (bn (p \<bullet> \<alpha>))
distinctPerm p
bn (p \<bullet> \<alpha>) \<sharp>* \<alpha>
bn (p \<bullet> \<alpha>) \<sharp>* \<lparr>\<nu>x\<rparr>P'
Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha> (\<lparr>\<nu>x\<rparr>P')

goal (1 subgoal):
 1. Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (p \<bullet> \<alpha>) (p \<bullet> \<lparr>\<nu>x\<rparr>P')
[PROOF STEP]
by(rule_tac rAlpha) simp+
[PROOF STATE]
proof (state)
this:
Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (p \<bullet> \<alpha>) (p \<bullet> \<lparr>\<nu>x\<rparr>P')

goal (2 subgoals):
 1. \<And>\<Psi> P \<alpha> P' x \<alpha>' C P'a. \<lbrakk>x \<sharp> \<alpha>'; x \<sharp> C; bn \<alpha> \<sharp>* \<alpha>'; bn \<alpha> \<sharp>* C; \<Psi> \<rhd> P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> P b P'a; x \<sharp> \<Psi>; x \<sharp> \<alpha>; bn \<alpha> \<sharp>* \<Psi>; bn \<alpha> \<sharp>* P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>); \<alpha> \<prec> \<lparr>\<nu>x\<rparr>P' = \<alpha>' \<prec> P'a; bn \<alpha>' \<sharp>* subject \<alpha>'; distinct (bn \<alpha>')\<rbrakk> \<Longrightarrow> Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P'a
 2. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
with \<alpha>Eq P'eq \<open>distinctPerm p\<close>
[PROOF STATE]
proof (chain)
picking this:
\<alpha>' = p \<bullet> \<alpha>
P'' = p \<bullet> \<lparr>\<nu>x\<rparr>P'
distinctPerm p
Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (p \<bullet> \<alpha>) (p \<bullet> \<lparr>\<nu>x\<rparr>P')
[PROOF STEP]
show ?case
[PROOF STATE]
proof (prove)
using this:
\<alpha>' = p \<bullet> \<alpha>
P'' = p \<bullet> \<lparr>\<nu>x\<rparr>P'
distinctPerm p
Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) (p \<bullet> \<alpha>) (p \<bullet> \<lparr>\<nu>x\<rparr>P')

goal (1 subgoal):
 1. Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P''
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
Prop C \<Psi> (\<lparr>\<nu>x\<rparr>P) \<alpha>' P''

goal (1 subgoal):
 1. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (1 subgoal):
 1. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
case(Bang \<Psi> P Rs \<alpha> C)
[PROOF STATE]
proof (state)
this:
\<Psi> \<rhd> P \<parallel> !P \<longmapsto> Rs \<prec> C
\<lbrakk>Rs \<prec> C = ?b \<prec> ?P'; bn ?b \<sharp>* subject ?b; distinct (bn ?b)\<rbrakk> \<Longrightarrow> Prop ?ba \<Psi> (P \<parallel> !P) ?b ?P'
guarded P
bn Rs \<sharp>* subject Rs
distinct (bn Rs)

goal (1 subgoal):
 1. \<And>\<Psi> P \<alpha> C P'. \<lbrakk>\<Psi> \<rhd> P \<parallel> !P \<longmapsto> \<alpha> \<prec> P'; \<And>b ba P'a. \<lbrakk>\<alpha> \<prec> P' = b \<prec> P'a; bn b \<sharp>* subject b; distinct (bn b)\<rbrakk> \<Longrightarrow> Prop ba \<Psi> (P \<parallel> !P) b P'a; guarded P; bn \<alpha> \<sharp>* subject \<alpha>; distinct (bn \<alpha>)\<rbrakk> \<Longrightarrow> Prop C \<Psi> (!P) \<alpha> P'
[PROOF STEP]
thus ?case
[PROOF STATE]
proof (prove)
using this:
\<Psi> \<rhd> P \<parallel> !P \<longmapsto> Rs \<prec> C
\<lbrakk>Rs \<prec> C = ?b \<prec> ?P'; bn ?b \<sharp>* subject ?b; distinct (bn ?b)\<rbrakk> \<Longrightarrow> Prop ?ba \<Psi> (P \<parallel> !P) ?b ?P'
guarded P
bn Rs \<sharp>* subject Rs
distinct (bn Rs)

goal (1 subgoal):
 1. Prop \<alpha> \<Psi> (!P) Rs C
[PROOF STEP]
by(rule_tac rBang) auto
[PROOF STATE]
proof (state)
this:
Prop \<alpha> \<Psi> (!P) Rs C

goal:
No subgoals!
[PROOF STEP]
qed