Maintainer | bastiaan.heeren@ou.nl |
---|---|

Stability | provisional |

Portability | portable (depends on ghc) |

Safe Haskell | None |

Language | Haskell98 |

This module defines a set of strategies used within the AdviseMe code. Each strategy is specifically tuned for the exercises wherein they are used. Any changes should be followed by testing the exercises. To generate attributes for newly added rules you have to modify RuleId

## Synopsis

- recognizerStrategy :: IsTerm a => LabeledStrategy (Context a)
- simplifyStrategy :: LabeledStrategy (Context Expr)
- normalizeStrategy :: LabeledStrategy (Context Expr)
- fractionStrategy :: IsTerm a => Strategy (Context a)
- coverUpPlus :: IsTerm a => Strategy (Context a)
- coverUpTimesPositive :: Rule (Relation Expr)

# Documentation

recognizerStrategy :: IsTerm a => LabeledStrategy (Context a) Source #

Strategy used by the strategy recognizer to recognize rewrites of linear equations

simplifyStrategy :: LabeledStrategy (Context Expr) Source #

Strategy used for simplifying expressions

normalizeStrategy :: LabeledStrategy (Context Expr) Source #

Strategy used for normalizing expressions (equality modulo fraction simplification, distribution and double negation)