[STATEMENT]
lemma tr_vars_subset:
  assumes "A' \<in> set (tr A D)"
  shows "fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> (\<Union>(t,t') \<in> set D. fv t \<union> fv t')" (is ?P)
  and "bvars\<^sub>s\<^sub>t A' \<subseteq> bvars\<^sub>s\<^sub>s\<^sub>t A" (is ?Q)
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D) &&& bvars\<^sub>s\<^sub>t A' \<subseteq> bvars\<^sub>s\<^sub>s\<^sub>t A
[PROOF STEP]
proof -
[PROOF STATE]
proof (state)
goal (2 subgoals):
 1. fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D)
 2. bvars\<^sub>s\<^sub>t A' \<subseteq> bvars\<^sub>s\<^sub>s\<^sub>t A
[PROOF STEP]
show ?P
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D)
[PROOF STEP]
using assms
[PROOF STATE]
proof (prove)
using this:
A' \<in> set (tr A D)

goal (1 subgoal):
 1. fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D)
[PROOF STEP]
proof (induction A arbitrary: A' D rule: strand_sem_stateful_induct)
[PROOF STATE]
proof (state)
goal (8 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (delete\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 7. \<And>M D uv_ t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uv_: t \<in> s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uv_: t \<in> s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 8. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
case (ConsIn A' D ac t s A)
[PROOF STATE]
proof (state)
this:
?A'3 \<in> set (tr A ?D3) \<Longrightarrow> fv\<^sub>s\<^sub>t ?A'3 \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set ?D3)
A' \<in> set (tr (\<langle>ac: t \<in> s\<rangle> # A) D)

goal (8 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (delete\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 7. \<And>M D uv_ t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uv_: t \<in> s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uv_: t \<in> s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 8. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
?A'3 \<in> set (tr A ?D3) \<Longrightarrow> fv\<^sub>s\<^sub>t ?A'3 \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set ?D3)
A' \<in> set (tr (\<langle>ac: t \<in> s\<rangle> # A) D)
[PROOF STEP]
obtain A'' d where *:
        "d \<in> set D" "A' = \<langle>ac: (pair (t,s)) \<doteq> (pair d)\<rangle>\<^sub>s\<^sub>t#A''"
        "A'' \<in> set (tr A D)"
[PROOF STATE]
proof (prove)
using this:
?A'3 \<in> set (tr A ?D3) \<Longrightarrow> fv\<^sub>s\<^sub>t ?A'3 \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set ?D3)
A' \<in> set (tr (\<langle>ac: t \<in> s\<rangle> # A) D)

goal (1 subgoal):
 1. (\<And>d A''. \<lbrakk>d \<in> set D; A' = \<langle>ac: pair (t, s) \<doteq> pair d\<rangle>\<^sub>s\<^sub>t # A''; A'' \<in> set (tr A D)\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by moura
[PROOF STATE]
proof (state)
this:
d \<in> set D
A' = \<langle>ac: pair (t, s) \<doteq> pair d\<rangle>\<^sub>s\<^sub>t # A''
A'' \<in> set (tr A D)

goal (8 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (delete\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 7. \<And>M D uv_ t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uv_: t \<in> s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uv_: t \<in> s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 8. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
hence "fv\<^sub>s\<^sub>t A'' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> (\<Union>(t,t')\<in>set D. fv t \<union> fv t')"
[PROOF STATE]
proof (prove)
using this:
d \<in> set D
A' = \<langle>ac: pair (t, s) \<doteq> pair d\<rangle>\<^sub>s\<^sub>t # A''
A'' \<in> set (tr A D)

goal (1 subgoal):
 1. fv\<^sub>s\<^sub>t A'' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D)
[PROOF STEP]
by (metis ConsIn.IH)
[PROOF STATE]
proof (state)
this:
fv\<^sub>s\<^sub>t A'' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D)

goal (8 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (delete\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 7. \<And>M D uv_ t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uv_: t \<in> s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uv_: t \<in> s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 8. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
thus ?case
[PROOF STATE]
proof (prove)
using this:
fv\<^sub>s\<^sub>t A'' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D)

goal (1 subgoal):
 1. fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>ac: t \<in> s\<rangle> # A) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D)
[PROOF STEP]
using *
[PROOF STATE]
proof (prove)
using this:
fv\<^sub>s\<^sub>t A'' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D)
d \<in> set D
A' = \<langle>ac: pair (t, s) \<doteq> pair d\<rangle>\<^sub>s\<^sub>t # A''
A'' \<in> set (tr A D)

goal (1 subgoal):
 1. fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>ac: t \<in> s\<rangle> # A) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D)
[PROOF STEP]
unfolding pair_def
[PROOF STATE]
proof (prove)
using this:
fv\<^sub>s\<^sub>t A'' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D)
d \<in> set D
A' = \<langle>ac: (case (t, s) of (t, t') \<Rightarrow> Fun Pair [t, t']) \<doteq> case d of (t, t') \<Rightarrow> Fun Pair [t, t']\<rangle>\<^sub>s\<^sub>t # A''
A'' \<in> set (tr A D)

goal (1 subgoal):
 1. fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>ac: t \<in> s\<rangle> # A) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D)
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>ac: t \<in> s\<rangle> # A) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D)

goal (7 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (delete\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 7. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (7 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (delete\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 7. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
case (ConsDel A' D t s A)
[PROOF STATE]
proof (state)
this:
?A'3 \<in> set (tr A ?D3) \<Longrightarrow> fv\<^sub>s\<^sub>t ?A'3 \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set ?D3)
A' \<in> set (tr (delete\<langle>t,s\<rangle> # A) D)

goal (7 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (delete\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 7. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
define Dfv where "Dfv \<equiv> \<lambda>D::('fun,'var) dbstatelist. (\<Union>(t,t')\<in>set D. fv t \<union> fv t')"
[PROOF STATE]
proof (state)
this:
Dfv \<equiv> \<lambda>D. \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D)

goal (7 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (delete\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 7. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
define fltD where "fltD \<equiv> \<lambda>Di. filter (\<lambda>d. d \<notin> set Di) D"
[PROOF STATE]
proof (state)
this:
fltD \<equiv> \<lambda>Di. filter (\<lambda>d. d \<notin> set Di) D

goal (7 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (delete\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 7. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
define constr where
      "constr \<equiv> \<lambda>Di. (map (\<lambda>d. \<langle>check: (pair (t,s)) \<doteq> (pair d)\<rangle>\<^sub>s\<^sub>t) Di)@
                      (map (\<lambda>d. \<forall>[]\<langle>\<or>\<noteq>: [(pair (t,s), pair d)]\<rangle>\<^sub>s\<^sub>t) (fltD Di))"
[PROOF STATE]
proof (state)
this:
constr \<equiv> \<lambda>Di. map (\<lambda>d. \<langle>check: pair (t, s) \<doteq> pair d\<rangle>\<^sub>s\<^sub>t) Di @ map (\<lambda>d. \<forall>[]\<langle>\<or>\<noteq>: [(pair (t, s), pair d)]\<rangle>\<^sub>s\<^sub>t) (fltD Di)

goal (7 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (delete\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 7. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
from ConsDel
[PROOF STATE]
proof (chain)
picking this:
?A'3 \<in> set (tr A ?D3) \<Longrightarrow> fv\<^sub>s\<^sub>t ?A'3 \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set ?D3)
A' \<in> set (tr (delete\<langle>t,s\<rangle> # A) D)
[PROOF STEP]
obtain A'' Di where *:
        "Di \<in> set (subseqs D)" "A' = (constr Di)@A''" "A'' \<in> set (tr A (fltD Di))"
[PROOF STATE]
proof (prove)
using this:
?A'3 \<in> set (tr A ?D3) \<Longrightarrow> fv\<^sub>s\<^sub>t ?A'3 \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set ?D3)
A' \<in> set (tr (delete\<langle>t,s\<rangle> # A) D)

goal (1 subgoal):
 1. (\<And>Di A''. \<lbrakk>Di \<in> set (subseqs D); A' = constr Di @ A''; A'' \<in> set (tr A (fltD Di))\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
unfolding constr_def fltD_def
[PROOF STATE]
proof (prove)
using this:
?A'3 \<in> set (tr A ?D3) \<Longrightarrow> fv\<^sub>s\<^sub>t ?A'3 \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set ?D3)
A' \<in> set (tr (delete\<langle>t,s\<rangle> # A) D)

goal (1 subgoal):
 1. (\<And>Di A''. \<lbrakk>Di \<in> set (subseqs D); A' = (map (\<lambda>d. \<langle>check: pair (t, s) \<doteq> pair d\<rangle>\<^sub>s\<^sub>t) Di @ map (\<lambda>d. \<forall>[]\<langle>\<or>\<noteq>: [(pair (t, s), pair d)]\<rangle>\<^sub>s\<^sub>t) (filter (\<lambda>d. d \<notin> set Di) D)) @ A''; A'' \<in> set (tr A (filter (\<lambda>d. d \<notin> set Di) D))\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by moura
[PROOF STATE]
proof (state)
this:
Di \<in> set (subseqs D)
A' = constr Di @ A''
A'' \<in> set (tr A (fltD Di))

goal (7 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (delete\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 7. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
hence "fv\<^sub>s\<^sub>t A'' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> Dfv (fltD Di)"
[PROOF STATE]
proof (prove)
using this:
Di \<in> set (subseqs D)
A' = constr Di @ A''
A'' \<in> set (tr A (fltD Di))

goal (1 subgoal):
 1. fv\<^sub>s\<^sub>t A'' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> Dfv (fltD Di)
[PROOF STEP]
unfolding Dfv_def constr_def fltD_def
[PROOF STATE]
proof (prove)
using this:
Di \<in> set (subseqs D)
A' = (map (\<lambda>d. \<langle>check: pair (t, s) \<doteq> pair d\<rangle>\<^sub>s\<^sub>t) Di @ map (\<lambda>d. \<forall>[]\<langle>\<or>\<noteq>: [(pair (t, s), pair d)]\<rangle>\<^sub>s\<^sub>t) (filter (\<lambda>d. d \<notin> set Di) D)) @ A''
A'' \<in> set (tr A (filter (\<lambda>d. d \<notin> set Di) D))

goal (1 subgoal):
 1. fv\<^sub>s\<^sub>t A'' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set (filter (\<lambda>d. d \<notin> set Di) D))
[PROOF STEP]
by (metis ConsDel.IH)
[PROOF STATE]
proof (state)
this:
fv\<^sub>s\<^sub>t A'' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> Dfv (fltD Di)

goal (7 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (delete\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 7. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
fv\<^sub>s\<^sub>t A'' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> Dfv (fltD Di)

goal (7 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (delete\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 7. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
have "Dfv (fltD Di) \<subseteq> Dfv D"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. Dfv (fltD Di) \<subseteq> Dfv D
[PROOF STEP]
unfolding Dfv_def constr_def fltD_def
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set (filter (\<lambda>d. d \<notin> set Di) D)) \<subseteq> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D)
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
Dfv (fltD Di) \<subseteq> Dfv D

goal (7 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (delete\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 7. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
Dfv (fltD Di) \<subseteq> Dfv D

goal (7 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (delete\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 7. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
have "Dfv Di \<subseteq> Dfv D"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. Dfv Di \<subseteq> Dfv D
[PROOF STEP]
using subseqs_set_subset(1)[OF *(1)]
[PROOF STATE]
proof (prove)
using this:
set Di \<subseteq> set D

goal (1 subgoal):
 1. Dfv Di \<subseteq> Dfv D
[PROOF STEP]
unfolding Dfv_def constr_def fltD_def
[PROOF STATE]
proof (prove)
using this:
set Di \<subseteq> set D

goal (1 subgoal):
 1. \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Di) \<subseteq> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D)
[PROOF STEP]
by fast
[PROOF STATE]
proof (state)
this:
Dfv Di \<subseteq> Dfv D

goal (7 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (delete\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 7. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
Dfv Di \<subseteq> Dfv D

goal (7 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (delete\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 7. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
have "fv\<^sub>s\<^sub>t (constr Di) \<subseteq> fv t \<union> fv s \<union> (Dfv Di \<union> Dfv (fltD Di))"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. fv\<^sub>s\<^sub>t (constr Di) \<subseteq> fv t \<union> fv s \<union> (Dfv Di \<union> Dfv (fltD Di))
[PROOF STEP]
unfolding Dfv_def constr_def fltD_def pair_def
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. fv\<^sub>s\<^sub>t (map (\<lambda>d. \<langle>check: (case (t, s) of (t, t') \<Rightarrow> Fun Pair [t, t']) \<doteq> case d of (t, t') \<Rightarrow> Fun Pair [t, t']\<rangle>\<^sub>s\<^sub>t) Di @ map (\<lambda>d. \<forall>[]\<langle>\<or>\<noteq>: [(case (t, s) of (t, t') \<Rightarrow> Fun Pair [t, t'], case d of (t, t') \<Rightarrow> Fun Pair [t, t'])]\<rangle>\<^sub>s\<^sub>t) (filter (\<lambda>d. d \<notin> set Di) D)) \<subseteq> fv t \<union> fv s \<union> (\<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Di) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set (filter (\<lambda>d. d \<notin> set Di) D)))
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
fv\<^sub>s\<^sub>t (constr Di) \<subseteq> fv t \<union> fv s \<union> (Dfv Di \<union> Dfv (fltD Di))

goal (7 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (delete\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 7. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
fv\<^sub>s\<^sub>t (constr Di) \<subseteq> fv t \<union> fv s \<union> (Dfv Di \<union> Dfv (fltD Di))

goal (7 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (delete\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 7. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
have "fv\<^sub>s\<^sub>s\<^sub>t (Delete t s#A) = fv t \<union> fv s \<union> fv\<^sub>s\<^sub>s\<^sub>t A"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # A) = fv t \<union> fv s \<union> fv\<^sub>s\<^sub>s\<^sub>t A
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # A) = fv t \<union> fv s \<union> fv\<^sub>s\<^sub>s\<^sub>t A

goal (7 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (delete\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 7. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
moreover
[PROOF STATE]
proof (state)
this:
fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # A) = fv t \<union> fv s \<union> fv\<^sub>s\<^sub>s\<^sub>t A

goal (7 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (delete\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 7. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
have "fv\<^sub>s\<^sub>t A' = fv\<^sub>s\<^sub>t (constr Di) \<union> fv\<^sub>s\<^sub>t A''"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. fv\<^sub>s\<^sub>t A' = fv\<^sub>s\<^sub>t (constr Di) \<union> fv\<^sub>s\<^sub>t A''
[PROOF STEP]
using *
[PROOF STATE]
proof (prove)
using this:
Di \<in> set (subseqs D)
A' = constr Di @ A''
A'' \<in> set (tr A (fltD Di))

goal (1 subgoal):
 1. fv\<^sub>s\<^sub>t A' = fv\<^sub>s\<^sub>t (constr Di) \<union> fv\<^sub>s\<^sub>t A''
[PROOF STEP]
by force
[PROOF STATE]
proof (state)
this:
fv\<^sub>s\<^sub>t A' = fv\<^sub>s\<^sub>t (constr Di) \<union> fv\<^sub>s\<^sub>t A''

goal (7 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (delete\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 7. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
ultimately
[PROOF STATE]
proof (chain)
picking this:
fv\<^sub>s\<^sub>t A'' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> Dfv (fltD Di)
Dfv (fltD Di) \<subseteq> Dfv D
Dfv Di \<subseteq> Dfv D
fv\<^sub>s\<^sub>t (constr Di) \<subseteq> fv t \<union> fv s \<union> (Dfv Di \<union> Dfv (fltD Di))
fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # A) = fv t \<union> fv s \<union> fv\<^sub>s\<^sub>s\<^sub>t A
fv\<^sub>s\<^sub>t A' = fv\<^sub>s\<^sub>t (constr Di) \<union> fv\<^sub>s\<^sub>t A''
[PROOF STEP]
have "fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (Delete t s#A) \<union> Dfv D"
[PROOF STATE]
proof (prove)
using this:
fv\<^sub>s\<^sub>t A'' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> Dfv (fltD Di)
Dfv (fltD Di) \<subseteq> Dfv D
Dfv Di \<subseteq> Dfv D
fv\<^sub>s\<^sub>t (constr Di) \<subseteq> fv t \<union> fv s \<union> (Dfv Di \<union> Dfv (fltD Di))
fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # A) = fv t \<union> fv s \<union> fv\<^sub>s\<^sub>s\<^sub>t A
fv\<^sub>s\<^sub>t A' = fv\<^sub>s\<^sub>t (constr Di) \<union> fv\<^sub>s\<^sub>t A''

goal (1 subgoal):
 1. fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # A) \<union> Dfv D
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # A) \<union> Dfv D

goal (7 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (delete\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 7. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
thus ?case
[PROOF STATE]
proof (prove)
using this:
fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # A) \<union> Dfv D

goal (1 subgoal):
 1. fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # A) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D)
[PROOF STEP]
unfolding Dfv_def fltD_def constr_def
[PROOF STATE]
proof (prove)
using this:
fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # A) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D)

goal (1 subgoal):
 1. fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # A) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D)
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (delete\<langle>t,s\<rangle> # A) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D)

goal (6 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (6 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
case (ConsNegChecks A' D X F F' A)
[PROOF STATE]
proof (state)
this:
?A'3 \<in> set (tr A ?D3) \<Longrightarrow> fv\<^sub>s\<^sub>t ?A'3 \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set ?D3)
A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # A) D)

goal (6 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
?A'3 \<in> set (tr A ?D3) \<Longrightarrow> fv\<^sub>s\<^sub>t ?A'3 \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set ?D3)
A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # A) D)
[PROOF STEP]
obtain A'' where A'':
        "A'' \<in> set (tr A D)" "A' = (map (\<lambda>G. \<forall>X\<langle>\<or>\<noteq>: (F@G)\<rangle>\<^sub>s\<^sub>t) (tr\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F' D))@A''"
[PROOF STATE]
proof (prove)
using this:
?A'3 \<in> set (tr A ?D3) \<Longrightarrow> fv\<^sub>s\<^sub>t ?A'3 \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set ?D3)
A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # A) D)

goal (1 subgoal):
 1. (\<And>A''. \<lbrakk>A'' \<in> set (tr A D); A' = map (\<lambda>G. \<forall>X\<langle>\<or>\<noteq>: (F @ G)\<rangle>\<^sub>s\<^sub>t) (tr\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F' D) @ A''\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by moura
[PROOF STATE]
proof (state)
this:
A'' \<in> set (tr A D)
A' = map (\<lambda>G. \<forall>X\<langle>\<or>\<noteq>: (F @ G)\<rangle>\<^sub>s\<^sub>t) (tr\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F' D) @ A''

goal (6 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
define B where "B \<equiv> \<Union>(fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s ` set (tr\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F' D))"
[PROOF STATE]
proof (state)
this:
B \<equiv> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s ` set (tr\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F' D))

goal (6 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
have 1: "fv\<^sub>s\<^sub>t (map (\<lambda>G. \<forall>X\<langle>\<or>\<noteq>: (F@G)\<rangle>\<^sub>s\<^sub>t) (tr\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F' D)) \<subseteq> (B \<union> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F) - set X"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. fv\<^sub>s\<^sub>t (map (\<lambda>G. \<forall>X\<langle>\<or>\<noteq>: (F @ G)\<rangle>\<^sub>s\<^sub>t) (tr\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F' D)) \<subseteq> B \<union> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F - set X
[PROOF STEP]
unfolding B_def
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. fv\<^sub>s\<^sub>t (map (\<lambda>G. \<forall>X\<langle>\<or>\<noteq>: (F @ G)\<rangle>\<^sub>s\<^sub>t) (tr\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F' D)) \<subseteq> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s ` set (tr\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F' D)) \<union> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F - set X
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
fv\<^sub>s\<^sub>t (map (\<lambda>G. \<forall>X\<langle>\<or>\<noteq>: (F @ G)\<rangle>\<^sub>s\<^sub>t) (tr\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F' D)) \<subseteq> B \<union> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F - set X

goal (6 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
have 2: "B \<subseteq> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F' \<union> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s D"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. B \<subseteq> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F' \<union> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s D
[PROOF STEP]
using tr\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s_vars_subset'[of F' D]
[PROOF STATE]
proof (prove)
using this:
\<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s ` set (tr\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F' D)) \<subseteq> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F' \<union> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s D

goal (1 subgoal):
 1. B \<subseteq> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F' \<union> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s D
[PROOF STEP]
unfolding B_def
[PROOF STATE]
proof (prove)
using this:
\<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s ` set (tr\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F' D)) \<subseteq> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F' \<union> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s D

goal (1 subgoal):
 1. \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s ` set (tr\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F' D)) \<subseteq> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F' \<union> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s D
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
B \<subseteq> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F' \<union> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s D

goal (6 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
have "fv\<^sub>s\<^sub>t A' \<subseteq> ((fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F' \<union> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s D \<union> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F) - set X) \<union> fv\<^sub>s\<^sub>t A''"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F' \<union> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s D \<union> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F - set X \<union> fv\<^sub>s\<^sub>t A''
[PROOF STEP]
using 1 2 A''(2)
[PROOF STATE]
proof (prove)
using this:
fv\<^sub>s\<^sub>t (map (\<lambda>G. \<forall>X\<langle>\<or>\<noteq>: (F @ G)\<rangle>\<^sub>s\<^sub>t) (tr\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F' D)) \<subseteq> B \<union> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F - set X
B \<subseteq> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F' \<union> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s D
A' = map (\<lambda>G. \<forall>X\<langle>\<or>\<noteq>: (F @ G)\<rangle>\<^sub>s\<^sub>t) (tr\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F' D) @ A''

goal (1 subgoal):
 1. fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F' \<union> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s D \<union> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F - set X \<union> fv\<^sub>s\<^sub>t A''
[PROOF STEP]
by fastforce
[PROOF STATE]
proof (state)
this:
fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F' \<union> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s D \<union> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F - set X \<union> fv\<^sub>s\<^sub>t A''

goal (6 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 6. \<And>M D X F F' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
thus ?case
[PROOF STATE]
proof (prove)
using this:
fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F' \<union> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s D \<union> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F - set X \<union> fv\<^sub>s\<^sub>t A''

goal (1 subgoal):
 1. fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # A) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D)
[PROOF STEP]
using ConsNegChecks.IH[OF A''(1)]
[PROOF STATE]
proof (prove)
using this:
fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F' \<union> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s D \<union> fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r\<^sub>s F - set X \<union> fv\<^sub>s\<^sub>t A''
fv\<^sub>s\<^sub>t A'' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D)

goal (1 subgoal):
 1. fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # A) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D)
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: F'\<rangle> # A) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D)

goal (5 subgoals):
 1. \<And>M D A' Da. A' \<in> set (tr [] Da) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t [] \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 2. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (send\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (send\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 3. \<And>M D ts S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (receive\<langle>ts\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (receive\<langle>ts\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 4. \<And>M D uu_ t t' S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (\<langle>uu_: t \<doteq> t'\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (\<langle>uu_: t \<doteq> t'\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
 5. \<And>M D t s S A' Da. \<lbrakk>\<And>x A' D. A' \<in> set (tr S D) \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t S \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D); A' \<in> set (tr (insert\<langle>t,s\<rangle> # S) Da)\<rbrakk> \<Longrightarrow> fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t (insert\<langle>t,s\<rangle> # S) \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set Da)
[PROOF STEP]
qed fastforce+
[PROOF STATE]
proof (state)
this:
fv\<^sub>s\<^sub>t A' \<subseteq> fv\<^sub>s\<^sub>s\<^sub>t A \<union> \<Union> (fv\<^sub>p\<^sub>a\<^sub>i\<^sub>r ` set D)

goal (1 subgoal):
 1. bvars\<^sub>s\<^sub>t A' \<subseteq> bvars\<^sub>s\<^sub>s\<^sub>t A
[PROOF STEP]
show ?Q
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. bvars\<^sub>s\<^sub>t A' \<subseteq> bvars\<^sub>s\<^sub>s\<^sub>t A
[PROOF STEP]
using assms
[PROOF STATE]
proof (prove)
using this:
A' \<in> set (tr A D)

goal (1 subgoal):
 1. bvars\<^sub>s\<^sub>t A' \<subseteq> bvars\<^sub>s\<^sub>s\<^sub>t A
[PROOF STEP]
by (induct A arbitrary: A' D rule: strand_sem_stateful_induct) fastforce+
[PROOF STATE]
proof (state)
this:
bvars\<^sub>s\<^sub>t A' \<subseteq> bvars\<^sub>s\<^sub>s\<^sub>t A

goal:
No subgoals!
[PROOF STEP]
qed