Journal/Paper.thy
changeset 178 da27bece9575
parent 177 abe117821c32
child 179 f9e6c4166476
--- a/Journal/Paper.thy	Fri Jun 09 15:08:54 2017 +0100
+++ b/Journal/Paper.thy	Fri Jun 23 00:27:16 2017 +0100
@@ -47,7 +47,7 @@
   preceds ("precs") and
   cpreced ("cprec") and
   cpreceds ("cprecs") and
-  wq_fun ("wq") and
+  (*wq_fun ("wq") and*)
   cp ("cprec") and
   (*cprec_fun ("cp_fun") and*)
   holdents ("resources") and
@@ -627,7 +627,7 @@
   the notion of the \emph{dependants} of a thread
 
   \begin{isabelle}\ \ \ \ \ %%%
-  @{thm dependants_raw_def}
+  @{thm dependants_raw_def}\hfill\numbered{dependants}
   \end{isabelle}
 
   \noindent This definition needs to account for all threads that wait
@@ -651,13 +651,7 @@
   @{thm cpreced_def3}\hfill\numbered{cpreced}
   \end{isabelle}
 
-  %\endnote{
-  %\begin{isabelle}\ \ \ \ \ %%%
-  %@ {thm cp_alt_def cp_alt_def1}
-  %\end{isabelle}
-  %}
-
-  \noindent where the dependants of @{text th} are given by the
+   \noindent where the dependants of @{text th} are given by the
   waiting queue function.  While the precedence @{term prec} of any
   thread is determined statically (for example when the thread is
   created), the point of the current precedence is to dynamically
@@ -792,16 +786,27 @@
 
   \begin{isabelle}\ \ \ \ \ %%%
   \begin{tabular}{@ {}rcl}
-  @{thm (lhs) s_holding_abv}  & @{text "\<equiv>"} & @{thm (rhs) s_holding_abv}\\
-  @{thm (lhs) s_waiting_abv}  & @{text "\<equiv>"} & @{thm (rhs) s_waiting_abv}\\
-  @{thm (lhs) s_RAG_abv}      & @{text "\<equiv>"} & @{thm (rhs) s_RAG_abv}\\
-  @{thm (lhs) s_dependants_abv}& @{text "\<equiv>"} & @{thm (rhs) s_dependants_abv}\\
+  @{thm (lhs) s_holding_abv}  & @{text "\<equiv>"} & @{thm (rhs) s_holding_abv[simplified wq_def]}\\
+  @{thm (lhs) s_waiting_abv}  & @{text "\<equiv>"} & @{thm (rhs) s_waiting_abv[simplified wq_def]}\\
+  @{thm (lhs) s_RAG_abv}      & @{text "\<equiv>"} & @{thm (rhs) s_RAG_abv[simplified wq_def]}\\
+  @{thm (lhs) s_dependants_abv}& @{text "\<equiv>"} & @{thm (rhs) s_dependants_abv[simplified wq_def]}\\
   @{thm (lhs) cp_def}         & @{text "\<equiv>"} & @{thm (rhs) cp_def}\\  
   \end{tabular}
   \end{isabelle}
 
   \noindent
-  With these abbreviations in place we can introduce 
+  With these abbreviations in place we can derive for every valid trace @{text s} 
+  the following two facts about  @{term dependants} and @{term cprec} (see \eqref{dependants} 
+  and \eqref{cpreced}): Given @{thm (prem 1) valid_trace.cp_alt_def}, then 
+
+  \begin{isabelle}\ \ \ \ \ %%%
+  \begin{tabular}{@ {}rcl}
+  @{thm (concl) valid_trace.cp_alt_def3}\\
+  \end{tabular}\hfill\numbered{overloaded}
+  \end{isabelle}
+
+
+  can introduce 
   the notion of a thread being @{term ready} in a state (i.e.~threads
   that do not wait for any resource, which are the roots of the trees 
   in the RAG, see Figure~\ref{RAGgraph}). The @{term running} thread
@@ -1042,7 +1047,7 @@
   \begin{isabelle}\ \ \ \ \ %%%
   \begin{tabular}{l}
   @{term "th \<in> threads s"}\\
-  @{term "prec th s = Max (cprecs s (threads s))"}\\
+  @{term "prec th s = Max (precs s (threads s))"}\\
   @{term "prec th s = (prio, DUMMY)"}
   \end{tabular}
   \end{isabelle}
@@ -1832,10 +1837,20 @@
   @{text th} in the @{term RAG} (and waiting for @{text th} to release
   a resource). We can prove the following lemma.
 
+  \begin{center}
+  @{thm tG_alt_def}\\
+  @{thm dependants_alt_tG} 
+  \end{center}
+
+  \begin{center}
+  @{thm valid_trace.cp_alt_def3} 
+  \end{center}
+
+
   \begin{lemma}\label{childrenlem}
   HERE %@ {text "If"} @ {thm (prem 1) cp_rec} @{text "then"}
   \begin{center}
-  @{thm valid_trace.cp_rec}.
+  @{thm valid_trace.cp_rec_tG}.
   %@ {thm (concl) cp_rec}.
   \end{center}
   \end{lemma}