DIRECTORY AlgebraClasses, ASAtomicFormulaOps, ASFormulaStructure; QESignatureStructure: CEDAR DEFINITIONS ~ BEGIN Signature: TYPE = AlgebraClasses.Object; SignatureData: TYPE = AlgebraClasses.Object; -- sequence of ASAtomicFormulaOps.Operator's, of the same length as the sequence of polynomials which defines the signature's Structure. SignatureStructureData: TYPE = REF SignatureStructureDataRec; SignatureStructureDataRec: TYPE = RECORD [ polynomials: AlgebraClasses.Object -- sequence of polynomials whose signatures will be represented by elements of this structure ]; MakeSignatureStructure: PROC [polynomials: AlgebraClasses.Object] RETURNS [structure: AlgebraClasses.Object]; PrintName: AlgebraClasses.ToRopeOp; ShortPrintName: AlgebraClasses.ToRopeOp; IsSignatureStructure: AlgebraClasses.UnaryPredicate; Polynomials: AlgebraClasses.UnaryOp; StructureData: AlgebraClasses.UnaryToListOp; Recast: AlgebraClasses.BinaryOp; CanRecast: AlgebraClasses.BinaryPredicate; ToExpr: AlgebraClasses.ToExprOp; LegalFirstChar: AlgebraClasses.LegalFirstCharOp; Read: AlgebraClasses.ReadOp; FromRope: AlgebraClasses.FromRopeOp; ToRope: AlgebraClasses.ToRopeOp; Write: AlgebraClasses.WriteOp; MakeSignature: AlgebraClasses.ListImbedOp; SignaturesToFormula: AlgebraClasses.NaryOp; END.  QESignatureStructure.mesa Last Edited by: Arnon, March 5, 1986 10:49:31 am PST Structure constructor: signatures of a sequence of particular polynomials (need to use sequence, not vector, of polynomials since we may add and delete polynomials whose signatures we are recording). Element Representation Structure Instance Data Structure Constructor Structure Operations Includes a ToRope of each of the defining polynomials, hence can get quite long. Hash coding of long polynomials (i.e. of math exprs) could help. selector: polynomials of a Signature Structure selector: returns LIST[polynomials] of a Signature Structure Element Conversion and IO Element Constructor List of ASAtomicFormulaOps.Operator's to Signature. Check that the list has same length as the defining polynomials sequence of the Signature Structure. Element Operations Represent the disjunction of the input list of Signatures as a Formula. Κτ˜Jšœ™J™4J˜J™IJ™J™}J™šΟk ˜ Jšœ˜Jšœ˜Jšœ˜—J˜head2šœœ ˜'J˜—Jšœ˜headšΟn™Jšœ œ˜(J˜JšœœΟcˆ˜΅—šœ™Icodešœœœ˜=šœœœ˜*Mšœ$Ÿ^˜‚M˜——™Mšžœœ&œ$˜m—šœ™šž œ˜#Mšœ’™’M™—šžœ˜(M˜—šžœ ˜4J˜—šž œ˜$Jšœ.™.J™—šž œ˜,Jšœ=™=——šœ™šžœ˜ J˜—šž œ!˜*J˜—šžœ˜ J˜—šžœ"˜0J˜—šžœ˜J˜—šžœ˜$J˜—šžœ˜ J˜—šžœ˜J˜——™šž œ˜*JšœŸœv™™——™šžœ˜+J™GJ™——J˜Jšœ˜—…— €