|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| PredicateDefinition | Line # 29 | 0 | 0 | - |
-1.0
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
| No Tests | |||
| 1 | /* This file is part of the project "Hilbert II" - http://www.qedeq.org | |
| 2 | * | |
| 3 | * Copyright 2000-2010, 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.base.module; | |
| 17 | ||
| 18 | ||
| 19 | /** | |
| 20 | * Definition of operator. This is a predicate constant. For example the | |
| 21 | * predicate "x is a set" could be defined in MK with the formula "\exists y: x \in y". | |
| 22 | * <p> | |
| 23 | * There must also be the possibility to define basic predicate constants like | |
| 24 | * "x is element of y". | |
| 25 | * | |
| 26 | * @version $Revision: 1.4 $ | |
| 27 | * @author Michael Meyling | |
| 28 | */ | |
| 29 | public interface PredicateDefinition extends NodeType { | |
| 30 | ||
| 31 | /** | |
| 32 | * Get number of arguments for the defined object. Carries information about the argument | |
| 33 | * number the defined object needs. | |
| 34 | * | |
| 35 | * @return Argument number. | |
| 36 | */ | |
| 37 | public String getArgumentNumber(); | |
| 38 | ||
| 39 | /** | |
| 40 | * This name together with {@link #getArgumentNumber()} identifies a predicate. | |
| 41 | * | |
| 42 | * @return Name of defined predicate. | |
| 43 | */ | |
| 44 | public String getName(); | |
| 45 | ||
| 46 | /** | |
| 47 | * Get LaTeX output for definition. The replaceable arguments must are marked as "#1", | |
| 48 | * "#2" and so on. For example "\mathfrak{M}(#1)" | |
| 49 | * | |
| 50 | * @return LaTeX pattern for definition type setting. | |
| 51 | */ | |
| 52 | public String getLatexPattern(); | |
| 53 | ||
| 54 | /** | |
| 55 | * Get variable list of definition arguments. | |
| 56 | * | |
| 57 | * @return List of formulas or subject variables to be replaced in the LaTeX pattern. | |
| 58 | * Could be <code>null</code>. | |
| 59 | */ | |
| 60 | public VariableList getVariableList(); | |
| 61 | ||
| 62 | /** | |
| 63 | * Get term that defines the object. Could be <code>null</code>. | |
| 64 | * | |
| 65 | * @return Defining formula. | |
| 66 | */ | |
| 67 | public Formula getFormula(); | |
| 68 | ||
| 69 | /** | |
| 70 | * Get description. Only necessary if formula is not self-explanatory. | |
| 71 | * | |
| 72 | * @return Description. | |
| 73 | */ | |
| 74 | public LatexList getDescription(); | |
| 75 | ||
| 76 | } | |
|
||||||||||