src/HOL/Main.thy
author kleing
Mon, 15 Oct 2001 21:04:32 +0200
changeset 11787 85b3735a51e1
parent 11533 0c0d2332e8f0
child 12024 b3661262541e
permissions -rw-r--r--
canonical 'cases'/'induct' rules for n-tuples (n=3..7) (really belongs to theory Product_Type, but doesn't work there yet)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10519
ade64af4c57c hide many names from Datatype_Universe.
nipkow
parents: 10386
diff changeset
     1
(*  Title:      HOL/Main.thy
ade64af4c57c hide many names from Datatype_Universe.
nipkow
parents: 10386
diff changeset
     2
    ID:         $Id$
ade64af4c57c hide many names from Datatype_Universe.
nipkow
parents: 10386
diff changeset
     3
    Author:     Tobias Nipkow
ade64af4c57c hide many names from Datatype_Universe.
nipkow
parents: 10386
diff changeset
     4
    Copyright   2000 TU Muenchen
9619
6125cc9efc18 fixed deps;
wenzelm
parents: 9447
diff changeset
     5
10519
ade64af4c57c hide many names from Datatype_Universe.
nipkow
parents: 10386
diff changeset
     6
Theory Main includes everything.
ade64af4c57c hide many names from Datatype_Universe.
nipkow
parents: 10386
diff changeset
     7
Note that theory PreList already includes most HOL theories.
ade64af4c57c hide many names from Datatype_Universe.
nipkow
parents: 10386
diff changeset
     8
*)
9619
6125cc9efc18 fixed deps;
wenzelm
parents: 9447
diff changeset
     9
11483
f4d10044a2cd Hilbert_Choice is needed only in Main itself
paulson
parents: 10519
diff changeset
    10
theory Main = Map + String + Hilbert_Choice:
9650
6f0b89f2a1f9 Main now new-style theory; added Main.ML for compatibility;
wenzelm
parents: 9619
diff changeset
    11
10261
bb2f1e859177 tuned declarations;
wenzelm
parents: 9876
diff changeset
    12
(*belongs to theory List*)
bb2f1e859177 tuned declarations;
wenzelm
parents: 9876
diff changeset
    13
declare lists_mono [mono]
bb2f1e859177 tuned declarations;
wenzelm
parents: 9876
diff changeset
    14
declare map_cong [recdef_cong]
10386
581a5a143994 provide case names for rev_induct, rev_cases;
wenzelm
parents: 10261
diff changeset
    15
lemmas rev_induct [case_names Nil snoc] = rev_induct
581a5a143994 provide case names for rev_induct, rev_cases;
wenzelm
parents: 10261
diff changeset
    16
  and rev_cases [case_names Nil snoc] = rev_exhaust
9768
a589b1d75b7b lemmas [mono] = lists_mono;
wenzelm
parents: 9650
diff changeset
    17
11533
0c0d2332e8f0 Added code generator setup.
berghofe
parents: 11483
diff changeset
    18
(** configuration of code generator **)
0c0d2332e8f0 Added code generator setup.
berghofe
parents: 11483
diff changeset
    19
0c0d2332e8f0 Added code generator setup.
berghofe
parents: 11483
diff changeset
    20
types_code
0c0d2332e8f0 Added code generator setup.
berghofe
parents: 11483
diff changeset
    21
  "bool"  ("bool")
0c0d2332e8f0 Added code generator setup.
berghofe
parents: 11483
diff changeset
    22
  "*"     ("prod")
0c0d2332e8f0 Added code generator setup.
berghofe
parents: 11483
diff changeset
    23
  "list"  ("list")
0c0d2332e8f0 Added code generator setup.
berghofe
parents: 11483
diff changeset
    24
0c0d2332e8f0 Added code generator setup.
berghofe
parents: 11483
diff changeset
    25
consts_code
0c0d2332e8f0 Added code generator setup.
berghofe
parents: 11483
diff changeset
    26
  "op ="    ("(_ =/ _)")
0c0d2332e8f0 Added code generator setup.
berghofe
parents: 11483
diff changeset
    27
0c0d2332e8f0 Added code generator setup.
berghofe
parents: 11483
diff changeset
    28
  "True"    ("true")
0c0d2332e8f0 Added code generator setup.
berghofe
parents: 11483
diff changeset
    29
  "False"   ("false")
0c0d2332e8f0 Added code generator setup.
berghofe
parents: 11483
diff changeset
    30
  "Not"     ("not")
0c0d2332e8f0 Added code generator setup.
berghofe
parents: 11483
diff changeset
    31
  "op |"    ("(_ orelse/ _)")
0c0d2332e8f0 Added code generator setup.
berghofe
parents: 11483
diff changeset
    32
  "op &"    ("(_ andalso/ _)")
0c0d2332e8f0 Added code generator setup.
berghofe
parents: 11483
diff changeset
    33
  "If"      ("(if _/ then _/ else _)")
0c0d2332e8f0 Added code generator setup.
berghofe
parents: 11483
diff changeset
    34
0c0d2332e8f0 Added code generator setup.
berghofe
parents: 11483
diff changeset
    35
  "Pair"    ("(_,/ _)")
0c0d2332e8f0 Added code generator setup.
berghofe
parents: 11483
diff changeset
    36
  "fst"     ("fst")
0c0d2332e8f0 Added code generator setup.
berghofe
parents: 11483
diff changeset
    37
  "snd"     ("snd")
0c0d2332e8f0 Added code generator setup.
berghofe
parents: 11483
diff changeset
    38
0c0d2332e8f0 Added code generator setup.
berghofe
parents: 11483
diff changeset
    39
  "Nil"     ("[]")
0c0d2332e8f0 Added code generator setup.
berghofe
parents: 11483
diff changeset
    40
  "Cons"    ("(_ ::/ _)")
0c0d2332e8f0 Added code generator setup.
berghofe
parents: 11483
diff changeset
    41
  
9650
6f0b89f2a1f9 Main now new-style theory; added Main.ML for compatibility;
wenzelm
parents: 9619
diff changeset
    42
end