src/HOL/Main.thy
author blanchet
Tue Sep 16 19:23:37 2014 +0200 (2014-09-16)
changeset 58352 37745650a3f4
parent 58154 47c3c7019b97
child 58353 c9f374b64d99
permissions -rw-r--r--
register 'prod' and 'sum' as datatypes, to allow N2M through them
wenzelm@12024
     1
header {* Main HOL *}
wenzelm@12024
     2
nipkow@15131
     3
theory Main
blanchet@58128
     4
imports Predicate_Compile Quickcheck_Narrowing Extraction Lifting_Sum Coinduction Nitpick
blanchet@58352
     5
  Basic_BNF_Least_Fixpoints BNF_Greatest_Fixpoint Old_Datatype
nipkow@15131
     6
begin
wenzelm@9650
     7
wenzelm@29304
     8
text {*
wenzelm@29304
     9
  Classical Higher-order Logic -- only ``Main'', excluding real and
wenzelm@29304
    10
  complex numbers etc.
wenzelm@29304
    11
*}
wenzelm@29304
    12
haftmann@27367
    13
text {* See further \cite{Nipkow-et-al:2002:tutorial} *}
haftmann@25964
    14
haftmann@51112
    15
no_notation
haftmann@51112
    16
  bot ("\<bottom>") and
haftmann@51112
    17
  top ("\<top>") and
haftmann@51112
    18
  inf (infixl "\<sqinter>" 70) and
haftmann@51112
    19
  sup (infixl "\<squnion>" 65) and
haftmann@51112
    20
  Inf ("\<Sqinter>_" [900] 900) and
blanchet@55057
    21
  Sup ("\<Squnion>_" [900] 900) and
blanchet@55065
    22
  ordLeq2 (infix "<=o" 50) and
blanchet@55065
    23
  ordLeq3 (infix "\<le>o" 50) and
blanchet@55065
    24
  ordLess2 (infix "<o" 50) and
blanchet@55065
    25
  ordIso2 (infix "=o" 50) and
blanchet@55078
    26
  card_of ("|_|") and
blanchet@55057
    27
  csum (infixr "+c" 65) and
blanchet@55057
    28
  cprod (infixr "*c" 80) and
blanchet@55086
    29
  cexp (infixr "^c" 90) and
wenzelm@57641
    30
  convol ("\<langle>(_,/ _)\<rangle>")
haftmann@51112
    31
blanchet@55087
    32
hide_const (open)
blanchet@58152
    33
  czero cinfinite cfinite csum cone ctwo Csum cprod cexp image2 image2p vimage2p Gr Grp collect
blanchet@58152
    34
  fsts snds setl setr convol pick_middlep fstOp sndOp csquare relImage relInvImage Succ Shift
blanchet@58152
    35
  shift proj
blanchet@55087
    36
haftmann@51112
    37
no_syntax (xsymbols)
haftmann@51112
    38
  "_INF1"     :: "pttrns \<Rightarrow> 'b \<Rightarrow> 'b"           ("(3\<Sqinter>_./ _)" [0, 10] 10)
haftmann@51112
    39
  "_INF"      :: "pttrn \<Rightarrow> 'a set \<Rightarrow> 'b \<Rightarrow> 'b"  ("(3\<Sqinter>_\<in>_./ _)" [0, 0, 10] 10)
haftmann@51112
    40
  "_SUP1"     :: "pttrns \<Rightarrow> 'b \<Rightarrow> 'b"           ("(3\<Squnion>_./ _)" [0, 10] 10)
haftmann@51112
    41
  "_SUP"      :: "pttrn \<Rightarrow> 'a set \<Rightarrow> 'b \<Rightarrow> 'b"  ("(3\<Squnion>_\<in>_./ _)" [0, 0, 10] 10)
haftmann@51112
    42
wenzelm@9650
    43
end