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 19 /** 20 * Rule. 21 * 22 * @author Michael Meyling 23 */ 24 public interface Rule extends NodeType { 25 26 /** 27 * Get rule name. 28 * 29 * @return Name of rule. 30 */ 31 public String getName(); 32 33 /** 34 * Get rule version. 35 * 36 * @return Version of rule. 37 */ 38 public String getVersion(); 39 40 /** 41 * Get rule description. 42 * 43 * @return Description. 44 */ 45 public LatexList getDescription(); 46 47 /** 48 * Get list of rules that are modified by this rule. 49 * 50 * @return List of rule changes. 51 */ 52 public ChangedRuleList getChangedRuleList(); 53 54 /** 55 * Get links necessary for having this rule. 56 * 57 * @return List of ids. 58 */ 59 public LinkList getLinkList(); 60 61 /** 62 * Get proofs for rule declaration. 63 * 64 * @return Rule proof. 65 */ 66 public ProofList getProofList(); 67 68 }