src/HOL/Tools/record_package.ML
changeset 26626 c6231d64d264
parent 26496 49ae9456eba9
child 26943 aec0d97a01c4
equal deleted inserted replaced
26625:e0cc4169626e 26626:c6231d64d264
  1738     val th2 = Drule.forall_intr_vars th1;
  1738     val th2 = Drule.forall_intr_vars th1;
  1739   in th2 end;
  1739   in th2 end;
  1740 
  1740 
  1741 fun meta_to_obj_all thm =
  1741 fun meta_to_obj_all thm =
  1742   let
  1742   let
  1743     val {thy, prop, ...} = rep_thm thm;
  1743     val thy = Thm.theory_of_thm thm;
       
  1744     val prop = Thm.prop_of thm;
  1744     val params = Logic.strip_params prop;
  1745     val params = Logic.strip_params prop;
  1745     val concl = HOLogic.dest_Trueprop (Logic.strip_assums_concl prop);
  1746     val concl = HOLogic.dest_Trueprop (Logic.strip_assums_concl prop);
  1746     val ct = cterm_of thy
  1747     val ct = cterm_of thy
  1747       (HOLogic.mk_Trueprop (HOLogic.list_all (params, concl)));
  1748       (HOLogic.mk_Trueprop (HOLogic.list_all (params, concl)));
  1748     val thm' = Seq.hd (REPEAT (rtac allI 1) (Thm.trivial ct));
  1749     val thm' = Seq.hd (REPEAT (rtac allI 1) (Thm.trivial ct));