/[ascend]/trunk/doc/syntax.lyx
ViewVC logotype

Diff of /trunk/doc/syntax.lyx

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1384 by jpye, Fri Apr 6 16:15:11 2007 UTC revision 1733 by jpye, Wed Feb 6 00:18:31 2008 UTC
# Line 1  Line 1 
1  #LyX 1.4.3 created this file. For more info see http://www.lyx.org/  #LyX 1.5.1 created this file. For more info see http://www.lyx.org/
2  \lyxformat 245  \lyxformat 276
3  \begin_document  \begin_document
4  \begin_header  \begin_header
5  \textclass book  \textclass book
# Line 9  Line 9 
9  \end_preamble  \end_preamble
10  \language english  \language english
11  \inputencoding auto  \inputencoding auto
12  \fontscheme default  \font_roman default
13    \font_sans default
14    \font_typewriter default
15    \font_default_family default
16    \font_sc false
17    \font_osf false
18    \font_sf_scale 100
19    \font_tt_scale 100
20  \graphics default  \graphics default
21  \paperfontsize default  \paperfontsize default
22  \spacing single  \spacing single
23  \papersize default  \papersize default
24  \use_geometry false  \use_geometry false
25  \use_amsmath 1  \use_amsmath 1
26    \use_esint 0
27  \cite_engine basic  \cite_engine basic
28  \use_bibtopic false  \use_bibtopic false
29  \paperorientation portrait  \paperorientation portrait
# Line 29  Line 37 
37  \paperpagestyle default  \paperpagestyle default
38  \tracking_changes false  \tracking_changes false
39  \output_changes false  \output_changes false
40    \author ""
41  \end_header  \end_header
42    
43  \begin_body  \begin_body
44    
45  \begin_layout Chapter  \begin_layout Chapter
46  Syntax reference  Syntax reference
47  \begin_inset LatexCommand \label{cha:ASCENDSyntax}  \begin_inset LatexCommand label
48    name "cha:ASCENDSyntax"
49    
50  \end_inset  \end_inset
51    
# Line 55  We shall present an informal description Line 65  We shall present an informal description
65    
66  \begin_layout Standard  \begin_layout Standard
67  Syntax  Syntax
68  \begin_inset LatexCommand \index{syntax}  \begin_inset LatexCommand index
69    name "syntax"
70    
71  \end_inset  \end_inset
72    
73   is the form or structure for the statements in ASCEND, where one worries   is the form or structure for the statements in ASCEND, where one worries
74   about the exact words one uses, their ordering, the punctuation, etc.   about the exact words one uses, their ordering, the punctuation, etc.
75   Semantics   Semantics
76  \begin_inset LatexCommand \index{semantics}  \begin_inset LatexCommand index
77    name "semantics"
78    
79  \end_inset  \end_inset
80    
# Line 90  Rules on the syntax for this statement t Line 102  Rules on the syntax for this statement t
102    
103  \begin_layout Standard  \begin_layout Standard
104  The syntax for a computer language is often defined by using a Bachus-Naur  The syntax for a computer language is often defined by using a Bachus-Naur
105  \begin_inset LatexCommand \index{Bachus-Naur}  \begin_inset LatexCommand index
106    name "Bachus-Naur"
107    
108  \end_inset  \end_inset
109    
110   formal (BNF   formal (BNF
111  \begin_inset LatexCommand \index{BNF}  \begin_inset LatexCommand index
112    name "BNF"
113    
114  \end_inset  \end_inset
115    
116  ) description.  ) description.
117   The complete YACC   The complete YACC
118  \begin_inset LatexCommand \index{YACC}  \begin_inset LatexCommand index
119    name "YACC"
120    
121  \end_inset  \end_inset
122    
123   and FLEX   and FLEX
124  \begin_inset LatexCommand \index{FLEX}  \begin_inset LatexCommand index
125    name "FLEX"
126    
127  \end_inset  \end_inset
128    
# Line 177  The syntax and semantics of ASCEND may s Line 193  The syntax and semantics of ASCEND may s
193    
194  \begin_layout Standard  \begin_layout Standard
195  We will describe, starting in Section  We will describe, starting in Section
196  \begin_inset LatexCommand \vref{sub:x.1.2Basic-Elements}  \begin_inset LatexCommand vref
197    reference "sub:x.1.2Basic-Elements"
198    
199  \end_inset  \end_inset
200    
# Line 192  ASCEND\InsetSpace ~ Line 209  ASCEND\InsetSpace ~
209  is\InsetSpace ~  is\InsetSpace ~
210  cAsE\InsetSpace ~  cAsE\InsetSpace ~
211  sensitive  sensitive
212  \begin_inset LatexCommand \index{case sensitive}  \begin_inset LatexCommand index
213    name "case sensitive"
214    
215  \end_inset  \end_inset
216    
# Line 217  This case restriction makes our code ver Line 235  This case restriction makes our code ver
235   find ourselves running out of good variable names if we are restricted   find ourselves running out of good variable names if we are restricted
236   to a 26 letter alphabet.   to a 26 letter alphabet.
237   We have developed smart add-ins for two UNIX editors, EMACS   We have developed smart add-ins for two UNIX editors, EMACS
238  \begin_inset LatexCommand \index{EMACS}  \begin_inset LatexCommand index
239    name "EMACS"
240    
241  \end_inset  \end_inset
242    
243   and vi   and vi
244  \begin_inset LatexCommand \index{vi}  \begin_inset LatexCommand index
245    name "vi"
246    
247  \end_inset  \end_inset
248    
# Line 240  The ASCEND IV parser is very picky and p Line 260  The ASCEND IV parser is very picky and p
260    
261  \begin_layout Section  \begin_layout Section
262  Punctuation  Punctuation
263  \begin_inset LatexCommand \index{punctuation}  \begin_inset LatexCommand index
264    name "punctuation"
265    
266  \end_inset  \end_inset
267    
# Line 256  This section covers both the punctuation Line 277  This section covers both the punctuation
277  \begin_layout List  \begin_layout List
278  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
279  keywords  keywords
280  \begin_inset LatexCommand \index{keywords}  \begin_inset LatexCommand index
281    name "keywords"
282    
283  \end_inset  \end_inset
284    
# Line 286  Tips: Special notes and hints are someti Line 308  Tips: Special notes and hints are someti
308    
309  \bar under  \bar under
310  LHS  LHS
311  \begin_inset LatexCommand \index{LHS}  \begin_inset LatexCommand index
312    name "LHS"
313    
314  \end_inset  \end_inset
315    
# Line 301  LHS Line 324  LHS
324    
325  \bar under  \bar under
326  RHS  RHS
327  \begin_inset LatexCommand \index{RHS}  \begin_inset LatexCommand index
328    name "RHS"
329    
330  \end_inset  \end_inset
331    
# Line 317  RHS Line 341  RHS
341  \bar under  \bar under
342  Simple\InsetSpace ~  Simple\InsetSpace ~
343  names  names
344  \begin_inset LatexCommand \index{simple names}  \begin_inset LatexCommand index
345    name "simple names"
346    
347  \end_inset  \end_inset
348    
# Line 328  names Line 353  names
353   The underscore is used as a letter, but it cannot be the first letter in   The underscore is used as a letter, but it cannot be the first letter in
354   a name.   a name.
355   The $   The $
356  \begin_inset LatexCommand \index{\$}  \begin_inset LatexCommand index
357    name "\\$"
358    
359  \end_inset  \end_inset
360    
361   character is used exclusively as the first character in the name of system   character is used exclusively as the first character in the name of system
362   defined built-in parts.   defined built-in parts.
363   "$" is explained in more detail in Section   "$" is explained in more detail in Section
364  \begin_inset LatexCommand \vref{sub:x.6.2Supported-attributes}  \begin_inset LatexCommand vref
365    reference "sub:x.6.2Supported-attributes"
366    
367  \end_inset  \end_inset
368    
# Line 350  names Line 377  names
377  \bar under  \bar under
378  Compound\InsetSpace ~  Compound\InsetSpace ~
379  names  names
380  \begin_inset LatexCommand \index{compound names}  \begin_inset LatexCommand index
381    name "compound names"
382    
383  \end_inset  \end_inset
384    
# Line 371  Groupings: Line 399  Groupings:
399  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
400    
401  \bar under  \bar under
402  «\InsetSpace ~  Â«\InsetSpace ~
403  »  Â»
404  \bar default  \bar default
405   In documentation   In documentation
406  \series bold  \series bold
407  optional fields  optional fields
408  \series default  \series default
409    
410  \begin_inset LatexCommand \index{optional fields}  \begin_inset LatexCommand index
411    name "optional fields"
412    
413  \end_inset  \end_inset
414    
# Line 394  optional fields Line 423  optional fields
423  *)  *)
424  \family default  \family default
425    
426  \begin_inset LatexCommand \index{(* *)}  \begin_inset LatexCommand index
427    name "(* *)"
428    
429  \end_inset  \end_inset
430    
431   Comment.   Comment.
432   Anything inside these is a comment.   Anything inside these is a comment.
433   Comments can nest   Comments can nest
434  \begin_inset LatexCommand \index{nest}  \begin_inset LatexCommand index
435    name "nest"
436    
437  \end_inset  \end_inset
438    
# Line 416  optional fields Line 447  optional fields
447  )  )
448  \family default  \family default
449    
450  \begin_inset LatexCommand \index{( )}  \begin_inset LatexCommand index
451    name "( )"
452    
453  \end_inset  \end_inset
454    
455   Rounded parentheses   Rounded parentheses
456  \begin_inset LatexCommand \index{parentheses}  \begin_inset LatexCommand index
457    name "parentheses"
458    
459  \end_inset  \end_inset
460    
461    
462  \begin_inset LatexCommand \index{rounded parentheses}  \begin_inset LatexCommand index
463    name "rounded parentheses"
464    
465  \end_inset  \end_inset
466    
# Line 453  tip: The compiler can simplify relation Line 487  tip: The compiler can simplify relation
487  }  }
488  \family default  \family default
489    
490  \begin_inset LatexCommand \index{{ }}  \begin_inset LatexCommand index
491    name "{ }"
492    
493  \end_inset  \end_inset
494    
495   Curly braces   Curly braces
496  \begin_inset LatexCommand \index{Curly braces}  \begin_inset LatexCommand index
497    name "Curly braces"
498    
499  \end_inset  \end_inset
500    
# Line 478  tip: The compiler can simplify relation Line 514  tip: The compiler can simplify relation
514  ]  ]
515  \family default  \family default
516    
517  \begin_inset LatexCommand \index{[ ]}  \begin_inset LatexCommand index
518    name "[ ]"
519    
520  \end_inset  \end_inset
521    
522   Square brackets   Square brackets
523  \begin_inset LatexCommand \index{square brackets}  \begin_inset LatexCommand index
524    name "square brackets"
525    
526  \end_inset  \end_inset
527    
# Line 502  tip: The compiler can simplify relation Line 540  tip: The compiler can simplify relation
540  .  .
541  \family default  \family default
542    
543  \begin_inset LatexCommand \index{.}  \begin_inset LatexCommand index
544    name "."
545    
546  \end_inset  \end_inset
547    
548   Dot   Dot
549  \begin_inset LatexCommand \index{dot}  \begin_inset LatexCommand index
550    name "dot"
551    
552  \end_inset  \end_inset
553    
# Line 525  tip: The compiler can simplify relation Line 565  tip: The compiler can simplify relation
565  ..  ..
566  \family default  \family default
567    
568  \begin_inset LatexCommand \index{..}  \begin_inset LatexCommand index
569    name ".."
570    
571  \end_inset  \end_inset
572    
573   Dot-dot or double dot   Dot-dot or double dot
574  \begin_inset LatexCommand \index{double dot}  \begin_inset LatexCommand index
575    name "double dot"
576    
577  \end_inset  \end_inset
578    
# Line 550  tip: The compiler can simplify relation Line 592  tip: The compiler can simplify relation
592  :  :
593  \family default  \family default
594    
595  \begin_inset LatexCommand \index{:}  \begin_inset LatexCommand index
596    name ":"
597    
598  \end_inset  \end_inset
599    
600   Colon   Colon
601  \begin_inset LatexCommand \index{colon}  \begin_inset LatexCommand index
602    name "colon"
603    
604  \end_inset  \end_inset
605    
# Line 571  tip: The compiler can simplify relation Line 615  tip: The compiler can simplify relation
615  ::  ::
616  \family default  \family default
617    
618  \begin_inset LatexCommand \index{::}  \begin_inset LatexCommand index
619    name "::"
620    
621  \end_inset  \end_inset
622    
623   Double colon   Double colon
624  \begin_inset LatexCommand \index{double colon}  \begin_inset LatexCommand index
625    name "double colon"
626    
627  \end_inset  \end_inset
628    
# Line 584  tip: The compiler can simplify relation Line 630  tip: The compiler can simplify relation
630   A separator used in the methods section for accessing methods defined on   A separator used in the methods section for accessing methods defined on
631   types other than the type the method is part of.   types other than the type the method is part of.
632   Explained in Section   Explained in Section
633  \begin_inset LatexCommand \vref{sec:x.4Procedural-statements}  \begin_inset LatexCommand vref
634    reference "sec:x.4Procedural-statements"
635    
636  \end_inset  \end_inset
637    
# Line 598  tip: The compiler can simplify relation Line 645  tip: The compiler can simplify relation
645  ;  ;
646  \family default  \family default
647    
648  \begin_inset LatexCommand \index{;}  \begin_inset LatexCommand index
649    name ";"
650    
651  \end_inset  \end_inset
652    
653   Semicolon   Semicolon
654  \begin_inset LatexCommand \index{semicolon}  \begin_inset LatexCommand index
655    name "semicolon"
656    
657  \end_inset  \end_inset
658    
# Line 614  tip: The compiler can simplify relation Line 663  tip: The compiler can simplify relation
663  \begin_deeper  \begin_deeper
664  \begin_layout Section  \begin_layout Section
665  Basic Elements  Basic Elements
666  \begin_inset LatexCommand \index{basic elements}  \begin_inset LatexCommand index
667    name "basic elements"
668    
669  \end_inset  \end_inset
670    
671    
672  \begin_inset LatexCommand \label{sub:x.1.2Basic-Elements}  \begin_inset LatexCommand label
673    name "sub:x.1.2Basic-Elements"
674    
675  \end_inset  \end_inset
676    
# Line 635  Boolean\InsetSpace ~ Line 686  Boolean\InsetSpace ~
686  value  value
687  \bar default  \bar default
688    
689  \begin_inset LatexCommand \index{value, Boolean}  \begin_inset LatexCommand index
690    name "value, Boolean"
691    
692  \end_inset  \end_inset
693    
694    
695  \begin_inset LatexCommand \index{Boolean value}  \begin_inset LatexCommand index
696    name "Boolean value"
697    
698  \end_inset  \end_inset
699    
# Line 649  value Line 702  value
702  TRUE  TRUE
703  \family default  \family default
704    
705  \begin_inset LatexCommand \index{TRUE}  \begin_inset LatexCommand index
706    name "TRUE"
707    
708  \end_inset  \end_inset
709    
# Line 658  TRUE Line 712  TRUE
712  FALSE  FALSE
713  \family default  \family default
714    
715  \begin_inset LatexCommand \index{FALSE}  \begin_inset LatexCommand index
716    name "FALSE"
717    
718  \end_inset  \end_inset
719    
# Line 693  Integer\InsetSpace ~ Line 748  Integer\InsetSpace ~
748  value  value
749  \bar default  \bar default
750    
751  \begin_inset LatexCommand \index{value, integer}  \begin_inset LatexCommand index
752    name "value, integer"
753    
754  \end_inset  \end_inset
755    
756    
757  \begin_inset LatexCommand \index{integer value}  \begin_inset LatexCommand index
758    name "integer value"
759    
760  \end_inset  \end_inset
761    
# Line 709  value Line 766  value
766  MAX_INTEGER  MAX_INTEGER
767  \family default  \family default
768    
769  \begin_inset LatexCommand \index{MAX\_INTEGER}  \begin_inset LatexCommand index
770    name "MAX\\_INTEGER"
771    
772  \end_inset  \end_inset
773    
# Line 742  Real\InsetSpace ~ Line 800  Real\InsetSpace ~
800  value  value
801  \bar default  \bar default
802    
803  \begin_inset LatexCommand \index{value. real}  \begin_inset LatexCommand index
804    name "value. real"
805    
806  \end_inset  \end_inset
807    
808    
809  \begin_inset LatexCommand \index{real value}  \begin_inset LatexCommand index
810    name "real value"
811    
812  \end_inset  \end_inset
813    
814   ASCEND represents reals almost exactly as any other mathematically oriented   ASCEND represents reals almost exactly as any other mathematically oriented
815   programming language does.   programming language does.
816   The mantissa   The mantissa
817  \begin_inset LatexCommand \index{mantissa}  \begin_inset LatexCommand index
818    name "mantissa"
819    
820  \end_inset  \end_inset
821    
# Line 776  E Line 837  E
837  MAX_REAL  MAX_REAL
838  \family default  \family default
839    
840  \begin_inset LatexCommand \index{MAX\_REAL}  \begin_inset LatexCommand index
841    name "MAX\\_REAL"
842    
843  \end_inset  \end_inset
844    
# Line 846  Reals\InsetSpace ~ Line 908  Reals\InsetSpace ~
908  stored\InsetSpace ~  stored\InsetSpace ~
909  in\InsetSpace ~  in\InsetSpace ~
910  SI  SI
911  \begin_inset LatexCommand \index{SI}  \begin_inset LatexCommand index
912    name "SI"
913    
914  \end_inset  \end_inset
915    
# Line 859  units Line 922  units
922  \begin_deeper  \begin_deeper
923  \begin_layout Standard  \begin_layout Standard
924  We store all real values as double precision  We store all real values as double precision
925  \begin_inset LatexCommand \index{double precision}  \begin_inset LatexCommand index
926    name "double precision"
927    
928  \end_inset  \end_inset
929    
930   numbers in the metre-kilogram-second (MKS)   numbers in the metre-kilogram-second (MKS)
931  \begin_inset LatexCommand \index{MKS}  \begin_inset LatexCommand index
932    name "MKS"
933    
934  \end_inset  \end_inset
935    
# Line 881  We store all real values as double preci Line 946  We store all real values as double preci
946    
947  \bar under  \bar under
948  Dimensionality  Dimensionality
949  \begin_inset LatexCommand \index{dimensionality}  \begin_inset LatexCommand index
950    name "dimensionality"
951    
952  \end_inset  \end_inset
953    
# Line 898  units Line 964  units
964  \series default  \series default
965   such as ft/s.   such as ft/s.
966   ASCEND takes care of mapping between units   ASCEND takes care of mapping between units
967  \begin_inset LatexCommand \index{units}  \begin_inset LatexCommand index
968    name "units"
969    
970  \end_inset  \end_inset
971    
972   and dimensions.   and dimensions.
973   A value without units (this includes integer values) is taken to be dimensionle   A value without units (this includes integer values) is taken to be dimensionle
974  ss  ss
975  \begin_inset LatexCommand \index{dimensionless}  \begin_inset LatexCommand index
976    name "dimensionless"
977    
978  \end_inset  \end_inset
979    
# Line 923  definition; typical units Line 991  definition; typical units
991  \begin_layout List  \begin_layout List
992  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
993  L  L
994  \begin_inset LatexCommand \index{L, length dimension}  \begin_inset LatexCommand index
995    name "L, length dimension"
996    
997  \end_inset  \end_inset
998    
999   length   length
1000  \begin_inset LatexCommand \index{length}  \begin_inset LatexCommand index
1001    name "length"
1002    
1003  \end_inset  \end_inset
1004    
# Line 938  L Line 1008  L
1008  \begin_layout List  \begin_layout List
1009  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
1010  M  M
1011  \begin_inset LatexCommand \index{M, mass dimension}  \begin_inset LatexCommand index
1012    name "M, mass dimension"
1013    
1014  \end_inset  \end_inset
1015    
1016   mass   mass
1017  \begin_inset LatexCommand \index{mass}  \begin_inset LatexCommand index
1018    name "mass"
1019    
1020  \end_inset  \end_inset
1021    
# Line 953  M Line 1025  M
1025  \begin_layout List  \begin_layout List
1026  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
1027  T  T
1028  \begin_inset LatexCommand \index{T, time dimension}  \begin_inset LatexCommand index
1029    name "T, time dimension"
1030    
1031  \end_inset  \end_inset
1032    
1033   time   time
1034  \begin_inset LatexCommand \index{time}  \begin_inset LatexCommand index
1035    name "time"
1036    
1037  \end_inset  \end_inset
1038    
# Line 968  T Line 1042  T
1042  \begin_layout List  \begin_layout List
1043  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
1044  E  E
1045  \begin_inset LatexCommand \index{E, electric current dimension}  \begin_inset LatexCommand index
1046    name "E, electric current dimension"
1047    
1048  \end_inset  \end_inset
1049    
1050   electric current   electric current
1051  \begin_inset LatexCommand \index{electric current}  \begin_inset LatexCommand index
1052    name "electric current"
1053    
1054  \end_inset  \end_inset
1055    
# Line 983  E Line 1059  E
1059  \begin_layout List  \begin_layout List
1060  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
1061  Q  Q
1062  \begin_inset LatexCommand \index{Q, quantity dimension}  \begin_inset LatexCommand index
1063    name "Q, quantity dimension"
1064    
1065  \end_inset  \end_inset
1066    
1067   quantity   quantity
1068  \begin_inset LatexCommand \index{quantity}  \begin_inset LatexCommand index
1069    name "quantity"
1070    
1071  \end_inset  \end_inset
1072    
# Line 998  Q Line 1076  Q
1076  \begin_layout List  \begin_layout List
1077  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
1078  TMP  TMP
1079  \begin_inset LatexCommand \index{TMP, temperature dimension}  \begin_inset LatexCommand index
1080    name "TMP, temperature dimension"
1081    
1082  \end_inset  \end_inset
1083    
1084   temperature   temperature
1085  \begin_inset LatexCommand \index{temperature}  \begin_inset LatexCommand index
1086    name "temperature"
1087    
1088  \end_inset  \end_inset
1089    
# Line 1013  TMP Line 1093  TMP
1093  \begin_layout List  \begin_layout List
1094  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
1095  LUM  LUM
1096  \begin_inset LatexCommand \index{LUM, luminous intensity dimension}  \begin_inset LatexCommand index
1097    name "LUM, luminous intensity dimension"
1098    
1099  \end_inset  \end_inset
1100    
1101   luminous intensity   luminous intensity
1102  \begin_inset LatexCommand \index{luminous intensity}  \begin_inset LatexCommand index
1103    name "luminous intensity"
1104    
1105  \end_inset  \end_inset
1106    
# Line 1028  LUM Line 1110  LUM
1110  \begin_layout List  \begin_layout List
1111  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
1112  P  P
1113  \begin_inset LatexCommand \index{P, phase angle dimension}  \begin_inset LatexCommand index
1114    name "P, phase angle dimension"
1115    
1116  \end_inset  \end_inset
1117    
1118   plane angle   plane angle
1119  \begin_inset LatexCommand \index{plane angle}  \begin_inset LatexCommand index
1120    name "plane angle"
1121    
1122  \end_inset  \end_inset
1123    
# Line 1043  P Line 1127  P
1127  \begin_layout List  \begin_layout List
1128  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
1129  S  S
1130  \begin_inset LatexCommand \index{S, solid angle dimension}  \begin_inset LatexCommand index
1131    name "S, solid angle dimension"
1132    
1133  \end_inset  \end_inset
1134    
1135   solid angle   solid angle
1136  \begin_inset LatexCommand \index{solid angle}  \begin_inset LatexCommand index
1137    name "solid angle"
1138    
1139  \end_inset  \end_inset
1140    
# Line 1058  S Line 1144  S
1144  \begin_layout List  \begin_layout List
1145  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
1146  C  C
1147  \begin_inset LatexCommand \index{C, currency dimension}  \begin_inset LatexCommand index
1148    name "C, currency dimension"
1149    
1150  \end_inset  \end_inset
1151    
1152   currency   currency
1153  \begin_inset LatexCommand \index{currency}  \begin_inset LatexCommand index
1154    name "currency"
1155    
1156  \end_inset  \end_inset
1157    
# Line 1121  although we do seem them occasionally... Line 1209  although we do seem them occasionally...
1209  \begin_layout Standard  \begin_layout Standard
1210  If the dimensionality for a real value is undefined, then ASCEND gives it  If the dimensionality for a real value is undefined, then ASCEND gives it
1211   a wildcard dimensionality   a wildcard dimensionality
1212  \begin_inset LatexCommand \index{wild card dimensionality}  \begin_inset LatexCommand index
1213    name "wild card dimensionality"
1214    
1215  \end_inset  \end_inset
1216    
# Line 1156  of\InsetSpace ~ Line 1245  of\InsetSpace ~
1245  a\InsetSpace ~  a\InsetSpace ~
1246  dimensionally\InsetSpace ~  dimensionally\InsetSpace ~
1247  consistent  consistent
1248  \begin_inset LatexCommand \index{dimensionally consistent}  \begin_inset LatexCommand index
1249    name "dimensionally consistent"
1250    
1251  \end_inset  \end_inset
1252    
# Line 1201  Unit\InsetSpace ~ Line 1291  Unit\InsetSpace ~
1291  expression  expression
1292  \bar default  \bar default
1293   A unit expression   A unit expression
1294  \begin_inset LatexCommand \index{unit expression}  \begin_inset LatexCommand index
1295    name "unit expression"
1296    
1297  \end_inset  \end_inset
1298    
# Line 1270  R :== 1{GAS_C} Line 1361  R :== 1{GAS_C}
1361  Units  Units
1362  \bar default  \bar default
1363    
1364  \begin_inset LatexCommand \index{units}  \begin_inset LatexCommand index
1365    name "units"
1366    
1367  \end_inset  \end_inset
1368    
# Line 1352  Symbol\InsetSpace ~ Line 1444  Symbol\InsetSpace ~
1444  Value  Value
1445  \bar default  \bar default
1446    
1447  \begin_inset LatexCommand \index{value, symbol}  \begin_inset LatexCommand index
1448    name "value, symbol"
1449    
1450  \end_inset  \end_inset
1451    
1452    
1453  \begin_inset LatexCommand \index{symbol value}  \begin_inset LatexCommand index
1454    name "symbol value"
1455    
1456  \end_inset  \end_inset
1457    
1458   The format for a symbol is that of an arbitrary character string enclosed   The format for a symbol is that of an arbitrary character string enclosed
1459   between two single quotes.   between two single quotes.
1460   There is no way to embed a single quote   There is no way to embed a single quote
1461  \begin_inset LatexCommand \index{'}  \begin_inset LatexCommand index
1462    name "'"
1463    
1464  \end_inset  \end_inset
1465    
1466    
1467  \begin_inset LatexCommand \index{single quote}  \begin_inset LatexCommand index
1468    name "single quote"
1469    
1470  \end_inset  \end_inset
1471    
# Line 1403  water (no single quotes given) Line 1499  water (no single quotes given)
1499  \end_layout  \end_layout
1500    
1501  \begin_layout LyX-Code  \begin_layout LyX-Code
1502  i cant do this (no embedded quotes)  'i can't do this' (no embedded quotes)
1503  \end_layout  \end_layout
1504    
1505  \begin_layout Standard  \begin_layout Standard
# Line 1417  There is an arbitrary upper limit to the Line 1513  There is an arbitrary upper limit to the
1513  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
1514  Sets\InsetSpace ~  Sets\InsetSpace ~
1515  values  values
1516  \begin_inset LatexCommand \index{values, set}  \begin_inset LatexCommand index
1517    name "values, set"
1518    
1519  \end_inset  \end_inset
1520    
1521    
1522  \begin_inset LatexCommand \index{set values}  \begin_inset LatexCommand index
1523    name "set values"
1524    
1525  \end_inset  \end_inset
1526    
# Line 1474  symbol_constant Line 1572  symbol_constant
1572  More\InsetSpace ~  More\InsetSpace ~
1573  about\InsetSpace ~  about\InsetSpace ~
1574  sets  sets
1575  \begin_inset LatexCommand \index{sets}  \begin_inset LatexCommand index
1576    name "sets"
1577    
1578  \end_inset  \end_inset
1579    
# Line 1482  sets Line 1581  sets
1581  in\InsetSpace ~  in\InsetSpace ~
1582  Section\InsetSpace ~  Section\InsetSpace ~
1583    
1584  \begin_inset LatexCommand \vref{sub:x.2.2Sets}  \begin_inset LatexCommand vref
1585    reference "sub:x.2.2Sets"
1586    
1587  \end_inset  \end_inset
1588    
# Line 1524  n_stages Line 1624  n_stages
1624  \family default  \family default
1625   in the fourth set is ignored.   in the fourth set is ignored.
1626   The fifth set is the empty set   The fifth set is the empty set
1627  \begin_inset LatexCommand \index{empty set}  \begin_inset LatexCommand index
1628    name "empty set"
1629    
1630  \end_inset  \end_inset
1631    
1632    
1633  \begin_inset LatexCommand \index{set, empty}  \begin_inset LatexCommand index
1634    name "set, empty"
1635    
1636  \end_inset  \end_inset
1637    
# Line 1541  We use the term set in an almost pure ma Line 1643  We use the term set in an almost pure ma
1643   The elements have no order.   The elements have no order.
1644   One can only ask two things of a set: (1) if an element is a member of   One can only ask two things of a set: (1) if an element is a member of
1645   it and (2) its cardinality   it and (2) its cardinality
1646  \begin_inset LatexCommand \index{cardinality}  \begin_inset LatexCommand index
1647    name "cardinality"
1648    
1649  \end_inset  \end_inset
1650    
# Line 1550  We use the term set in an almost pure ma Line 1653  We use the term set in an almost pure ma
1653  CARD  CARD
1654  \family default  \family default
1655    
1656  \begin_inset LatexCommand \index{CARD}  \begin_inset LatexCommand index
1657    name "CARD"
1658    
1659  \end_inset  \end_inset
1660    
# Line 1585  unordered. Line 1689  unordered.
1689  Arrays  Arrays
1690  \bar default  \bar default
1691    
1692  \begin_inset LatexCommand \index{arrays}  \begin_inset LatexCommand index
1693    name "arrays"
1694    
1695  \end_inset  \end_inset
1696    
# Line 1665  n_stages Line 1770  n_stages
1770    
1771  \begin_layout Standard  \begin_layout Standard
1772  There can be any number of subscripts  There can be any number of subscripts
1773  \begin_inset LatexCommand \index{subscripts}  \begin_inset LatexCommand index
1774    name "subscripts"
1775    
1776  \end_inset  \end_inset
1777    
# Line 1673  There can be any number of subscripts Line 1779  There can be any number of subscripts
1779   We point out, however, that in virtually every application of arrays requiring   We point out, however, that in virtually every application of arrays requiring
1780   more than two subscripts, there is usually a some underlying concept that   more than two subscripts, there is usually a some underlying concept that
1781   is much better modeled as an object than as part of a deeply subscripted   is much better modeled as an object than as part of a deeply subscripted
1782  \begin_inset LatexCommand \index{subscripted, deeply}  \begin_inset LatexCommand index
1783    name "subscripted, deeply"
1784    
1785  \end_inset  \end_inset
1786    
1787    
1788  \begin_inset LatexCommand \index{deeply subscripted}  \begin_inset LatexCommand index
1789    name "deeply subscripted"
1790    
1791  \end_inset  \end_inset
1792    
# Line 1698  be\InsetSpace ~ Line 1806  be\InsetSpace ~
1806  jagged  jagged
1807  \bar default  \bar default
1808    
1809  \begin_inset LatexCommand \label{lyx:Arrays-can-be}  \begin_inset LatexCommand label
1810    name "lyx:Arrays-can-be"
1811    
1812  \end_inset  \end_inset
1813    
1814   Arrays can be sparse   Arrays can be sparse
1815  \begin_inset LatexCommand \index{sparse}  \begin_inset LatexCommand index
1816    name "sparse"
1817    
1818  \end_inset  \end_inset
1819    
1820   or jagged   or jagged
1821  \begin_inset LatexCommand \index{jagged}  \begin_inset LatexCommand index
1822    name "jagged"
1823    
1824  \end_inset  \end_inset
1825    
# Line 1831  a[1..2] Line 1942  a[1..2]
1942  No\InsetSpace ~  No\InsetSpace ~
1943  contiguous\InsetSpace ~  contiguous\InsetSpace ~
1944  storage  storage
1945  \begin_inset LatexCommand \index{contiguous storage, no}  \begin_inset LatexCommand index
1946    name "contiguous storage, no"
1947    
1948  \end_inset  \end_inset
1949    
# Line 1842  storage Line 1954  storage
1954  \begin_layout Standard  \begin_layout Standard
1955  Just in case you still have not caught on, ASCEND arrays are not blocks  Just in case you still have not caught on, ASCEND arrays are not blocks
1956   of memory such as are seen in low-level languages like C   of memory such as are seen in low-level languages like C
1957  \begin_inset LatexCommand \index{C, computer language}  \begin_inset LatexCommand index
1958    name "C, computer language"
1959    
1960  \end_inset  \end_inset
1961    
1962  , FORTRAN  , FORTRAN
1963  \begin_inset LatexCommand \index{FORTRAN}  \begin_inset LatexCommand index
1964    name "FORTRAN"
1965    
1966  \end_inset  \end_inset
1967    
1968  , and Matlab  , and Matlab
1969  \begin_inset LatexCommand \index{Matlab}  \begin_inset LatexCommand index
1970    name "Matlab"
1971    
1972  \end_inset  \end_inset
1973    
1974  .  .
1975   The modeling language does not provide things like MatMult   The modeling language does not provide things like MatMult
1976  \begin_inset LatexCommand \index{MatMult}  \begin_inset LatexCommand index
1977    name "MatMult"
1978    
1979  \end_inset  \end_inset
1980    
1981  , Transpose  , Transpose
1982  \begin_inset LatexCommand \index{Transpose}  \begin_inset LatexCommand index
1983    name "Transpose"
1984    
1985  \end_inset  \end_inset
1986    
1987  , and Inverse  , and Inverse
1988  \begin_inset LatexCommand \index{Inverse}  \begin_inset LatexCommand index
1989    name "Inverse"
1990    
1991  \end_inset  \end_inset
1992    
# Line 1884  Just in case you still have not caught o Line 2002  Just in case you still have not caught o
2002  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
2003  Index\InsetSpace ~  Index\InsetSpace ~
2004  variable  variable
2005  \begin_inset LatexCommand \index{index variable}  \begin_inset LatexCommand index
2006    name "index variable"
2007    
2008  \end_inset  \end_inset
2009    
# Line 1919  In this example i implicitly is of the s Line 2038  In this example i implicitly is of the s
2038  \begin_layout List  \begin_layout List
2039  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
2040  Label  Label
2041  \begin_inset LatexCommand \index{label}  \begin_inset LatexCommand index
2042    name "label"
2043    
2044  \end_inset  \end_inset
2045    
# Line 2004  for the unlabeled 14th relation in the m Line 2124  for the unlabeled 14th relation in the m
2124  Lists  Lists
2125  \bar default  \bar default
2126    
2127  \begin_inset LatexCommand \index{lists}  \begin_inset LatexCommand index
2128    name "lists"
2129    
2130  \end_inset  \end_inset
2131    
# Line 2037  stage[1..n_stages] Line 2158  stage[1..n_stages]
2158  \bar under  \bar under
2159  Ordered\InsetSpace ~  Ordered\InsetSpace ~
2160  lists  lists
2161  \begin_inset LatexCommand \index{lists, ordered}  \begin_inset LatexCommand index
2162    name "lists, ordered"
2163    
2164  \end_inset  \end_inset
2165    
2166    
2167  \begin_inset LatexCommand \index{ordered lists}  \begin_inset LatexCommand index
2168    name "ordered lists"
2169    
2170  \end_inset  \end_inset
2171    
# Line 2066  Basic Concepts Line 2189  Basic Concepts
2189    
2190  \bar under  \bar under
2191  Instances  Instances
2192  \begin_inset LatexCommand \index{instances}  \begin_inset LatexCommand index
2193    name "instances"
2194    
2195  \end_inset  \end_inset
2196    
# Line 2075  and\InsetSpace ~ Line 2199  and\InsetSpace ~
2199  types  types
2200  \bar default  \bar default
2201    
2202  \begin_inset LatexCommand \index{types}  \begin_inset LatexCommand index
2203    name "types"
2204    
2205  \end_inset  \end_inset
2206    
# Line 2122  Implicit\InsetSpace ~ Line 2247  Implicit\InsetSpace ~
2247  types  types
2248  \bar default  \bar default
2249    
2250  \begin_inset LatexCommand \index{types, implicit}  \begin_inset LatexCommand index
2251    name "types, implicit"
2252    
2253  \end_inset  \end_inset
2254    
2255    
2256  \begin_inset LatexCommand \index{types, implicit}  \begin_inset LatexCommand index
2257    name "types, implicit"
2258    
2259  \end_inset  \end_inset
2260    
# Line 2147  status collapsed Line 2274  status collapsed
2274  anonymous  anonymous
2275  \emph default  \emph default
2276    
2277  \begin_inset LatexCommand \index{type, anonymous}  \begin_inset LatexCommand index
2278    name "type, anonymous"
2279    
2280  \end_inset  \end_inset
2281    
2282    
2283  \begin_inset LatexCommand \index{anonymous type}  \begin_inset LatexCommand index
2284    name "anonymous type"
2285    
2286  \end_inset  \end_inset
2287    
# Line 2203  j Line 2332  j
2332  Instances which are either formally or implicitly type incompatible cannot  Instances which are either formally or implicitly type incompatible cannot
2333   be merged.   be merged.
2334   This will be discussed further in Section   This will be discussed further in Section
2335  \begin_inset LatexCommand \vref{sec:x.3Declarative-statements}  \begin_inset LatexCommand vref
2336    reference "sec:x.3Declarative-statements"
2337    
2338  \end_inset  \end_inset
2339    
# Line 2214  Instances which are either formally or i Line 2344  Instances which are either formally or i
2344  \begin_layout List  \begin_layout List
2345  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
2346  Parsing  Parsing
2347  \begin_inset LatexCommand \index{parsing}  \begin_inset LatexCommand index
2348    name "parsing"
2349    
2350  \end_inset  \end_inset
2351    
# Line 2309  input[2].H Line 2440  input[2].H
2440  Instantiation  Instantiation
2441  \bar default  \bar default
2442    
2443  \begin_inset LatexCommand \index{instantiation}  \begin_inset LatexCommand index
2444    name "instantiation"
2445    
2446  \end_inset  \end_inset
2447    
2448   Creating an simulation based on a type definition is a multi-phase   Creating an simulation based on a type definition is a multi-phase
2449  \begin_inset LatexCommand \index{multi-phase}  \begin_inset LatexCommand index
2450    name "multi-phase"
2451    
2452  \end_inset  \end_inset
2453    
2454   process called compiling   process called compiling
2455  \begin_inset LatexCommand \index{compiling}  \begin_inset LatexCommand index
2456    name "compiling"
2457    
2458  \end_inset  \end_inset
2459    
# Line 2327  Instantiation Line 2461  Instantiation
2461   When an instantiation cannot be completed because some structural parameter   When an instantiation cannot be completed because some structural parameter
2462   (a symbol_constant, real_constant, boolean_constant, integer_constant,   (a symbol_constant, real_constant, boolean_constant, integer_constant,
2463   or set) does not have a value there will be PENDING   or set) does not have a value there will be PENDING
2464  \begin_inset LatexCommand \index{PENDING}  \begin_inset LatexCommand index
2465    name "PENDING"
2466    
2467  \end_inset  \end_inset
2468    
# Line 2338  Instantiation Line 2473  Instantiation
2473  \begin_deeper  \begin_deeper
2474  \begin_layout Standard  \begin_layout Standard
2475  In phase  In phase
2476  \begin_inset LatexCommand \index{phases, compiler}  \begin_inset LatexCommand index
2477    name "phases, compiler"
2478    
2479  \end_inset  \end_inset
2480    
# Line 2398  if and only if Line 2534  if and only if
2534  \begin_layout List  \begin_layout List
2535  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
2536  default_self  default_self
2537  \begin_inset LatexCommand \index{default\_self}  \begin_inset LatexCommand index
2538    name "default\\_self"
2539    
2540  \end_inset  \end_inset
2541    
# Line 2430  Structure building or modifying statemen Line 2567  Structure building or modifying statemen
2567    
2568  \begin_layout Chapter  \begin_layout Chapter
2569  Data Type Declarations  Data Type Declarations
2570  \begin_inset LatexCommand \index{data type declarations}  \begin_inset LatexCommand index
2571    name "data type declarations"
2572    
2573  \end_inset  \end_inset
2574    
# Line 2439  Data Type Declarations Line 2577  Data Type Declarations
2577    
2578  \begin_layout Standard  \begin_layout Standard
2579  In the spectrum of OO languages, ASCEND is best considered as being class-based  In the spectrum of OO languages, ASCEND is best considered as being class-based
2580  \begin_inset LatexCommand \index{class-based}  \begin_inset LatexCommand index
2581    name "class-based"
2582    
2583  \end_inset  \end_inset
2584    
# Line 2463  instances Line 2602  instances
2602  \bar under  \bar under
2603  Type\InsetSpace ~  Type\InsetSpace ~
2604  qualifiers  qualifiers
2605  \begin_inset LatexCommand \index{type qualifiers}  \begin_inset LatexCommand index
2606    name "type qualifiers"
2607    
2608  \end_inset  \end_inset
2609    
# Line 2477  qualifiers Line 2617  qualifiers
2617  UNIVERSAL  UNIVERSAL
2618  \family default  \family default
2619    
2620  \begin_inset LatexCommand \index{UNIVERSAL}  \begin_inset LatexCommand index
2621    name "UNIVERSAL"
2622    
2623  \end_inset  \end_inset
2624    
# Line 2591  Models Line 2732  Models
2732  MODEL  MODEL
2733  \family default  \family default
2734    
2735  \begin_inset LatexCommand \index{MODEL}  \begin_inset LatexCommand index
2736    name "MODEL"
2737    
2738  \end_inset  \end_inset
2739    
# Line 2600  MODEL Line 2742  MODEL
2742   Models are essentially containers for variables and relations.   Models are essentially containers for variables and relations.
2743   We will explain the various statements that can be made within models in   We will explain the various statements that can be made within models in
2744   Section   Section
2745  \begin_inset LatexCommand \vref{sec:x.3Declarative-statements}  \begin_inset LatexCommand vref
2746    reference "sec:x.3Declarative-statements"
2747    
2748  \end_inset  \end_inset
2749    
2750   and Section   and Section
2751  \begin_inset LatexCommand \vref{sec:x.4Procedural-statements}  \begin_inset LatexCommand vref
2752    reference "sec:x.4Procedural-statements"
2753    
2754  \end_inset  \end_inset
2755    
# Line 2615  MODEL Line 2759  MODEL
2759  \begin_layout Standard  \begin_layout Standard
2760  Simple\InsetSpace ~  Simple\InsetSpace ~
2761  models  models
2762  \begin_inset LatexCommand \index{models, simple}  \begin_inset LatexCommand index
2763    name "models, simple"
2764    
2765  \end_inset  \end_inset
2766    
# Line 2688  Parameterized\InsetSpace ~ Line 2833  Parameterized\InsetSpace ~
2833  Models  Models
2834  \bar default  \bar default
2835    
2836  \begin_inset LatexCommand \index{models, parameterized}  \begin_inset LatexCommand index
2837    name "models, parameterized"
2838    
2839  \end_inset  \end_inset
2840    
# Line 2782  END flowsheet; Line 2928  END flowsheet;
2928    
2929  \begin_layout Standard  \begin_layout Standard
2930  In this example, the column model takes the first argument, ntrays, by reference.  In this example, the column model takes the first argument, ntrays, by reference.
2931   That is,   That is,
2932  \family typewriter  \family typewriter
2933   ct.ntrays  ct.ntrays
2934  \family default  \family default
2935   is an alias for the flowsheet instance   is an alias for the flowsheet instance
2936  \family typewriter  \family typewriter
# Line 2830  symbol_constant Line 2976  symbol_constant
2976  \begin_layout Standard  \begin_layout Standard
2977  The use of parameters in ASCEND modeling requires some thought, and we will  The use of parameters in ASCEND modeling requires some thought, and we will
2978   present that set of thoughts in Section   present that set of thoughts in Section
2979  \begin_inset LatexCommand \vref{sec:x.5Parameterized-models}  \begin_inset LatexCommand vref
2980    reference "sec:x.5Parameterized-models"
2981    
2982  \end_inset  \end_inset
2983    
# Line 2843  The use of parameters in ASCEND modeling Line 2990  The use of parameters in ASCEND modeling
2990    
2991  \begin_layout Section  \begin_layout Section
2992  Sets  Sets
2993  \begin_inset LatexCommand \index{sets}  \begin_inset LatexCommand index
2994    name "sets"
2995    
2996  \end_inset  \end_inset
2997    
2998    
2999  \begin_inset LatexCommand \label{sub:x.2.2Sets}  \begin_inset LatexCommand label
3000    name "sub:x.2.2Sets"
3001    
3002  \end_inset  \end_inset
3003    
# Line 2857  Sets Line 3006  Sets
3006    
3007  \begin_layout Standard  \begin_layout Standard
3008  Arrays in ASCEND, as already discussed in Section  Arrays in ASCEND, as already discussed in Section
3009  \begin_inset LatexCommand \vref{sub:x.1.2Basic-Elements}  \begin_inset LatexCommand vref
3010    reference "sub:x.1.2Basic-Elements"
3011    
3012  \end_inset  \end_inset
3013    
# Line 2903  my_symbol_set IS_A set OF symbol_constan Line 3053  my_symbol_set IS_A set OF symbol_constan
3053  :==  :==
3054  \family default  \family default
3055    
3056  \begin_inset LatexCommand \index{:==}  \begin_inset LatexCommand index
3057    name ":=="
3058    
3059  \end_inset  \end_inset
3060    
# Line 2935  Operations Line 3086  Operations
3086  UNION  UNION
3087  \family default  \family default
3088    
3089  \begin_inset LatexCommand \index{UNION}  \begin_inset LatexCommand index
3090    name "UNION"
3091    
3092  \end_inset  \end_inset
3093    
# Line 2962  UNION Line 3114  UNION
3114  \begin_layout List  \begin_layout List
3115  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
3116  +  +
3117  \begin_inset LatexCommand \index{+, sets}  \begin_inset LatexCommand index
3118    name "+, sets"
3119    
3120  \end_inset  \end_inset
3121    
# Line 3026  UNION[A, B] Line 3179  UNION[A, B]
3179  INTERSECTION  INTERSECTION
3180  \family default  \family default
3181    
3182  \begin_inset LatexCommand \index{INTERSECTION}  \begin_inset LatexCommand index
3183    name "INTERSECTION"
3184    
3185  \end_inset  \end_inset
3186    
# Line 3038  INTERSECTION Line 3192  INTERSECTION
3192  \begin_layout List  \begin_layout List
3193  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
3194  *  *
3195  \begin_inset LatexCommand \index{*, sets}  \begin_inset LatexCommand index
3196    name "*, sets"
3197    
3198  \end_inset  \end_inset
3199    
# Line 3093  not Line 3248  not
3248  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
3249  Set\InsetSpace ~  Set\InsetSpace ~
3250  difference  difference
3251  \begin_inset LatexCommand \index{set difference}  \begin_inset LatexCommand index
3252    name "set difference"
3253    
3254  \end_inset  \end_inset
3255    
# Line 3107  difference Line 3263  difference
3263  \begin_layout LyX-Code  \begin_layout LyX-Code
3264    
3265  \family typewriter  \family typewriter
3266  first_set  first_set
3267  \family default  \family default
3268  -   -
3269  \begin_inset LatexCommand \index{-, sets}  \begin_inset LatexCommand index
3270    name "-, sets"
3271    
3272  \end_inset  \end_inset
3273    
3274    
3275  \family typewriter  \family typewriter
3276   second_set  second_set
3277  \end_layout  \end_layout
3278    
3279  \begin_layout Standard  \begin_layout Standard
# Line 3155  B - A Line 3312  B - A
3312  CARD  CARD
3313  \family default  \family default
3314    
3315  \begin_inset LatexCommand \index{CARD}  \begin_inset LatexCommand index
3316    name "CARD"
3317    
3318  \end_inset  \end_inset
3319    
3320  [set] Cardinality  [set] Cardinality
3321  \begin_inset LatexCommand \index{cardinality}  \begin_inset LatexCommand index
3322    name "cardinality"
3323    
3324  \end_inset  \end_inset
3325    
# Line 3175  CARD Line 3334  CARD
3334  CHOICE  CHOICE
3335  \family default  \family default
3336    
3337  \begin_inset LatexCommand \index{CHOICE}  \begin_inset LatexCommand index
3338    name "CHOICE"
3339    
3340  \end_inset  \end_inset
3341    
# Line 3232  A_less_one :== A - [CHOICE[A]]; Line 3392  A_less_one :== A - [CHOICE[A]];
3392  IN  IN
3393  \family default  \family default
3394    
3395  \begin_inset LatexCommand \index{IN}  \begin_inset LatexCommand index
3396    name "IN"
3397    
3398  \end_inset  \end_inset
3399    
# Line 3289  fix this reference Line 3450  fix this reference
3450  SUCH_THAT  SUCH_THAT
3451  \family default  \family default
3452    
3453  \begin_inset LatexCommand \index{SUCH\_THAT}  \begin_inset LatexCommand index
3454    name "SUCH\\_THAT"
3455    
3456  \end_inset  \end_inset
3457    
# Line 3437  END set_example; Line 3599  END set_example;
3599  |  |
3600  \family default  \family default
3601    
3602  \begin_inset LatexCommand \index{|}  \begin_inset LatexCommand index
3603    name "|"
3604    
3605  \end_inset  \end_inset
3606    
# Line 3509  gen_eqn[i] Line 3672  gen_eqn[i]
3672    
3673  \begin_layout Section  \begin_layout Section
3674  Constants  Constants
3675  \begin_inset LatexCommand \index{constants}  \begin_inset LatexCommand index
3676    name "constants"
3677    
3678  \end_inset  \end_inset
3679    
# Line 3552  Sets could be considered constant becaus Line 3716  Sets could be considered constant becaus
3716  real_constant  real_constant
3717  \family default  \family default
3718    
3719  \begin_inset LatexCommand \index{real\_constant}  \begin_inset LatexCommand index
3720    name "real\\_constant"
3721    
3722  \end_inset  \end_inset
3723    
# Line 3596  CONSTANT hydrogen_weight Line 3761  CONSTANT hydrogen_weight
3761  integer_constant  integer_constant
3762  \family default  \family default
3763    
3764  \begin_inset LatexCommand \index{integer\_constant}  \begin_inset LatexCommand index
3765    name "integer\\_constant"
3766    
3767  \end_inset  \end_inset
3768    
# Line 3631  tray[1..n_trays] IS_A vl_equilibrium_tra Line 3797  tray[1..n_trays] IS_A vl_equilibrium_tra
3797  symbol_constant  symbol_constant
3798  \family default  \family default
3799    
3800  \begin_inset LatexCommand \index{symbol\_constant}  \begin_inset LatexCommand index
3801    name "symbol\\_constant"
3802    
3803  \end_inset  \end_inset
3804    
# Line 3646  symbol_constant Line 3813  symbol_constant
3813  boolean_constant  boolean_constant
3814  \family default  \family default
3815    
3816  \begin_inset LatexCommand \index{boolean\_constant}  \begin_inset LatexCommand index
3817    name "boolean\\_constant"
3818    
3819  \end_inset  \end_inset
3820    
# Line 3662  Setting\InsetSpace ~ Line 3830  Setting\InsetSpace ~
3830  constants  constants
3831  \bar default  \bar default
3832    
3833  \begin_inset LatexCommand \index{constants, setting}  \begin_inset LatexCommand index
3834    name "constants, setting"
3835    
3836  \end_inset  \end_inset
3837    
# Line 3672  constants Line 3841  constants
3841  \begin_layout List  \begin_layout List
3842  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
3843  :==  :==
3844  \begin_inset LatexCommand \index{:==}  \begin_inset LatexCommand index
3845    name ":=="
3846    
3847  \end_inset  \end_inset
3848    
# Line 3705  Here it is required that the one or more Line 3875  Here it is required that the one or more
3875    
3876  \begin_layout Section  \begin_layout Section
3877  Variables  Variables
3878  \begin_inset LatexCommand \index{variables}  \begin_inset LatexCommand index
3879    name "variables"
3880    
3881  \end_inset  \end_inset
3882    
# Line 3743  d). Line 3914  d).
3914  ATOM  ATOM
3915  \family default  \family default
3916    
3917  \begin_inset LatexCommand \index{ATOM}  \begin_inset LatexCommand index
3918    name "ATOM"
3919    
3920  \end_inset  \end_inset
3921    
# Line 3762  variable_type Line 3934  variable_type
3934  \end_layout  \end_layout
3935    
3936  \begin_layout LyX-Code  \begin_layout LyX-Code
3937     «DIMENSION     «DIMENSION
3938  \emph on  \emph on
3939  dimension_expression  dimension_expression
3940  \emph default  \emph default
3941  »  Â»
3942  \end_layout  \end_layout
3943    
3944  \begin_layout LyX-Code  \begin_layout LyX-Code
3945     «DEFAULT     «DEFAULT
3946  \emph on  \emph on
3947  value  value
3948  \emph default  \emph default
3949  »; (* note the ; *)  Â»; (* note the ; *)
3950  \end_layout  \end_layout
3951    
3952  \begin_layout LyX-Code  \begin_layout LyX-Code
3953     «     «
3954  \emph on  \emph on
3955  initial attribute assignment  initial attribute assignment
3956  \emph default  \emph default
3957  ;»  ;»
3958  \end_layout  \end_layout
3959    
3960  \begin_layout LyX-Code  \begin_layout LyX-Code
# Line 3801  atom_type_name Line 3973  atom_type_name
3973  DEFAULT  DEFAULT
3974  \family default  \family default
3975    
3976  \begin_inset LatexCommand \index{DEFAULT}  \begin_inset LatexCommand index
3977    name "DEFAULT"
3978    
3979  \end_inset  \end_inset
3980    
# Line 3811  DEFAULT Line 3984  DEFAULT
3984  DIMENSION  DIMENSION
3985  \family default  \family default
3986    
3987  \begin_inset LatexCommand \index{DIMENSION}  \begin_inset LatexCommand index
3988    name "DIMENSION"
3989    
3990  \end_inset  \end_inset
3991    
# Line 3822  and\InsetSpace ~ Line 3996  and\InsetSpace ~
3996  DIMENSIONLESS  DIMENSIONLESS
3997  \family default  \family default
3998    
3999  \begin_inset LatexCommand \index{DIMENSIONLESS}  \begin_inset LatexCommand index
4000    name "DIMENSIONLESS"
4001    
4002  \end_inset  \end_inset
4003    
# Line 3854  DIMENSION Line 4029  DIMENSION
4029  solver_var  solver_var
4030  \family default  \family default
4031    
4032  \begin_inset LatexCommand \index{solver\_var}  \begin_inset LatexCommand index
4033    name "solver\\_var"
4034    
4035  \end_inset  \end_inset
4036    
# Line 3863  solver_var Line 4039  solver_var
4039  ATOM  ATOM
4040  \family default  \family default
4041   and we will say much more about it in Section   and we will say much more about it in Section
4042  \begin_inset LatexCommand \vref{sub:x.6.1Variables-for-solvers}  \begin_inset LatexCommand vref
4043    reference "sub:x.6.1Variables-for-solvers"
4044    
4045  \end_inset  \end_inset
4046    
# Line 3873  ATOM Line 4050  ATOM
4050  \begin_deeper  \begin_deeper
4051  \begin_layout LyX-Code  \begin_layout LyX-Code
4052  ATOM solver_var REFINES real DEFAULT 0.5 {?  ATOM solver_var REFINES real DEFAULT 0.5 {?
4053  \begin_inset LatexCommand \index{?}  \begin_inset LatexCommand index
4054    name "?"
4055    
4056  \end_inset  \end_inset
4057    
# Line 3922  The default field is also optional. Line 4100  The default field is also optional.
4100   with units which are compatible with this dimensionality.   with units which are compatible with this dimensionality.
4101   In the solver_var example, we see a DEFAULT value of 0.5 with the unspecified   In the solver_var example, we see a DEFAULT value of 0.5 with the unspecified
4102   unit   unit
4103  \begin_inset LatexCommand \index{unit, unspecified}  \begin_inset LatexCommand index
4104    name "unit, unspecified"
4105    
4106  \end_inset  \end_inset
4107    
4108    
4109  \begin_inset LatexCommand \index{unspecified unit}  \begin_inset LatexCommand index
4110    name "unspecified unit"
4111    
4112  \end_inset  \end_inset
4113    
4114   {?   {?
4115  \begin_inset LatexCommand \index{}  \begin_inset LatexCommand index
4116    
4117  \end_inset  \end_inset
4118    
4119  } which leaves the dimensionality wild  } which leaves the dimensionality wild
4120  \begin_inset LatexCommand \index{wild dimensionality}  \begin_inset LatexCommand index
4121    name "wild dimensionality"
4122    
4123  \end_inset  \end_inset
4124    
# Line 3948  The default field is also optional. Line 4129  The default field is also optional.
4129  \begin_layout List  \begin_layout List
4130  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
4131  real  real
4132  \begin_inset LatexCommand \index{real}  \begin_inset LatexCommand index
4133    name "real"
4134    
4135  \end_inset  \end_inset
4136    
# Line 3966  real Line 4148  real
4148  \begin_layout List  \begin_layout List
4149  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
4150  integer  integer
4151  \begin_inset LatexCommand \index{integer}  \begin_inset LatexCommand index
4152    name "integer"
4153    
4154  \end_inset  \end_inset
4155    
# Line 3978  integer Line 4161  integer
4161  \begin_layout List  \begin_layout List
4162  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
4163  boolean  boolean
4164  \begin_inset LatexCommand \index{boolean}  \begin_inset LatexCommand index
4165    name "boolean"
4166    
4167  \end_inset  \end_inset
4168    
# Line 3987  boolean Line 4171  boolean
4171   They can also be used procedurally and as variables in logical programming   They can also be used procedurally and as variables in logical programming
4172   models, subject to the logical solver tools semantics.   models, subject to the logical solver tools semantics.
4173   (Compare solver_boolean and boolean_var in Section   (Compare solver_boolean and boolean_var in Section
4174  \begin_inset LatexCommand \vref{sec:x.6Miscellany}  \begin_inset LatexCommand vref
4175    reference "sec:x.6Miscellany"
4176    
4177  \end_inset  \end_inset
4178    
# Line 3997  boolean Line 4182  boolean
4182  \begin_layout List  \begin_layout List
4183  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
4184  symbol  symbol
4185  \begin_inset LatexCommand \index{symbol}  \begin_inset LatexCommand index
4186    name "symbol"
4187    
4188  \end_inset  \end_inset
4189    
# Line 4013  Setting\InsetSpace ~ Line 4199  Setting\InsetSpace ~
4199  variables  variables
4200  \bar default  \bar default
4201    
4202  \begin_inset LatexCommand \index{variables, setting}  \begin_inset LatexCommand index
4203    name "variables, setting"
4204    
4205  \end_inset  \end_inset
4206    
# Line 4023  variables Line 4210  variables
4210  \begin_layout List  \begin_layout List
4211  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
4212  :=  :=
4213  \begin_inset LatexCommand \index{:=}  \begin_inset LatexCommand index
4214    name ":="
4215    
4216  \end_inset  \end_inset
4217    
4218   Procedural equals   Procedural equals
4219  \begin_inset LatexCommand \index{equals, procedural}  \begin_inset LatexCommand index
4220    name "equals, procedural"
4221    
4222  \end_inset  \end_inset
4223    
# Line 4086  Tabular\InsetSpace ~ Line 4275  Tabular\InsetSpace ~
4275  assignments  assignments
4276  \bar default  \bar default
4277    
4278  \begin_inset LatexCommand \index{assignments, tabular}  \begin_inset LatexCommand index
4279    name "assignments, tabular"
4280    
4281  \end_inset  \end_inset
4282    
# Line 4246  For sparse arrays of variables or consta Line 4436  For sparse arrays of variables or consta
4436    
4437  \begin_layout Section  \begin_layout Section
4438  Relations  Relations
4439  \begin_inset LatexCommand \index{relations}  \begin_inset LatexCommand index
4440    name "relations"
4441    
4442  \end_inset  \end_inset
4443    
# Line 4260  Relations Line 4451  Relations
4451  \bar under  \bar under
4452  Mathematical\InsetSpace ~  Mathematical\InsetSpace ~
4453  expression  expression
4454  \begin_inset LatexCommand \index{mathematical expression}  \begin_inset LatexCommand index
4455    name "mathematical expression"
4456    
4457  \end_inset  \end_inset
4458    
4459    
4460  \begin_inset LatexCommand \index{expression, math}  \begin_inset LatexCommand index
4461    name "expression, math"
4462    
4463  \end_inset  \end_inset
4464    
# Line 4299  FOR/CREATE Line 4492  FOR/CREATE
4492  \family default  \family default
4493   and   and
4494  \family sans  \family sans
4495  FOR/DO  FOR/DO
4496  \family default  \family default
4497  statements below.) An example is:   statements below.) An example is:
4498  \end_layout  \end_layout
4499    
4500  \begin_layout LyX-Code  \begin_layout LyX-Code
# Line 4317  Numerical\InsetSpace ~ Line 4510  Numerical\InsetSpace ~
4510  relations  relations
4511  \bar default  \bar default
4512    
4513  \begin_inset LatexCommand \index{relations, numerical}  \begin_inset LatexCommand index
4514    name "relations, numerical"
4515    
4516  \end_inset  \end_inset
4517    
4518    
4519  \begin_inset LatexCommand \index{numerical relations}  \begin_inset LatexCommand index
4520    name "numerical relations"
4521    
4522  \end_inset  \end_inset
4523    
# Line 4375  MINIMIZE Line 4570  MINIMIZE
4570   RHS and LHS must be one or more variables, constants, and operators in   RHS and LHS must be one or more variables, constants, and operators in
4571   a normal algebraic expression.   a normal algebraic expression.
4572   The operators allowed are defined below and in Section   The operators allowed are defined below and in Section
4573  \begin_inset LatexCommand \vref{sub:x.6.3Single-operand-real}  \begin_inset LatexCommand vref
4574    reference "sub:x.6.3Single-operand-real"
4575    
4576  \end_inset  \end_inset
4577    
# Line 4396  FOR/CREATE Line 4592  FOR/CREATE
4592  \bar under  \bar under
4593  Relational\InsetSpace ~  Relational\InsetSpace ~
4594  operators  operators
4595  \begin_inset LatexCommand \index{operators, relational}  \begin_inset LatexCommand index
4596    name "operators, relational"
4597    
4598  \end_inset  \end_inset
4599    
4600    
4601  \begin_inset LatexCommand \index{relational operators}  \begin_inset LatexCommand index
4602    name "relational operators"
4603    
4604  \end_inset  \end_inset
4605    
# Line 4411  operators Line 4609  operators
4609  \begin_layout List  \begin_layout List
4610  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
4611  =  =
4612  \begin_inset LatexCommand \index{=}  \begin_inset LatexCommand index
4613    name "="
4614    
4615  \end_inset  \end_inset
4616    
4617  ,\InsetSpace ~  ,\InsetSpace ~
4618  >=  >=
4619  \begin_inset LatexCommand \index{ >=}  \begin_inset LatexCommand index
4620    name " >="
4621    
4622  \end_inset  \end_inset
4623    
4624  ,\InsetSpace ~  ,\InsetSpace ~
4625  <=  <=
4626  \begin_inset LatexCommand \index{<=}  \begin_inset LatexCommand index
4627    name "<="
4628    
4629  \end_inset  \end_inset
4630    
4631  ,\InsetSpace ~  ,\InsetSpace ~
4632  <  <
4633  \begin_inset LatexCommand \index{<}  \begin_inset LatexCommand index
4634    name "<"
4635    
4636  \end_inset  \end_inset
4637    
4638  ,\InsetSpace ~  ,\InsetSpace ~
4639  >  >
4640  \begin_inset LatexCommand \index{>}  \begin_inset LatexCommand index
4641    name ">"
4642    
4643  \end_inset  \end_inset
4644    
4645  ,\InsetSpace ~  ,\InsetSpace ~
4646  <>  <>
4647  \begin_inset LatexCommand \index{<>}  \begin_inset LatexCommand index
4648    name "<>"
4649    
4650  \end_inset  \end_inset
4651    
# Line 4469  Equations must be dimensionally correct. Line 4673  Equations must be dimensionally correct.
4673  MAXIMIZE  MAXIMIZE
4674  \family default  \family default
4675    
4676  \begin_inset LatexCommand \index{MAXIMIZE}  \begin_inset LatexCommand index
4677    name "MAXIMIZE"
4678    
4679  \end_inset  \end_inset
4680    
# Line 4479  MAXIMIZE Line 4684  MAXIMIZE
4684  MINIMIZE  MINIMIZE
4685  \family default  \family default
4686    
4687  \begin_inset LatexCommand \index{MINIMIZE}  \begin_inset LatexCommand index
4688    name "MINIMIZE"
4689    
4690  \end_inset  \end_inset
4691    
# Line 4499  Objective function indicators. Line 4705  Objective function indicators.
4705  \bar under  \bar under
4706  Binary\InsetSpace ~  Binary\InsetSpace ~
4707  Operators  Operators
4708  \begin_inset LatexCommand \index{operators, binary}  \begin_inset LatexCommand index
4709    name "operators, binary"
4710    
4711  \end_inset  \end_inset
4712    
4713    
4714  \begin_inset LatexCommand \index{binary operators}  \begin_inset LatexCommand index
4715    name "binary operators"
4716    
4717  \end_inset  \end_inset
4718    
# Line 4517  Operators Line 4725  Operators
4725  \begin_layout List  \begin_layout List
4726  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
4727  +  +
4728  \begin_inset LatexCommand \index{+, binary math}  \begin_inset LatexCommand index
4729    name "+, binary math"
4730    
4731  \end_inset  \end_inset
4732    
# Line 4528  Operators Line 4737  Operators
4737  \begin_layout List  \begin_layout List
4738  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
4739  -  -
4740  \begin_inset LatexCommand \index{-, binary math}  \begin_inset LatexCommand index
4741    name "-, binary math"
4742    
4743  \end_inset  \end_inset
4744    
# Line 4539  Operators Line 4749  Operators
4749  \begin_layout List  \begin_layout List
4750  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
4751  *  *
4752  \begin_inset LatexCommand \index{*, binary math}  \begin_inset LatexCommand index
4753    name "*, binary math"
4754    
4755  \end_inset  \end_inset
4756    
# Line 4550  Operators Line 4761  Operators
4761  \begin_layout List  \begin_layout List
4762  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
4763  /  /
4764  \begin_inset LatexCommand \index{/}  \begin_inset LatexCommand index
4765    name "/"
4766    
4767  \end_inset  \end_inset
4768    
# Line 4562  Operators Line 4774  Operators
4774  \begin_layout List  \begin_layout List
4775  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
4776  ^ Power  ^ Power
4777  \begin_inset LatexCommand \index{power}  \begin_inset LatexCommand index
4778    name "power"
4779    
4780  \end_inset  \end_inset
4781    
# Line 4578  Operators Line 4791  Operators
4791  \bar under  \bar under
4792  Unary\InsetSpace ~  Unary\InsetSpace ~
4793  Operators  Operators
4794  \begin_inset LatexCommand \index{operators, unary}  \begin_inset LatexCommand index
4795    name "operators, unary"
4796    
4797  \end_inset  \end_inset
4798    
4799    
4800  \begin_inset LatexCommand \index{unary operators}  \begin_inset LatexCommand index
4801    name "unary operators"
4802    
4803  \end_inset  \end_inset
4804    
4805  :  :
4806  \bar default  \bar default
4807   -   -
4808  \begin_inset LatexCommand \index{-, unary}  \begin_inset LatexCommand index
4809    name "-, unary"
4810    
4811  \end_inset  \end_inset
4812    
# Line 4602  Operators Line 4818  Operators
4818  - Unary minus.  - Unary minus.
4819   Numeric negation.   Numeric negation.
4820   There is no unary +   There is no unary +
4821  \begin_inset LatexCommand \index{+, math unary}  \begin_inset LatexCommand index
4822    name "+, math unary"
4823    
4824  \end_inset  \end_inset
4825    
# Line 4614  Operators Line 4831  Operators
4831    
4832  \family typewriter  \family typewriter
4833  ordered_function  ordered_function
4834  \begin_inset LatexCommand \index{ordered\_function}  \begin_inset LatexCommand index
4835    name "ordered\\_function"
4836    
4837  \end_inset  \end_inset
4838    
# Line 4622  ordered_function Line 4840  ordered_function
4840  \family default  \family default
4841   unary real valued functions.   unary real valued functions.
4842   The unary real functions we support are given in section Section   The unary real functions we support are given in section Section
4843  \begin_inset LatexCommand \vref{sub:x.6.3Single-operand-real}  \begin_inset LatexCommand vref
4844    reference "sub:x.6.3Single-operand-real"
4845    
4846  \end_inset  \end_inset
4847    
# Line 4647  terms: Line 4866  terms:
4866  SUM  SUM
4867  \family default  \family default
4868    
4869  \begin_inset LatexCommand \index{SUM}  \begin_inset LatexCommand index
4870    name "SUM"
4871    
4872  \end_inset  \end_inset
4873    
# Line 4757  not Line 4977  not
4977  \begin_layout List  \begin_layout List
4978  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
4979  PROD  PROD
4980  \begin_inset LatexCommand \index{PROD}  \begin_inset LatexCommand index
4981    name "PROD"
4982    
4983  \end_inset  \end_inset
4984    
# Line 4796  Clarification required Line 5017  Clarification required
5017  \begin_layout List  \begin_layout List
5018  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
5019  MAX  MAX
5020  \begin_inset LatexCommand \index{MAX}  \begin_inset LatexCommand index
5021    name "MAX"
5022    
5023  \end_inset  \end_inset
5024    
# Line 4807  set] (* 4+ *) maximum value on list of a Line 5029  set] (* 4+ *) maximum value on list of a
5029  \begin_layout List  \begin_layout List
5030  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
5031  MIN  MIN
5032  \begin_inset LatexCommand \index{MIN}  \begin_inset LatexCommand index
5033    name "MIN"
5034    
5035  \end_inset  \end_inset
5036    
# Line 4822  status open Line 5045  status open
5045    
5046  \begin_layout Section  \begin_layout Section
5047  Derivatives  Derivatives
5048  \begin_inset LatexCommand \index{derivatives}  \begin_inset LatexCommand index
5049    name "derivatives"
5050    
5051  \end_inset  \end_inset
5052    
# Line 4846  Simply put, we would like to have genera Line 5070  Simply put, we would like to have genera
5070    
5071  \begin_layout Section  \begin_layout Section
5072  External relations  External relations
5073  \begin_inset LatexCommand \index{relations, external}  \begin_inset LatexCommand index
5074    name "relations, external"
5075    
5076  \end_inset  \end_inset
5077    
5078    
5079  \begin_inset LatexCommand \index{external relations}  \begin_inset LatexCommand index
5080    name "external relations"
5081    
5082  \end_inset  \end_inset
5083    
# Line 4861  External relations Line 5087  External relations
5087  \begin_layout Standard  \begin_layout Standard
5088  We cannot document these at the present time.  We cannot document these at the present time.
5089   Some details are available in Kirk Abbott's thesis   Some details are available in Kirk Abbott's thesis
5090  \begin_inset LatexCommand \cite{Abbott1996a}  \begin_inset LatexCommand cite
5091    key "Abbott1996a"
5092    
5093  \end_inset  \end_inset
5094    
# Line 4872  http://ascendwiki.cheme.cmu.edu/ Line 5099  http://ascendwiki.cheme.cmu.edu/
5099    
5100  \begin_layout Section  \begin_layout Section
5101  Conditional modelling  Conditional modelling
5102  \begin_inset LatexCommand \index{relations, conditional}  \begin_inset LatexCommand index
5103    name "relations, conditional"
5104    
5105  \end_inset  \end_inset
5106    
5107    
5108  \begin_inset LatexCommand \index{conditional relations}  \begin_inset LatexCommand index
5109    name "conditional relations"
5110    
5111  \end_inset  \end_inset
5112    
# Line 4897  CONDITIONAL Line 5126  CONDITIONAL
5126  \end_layout  \end_layout
5127    
5128  \begin_layout LyX-Code  \begin_layout LyX-Code
5129    
5130  \emph on  \emph on
5131     list_of_relation_statements    list_of_relation_statements
5132  \end_layout  \end_layout
5133    
5134  \begin_layout LyX-Code  \begin_layout LyX-Code
# Line 4934  Logical\InsetSpace ~ Line 5163  Logical\InsetSpace ~
5163  expression  expression
5164  \bar default  \bar default
5165    
5166  \begin_inset LatexCommand \index{expression, logical}  \begin_inset LatexCommand index
5167    name "expression, logical"
5168    
5169  \end_inset  \end_inset
5170    
5171    
5172  \begin_inset LatexCommand \index{logical expression}  \begin_inset LatexCommand index
5173    name "logical expression"
5174    
5175  \end_inset  \end_inset
5176    
# Line 5033  Logical relations are then made by putti Line 5264  Logical relations are then made by putti
5264  NOTES  NOTES
5265  \family default  \family default
5266    
5267  \begin_inset LatexCommand \index{NOTES}  \begin_inset LatexCommand index
5268    name "NOTES"
5269    
5270  \end_inset  \end_inset
5271    
# Line 5352  Experience has shown that even documenta Line 5584  Experience has shown that even documenta
5584    
5585  \begin_layout Chapter  \begin_layout Chapter
5586  Declarative statements  Declarative statements
5587  \begin_inset LatexCommand \index{statements, declarative}  \begin_inset LatexCommand index
5588    name "statements, declarative"
5589    
5590  \end_inset  \end_inset
5591    
5592    
5593  \begin_inset LatexCommand \index{declarative statements}  \begin_inset LatexCommand index
5594    name "declarative statements"
5595    
5596  \end_inset  \end_inset
5597    
5598    
5599  \begin_inset LatexCommand \label{sec:x.3Declarative-statements}  \begin_inset LatexCommand label
5600    name "sec:x.3Declarative-statements"
5601    
5602  \end_inset  \end_inset
5603    
# Line 5397  METHODS Line 5632  METHODS
5632  Statements  Statements
5633  \bar default  \bar default
5634    
5635  \begin_inset LatexCommand \index{statements}  \begin_inset LatexCommand index
5636    name "statements"
5637    
5638  \end_inset  \end_inset
5639    
# Line 5420  Compound\InsetSpace ~ Line 5656  Compound\InsetSpace ~
5656  statements  statements
5657  \bar default  \bar default
5658    
5659  \begin_inset LatexCommand \index{statements, compound}  \begin_inset LatexCommand index
5660    name "statements, compound"
5661    
5662  \end_inset  \end_inset
5663    
5664    
5665  \begin_inset LatexCommand \index{compound statements}  \begin_inset LatexCommand index
5666    name "compound statements"
5667    
5668  \end_inset  \end_inset
5669    
# Line 5500  CASE Line 5738  CASE
5738  statements  statements
5739  \bar default  \bar default
5740    
5741  \begin_inset LatexCommand \index{statements, CASE}  \begin_inset LatexCommand index
5742    name "statements, CASE"
5743    
5744  \end_inset  \end_inset
5745    
5746    
5747  \begin_inset LatexCommand \index{CASE statements}  \begin_inset LatexCommand index
5748    name "CASE statements"
5749    
5750  \end_inset  \end_inset
5751    
# Line 5540  s which statements to compile based on d Line 5780  s which statements to compile based on d
5780  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
5781  Type\InsetSpace ~  Type\InsetSpace ~
5782  declarations  declarations
5783  \begin_inset LatexCommand \index{declarations, type}  \begin_inset LatexCommand index
5784    name "declarations, type"
5785    
5786  \end_inset  \end_inset
5787    
5788    
5789  \begin_inset LatexCommand \index{yype declarations}  \begin_inset LatexCommand index
5790    name "yype declarations"
5791    
5792  \end_inset  \end_inset
5793    
# Line 5599  Well start with an extremely brief synop Line 5841  Well start with an extremely brief synop
5841  IS_A  IS_A
5842  \family default  \family default
5843    
5844  \begin_inset LatexCommand \index{IS\_A}  \begin_inset LatexCommand index
5845    name "IS\\_A"
5846    
5847  \end_inset  \end_inset
5848    
# Line 5620  IS_A Line 5863  IS_A
5863  IS_REFINED_TO  IS_REFINED_TO
5864  \family default  \family default
5865    
5866  \begin_inset LatexCommand \index{IS\_REFINED\_TO}  \begin_inset LatexCommand index
5867    name "IS\\_REFINED\\_TO"
5868    
5869  \end_inset  \end_inset
5870    
# Line 5651  IS_A Line 5895  IS_A
5895  ALIASES  ALIASES
5896  \family default  \family default
5897    
5898  \begin_inset LatexCommand \index{ALIASES}  \begin_inset LatexCommand index
5899    name "ALIASES"
5900    
5901  \end_inset  \end_inset
5902    
# Line 5686  ARE_THE_SAME Line 5931  ARE_THE_SAME
5931  ALIASES/IS_A  ALIASES/IS_A
5932  \family default  \family default
5933    
5934  \begin_inset LatexCommand \index{ALIASES/IS\_A}  \begin_inset LatexCommand index
5935    name "ALIASES/IS\\_A"
5936    
5937  \end_inset  \end_inset
5938    
# Line 5711  Creates an array of alternate names for Line 5957  Creates an array of alternate names for
5957  WILL_BE  WILL_BE
5958  \family default  \family default
5959    
5960  \begin_inset LatexCommand \index{WILL\_BE}  \begin_inset LatexCommand index
5961    name "WILL\\_BE"
5962    
5963  \end_inset  \end_inset
5964    
# Line 5733  WILL_BE Line 5980  WILL_BE
5980  ARE_THE_SAME  ARE_THE_SAME
5981  \family default  \family default
5982    
5983  \begin_inset LatexCommand \index{ARE\_THE\_SAME}  \begin_inset LatexCommand index
5984    name "ARE\\_THE\\_SAME"
5985    
5986  \end_inset  \end_inset
5987    
# Line 5753  ARE_THE_SAME Line 6001  ARE_THE_SAME
6001  WILL_BE_THE_SAME  WILL_BE_THE_SAME
6002  \family default  \family default
6003    
6004  \begin_inset LatexCommand \index{WILL\_BE\_THE\_SAME}  \begin_inset LatexCommand index
6005    name "WILL\\_BE\\_THE\\_SAME"
6006    
6007  \end_inset  \end_inset
6008    
# Line 5776  d. Line 6025  d.
6025  WILL_NOT_BE_THE_SAME  WILL_NOT_BE_THE_SAME
6026  \family default  \family default
6027    
6028  \begin_inset LatexCommand \index{WILL\_NOT\_BE\_THE\_SAME}  \begin_inset LatexCommand index
6029    name "WILL\\_NOT\\_BE\\_THE\\_SAME"
6030    
6031  \end_inset  \end_inset
6032    
# Line 5807  status open Line 6057  status open
6057  ARE_NOT_THE_SAME  ARE_NOT_THE_SAME
6058  \family default  \family default
6059    
6060  \begin_inset LatexCommand \index{ARE\_NOT\_THE\_SAME}  \begin_inset LatexCommand index
6061    name "ARE\\_NOT\\_THE\\_SAME"
6062    
6063  \end_inset  \end_inset
6064    
# Line 5834  Cannot be merged. Line 6085  Cannot be merged.
6085  ARE_ALIKE  ARE_ALIKE
6086  \family default  \family default
6087    
6088  \begin_inset LatexCommand \index{ARE\_ALIKE}  \begin_inset LatexCommand index
6089    name "ARE\\_ALIKE"
6090    
6091  \end_inset  \end_inset
6092    
6093   Refinement clique   Refinement clique
6094  \begin_inset LatexCommand \index{clique}  \begin_inset LatexCommand index
6095    name "clique"
6096    
6097  \end_inset  \end_inset
6098    
# Line 5858  ARE_ALIKE Line 6111  ARE_ALIKE
6111  FOR/CREATE  FOR/CREATE
6112  \family default  \family default
6113    
6114  \begin_inset LatexCommand \index{FOR/CREATE}  \begin_inset LatexCommand index
6115    name "FOR/CREATE"
6116    
6117  \end_inset  \end_inset
6118    
# Line 5873  FOR/CREATE Line 6127  FOR/CREATE
6127  FOR/CHECK  FOR/CHECK
6128  \family default  \family default
6129    
6130  \begin_inset LatexCommand \index{FOR/CHECK}  \begin_inset LatexCommand index
6131    name "FOR/CHECK"
6132    
6133  \end_inset  \end_inset
6134    
6135   Indexed checking of the conditions (WHERE   Indexed checking of the conditions (WHERE
6136  \begin_inset LatexCommand \index{WHERE}  \begin_inset LatexCommand index
6137    name "WHERE"
6138    
6139  \end_inset  \end_inset
6140    
# Line 5892  FOR/CHECK Line 6148  FOR/CHECK
6148  SELECT/CASE  SELECT/CASE
6149  \family default  \family default
6150    
6151  \begin_inset LatexCommand \index{SELECT/CASE}  \begin_inset LatexCommand index
6152    name "SELECT/CASE"
6153    
6154  \end_inset  \end_inset
6155    
# Line 5923  SELECT Line 6180  SELECT
6180  CONDITIONAL  CONDITIONAL
6181  \family default  \family default
6182    
6183  \begin_inset LatexCommand \index{CONDITIONAL}  \begin_inset LatexCommand index
6184    name "CONDITIONAL"
6185    
6186  \end_inset  \end_inset
6187    
# Line 5954  WHEN Line 6212  WHEN
6212  WHEN/CASE  WHEN/CASE
6213  \family default  \family default
6214    
6215  \begin_inset LatexCommand \index{WHEN/CASE}  \begin_inset LatexCommand index
6216    name "WHEN/CASE"
6217    
6218  \end_inset  \end_inset
6219    
# Line 5972  Reminder: In the following detailed stat Line 6231  Reminder: In the following detailed stat
6231   in capital letters.   in capital letters.
6232   These words must appear in capital letters as shown in ASCEND statements.   These words must appear in capital letters as shown in ASCEND statements.
6233   We show optional parts to a statement enclosed in double angle brackets   We show optional parts to a statement enclosed in double angle brackets
6234   (« ») and user supplied names in lower-case italic letters.   (« ») and user supplied names in lower-case italic letters.
6235   (Remember that ASCEND treats the underscore (_) as a letter).   (Remember that ASCEND treats the underscore (_) as a letter).
6236   The user may substitute any name desired for these names.   The user may substitute any name desired for these names.
6237   We use names that describe the kind of name the user should use.   We use names that describe the kind of name the user should use.
# Line 5990  detail: Line 6249  detail:
6249  \begin_layout List  \begin_layout List
6250  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
6251  IS_A  IS_A
6252  \begin_inset LatexCommand \index{IS\_A}  \begin_inset LatexCommand index
6253    name "IS\\_A"
6254    
6255  \end_inset  \end_inset
6256    
# Line 6009  model_name Line 6269  model_name
6269  \end_layout  \end_layout
6270    
6271  \begin_layout LyX-Code  \begin_layout LyX-Code
6272     «(arguments_if_needed)»;     «(arguments_if_needed)»;
6273  \end_layout  \end_layout
6274    
6275  \begin_layout Standard  \begin_layout Standard
# Line 6036  If a name is used twice in WILL_BE/IS_A/ Line 6296  If a name is used twice in WILL_BE/IS_A/
6296  \begin_layout List  \begin_layout List
6297  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
6298  IS_REFINED_TO  IS_REFINED_TO
6299  \begin_inset LatexCommand \index{IS\_REFINED\_TO}  \begin_inset LatexCommand index
6300    name "IS\\_REFINED\\_TO"
6301    
6302  \end_inset  \end_inset
6303    
# Line 6051  type_name Line 6312  type_name
6312  \end_layout  \end_layout
6313    
6314  \begin_layout LyX-Code  \begin_layout LyX-Code
6315     «(arguments_if_needed)»;     «(arguments_if_needed)»;
6316  \end_layout  \end_layout
6317    
6318  \begin_layout Standard  \begin_layout Standard
# Line 6090  This reconstruction does not occur until Line 6351  This reconstruction does not occur until
6351  \begin_layout List  \begin_layout List
6352  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
6353  ALIASES  ALIASES
6354  \begin_inset LatexCommand \index{ALIASES}  \begin_inset LatexCommand index
6355    name "ALIASES"
6356    
6357  \end_inset  \end_inset
6358    
# Line 6187  The ALIASES RHS can be an element or por Line 6449  The ALIASES RHS can be an element or por
6449  \begin_layout List  \begin_layout List
6450  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
6451  ALIASES/IS_A  ALIASES/IS_A
6452  \begin_inset LatexCommand \index{ALIASES/IS\_A}  \begin_inset LatexCommand index
6453    name "ALIASES/IS\\_A"
6454    
6455  \end_inset  \end_inset
6456    
# Line 6343  If this explanation is unclear, just try Line 6606  If this explanation is unclear, just try
6606  \begin_layout List  \begin_layout List
6607  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
6608  WILL_BE  WILL_BE
6609  \begin_inset LatexCommand \index{WILL\_BE}  \begin_inset LatexCommand index
6610    name "WILL\\_BE"
6611    
6612  \end_inset  \end_inset
6613    
# Line 6385  s. Line 6649  s.
6649  \begin_layout List  \begin_layout List
6650  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
6651  ARE_THE_SAME  ARE_THE_SAME
6652  \begin_inset LatexCommand \index{ARE\_THE\_SAME}  \begin_inset LatexCommand index
6653    name "ARE\\_THE\\_SAME"
6654    
6655  \end_inset  \end_inset
6656    
# Line 6416  status open Line 6681  status open
6681    
6682  \end_layout  \end_layout
6683    
6684  \begin_layout Caption  \begin_layout Standard
6685    \begin_inset Caption
6686    
6687    \begin_layout Standard
6688  Diagram of the Model Type Hierarchy for A, B, C, D, and E Example  Diagram of the Model Type Hierarchy for A, B, C, D, and E Example
6689  \begin_inset LatexCommand \label{fig:HierarchyDiagram}  \begin_inset LatexCommand label
6690    name "fig:HierarchyDiagram"
6691    
6692    \end_inset
6693    
6694    
6695    \end_layout
6696    
6697  \end_inset  \end_inset
6698    
# Line 6433  Diagram of the Model Type Hierarchy for Line 6707  Diagram of the Model Type Hierarchy for
6707  \begin_layout Standard  \begin_layout Standard
6708  All items on the list must have compatible types.  All items on the list must have compatible types.
6709   For the example in Figure   For the example in Figure
6710  \begin_inset LatexCommand \ref{fig:HierarchyDiagram}  \begin_inset LatexCommand ref
6711    reference "fig:HierarchyDiagram"
6712    
6713  \end_inset  \end_inset
6714    
# Line 6575  ARE_NOT_THE_SAME will be documented furt Line 6850  ARE_NOT_THE_SAME will be documented furt
6850  \begin_layout List  \begin_layout List
6851  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
6852  ARE_ALIKE  ARE_ALIKE
6853  \begin_inset LatexCommand \index{ARE\_ALIKE}  \begin_inset LatexCommand index
6854    name "ARE\\_ALIKE"
6855    
6856  \end_inset  \end_inset
6857    
# Line 6667  Finally, because ARE_ALIKE does not recu Line 6943  Finally, because ARE_ALIKE does not recu
6943  \begin_layout List  \begin_layout List
6944  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
6945  FOR/CREATE  FOR/CREATE
6946  \begin_inset LatexCommand \index{FOR/CREATE}  \begin_inset LatexCommand index
6947    name "FOR/CREATE"
6948    
6949  \end_inset  \end_inset
6950    
# Line 6691  set Line 6968  set
6968  \end_layout  \end_layout
6969    
6970  \begin_layout LyX-Code  \begin_layout LyX-Code
6971    
6972  \emph on  \emph on
6973     list_of_statements;    list_of_statements;
6974  \end_layout  \end_layout
6975    
6976  \begin_layout LyX-Code  \begin_layout LyX-Code
# Line 6731  FOR Line 7008  FOR
7008  \family default  \family default
7009   loops can be nested to produce sparse arrays as illustrated in Arrays can   loops can be nested to produce sparse arrays as illustrated in Arrays can
7010   be jagged(   be jagged(
7011  \begin_inset LatexCommand \vpageref{lyx:Arrays-can-be}  \begin_inset LatexCommand vpageref
7012    reference "lyx:Arrays-can-be"
7013    
7014  \end_inset  \end_inset
7015    
# Line 6748  FOR Line 7026  FOR
7026  SELECT/CASE  SELECT/CASE
7027  \family default  \family default
7028    
7029  \begin_inset LatexCommand \index{SELECT/CASE}  \begin_inset LatexCommand index
7030    name "SELECT/CASE"
7031    
7032  \end_inset  \end_inset
7033    
# Line 6765  Declarative. Line 7044  Declarative.
7044  OTHERWISE  OTHERWISE
7045  \family default  \family default
7046    
7047  \begin_inset LatexCommand \index{OTHERWISE}  \begin_inset LatexCommand index
7048    name "OTHERWISE"
7049    
7050  \end_inset  \end_inset
7051    
# Line 6802  SELECT Line 7082  SELECT
7082  CONDITIONAL  CONDITIONAL
7083  \family default  \family default
7084    
7085  \begin_inset LatexCommand \index{CONDITIONAL}  \begin_inset LatexCommand index
7086    name "CONDITIONAL"
7087    
7088  \end_inset  \end_inset
7089    
# Line 6849  $boundary Line 7130  $boundary
7130  WHEN/CASE  WHEN/CASE
7131  \family default  \family default
7132    
7133  \begin_inset LatexCommand \index{WHEN/CASE}  \begin_inset LatexCommand index
7134    name "WHEN/CASE"
7135    
7136  \end_inset  \end_inset
7137    
# Line 6876  s are included in the problem to be solv Line 7158  s are included in the problem to be solv
7158  \begin_deeper  \begin_deeper
7159  \begin_layout Chapter  \begin_layout Chapter
7160  Procedural statements  Procedural statements
7161  \begin_inset LatexCommand \index{statements, procedural}  \begin_inset LatexCommand index
7162    name "statements, procedural"
7163    
7164  \end_inset  \end_inset
7165    
7166    
7167  \begin_inset LatexCommand \index{procedural statements}  \begin_inset LatexCommand index
7168    name "procedural statements"
7169    
7170  \end_inset  \end_inset
7171    
7172    
7173  \begin_inset LatexCommand \label{sec:x.4Procedural-statements}  \begin_inset LatexCommand label
7174    name "sec:x.4Procedural-statements"
7175    
7176  \end_inset  \end_inset
7177    
# Line 6901  Procedural statements Line 7186  Procedural statements
7186  METHODS  METHODS
7187  \family default  \family default
7188    
7189  \begin_inset LatexCommand \index{METHODS}  \begin_inset LatexCommand index
7190    name "METHODS"
7191    
7192  \end_inset  \end_inset
7193    
# Line 6960  METHODS\InsetSpace ~ Line 7246  METHODS\InsetSpace ~
7246  IN  IN
7247  \family default  \family default
7248    
7249  \begin_inset LatexCommand \index{ADD METHODS IN}  \begin_inset LatexCommand index
7250    name "ADD METHODS IN"
7251    
7252  \end_inset  \end_inset
7253    
# Line 6995  METHODS\InsetSpace ~ Line 7282  METHODS\InsetSpace ~
7282  IN  IN
7283  \family default  \family default
7284    
7285  \begin_inset LatexCommand \index{REPLACE METHODS IN}  \begin_inset LatexCommand index
7286    name "REPLACE METHODS IN"
7287    
7288  \end_inset  \end_inset
7289    
# Line 7068  basemodel.a4l Line 7356  basemodel.a4l
7356  \bar under  \bar under
7357  Initialization\InsetSpace ~  Initialization\InsetSpace ~
7358  routines  routines
7359  \begin_inset LatexCommand \index{routines, initialization}  \begin_inset LatexCommand index
7360    name "routines, initialization"
7361    
7362  \end_inset  \end_inset
7363    
7364    
7365  \begin_inset LatexCommand \index{initialization routines}  \begin_inset LatexCommand index
7366    name "initialization routines"
7367    
7368  \end_inset  \end_inset
7369    
# Line 7083  routines Line 7373  routines
7373  \begin_layout List  \begin_layout List
7374  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
7375  METHOD  METHOD
7376  \begin_inset LatexCommand \index{METHOD}  \begin_inset LatexCommand index
7377    name "METHOD"
7378    
7379  \end_inset  \end_inset
7380    
# Line 7183  method_name Line 7474  method_name
7474  \end_layout  \end_layout
7475    
7476  \begin_layout LyX-Code  \begin_layout LyX-Code
7477  «procedural statement;» (*one or more*)  Â«procedural statement;» (*one or more*)
7478  \end_layout  \end_layout
7479    
7480  \begin_layout LyX-Code  \begin_layout LyX-Code
# Line 7203  Procedural\InsetSpace ~ Line 7494  Procedural\InsetSpace ~
7494  assignment  assignment
7495  \bar default  \bar default
7496    
7497  \begin_inset LatexCommand \index{assignment, procedural}  \begin_inset LatexCommand index
7498    name "assignment, procedural"
7499    
7500  \end_inset  \end_inset
7501    
7502    
7503  \begin_inset LatexCommand \index{procedural assignment}  \begin_inset LatexCommand index
7504    name "procedural assignment"
7505    
7506  \end_inset  \end_inset
7507    
# Line 7279  DATA Line 7572  DATA
7572  \begin_layout List  \begin_layout List
7573  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
7574  FOR/DO  FOR/DO
7575  \begin_inset LatexCommand \index{FOR/DO}  \begin_inset LatexCommand index
7576    name "FOR/DO"
7577    
7578  \end_inset  \end_inset
7579    
# Line 7355  is a backward loop. Line 7649  is a backward loop.
7649  IF  IF
7650  \family default  \family default
7651    
7652  \begin_inset LatexCommand \index{IF}  \begin_inset LatexCommand index
7653    name "IF"
7654    
7655  \end_inset  \end_inset
7656    
# Line 7366  IF Line 7661  IF
7661  \begin_layout Standard  \begin_layout Standard
7662  The  The
7663  \family sans  \family sans
7664  IF  IF
7665  \family default  \family default
7666  statement can only appear in a method definition.   statement can only appear in a method definition.
7667   Its syntax is   Its syntax is
7668  \end_layout  \end_layout
7669    
# Line 7476  NOT Line 7771  NOT
7771  SWITCH  SWITCH
7772  \family default  \family default
7773    
7774  \begin_inset LatexCommand \index{SWITCH}  \begin_inset LatexCommand index
7775    name "SWITCH"
7776    
7777  \end_inset  \end_inset
7778    
# Line 7520  EXAMPLE of SWITCH required here Line 7816  EXAMPLE of SWITCH required here
7816  CALL  CALL
7817  \family default  \family default
7818    
7819  \begin_inset LatexCommand \index{CALL}  \begin_inset LatexCommand index
7820    name "CALL"
7821    
7822  \end_inset  \end_inset
7823    
# Line 7530  CALL Line 7827  CALL
7827  EXTERNAL  EXTERNAL
7828  \family default  \family default
7829    
7830  \begin_inset LatexCommand \index{EXTERNAL}  \begin_inset LatexCommand index
7831    name "EXTERNAL"
7832    
7833  \end_inset  \end_inset
7834    
# Line 7544  EXTERNAL Line 7842  EXTERNAL
7842  RUN  RUN
7843  \family default  \family default
7844    
7845  \begin_inset LatexCommand \index{RUN}  \begin_inset LatexCommand index
7846    name "RUN"
7847    
7848  \end_inset  \end_inset
7849    
# Line 7612  When Line 7911  When
7911  model_type::  model_type::
7912  \family default  \family default
7913    
7914  \begin_inset LatexCommand \index{::}  \begin_inset LatexCommand index
7915    name "::"
7916    
7917  \end_inset  \end_inset
7918    
# Line 7684  END bar; Line 7984  END bar;
7984    
7985  \begin_layout Chapter  \begin_layout Chapter
7986  Parameterized models  Parameterized models
7987  \begin_inset LatexCommand \index{models, parameterized}  \begin_inset LatexCommand index
7988    name "models, parameterized"
7989    
7990  \end_inset  \end_inset
7991    
7992    
7993  \begin_inset LatexCommand \index{parameterized models}  \begin_inset LatexCommand index
7994    name "parameterized models"
7995    
7996  \end_inset  \end_inset
7997    
7998    
7999  \begin_inset LatexCommand \label{sec:x.5Parameterized-models}  \begin_inset LatexCommand label
8000    name "sec:x.5Parameterized-models"
8001    
8002  \end_inset  \end_inset
8003    
# Line 7707  Parameterized model definitions have the Line 8010  Parameterized model definitions have the
8010  status collapsed  status collapsed
8011    
8012  \begin_layout Standard  \begin_layout Standard
8013  «» signify optional parts  Â«Â» signify optional parts
8014  \end_layout  \end_layout
8015    
8016  \end_inset  \end_inset
# Line 7728  parameter_list Line 8031  parameter_list
8031  \end_layout  \end_layout
8032    
8033  \begin_layout LyX-Code  \begin_layout LyX-Code
8034  «WHERE (  Â«WHERE (
8035  \emph on  \emph on
8036  where_list  where_list
8037  \emph default  \emph default
8038  ;)»  ;)»
8039  \end_layout  \end_layout
8040    
8041  \begin_layout LyX-Code  \begin_layout LyX-Code
8042  «REFINES  Â«REFINES
8043  \emph on  \emph on
8044  existing_type  existing_type
8045  \emph default  \emph default
8046  «(  Â«(
8047  \emph on  \emph on
8048  assignment_list  assignment_list
8049  \emph default  \emph default
8050  ;)»»;  ;)»»;
8051  \end_layout  \end_layout
8052    
8053  \begin_layout Section  \begin_layout Section
8054  The parameter list  The parameter list
8055  \begin_inset LatexCommand \label{sub:x.5.1The-parameter-list}  \begin_inset LatexCommand label
8056    name "sub:x.5.1The-parameter-list"
8057    
8058  \end_inset  \end_inset
8059    
# Line 7893  The Line 8197  The
8197  WHERE  WHERE
8198  \family default  \family default
8199   list   list
8200  \begin_inset LatexCommand \index{list, WHERE}  \begin_inset LatexCommand index
8201    name "list, WHERE"
8202    
8203  \end_inset  \end_inset
8204    
8205    
8206  \begin_inset LatexCommand \index{WHERE list}  \begin_inset LatexCommand index
8207    name "WHERE list"
8208    
8209  \end_inset  \end_inset
8210    
# Line 7963  l guarantee of object compatibility. Line 8269  l guarantee of object compatibility.
8269    
8270  \begin_layout Section  \begin_layout Section
8271  The assignment list  The assignment list
8272  \begin_inset LatexCommand \index{list, assignment}  \begin_inset LatexCommand index
8273    name "list, assignment"
8274    
8275  \end_inset  \end_inset
8276    
8277    
8278  \begin_inset LatexCommand \index{assignment list}  \begin_inset LatexCommand index
8279    name "assignment list"
8280    
8281  \end_inset  \end_inset
8282    
# Line 7994  IS_A Line 8302  IS_A
8302    
8303  \begin_layout Section  \begin_layout Section
8304  Refining  Refining
8305  \begin_inset LatexCommand \index{refining, parameterized types}  \begin_inset LatexCommand index
8306    name "refining, parameterized types"
8307    
8308  \end_inset  \end_inset
8309    
# Line 8018  S_A Line 8327  S_A
8327   and then assigned in the assignment list are not repeated because the user   and then assigned in the assignment list are not repeated because the user
8328   no longer needs to supply these values.   no longer needs to supply these values.
8329   A refinement of the model test given in Section   A refinement of the model test given in Section
8330  \begin_inset LatexCommand \vref{sub:x.5.1The-parameter-list}  \begin_inset LatexCommand vref
8331    reference "sub:x.5.1The-parameter-list"
8332    
8333  \end_inset  \end_inset
8334    
# Line 8086  In expanded_test, we see that the type o Line 8396  In expanded_test, we see that the type o
8396    
8397  \begin_layout Chapter  \begin_layout Chapter
8398  Miscellany  Miscellany
8399  \begin_inset LatexCommand \label{sec:x.6Miscellany}  \begin_inset LatexCommand label
8400    name "sec:x.6Miscellany"
8401    
8402  \end_inset  \end_inset
8403    
# Line 8095  Miscellany Line 8406  Miscellany
8406    
8407  \begin_layout Section  \begin_layout Section
8408  Variables for solvers  Variables for solvers
8409  \begin_inset LatexCommand \label{sub:x.6.1Variables-for-solvers}  \begin_inset LatexCommand label
8410    name "sub:x.6.1Variables-for-solvers"
8411    
8412  \end_inset  \end_inset
8413    
# Line 8110  Variables for solvers Line 8422  Variables for solvers
8422  solver_var  solver_var
8423  \family default  \family default
8424    
8425  \begin_inset LatexCommand \index{solver\_var}  \begin_inset LatexCommand index
8426    name "solver\\_var"
8427    
8428  \end_inset  \end_inset
8429    
# Line 8163  type, default Line 8476  type, default
8476  lower_bound  lower_bound
8477  \family default  \family default
8478    
8479  \begin_inset LatexCommand \index{lower\_bound}  \begin_inset LatexCommand index
8480    name "lower\\_bound"
8481    
8482  \end_inset  \end_inset
8483    
# Line 8177  lower_bound Line 8491  lower_bound
8491  upper_bound  upper_bound
8492  \family default  \family default
8493    
8494  \begin_inset LatexCommand \index{upper\_bound}  \begin_inset LatexCommand index
8495    name "upper\\_bound"
8496    
8497  \end_inset  \end_inset
8498    
# Line 8191  upper_bound Line 8506  upper_bound
8506  nominal  nominal
8507  \family default  \family default
8508    
8509  \begin_inset LatexCommand \index{nominal}  \begin_inset LatexCommand index
8510    name "nominal"
8511    
8512  \end_inset  \end_inset
8513    
# Line 8205  nominal Line 8521  nominal
8521  fixed  fixed
8522  \family default  \family default
8523    
8524  \begin_inset LatexCommand \index{fixed}  \begin_inset LatexCommand index
8525    name "fixed"
8526    
8527  \end_inset  \end_inset
8528    
# Line 8261  system.a4l Line 8578  system.a4l
8578  generic_real  generic_real
8579  \family default  \family default
8580    
8581  \begin_inset LatexCommand \index{generic\_real}  \begin_inset LatexCommand index
8582    name "generic\\_real"
8583    
8584  \end_inset  \end_inset
8585    
# Line 8311  for\InsetSpace ~ Line 8629  for\InsetSpace ~
8629  MILPs  MILPs
8630  \bar default  \bar default
8631    
8632  \begin_inset LatexCommand \index{MILPs}  \begin_inset LatexCommand index
8633    name "MILPs"
8634    
8635  \end_inset  \end_inset
8636    
# Line 8320  MILPs Line 8639  MILPs
8639  system.a4l  system.a4l
8640  \family default  \family default
8641   are the types for integer, binary, and semi-continuous variables   are the types for integer, binary, and semi-continuous variables
8642  \begin_inset LatexCommand \index{variables, semi-continuous}  \begin_inset LatexCommand index
8643    name "variables, semi-continuous"
8644    
8645  \end_inset  \end_inset
8646    
# Line 8334  system.a4l Line 8654  system.a4l
8654  solver_semi  solver_semi
8655  \family default  \family default
8656    
8657  \begin_inset LatexCommand \index{solver\_semi}  \begin_inset LatexCommand index
8658    name "solver\\_semi"
8659    
8660  \end_inset  \end_inset
8661    
# Line 8344  solver_semi Line 8665  solver_semi
8665  solver_integer  solver_integer
8666  \family default  \family default
8667    
8668  \begin_inset LatexCommand \index{solver\_integer}  \begin_inset LatexCommand index
8669    name "solver\\_integer"
8670    
8671  \end_inset  \end_inset
8672    
# Line 8354  solver_integer Line 8676  solver_integer
8676  solver_binary  solver_binary
8677  \family default  \family default
8678    
8679  \begin_inset LatexCommand \index{solver\_binary}  \begin_inset LatexCommand index
8680    name "solver\\_binary"
8681    
8682  \end_inset  \end_inset
8683    
# Line 8390  solver_binary Line 8713  solver_binary
8713  Integers\InsetSpace ~  Integers\InsetSpace ~
8714  are\InsetSpace ~  are\InsetSpace ~
8715  relaxable  relaxable
8716  \begin_inset LatexCommand \index{relaxable integers}  \begin_inset LatexCommand index
8717    name "relaxable integers"
8718    
8719  \end_inset  \end_inset
8720    
8721    
8722  \begin_inset LatexCommand \index{integers, relaxable}  \begin_inset LatexCommand index
8723    name "integers, relaxable"
8724    
8725  \end_inset  \end_inset
8726    
# Line 8412  relaxable Line 8737  relaxable
8737  Kluges\InsetSpace ~  Kluges\InsetSpace ~
8738  for\InsetSpace ~  for\InsetSpace ~
8739  ODEs  ODEs
8740  \begin_inset LatexCommand \index{ODEs}  \begin_inset LatexCommand index
8741    name "ODEs"
8742    
8743  \end_inset  \end_inset
8744    
# Line 8431  ivpsystem.a4l Line 8757  ivpsystem.a4l
8757  solver_var  solver_var
8758  \family default  \family default
8759   in order to support initial value problem (IVP   in order to support initial value problem (IVP
8760  \begin_inset LatexCommand \index{IVP}  \begin_inset LatexCommand index
8761    name "IVP"
8762    
8763  \end_inset  \end_inset
8764    
8765  ) solvers (integrators  ) solvers (integrators
8766  \begin_inset LatexCommand \index{integrators}  \begin_inset LatexCommand index
8767    name "integrators"
8768    
8769  \end_inset  \end_inset
8770    
# Line 8447  solver_var Line 8775  solver_var
8775  \begin_layout List  \begin_layout List
8776  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
8777  ivpsystem.a4l  ivpsystem.a4l
8778  \begin_inset LatexCommand \index{ivpsystem.a4l}  \begin_inset LatexCommand index
8779    name "ivpsystem.a4l"
8780    
8781  \end_inset  \end_inset
8782    
# Line 8491  the first step towards this is the propo Line 8820  the first step towards this is the propo
8820  \begin_deeper  \begin_deeper
8821  \begin_layout Section  \begin_layout Section
8822  Supported attributes  Supported attributes
8823  \begin_inset LatexCommand \label{sub:x.6.2Supported-attributes}  \begin_inset LatexCommand label
8824    name "sub:x.6.2Supported-attributes"
8825    
8826  \end_inset  \end_inset
8827    
# Line 8543  what's he talking about here? 'derivativ Line 8873  what's he talking about here? 'derivativ
8873  \end_deeper  \end_deeper
8874  \begin_layout Section  \begin_layout Section
8875  Single operand real functions  Single operand real functions
8876  \begin_inset LatexCommand \index{functions, real}  \begin_inset LatexCommand index
8877    name "functions, real"
8878    
8879  \end_inset  \end_inset
8880    
8881    
8882  \begin_inset LatexCommand \label{sub:x.6.3Single-operand-real}  \begin_inset LatexCommand label
8883    name "sub:x.6.3Single-operand-real"
8884    
8885  \end_inset  \end_inset
8886    
# Line 8562  Single operand real functions Line 8894  Single operand real functions
8894  exp  exp
8895  \family default  \family default
8896    
8897  \begin_inset LatexCommand \index{exp}  \begin_inset LatexCommand index
8898    name "exp"
8899    
8900  \end_inset  \end_inset
8901    
# Line 8588  exp Line 8921  exp
8921  ln  ln
8922  \family default  \family default
8923    
8924  \begin_inset LatexCommand \index{ln}  \begin_inset LatexCommand index
8925    name "ln"
8926    
8927  \end_inset  \end_inset
8928    
# Line 8606  ln Line 8940  ln
8940  sin  sin
8941  \family default  \family default
8942    
8943  \begin_inset LatexCommand \index{sin}  \begin_inset LatexCommand index
8944    name "sin"
8945    
8946  \end_inset  \end_inset
8947    
# Line 8622  ally) Line 8957  ally)
8957  cos  cos
8958  \family default  \family default
8959    
8960  \begin_inset LatexCommand \index{cos}  \begin_inset LatexCommand index
8961    name "cos"
8962    
8963  \end_inset  \end_inset
8964    
# Line 8637  cos Line 8973  cos
8973  tan  tan
8974  \family default  \family default
8975    
8976  \begin_inset LatexCommand \index{tan}  \begin_inset LatexCommand index
8977    name "tan"
8978    
8979  \end_inset  \end_inset
8980    
# Line 8652  tan Line 8989  tan
8989  arcsin  arcsin
8990  \family default  \family default
8991    
8992  \begin_inset LatexCommand \index{arcsin}  \begin_inset LatexCommand index
8993    name "arcsin"
8994    
8995  \end_inset  \end_inset
8996    
# Line 8675  arcsin Line 9013  arcsin
9013  arccos  arccos
9014  \family default  \family default
9015    
9016  \begin_inset LatexCommand \index{arccos}  \begin_inset LatexCommand index
9017    name "arccos"
9018    
9019  \end_inset  \end_inset
9020    
# Line 8698  arccos Line 9037  arccos
9037  arctan  arctan
9038  \family default  \family default
9039    
9040  \begin_inset LatexCommand \index{arctan}  \begin_inset LatexCommand index
9041    name "arctan"
9042    
9043  \end_inset  \end_inset
9044    
# Line 8721  arctan Line 9061  arctan
9061  erf  erf
9062  \family default  \family default
9063    
9064  \begin_inset LatexCommand \index{erf}  \begin_inset LatexCommand index
9065    name "erf"
9066    
9067  \end_inset  \end_inset
9068    
# Line 8735  erf Line 9076  erf
9076  sinh  sinh
9077  \family default  \family default
9078    
9079  \begin_inset LatexCommand \index{sinh}  \begin_inset LatexCommand index
9080    name "sinh"
9081    
9082  \end_inset  \end_inset
9083    
# Line 8749  sinh Line 9091  sinh
9091  cosh  cosh
9092  \family default  \family default
9093    
9094  \begin_inset LatexCommand \index{cosh}  \begin_inset LatexCommand index
9095    name "cosh"
9096    
9097  \end_inset  \end_inset
9098    
# Line 8763  cosh Line 9106  cosh
9106  tanh  tanh
9107  \family default  \family default
9108    
9109  \begin_inset LatexCommand \index{tanh}  \begin_inset LatexCommand index
9110    name "tanh"
9111    
9112  \end_inset  \end_inset
9113    
# Line 8777  tanh Line 9121  tanh
9121  arcsinh  arcsinh
9122  \family default  \family default
9123    
9124  \begin_inset LatexCommand \index{arcsinh}  \begin_inset LatexCommand index
9125    name "arcsinh"
9126    
9127  \end_inset  \end_inset
9128    
# Line 8791  arcsinh Line 9136  arcsinh
9136  arccosh  arccosh
9137  \family default  \family default
9138    
9139  \begin_inset LatexCommand \index{arccosh}  \begin_inset LatexCommand index
9140    name "arccosh"
9141    
9142  \end_inset  \end_inset
9143    
# Line 8805  arccosh Line 9151  arccosh
9151  arctanh  arctanh
9152  \family default  \family default
9153    
9154  \begin_inset LatexCommand \index{arctanh}  \begin_inset LatexCommand index
9155    name "arctanh"
9156    
9157  \end_inset  \end_inset
9158    
# Line 8819  arctanh Line 9166  arctanh
9166  lnm  lnm
9167  \family default  \family default
9168    
9169  \begin_inset LatexCommand \index{lnm}  \begin_inset LatexCommand index
9170    name "lnm"
9171    
9172  \end_inset  \end_inset
9173    
9174  () modified natural logarithm  () modified natural logarithm
9175  \begin_inset LatexCommand \index{ln, modified}  \begin_inset LatexCommand index
9176    name "ln, modified"
9177    
9178  \end_inset  \end_inset
9179    
# Line 8972  y = A*exp(-B/T); Line 9321  y = A*exp(-B/T);
9321  \bar under  \bar under
9322  Discontinuous\InsetSpace ~  Discontinuous\InsetSpace ~
9323  functions  functions
9324  \begin_inset LatexCommand \index{functions, discontinuous}  \begin_inset LatexCommand index
9325    name "functions, discontinuous"
9326    
9327  \end_inset  \end_inset
9328    
# Line 8982  functions Line 9332  functions
9332  \begin_deeper  \begin_deeper
9333  \begin_layout Standard  \begin_layout Standard
9334  Discontinuous functions may destroy a Newton  Discontinuous functions may destroy a Newton
9335  \begin_inset LatexCommand \index{Newton}  \begin_inset LatexCommand index
9336    name "Newton"
9337    
9338  \end_inset  \end_inset
9339    
# Line 8998  Discontinuous functions may destroy a Ne Line 9349  Discontinuous functions may destroy a Ne
9349  abs  abs
9350  \family default  \family default
9351    
9352  \begin_inset LatexCommand \index{abs}  \begin_inset LatexCommand index
9353    name "abs"
9354    
9355  \end_inset  \end_inset
9356    
# Line 9013  bs Line 9365  bs
9365  \begin_deeper  \begin_deeper
9366  \begin_layout Section  \begin_layout Section
9367  Logical functions  Logical functions
9368  \begin_inset LatexCommand \index{functions, logical}  \begin_inset LatexCommand index
9369    name "functions, logical"
9370    
9371  \end_inset  \end_inset
9372    
# Line 9024  Logical functions Line 9377  Logical functions
9377  \begin_layout List  \begin_layout List
9378  \labelwidthstring 00000.00000.00000.000  \labelwidthstring 00000.00000.00000.000
9379  SATISFIED  SATISFIED
9380  \begin_inset LatexCommand \index{SATISFIED}  \begin_inset LatexCommand index
9381    name "SATISFIED"
9382    
9383  \end_inset  \end_inset
9384    
# Line 9041  SATISFIED Line 9395  SATISFIED
9395  UNITS  UNITS
9396  \family default  \family default
9397    
9398  \begin_inset LatexCommand \index{UNITS}  \begin_inset LatexCommand index
9399    name "UNITS"
9400    
9401  \end_inset  \end_inset
9402    
# Line 9050  UNITS Line 9405  UNITS
9405    
9406  \begin_layout Standard  \begin_layout Standard
9407  As noted in Section  As noted in Section
9408  \begin_inset LatexCommand \vref{sub:x.1.2Basic-Elements}  \begin_inset LatexCommand vref
9409    reference "sub:x.1.2Basic-Elements"
9410    
9411  \end_inset  \end_inset
9412    
9413  , ASCEND will recognize conversion factors  , ASCEND will recognize conversion factors
9414  \begin_inset LatexCommand \index{conversion factors}  \begin_inset LatexCommand index
9415    name "conversion factors"
9416    
9417  \end_inset  \end_inset
9418    
# Line 9075  x:= 0.5 {100}; Line 9432  x:= 0.5 {100};
9432  x == 50  x == 50
9433  \family default  \family default
9434  , and that there are no `offset conversions  , and that there are no `offset conversions
9435  \begin_inset LatexCommand \index{conversion, offset}  \begin_inset LatexCommand index
9436    name "conversion, offset"
9437    
9438  \end_inset  \end_inset
9439    
9440    
9441  \begin_inset LatexCommand \index{offset conversions}  \begin_inset LatexCommand index
9442    name "offset conversions"
9443    
9444  \end_inset  \end_inset
9445    
# Line 9163  The standard units library, Line 9522  The standard units library,
9522  measures.a4l  measures.a4l
9523  \family default  \family default
9524  , is documented in the ASCEND manual, Section  , is documented in the ASCEND manual, Section
9525  \begin_inset LatexCommand \ref{cha:physprops}  \begin_inset LatexCommand ref
9526    reference "cha:physprops"
9527    
9528  \end_inset  \end_inset
9529    
9530    
9531  \begin_inset LatexCommand \cite{ASCEND2006}  \begin_inset LatexCommand cite
9532    key "ASCEND2006"
9533    
9534  \end_inset  \end_inset
9535    

Legend:
Removed from v.1384  
changed lines
  Added in v.1733

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22