src/HOL/List.thy
changeset 48891 c0eafbd55de3
parent 48828 441a4eed7823
child 49739 13aa6d8268ec
equal deleted inserted replaced
48890:d72ca5742f80 48891:c0eafbd55de3
     4 
     4 
     5 header {* The datatype of finite lists *}
     5 header {* The datatype of finite lists *}
     6 
     6 
     7 theory List
     7 theory List
     8 imports Plain Presburger Code_Numeral Quotient ATP
     8 imports Plain Presburger Code_Numeral Quotient ATP
     9 uses
       
    10   ("Tools/list_code.ML")
       
    11   ("Tools/list_to_set_comprehension.ML")
       
    12 begin
     9 begin
    13 
    10 
    14 datatype 'a list =
    11 datatype 'a list =
    15     Nil    ("[]")
    12     Nil    ("[]")
    16   | Cons 'a  "'a list"    (infixr "#" 65)
    13   | Cons 'a  "'a list"    (infixr "#" 65)
   483 (*
   480 (*
   484 term "[(x,y). x\<leftarrow>xs, let xx = x+x, y\<leftarrow>ys, y \<noteq> xx]"
   481 term "[(x,y). x\<leftarrow>xs, let xx = x+x, y\<leftarrow>ys, y \<noteq> xx]"
   485 *)
   482 *)
   486 
   483 
   487 
   484 
   488 use "Tools/list_to_set_comprehension.ML"
   485 ML_file "Tools/list_to_set_comprehension.ML"
   489 
   486 
   490 simproc_setup list_to_set_comprehension ("set xs") = {* K List_to_Set_Comprehension.simproc *}
   487 simproc_setup list_to_set_comprehension ("set xs") = {* K List_to_Set_Comprehension.simproc *}
   491 
   488 
   492 code_datatype set coset
   489 code_datatype set coset
   493 
   490 
  5520 hide_const (open) member null maps map_filter all_interval_nat all_interval_int
  5517 hide_const (open) member null maps map_filter all_interval_nat all_interval_int
  5521 
  5518 
  5522 
  5519 
  5523 subsubsection {* Pretty lists *}
  5520 subsubsection {* Pretty lists *}
  5524 
  5521 
  5525 use "Tools/list_code.ML"
  5522 ML_file "Tools/list_code.ML"
  5526 
  5523 
  5527 code_type list
  5524 code_type list
  5528   (SML "_ list")
  5525   (SML "_ list")
  5529   (OCaml "_ list")
  5526   (OCaml "_ list")
  5530   (Haskell "![(_)]")
  5527   (Haskell "![(_)]")