ContainsObjectIds()
Determines if this value has an object id (i.e., is of type LabeledInstance) or
has a subvalue that has an object id (e.g., a set of instances).
Equality(CompoundValue, CompoundValue)
Term equality.
FieldValues()
Returns an enumeration of all (readonly) field values of this compound value in
a fixed order.
Appendices 293
GreaterThan(CompoundValue, CompoundValue)
Term greater than.
GreaterThanOrEqual(CompoundValue, CompoundValue)
Term greater than or equal.
Inequality(CompoundValue, CompoundValue)
Inequality of terms.
LessThan(CompoundValue, CompoundValue)
Term less than.
LessThanOrEqual(CompoundValue, CompoundValue)
Term less than or equal.
Properties
AsTerm
Returns the term representation of this value.
Sort
Returns the sort (abstract type) of this value.
Remarks
A CompoundValue is similar to a .NET struct, but unlike a struct subtypes of
CompoundValue may implement tree structures. By construction, such values may be
recursive but must have no cycles. (From the point of view of mathematical logic,
values of this type can be thought of as a term whose function symbol is the type
and whose arguments are the field values.)
CompoundValues are commonly used in modeling abstract state. They should be
used instead of mutable classes whenever practical because they can reduce the
amount of analysis required when comparing if two program states are equal.
Pages:
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381