src/HOL/Main.thy
author wenzelm
Fri, 23 Nov 2018 16:43:11 +0100
changeset 69334 6b49700da068
parent 69275 9bbd5497befd
child 69745 aec42cee2521
permissions -rw-r--r--
clarified font_domain: strict excludes e.g. space character;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
65553
006a274cdbc2 added missing file (amending f533820e7248);
wenzelm
parents:
diff changeset
     1
section \<open>Main HOL\<close>
006a274cdbc2 added missing file (amending f533820e7248);
wenzelm
parents:
diff changeset
     2
006a274cdbc2 added missing file (amending f533820e7248);
wenzelm
parents:
diff changeset
     3
text \<open>
006a274cdbc2 added missing file (amending f533820e7248);
wenzelm
parents:
diff changeset
     4
  Classical Higher-order Logic -- only ``Main'', excluding real and
006a274cdbc2 added missing file (amending f533820e7248);
wenzelm
parents:
diff changeset
     5
  complex numbers etc.
006a274cdbc2 added missing file (amending f533820e7248);
wenzelm
parents:
diff changeset
     6
\<close>
006a274cdbc2 added missing file (amending f533820e7248);
wenzelm
parents:
diff changeset
     7
006a274cdbc2 added missing file (amending f533820e7248);
wenzelm
parents:
diff changeset
     8
theory Main
66817
0b12755ccbb2 euclidean rings need no normalization
haftmann
parents: 66614
diff changeset
     9
  imports
0b12755ccbb2 euclidean rings need no normalization
haftmann
parents: 66614
diff changeset
    10
    Predicate_Compile
0b12755ccbb2 euclidean rings need no normalization
haftmann
parents: 66614
diff changeset
    11
    Quickcheck_Narrowing 
0b12755ccbb2 euclidean rings need no normalization
haftmann
parents: 66614
diff changeset
    12
    Extraction
0b12755ccbb2 euclidean rings need no normalization
haftmann
parents: 66614
diff changeset
    13
    Nunchaku
69275
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    14
    BNF_Greatest_Fixpoint
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    15
    Filter
66817
0b12755ccbb2 euclidean rings need no normalization
haftmann
parents: 66614
diff changeset
    16
    Conditionally_Complete_Lattices
0b12755ccbb2 euclidean rings need no normalization
haftmann
parents: 66614
diff changeset
    17
    Binomial
0b12755ccbb2 euclidean rings need no normalization
haftmann
parents: 66614
diff changeset
    18
    GCD
65553
006a274cdbc2 added missing file (amending f533820e7248);
wenzelm
parents:
diff changeset
    19
begin
006a274cdbc2 added missing file (amending f533820e7248);
wenzelm
parents:
diff changeset
    20
69275
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    21
text \<open>Legacy\<close>
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    22
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    23
context Inf
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    24
begin
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    25
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    26
abbreviation (input) INFIMUM :: "'b set \<Rightarrow> ('b \<Rightarrow> 'a) \<Rightarrow> 'a"
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    27
  where "INFIMUM A f \<equiv> \<Sqinter>(f ` A)"
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    28
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    29
end
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    30
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    31
context Sup
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    32
begin
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    33
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    34
abbreviation (input) SUPREMUM :: "'b set \<Rightarrow> ('b \<Rightarrow> 'a) \<Rightarrow> 'a"
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    35
  where "SUPREMUM A f \<equiv> \<Squnion>(f ` A)"
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    36
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    37
end
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    38
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    39
abbreviation (input) INTER :: "'a set \<Rightarrow> ('a \<Rightarrow> 'b set) \<Rightarrow> 'b set"
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    40
  where "INTER \<equiv> INFIMUM"
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    41
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    42
abbreviation (input) UNION :: "'a set \<Rightarrow> ('a \<Rightarrow> 'b set) \<Rightarrow> 'b set"
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    43
  where "UNION \<equiv> SUPREMUM"
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    44
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    45
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    46
text \<open>Namespace cleanup\<close>
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    47
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    48
hide_const (open)
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    49
  czero cinfinite cfinite csum cone ctwo Csum cprod cexp image2 image2p vimage2p Gr Grp collect
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    50
  fsts snds setl setr convol pick_middlep fstOp sndOp csquare relImage relInvImage Succ Shift
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    51
  shift proj id_bnf
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    52
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    53
hide_fact (open) id_bnf_def type_definition_id_bnf_UNIV
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    54
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    55
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    56
text \<open>Syntax cleanup\<close>
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    57
65814
3039d4aa7143 obsolete (see also bdd17b18e103, f533820e7248);
wenzelm
parents: 65813
diff changeset
    58
