src/HOL/Tools/BNF/bnf_fp_def_sugar.ML
changeset 58326 7e142efcee1a
parent 58291 81a5f05130c1
child 58327 a147bd03cad0
equal deleted inserted replaced
58325:3b16fe3d9ad6 58326:7e142efcee1a
  1727                   else
  1727                   else
  1728                     Goal.prove_sorry lthy [] [] (Logic.mk_conjunction_balanced goals)
  1728                     Goal.prove_sorry lthy [] [] (Logic.mk_conjunction_balanced goals)
  1729                       (fn {context = ctxt, prems = _} =>
  1729                       (fn {context = ctxt, prems = _} =>
  1730                          mk_rel_sel_tac ctxt (certify ctxt ta) (certify ctxt tb) exhaust
  1730                          mk_rel_sel_tac ctxt (certify ctxt ta) (certify ctxt tb) exhaust
  1731                            (flat disc_thmss) (flat sel_thmss) rel_inject_thms distincts
  1731                            (flat disc_thmss) (flat sel_thmss) rel_inject_thms distincts
  1732                            rel_distinct_thms)
  1732                            rel_distinct_thms (map rel_eq_of_bnf live_nesting_bnfs))
  1733                     |> Conjunction.elim_balanced (length goals)
  1733                     |> Conjunction.elim_balanced (length goals)
  1734                     |> Proof_Context.export names_lthy lthy
  1734                     |> Proof_Context.export names_lthy lthy
  1735                     |> map Thm.close_derivation
  1735                     |> map Thm.close_derivation
  1736                 end;
  1736                 end;
  1737 
  1737 
  1856                     []
  1856                     []
  1857                   else
  1857                   else
  1858                     Goal.prove_sorry lthy [] [] (Logic.mk_conjunction_balanced goals)
  1858                     Goal.prove_sorry lthy [] [] (Logic.mk_conjunction_balanced goals)
  1859                       (fn {context = ctxt, prems = _} =>
  1859                       (fn {context = ctxt, prems = _} =>
  1860                          mk_map_sel_tac ctxt (certify ctxt ta) exhaust (flat disc_thmss) map_thms
  1860                          mk_map_sel_tac ctxt (certify ctxt ta) exhaust (flat disc_thmss) map_thms
  1861                            (flat sel_thmss))
  1861                            (flat sel_thmss) (map map_id0_of_bnf live_nesting_bnfs))
  1862                     |> Conjunction.elim_balanced (length goals)
  1862                     |> Conjunction.elim_balanced (length goals)
  1863                     |> Proof_Context.export names_lthy lthy
  1863                     |> Proof_Context.export names_lthy lthy
  1864                     |> map Thm.close_derivation
  1864                     |> map Thm.close_derivation
  1865                 end;
  1865                 end;
  1866 
  1866