?6qn      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm nopqrs-  !"#$%&'()*+,-./0-  !"#$%&'()*+,-./0-#"! *+-,()%&'$  ./0-  #"!  !"#$%&'&'())*++,-./0/tuvwxyz{|}~1#Verify a program with k-induction. 1Set of statements containing only one assertion. Remove all assertions. *Ensure all assertions are uniquely labed. Paths of all assertions. (Trim all unneeded stuff from a program. Verify a trimmed program.  k-induction. Check induction step. Check induction basis. Insert new input variables. 5Creates a new boolean variable. Use for assertions. 1112Generate C code. 222834;The Stmt monad holds variable declarations and statements. 5 True term. 6 False term. 7Arbitrary constants. 8Logical negation. 9 Logical AND. : Logical OR. ;"The conjunction of a E Bool list. <"The disjunction of a E Bool list. =1True iff the predicate is true for all elements. >0True iff the predicate is true for any element. ?@Equal. A Not equal. B Less than. CGreater than. DLess than or equal. EGreater than or equal. F$Returns the minimum of two numbers. G*Returns the minimum of a list of numbers. H$Returns the maximum of two numbers. I*Returns the maximum of a list of numbers. JLimits between min and max. KMultiplication. LFloating point division. MInteger division. NModulo. O;Linear interpolation and extrapolation between two points. PReferences a variable. QConditional expression.  mux test onTrue onFalse R1Creates a hierarchical scope for variable names. SMLabels a statement. Useful for requirement trace tags or other annotations. TCInput variable declaration. Input variables are initialized to 0. UBoolean variable declaration. V7Boolean variable declaration and immediate assignment. WInt variable declaration. X3Int variable declaration and immediate assignment. YFloat variable declaration. Z5Float variable declaration and immediate assignment. [Increments an E Int. \Decrements an E Int. ]!Assert that a condition is true. ^)Declare an assumption condition is true. _Conditional if-else. `!Conditional if without the else. aVerify a program. "^ verify pathToYices maxK program bGenerate C code. 6$%&*-3456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab6*%&$-567P89:;<>=?@ABDCEFGHIJKLMNQO4RSUVWXYZT3_`[\]^ab03456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab 6Computes the greatest common divison of two integers. < Returns true if the computation is done, and the result. A top level wrapper for gcd'. c,Build the gcdMain code (i.e. gcd.c, gcd.h). d(A rolling counter verification example. e Verify the d example. fArbiter specification. gAn arbiter implementation. h#An another arbiter implementation. i$Yet another arbiter implementation. j?Binding an arbiter implemenation to the arbiter specification. k.Verify the different arbiter implementations. l-Build the different arbiter implementations. mRun all examples. cdefghijklm cdefjghiklm cdefghijklm       !"#$%&' ()*+,-.//0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcd56efghijklmnoWpqrstuvwxyz{|}}~8 improve-0.0.7Language.ImProve.TreeLanguage.ImProve.CoreLanguage.ImProve.VerifyLanguage.ImProve.CodeLanguage.ImProveLanguage.ImProve.ExamplesTreeLeafBranchtreeVarInfoConstFloatIntBool StatementNullLabelAssumeAssertSequence AssignFloat AssignInt AssignBoolEMuxGeLeGtLtEqOrAndNotModDivMulSubAddRefNumEAllEzeroconst'PathNamepathNameVPathNamevarInfostmtVarsexprVarsverifycode<==Stmttruefalseconstantnot_&&.||.and_or_all_any_imply==./=.<.>.<=.>=.min_minimum_max_maximum_limit*./.div_mod_linearrefmuxscopelabelinputboolbool'intint'floatfloat'incrdecrassertassumeifelseif_buildGCDcounter verifyCounter arbiterSpecarbiter1arbiter2arbiter3arbiterverifyArbiters buildArbitersrunAllisBranch singleTree mergeTrees insertTreefind'TraceLabel'Branch'Assert'Assign'Input'Cycle'Init'EnvnextIdvarcmdsassertstraceVarYResultProblemFailPasstrimAssertionsremoveAssertionslabelAssertions assertions trimProgram requiredVars verifyProgramcheck checkStep checkBasisinputsresultevalStmtevalExpr evalConst evalConst'initEnvaddVar'addVar newBoolVaraddCmdaddTracegetVar writeTraceindentcodeStmtcodeExprindent' codeVariables showConst showConstTypeAssigngetputgetPath statementgcd'gcdMain