src/Pure/more_thm.ML
changeset 46497 89ccf66aa73d
parent 45382 3a9f84ad31e7
child 46775 6287653e63ec
equal deleted inserted replaced
46496:b8920f3fd259 46497:89ccf66aa73d
   118 
   118 
   119 fun all_name (x, t) A =
   119 fun all_name (x, t) A =
   120   let
   120   let
   121     val cert = Thm.cterm_of (Thm.theory_of_cterm t);
   121     val cert = Thm.cterm_of (Thm.theory_of_cterm t);
   122     val T = #T (Thm.rep_cterm t);
   122     val T = #T (Thm.rep_cterm t);
   123   in Thm.capply (cert (Const ("all", (T --> propT) --> propT))) (Thm.cabs_name (x, t) A) end;
   123   in Thm.apply (cert (Const ("all", (T --> propT) --> propT))) (Thm.lambda_name (x, t) A) end;
   124 
   124 
   125 fun all t A = all_name ("", t) A;
   125 fun all t A = all_name ("", t) A;
   126 
   126 
   127 fun mk_binop c a b = Thm.capply (Thm.capply c a) b;
   127 fun mk_binop c a b = Thm.apply (Thm.apply c a) b;
   128 fun dest_binop ct = (Thm.dest_arg1 ct, Thm.dest_arg ct);
   128 fun dest_binop ct = (Thm.dest_arg1 ct, Thm.dest_arg ct);
   129 
   129 
   130 fun dest_implies ct =
   130 fun dest_implies ct =
   131   (case Thm.term_of ct of
   131   (case Thm.term_of ct of
   132     Const ("==>", _) $ _ $ _ => dest_binop ct
   132     Const ("==>", _) $ _ $ _ => dest_binop ct