| author | wenzelm | 
| Fri, 26 Aug 2022 12:38:00 +0200 | |
| changeset 75983 | 34dd96a06c45 | 
| parent 74337 | 9c1ad2f04660 | 
| child 76224 | 64e8d4afcf10 | 
| permissions | -rw-r--r-- | 
| 65553 | 1 | section \<open>Main HOL\<close> | 
| 2 | ||
| 3 | text \<open> | |
| 4 | Classical Higher-order Logic -- only ``Main'', excluding real and | |
| 5 | complex numbers etc. | |
| 6 | \<close> | |
| 7 | ||
| 8 | theory Main | |
| 66817 | 9 | imports | 
| 10 | Predicate_Compile | |
| 70078 | 11 | Quickcheck_Narrowing | 
| 73691 
2f9877db82a1
reimplemented Mirabelle as Isabelle/ML presentation hook + Isabelle/Scala tool, but sledgehammer is still inactive;
 wenzelm parents: 
70336diff
changeset | 12 | Mirabelle | 
| 66817 | 13 | Extraction | 
| 14 | Nunchaku | |
| 69275 | 15 | BNF_Greatest_Fixpoint | 
| 16 | Filter | |
| 66817 | 17 | Conditionally_Complete_Lattices | 
| 18 | Binomial | |
| 19 | GCD | |
| 65553 | 20 | begin | 
| 21 | ||
| 74334 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 22 | subsection \<open>Namespace cleanup\<close> | 
| 69275 | 23 | |
| 24 | hide_const (open) | |
| 25 | czero cinfinite cfinite csum cone ctwo Csum cprod cexp image2 image2p vimage2p Gr Grp collect | |
| 26 | fsts snds setl setr convol pick_middlep fstOp sndOp csquare relImage relInvImage Succ Shift | |
| 27 | shift proj id_bnf | |
| 28 | ||
| 29 | hide_fact (open) id_bnf_def type_definition_id_bnf_UNIV | |
| 30 | ||
| 31 | ||
| 74334 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 32 | subsection \<open>Syntax cleanup\<close> | 
| 69275 | 33 | |
| 65814 | 34 | no_notation | 
| 35 | ordLeq2 (infix "<=o" 50) and | |
| 36 | ordLeq3 (infix "\<le>o" 50) and | |
| 37 | ordLess2 (infix "<o" 50) and | |
| 38 | ordIso2 (infix "=o" 50) and | |
| 39 |   card_of ("|_|") and
 | |
| 69275 | 40 | BNF_Cardinal_Arithmetic.csum (infixr "+c" 65) and | 
| 41 | BNF_Cardinal_Arithmetic.cprod (infixr "*c" 80) and | |
| 42 | BNF_Cardinal_Arithmetic.cexp (infixr "^c" 90) and | |
| 43 |   BNF_Def.convol ("\<langle>(_,/ _)\<rangle>")
 | |
| 65814 | 44 | |
| 74334 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 45 | bundle cardinal_syntax | 
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 46 | begin | 
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 47 | |
| 70078 | 48 | notation | 
| 49 | ordLeq2 (infix "<=o" 50) and | |
| 50 | ordLeq3 (infix "\<le>o" 50) and | |
| 51 | ordLess2 (infix "<o" 50) and | |
| 52 | ordIso2 (infix "=o" 50) and | |
| 53 |   card_of ("|_|") and
 | |
| 54 | BNF_Cardinal_Arithmetic.csum (infixr "+c" 65) and | |
| 55 | BNF_Cardinal_Arithmetic.cprod (infixr "*c" 80) and | |
| 56 | BNF_Cardinal_Arithmetic.cexp (infixr "^c" 90) | |
| 57 | ||
| 58 | alias cinfinite = BNF_Cardinal_Arithmetic.cinfinite | |
| 59 | alias czero = BNF_Cardinal_Arithmetic.czero | |
| 60 | alias cone = BNF_Cardinal_Arithmetic.cone | |
| 61 | alias ctwo = BNF_Cardinal_Arithmetic.ctwo | |
| 74334 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 62 | |
| 70078 | 63 | end | 
| 64 | ||
| 74334 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 65 | |
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 66 | subsection \<open>Lattice syntax\<close> | 
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 67 | |
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 68 | bundle lattice_syntax | 
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 69 | begin | 
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 70 | |
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 71 | notation | 
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 72 |   bot ("\<bottom>") and
 | 
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 73 |   top ("\<top>") and
 | 
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 74 | inf (infixl "\<sqinter>" 70) and | 
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 75 | sup (infixl "\<squnion>" 65) and | 
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 76 |   Inf  ("\<Sqinter> _" [900] 900) and
 | 
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 77 |   Sup  ("\<Squnion> _" [900] 900)
 | 
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 78 | |
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 79 | syntax | 
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 80 |   "_INF1"     :: "pttrns \<Rightarrow> 'b \<Rightarrow> 'b"           ("(3\<Sqinter>_./ _)" [0, 10] 10)
 | 
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 81 |   "_INF"      :: "pttrn \<Rightarrow> 'a set \<Rightarrow> 'b \<Rightarrow> 'b"  ("(3\<Sqinter>_\<in>_./ _)" [0, 0, 10] 10)
 | 
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 82 |   "_SUP1"     :: "pttrns \<Rightarrow> 'b \<Rightarrow> 'b"           ("(3\<Squnion>_./ _)" [0, 10] 10)
 | 
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 83 |   "_SUP"      :: "pttrn \<Rightarrow> 'a set \<Rightarrow> 'b \<Rightarrow> 'b"  ("(3\<Squnion>_\<in>_./ _)" [0, 0, 10] 10)
 | 
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 84 | |
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 85 | end | 
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 86 | |
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 87 | bundle no_lattice_syntax | 
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 88 | begin | 
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 89 | |
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 90 | no_notation | 
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 91 |   bot ("\<bottom>") and
 | 
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 92 |   top ("\<top>") and
 | 
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 93 | inf (infixl "\<sqinter>" 70) and | 
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 94 | sup (infixl "\<squnion>" 65) and | 
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 95 |   Inf  ("\<Sqinter> _" [900] 900) and
 | 
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 96 |   Sup  ("\<Squnion> _" [900] 900)
 | 
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 97 | |
| 65814 | 98 | no_syntax | 
| 99 |   "_INF1"     :: "pttrns \<Rightarrow> 'b \<Rightarrow> 'b"           ("(3\<Sqinter>_./ _)" [0, 10] 10)
 | |
| 100 |   "_INF"      :: "pttrn \<Rightarrow> 'a set \<Rightarrow> 'b \<Rightarrow> 'b"  ("(3\<Sqinter>_\<in>_./ _)" [0, 0, 10] 10)
 | |
| 101 |   "_SUP1"     :: "pttrns \<Rightarrow> 'b \<Rightarrow> 'b"           ("(3\<Squnion>_./ _)" [0, 10] 10)
 | |
| 102 |   "_SUP"      :: "pttrn \<Rightarrow> 'a set \<Rightarrow> 'b \<Rightarrow> 'b"  ("(3\<Squnion>_\<in>_./ _)" [0, 0, 10] 10)
 | |
| 103 | ||
| 65553 | 104 | end | 
| 74334 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 105 | |
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 106 | unbundle no_lattice_syntax | 
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 107 | |
| 
ead56ad40e15
bundle lattice_syntax / no_lattice_syntax supersedes theory HOL-Library.Lattice_Syntax;
 wenzelm parents: 
74102diff
changeset | 108 | end |