equational-reasoning-0.3.0.0: Proof assistant for Haskell using DataKinds & PolyKinds

Safe HaskellSafe
LanguageHaskell98

Proof.Propositional

Description

Provides type synonyms for logical connectives.

Documentation

type (/\) a b = (a, b) infixr 3 Source #

type (\/) a b = Either a b infixr 2 Source #

type Not a = a -> Void Source #

exfalso :: a -> Not a -> b Source #

orIntroL :: a -> a \/ b Source #

orIntroR :: b -> a \/ b Source #

orElim :: (a \/ b) -> (a -> c) -> (b -> c) -> c Source #

andIntro :: a -> b -> a /\ b Source #

andElimL :: (a /\ b) -> a Source #

andElimR :: (a /\ b) -> b Source #

orAssocL :: (a \/ (b \/ c)) -> (a \/ b) \/ c Source #

orAssocR :: ((a \/ b) \/ c) -> a \/ (b \/ c) Source #

andAssocL :: (a /\ (b /\ c)) -> (a /\ b) /\ c Source #

andAssocR :: ((a /\ b) /\ c) -> a /\ (b /\ c) Source #