no_notation
3039d4aa7143 obsolete (see also bdd17b18e103, f533820e7248);
wenzelm
parents: 65813
diff changeset
    59
  bot ("\<bottom>") and
3039d4aa7143 obsolete (see also bdd17b18e103, f533820e7248);
wenzelm
parents: 65813
diff changeset
    60
  top ("\<top>") and
3039d4aa7143 obsolete (see also bdd17b18e103, f533820e7248);
wenzelm
parents: 65813
diff changeset
    61
  inf (infixl "\<sqinter>" 70) and
3039d4aa7143 obsolete (see also bdd17b18e103, f533820e7248);
wenzelm
parents: 65813
diff changeset
    62
  sup (infixl "\<squnion>" 65) and
68980
5717fbc55521 added spaces because otherwise nonatomic arguments look awful: BIGf x -> BIG f x
nipkow
parents: 67385
diff changeset
    63
  Inf ("\<Sqinter> _" [900] 900) and
5717fbc55521 added spaces because otherwise nonatomic arguments look awful: BIGf x -> BIG f x
nipkow
parents: 67385
diff changeset
    64
  Sup ("\<Squnion> _" [900] 900) and
65814
3039d4aa7143 obsolete (see also bdd17b18e103, f533820e7248);
wenzelm
parents: 65813
diff changeset
    65
  ordLeq2 (infix "<=o" 50) and
3039d4aa7143 obsolete (see also bdd17b18e103, f533820e7248);
wenzelm
parents: 65813
diff changeset
    66
  ordLeq3 (infix "\<le>o" 50) and
3039d4aa7143 obsolete (see also bdd17b18e103, f533820e7248);
wenzelm
parents: 65813
diff changeset
    67
  ordLess2 (infix "<o" 50) and
3039d4aa7143 obsolete (see also bdd17b18e103, f533820e7248);
wenzelm
parents: 65813
diff changeset
    68
  ordIso2 (infix "=o" 50) and
3039d4aa7143 obsolete (see also bdd17b18e103, f533820e7248);
wenzelm
parents: 65813
diff changeset
    69
  card_of ("|_|") and
69275
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    70
  BNF_Cardinal_Arithmetic.csum (infixr "+c" 65) and
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    71
  BNF_Cardinal_Arithmetic.cprod (infixr "*c" 80) and
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    72
  BNF_Cardinal_Arithmetic.cexp (infixr "^c" 90) and
9bbd5497befd clarified status of legacy input abbreviations
haftmann
parents: 68980
diff changeset
    73
  BNF_Def.convol ("\<langle>(_,/ _)\<rangle>")
65814
3039d4aa7143 obsolete (see also bdd17b18e103, f533820e7248);
wenzelm
parents: 65813
diff changeset
    74
3039d4aa7143 obsolete (see also bdd17b18e103, f533820e7248);
wenzelm
parents: 65813
diff changeset
    75
no_syntax
3039d4aa7143 obsolete (see also bdd17b18e103, f533820e7248);
wenzelm
parents: 65813
diff changeset
    76
  "_INF1"     :: "pttrns \<Rightarrow> 'b \<Rightarrow> 'b"           ("(3\<Sqinter>_./ _)" [0, 10] 10)
3039d4aa7143 obsolete (see also bdd17b18e103, f533820e7248);
wenzelm
parents: 65813
diff changeset
    77
  "_INF"      :: "pttrn \<Rightarrow> 'a set \<Rightarrow> 'b \<Rightarrow> 'b"  ("(3\<Sqinter>_\<in>_./ _)" [0, 0, 10] 10)
3039d4aa7143 obsolete (see also bdd17b18e103, f533820e7248);
wenzelm
parents: 65813
diff changeset
    78
  "_SUP1"     :: "pttrns \<Rightarrow> 'b \<Rightarrow> 'b"           ("(3\<Squnion>_./ _)" [0, 10] 10)
3039d4aa7143 obsolete (see also bdd17b18e103, f533820e7248);
wenzelm
parents: 65813
diff changeset
    79
  "_SUP"      :: "pttrn \<Rightarrow> 'a set \<Rightarrow> 'b \<Rightarrow> 'b"  ("(3\<Squnion>_\<in>_./ _)" [0, 0, 10] 10)
3039d4aa7143 obsolete (see also bdd17b18e103, f533820e7248);
wenzelm
parents: 65813
diff changeset
    80
65553
006a274cdbc2 added missing file (amending f533820e7248);
wenzelm
parents:
diff changeset
    81
end