src/HOLCF/adm.ML
changeset 4721 c8a8482a8124
parent 4039 0db9f1098fd6
child 7652 2db14b7298c6
equal deleted inserted replaced
4720:c1b83b42f65a 4721:c8a8482a8124
     8 state:
     8 state:
     9 
     9 
    10   [| cont t; adm P |] ==> adm (%x. P (t x))
    10   [| cont t; adm P |] ==> adm (%x. P (t x))
    11 
    11 
    12 "t" is instantiated with a term of chain-finite type, so that
    12 "t" is instantiated with a term of chain-finite type, so that
    13 adm_chain_finite can be applied:
    13 adm_chfin can be applied:
    14 
    14 
    15   adm (P::'a::{chfin,pcpo} => bool)
    15   adm (P::'a::{chfin,pcpo} => bool)
    16 
    16 
    17 *)
    17 *)
    18 
    18 
   175                 val rule = inst_adm_subst_thm state i params s T t' t paths;
   175                 val rule = inst_adm_subst_thm state i params s T t' t paths;
   176               in
   176               in
   177                 compose_tac (false, rule, 2) i THEN
   177                 compose_tac (false, rule, 2) i THEN
   178                 rtac cont_thm i THEN
   178                 rtac cont_thm i THEN
   179                 REPEAT (assume_tac i) THEN
   179                 REPEAT (assume_tac i) THEN
   180                 rtac adm_chain_finite i
   180                 rtac adm_chfin i
   181               end 
   181               end 
   182           | [] => no_tac)
   182           | [] => no_tac)
   183         end)
   183         end)
   184     end;
   184     end;
   185 
   185