next up previous contents
Next: FocusKnots Up: Knot (search tree) Previous: Knot (search tree)

Proof/Refute Knots

The ProofKnot and RefuteKnot these have methods that implement the update of the proof numbers appropriate for the particular point of view.

class ProofKnot: virtual public Knot
{

protected:  // only used as a base class
    ProofKnot(PNType proof_pn,
              PNType refute_pn,
              Knot *parent,
              ValueType valMax=0,
              ValueType valMin=0)
      :Knot(proof_pn,refute_pn,parent,valMax,valMin){;}
    
  public:
   
    Knot         *addGoMoveChildMaybe(const Point &point, PNType proof_pn,
                                      PNType refute_pn);
    
    BOOL         updateParent();
    void         setChildVirtuallyGone(Knot *child);
    Knot *       selectChild();
    const char * description() const {return "ProofKnot";}
};

The updateParent method simply looks at all the children's PN numbers and does the PN style update of its own. The selectCHild selects the most proving child for the PN search method.



P J Leonard
Tue Oct 1 15:25:19 BST 1996