module Hermod.ReCon.LTL.Formula.Prec where

-- | Finite type of precedences used for formula pretty-printing.
data Prec = Universe | Implies | Or | And | Prefix | Eq | Atom deriving (Int -> Prec -> ShowS
[Prec] -> ShowS
Prec -> String
(Int -> Prec -> ShowS)
-> (Prec -> String) -> ([Prec] -> ShowS) -> Show Prec
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Prec -> ShowS
showsPrec :: Int -> Prec -> ShowS
$cshow :: Prec -> String
show :: Prec -> String
$cshowList :: [Prec] -> ShowS
showList :: [Prec] -> ShowS
Show, Prec -> Prec -> Bool
(Prec -> Prec -> Bool) -> (Prec -> Prec -> Bool) -> Eq Prec
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Prec -> Prec -> Bool
== :: Prec -> Prec -> Bool
$c/= :: Prec -> Prec -> Bool
/= :: Prec -> Prec -> Bool
Eq, Eq Prec
Eq Prec =>
(Prec -> Prec -> Ordering)
-> (Prec -> Prec -> Bool)
-> (Prec -> Prec -> Bool)
-> (Prec -> Prec -> Bool)
-> (Prec -> Prec -> Bool)
-> (Prec -> Prec -> Prec)
-> (Prec -> Prec -> Prec)
-> Ord Prec
Prec -> Prec -> Bool
Prec -> Prec -> Ordering
Prec -> Prec -> Prec
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: Prec -> Prec -> Ordering
compare :: Prec -> Prec -> Ordering
$c< :: Prec -> Prec -> Bool
< :: Prec -> Prec -> Bool
$c<= :: Prec -> Prec -> Bool
<= :: Prec -> Prec -> Bool
$c> :: Prec -> Prec -> Bool
> :: Prec -> Prec -> Bool
$c>= :: Prec -> Prec -> Bool
>= :: Prec -> Prec -> Bool
$cmax :: Prec -> Prec -> Prec
max :: Prec -> Prec -> Prec
$cmin :: Prec -> Prec -> Prec
min :: Prec -> Prec -> Prec
Ord)