User Tools

Site Tools


normalize

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
normalize [2017/04/19 14:14]
127.0.0.1 external edit
normalize [2017/11/14 07:50] (current)
waruna [Example]
Line 10: Line 10:
 ====Normalization Rules==== ====Normalization Rules====
 Normalize takes a program and applies a set of normalization rules on it. Some of the basic rules are shown below: Normalize takes a program and applies a set of normalization rules on it. Some of the basic rules are shown below:
-  - <​latex> ​$e.f \Rightarrow e$, if $f(z)=z$</​latex>​ +  - $e.f \Rightarrow e, if $f(z)=z$ 
-  - <​latex> ​$(e_{1} \oplus e_{2}).f \Rightarrow (e_{1}.f) \oplus (e_{2}.f)$ ​</​latex>​ +  - $(e_{1} \oplus e_{2}).f \Rightarrow (e_{1}.f) \oplus (e_{2}.f)$ 
-  - <​latex> ​$(D:​e_{1})\oplus e_{2} \Rightarrow D:(e_{1} \oplus e_{2})$</​latex>​ +  - $(D:​e_{1})\oplus e_{2} \Rightarrow D:(e_{1} \oplus e_{2})$ 
-  - <​latex> ​$e_{1}\oplus (D: e_{2}) \Rightarrow D:(e_{2} \oplus e_{2})$</​latex>​ +  - $e_{1}\oplus (D: e_{2}) \Rightarrow D:(e_{1} \oplus e_{2})$ 
-  - <​latex> ​$(e\dot f_{1}). f_{2} \Rightarrow e . f$, where $f = f_{1} o f_{2}$</​latex>​ +  - $(ef_{1}). f_{2} \Rightarrow e . f$, where $f = f_{1} o f_{2}$ 
-  - <​latex> ​$D_{1}:​(D_{2}:​e) \Rightarrow D:e$, where $D=D_{1} \cap D_{2}$ ​</​latex>​ +  - $D_{1}:​(D_{2}:​e) \Rightarrow D:e$, where $D=D_{1} \cap D_{2}$ 
-  - <​latex> ​$(D:e). f \Rightarrow D':e$, where $D' = f^{-1}(D)$</​latex>​+  - $(D:e). f \Rightarrow D':e$, where $D' = f^{-1}(D)$
 ======== ========
 ====Example==== ====Example====
Line 41: Line 41:
   * In the computation for C, expression A[i] is equivalent to A.(i %%->%% i), f is an identity function, rule number one is satisfied. So A.(i %%->%% i) %%=>%% A.   * In the computation for C, expression A[i] is equivalent to A.(i %%->%% i), f is an identity function, rule number one is satisfied. So A.(i %%->%% i) %%=>%% A.
   * In the computation for C, expression {i| 0 %%<=%% i < N}: ({i|0 %%<=%% i < 2N}:A[i]) matches rule number 6, where D1 = {i| 0 %%<=%% i < N}, D2={i|0 %%<=%% i < 2N}. D=D1 ∩ D1 ={i|0 %%<=%% i < N}, the expression is changed to {i|0 %%<=%% i < N}:A.   * In the computation for C, expression {i| 0 %%<=%% i < N}: ({i|0 %%<=%% i < 2N}:A[i]) matches rule number 6, where D1 = {i| 0 %%<=%% i < N}, D2={i|0 %%<=%% i < 2N}. D=D1 ∩ D1 ={i|0 %%<=%% i < N}, the expression is changed to {i|0 %%<=%% i < N}:A.
-  * In the computation for D, expression (i, j %%->%% j, i)@({|0 %%<=%% i < N\}:A[i]) matches rule number 7, where D = {i,j |0 %%<=%% i < N }, f=(i, j %%->%% j, i). D'​=f^(-1)(D)={i,​j|0 %%<=%% j < N}, the expression is changed to {i,j|0 %%<=%% j < N}:A[i,j];+  * In the computation for D, expression (i, j %%->%% j, i)@({|0 %%<=%% i < N}:A[i]) matches rule number 7, where D = {i,j |0 %%<=%% i < N }, f=(i, j %%->%% j, i). D'​=f^(-1)(D)={i,​j|0 %%<=%% j < N}, the expression is changed to {i,j|0 %%<=%% j < N}:A[i,j];
  
 The result for the above program after normalization is: The result for the above program after normalization is:
normalize.1492632866.txt.gz · Last modified: 2017/04/19 14:14 by 127.0.0.1