úÎ[¢5      !"#$%&'()*+,-./01234SafeBoolean equality with e^-6 precision.Safe357 7Linear expressions suited for normal and standard form. User-facing abstract syntax treePushes ECoeff down the tree, leaving EAdd3 at the top level. After using this funciton, all ECoeff constructors LinAst parameter will be EVar.Turns LinAst to LinExpr - should be done after multLin.Merged duplicate LinVars in a LinExpr. Should be used after addLin.(BTurns a user-level AST to a structurally standard from inequality.)9Standardizes user-level inequalities - to be used before  standardForm./For sorting tableaus3&Doesn't solve the ridde, but it helps.4  !"#$%&'()*+,-./01234+  !"#$%&'()*+44321 0/ . -!"#,$%&'()*+$   !"#$%&'()*+,-./01234 !"#5       !"#$%&'()*+,-./0123456linea_7nSnSEr9Y455qMvwQwnAYmData.Number.Double.ExtendedLinear.GrammareqDouble IneqStdFormEquStdLteStdGteStdIneqEquLteLinExprexprVars exprConstLinVarvarNamevarCoeff Coefficient.*.LinAstEVarELitECoeffEAdd.+.multLinhasNamemapNamehasCoeffmapCoeff mergeLinExpraddLin removeDupLin makeLinExpr.==..<=..=>. getStdVars mapStdVars getStdConst mapStdConst standardForm standardize hasNoDupsbetween1000Rational$fArbitraryIneqStdForm$fArbitraryIneq$fArbitraryLinExpr $fOrdLinVar$fArbitraryLinVar$fCoefficientRatioLinAst$fCoefficientLinAstRatio$fIsStringLinAst$fArbitraryLinAst