src/HOL/Decision_Procs/Parametric_Ferrante_Rackoff.thy
changeset 69214 74455459973d
parent 68442 477b3f7067c9
child 69597 ff784d5a5bfb
equal deleted inserted replaced
69213:ab98f058f9dc 69214:74455459973d
  4064   | term_of_fm T fs ps _ = error "term_of_fm: quantifiers";
  4064   | term_of_fm T fs ps _ = error "term_of_fm: quantifiers";
  4065 
  4065 
  4066 fun frpar_procedure alternative T ps fm =
  4066 fun frpar_procedure alternative T ps fm =
  4067   let
  4067   let
  4068     val frpar = if alternative then @{code frpar2} else @{code frpar};
  4068     val frpar = if alternative then @{code frpar2} else @{code frpar};
  4069     val fs = subtract (aconv) (map Free (Term.add_frees fm [])) ps;
  4069     val fs = subtract (op aconv) (map Free (Term.add_frees fm [])) ps;
  4070     val eval = term_of_fm T fs ps o frpar o fm_of_term fs ps;
  4070     val eval = term_of_fm T fs ps o frpar o fm_of_term fs ps;
  4071     val t = HOLogic.dest_Trueprop fm;
  4071     val t = HOLogic.dest_Trueprop fm;
  4072   in HOLogic.mk_Trueprop (HOLogic.mk_eq (t, eval t)) end;
  4072   in HOLogic.mk_Trueprop (HOLogic.mk_eq (t, eval t)) end;
  4073 
  4073 
  4074 in
  4074 in