src/HOL/Main.thy
author paulson <lp15@cam.ac.uk>
Mon Feb 22 14:37:56 2016 +0000 (2016-02-22)
changeset 62379 340738057c8c
parent 61955 e96292f32c3c
child 62921 499a63c30d55
permissions -rw-r--r--
An assortment of useful lemmas about sums, norm, etc. Also: norm_conv_dist [symmetric] is now a simprule!
     1 section \<open>Main HOL\<close>
     2 
     3 theory Main
     4 imports Predicate_Compile Quickcheck_Narrowing Extraction Coinduction Nitpick BNF_Greatest_Fixpoint Filter
     5 begin
     6 
     7 text \<open>
     8   Classical Higher-order Logic -- only ``Main'', excluding real and
     9   complex numbers etc.
    10 \<close>
    11 
    12 text \<open>See further @{cite "Nipkow-et-al:2002:tutorial"}\<close>
    13 
    14 no_notation
    15   bot ("\<bottom>") and
    16   top ("\<top>") and
    17   inf (infixl "\<sqinter>" 70) and
    18   sup (infixl "\<squnion>" 65) and
    19   Inf ("\<Sqinter>_" [900] 900) and
    20   Sup ("\<Squnion>_" [900] 900) and
    21   ordLeq2 (infix "<=o" 50) and
    22   ordLeq3 (infix "\<le>o" 50) and
    23   ordLess2 (infix "<o" 50) and
    24   ordIso2 (infix "=o" 50) and
    25   card_of ("|_|") and
    26   csum (infixr "+c" 65) and
    27   cprod (infixr "*c" 80) and
    28   cexp (infixr "^c" 90) and
    29   convol ("\<langle>(_,/ _)\<rangle>")
    30 
    31 hide_const (open)
    32   czero cinfinite cfinite csum cone ctwo Csum cprod cexp image2 image2p vimage2p Gr Grp collect
    33   fsts snds setl setr convol pick_middlep fstOp sndOp csquare relImage relInvImage Succ Shift
    34   shift proj id_bnf
    35 
    36 hide_fact (open) id_bnf_def type_definition_id_bnf_UNIV
    37 
    38 no_syntax
    39   "_INF1"     :: "pttrns \<Rightarrow> 'b \<Rightarrow> 'b"           ("(3\<Sqinter>_./ _)" [0, 10] 10)
    40   "_INF"      :: "pttrn \<Rightarrow> 'a set \<Rightarrow> 'b \<Rightarrow> 'b"  ("(3\<Sqinter>_\<in>_./ _)" [0, 0, 10] 10)
    41   "_SUP1"     :: "pttrns \<Rightarrow> 'b \<Rightarrow> 'b"           ("(3\<Squnion>_./ _)" [0, 10] 10)
    42   "_SUP"      :: "pttrn \<Rightarrow> 'a set \<Rightarrow> 'b \<Rightarrow> 'b"  ("(3\<Squnion>_\<in>_./ _)" [0, 0, 10] 10)
    43 
    44 end