// $Id: RuleConstants.java,v 1.10 2004/02/27 16:29:56 m31 Exp $
//
// This file is part of the program suite "Principia Mathematica II"
// which is a working prototype for the main project:
// "Hilbert II" - http://www.qedeq.org
//
// Copyright 2001-2004  Michael Meyling <mime@qedeq.org>.
//
// "Principia Mathematica II" is free software; you can redistribute
// it and/or modify it under the terms of the GNU General Public
// License as published by the Free Software Foundation; either
// version 2 of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.

package com.meyling.principia.logic.rule;


import com.meyling.principia.module.ModuleConstants;


/**
 * This interface provides constants of this package.
 *
 * @version $Revision: 1.10 $
 * @author  Michael Meyling
 */
public interface RuleConstants extends ModuleConstants {

    public static final String RULE_VERSION_CONFLICT
        = "module rule version conflicts with this needed rule version, "
        + "module rule version needed: ";
    public static final String RULE_DECLARATION_CONDITION_NOT_FULLFILLED
        = " rule declaration condition not fullfilled";
    public static final String PROOF_LINE_NO_IMPLICATION
        = " referenced proof line must be an implication";
    public static final String SECOND_PROOF_LINE_NO_IMPLICATION
        = " second referenced proof line must be an implication";
    public static final String FIRST_PROOF_LINE_NO_IMPLICATION
        = " first referenced proof line must be an implication";
    public static final String IMPLICATON_FIRST_ALREADY_OR_SECOND_NOT_FREE
        = " referenced proof line has already subject variable in first "
        + "part formula or the second part formula doesn't has"
        + " the new subject variable as a free one";
    public static final String IMPLICATON_FIRST_NOT_FREE_OR_SECOND_ALREADY
        = " referenced proof line has already subject variable in second "
        + "part formula or the first part formula doesn't has"
        + " the new subject variable as a free one";
    public static final String FIRST_NOT_FIRST_PART_OF_SECOND_PROOF_LINE
        = " second referenced proof line must have first referenced proof "
        + "line as first part formula";
    public static final String LAST_PART_FIRST_PART_NOT_EQUAL
        = " last part of first referenced implication must be equal to"
        + " first part of second referenced implication";
    public static final String REPLACING_BOUND_VARIABLE_NOT_POSSIBLE
        = " replacement lead not to a formula";
    public static final String REPLACING_PREDICATE_VARIABLE_NOT_POSSIBLE
        = " replacement lead not to a formula";
    public static final String REPLACING_PROPOSITION_VARIABLE_NOT_POSSIBLE
        = " replacement lead not to a formula";
    public static final String REPLACING_WITH_ABBREVIATION_NOT_POSSIBLE
        = " replacement lead not to a formula";
    public static final String REPLACING_ABBREVIATION_NOT_POSSIBLE
        = " replacement lead not to a formula";
    public static final String REPLACING_EQUIVALENCE_NOT_POSSIBLE
        = " replacement by equivalent formula lead not to a formula";
    public static final String CONJUNCTION_RULE_NOT_POSSIBLE
        = " conjunction of both formulas lead not to a formula";
    public static final String WRONG_OCCURENCE_NUMBER
        = " wrong occurence number";
    public static final String AXIOM_IS_NO_IMPLICATION
        = "referenced axiom is no implication";
    public static final String NO_PATTERN_VARIABLE_ALLOWED
        = "this formula must not contain pattern variables";
    public static final String RIGHT_ADDITION_OF_FORMULA_NOT_POSSIBLE
        = "right addition of formula not possible "
        + "(mixed free bound variables)";
    public static final String SENTENCE_IS_NO_IMPLICATION
        = "referenced sentence is no implication";
    public static final String NO_ELEMENTARY_EQUIVALENCE
        = "referenced sentence build no equivalence, second implication "
        + "must be the reverse of the first";
    public static final String SUBSTITUTION_NOT_SUCCESSFULL
        = " referenced formula doesn't match desired result";
    public static final String RULE_DECLARATION_MISSING
        = ": this rule must be declared before";
    public static final String REFERENCED_PROOFLINES_NOT_SIMULAR
        = " the second referenced proof line must be the reverse of "
        + "the first referenced proof line";
    public static final String OPERATOR_NOT_SUPPORTED
        = " this rule doesn't support this operator: ";
}
