src/Pure/logic.ML
changeset 21016 430b35c9cd27
parent 20883 b432f20a47ca
child 21520 63c73f461eec
equal deleted inserted replaced
21015:425883e01fe0 21016:430b35c9cd27
   422       | lift Ts ((c as Const ("all", _)) $ Abs (a, T, B)) t = c $ Abs (a, T, lift (T :: Ts) B t)
   422       | lift Ts ((c as Const ("all", _)) $ Abs (a, T, B)) t = c $ Abs (a, T, lift (T :: Ts) B t)
   423       | lift Ts _ t = incr_indexes (rev Ts, inc) t;
   423       | lift Ts _ t = incr_indexes (rev Ts, inc) t;
   424   in lift [] end;
   424   in lift [] end;
   425 
   425 
   426 (*Strips assumptions in goal, yielding list of hypotheses.   *)
   426 (*Strips assumptions in goal, yielding list of hypotheses.   *)
   427 fun strip_assums_hyp (Const("==>", _) $ H $ B) = H :: strip_assums_hyp B
   427 fun strip_assums_hyp B =
   428   | strip_assums_hyp (Const("all",_)$Abs(a,T,t)) = strip_assums_hyp t
   428   let
   429   | strip_assums_hyp B = [];
   429     fun strip Hs (Const ("==>", _) $ H $ B) = strip (H :: Hs) B
       
   430       | strip Hs (Const ("all", _) $ Abs (a, T, t)) =
       
   431           strip (map (incr_boundvars 1) Hs) t
       
   432       | strip Hs B = rev Hs
       
   433   in strip [] B end;
   430 
   434 
   431 (*Strips assumptions in goal, yielding conclusion.   *)
   435 (*Strips assumptions in goal, yielding conclusion.   *)
   432 fun strip_assums_concl (Const("==>", _) $ H $ B) = strip_assums_concl B
   436 fun strip_assums_concl (Const("==>", _) $ H $ B) = strip_assums_concl B
   433   | strip_assums_concl (Const("all",_)$Abs(a,T,t)) = strip_assums_concl t
   437   | strip_assums_concl (Const("all",_)$Abs(a,T,t)) = strip_assums_concl t
   434   | strip_assums_concl B = B;
   438   | strip_assums_concl B = B;