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.java.Services;
14: import de.uka.ilkd.key.logic.Constraint;
15: import de.uka.ilkd.key.logic.Name;
16: import de.uka.ilkd.key.proof.Goal;
17: import de.uka.ilkd.key.proof.decproc.AbstractDecisionProcedure;
18: import de.uka.ilkd.key.proof.decproc.DecisionProcedureSimplify;
19: import de.uka.ilkd.key.proof.decproc.DecisionProcedureTranslationFactory;
20:
21: /**
22: * Invokes the ESC Simplify to solve an integer problem.
23: */
24: public class SimplifyIntegerRule extends AbstractIntegerRule {
25:
26: public SimplifyIntegerRule(DecisionProcedureTranslationFactory dptf) {
27: this (true, dptf);
28: }
29:
30: public SimplifyIntegerRule(boolean resultWindow,
31: DecisionProcedureTranslationFactory dptf) {
32: super (new Name("Decision Procedure Simplify"), resultWindow,
33: dptf);
34: }
35:
36: protected AbstractDecisionProcedure getDecisionProcedure(Goal goal,
37: Constraint userConstraint, Services services) {
38: return new DecisionProcedureSimplify(goal, userConstraint,
39: this .dptf, services);
40: }
41:
42: public AbstractIntegerRule clone(
43: DecisionProcedureTranslationFactory dptf) {
44: return new SimplifyIntegerRule(showResults, dptf);
45: }
46: }
|