dumb-cas-0.1.1.0: A computer “algebra” system that knows nothing about algebra, at the core.

Copyright(c) Justus Sagemüller 2017
LicenseGPL v3
Maintainer(@) jsagemue $ uni-koeln.de
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

CAS.Dumb

Contents

Description

 

Synopsis

Symbolic manipulation

(&~:) :: (Eq s⁰, Eq s¹, Eq s²) => CAS s² s¹ s⁰ -> Eqspattern s² s¹ s⁰ -> CAS s² s¹ s⁰ infixl 1 Source #

expr &~: pat :=: rep replaces every occurence of pat within expr with rep.

For example, 𝑎·𝑏𝑐·𝑑 &~: · :=: ㄘ·ㄅ yields 𝑏·𝑎 − 𝑑·𝑐.

(&~?) :: (Eq s⁰, Eq s¹, Eq s²) => CAS s² s¹ s⁰ -> Eqspattern s² s¹ s⁰ -> [CAS s² s¹ s⁰] infixl 1 Source #

expr &~? pat :=: rep gives every possible way pat can be replaced exactly once within expr.

For example, 𝑎·𝑏𝑐·𝑑 &~? · :=: ㄘ·ㄅ yields [𝑏·𝑎 − 𝑐·𝑑, 𝑎·𝑏 − 𝑑·𝑐].

