6.f      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde fghijk,  !"#$%&'()*+,-./,  !"#$%&'()*+,-./,"! )*,+'($%&#  -./,  "!  !"#$%&%&'(()**+,-./-lmnopqrstuvwxyz{|}~0#Verify a program with k-induction. 1Set of statements containing only one assertion. Remove all assertions. 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. 0001Generate C code. 111623;The Stmt monad holds variable declarations and statements. 4 True term. 5 False term. 6Arbitrary constants. 7Logical negation. 8 Logical AND. 9 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. @ Not equal. A Less than. BGreater than. CLess than or equal. DGreater than or equal. E$Returns the minimum of two numbers. F*Returns the minimum of a list of numbers. G$Returns the maximum of two numbers. H*Returns the maximum of a list of numbers. ILimits between min and max. JMultiplication. KFloating point division. LInteger division. MModulo. N;Linear interpolation and extrapolation between two points. OReferences a variable. PConditional expression.  mux test onTrue onFalse QCreates a hierarchical scope. RCInput variable declaration. Input variables are initialized to 0. SBoolean variable declaration. T7Boolean variable declaration and immediate assignment. UInt variable declaration. V3Int variable declaration and immediate assignment. WFloat variable declaration. X5Float variable declaration and immediate assignment. YIncrements an E Int. ZDecrements an E Int. [!Assert that a condition is true. \)Declare an assumption condition is true. ]Conditional if-else. ^!Conditional if without the else. _Verify a program. "^ verify pathToYices maxK program `Generate C code. 5#$%),23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`5)$%#,456O789:;=<>?@ACBDEFGHIJKLMPNQ3STUVWXR2]^YZ[\_`/23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a6Computes the greatest common divison of two integers. < Returns true if the computation is done, and the result. bA top level wrapper for gcd'. c,Build the gcdMain code (i.e. gcd.c, gcd.h). d(A rolling counter verification example. eabcdeabcdeabcde       !"#$%& '()*+,-../0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab45cdefghijklmnopqrstuuvwxyz{|}~7w improve-0.0.3Language.ImProve.TreeLanguage.ImProve.CoreLanguage.ImProve.VerifyLanguage.ImProve.CodeLanguage.ImProveLanguage.ImProve.ExamplesTreeLeafBranchtreeVarInfoConstFloatIntBool StatementNullAssumeAssertSequence AssignFloat AssignInt AssignBoolEMuxGeLeGtLtEqOrAndNotModDivMulSubAddRefNumEAllEzeroconst'PathNamepathNameVPathNamevarInfostmtVarsexprVarsverifycode<==Stmttruefalseconstantnot_&&.||.and_or_all_any_imply==./=.<.>.<=.>=.min_minimum_max_maximum_limit*./.div_mod_linearrefmuxscopeinputboolbool'intint'floatfloat'incrdecrassertassumeifelseif_gcd'gcdMainbuildGCDcounter verifyCounterlabelisBranch singleTree mergeTrees insertTreefind'TraceBranch'Assert'Assign'Input'Cycle'Init'EnvnextIdvarcmdsassertstraceVarYResultProblemFailPasstrimAssertionstrimAssertions'removeAssertions assertions trimProgram verifyProgramcheck checkStep checkBasisinputsresultevalStmtevalExpr evalConst evalConst'initEnvaddVar'addVar newBoolVaraddCmdaddTracegetVar writeTraceindentcodeStmtcodeExprindent' codeVariables showConst showConstTypeAssigngetgetPath statement