/*
 * @(#)$Id: external,v 1.1.2.2 1998/08/05 11:15:52 rjb Exp $
 *
 * $Log: external,v $
 * Revision 1.1.2.2  1998/08/05 11:15:52  rjb
 * External method should now work for annotated goals.
 *
 * Revision 1.1.2.1  1998/05/12 16:10:04  rjb
 * New methods for co-operating with external systems.
 *
 */

method(external(PreConditions,PostConditions,Result),
       H==>AnnotatedG,
       [unannotated(AnnotatedG,G),
        (forall{C \ PreConditions}: C^external_condition(C,H,G)),
        external(H,G,Result),
        (Result=thm(_) v
         forall{C \ PostConditions}: C^external_condition(C,H,G))
       ],
       [],
       [],
       external(PreConditions,PostConditions,Result)
      ).
