<> <> <> <> DIRECTORY DrotBool, DrotCover, Core; Drot: CEDAR DEFINITIONS ~ BEGIN OPEN DrotBool; <> CellTypeFromExpressions: PROC [outputs: LIST OF ROPE, fanout: INT _ 4] RETURNS [Core.CellType]; <> <> <> <> <> <> <> BoolTreeFromExpressionList: PROC [outputs: LIST OF ROPE, includeGlobalVariablesp: BOOL _ FALSE] RETURNS [tree: Dag]; <> AugmentBoolTreeBySingleExpression: PROC [tree: Dag, output: ROPE]; <> <> MakeNewBoolTree: PROC [] RETURNS [tree: Dag]; <> <<>> MakeNewVariableNode: PROC [tree: Dag, name: ROPE] RETURNS [newNode: Node]; <> <<>> MakeNewNotNode: PROC [tree: Dag, node: Node] RETURNS [newNode: Node]; <> <<>> MakeNewOrNode: PROC [tree: Dag, nodes: LIST OF Node] RETURNS [newNode: Node]; <> <<>> MakeNewAndNode: PROC [tree: Dag, nodes: LIST OF Node] RETURNS [newNode: Node]; <> <<>> NameNode: PROC [node: Node, name: ROPE]; <> <<>> MakeOutputNode: PROC [tree: Dag, node: Node]; <> <> CreateCellTypeFromDag: PROC [tree: Dag, fanout: INT _ 4] RETURNS [Core.CellType]; <> RemoveDuplicateNodes: PROC [tree: Dag] RETURNS[modified: BOOL]; <> <<>> ReduceFanout: PROC [tree: Dag, fout: INT]; <> TwoifyTree: PROC [tree: Dag]; <> END.