src/HOL/Inductive.thy
changeset 61955 e96292f32c3c
parent 61952 546958347e05
child 63400 249fa34faba2
equal deleted inserted replaced
61954:1d43f86f48be 61955:e96292f32c3c
   368 ML_file "Tools/Old_Datatype/old_primrec.ML"
   368 ML_file "Tools/Old_Datatype/old_primrec.ML"
   369 
   369 
   370 ML_file "Tools/BNF/bnf_fp_rec_sugar_util.ML"
   370 ML_file "Tools/BNF/bnf_fp_rec_sugar_util.ML"
   371 ML_file "Tools/BNF/bnf_lfp_rec_sugar.ML"
   371 ML_file "Tools/BNF/bnf_lfp_rec_sugar.ML"
   372 
   372 
   373 text\<open>Lambda-abstractions with pattern matching:\<close>
   373 text \<open>Lambda-abstractions with pattern matching:\<close>
   374 
   374 syntax (ASCII)
       
   375   "_lam_pats_syntax" :: "cases_syn \<Rightarrow> 'a \<Rightarrow> 'b"  ("(%_)" 10)
   375 syntax
   376 syntax
   376   "_lam_pats_syntax" :: "cases_syn => 'a => 'b"               ("(%_)" 10)
   377   "_lam_pats_syntax" :: "cases_syn \<Rightarrow> 'a \<Rightarrow> 'b"  ("(\<lambda>_)" 10)
   377 syntax (xsymbols)
       
   378   "_lam_pats_syntax" :: "cases_syn => 'a => 'b"               ("(\<lambda>_)" 10)
       
   379 
       
   380 parse_translation \<open>
   378 parse_translation \<open>
   381   let
   379   let
   382     fun fun_tr ctxt [cs] =
   380     fun fun_tr ctxt [cs] =
   383       let
   381       let
   384         val x = Syntax.free (fst (Name.variant "x" (Term.declare_term_frees cs Name.context)));
   382         val x = Syntax.free (fst (Name.variant "x" (Term.declare_term_frees cs Name.context)));