src/ZF/Tools/typechk.ML
changeset 35409 5c5bb83f2bae
parent 33519 e31a85f92ce9
child 36960 01594f816e3a
equal deleted inserted replaced
35408:b48ab741683b 35409:5c5bb83f2bae
    96                                      @{thm ballI}, @{thm allI}, @{thm conjI}, @{thm impI}];
    96                                      @{thm ballI}, @{thm allI}, @{thm conjI}, @{thm impI}];
    97 
    97 
    98 (*Instantiates variables in typing conditions.
    98 (*Instantiates variables in typing conditions.
    99   drawback: does not simplify conjunctions*)
    99   drawback: does not simplify conjunctions*)
   100 fun type_solver_tac ctxt hyps = SELECT_GOAL
   100 fun type_solver_tac ctxt hyps = SELECT_GOAL
   101     (DEPTH_SOLVE (etac FalseE 1
   101     (DEPTH_SOLVE (etac @{thm FalseE} 1
   102                   ORELSE basic_res_tac 1
   102                   ORELSE basic_res_tac 1
   103                   ORELSE (ares_tac hyps 1
   103                   ORELSE (ares_tac hyps 1
   104                           APPEND typecheck_step_tac (tcset_of ctxt))));
   104                           APPEND typecheck_step_tac (tcset_of ctxt))));
   105 
   105 
   106 val type_solver = Simplifier.mk_solver' "ZF typecheck" (fn ss =>
   106 val type_solver = Simplifier.mk_solver' "ZF typecheck" (fn ss =>