src/Provers/order.ML
changeset 42361 23f352990944
parent 37744 3daaf23b9ab4
child 42364 8c674b3b8e44
equal deleted inserted replaced
42360:da8817d01e7c 42361:23f352990944
  1223  end;
  1223  end;
  1224 
  1224 
  1225 in
  1225 in
  1226  SUBGOAL (fn (A, n) => fn st =>
  1226  SUBGOAL (fn (A, n) => fn st =>
  1227   let
  1227   let
  1228    val thy = ProofContext.theory_of ctxt;
  1228    val thy = Proof_Context.theory_of ctxt;
  1229    val rfrees = map Free (Term.rename_wrt_term A (Logic.strip_params A));
  1229    val rfrees = map Free (Term.rename_wrt_term A (Logic.strip_params A));
  1230    val Hs = map prop_of prems @ map (fn H => subst_bounds (rfrees, H)) (Logic.strip_assums_hyp A)
  1230    val Hs = map prop_of prems @ map (fn H => subst_bounds (rfrees, H)) (Logic.strip_assums_hyp A)
  1231    val C = subst_bounds (rfrees, Logic.strip_assums_concl A)
  1231    val C = subst_bounds (rfrees, Logic.strip_assums_concl A)
  1232    val lesss = flat (map_index (mkasm decomp less_thms thy) Hs)
  1232    val lesss = flat (map_index (mkasm decomp less_thms thy) Hs)
  1233    val prfs = gen_solve mkconcl thy (lesss, C);
  1233    val prfs = gen_solve mkconcl thy (lesss, C);