View Javadoc

1   /* This file is part of the project "Hilbert II" - http://www.qedeq.org" target="alexandria_uri">http://www.qedeq.org
2    *
3    * Copyright 2000-2014,  Michael Meyling <mime@qedeq.org>.
4    *
5    * "Hilbert II" is free software; you can redistribute
6    * it and/or modify it under the terms of the GNU General Public
7    * License as published by the Free Software Foundation; either
8    * version 2 of the License, or (at your option) any later version.
9    *
10   * This program is distributed in the hope that it will be useful,
11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13   * GNU General Public License for more details.
14   */
15  
16  package org.qedeq.kernel.bo.logic.proof.common;
17  
18  import org.qedeq.base.io.Version;
19  
20  
21  
22  /**
23   * Can create a {@link ProofChecker}.
24   *
25   * @author  Michael Meyling
26   */
27  public interface ProofCheckerFactory {
28  
29      /**
30       * Check if we have a proof checker that supports the given rule version.
31       *
32       * @param   ruleVersion Rule version the module claims to use.
33       * @return  Do we have a proof checker for the given rule version.
34       */
35      public boolean isRuleVersionSupported(final String ruleVersion);
36  
37      /**
38       * Create a {@link ProofChecker}.
39       *
40       * @param   ruleVersion Rule version the module claims to use.
41       * @return  Instance that can check formulas for correctness.
42       */
43      public ProofChecker createProofChecker(final Version ruleVersion);
44  
45  }