(&~!) :: (Eq s⁰, Eq s¹, Eq s², Show (CAS s² s¹ s⁰), Show (CAS' GapId s² s¹ s⁰)) => CAS s² s¹ s⁰ -> Eqspattern s² s¹ s⁰ -> CAS s² s¹ s⁰ infixl 1 Source #

expr &~! pat :=: rep replaces pat exactly once in expr. If this is not possible, an error is raised. If multiple occurences match, the leftmost is preferred.

(&~~!) :: (Eq l, Eq (Encapsulation l), SymbolClass σ, SCConstraint σ l, Show (AlgebraExpr σ l), Show (AlgebraPattern σ l)) => AlgebraExpr σ l -> [AlgebraPattern σ l] -> AlgebraExpr σ l infixl 1 Source #

Apply a sequence of pattern-transformations and yield the result concatenated to the original via the corresponding chain-operator. Because only the rightmost expression in a chain is processed, this can be iterated, giving a chain of intermediate results.

If one of the patterns does not match, this manipulator will raise an error.

(&~~:) :: (Eq l, Eq (Encapsulation l), SymbolClass σ, SCConstraint σ l, Show (AlgebraExpr σ l), Show (AlgebraPattern σ l)) => AlgebraExpr σ l -> [AlgebraPattern σ l] -> AlgebraExpr σ l infixl 1 Source #

Apply a sequence of pattern-transformations, each in every spot possible, and yield the result concatenated to the original via the corresponding chain-operator. Because only the rightmost expression in a chain is processed, this can be iterated, giving a chain of intermediate results.

continueExpr Source #

Arguments

:: (Eq l, Monoid l) 
=> (AlgebraExpr' γ σ l -> AlgebraExpr' γ σ l -> AlgebraExpr' γ σ l)

Combinator to use for chaining the new expression to the old ones

-> (AlgebraExpr' γ σ l -> AlgebraExpr' γ σ l)

Transformation to apply to the rightmost expression in the previous chain

-> AlgebraExpr' γ σ l -> AlgebraExpr' γ σ l

Transformation which appends the result.

Constructing equality axioms

data Equality' γ s² s¹ s⁰ Source #

Constructors

(:=:) !(CAS' γ s² s¹ s⁰) !(CAS' γ s² s¹ s⁰) infixr 4 

Variable-symbols

(%$>) :: forall σ c c' γ s² s¹. (SymbolClass σ, SCConstraint σ c) => (c -> c') -> CAS' γ s² s¹ (SymbolD σ c) -> CAS' γ s² s¹ (SymbolD σ c') infixl 4 Source #

Transform the symbols of an expression, in their underlying representation.

(map succ%$> 𝑎+𝑝) * 𝑥  ≡  (𝑏+𝑞) * 𝑥

Types

type CAS = CAS' Void Source #

data CAS' γ s² s¹ s⁰ Source #

Instances

UnicodeSymbols c => Show (Pattern c) 

Methods

showsPrec :: Int -> Pattern c -> ShowS

show :: Pattern c -> String

showList :: [Pattern c] -> ShowS

UnicodeSymbols c => Show (Expression c) 

Methods

showsPrec :: Int -> Expression c -> ShowS

show :: Expression c -> String

showList :: [Expression c] -> ShowS

(SymbolClass σ, SCConstraint σ String) => Floating (AlgebraExpr' γ σ String) 

Methods

pi :: AlgebraExpr' γ σ String

exp :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

log :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

sqrt :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

(**) :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

logBase :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

sin :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

cos :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

tan :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

asin :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

acos :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

atan :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

sinh :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

cosh :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

tanh :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

asinh :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

acosh :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

atanh :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

log1p :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

expm1 :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

log1pexp :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

log1mexp :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

(SymbolClass σ, SCConstraint σ String) => Fractional (AlgebraExpr' γ σ String) 

Methods

(/) :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

recip :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

fromRational :: Rational -> AlgebraExpr' γ σ String

Functor (CAS' γ s² s¹) Source # 

Methods

fmap :: (a -> b) -> CAS' γ s² s¹ a -> CAS' γ s² s¹ b

(<$) :: a -> CAS' γ s² s¹ b -> CAS' γ s² s¹ a

(SymbolClass σ, SCConstraint σ String) => Num (AlgebraExpr' γ σ String) 

Methods

(+) :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

(-) :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

(*) :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

negate :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

abs :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

signum :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

fromInteger :: Integer -> AlgebraExpr' γ σ String

ASCIISymbols c => Show (CAS (Infix c) (Encapsulation c) (Symbol c)) 

Methods

showsPrec :: Int -> CAS (Infix c) (Encapsulation c) (Symbol c) -> ShowS

show :: CAS (Infix c) (Encapsulation c) (Symbol c) -> String

showList :: [CAS (Infix c) (Encapsulation c) (Symbol c)] -> ShowS

(Eq γ, Eq s², Eq s¹, Eq s⁰) => Eq (CAS' γ s² s¹ s⁰) Source # 

Methods

(==) :: CAS' γ s² s¹ s⁰ -> CAS' γ s² s¹ s⁰ -> Bool

(/=) :: CAS' γ s² s¹ s⁰ -> CAS' γ s² s¹ s⁰ -> Bool

(ASCIISymbols c, Monoid c) => Show (CAS' GapId (Infix c) (Encapsulation c) (Symbol c)) 

Methods

showsPrec :: Int -> CAS' GapId (Infix c) (Encapsulation c) (Symbol c) -> ShowS

show :: CAS' GapId (Infix c) (Encapsulation c) (Symbol c) -> String

showList :: [CAS' GapId (Infix c) (Encapsulation c) (Symbol c)] -> ShowS

Generic (CAS' γ s² s¹ s⁰) Source # 

Associated Types

type Rep (CAS' γ s² s¹ s⁰) :: * -> *

Methods

from :: CAS' γ s² s¹ s⁰ -> Rep (CAS' γ s² s¹ s⁰) x

to :: Rep (CAS' γ s² s¹ s⁰) x -> CAS' γ s² s¹ s⁰

(Hashable γ, Hashable s⁰, Hashable s¹, Hashable s²) => Hashable (CAS' γ s² s¹ s⁰) Source # 

Methods

hashWithSalt :: Int -> CAS' γ s² s¹ s⁰ -> Int #

hash :: CAS' γ s² s¹ s⁰ -> Int #

type Rep (CAS' γ s² s¹ s⁰) Source # 
type Rep (CAS' γ s² s¹ s⁰) = D1 * (MetaData "CAS'" "CAS.Dumb.Tree" "dumb-cas-0.1.1.0-LHss2KIcRvd1rIPLrAo0j8" False) ((:+:) * ((:+:) * (C1 * (MetaCons "Symbol" PrefixI False) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * s⁰))) (C1 * (MetaCons "Function" PrefixI False) ((:*:) * (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * s¹)) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (CAS' γ s² s¹ s⁰)))))) ((:+:) * (C1 * (MetaCons "Operator" PrefixI False) ((:*:) * (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * s²)) ((:*:) * (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (CAS' γ s² s¹ s⁰))) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (CAS' γ s² s¹ s⁰)))))) ((:+:) * (C1 * (MetaCons "OperatorChain" PrefixI False) ((:*:) * (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * (CAS' γ s² s¹ s⁰))) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [(s², CAS' γ s² s¹ s⁰)])))) (C1 * (MetaCons "Gap" PrefixI False) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * γ))))))

data SymbolD σ c Source #

Constructors

NatSymbol !Integer 
PrimitiveSymbol Char 
StringSymbol c 

Instances

UnicodeSymbols c => Show (Pattern c) 

Methods

showsPrec :: Int -> Pattern c -> ShowS

show :: Pattern c -> String

showList :: [Pattern c] -> ShowS

UnicodeSymbols c => Show (Expression c) 

Methods

showsPrec :: Int -> Expression c -> ShowS

show :: Expression c -> String

showList :: [Expression c] -> ShowS

(SymbolClass σ, SCConstraint σ c, Eq c) => Eq (SymbolD σ c) Source # 

Methods

(==) :: SymbolD σ c -> SymbolD σ c -> Bool

(/=) :: SymbolD σ c -> SymbolD σ c -> Bool

(SymbolClass σ, SCConstraint σ String) => Floating (AlgebraExpr' γ σ String) Source # 

Methods

pi :: AlgebraExpr' γ σ String

exp :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

log :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

sqrt :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

(**) :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

logBase :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

sin :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

cos :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

tan :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

asin :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

acos :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

atan :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

sinh :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

cosh :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

tanh :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

asinh :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

acosh :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

atanh :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

log1p :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

expm1 :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

log1pexp :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

log1mexp :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

(SymbolClass σ, SCConstraint σ String) => Fractional (AlgebraExpr' γ σ String) Source # 

Methods

(/) :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

recip :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

fromRational :: Rational -> AlgebraExpr' γ σ String

(SymbolClass σ, SCConstraint σ String) => Num (AlgebraExpr' γ σ String) Source # 

Methods

(+) :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

(-) :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

(*) :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

negate :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

abs :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

signum :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

fromInteger :: Integer -> AlgebraExpr' γ σ String

ASCIISymbols c => Show (CAS (Infix c) (Encapsulation c) (Symbol c)) 

Methods

showsPrec :: Int -> CAS (Infix c) (Encapsulation c) (Symbol c) -> ShowS

show :: CAS (Infix c) (Encapsulation c) (Symbol c) -> String

showList :: [CAS (Infix c) (Encapsulation c) (Symbol c)] -> ShowS

(ASCIISymbols c, Monoid c) => Show (CAS' GapId (Infix c) (Encapsulation c) (Symbol c)) 

Methods

showsPrec :: Int -> CAS' GapId (Infix c) (Encapsulation c) (Symbol c) -> ShowS

show :: CAS' GapId (Infix c) (Encapsulation c) (Symbol c) -> String

showList :: [CAS' GapId (Infix c) (Encapsulation c) (Symbol c)] -> ShowS

data Infix s Source #

Instances

Eq s => Eq (Infix s) Source # 

Methods

(==) :: Infix s -> Infix s -> Bool

(/=) :: Infix s -> Infix s -> Bool

UnicodeSymbols c => Show (Pattern c) 

Methods

showsPrec :: Int -> Pattern c -> ShowS

show :: Pattern c -> String

showList :: [Pattern c] -> ShowS

UnicodeSymbols c => Show (Expression c) 

Methods

showsPrec :: Int -> Expression c -> ShowS

show :: Expression c -> String

showList :: [Expression c] -> ShowS

(SymbolClass σ, SCConstraint σ String) => Floating (AlgebraExpr' γ σ String) Source # 

Methods

pi :: AlgebraExpr' γ σ String

exp :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

log :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

sqrt :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

(**) :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

logBase :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

sin :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

cos :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

tan :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

asin :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

acos :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

atan :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

sinh :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

cosh :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

tanh :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

asinh :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

acosh :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

atanh :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

log1p :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

expm1 :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

log1pexp :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

log1mexp :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

(SymbolClass σ, SCConstraint σ String) => Fractional (AlgebraExpr' γ σ String) Source # 

Methods

(/) :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

recip :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

fromRational :: Rational -> AlgebraExpr' γ σ String

(SymbolClass σ, SCConstraint σ String) => Num (AlgebraExpr' γ σ String) Source # 

Methods

(+) :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

(-) :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

(*) :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

negate :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

abs :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

signum :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

fromInteger :: Integer -> AlgebraExpr' γ σ String

ASCIISymbols c => Show (CAS (Infix c) (Encapsulation c) (Symbol c)) 

Methods

showsPrec :: Int -> CAS (Infix c) (Encapsulation c) (Symbol c) -> ShowS

show :: CAS (Infix c) (Encapsulation c) (Symbol c) -> String

showList :: [CAS (Infix c) (Encapsulation c) (Symbol c)] -> ShowS

(ASCIISymbols c, Monoid c) => Show (CAS' GapId (Infix c) (Encapsulation c) (Symbol c)) 

Methods

showsPrec :: Int -> CAS' GapId (Infix c) (Encapsulation c) (Symbol c) -> ShowS

show :: CAS' GapId (Infix c) (Encapsulation c) (Symbol c) -> String

showList :: [CAS' GapId (Infix c) (Encapsulation c) (Symbol c)] -> ShowS

data Encapsulation s Source #

Instances

Eq (Encapsulation String) Source # 

Methods

(==) :: Encapsulation String -> Encapsulation String -> Bool

(/=) :: Encapsulation String -> Encapsulation String -> Bool

UnicodeSymbols c => Show (Pattern c) 

Methods

showsPrec :: Int -> Pattern c -> ShowS

show :: Pattern c -> String

showList :: [Pattern c] -> ShowS

UnicodeSymbols c => Show (Expression c) 

Methods

showsPrec :: Int -> Expression c -> ShowS

show :: Expression c -> String

showList :: [Expression c] -> ShowS

(SymbolClass σ, SCConstraint σ String) => Floating (AlgebraExpr' γ σ String) Source # 

Methods

pi :: AlgebraExpr' γ σ String

exp :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

log :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

sqrt :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

(**) :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

logBase :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

sin :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

cos :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

tan :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

asin :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

acos :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

atan :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

sinh :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

cosh :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

tanh :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

asinh :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

acosh :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

atanh :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

log1p :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

expm1 :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

log1pexp :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

log1mexp :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

(SymbolClass σ, SCConstraint σ String) => Fractional (AlgebraExpr' γ σ String) Source # 

Methods

(/) :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

recip :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

fromRational :: Rational -> AlgebraExpr' γ σ String

(SymbolClass σ, SCConstraint σ String) => Num (AlgebraExpr' γ σ String) Source # 

Methods

(+) :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

(-) :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

(*) :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

negate :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

abs :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

signum :: AlgebraExpr' γ σ String -> AlgebraExpr' γ σ String

fromInteger :: Integer -> AlgebraExpr' γ σ String

ASCIISymbols c => Show (CAS (Infix c) (Encapsulation c) (Symbol c)) 

Methods

showsPrec :: Int -> CAS (Infix c) (Encapsulation c) (Symbol c) -> ShowS

show :: CAS (Infix c) (Encapsulation c) (Symbol c) -> String

showList :: [CAS (Infix c) (Encapsulation c) (Symbol c)] -> ShowS

(ASCIISymbols c, Monoid c) => Show (CAS' GapId (Infix c) (Encapsulation c) (Symbol c)) 

Methods

showsPrec :: Int -> CAS' GapId (Infix c) (Encapsulation c) (Symbol c) -> ShowS

show :: CAS' GapId (Infix c) (Encapsulation c) (Symbol c) -> String

showList :: [CAS' GapId (Infix c) (Encapsulation c) (Symbol c)] -> ShowS

Debugging

showStructure :: CAS' γ s² s¹ s⁰ -> String Source #

throwStructure :: CAS' γ s² s¹ s⁰ -> CAS' γ s² s¹ s⁰ Source #