src/HOL/Tools/Predicate_Compile/predicate_compile_pred.ML
changeset 35897 8758895ea413
parent 35882 9bb2c5b0c297
child 36029 a790b94e090c
equal deleted inserted replaced
35896:487b267433b1 35897:8758895ea413
   175               def
   175               def
   176             end
   176             end
   177          val new_defs = map new_def assms
   177          val new_defs = map new_def assms
   178          val (definition, thy') = thy
   178          val (definition, thy') = thy
   179           |> Sign.add_consts_i [(Binding.name constname, constT, NoSyn)]
   179           |> Sign.add_consts_i [(Binding.name constname, constT, NoSyn)]
   180           |> fold_map Drule.add_axiom (map_index
   180           |> fold_map Specification.axiom (map_index
   181               (fn (i, t) => (Binding.name (constname ^ "_def" ^ string_of_int i), t)) new_defs)
   181               (fn (i, t) => ((Binding.name (constname ^ "_def" ^ string_of_int i), []), t)) new_defs)
   182         in
   182         in
   183           (lhs, ((full_constname, definition) :: defs, thy'))
   183           (lhs, ((full_constname, map Drule.export_without_context definition) :: defs, thy'))
   184         end
   184         end
   185       else
   185       else
   186         (atom, (defs, thy)))
   186         (atom, (defs, thy)))
   187 
   187 
   188 fun flatten_intros constname intros thy =
   188 fun flatten_intros constname intros thy =