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.se.base.module;
17  
18  import org.qedeq.kernel.se.base.list.Element;
19  
20  
21  /**
22   * Rename bound subject variable.
23   * This replacement can take place for a certain bound occurrence of the subject variable.
24   * For example in this case we replace x by y in at the first occurrence.
25   * <pre>
26   *   forall x A(x)
27   *  ---------------
28   *   forall y A(y)
29   * </pre>
30   *
31   * @author  Michael Meyling
32   */
33  public interface Rename extends Reason {
34  
35      /**
36       * Get this reason.
37       *
38       * @return  This reason.
39       */
40      public Rename getRename();
41  
42      /**
43       * Get reference to formula. Usually this a formula of type A(x)
44       *
45       * @return  Reference to previously proved formula.
46       */
47      public String getReference();
48  
49      /**
50       * Get original subject variable. Something like x.
51       *
52       * @return  Subject variable.
53       */
54      public Element getOriginalSubjectVariable();
55  
56      /**
57       * Get replacement subject variable. Something like y.
58       *
59       * @return  Subject variable.
60       */
61      public Element getReplacementSubjectVariable();
62  
63      /**
64       * Get bound occurrence to replace. Starts with 1. A value of 0 means no specification.
65       *
66       * @return  Number of occurrence.
67       */
68      public int getOccurrence();
69  
70  }