
Orbital library  
PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 
public interface Expression
An interface for representations of expressions.
This interface is implemented by objects representing syntactic expressions like those created by
ExpressionBuilder.createAtomic(Symbol)
,
ExpressionBuilder.compose(Expression,Expression[])
,
or ExpressionSyntax.createExpression(String)
.
Objects representing compound expressions implement Expression.Composite
,
which can be used for decomposition and analysis of compound expressions.
Given a signature
Σ we define a general term algebra and thus the (abstract) syntax of the
expressions. However, the abstract syntax notation does not say anything about the particular syntax.
T(Σ) :=  ⋃̇_{τ} T(Σ)_{τ}  
The terms (or expressions) of type τ are 

T(Σ)_{τ} :=  
Σ_{τ } 
atomic symbols


∪ {υ(t) ¦ υ∈T(Σ)_{σ→τ} and t∈T(Σ)_{≤σ}} 
composites (ascriptors)


be minimal, i.e. min fix  
The corresponding abstract syntax is  
T(Σ)_{τ} →  
Σ_{τ } 
atomic symbols


 T(Σ)_{σ→τ} (T(Σ)_{≤σ}) 
composites (ascriptors)


The terms of subtypes of τ are  
T(Σ)_{≤τ} :=  ⋃_{ρ≤τ} T(Σ)_{ρ} 
currying
or product construction.
Also note that υ is not restricted to functions and predicates,
but is a metavariable that may stand for any syntactic compositor.
With the above decomposition, terms are a graded magma with the magma Τ of types as graduation. Also Σ⊆T(Σ) operates (left and right) on T(Σ) by an action with which the graduation is compatible. However the compositions involved are partial and may result in errorneous type ⊥ or undefined terms.
For a set X with Σ∩X⊆Σ_{0}, T(Σ∪X) is also a Σalgebra of terms over Σ generated by X.
ExpressionBuilder
,
ExpressionBuilder.createAtomic(Symbol)
,
ExpressionBuilder.compose(Expression,Expression[])
,
ExpressionSyntax.createExpression(String)
Nested Class Summary  

static interface 
Expression.Composite
The base interface for all composite expressions that are composed of other expressions. 
Method Summary  

Signature 
getSignature()
Get the subsignature appearing in this expression. 
Methods inherited from interface orbital.logic.sign.type.Typed 

getType 
Method Detail 

Signature getSignature()

Orbital library 1.3.0: 11 Apr 2009 

PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 