src/HOL/WF.ML
changeset 7570 a9391550eea1
parent 7499 23e090051cb8
child 8265 187cada50e19
equal deleted inserted replaced
7569:1d9263172b54 7570:a9391550eea1
   258 (*** NOTE! some simplifications need a different Solver!! ***)
   258 (*** NOTE! some simplifications need a different Solver!! ***)
   259 fun indhyp_tac hyps =
   259 fun indhyp_tac hyps =
   260     (cut_facts_tac hyps THEN'
   260     (cut_facts_tac hyps THEN'
   261        DEPTH_SOLVE_1 o (ares_tac [TrueI] ORELSE'
   261        DEPTH_SOLVE_1 o (ares_tac [TrueI] ORELSE'
   262                         eresolve_tac [transD, mp, allE]));
   262                         eresolve_tac [transD, mp, allE]));
   263 val wf_super_ss = HOL_ss addSolver indhyp_tac;
   263 val wf_super_ss = HOL_ss addSolver (mk_solver "WF" indhyp_tac);
   264 
   264 
   265 Goalw [is_recfun_def,cut_def]
   265 Goalw [is_recfun_def,cut_def]
   266     "[| wf(r);  trans(r);  is_recfun r H a f;  is_recfun r H b g |] ==> \
   266     "[| wf(r);  trans(r);  is_recfun r H a f;  is_recfun r H b g |] ==> \
   267     \ (x,a):r --> (x,b):r --> f(x)=g(x)";
   267     \ (x,a):r --> (x,b):r --> f(x)=g(x)";
   268 by (etac wf_induct 1);
   268 by (etac wf_induct 1);