src/HOL/BNF/Tools/bnf_fp_rec_sugar.ML
changeset 53699 7d32f33d340d
parent 53692 2c04e30c2f3e
child 53720 03fac7082137
equal deleted inserted replaced
53698:e1b039dada7b 53699:7d32f33d340d
   715       co_build_defs lthy' bs mxs has_call arg_Tss corec_specs disc_eqnss sel_eqnss;
   715       co_build_defs lthy' bs mxs has_call arg_Tss corec_specs disc_eqnss sel_eqnss;
   716 
   716 
   717     (* try to prove (automatically generated) tautologies by ourselves *)
   717     (* try to prove (automatically generated) tautologies by ourselves *)
   718     val exclss'' = exclss'
   718     val exclss'' = exclss'
   719       |> map (map (apsnd
   719       |> map (map (apsnd
   720         (`(try (fn t => Goal.prove lthy [] [] t (mk_primcorec_taut_tac lthy |> K))))));
   720         (`(try (fn t => Goal.prove lthy [] [] t (mk_primcorec_assumption_tac lthy |> K))))));
   721     val taut_thmss = map (map (apsnd (the o fst)) o filter (is_some o fst o snd)) exclss'';
   721     val taut_thmss = map (map (apsnd (the o fst)) o filter (is_some o fst o snd)) exclss'';
   722     val (obligation_idxss, obligationss) = exclss''
   722     val (obligation_idxss, obligationss) = exclss''
   723       |> map (map (apsnd (rpair [] o snd)) o filter (is_none o fst o snd))
   723       |> map (map (apsnd (rpair [] o snd)) o filter (is_none o fst o snd))
   724       |> split_list o map split_list;
   724       |> split_list o map split_list;
   725 
   725