Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data BioFormula a
- = BioAtom a
- | BioInter (BioFormula a) (BioFormula a)
- normalize :: Ord a => BioFormula a -> NonEmpty a
- ppBioFormula :: (a -> String) -> BioFormula a -> String
- newtype Axiom a = Axiom {}
- axForget :: LAxiom a l -> Axiom a
- axiom :: NonEmpty a -> ReactionList a -> NonEmpty a -> Axiom a
- axiom' :: BFormula a () -> ReactionList a -> BFormula a () -> Axiom a
- data Formula a = Formula (LFormula k a ())
- ppFormula :: (a -> String) -> Formula a -> String
- atom :: a -> Formula a
- lToS :: LFormula k a l -> Formula a
- conj :: Formula a -> Formula a -> Formula a
- impl :: Formula a -> ElemBase a -> ReactionList a -> Formula a -> Formula a
- data Sequent a = SQ {}
- nuLabel :: (Enum l, MonadState l m) => m l
- neutralize :: (MonadState l m, Enum l, Ord a, Ord l) => Sequent a -> m (GoalNSequent a l)
- maybeNeutral :: Opaque a l -> Either (Neutral a l) [Opaque a l]
- neutralizeOs :: (Ord a, Ord l) => [Opaque a l] -> [Neutral a l]
- neutralizeFormula :: (MonadState l m, Enum l, Ord a, Ord l) => Formula a -> m [Neutral a l]
Documentation
data BioFormula a Source #
Type of biochemical (non-logical) formulas, which constitute the logical atoms of logical formulas of Zsyntax. It is parameterized over the type of biochemical atoms.
BioAtom a | |
BioInter (BioFormula a) (BioFormula a) |
Instances
ppBioFormula :: (a -> String) -> BioFormula a -> String Source #
Pretty-prints biochemical formulas, given a way to pretty print its atoms.
>>> ppBioFormula id (BioAtom "foo" <> BioAtom "bar" <> BioAtom "baz") "((foo ⊙ bar) ⊙ baz)"
Type of logical axioms of Zsyntax.
axiom :: NonEmpty a -> ReactionList a -> NonEmpty a -> Axiom a Source #
Constructs an axiom from non-empty lists of logical atoms as premise and conclusion.
Type of logical formulas of Zsyntax, parameterized by the type of atoms
(which are typically BioFormula
s).
ppFormula :: (a -> String) -> Formula a -> String Source #
Pretty-prints Zsyntax formulas, given a way to pretty-print its atoms.
impl :: Formula a -> ElemBase a -> ReactionList a -> Formula a -> Formula a Source #
Constructs a Zsyntax conditional (aka linear implication) between two formulas, whose associated biochemical reaction is described by a given elementary base and reaction list.
Type of ZBS sequents.
nuLabel :: (Enum l, MonadState l m) => m l Source #
neutralize :: (MonadState l m, Enum l, Ord a, Ord l) => Sequent a -> m (GoalNSequent a l) Source #
Turns a sequent into a labelled goal sequent.
neutralizeFormula :: (MonadState l m, Enum l, Ord a, Ord l) => Formula a -> m [Neutral a l] Source #