Theory Main

theory Main
imports Predicate_Compile Quickcheck_Narrowing Extraction Nunchaku BNF_Greatest_Fixpoint Filter Conditionally_Complete_Lattices Binomial
```section ‹Main HOL›

text ‹
Classical Higher-order Logic -- only ``Main'', excluding real and
complex numbers etc.
›

theory Main
imports
Predicate_Compile
Quickcheck_Narrowing
Extraction
Nunchaku
BNF_Greatest_Fixpoint Filter
Conditionally_Complete_Lattices
Binomial
GCD
begin

no_notation
bot ("⊥") and
top ("⊤") and
inf (infixl "⊓" 70) and
sup (infixl "⊔" 65) and
Inf ("⨅_" [900] 900) and
Sup ("⨆_" [900] 900) and
ordLeq2 (infix "<=o" 50) and
ordLeq3 (infix "≤o" 50) and
ordLess2 (infix "<o" 50) and
ordIso2 (infix "=o" 50) and
card_of ("|_|") and
csum (infixr "+c" 65) and
cprod (infixr "*c" 80) and
cexp (infixr "^c" 90) and
convol ("⟨(_,/ _)⟩")

hide_const (open)
czero cinfinite cfinite csum cone ctwo Csum cprod cexp image2 image2p vimage2p Gr Grp collect
fsts snds setl setr convol pick_middlep fstOp sndOp csquare relImage relInvImage Succ Shift
shift proj id_bnf

hide_fact (open) id_bnf_def type_definition_id_bnf_UNIV

no_syntax
"_INF1"     :: "pttrns ⇒ 'b ⇒ 'b"           ("(3⨅_./ _)" [0, 10] 10)
"_INF"      :: "pttrn ⇒ 'a set ⇒ 'b ⇒ 'b"  ("(3⨅_∈_./ _)" [0, 0, 10] 10)
"_SUP1"     :: "pttrns ⇒ 'b ⇒ 'b"           ("(3⨆_./ _)" [0, 10] 10)
"_SUP"      :: "pttrn ⇒ 'a set ⇒ 'b ⇒ 'b"  ("(3⨆_∈_./ _)" [0, 0, 10] 10)

end
```