<> <> <> <<>> DIRECTORY Rope, IO, AlgebraClasses; QEClusterStructure: CEDAR DEFINITIONS ~ BEGIN <> ROPE: TYPE ~ Rope.ROPE; <> Cluster: TYPE = AlgebraClasses.Object; ClusterData: TYPE = REF ClusterDataRec; ClusterDataRec: TYPE ~ RECORD [ primaryKey: ROPE, -- key for search of LoganBerry DB SELECT type:* FROM onLine => [ repCell: Cell, -- representative cell signatures: LIST OF QESignatureStructure.Signature, -- (see below) truthValue: BOOL, -- result of formula evalution (e.g. at repCell sample point, or at signature), or determination of containment in solution set constituentCells: LIST OF Cell, <> ]; We can be keeping track of signatures of several different polynomial sequences simultaneously for a cluster, e.g. r-variate input polynomials, and basis polynomials in r and lower dimensions. Comparing names of signature Structures should enable us to keep them straight. When we construct initial clusters in i-space, signature polynomials will be be complete factors, i.e. all irreducible factors, of i-variate input polynomials. We get the signs of factors which are not i-variate basis polys (which we get from cells) by making this cells signature polys union of baseCluster signature polys and i-variate basis. <> <> <> <<>> offLine => []; ENDCASE ]; <> ClusterStructureData: TYPE = REF ClusterStructureDataRec; ClusterStructureDataRec: TYPE = RECORD [ cad: Cad ]; <> MakeNameStructure: AlgebraClasses.StructureConstructorProc; <> PrintName: AlgebraClasses.ToRopeOp; ShortPrintName: AlgebraClasses.ToRopeOp; IsNameStructure: AlgebraClasses.UnaryPredicate; SelectorProc: AlgebraClasses.UnaryOp; <> <<>> SelectorProc: 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; <> ToRopeOneLevel: AlgebraClasses.ToRopeOp; <> <<>> ToOfflineRope: AlgebraClasses.ToRopeOp; <> Write: AlgebraClasses.WriteOp; <> ClusterFromCell: AlgebraClasses.UnaryImbedOp; <> ToLBPrimaryKey: AlgebraClasses.ToRopeOp; <> <> BinaryOp: AlgebraClasses.BinaryOp; UnaryOp: AlgebraClasses.UnaryOp; InitialClustersOverCluster: PROC; <> END.