<> <> <> <<>> DIRECTORY Rope, IO, AlgebraClasses; ASSetStructure: CEDAR DEFINITIONS ~ BEGIN OPEN Rope, AC: AlgebraClasses; <> SetStructureElement: TYPE = AC.Object; <> <> SetStructureData: TYPE = REF SetStructureDataRec; SetStructureDataRec: TYPE = RECORD [ definingSet: AC.Object, -- the elements of the Structure are the elements of definingSet elementUniverse: AC.Object -- the universe of the PowerSetStructure to which definingSet belongs ]; <> MakeSetStructure: AC.StructureFromSetConstructor; <> PrintName: AC.ToRopeOp; ShortPrintName: AC.ToRopeOp; IsSetStructure: AC.UnaryPredicate; DefiningSet: AC.UnaryOp; <> <<>> ElementUniverse: AC.UnaryOp; <> <<>> StructureData: AC.UnaryToListOp; <> <> Recast: AC.BinaryOp; CanRecast: AC.BinaryPredicate; ToExpr: AC.ToExprOp; LegalFirstChar: AC.LegalFirstCharOp; Read: AC.ReadOp; FromRope: AC.FromRopeOp; ToRope: AC.ToRopeOp; Write: AC.WriteOp; UnderlyingSetUniverseEltFromSSSElt: AC.UnaryOp; SSSEltFromUnderlyingSetUniverseElt: AC.BinaryOp; <> IsVariable: AC.UnaryPredicate; <> VariableFromRope: AC.FromRopeOp; <> END.