equal
deleted
inserted
replaced
267 |
267 |
268 |
268 |
269 (*Converts an Isabelle theorem (intro, elim or simp format, even higher-order) into NNF.*) |
269 (*Converts an Isabelle theorem (intro, elim or simp format, even higher-order) into NNF.*) |
270 fun to_nnf th ctxt0 = |
270 fun to_nnf th ctxt0 = |
271 let val th1 = th |> transform_elim |> zero_var_indexes |
271 let val th1 = th |> transform_elim |> zero_var_indexes |
272 val ((_,[th2]),ctxt) = Variable.import_thms true [th1] ctxt0 |
272 val ((_,[th2]),ctxt) = Variable.import true [th1] ctxt0 |
273 val th3 = th2 |> Conv.fconv_rule ObjectLogic.atomize |> Meson.make_nnf |> strip_lambdas ~1 |
273 val th3 = th2 |> Conv.fconv_rule ObjectLogic.atomize |> Meson.make_nnf |> strip_lambdas ~1 |
274 in (th3, ctxt) end; |
274 in (th3, ctxt) end; |
275 |
275 |
276 (*Generate Skolem functions for a theorem supplied in nnf*) |
276 (*Generate Skolem functions for a theorem supplied in nnf*) |
277 fun assume_skolem_of_def s th = |
277 fun assume_skolem_of_def s th = |