src/HOL/Main.thy
author blanchet
Wed Sep 03 00:06:24 2014 +0200 (2014-09-03)
changeset 58152 6fe60a9a5bad
parent 58128 43a1ba26a8cb
child 58154 47c3c7019b97
permissions -rw-r--r--
use 'datatype_new' in 'Main'
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@58128
     5
  BNF_Greatest_Fixpoint
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