

                       TK SOLVER REFERENCE CARD  (Abridged)
                     ========================================
                Copyright (c) 1986 Universal Technical Systems, Inc.


        NOTE:  Items marked with (*) are available in TK Solver Plus
               but not in FREETK.

        ---------------------------------------------------------------------

         FUNCTION KEYS

             F1    HELP              F2    CANCEL ENTRY
             F3    LOAD FILE         F4    SAVE FILE
             F5    EDIT              F6    ONE WINDOW
         (*) F7    PLOT          (*) F8    TABLE
             F9    SOLVE         (*) F10   LIST SOLVE

        ---------------------------------------------------------------------

         KEY TO SYMBOLS

           [xyz]      Key with xyz designation
           [LEFT]     Left Arrow key
           [RIGHT]    Right Arrow key
           [UP]       Up Arrow key
           [DOWN]     Down Arrow key
           [BACKSP]   Backspace key
           [TAB]      Tab key
           [Enter]    Enter key

        ---------------------------------------------------------------------
  
         COMMANDS

        Navigation Commands
             [UP]         Moves cursor up
             [DOWN]       Moves cursor down
             [LEFT]       Moves cursor left
             [RIGHT]      Moves cursor right
             [TAB]        Moves cursor to leftmost field
             [Shift][TAB] Moves cursor to rightmost field
             [Home]       Moves cursor to top of sheet
             [End]        Moves cursor to end of sheet
             [PgUp]       Scrolls cursor up N-2 lines
                          Displays preceding page in the Help index
             [PgDn]       Scrolls cursor down N-2 lines
                          Displays next page in the Help index
             Note: N is the number of lines in the current window

         (*) :        The Goto command moves cursor to specified row and
                      column (e.g., :5s to go to 5th row of Status field).

             =        The Select command displays the specified sheet in
                      current window:


                                           1








                         V  Variable       (*) L  List
                         R  Rule           (*) P  Plot
                     (*) F  Function       (*) T  Table
                         U  Unit           (*) N  Numeric Format
                     (*) G  Global

             >     The Dive command:
                      Brings up a relevant subsheet in the current window
                      Brings up a subdirectory in Disk Index

             <     The Return command:
                      Brings back original sheet or subsheet
                      Brings back the parent directory in Disk Index

             ;     The Switch command moves cursor between windows

         Special Keys

           [Ins]         Inserts one row at current cursor position
           [Ctrl-Break]  Cancels current command or entry

         Single-key commands

             !     The Action command
                      Variable & Rule Sheets: Solves model (same as F9)
                  (*) List Subsheet & List Function Subsheet: Fills in list
                         values between first and last values
                  (*) Plot Sheet & Plot Subsheet: Displays plot
                  (*) Table Sheet & Table Subsheet: Produces table

           Ctrl-E  The Edit command calls the in-field editor (same as F5)

             ?    The Help command brings up on-line Help (same as F1)
 
         Slash Commands

           /W   Window command
                   1  Unsplits the screen, displaying the current sheet
                      in a single window (same as F6)           
                Other options split the screen, upper window retaining
                      current sheet and lower window displaying:
                   V  Variable Sheet      (*) L  List Sheet
                   R  Rule Sheet          (*) P  Plot Sheet
               (*) F  Function Sheet      (*) T  Table Sheet
                   U  Unit Sheet          (*) N  Numeric Format Sheet
               (*) G  Global Sheet

           /B   Blank command blanks specified range of fields in one column
           /C   Copy command copies specified range of fields to specified
                   destination
           /D   Delete command deletes specified range of rows
           /I   Insert command inserts blank rows at current row
           /M   Move command moves specified range of rows to specified
                   destination



                                           2








        (*) /L  List command acts on associated lists 
                   L  List Solve
                   B  Block Solve
                   P  Put Element
                   G  Get Element

           /S   Storage command
                   L  Loads file with entire model or parts of model,
                      appending contents onto current model (if any)
                   S  Saves entire model
                   V  Saves Variable Sheet and Variable Subsheets
                      (*) saves specified range of rows when called from
                          Variable Sheet
                   U  Saves Unit Sheet
                      (*) saves specified range of unit conversions when
                          called from Unit Sheet
               (*) F  Saves Function Sheet, Function Subsheets and related
                      List Subsheets; saves specified range of Function
                      Subsheets and related List Subsheets if called from
                      Function Sheet
               (*) N  Saves the Numeric Format Sheet and Numeric Format
                      Subsheets; saves specified range of numeric formats if
                      called from Numeric Format Sheet
               (*) P  Saves the Plot Sheet and Plot Subsheets; saves
                      specified range of plots if called from Plot Sheet
               (*) T  Saves the Table Sheet and Table Subsheets; saves
                      specified range of tables if called from Table Sheet
               (*) C  Saves configuration file under TK.CFG
               (*) #  DIF storage: saves and loads files in DIF format
               (*) A  ASCII storage: saves and loads data in ASCII format
               (*) W  WKS storage: saves and loads files in Lotus 1-2-3 (R)
                          format
                   Note: #, A and W offer specific options:
                            S  Saves data from List Subsheets; saves speci-
                               fied range of lists if called from List Sheet
                            L  Loads data into lists

           /P   Print command prints specified range of rows from a sheet

           /E   eXamine command
                   V  opens the Prompt/Error line for specifying a variable
                      whose value will be displayed
                   E  opens the Prompt/Error line for typing in an expression
                      to be evaluated
                   C  copies the contents of a field under the cursor to the
                      Prompt/Error line (to be edited into an expression and
                      evaluated)

           /R   Reset command resets specified portions of TK (must be
                confirmed)
                   V  Resets variable values
                   S  Resets current sheet
                   A  Resets all sheets




                                           3









           /Q   Quit command quits TK (must be confirmed)

        ---------------------------------------------------------------------

         THE IN-FIELD EDITOR
           is entered at the current cursor position 
               - by pressing F5
               - automatically when attempted entry is found in error         
           [Right]       Moves cursor right for one space
           [Left]        Moves cursor left for one space
           [TAB]         Moves cursor right to the next right tab position
           [Shift][TAB]  Moves cursor left to the next left tab position
           [UP], [PgUp] or [Home]    Moves cue to beginning of line
           [Down], [PgDn] or [End]   Moves cue to end of line
           [Del]         Deletes a character to right of cue
           [BACKSP]      Deletes character to left of cue
           F2            Exits editor, restores previous field contents
           [ENTER]       Enters the edited field contents, exits editor


         ENTERING INFORMATION 

        To enter information into a field, type it in and press [Enter] or a
        navigation key (i.e. [UP], [DOWN], [RIGHT], [Home], [PgUp] etc).  The
        navigation keys move the cursor following a successful entry.  If the
        entry is invalid for the current field, the in-field editor will be
        invoked.  The cue moves to the suspected problem spot and an error
        message appears in the Prompt/Error line.

        Entries must conform to the following TK syntax conventions:

         TK Names
           Variable names, list names and function names:
             - can be up to 200 characters long
             - can consist of letters (including international letters, ASCII
               values 128-154 and 160-165; Greek letters, ASCII values
               224-238), digits, and special characters @ # $ % _
             - cannot begin with a digit or contain blanks
             - are case-sensitive, i.e. RESULT, Result, and result are all
               different names (except that names of built-in functions or
               special words, such as IF or THEN, are not case-sensitive)
             - must be unique within a Name field of a sheet
           Examples:   VAR     x     days_week     x$a     c2@lib

         Numeric values or constants:
           numbers with an absolute value between 1E-307 and 1E308, or 0
           Examples:    +2.3      .7          -83       1E7
                        3.        14159       -5.3E-2

         Symbolic values or constants:
           any TK name preceded by an apostrophe
           Examples:     'abc      'CATS      'dogs      'a_z




                                           4








         Expressions:
           numeric constants, symbolic constants, variable names, function
           references, list elements, arithmetic expressions, relational
           expressions, logical expressions and complex numbers.
           Examples:      1987      'pet      profit     sin(x)
                       (*)'a[3]     A > B     NOT(bad)   (z,jz)

           Arithmetic expressions
             an arithmetic expression can be any expression preceded by unary
             + or -, or two expressions linked by an arithmetic operator (+ -
             * / ^).  The constituent expressions (operands) must evaluate
             into numeric values.
             arithmetic operators are (in order of precedence):
                Exponentiation                ^
                Unary plus and minus          +  -
                Multiplication and Division   *  /
                Addition and Subtraction      +  -
             Examples:   -5    t^2    sin(x)/x   4^2^3 (evaluates into 65536)
             Note: Operations at the same precedence level are performed
                   from left to right except for series of exponentiations,
                   which are performed from right to left (see example).
                   The order of operations may be controlled by parentheses.
             
           Relational expressions
             a relational expression has a numerical value 1 (true) or 0
             (false), and has the form two expressions linked by a
             relational operator.
             relational operators are:
                Equal                    =
                Greater Than             >
                Greater Than or Equal    >=   or   =>
                Less Than                <
                Less Than or Equal       <=   or   =<
                Not Equal                <>   or   ><
             Examples:     A >= B     alpha = 90     animal <> 'dog
                Note: Relational operators have lower order of precedence
                      than arithmetic operators; e.g. 5+6<4*3, (5+6<4)*3 
                      and 5+(6<4)*3 evaluates respectively to 1, 0 and 5
 
           Logical expressions
             a logical expression can be a relational expression, a Boolean
             function, or any other expression that evaluates into 1 (true)
             or 0 (false)
             Examples:   revenue>cost    AND(big,fat)    abs(sgn(x))

           Complex expressions
             a complex expression can be a pair of numeric expressions
             representing a complex number, an arithmetic operation on
             complex numbers, or a function that evaluates into a pair of
             numeric values.
             Examples:   (3,4)   (R,w*L-1/w*C)   (a,b)*(c,d)   POWER((e,f),n) 
                Note: (x,y) is TK representation of the complex number
                      x + i*y , where  i  is square root of -1




                                           5








         Rules:
           Unconditional rules have the form 
             expression = expression
           Examples:  area = pi()*R^2     a + b = c*d  
                      x^2 + y^2 = z^2     flag = b^2 > 4*a*c
                      (p,q)+(u,v) = rcis(R,phi)
           Conditional rules have the forms
             IF logical expression THEN unconditional rule
             (*) IF logical expr. THEN uncond. rule ELSE uncond. rule
           Examples:   if shape='square then area=side^2 else area=pi()*r^2
                       x = a = b   (same as: if a=b then x=1 else x=0)

        (*) List Elements:
             Reference to a list element may have the form:
                           listname[expression]
             Examples:  'list_a[34]     x[num] (when e.g. x='abc and num=6)
             Note: ELEMENT function may be used for referencing a list
                   element in a rule or in the right hand side of a 
                   statement; PLACE function must be used for directing
                   a value into a list element from a rule, and it may be 
                   used for the same purpose in the left hand side of a 
                   statement.

        (*) Statements:
             Unconditional statements include assignment statements,
             branching statements, call statements and return statements.
             Conditional Statements are of the form IF-THEN-ELSE
             Loop Constructs are of the form FOR-TO-STEP-NEXT
             Examples:   a:=a+1
                         GOTO first_line
                         CALL DELETE('x)
                         IF x=y THEN CALL Sum(a,b,c)
                         FOR i:=1 TO length('R)
                            RP:=RP+1/'R[i]
                         NEXT i

         Character strings:
           Any combination of characters available from the keyboard
           (including blanks) or most of the 254 IBM characters that can be
           be entered by holding down Alt key and typing appropriate ASCII
           value on the numeric keypad.  Question marks, if needed, must be
           typed as Ctrl-Q, because typing ? invokes on-line Help.
           
         Units:
           Unit names must be character strings.

         Comments:
           Comments must be character strings.

        (*) Numeric Formats:
           Numeric Format names must be character strings.  The "no name" or
           blank Numeric Format field implies the default format setting.

        Some fields accept only one of a set of options and do not require
        [Enter].  The options are listed with the sheet descriptions.


                                           6








        Some fields are used only to display results.

        ---------------------------------------------------------------------

         THE SOLVERS

        TK uses two solving techniques, the Direct Solver and the Iterative
        Solver.

         The Direct Solver:
             Solving one equation with the Direct Solver is possible if the
             following conditions are met:
             1. The unknown variable appears only once
             2. The unknown variable is not an argument of a non-invertible
                function
             Examples:
                sin(x*y) = z^2          can be resolved for either x, y or z
                sin(x*y) = x + z        can be resolved for y or z but not
                                        for x
                y * abs(x) = mod(z,2)   can be resolved for y, but not for x
                                        or z

             Solving a set of equations with the Direct Solver:
             The Direct Solver solves a set of n equations for n unknowns if
             the above conditions are satisfied for each of them and it can
             solve one equation after another.  The solution process is
             facilitated by the fact that the Direct Solver automatically
             substitutes newly evaluated variable in all remaining equations.

         The Iterative Solver
             If the above conditions are not fulfilled, you have to assign a
             guess value to one or more unknown variables.  The guesses
             temporarily play the role of input values so that the Direct
             Solver can proceed.  These additional inputs make some equations
             overdefined (i.e. they generate errors internally).  The 
             Iterative Solver manipulates the guess values until the error
             terms fall below the Comparison Tolerance.

        ---------------------------------------------------------------------

         DISK INDEX

        The Disk Index lists all files that have an extension appropriate
         to the chosen storage command option, and belong to the specified
         directory or subdirectory .

         To Access the Disk Index:

        *  Press F3 to load a file, F4 to save a file, or type /S and any
           option character.  (If you select option /S#, /SW or /SA, you must
           type an extra character to specify Save or Load.)
        *  At this point you may type a drive designator and/or a path
           specification and/or wildcards, or none of these.
        *  Press [Enter] to display the Disk Index.

        ---------------------------------------------------------------------

                                           7








         UNIT CONVERSIONS

        To convert values between units of measurement, the conversions must
        be defined on the Unit Sheet.  Conversions may be chained, e.g., if
        conversions are defined between meters and feet, and between meters
        and centimeters, then TK will perform conversions between feet and
        centimeters.

        ---------------------------------------------------------------------

        (*) NUMERIC FORMATS

        The Numeric Format Sheet allows you to define the appearance of your
        numeric values.  You can define many different numeric formats and
        assign different formats to different variables and/or lists.

        ---------------------------------------------------------------------

         FUNCTIONS

        Two main categories of functions in TK are:
                Built-in functions
            (*) User-defined functions
 
        There are three classes of user-defined functions:
           Rule functions (i.e. "back-solvable submodels")
           Procedure functions (i.e. sequential programs)
           List functions (i.e. function represented by two lists of values.)
             Four kinds of mappings are available in list functions:
                Table lookup
                Step mapping
                Linear interpolation
                Cubic interpolation

        There are two ways of invoking a function:
             referring to the function in an expressions, e.g.
                   a + b = log(x)/c
                where the function reference plays the role of an expression
             calling the function, e.g.
                   call linsolve(a,b;x)
                where the function call stands as a rule (in the Rule Sheet
                or in a Rule Function Subsheet) or a statement (in a
                Procedure Function Subsheet).

        Although specified throughout this reference card in uppercase,
        built-in function names are not case sensitive.  For example, COS(x)
        = Cos(x) = cos(x).

         SUMMARY OF TK BUILT-IN FUNCTIONS

         Mathematical Constants

           PI()    ...  3.141592653589793    pi (ratio of circumference to
                                             diameter)
           E()     ...  2.718281828459045    e (base of natural logarithms)


                                           8








         Trigonometric and Inverse Trigonometric Functions

           With Arguments/Function Values in Radians

           SIN(x)           Sine of x
           ASIN(x)          Arc sine of x
           COS(x)           Cosine of x
           ACOS(x)          Arc cosine of x
           TAN(x)           Tangent of x
           ATAN(x)          2-quadrant arc tangent of x
           ATAN2(y,x)       4-quadrant arc tangent of y/x

           With Arguments/Function Values in Degrees

           SIND(x)          Sine of x
           ASIND(x)         Arc sine of x
           COSD(x)          Cosine of x
           ACOSD(x)         Arc cosine of x
           TAND(x)          Tangent of x
           ATAND(x)         2-quadrant arc tangent of x
           ATAN2D(y,x)      4-quadrant arc tangent of y/x

         Exponential and Logarithmic Functions

           EXP(x)     Number e, 2.718281828459045, raised to the xth power
           LN(x)      Natural (base e) logarithm of x
           LOG(x)     Common (base 10) logarithm of x

         Hyperbolic and Inverse Hyperbolic Functions

           SINH(x)       Hyperbolic sine of x
           ASINH(x)      Hyperbolic arc sine of x
           COSH(x)       Hyperbolic cosine of x
           ACOSH(x)      Hyperbolic arc cosine of x
           TANH(x)       Hyperbolic tangent of x
           ATANH(x)      Hyperbolic arc tangent of x

         Other Invertible Mathematical Functions

           SQRT(x)          Positive square root of x
           ROOT(x,n)        Root function, nth root of x
           ERF(x)           Error function (associated with normal
                            distribution curve)
           GAMMA(x)         Gamma function, x-1 factorial for integer x>0

         Non-Invertible Mathematical Functions

           SGN(x)           Sign (-1, +1 or 0) of x
           ABS(x)           Absolute value of x
           INT(x)           Integer part of x
        (*) INTEGER(x)      Same as INT
           ROUND(x)         Nearest integer to x (even rounding)
           ROUND(x,y)       Value of x even-rounded to the nearest multiple
                            of y



                                           9








           CEILING(x)       Smallest integer value greater than or equal to
                            the value of x
           FLOOR(x)         Largest integer value less than or equal to the
                            value of x
           MOD(x,y)         Remainder of x/y
        (*) MODULUS(x,y)    Same as MOD
           DIVIDE(x,y)      Returns two values:  int(x/y)  and  mod(x,y)
           STEP(x,y)        Returns  1 if x >= y
                                     0 if x < y

         Complex Functions

           POWER((x,y),n)
                Calculates the complex number equal to the complex number
                (x,y) raised to the nth power 
           RCIS(x,y)
                Calculates a complex number in rectangular form equivalent
                to the complex number in polar form where x is the radius and
                y is the angle in radians
           RCISD(x,y)
                same as RCIS except y is in degrees

         Boolean Functions

           NOT(x)                 Boolean NOT
           AND(x1,x2,x3,...)      Boolean AND
           OR(x1,x2,x3,...)       Boolean OR
           EQV(x,y)               1 (true) if x and y are the same (both 0
                                  or both 1), otherwise 0 (false)
           IMPLY(x,y)             0 (false) if x is 1 (true) and x is 0
                                  (false), otherwise 1 (true)

         List and Multi-Argument Functions

             MAX(x1,x2,x3,...)    maximum value among the arguments
             MIN(x1,x2,x3,...)    minimum value among the arguments
             SUM(x1,x2,x3,...)    sum of the arguments
         (*) COUNT(listname)      number of non-blank elements in list
         (*) LENGTH(listname)     number of elements in list including blanks
                                  (i.e. length of the list)
             NPV(r,x1,x2,x3,...)
                net present value of a series x1,x2,x3,... of cashflow 
                values at the interest rate r
        (*)  DOT(listname,x1,x2,x3,...)
                dot product of the list elements with the series of arguments
             POLY(x,x1,x2,x3,...)
                value of the polynomial at x with x1,x2,x3,... coefficients
                starting with the highest order
         (*) CHECK(listname)      1 if list listname exists
                                  0 if it does not exist
         (*) LISTCOPY(x,y) 
                copies elements of list x into list y
         (*) LISTCOPY(x,y,i)
                copies list x starting from ith element to list y



                                          10








         (*) LISTCOPY(x,y,i,j)
                copies ith through jth elements of list x to list y
         (*) LISTCOPY(x,y,i,j,k) 
                copies ith through jth elements of list x to list y,
                starting at the kth element of list y
         (*) MEMBER(x,x1,x2,x3,...)
                1 if value of x is among x1,x2,x3,..., otherwise 0
         (*) BLANK(listname)
                blanks specified list
         (*) BLANK(listname,i)
                blanks the ith element in specified list
         (*) DELETE(listname)
                deletes a list from the List Sheet

        NOTE: Arguments x1,x2,x3,... may be replaced by a listname in full
              TK Solver supporting the list feature.

         TK-Specific Functions

         (*) ELEMENT   - same as ELT
         (*) ELT()
                returns the element number of current instance during 
                list solving or block solving
         (*) ELT(listname,n)
                returns the value of the nth element of the list
         (*) ELT(listname,n,expr) 
                returns the value of the nth element of the list, or,
                if blank, the expression expr
         (*) PLACE(listname,n)
                places a value into the nth element of the list listname
         (*) APPLY(functname,x1,x2,x3 ...)
                returns the value of the specified function with given 
                arguments; Example: if fun='SIND then APPLY(fun,90) returns 1 
             VALUE(varname)
                returns the value of the specified variable
                Example: if key='phi and phi=15 then VALUE(key) returns 15 

           Status Functions, short form

             GIVEN(varname)
                returns 1 or 0 if the specified variable is or is not 
                assigned an input value
             EVLTD(varname)
                returns 1 if the specified variable was evaluated during 
                current run of the Direct Solver
             KNOWN(varname)
                returns 1 if the specified variable is assigned an input 
                value or was evaluated during current run of the Direct 
                Solver
             EXAMPLE: IF KNOWN('phi) THEN L=phi*rho (i.e. L=phi*rho rule
                      applies if the variable phi is known)






                                          11








           Status Functions, long form:

             GIVEN(varname1,varname2,...,expr1,expr2)
                returns expr1 if all the specified variables are assigned
                input values; else, it returns expr2
             KNOWN(varname1,varname2,...,expr1,expr2)
                returns expr1 if all the specified variables are given or
                evaluated; else, it returns expr2 
             EVLTD(varname1,varname2,...,expr1,expr2)
                returns expr1 if all the specified variables were evaluated
                during current run of the Direct Solver; else it returns
                expr2
             EXAMPLES:
             1. Rate = GIVEN('Rate,Rate,10) (i.e. if Rate is assigned an
                input value, the rule represents trivial identity Rate=Rate;
                else the rule assigns a default value Rate=10)
             2. L = KNOWN('phi,phi*rho,0/0) (if phi is known, the rule beco-
                mes L=phi*ro; if phi is not known, the rule is ignored) 
                in the previous paragraph)
             3. if GIVEN('phi,'alpha,'beta,1,0) then L= phi*R (i.e. the rule
                applies only if all 'phi,'alpha,'beta are given)

        ---------------------------------------------------------------------

         SHEETS

         VARIABLE SHEET

        Selected by pressing =V

        Status
             accepts:    I  puts value into Input field
                         O  puts value into Output field
                     (*) L  associates or dissociates a list with variable
                         G  sets or unsets value as guess for iteration
                         B  blanks value and unsets guess (if set)

             displays:   >  indicates error condition (move cursor over the
                            mark to see more information on the Status Line
                         L  indicates a list association
                         G  indicates a guess status
        Input
             input value
        Name
             variable name
        Output
             output value
        Unit
             first entry in blank field sets both calculation unit display
             unit; subsequent entries change only display unit
        Comment
             comments and reminders; not used for solution

         VARIABLE SUBSHEET
        accessed from the Variable Sheet by the Dive command  > , gives      


                                          12








        more detailed information about a particular variable.

        Status
             reflects the Status field on the Variable Sheet.
        First Guess
             value to use as first guess for automatic iteration
        (*) Associated List
             name of the list of values associated with the variable
        Input Value  and  Output Value
             these fields show the same values as in the Variable Sheet
        (*) Numeric Format
             controls the appearance of an input, output or guess value
             displayed on the Variable Sheet or the Variable Subsheet
        Display Unit
             unit name entered or displayed here is the same as the one in
             the Unit field of the Variable Sheet; any entry or change made
             in either location is reflected in the other
        Calculation Unit
             unit used in calculations
        Comment
             the same as in the Variable Sheet


         RULE SHEET

        Selected by pressing =R

        Status
             accepts:    C  cancels and uncancels the rule

             displays:   C  indicates the rule out of operation
                         *  unsatisfied, indicates unsolved equation
                         >  indicates error (move cursor over the mark to see
                            more information in the Status line)
                     blank  the equation was solved during the last run of 
                            the solvers
        Rule
             unconditional or conditional rule and/or comment (comment must
             be preceded by a quotation mark and is ignored by the solvers)

         UNIT SHEET

        Selected by pressing =U

        Contains definitions of conversions between units of measurement.

        From
             unit converted from
        To
             unit converted to
        Multiply By
             conversion factor
        Add Offset
             a value to be added in order to align scales (e.g. 32 in
             converting from Celsius to Fahrenheit); blank for zero offset


                                          13








        (*) GLOBAL SHEET

        Selected by pressing =G

        Contains global settings and program defaults

        Field                        Options                          Default

        Display Intermediate Values  Y N                              Y
        Stop on List Error           Y N                              N
        Use Automatic Iteration      Y N                              Y
        Comparison Tolerance         any real number >= 0             .000001
        Typical Value                any real number >= 0             1
        Maximum Iteration Count      any integer 1 < n < 10,000       10
        Global Numeric Format        any defined Numeric Format name  (BLANK)
        Append Variable Names        Y N                              Y
        Use Page Breaks              Y N                              Y
        Number Pages                 Y N                              Y
        Form Length                  any integer 6 < n < 1000         66
        Printed Page Length          any integer 6 < n < 1000         60
        Printed Page Width           any integer 6 < n < 200          80
        Left Margin                  any integer 6 < n < 200          0
        Printer Device or Filename   any valid filename or device name   LPT1
        Printer Setup String         any valid setup string           (BLANK)
        Use Color                    Y N                              Y
        Slow Redisplay               Y N                              Y
        Solid Line Headings          Y N                              Y
        Bottom Prompt Line           Y N                              Y

        Note: All the defaults are fixed in FREETK.  The last four parameters
              may be set up in the optional FREETG.CFG file.


        (*) LIST SHEET

        Selected by pressing =L

        Contains a summary of all lists

        Note: Detailed information about the List Sheet is omitted here as 
              irrelevant to FREETK.


        (*) LIST SUBSHEET

        Accessed by diving (>) from the List Sheet, Variable Subsheet, List
        Function Subsheet, Plot Subsheet or Interactive Table.

        Holds the values of the list elements and specific information about
        the lists.        

        Note: Detailed information about the List Subsheet is omitted here
              as irrelevant to FREETK.




                                          14








        (*) FUNCTION SHEET

        Selected by pressing =F

        Contains a summary of all functions defined by the user.

        Note: Detailed information about the Function Sheet is omitted
              here as irrelevant to FREETK.


        (*) LIST FUNCTION SUBSHEET

        Accessed by diving (>) from the Function Sheet or from any place
        of reference (rule, statement) to a particular function.

        Contains the lists with the function and argument values, and
        serves for setting the function Mapping Options:
             T Table mapping
             S Step mapping
             L Linear interpolation
             C Cubic interpolation

        Note: Detailed information about the List Function Subsheet is
              omitted here as irrelevant to FREETK.


        (*) RULE FUNCTION SUBSHEET

        Accessed by diving (>) from the Function Sheet or from any place
        of reference (rule, statement) to a particular function.

        Contains the slate of Parameter, Argument and Result variables, and
        the rules constituting the body of the function.

        Note: Detailed information about the Rule Function Subsheet is
              omitted as irrelevant to FREETK.


        (*) PROCEDURE FUNCTION SUBSHEET

        Accessed by diving (>) from the Function Sheet or from any place
        of reference (rule, statement) to a particular function.

        Contains the slate of Parameter, Input and Output variables, and
        the statements constituting the body of the function.

        Note: Detailed information about the Procedure Function Subsheet is
              omitted as irrelevant to FREETK.


        (*) PLOT SHEET

        Selected by pressing =P




                                          15








        Contains names and titles of all plots (multiple plot definitions
        are allowed in a model).


        (*) PLOT SUBSHEET

        Accessed by diving (>) from the Plot Sheet.

        Serves for specifying the lists to be plotted and for setting up      
        options.  The Plot Type options are Line chart, Bar chart and Pie
        chart.  The Display Mode options are CGA, Hercules and EGA mode.

        Note: Detailed information about the Plot Subsheet is omitted here
              as irrelevant to FREETK.


        (*) TABLE SHEET

        Selected by pressing =T

        Contains names and titles of all tables (multiple table definitions
        are allowed in a model).


        (*) TABLE SUBSHEET

        Accessed by diving (>) from the Table Sheet

        Serves for specifying the lists to be tabulated and for setting up
        options. The options are Interactive Table and Output Table.

        Note: Detailed information about the Plot Subsheet is omitted here 
              as irrelevant to FREETK.


        (*) NUMERIC FORMAT SHEET

        Selected by pressing =N

        Contains the names of numeric formats used to control individually
        the appearance of variable and list values, displayed or printed.

        Note: Detailed information about the Numeric Format Sheet is omitted 
              as irrelevant to FREETK.


        (*) NUMERIC FORMAT SUBSHEET

        Accessed by diving (>) from the Numeric Format Sheet or from the 
        Numeric Format field in the Variable Sheet, Variable Subsheet, List
        Sheet, List Subsheet or Table Subsheet.

        Note: FREETK uses the default numeric format.  The following
              information gives the default settings and shows the scope



                                          16








              of numeric formatting capability in TK Solver Plus.  

        Numeric Notation
             S  Scientific notation
             D  Decimal notation
             E  Either scientific or decimal notation (default); in this case
                TK choses for every value displayed a notation giving the
                maximum number of significant digits within the field
        Significant Digits
             can be any integer between 1 and 20 (default is 15 and TK's 
             arithmetic limit is 16); when the field holding a numeric value 
             is covered by the cursor, the value in full precision shows up
             on the screen in the 1st or Status line 
        Decimal Places
             can be any integer between 1 and 200; the default is blank,
             which means displaying as many digits to the right of the
             decimal point as will fit the width of the field and the
             Significant Digits setting     
        Padding
             fills the spaces from the last significant digit through the
             number of decimal places specified in the Decimal Places field.
             The padding character options are Zero, Blanks or None (default)
        Decimal Point Symbol
             any character which is neither a digit nor a letter can be
             specified; default is period
        Digit Grouping Symbol
             separates numeric values into three-digit groupings to the left
             of the decimal point;  default is a blank field, which disables
             digit grouping  
        Zero Representation
             a zero value can be represented by one or more characters which
             may include letters, blank spaces and digits; default is 0
        +/- Notation
             -    - only (default)
             +    + and -
             (    negative values enclosed in ()
        Prefix
             is one or more characters, such as a dollar sign, which are
             displayed before each numeric value; default is no prefix
        Suffix
             is one or more characters, such as a percent sign, which are
             displayed following each numeric value; default is no suffix
        Justification
             options of Left (default), Right and Centered determine whether
             values will be displayed aligned to the left side, to the right
             side or in the center of a field
        Left Margin Width
             is the number of blank spaces in the left margin of the field;
             may be any integer from 0 (default) to 200; a prefix and/or a
             sign may appear in the margin
        Right Margin Width
             is the number of blank spaces in the right margin of the field;
             may be any integer from 0 (default) to 200; a suffix may appear
             in the margin



                                          17

