|
Orbital library | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorbital.moon.logic.ClassicalLogic
orbital.moon.logic.ModalLogic
public class ModalLogic
Implementation of modal logic with local or global consequence.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class orbital.moon.logic.ClassicalLogic |
|---|
ClassicalLogic.InferenceMechanism |
| Field Summary | |
|---|---|
static java.lang.String |
usage
|
| Fields inherited from class orbital.moon.logic.ClassicalLogic |
|---|
PROPOSITIONAL_INFERENCE, RESOLUTION_HEURISTIC_INFERENCE, RESOLUTION_INFERENCE, RESOLUTION_SATURATION_INFERENCE, SEMANTIC_INFERENCE |
| Constructor Summary | |
|---|---|
ModalLogic()
|
|
| Method Summary | |
|---|---|
Formula.Composite |
composeDelayed(Formula f,
Expression[] arguments,
Notation notation)
Delayed composition of a symbol with some arguments. |
Formula.Composite |
composeFixed(Symbol fsymbol,
Functor f,
Expression[] arguments)
Instant composition of functors with a fixed core interperation Usually for predicates etc. |
Interpretation |
coreInterpretation()
Get the core interpretation which is fixed for this logic. |
Signature |
coreSignature()
Get the core signature which is supported by the language of this expression syntax. |
Expression |
createAtomic(Symbol symbol)
Create an atomic expression representation of a non-compound sign. |
Expression |
createExpression(java.lang.String expression)
Create a term representation by parsing a (compound) expression. |
Formula |
createFixedSymbol(Symbol symbol,
java.lang.Object referent,
boolean core)
Construct (a formula view of) an atomic symbol with a fixed interpretation. |
Formula |
createSymbol(Symbol symbol)
Construct (a formula view of) an atomic symbol. |
boolean |
infer(java.lang.String expression,
java.lang.String exprDerived)
facade for convenience. |
Inference |
inference()
Get the inference relation |~K according to the implementation calculus K. |
boolean |
isLocalConsequence()
Whether local or global consequence is used. |
static void |
main(java.lang.String[] arg)
tool-main |
protected static boolean |
proveAll(java.io.Reader rd,
orbital.moon.logic.ModernLogic logic,
boolean all_true)
Prove all conjectures read from a reader. |
boolean |
satisfy(Interpretation I,
Formula F)
Defines the semantic satisfaction relation |=. |
Signature |
scanSignature(java.lang.String expression)
Scan for the signature Σ of all syntactic symbols in an expression. |
void |
setLocalConsequence(boolean v)
Whether to use local or global consequence. |
protected void |
validateAtomic(Symbol symbol)
This method validates that a symbol obeys the syntactical conventions imposed by this logic (if any). |
| Methods inherited from class orbital.moon.logic.ClassicalLogic |
|---|
compose, createAllExpressions, createFormula, createTerm, getInferenceMechanism, setInferenceMechanism, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String usage
| Constructor Detail |
|---|
public ModalLogic()
| Method Detail |
|---|
public static void main(java.lang.String[] arg)
throws java.lang.Exception
java.lang.Exceptionpublic boolean isLocalConsequence()
public void setLocalConsequence(boolean v)
v - true for local consequence,
false for global consequence,.
public boolean infer(java.lang.String expression,
java.lang.String exprDerived)
throws ParseException
expression - the comma separated list of premise expressions to parse.
ParseException
public boolean satisfy(Interpretation I,
Formula F)
LogicFor multi-valued logics, the above definition of a semantic satisfaction relation would experience a small generalization
Unlike the implementation method Formula.apply(Object), this surface method
must automatically consider the core interpretation
of this logic for symbol interpretations (and possible redefinitions) as well.
satisfy in interface Logicsatisfy in class ClassicalLogicI - the interpretation within which to evaluate F.F - the formula to check whether it is satisfied in I.
Logic.coreInterpretation()public Inference inference()
Logic
inference in interface Logicinference in class ClassicalLogicpublic Signature coreSignature()
ExpressionSyntaxThe core "signature" contains the logical signs that inherently belong to this term algebra and are not subject to interpretation. Logical signs are logical constants like true, false, and logical operators like ¬, and , or , ->, for all , exist . The latter are also called logical junctors.
Note that some authors do not count the core "signature" as part of the proper signature Σ but would rather call it "meta"-signature.
coreSignature in interface ExpressionSyntaxcoreSignature in class ClassicalLogicLogic.coreInterpretation()public Interpretation coreInterpretation()
LogicThis will usually contain the interpretation functors of logical operators like ¬, and , or , ->, <=>, for all and exist .
coreInterpretation in interface LogiccoreInterpretation in class ClassicalLogicExpressionSyntax.coreSignature()
protected static final boolean proveAll(java.io.Reader rd,
orbital.moon.logic.ModernLogic logic,
boolean all_true)
throws ParseException,
java.io.IOException
<premise> (, <premise>)* |= <conclusion> # <comment> <EOL> <formula> == <formula> # <comment> <EOL> ...
rd - the source for the conjectures to prove.logic - the logic to use.all_true - If true this method will return whether all conjectures in rd
could be proven.
If false this method will return whether some conjectures in rd
could be proven.
ParseException
java.io.IOExceptionLogicParser.readTRS(Reader,ExpressionSyntax,Function)public Expression createAtomic(Symbol symbol)
LogicAtomic symbols are either elemental atoms, strings or numbers. Caution In contrast, a logical formula that is not compound of something (on the level of logical junctors) like "P(x,y)" is sometimes called atom.
createAtomic in interface LogiccreateAtomic in interface ExpressionBuildersymbol - the symbol whose atomic expression representation to create.
public Formula createSymbol(Symbol symbol)
symbol - the symbol for which to create a formula representationExpressionBuilder.createAtomic(Symbol)
public Formula createFixedSymbol(Symbol symbol,
java.lang.Object referent,
boolean core)
symbol - the symbol for which to create a formula representationreferent - the fixed interpretation of this symbolcore - whether symbol is in the core such that it does not belong to the proper signature.ExpressionBuilder.createAtomic(Symbol)
public Formula.Composite composeDelayed(Formula f,
Expression[] arguments,
Notation notation)
f - the compositing formula.arguments - the arguments to the composition by f.notation - the notation for the composition (usually determined by the composing symbol).
public Formula.Composite composeFixed(Symbol fsymbol,
Functor f,
Expression[] arguments)
f - the compositing formula.arguments - the arguments to the composition by f.fsymbol - the symbol with with the fixed interpretation f.
public Expression createExpression(java.lang.String expression)
throws ParseException
In fact, parsing expressions is only possible with a concrete syntax. So implementations of this method are encouraged to define and parse a standard notation which can often be close to the default notation of the abstract syntax.
. Parses single formulas or sequences of formulas delimited by comma and enclosed in curly brackets. Sequences of expressions are represented by a special compound expression encapsulating the array of expressions as itscomponent.
createExpression in interface LogiccreateExpression in interface ExpressionSyntaxexpression - the compound expression to parse.
A string of "" denotes the empty expression.
However note that the empty expression may not be accepted in some term algebras.
Those parsers rejecting the empty expression are then inclined to throw a ParseException,
instead.
ParseException - when the expression is syntactically malformed.
Either due to a lexical or grammatical error.
public Signature scanSignature(java.lang.String expression)
throws ParseException
ExpressionSyntaxHowever, note that this method does not necessarily perform rich type querying. Especially for user-defined functions with an arbitrary argument-type structure, it is generally recommended to construct the relevant signature entries explicitly.
scanSignature in interface ExpressionSyntaxexpression - the expression that should be scanned for symbol names.
ParseException - (optional) when the expression is syntactically malformed.
Either due to a lexical or grammatical error.
(optional behaviour for performance reasons).
Will not throw ParseExceptions if createExpression would not either.ExpressionSyntax.coreSignature(),
"Factory Method"
protected void validateAtomic(Symbol symbol)
throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException - if signifier is not an identifier.
|
Orbital library 1.2.0: 23 Apr 2008 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||