Implementation.thy
changeset 197 ca4ddf26a7c7
parent 190 312497c6d6b9
equal deleted inserted replaced
196:704fd8749dad 197:ca4ddf26a7c7
    80                   apply (rule injI, simp)
    80                   apply (rule injI, simp)
    81                   by (unfold image_comp, simp)
    81                   by (unfold image_comp, simp)
    82   have [simp]: "preceds {th} s = {the_preced s th}"
    82   have [simp]: "preceds {th} s = {the_preced s th}"
    83     by (unfold the_preced_def, simp)
    83     by (unfold the_preced_def, simp)
    84   show ?thesis 
    84   show ?thesis 
    85     by (unfold cp_rec cprecs_def, simp add:the_preced_def)
    85     unfolding cprecs_def
       
    86     apply(subst cp_rec)
       
    87     apply(simp add: the_preced_def)  
       
    88     done
       
    89       
    86 qed    
    90 qed    
    87 
    91 
    88 text {*
    92 text {*
    89   According to this lemma, @{text cp}-value of one thread can be calculated by calling recursively 
    93   According to this lemma, @{text cp}-value of one thread can be calculated by calling recursively 
    90   the @{text cp} function on its @{text tG}-children. However, one thing to be noted is that
    94   the @{text cp} function on its @{text tG}-children. However, one thing to be noted is that
   961 text {*
   965 text {*
   962   Now, since @{term th} has no children, by definition its @{text cp} value 
   966   Now, since @{term th} has no children, by definition its @{text cp} value 
   963   equals its precedence:
   967   equals its precedence:
   964 *}
   968 *}
   965 lemma eq_cp_th: "cp (e#s) th = preced th (e#s)"
   969 lemma eq_cp_th: "cp (e#s) th = preced th (e#s)"
   966  by (unfold vat_es.cp_rec children_of_th, simp add:the_preced_def)
   970   unfolding  children_of_th
   967 
   971   apply(subst vat_es.cp_rec)
       
   972   apply(simp add:the_preced_def children_of_th)
       
   973   done
       
   974     
   968 end
   975 end
   969 
   976 
   970 text {*
   977 text {*
   971   The following locale @{text valid_trace_exit} deals with the @{term Exit}-operation.
   978   The following locale @{text valid_trace_exit} deals with the @{term Exit}-operation.
   972 *}
   979 *}