[STATEMENT]
lemma wf\<^sub>s\<^sub>s\<^sub>t_strand_first_Send_var_split:
  assumes "wf'\<^sub>s\<^sub>s\<^sub>t {} S" "\<exists>v \<in> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v"
  shows "\<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not>(\<exists>w \<in> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> (
                    (\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e@send\<langle>ts\<rangle>#S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or>
                    (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e@\<langle>assign: s \<doteq> u\<rangle>#S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> \<not>(t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t \<I> ` fv u)) \<or>
                    (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e@\<langle>assign: s \<in> u\<rangle>#S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))"
    (is "\<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. ?P S\<^sub>p\<^sub>r\<^sub>e \<and> ?Q S S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f")
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
using assms
[PROOF STATE]
proof (prove)
using this:
wf'\<^sub>s\<^sub>s\<^sub>t {} S
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (1 subgoal):
 1. \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
proof (induction S rule: wf\<^sub>s\<^sub>s\<^sub>t_induct)
[PROOF STATE]
proof (state)
goal (9 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ts S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [send\<langle>ts\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>tsa. S @ [send\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>tsa\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set tsa \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [send\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [send\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ts S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv\<^sub>s\<^sub>e\<^sub>t (set ts) \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [receive\<langle>ts\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>tsa. S @ [receive\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>tsa\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set tsa \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [receive\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [receive\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 4. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta := t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 5. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta == t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 6. \<And>ac ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ac: ta \<in> t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 7. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 8. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 9. \<And>X F G S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
case (ConsSnd ts' S)
[PROOF STATE]
proof (state)
this:
wf'\<^sub>s\<^sub>s\<^sub>t {} S
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [send\<langle>ts'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (9 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ts S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [send\<langle>ts\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>tsa. S @ [send\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>tsa\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set tsa \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [send\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [send\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ts S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv\<^sub>s\<^sub>e\<^sub>t (set ts) \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [receive\<langle>ts\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>tsa. S @ [receive\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>tsa\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set tsa \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [receive\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [receive\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 4. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta := t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 5. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta == t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 6. \<And>ac ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ac: ta \<in> t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 7. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 8. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 9. \<And>X F G S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
show ?case
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
proof (cases "\<exists>w \<in> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> w")
[PROOF STATE]
proof (state)
goal (2 subgoals):
 1. \<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> w \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
case True
[PROOF STATE]
proof (state)
this:
\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> w

goal (2 subgoals):
 1. \<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> w \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> w
[PROOF STEP]
obtain S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f where "?P S\<^sub>p\<^sub>r\<^sub>e" "?Q S S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f"
[PROOF STATE]
proof (prove)
using this:
\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> w

goal (1 subgoal):
 1. (\<And>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<lbrakk>\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w); (\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
using ConsSnd.IH
[PROOF STATE]
proof (prove)
using this:
\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> w
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))

goal (1 subgoal):
 1. (\<And>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<lbrakk>\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w); (\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by moura
[PROOF STATE]
proof (state)
this:
\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w)
(\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))

goal (2 subgoals):
 1. \<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> w \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
thus ?thesis
[PROOF STATE]
proof (prove)
using this:
\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w)
(\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))

goal (1 subgoal):
 1. \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
by fastforce
[PROOF STATE]
proof (state)
this:
\<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))

goal (1 subgoal):
 1. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (1 subgoal):
 1. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
case False
[PROOF STATE]
proof (state)
this:
\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> w)

goal (1 subgoal):
 1. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> w)
[PROOF STEP]
obtain v where v: "v \<in> fv\<^sub>s\<^sub>e\<^sub>t (set ts')" "t \<cdot> \<I> \<sqsubseteq> \<I> v"
[PROOF STATE]
proof (prove)
using this:
\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> w)

goal (1 subgoal):
 1. (\<And>v. \<lbrakk>v \<in> fv\<^sub>s\<^sub>e\<^sub>t (set ts'); t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
using ConsSnd.prems
[PROOF STATE]
proof (prove)
using this:
\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> w)
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [send\<langle>ts'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (1 subgoal):
 1. (\<And>v. \<lbrakk>v \<in> fv\<^sub>s\<^sub>e\<^sub>t (set ts'); t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
unfolding wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t_def
[PROOF STATE]
proof (prove)
using this:
\<not> (\<exists>w\<in>\<Union> (set (map wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t\<^sub>p S)). t \<cdot> \<I> \<sqsubseteq> \<I> w)
\<exists>v\<in>\<Union> (set (map wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t\<^sub>p (S @ [send\<langle>ts'\<rangle>]))). t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (1 subgoal):
 1. (\<And>v. \<lbrakk>v \<in> fv\<^sub>s\<^sub>e\<^sub>t (set ts'); t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
v \<in> fv\<^sub>s\<^sub>e\<^sub>t (set ts')
t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (1 subgoal):
 1. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
v \<in> fv\<^sub>s\<^sub>e\<^sub>t (set ts')
t \<cdot> \<I> \<sqsubseteq> \<I> v
[PROOF STEP]
obtain t' where t': "t' \<in> set ts'" "v \<in> fv t'"
[PROOF STATE]
proof (prove)
using this:
v \<in> fv\<^sub>s\<^sub>e\<^sub>t (set ts')
t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (1 subgoal):
 1. (\<And>t'. \<lbrakk>t' \<in> set ts'; v \<in> fv t'\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
t' \<in> set ts'
v \<in> fv t'

goal (1 subgoal):
 1. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
have "t \<cdot> \<I> \<sqsubseteq> t' \<cdot> \<I>"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. t \<cdot> \<I> \<sqsubseteq> t' \<cdot> \<I>
[PROOF STEP]
using v(2) t'(2) subst_mono[of "Var v" t' \<I>] vars_iff_subtermeq[of v] term.order_trans
[PROOF STATE]
proof (prove)
using this:
t \<cdot> \<I> \<sqsubseteq> \<I> v
v \<in> fv t'
Var v \<sqsubseteq> t' \<Longrightarrow> Var v \<cdot> \<I> \<sqsubseteq> t' \<cdot> \<I>
(v \<in> fv ?t) = (Var v \<sqsubseteq> ?t)
\<lbrakk>?x \<sqsubseteq> ?y; ?y \<sqsubseteq> ?z\<rbrakk> \<Longrightarrow> ?x \<sqsubseteq> ?z

goal (1 subgoal):
 1. t \<cdot> \<I> \<sqsubseteq> t' \<cdot> \<I>
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
t \<cdot> \<I> \<sqsubseteq> t' \<cdot> \<I>

goal (1 subgoal):
 1. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
hence "t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts' \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>"
[PROOF STATE]
proof (prove)
using this:
t \<cdot> \<I> \<sqsubseteq> t' \<cdot> \<I>

goal (1 subgoal):
 1. t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts' \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>
[PROOF STEP]
using v(1) t'(1)
[PROOF STATE]
proof (prove)
using this:
t \<cdot> \<I> \<sqsubseteq> t' \<cdot> \<I>
v \<in> fv\<^sub>s\<^sub>e\<^sub>t (set ts')
t' \<in> set ts'

goal (1 subgoal):
 1. t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts' \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>
[PROOF STEP]
by blast
[PROOF STATE]
proof (state)
this:
t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts' \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>

goal (1 subgoal):
 1. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
thus ?thesis
[PROOF STATE]
proof (prove)
using this:
t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts' \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>

goal (1 subgoal):
 1. \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
using False v
[PROOF STATE]
proof (prove)
using this:
t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts' \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>
\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> w)
v \<in> fv\<^sub>s\<^sub>e\<^sub>t (set ts')
t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (1 subgoal):
 1. \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
by blast
[PROOF STATE]
proof (state)
this:
\<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))

goal:
No subgoals!
[PROOF STEP]
qed
[PROOF STATE]
proof (state)
this:
\<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [send\<langle>ts'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))

goal (8 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ts S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv\<^sub>s\<^sub>e\<^sub>t (set ts) \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [receive\<langle>ts\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>tsa. S @ [receive\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>tsa\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set tsa \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [receive\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [receive\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta := t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 4. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta == t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 5. \<And>ac ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ac: ta \<in> t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 6. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 7. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 8. \<And>X F G S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (8 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ts S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv\<^sub>s\<^sub>e\<^sub>t (set ts) \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [receive\<langle>ts\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>tsa. S @ [receive\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>tsa\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set tsa \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [receive\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [receive\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta := t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 4. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta == t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 5. \<And>ac ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ac: ta \<in> t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 6. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 7. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 8. \<And>X F G S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
case (ConsRcv t' S)
[PROOF STATE]
proof (state)
this:
wf'\<^sub>s\<^sub>s\<^sub>t {} S
fv\<^sub>s\<^sub>e\<^sub>t (set t') \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [receive\<langle>t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (8 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ts S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv\<^sub>s\<^sub>e\<^sub>t (set ts) \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [receive\<langle>ts\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>tsa. S @ [receive\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>tsa\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set tsa \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [receive\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [receive\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta := t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 4. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta == t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 5. \<And>ac ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ac: ta \<in> t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 6. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 7. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 8. \<And>X F G S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
have "fv\<^sub>s\<^sub>e\<^sub>t (set t') \<subseteq> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. fv\<^sub>s\<^sub>e\<^sub>t (set t') \<subseteq> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S
[PROOF STEP]
using ConsRcv.hyps wfvarsocc\<^sub>s\<^sub>s\<^sub>t_subset_wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t[of S]
[PROOF STATE]
proof (prove)
using this:
wf'\<^sub>s\<^sub>s\<^sub>t {} S
fv\<^sub>s\<^sub>e\<^sub>t (set t') \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S
wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S \<subseteq> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S

goal (1 subgoal):
 1. fv\<^sub>s\<^sub>e\<^sub>t (set t') \<subseteq> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S
[PROOF STEP]
by blast
[PROOF STATE]
proof (state)
this:
fv\<^sub>s\<^sub>e\<^sub>t (set t') \<subseteq> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S

goal (8 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ts S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv\<^sub>s\<^sub>e\<^sub>t (set ts) \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [receive\<langle>ts\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>tsa. S @ [receive\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>tsa\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set tsa \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [receive\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [receive\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta := t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 4. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta == t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 5. \<And>ac ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ac: ta \<in> t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 6. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 7. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 8. \<And>X F G S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
hence "\<exists>v \<in> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v"
[PROOF STATE]
proof (prove)
using this:
fv\<^sub>s\<^sub>e\<^sub>t (set t') \<subseteq> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S

goal (1 subgoal):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v
[PROOF STEP]
using ConsRcv.prems
[PROOF STATE]
proof (prove)
using this:
fv\<^sub>s\<^sub>e\<^sub>t (set t') \<subseteq> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [receive\<langle>t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (1 subgoal):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v
[PROOF STEP]
unfolding wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t_def
[PROOF STATE]
proof (prove)
using this:
fv\<^sub>s\<^sub>e\<^sub>t (set t') \<subseteq> \<Union> (set (map wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t\<^sub>p S))
\<exists>v\<in>\<Union> (set (map wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t\<^sub>p (S @ [receive\<langle>t'\<rangle>]))). t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (1 subgoal):
 1. \<exists>v\<in>\<Union> (set (map wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t\<^sub>p S)). t \<cdot> \<I> \<sqsubseteq> \<I> v
[PROOF STEP]
by fastforce
[PROOF STATE]
proof (state)
this:
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (8 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ts S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv\<^sub>s\<^sub>e\<^sub>t (set ts) \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [receive\<langle>ts\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>tsa. S @ [receive\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>tsa\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set tsa \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [receive\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [receive\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta := t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 4. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta == t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 5. \<And>ac ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ac: ta \<in> t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 6. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 7. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 8. \<And>X F G S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v
[PROOF STEP]
obtain S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f where "?P S\<^sub>p\<^sub>r\<^sub>e" "?Q S S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f"
[PROOF STATE]
proof (prove)
using this:
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (1 subgoal):
 1. (\<And>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<lbrakk>\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w); (\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
using ConsRcv.IH
[PROOF STATE]
proof (prove)
using this:
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))

goal (1 subgoal):
 1. (\<And>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<lbrakk>\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w); (\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by moura
[PROOF STATE]
proof (state)
this:
\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w)
(\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))

goal (8 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ts S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv\<^sub>s\<^sub>e\<^sub>t (set ts) \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [receive\<langle>ts\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>tsa. S @ [receive\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>tsa\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set tsa \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [receive\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [receive\<langle>ts\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta := t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 4. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta == t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 5. \<And>ac ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ac: ta \<in> t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 6. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 7. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 8. \<And>X F G S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
thus ?case
[PROOF STATE]
proof (prove)
using this:
\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w)
(\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))

goal (1 subgoal):
 1. \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [receive\<langle>t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [receive\<langle>t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [receive\<langle>t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
by fastforce
[PROOF STATE]
proof (state)
this:
\<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [receive\<langle>t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [receive\<langle>t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [receive\<langle>t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))

goal (7 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta := t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta == t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 4. \<And>ac ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ac: ta \<in> t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 5. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 6. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 7. \<And>X F G S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (7 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta := t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta == t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 4. \<And>ac ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ac: ta \<in> t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 5. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 6. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 7. \<And>X F G S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
case (ConsEq s s' S)
[PROOF STATE]
proof (state)
this:
wf'\<^sub>s\<^sub>s\<^sub>t {} S
fv s' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>s := s'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (7 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta := t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta == t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 4. \<And>ac ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ac: ta \<in> t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 5. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 6. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 7. \<And>X F G S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
have *: "fv s' \<subseteq> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. fv s' \<subseteq> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S
[PROOF STEP]
using ConsEq.hyps wfvarsocc\<^sub>s\<^sub>s\<^sub>t_subset_wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t[of S]
[PROOF STATE]
proof (prove)
using this:
wf'\<^sub>s\<^sub>s\<^sub>t {} S
fv s' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S
wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S \<subseteq> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S

goal (1 subgoal):
 1. fv s' \<subseteq> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S
[PROOF STEP]
by blast
[PROOF STATE]
proof (state)
this:
fv s' \<subseteq> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S

goal (7 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta := t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta := t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta == t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 4. \<And>ac ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ac: ta \<in> t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 5. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 6. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 7. \<And>X F G S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
show ?case
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
proof (cases "\<exists>v \<in> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v")
[PROOF STATE]
proof (state)
goal (2 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<not> (\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v) \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
case True
[PROOF STATE]
proof (state)
this:
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (2 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<not> (\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v) \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v
[PROOF STEP]
obtain S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f where "?P S\<^sub>p\<^sub>r\<^sub>e" "?Q S S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f"
[PROOF STATE]
proof (prove)
using this:
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (1 subgoal):
 1. (\<And>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<lbrakk>\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w); (\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
using ConsEq.IH
[PROOF STATE]
proof (prove)
using this:
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))

goal (1 subgoal):
 1. (\<And>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<lbrakk>\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w); (\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by moura
[PROOF STATE]
proof (state)
this:
\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w)
(\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))

goal (2 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<not> (\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v) \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
thus ?thesis
[PROOF STATE]
proof (prove)
using this:
\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w)
(\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))

goal (1 subgoal):
 1. \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
by fastforce
[PROOF STATE]
proof (state)
this:
\<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))

goal (1 subgoal):
 1. \<not> (\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v) \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (1 subgoal):
 1. \<not> (\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v) \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
case False
[PROOF STATE]
proof (state)
this:
\<not> (\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v)

goal (1 subgoal):
 1. \<not> (\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v) \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
\<not> (\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v)
[PROOF STEP]
obtain v where "v \<in> fv s" "t \<cdot> \<I> \<sqsubseteq> \<I> v" and **: "fv s' \<subseteq> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S"
[PROOF STATE]
proof (prove)
using this:
\<not> (\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v)

goal (1 subgoal):
 1. (\<And>v. \<lbrakk>v \<in> fv s; t \<cdot> \<I> \<sqsubseteq> \<I> v; fv s' \<subseteq> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
using ConsEq.prems *
[PROOF STATE]
proof (prove)
using this:
\<not> (\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v)
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>s := s'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v
fv s' \<subseteq> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S

goal (1 subgoal):
 1. (\<And>v. \<lbrakk>v \<in> fv s; t \<cdot> \<I> \<sqsubseteq> \<I> v; fv s' \<subseteq> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
unfolding wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t_def
[PROOF STATE]
proof (prove)
using this:
\<not> (\<exists>v\<in>\<Union> (set (map wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t\<^sub>p S)). t \<cdot> \<I> \<sqsubseteq> \<I> v)
\<exists>v\<in>\<Union> (set (map wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t\<^sub>p (S @ [\<langle>s := s'\<rangle>]))). t \<cdot> \<I> \<sqsubseteq> \<I> v
fv s' \<subseteq> \<Union> (set (map wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t\<^sub>p S))

goal (1 subgoal):
 1. (\<And>v. \<lbrakk>v \<in> fv s; t \<cdot> \<I> \<sqsubseteq> \<I> v; fv s' \<subseteq> \<Union> (set (map wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t\<^sub>p S))\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
v \<in> fv s
t \<cdot> \<I> \<sqsubseteq> \<I> v
fv s' \<subseteq> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S

goal (1 subgoal):
 1. \<not> (\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v) \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
hence "t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I>"
[PROOF STATE]
proof (prove)
using this:
v \<in> fv s
t \<cdot> \<I> \<sqsubseteq> \<I> v
fv s' \<subseteq> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S

goal (1 subgoal):
 1. t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I>
[PROOF STEP]
using vars_iff_subtermeq[of v s] subst_mono[of "Var v" s \<I>] term.order_trans
[PROOF STATE]
proof (prove)
using this:
v \<in> fv s
t \<cdot> \<I> \<sqsubseteq> \<I> v
fv s' \<subseteq> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S
(v \<in> fv s) = (Var v \<sqsubseteq> s)
Var v \<sqsubseteq> s \<Longrightarrow> Var v \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I>
\<lbrakk>?x \<sqsubseteq> ?y; ?y \<sqsubseteq> ?z\<rbrakk> \<Longrightarrow> ?x \<sqsubseteq> ?z

goal (1 subgoal):
 1. t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I>
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I>

goal (1 subgoal):
 1. \<not> (\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v) \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
thus ?thesis
[PROOF STATE]
proof (prove)
using this:
t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I>

goal (1 subgoal):
 1. \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
using False **
[PROOF STATE]
proof (prove)
using this:
t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I>
\<not> (\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v)
fv s' \<subseteq> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S

goal (1 subgoal):
 1. \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
by fastforce
[PROOF STATE]
proof (state)
this:
\<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))

goal:
No subgoals!
[PROOF STEP]
qed
[PROOF STATE]
proof (state)
this:
\<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>s := s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))

goal (6 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta == t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ac ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ac: ta \<in> t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 4. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 5. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 6. \<And>X F G S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (6 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta == t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ac ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ac: ta \<in> t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 4. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 5. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 6. \<And>X F G S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
case (ConsEq2 s s' S)
[PROOF STATE]
proof (state)
this:
wf'\<^sub>s\<^sub>s\<^sub>t {} S
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>s == s'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (6 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta == t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ac ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ac: ta \<in> t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 4. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 5. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 6. \<And>X F G S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
have "wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S@[Equality Check s s']) = wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>s == s'\<rangle>]) = wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S
[PROOF STEP]
unfolding wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t_def
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<Union> (set (map wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t\<^sub>p (S @ [\<langle>s == s'\<rangle>]))) = \<Union> (set (map wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t\<^sub>p S))
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>s == s'\<rangle>]) = wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S

goal (6 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta == t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ac ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ac: ta \<in> t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 4. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 5. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 6. \<And>X F G S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
hence "\<exists>v \<in> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v"
[PROOF STATE]
proof (prove)
using this:
wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>s == s'\<rangle>]) = wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S

goal (1 subgoal):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v
[PROOF STEP]
using ConsEq2.prems
[PROOF STATE]
proof (prove)
using this:
wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>s == s'\<rangle>]) = wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>s == s'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (1 subgoal):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v
[PROOF STEP]
by metis
[PROOF STATE]
proof (state)
this:
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (6 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta == t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ac ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ac: ta \<in> t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 4. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 5. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 6. \<And>X F G S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v
[PROOF STEP]
obtain S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f where "?P S\<^sub>p\<^sub>r\<^sub>e" "?Q S S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f"
[PROOF STATE]
proof (prove)
using this:
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (1 subgoal):
 1. (\<And>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<lbrakk>\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w); (\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
using ConsEq2.IH
[PROOF STATE]
proof (prove)
using this:
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))

goal (1 subgoal):
 1. (\<And>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<lbrakk>\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w); (\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by moura
[PROOF STATE]
proof (state)
this:
\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w)
(\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))

goal (6 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ta == t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ta == t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ac ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ac: ta \<in> t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 4. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 5. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 6. \<And>X F G S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
thus ?case
[PROOF STATE]
proof (prove)
using this:
\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w)
(\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))

goal (1 subgoal):
 1. \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>s == s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>s == s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>s == s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
by fastforce
[PROOF STATE]
proof (state)
this:
\<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>s == s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>s == s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>s == s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))

goal (5 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ac ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ac: ta \<in> t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 4. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 5. \<And>X F G S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (5 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ac ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ac: ta \<in> t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 4. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 5. \<And>X F G S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
case (ConsNegChecks X F G S)
[PROOF STATE]
proof (state)
this:
wf'\<^sub>s\<^sub>s\<^sub>t {} S
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (5 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ac ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ac: ta \<in> t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 4. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 5. \<And>X F G S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
hence "\<exists>v \<in> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v"
[PROOF STATE]
proof (prove)
using this:
wf'\<^sub>s\<^sub>s\<^sub>t {} S
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (1 subgoal):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v
[PROOF STEP]
unfolding wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t_def
[PROOF STATE]
proof (prove)
using this:
wf'\<^sub>s\<^sub>s\<^sub>t {} S
\<exists>v\<in>\<Union> (set (map wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t\<^sub>p S)). t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>\<Union> (set (map wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t\<^sub>p S\<^sub>p\<^sub>r\<^sub>e)). t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
\<exists>v\<in>\<Union> (set (map wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t\<^sub>p (S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>]))). t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (1 subgoal):
 1. \<exists>v\<in>\<Union> (set (map wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t\<^sub>p S)). t \<cdot> \<I> \<sqsubseteq> \<I> v
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (5 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ac ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ac: ta \<in> t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 4. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 5. \<And>X F G S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v
[PROOF STEP]
obtain S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f where "?P S\<^sub>p\<^sub>r\<^sub>e" "?Q S S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f"
[PROOF STATE]
proof (prove)
using this:
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (1 subgoal):
 1. (\<And>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<lbrakk>\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w); (\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
using ConsNegChecks.IH
[PROOF STATE]
proof (prove)
using this:
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))

goal (1 subgoal):
 1. (\<And>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<lbrakk>\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w); (\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by moura
[PROOF STATE]
proof (state)
this:
\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w)
(\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))

goal (5 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ac ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ac: ta \<in> t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 4. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 5. \<And>X F G S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
thus ?case
[PROOF STATE]
proof (prove)
using this:
\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w)
(\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))

goal (1 subgoal):
 1. \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
by fastforce
[PROOF STATE]
proof (state)
this:
\<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<forall>X\<langle>\<or>\<noteq>: F \<or>\<notin>: G\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))

goal (4 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ac ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ac: ta \<in> t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 4. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (4 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ac ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ac: ta \<in> t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 4. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
case (ConsIn ac s s' S)
[PROOF STATE]
proof (state)
this:
wf'\<^sub>s\<^sub>s\<^sub>t {} S
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ac: s \<in> s'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (4 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ac ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ac: ta \<in> t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [\<langle>ac: ta \<in> t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 4. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
show ?case
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
proof (cases "\<exists>v \<in> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v")
[PROOF STATE]
proof (state)
goal (2 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<not> (\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v) \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
case True
[PROOF STATE]
proof (state)
this:
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (2 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<not> (\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v) \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v
[PROOF STEP]
obtain S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f where "?P S\<^sub>p\<^sub>r\<^sub>e" "?Q S S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f"
[PROOF STATE]
proof (prove)
using this:
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (1 subgoal):
 1. (\<And>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<lbrakk>\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w); (\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
using ConsIn.IH
[PROOF STATE]
proof (prove)
using this:
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))

goal (1 subgoal):
 1. (\<And>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<lbrakk>\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w); (\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by moura
[PROOF STATE]
proof (state)
this:
\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w)
(\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))

goal (2 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<not> (\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v) \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
thus ?thesis
[PROOF STATE]
proof (prove)
using this:
\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w)
(\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))

goal (1 subgoal):
 1. \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
by fastforce
[PROOF STATE]
proof (state)
this:
\<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))

goal (1 subgoal):
 1. \<not> (\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v) \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (1 subgoal):
 1. \<not> (\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v) \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
case False
[PROOF STATE]
proof (state)
this:
\<not> (\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v)

goal (1 subgoal):
 1. \<not> (\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v) \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
hence ac: "ac = assign"
[PROOF STATE]
proof (prove)
using this:
\<not> (\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v)

goal (1 subgoal):
 1. ac = assign
[PROOF STEP]
using ConsIn.prems
[PROOF STATE]
proof (prove)
using this:
\<not> (\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v)
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ac: s \<in> s'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (1 subgoal):
 1. ac = assign
[PROOF STEP]
unfolding wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t_def
[PROOF STATE]
proof (prove)
using this:
\<not> (\<exists>v\<in>\<Union> (set (map wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t\<^sub>p S)). t \<cdot> \<I> \<sqsubseteq> \<I> v)
\<exists>v\<in>\<Union> (set (map wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t\<^sub>p (S @ [\<langle>ac: s \<in> s'\<rangle>]))). t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (1 subgoal):
 1. ac = assign
[PROOF STEP]
by (cases ac) auto
[PROOF STATE]
proof (state)
this:
ac = assign

goal (1 subgoal):
 1. \<not> (\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v) \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
obtain v where "v \<in> fv s \<union> fv s'" "t \<cdot> \<I> \<sqsubseteq> \<I> v"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. (\<And>v. \<lbrakk>v \<in> fv s \<union> fv s'; t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
using ConsIn.prems False
[PROOF STATE]
proof (prove)
using this:
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [\<langle>ac: s \<in> s'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v
\<not> (\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v)

goal (1 subgoal):
 1. (\<And>v. \<lbrakk>v \<in> fv s \<union> fv s'; t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
unfolding wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t_def ac
[PROOF STATE]
proof (prove)
using this:
\<exists>v\<in>\<Union> (set (map wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t\<^sub>p (S @ [select\<langle>s,s'\<rangle>]))). t \<cdot> \<I> \<sqsubseteq> \<I> v
\<not> (\<exists>v\<in>\<Union> (set (map wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t\<^sub>p S)). t \<cdot> \<I> \<sqsubseteq> \<I> v)

goal (1 subgoal):
 1. (\<And>v. \<lbrakk>v \<in> fv s \<union> fv s'; t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
v \<in> fv s \<union> fv s'
t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (1 subgoal):
 1. \<not> (\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v) \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
hence *: "t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> s' \<cdot> \<I>"
[PROOF STATE]
proof (prove)
using this:
v \<in> fv s \<union> fv s'
t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (1 subgoal):
 1. t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> s' \<cdot> \<I>
[PROOF STEP]
using vars_iff_subtermeq[of v s] vars_iff_subtermeq[of v s']
            subst_mono[of "Var v" s \<I>] subst_mono[of "Var v" s' \<I>] term.order_trans
[PROOF STATE]
proof (prove)
using this:
v \<in> fv s \<union> fv s'
t \<cdot> \<I> \<sqsubseteq> \<I> v
(v \<in> fv s) = (Var v \<sqsubseteq> s)
(v \<in> fv s') = (Var v \<sqsubseteq> s')
Var v \<sqsubseteq> s \<Longrightarrow> Var v \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I>
Var v \<sqsubseteq> s' \<Longrightarrow> Var v \<cdot> \<I> \<sqsubseteq> s' \<cdot> \<I>
\<lbrakk>?x \<sqsubseteq> ?y; ?y \<sqsubseteq> ?z\<rbrakk> \<Longrightarrow> ?x \<sqsubseteq> ?z

goal (1 subgoal):
 1. t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> s' \<cdot> \<I>
[PROOF STEP]
by auto
[PROOF STATE]
proof (state)
this:
t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> s' \<cdot> \<I>

goal (1 subgoal):
 1. \<not> (\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v) \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
show ?thesis
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
using * False
[PROOF STATE]
proof (prove)
using this:
t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> s' \<cdot> \<I>
\<not> (\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v)

goal (1 subgoal):
 1. \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
unfolding ac
[PROOF STATE]
proof (prove)
using this:
t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> s' \<cdot> \<I>
\<not> (\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v)

goal (1 subgoal):
 1. \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [select\<langle>s,s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [select\<langle>s,s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [select\<langle>s,s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
by fast
[PROOF STATE]
proof (state)
this:
\<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))

goal:
No subgoals!
[PROOF STEP]
qed
[PROOF STATE]
proof (state)
this:
\<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [\<langle>ac: s \<in> s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))

goal (3 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (3 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
case (ConsIns s s' S)
[PROOF STATE]
proof (state)
this:
wf'\<^sub>s\<^sub>s\<^sub>t {} S
fv s \<union> fv s' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>s,s'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (3 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
have "fv s \<union> fv s' \<subseteq> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S"
[PROOF STATE]
proof (prove)
goal (1 subgoal):
 1. fv s \<union> fv s' \<subseteq> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S
[PROOF STEP]
using ConsIns.hyps wfvarsocc\<^sub>s\<^sub>s\<^sub>t_subset_wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t[of S]
[PROOF STATE]
proof (prove)
using this:
wf'\<^sub>s\<^sub>s\<^sub>t {} S
fv s \<union> fv s' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S
wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S \<subseteq> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S

goal (1 subgoal):
 1. fv s \<union> fv s' \<subseteq> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S
[PROOF STEP]
by blast
[PROOF STATE]
proof (state)
this:
fv s \<union> fv s' \<subseteq> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S

goal (3 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
hence "\<exists>v \<in> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v"
[PROOF STATE]
proof (prove)
using this:
fv s \<union> fv s' \<subseteq> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S

goal (1 subgoal):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v
[PROOF STEP]
using ConsIns.prems
[PROOF STATE]
proof (prove)
using this:
fv s \<union> fv s' \<subseteq> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>s,s'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (1 subgoal):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v
[PROOF STEP]
unfolding wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t_def
[PROOF STATE]
proof (prove)
using this:
fv s \<union> fv s' \<subseteq> \<Union> (set (map wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t\<^sub>p S))
\<exists>v\<in>\<Union> (set (map wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t\<^sub>p (S @ [insert\<langle>s,s'\<rangle>]))). t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (1 subgoal):
 1. \<exists>v\<in>\<Union> (set (map wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t\<^sub>p S)). t \<cdot> \<I> \<sqsubseteq> \<I> v
[PROOF STEP]
by fastforce
[PROOF STATE]
proof (state)
this:
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (3 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v
[PROOF STEP]
obtain S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f where "?P S\<^sub>p\<^sub>r\<^sub>e" "?Q S S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f"
[PROOF STATE]
proof (prove)
using this:
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (1 subgoal):
 1. (\<And>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<lbrakk>\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w); (\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
using ConsIns.IH
[PROOF STATE]
proof (prove)
using this:
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))

goal (1 subgoal):
 1. (\<And>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<lbrakk>\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w); (\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by moura
[PROOF STATE]
proof (state)
this:
\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w)
(\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))

goal (3 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); fv ta \<union> fv t' \<subseteq> {} \<union> wfvarsoccs\<^sub>s\<^sub>s\<^sub>t S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [insert\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [insert\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 3. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
thus ?case
[PROOF STATE]
proof (prove)
using this:
\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w)
(\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))

goal (1 subgoal):
 1. \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>s,s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [insert\<langle>s,s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [insert\<langle>s,s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
by fastforce
[PROOF STATE]
proof (state)
this:
\<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [insert\<langle>s,s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [insert\<langle>s,s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [insert\<langle>s,s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))

goal (2 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
next
[PROOF STATE]
proof (state)
goal (2 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
case (ConsDel s s' S)
[PROOF STATE]
proof (state)
this:
wf'\<^sub>s\<^sub>s\<^sub>t {} S
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>s,s'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (2 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
hence "\<exists>v \<in> wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v"
[PROOF STATE]
proof (prove)
using this:
wf'\<^sub>s\<^sub>s\<^sub>t {} S
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>s,s'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (1 subgoal):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v
[PROOF STEP]
unfolding wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t_def
[PROOF STATE]
proof (prove)
using this:
wf'\<^sub>s\<^sub>s\<^sub>t {} S
\<exists>v\<in>\<Union> (set (map wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t\<^sub>p S)). t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>\<Union> (set (map wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t\<^sub>p S\<^sub>p\<^sub>r\<^sub>e)). t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
\<exists>v\<in>\<Union> (set (map wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t\<^sub>p (S @ [delete\<langle>s,s'\<rangle>]))). t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (1 subgoal):
 1. \<exists>v\<in>\<Union> (set (map wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t\<^sub>p S)). t \<cdot> \<I> \<sqsubseteq> \<I> v
[PROOF STEP]
by simp
[PROOF STATE]
proof (state)
this:
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (2 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
then
[PROOF STATE]
proof (chain)
picking this:
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v
[PROOF STEP]
obtain S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f where "?P S\<^sub>p\<^sub>r\<^sub>e" "?Q S S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f"
[PROOF STATE]
proof (prove)
using this:
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v

goal (1 subgoal):
 1. (\<And>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<lbrakk>\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w); (\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
using ConsDel.IH
[PROOF STATE]
proof (prove)
using this:
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v
\<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))

goal (1 subgoal):
 1. (\<And>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<lbrakk>\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w); (\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))\<rbrakk> \<Longrightarrow> thesis) \<Longrightarrow> thesis
[PROOF STEP]
by moura
[PROOF STATE]
proof (state)
this:
\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w)
(\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))

goal (2 subgoals):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
 2. \<And>ta t' S. \<lbrakk>wf'\<^sub>s\<^sub>s\<^sub>t {} S; \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))); \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t (S @ [delete\<langle>ta,t'\<rangle>]). t \<cdot> \<I> \<sqsubseteq> \<I> v\<rbrakk> \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S @ [delete\<langle>ta,t'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
thus ?case
[PROOF STATE]
proof (prove)
using this:
\<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w)
(\<exists>ts. S = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. S = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>))

goal (1 subgoal):
 1. \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>s,s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [delete\<langle>s,s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [delete\<langle>s,s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
by fastforce
[PROOF STATE]
proof (state)
this:
\<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. S @ [delete\<langle>s,s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>sa u. S @ [delete\<langle>s,s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>sa := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>sa u. S @ [delete\<langle>s,s'\<rangle>] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>sa,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> sa \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))

goal (1 subgoal):
 1. \<exists>v\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t []. t \<cdot> \<I> \<sqsubseteq> \<I> v \<Longrightarrow> \<exists>S\<^sub>p\<^sub>r\<^sub>e S\<^sub>s\<^sub>u\<^sub>f. \<not> (\<exists>w\<in>wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t S\<^sub>p\<^sub>r\<^sub>e. t \<cdot> \<I> \<sqsubseteq> \<I> w) \<and> ((\<exists>ts. [] = S\<^sub>p\<^sub>r\<^sub>e @ send\<langle>ts\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq>\<^sub>s\<^sub>e\<^sub>t set ts \<cdot>\<^sub>s\<^sub>e\<^sub>t \<I>) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ \<langle>s := u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<and> t \<cdot> \<I> \<notin> subterms\<^sub>s\<^sub>e\<^sub>t (\<I> ` fv u)) \<or> (\<exists>s u. [] = S\<^sub>p\<^sub>r\<^sub>e @ select\<langle>s,u\<rangle> # S\<^sub>s\<^sub>u\<^sub>f \<and> (t \<cdot> \<I> \<sqsubseteq> s \<cdot> \<I> \<or> t \<cdot> \<I> \<sqsubseteq> u \<cdot> \<I>)))
[PROOF STEP]
qed (simp add: wfrestrictedvars\<^sub>s\<^sub>s\<^sub>t_def)