src/HOLCF/adm_tac.ML
changeset 20049 f48c4a3a34bc
parent 18678 dd0c569fa43d
child 22578 b0eb5652f210
equal deleted inserted replaced
20048:a7964311f1fb 20049:f48c4a3a34bc
   100        val contT = (T --> (fastype_of1 (T::parTs, t))) --> HOLogic.boolT;
   100        val contT = (T --> (fastype_of1 (T::parTs, t))) --> HOLogic.boolT;
   101        fun mk_all [] t = t
   101        fun mk_all [] t = t
   102          | mk_all ((a,T)::Ts) t = (all T) $ (Abs (a, T, mk_all Ts t));
   102          | mk_all ((a,T)::Ts) t = (all T) $ (Abs (a, T, mk_all Ts t));
   103        val t = HOLogic.mk_Trueprop((Const (cont_name, contT)) $ (Abs(s, T, t)));
   103        val t = HOLogic.mk_Trueprop((Const (cont_name, contT)) $ (Abs(s, T, t)));
   104        val t' = mk_all params (Logic.list_implies (prems, t));
   104        val t' = mk_all params (Logic.list_implies (prems, t));
   105        val thm = Goal.prove sign [] [] t' (K (tac 1));
   105        val thm = Goal.prove (ProofContext.init sign) [] [] t' (K (tac 1));
   106   in (ts, thm)::l end
   106   in (ts, thm)::l end
   107   handle ERROR _ => l;
   107   handle ERROR _ => l;
   108 
   108 
   109 
   109 
   110 (*** instantiation of adm_subst theorem (a bit tricky) ***)
   110 (*** instantiation of adm_subst theorem (a bit tricky) ***)