Jikka-5.6.0.0: A transpiler from Python to C++ for competitive programming
Copyright(c) Kimiyuki Onaka 2021
LicenseApache License 2.0
Maintainerhotman78@gmail.com
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Jikka.Core.Convert.EqualitySolving

Description

\[ \newcommand\int{\mathbf{int}} \newcommand\bool{\mathbf{bool}} \newcommand\list{\mathbf{list}} \]

Synopsis

Documentation

internal rules

moveLiteralToRight :: (MonadAlpha m, MonadError Error m) => RewriteRule m Source #

moveLiteralToRight moves literals to lhs of (==) or (/=), using symmetricity.

makeRightZero :: (MonadAlpha m, MonadError Error m) => RewriteRule m Source #

makeRightZero makes RHS of integer equality/inequality zero with subtracting RHS from both sides.

reduceIntInjective :: (MonadAlpha m, MonadError Error m) => RewriteRule m Source #

reduceIntInjective removes injective functions from equalities of integers.