01: // This file is part of KeY - Integrated Deductive Software Design
02: // Copyright (C) 2001-2007 Universitaet Karlsruhe, Germany
03: // Universitaet Koblenz-Landau, Germany
04: // Chalmers University of Technology, Sweden
05: //
06: // The KeY system is protected by the GNU General Public License.
07: // See LICENSE.TXT for details.
08: //
09: //
10:
11: package de.uka.ilkd.key.rule;
12:
13: import de.uka.ilkd.key.logic.Constraint;
14: import de.uka.ilkd.key.logic.PosInOccurrence;
15: import de.uka.ilkd.key.proof.Goal;
16:
17: /**
18: * Buit-in rule interface.
19: * As applications of this rule kind may
20: * not be successful in each case one has to ensure that the goal split is
21: * done only iff the application was successful.
22: */
23: public interface BuiltInRule extends Rule {
24:
25: /**
26: * returns true iff a rule is applicable at the given
27: * position. This does not necessarily mean that a rule application
28: * will change the goal (this decision is made due to performance
29: * reasons)
30: */
31: boolean isApplicable(Goal goal, PosInOccurrence pio,
32: Constraint userConstraint);
33:
34: }
|