%%-------------------** Abstract Reduction System (ARS) **------------------- %% %% Authors : Andre Luiz Galdino %% Universidade Federal de Goiás - Brasil %% %% and %% %% Mauricio Ayala Rincon %% Universidade de Brasília - Brasil %% %% Last Modified On: December 02, 2006 %% %%---------------------------------------------------------------------------
%%----------------------------** Notations **-------------------------------- %% %% These concepts can be found in the file relations_closure %% %% The binary relation R on the set T is defined as predicate %% PRED: TYPE = [[T,T] -> bool] %% %% RC(R) : Reflexive Closure of R ( ->= ) %% SC(R) : Symmetric Closure of R ( <-> ) %% TC(R) : Transitive Closure of R ( ->+ ) %% RTC(R): Reflexive Transitive Closure of R ( ->* ) %% EC(R) : Equivalence Closure of R ( <->*) %% %%---------------------------------------------------------------------------
%%----------------------------** Reductions **------------------------------- %% %% An ARS is a pair (T,->), where the reduction -> is a binary relation on %% the set T, noted by R. So the relation R(x,y) means x reduces to y, and %% y is called a reduct of x. %% %%--------------------------------------------------------------------------
ars_terminology[T : TYPE] : THEORY BEGIN
IMPORTING relations_closure[T]
R, R1, R2 : VAR PRED[[T, T]]
x, y, z, r : VAR T
%%-----------------------** Some Terminology **------------------------------ %% %% - x is reducible iff there is a y such that x -> y %% %% - y is a reduct of x iff x -> y %% %% - x is in normal form iff it is not reducible %% %% - y is a normal form of x iff x ->* y and y is in normal form %% %% - normalizing iff every elememt has a normal form %% %% - has_unique_nf(R,x) means x has a unique normal form w.r.t. R %% %% - unique_nf?(R)(x,y) means y is the unique normal form of x w.r.t. R %% %% - y is a direct successor of x iff x -> y %% %% - y is a successor of x iff x ->+ y %% %% - x and y are joinable iff there is a z such that x ->* z *<- y %% %%---------------------------------------------------------------------------
reducible?(R)(x): bool = EXISTS y: R(x,y)
reduct?(R)(x): PRED[T] = {y: T | RTC(R)(x, y)}
is_normal_form?(R)(x): bool = NOT reducible?(R)(x)
%%-------------------------** Notions of Confluence **---------------------- %% %% A reduction -> (relation R) is %% %% - Church-Rosser (CR) iff x <->* y implies x and y are joinable. %% %% - locally confluent iff y <- x -> z implies y and z are joinable. %% %% - semi-confluent iff y <- x ->* z implies y and z are joinable. %% %% - strongly confluent iff y <- x -> z implies exists r such that %% y ->* r =<- z. %% %% - has the diamond property iff y <- x -> z implies exists r such that %% y -> r <- z. %% %%--------------------------------------------------------------------------
%%---------------------------** Commutation **------------------------------- %% %% The relations -> and --> %% %% - commute iff y *<- x -->* z implies exists r such that %% y -->* r *<- z %% %% - strongly commute iff y <- x --> z implies exists r such that %% y -->= r *<- z %% %% - locally commute iff y <- x --> z implies exists r such that %% y -->* r *<- z %% %% - have the commuting diamond property iff %% y <- x --> z implies exists r such that y --> r <- z %% %%--------------------------------------------------------------------------
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.