01 /* This file is part of the project "Hilbert II" - http://www.qedeq.org
02 *
03 * Copyright 2000-2013, Michael Meyling <mime@qedeq.org>.
04 *
05 * "Hilbert II" is free software; you can redistribute
06 * it and/or modify it under the terms of the GNU General Public
07 * License as published by the Free Software Foundation; either
08 * version 2 of the License, or (at your option) any later version.
09 *
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 }
|