|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
|
+--com.meyling.principia.argument.AbstractArgument
|
+--com.meyling.principia.argument.AbstractArgumentList
|
+--com.meyling.principia.logic.rule.Particularization
Implemention of making a conclusion special.
A0 => A1
x0 free in A0
x0 not in A1
----------------
E x0 (A0) => A1
| Field Summary | |
private int |
n
proof line of A0 => A1 |
private SubjectVariable |
var
quantify with this subject variable |
private static Version |
version
minimum version required for using this rule |
| Fields inherited from class com.meyling.principia.argument.AbstractArgumentList |
arguments |
| Constructor Summary | |
Particularization(Argument[] arguments)
Constructs a particularization rule. |
|
| Method Summary | |
(package private) static void |
Initialize version information. |
Rule |
changeProofLines(int[] mapping)
Get proof line numbers that are used to derive the new formula. |
void |
check(Module module,
ProofLineList proofLines,
int position,
Formula formula)
Check if proof could be extended with formula because of modus ponens. |
static void |
checkDeclaration(Module module,
RuleDeclaration declaration)
Check this rule could be declared. |
Argument |
create(Argument[] arguments)
Create a new Argument with given arguments. |
ProofLineList |
extendWithout(Module module,
ProofLineList proofLines,
int position)
Return proof lines that could replace the proof line position. |
int[] |
getProofLines()
Get proof line numbers that are used to derive the new formula. |
Version |
getVersion()
Get version of this rule. |
String |
toString()
Get the argument in String form. |
| Methods inherited from class com.meyling.principia.argument.AbstractArgumentList |
copy, getArgument, getArgumentSize |
| Methods inherited from class com.meyling.principia.argument.AbstractArgument |
containsPatternVariables, equals, getHighestNumber, getPatternVariables, getReplacementParents, getSearchParents, hashCode, matches, matches, replace, replace, replace, replaceMatches |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, registerNatives, wait, wait, wait |
| Methods inherited from interface com.meyling.principia.argument.Argument |
containsPatternVariables, copy, equals, getArgument, getArgumentSize, getPatternVariables, getReplacementParents, getSearchParents, hashCode, matches, matches, replace, replace, replace, replaceMatches |
| Field Detail |
private static final Version version
private final int n
A0 => A1private final SubjectVariable var
| Constructor Detail |
public Particularization(Argument[] arguments)
throws ArgumentException
arguments - ArgumentException - if the first argument is not
an instance of Counter or is not bigger than zero, or
if the second argument is no instance of SubjectVariable| Method Detail |
static void()
public final void check(Module module,
ProofLineList proofLines,
int position,
Formula formula)
throws ArgumentException
check in interface Rulemodule - moduleproofLines - proof linesposition - number of proof lines that could be used
in the ruleformula - formula to addArgumentException - if addition is not possible
because the proof line numbers are not allowed (e.g.
between 1 and the minimum of position
and current maximum proof line number)
or the proof line number is no Implication
or the first formula of the implication has already the
new subject variable
or the second formula of the implication dosn't have
the new subject variable as a free one
or the resulting formula is not equal to
formula
or a version conflict occurs
public ProofLineList extendWithout(Module module,
ProofLineList proofLines,
int position)
throws UnsupportedOperationException
Ruleposition.extendWithout in interface Rulecom.meyling.principia.logic.rule.Rulemodule - the belonging moduleproofLines - proof linesposition - referenced proof line (starting with 0)
in proofLinespositionIllegalArgumentException - if extension is impossible
or other problems occured
if the module was checked before, this exception
could only occur if there is an programming errorUnsupportedOperationException - if this rule couldn't
be reduced at all because it is a basic rulepublic int[] getProofLines()
RulegetProofLines in interface Rulecom.meyling.principia.logic.rule.Rulepublic Rule changeProofLines(int[] mapping)
RulechangeProofLines in interface Rulecom.meyling.principia.logic.rule.Rulemapping - array that maps old proof line numbers (index) to
new ones (value)IllegalArgumentException - if a needed value is -1
public static final void checkDeclaration(Module module,
RuleDeclaration declaration)
throws ArgumentException
module - the module contextdeclaration - the declaration that shall declare this ruleIllegalArgumentException - if an programming error occuredArgumentException - if declaration failedpublic final Version getVersion()
RulegetVersion in interface Rulecom.meyling.principia.logic.rule.Rule
public final Argument create(Argument[] arguments)
throws ArgumentException
Argumentcreate in interface Argumentcreate in class AbstractArgumentListcom.meyling.principia.argument.Argumentarguments - with these arguments the operator should
be createdArgumentException - if creation failedpublic final String toString()
ArgumentString form.toString in interface ArgumenttoString in class AbstractArgumentListcom.meyling.principia.argument.Argument
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||