G;       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~   0 ?A logical, arithmetic, comparative, or conditional expression.  !"#$%&'()A mutable array. *+A mutable variable. ,-./0Length of array. 12Variables in a program. Variables in an expression. 3Theorems in a program. /  !"#$%&'()*+,-./0123/"! +,)*/.-'($%&#   1203/   "!  !"#$%&%&'(()**+,,-./01234Generate Ada. 4445 Generate C. 55566789:;<=>?@ABCDEFGHIJKLMNOPQRSTBuilds a netlist. 6789:;<=>?@ABCDEFGHIJKLMNOPQRSTS6789:;<=>RQPONMLKJIHGFEDCBA@?T6789:;<=789:;<=>RQPONMLKJIHGFEDCBA@??@ABCDEFGHIJKLMNOPQRSTUUUUVCode generation targets. WXYZ[Generate target code. VWXYZ[VZYXW[VZYXWWXYZ[ +\#Verify a program with k-induction. Path of a theorem. Prove a single theorem.  k-induction. Check induction step. Check induction basis. 5Creates a new boolean variable. Use for assertions. \\\ ]]]] @^KTheorem to be proven or used as lemmas to assist proofs of other theorems. _`a;The Stmt monad holds variable declarations and statements. b True term. c False term. dArbitrary constants. eLogical negation. f Logical AND. g Logical OR. h"The conjunction of a E Bool list. i"The disjunction of a E Bool list. j1True iff the predicate is true for all elements. k0True iff the predicate is true for any element. lLogical implication. mEqual. n Not equal. o Less than. pGreater than. qLess than or equal. rGreater than or equal. s$Returns the minimum of two numbers. t*Returns the minimum of a list of numbers. u$Returns the maximum of two numbers. v*Returns the maximum of a list of numbers. wLimits between min and max. xMultiplication. yFloating point division. zInteger division. {Modulo. |6Linear interpolation and extrapolation of two points. }3References a variable to be used in an expression (). ~Conditional expression.  mux test onTrue onFalse 5Labels a statement and creates a new variable scope. L Labels are used in counter examples to help trace the program execution. Generic variable declaration. 7Generic variable declaration and immediate assignment. CInput variable declaration. Input variables are initialized to 0. Global variable declaration. Boolean variable declaration. 7Boolean variable declaration and immediate assignment. Int variable declaration. 3Int variable declaration and immediate assignment. Float variable declaration. 5Float variable declaration and immediate assignment. Increments an E Int. Decrements an E Int. Assume a condition is true. 5 Assumptions are used as lemmas to other theorems. Defines a new theorem. # theorem name k lemmas proposition Conditional if-else. !Conditional if without the else. Condition case statement. Verify a program.  verify pathToYices program Generate code. Generic program analysis. B#$%+/VWXYZ^_`abcdefghijklmnopqrstuvwxyz{|}~B+$%#/^bcd}efghikjlmnoqprstuvwxyz{~|a_`VZYXW7^_``abcdefghijklmnopqrstuvwxyz{|}~   !"#$%&'()*+,-./012334456789:;<=>>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab c d   e f g h i j k l m n o p q r s t u v w x y z { | } ~  c b             ?          f improve-0.3.4Language.ImProve.Code.CommonLanguage.ImProve.TreeLanguage.ImProve.CoreLanguage.ImProve.Code.AdaLanguage.ImProve.Code.CLanguage.ImProve.Code.SimulinkLanguage.ImProve.Code.ModelicaLanguage.ImProve.CodeLanguage.ImProve.VerifyLanguage.ImProve.PathLanguage.ImProveindentTreeLeafBranchtreeVarInfoConstFloatIntBool StatementNullLabelAssumeTheoremSequenceAssignEMuxGeLeGtLtEqOrAndNotModDivMulSubAddRefNumEAllEzeroconst'PathNamepathNameAVUIDPathName arrayLengthvarInfostmtVarstheoremscodeAdacodeCNetlistnextIdpathvarsenvblocksnetsBlockMux'Ge'Le'Gt'Lt'Eq'Or'And'Not'Mod'Div'Mul'Sub'Add'Const' AssertionCast UnitDelayOutportInport codeSimulinknetlist codeModelicaTargetSimulinkModelicaCAdacodeverify totalPaths<==Stmttruefalseconstantnot_&&.||.and_or_all_any_-->==./=.<.>.<=.>=.min_minimum_max_maximum_limit*./.div_mod_linearrefmux-|varvar'inputglobalboolbool'intint'floatfloat'incrdecrassumetheoremifelseif_case_==>analyzelabelisBranch singleTree mergeTrees insertTreefind'exprVarsReccodeStmt codeVariables showConst showConstTypeindent'Mdl:=:-NetlowerConditionalsnewNameblockblock'net updateEnvgetNet getPathNameevalStmtevalExprmdlmdlLines mdlBlocksmdlBlock constTypeblkisSrcremoveNullEffectequation isInternalmoRenamenetTypeTraceLabel'Branch'Assert'Assign'Input'State'Step'EnvcmdsassertstraceVarYResultProblemFailPass theoremPath proveTheoremcheck checkStep checkBasisresult evalConst evalConst'initEnvaddVar'addVar newBoolVaraddCmdaddTracegetVargetVar' writeTrace maxLabelWidthmaximum'pathsdotdCaseTheorem'getputgetPath statement