src/HOL/SPARK/Tools/spark_vcs.ML
changeset 63180 ddfd021884b4
parent 63064 2f18172214c8
child 63352 4eaf35781b23
equal deleted inserted replaced
63179:231e261fd6bc 63180:ddfd021884b4
  1018         val _ = T = T' orelse
  1018         val _ = T = T' orelse
  1019           error ("Declared type " ^ ty ^ " of " ^ s ^
  1019           error ("Declared type " ^ ty ^ " of " ^ s ^
  1020             "\ndoes not match type " ^ ty' ^ " in definition");
  1020             "\ndoes not match type " ^ ty' ^ " in definition");
  1021         val id' = mk_rulename id;
  1021         val id' = mk_rulename id;
  1022         val ((t', (_, th)), lthy') = Named_Target.theory_init thy
  1022         val ((t', (_, th)), lthy') = Named_Target.theory_init thy
  1023           |> Specification.definition NONE []
  1023           |> Specification.definition NONE [] []
  1024             ((id', []), HOLogic.mk_Trueprop (HOLogic.mk_eq (Free (s, T), t)));
  1024             ((id', []), HOLogic.mk_Trueprop (HOLogic.mk_eq (Free (s, T), t)));
  1025         val phi =
  1025         val phi =
  1026           Proof_Context.export_morphism lthy'
  1026           Proof_Context.export_morphism lthy'
  1027             (Proof_Context.init_global (Proof_Context.theory_of lthy'));
  1027             (Proof_Context.init_global (Proof_Context.theory_of lthy'));
  1028       in
  1028       in