Idris2Doc : Algebra.Solver.Group

Algebra.Solver.Group

(source)

Reexports

importpublic Algebra.Group
importpublic Algebra.Solver.Ops
importpublic Data.List.Elem

Definitions

dataExpr : (a : Type) ->Lista->Type
Totality: total
Visibility: public export
Constructors:
Lit : a->Expraas
Var : (x : a) ->Elemxas->Expraas
Neutral : Expraas
Neg : Expraas->Expraas
(<+>) : Expraas->Expraas->Expraas
dataTerm : (a : Type) ->Lista->Type
Totality: total
Visibility: public export
Constructors:
TLit : a->Termaas
TVar : (x : a) ->Elemxas->Termaas
TNeg : (x : a) ->Elemxas->Termaas
(.+>) : (x : a) ->Expraxs->Elemxxs=>Expraxs
Totality: total
Visibility: public export
Fixity Declaration: infixl operator, level 8
(<+.) : Expraxs-> (x : a) ->Elemxxs=>Expraxs
Totality: total
Visibility: public export
Fixity Declaration: infixl operator, level 8
(.+.) : (x : a) -> (y : a) ->Elemxxs=>Elemyxs=>Expraxs
Totality: total
Visibility: public export
Fixity Declarations:
infixl operator, level 8
infixl operator, level 8
var : (x : a) ->Elemxxs=>Expraxs
Totality: total
Visibility: public export
neg : (x : a) ->Elemxxs=>Expraxs
Totality: total
Visibility: public export
eval : (0_ : Groupazip) ->Expraas->a
  Evaluates an expression over the given group.
Note: The idea is to use this function at compile-time to
convert the expression we evaluate to the corresponding
Idris expression.

Totality: total
Visibility: public export
eterm : (a->a) ->Termaas->a
  Evaluates a single term.

Totality: total
Visibility: public export
elist : (0_ : Groupazip) ->List (Termaas) ->a
  Evaluates a list of terms over the given monoid.

Totality: total
Visibility: public export
negSng : (a->a) ->Termaas->Termaas
  Negates a single term.

Totality: total
Visibility: public export
negate : (a->a) ->List (Termaas) ->List (Termaas) ->List (Termaas)
  Negates a list of terms using the given inverse function.

This will - according to the usual group laws -
invert the order of elements.

Totality: total
Visibility: public export
Fixity Declaration: prefix operator, level 10
flatten : (a->a) ->Expraas->List (Termaas)
  Flattens an expression into a list of terms, using the given inverse
function for negation.

Totality: total
Visibility: public export
fuse : (0_ : Groupazip) -> ((v : a) ->Maybe (v=z)) ->Termaas->Termaas->List (Termaas)
  Tries to fuse two neighbouring terms

Totality: total
Visibility: public export
prepend : (0_ : Groupazip) -> ((v : a) ->Maybe (v=z)) ->List (Termaas) ->Termaas->List (Termaas)
  Prepends a single term in front of a list of terms.
This will remove terms that evaluate to zero and
fuse neighbouring literals.

Totality: total
Visibility: public export
merge : (0_ : Groupazip) -> ((v : a) ->Maybe (v=z)) ->List (Termaas) ->List (Termaas)
Totality: total
Visibility: public export
normalize : (0_ : Groupazip) -> ((v : a) ->Maybe (v=z)) ->Expraas->List (Termaas)
Totality: total
Visibility: public export
0solve : (g : Groupazip) -> (isZ : ((x : a) ->Maybe (x=z))) -> (e1 : Expraas) -> (e2 : Expraas) ->normalizegisZe1=normalizegisZe2=>evalge1=evalge2
Totality: total
Visibility: export