author | Christian Urban <christian dot urban at kcl dot ac dot uk> |
Mon, 19 May 2014 11:19:48 +0100 | |
changeset 3234 | 08c3ef07cef7 |
parent 2985 | 05ccb61aa628 |
permissions | -rw-r--r-- |
2985
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
1 |
(*<*) |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
2 |
theory Appendix |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
3 |
imports "../Nominal/Nominal2" "~~/src/HOL/Library/LaTeXsugar" |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
4 |
begin |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
5 |
|
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
6 |
consts |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
7 |
fv :: "'a \<Rightarrow> 'b" |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
8 |
abs_set :: "'a \<Rightarrow> 'b \<Rightarrow> 'c" |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
9 |
alpha_bn :: "'a \<Rightarrow> 'a \<Rightarrow> bool" |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
10 |
abs_set2 :: "'a \<Rightarrow> perm \<Rightarrow> 'b \<Rightarrow> 'c" |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
11 |
Abs_dist :: "'a \<Rightarrow> 'b \<Rightarrow> 'c" |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
12 |
Abs_print :: "'a \<Rightarrow> 'b \<Rightarrow> 'c" |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
13 |
|
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
14 |
definition |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
15 |
"equal \<equiv> (op =)" |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
16 |
|
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
17 |
notation (latex output) |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
18 |
swap ("'(_ _')" [1000, 1000] 1000) and |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
19 |
fresh ("_ # _" [51, 51] 50) and |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
20 |
fresh_star ("_ #\<^sup>* _" [51, 51] 50) and |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
21 |
supp ("supp _" [78] 73) and |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
22 |
uminus ("-_" [78] 73) and |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
23 |
If ("if _ then _ else _" 10) and |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
24 |
alpha_set ("_ \<approx>\<^raw:\,\raisebox{-1pt}{\makebox[0mm][l]{$_{\textit{set}}$}}>\<^bsup>_, _, _\<^esup> _") and |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
25 |
alpha_lst ("_ \<approx>\<^raw:\,\raisebox{-1pt}{\makebox[0mm][l]{$_{\textit{list}}$}}>\<^bsup>_, _, _\<^esup> _") and |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
26 |
alpha_res ("_ \<approx>\<^raw:\,\raisebox{-1pt}{\makebox[0mm][l]{$_{\textit{res}}$}}>\<^bsup>_, _, _\<^esup> _") and |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
27 |
abs_set ("_ \<approx>\<^raw:{$\,_{\textit{abs\_set}}$}> _") and |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
28 |
abs_set2 ("_ \<approx>\<^raw:\raisebox{-1pt}{\makebox[0mm][l]{$\,_{\textit{list}}$}}>\<^bsup>_\<^esup> _") and |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
29 |
fv ("fa'(_')" [100] 100) and |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
30 |
equal ("=") and |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
31 |
alpha_abs_set ("_ \<approx>\<^raw:{$\,_{\textit{abs\_set}}$}> _") and |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
32 |
Abs_set ("[_]\<^bsub>set\<^esub>._" [20, 101] 999) and |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
33 |
Abs_lst ("[_]\<^bsub>list\<^esub>._") and |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
34 |
Abs_dist ("[_]\<^bsub>#list\<^esub>._") and |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
35 |
Abs_res ("[_]\<^bsub>res\<^esub>._") and |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
36 |
Abs_print ("_\<^bsub>set\<^esub>._") and |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
37 |
Cons ("_::_" [78,77] 73) and |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
38 |
supp_set ("aux _" [1000] 10) and |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
39 |
alpha_bn ("_ \<approx>bn _") |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
40 |
|
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
41 |
consts alpha_trm ::'a |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
42 |
consts fa_trm :: 'a |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
43 |
consts alpha_trm2 ::'a |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
44 |
consts fa_trm2 :: 'a |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
45 |
consts ast :: 'a |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
46 |
consts ast' :: 'a |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
47 |
notation (latex output) |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
48 |
alpha_trm ("\<approx>\<^bsub>trm\<^esub>") and |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
49 |
fa_trm ("fa\<^bsub>trm\<^esub>") and |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
50 |
alpha_trm2 ("'(\<approx>\<^bsub>assn\<^esub>, \<approx>\<^bsub>trm\<^esub>')") and |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
51 |
fa_trm2 ("'(fa\<^bsub>assn\<^esub>, fa\<^bsub>trm\<^esub>')") and |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
52 |
ast ("'(as, t')") and |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
53 |
ast' ("'(as', t\<PRIME> ')") |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
54 |
|
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
55 |
(*>*) |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
56 |
|
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
57 |
text {* |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
58 |
\appendix |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
59 |
\section*{Appendix} |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
60 |
|
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
61 |
Details for one case in Theorem \ref{suppabs}, which the reader might like to ignore. |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
62 |
By definition of the abstraction type @{text "abs_set"} |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
63 |
we have |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
64 |
% |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
65 |
\begin{equation}\label{abseqiff} |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
66 |
@{thm (lhs) Abs_eq_iff(1)[where bs="as" and cs="bs", no_vars]} \;\;\text{if and only if}\;\; |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
67 |
@{thm (rhs) Abs_eq_iff(1)[where bs="as" and cs="bs", no_vars]} |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
68 |
\end{equation} |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
69 |
|
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
70 |
\noindent |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
71 |
and also |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
72 |
|
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
73 |
\begin{equation}\label{absperm} |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
74 |
@{thm permute_Abs(1)[no_vars]}% |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
75 |
\end{equation} |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
76 |
|
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
77 |
\noindent |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
78 |
The second fact derives from the definition of permutations acting on pairs |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
79 |
and $\alpha$-equivalence being equivariant. With these two facts at our disposal, we can show |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
80 |
the following lemma about swapping two atoms in an abstraction. |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
81 |
|
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
82 |
\begin{lemma} |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
83 |
@{thm[mode=IfThen] Abs_swap1(1)[where bs="as", no_vars]} |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
84 |
\end{lemma} |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
85 |
|
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
86 |
\begin{proof} |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
87 |
This lemma is straightforward using \eqref{abseqiff} and observing that |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
88 |
the assumptions give us @{term "(a \<rightleftharpoons> b) \<bullet> (supp x - as) = (supp x - as)"}. |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
89 |
Moreover @{text supp} and set difference are equivariant (see \cite{HuffmanUrban10}). |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
90 |
\end{proof} |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
91 |
|
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
92 |
\noindent |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
93 |
Assuming that @{text "x"} has finite support, this lemma together |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
94 |
with \eqref{absperm} allows us to show |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
95 |
|
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
96 |
\begin{equation}\label{halfone} |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
97 |
@{thm Abs_supports(1)[no_vars]} |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
98 |
\end{equation} |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
99 |
|
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
100 |
\noindent |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
101 |
which gives us ``one half'' of |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
102 |
Theorem~\ref{suppabs} (the notion of supports is defined in \cite{HuffmanUrban10}). |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
103 |
The ``other half'' is a bit more involved. To establish |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
104 |
it, we use a trick from \cite{Pitts04} and first define an auxiliary |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
105 |
function @{text aux}, taking an abstraction as argument: |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
106 |
@{thm supp_set.simps[THEN eq_reflection, no_vars]}. |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
107 |
|
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
108 |
We can show that |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
109 |
@{text "aux"} is equivariant (since @{term "p \<bullet> (supp x - as) = (supp (p \<bullet> x)) - (p \<bullet> as)"}) |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
110 |
and therefore has empty support. |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
111 |
This in turn means |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
112 |
|
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
113 |
\begin{center} |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
114 |
@{text "supp (aux ([as]\<^bsub>set\<^esub>. x)) \<subseteq> supp ([as]\<^bsub>set\<^esub> x)"} |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
115 |
\end{center} |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
116 |
|
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
117 |
\noindent |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
118 |
Assuming @{term "supp x - as"} is a finite set, |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
119 |
we further obtain |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
120 |
|
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
121 |
\begin{equation}\label{halftwo} |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
122 |
@{thm (concl) Abs_supp_subset1(1)[no_vars]} |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
123 |
\end{equation} |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
124 |
|
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
125 |
\noindent |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
126 |
since for finite sets of atoms, @{text "bs"}, we have |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
127 |
@{thm (concl) supp_finite_atom_set[where S="bs", no_vars]}. |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
128 |
Finally, taking \eqref{halfone} and \eqref{halftwo} together establishes |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
129 |
Theorem~\ref{suppabs}. |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
130 |
|
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
131 |
*} |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
132 |
|
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
133 |
(*<*) |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
134 |
end |
05ccb61aa628
started lmcs paper (isabelle make lmcs)
Christian Urban <urbanc@in.tum.de>
parents:
diff
changeset
|
135 |
(*>*) |