@@ -19,29 +19,7 @@ The execution of a WebAssembly program gives rise to a :ref:`trace <relaxed-trac
1919Preliminary Definitions
2020~~~~~~~~~~~~~~~~~~~~~~~
2121
22- .. math ::
23- \begin {array}{lcl}
24- \timeevt \ldots & = & \ldots \\
25- \\
26- \readingact \ldots & = & \ldots \\
27- \ordact \ldots & = & \ldots \\
28- \overlapact \ldots & = & \ldots \\
29- \\
30- \readact \ldots & = & \ldots \\
31- \\
32- \writingact \ldots & = & \ldots \\
33- \\
34- \writeact \ldots & = & \ldots \\
35- \offsetact \ldots & = & \ldots \\
36- \\
37- \syncact \ldots & = & \ldots \\
38- \rangeact \ldots & = & \ldots \\
39- \\
40- \tearfreeact \ldots & = & \ldots \\
41- \sameact \ldots & = & \ldots \\
42- \\
43- \X {func}_{\reg }(\evt ) \ldots & = & \X {func}(\act ) \ldots \\
44- \end {array}
22+ Bla bla
4523
4624
4725.. _relaxed-trace :
@@ -85,12 +63,12 @@ Consistency
8563 \sizeaux (\ARMW ~\loc ~{\byte _1 }^n~{\byte _2 }^n) & = & n \\
8664 &&\\
8765 \readaux (\ARD _{\ord }~\loc ~\byte ^\ast ~\NOTEARS ^?) & = & \byte ^\ast \\
88- \readaux (\AWR _{\ord }~\loc ~\byte ^\ast ~\NOTEARS ^?) & = & \epsilon \\
8966 \readaux (\ARMW ~\loc ~{\byte _1 }^\ast ~{\byte _2 }^\ast ) & = & {\byte _1 }^\ast \\
67+ \readaux (\act ) & = & \epsilon \qquad \otherwise \\
9068 &&\\
9169 \writeaux (\ARD _{\ord }~\loc ~\byte ^\ast ~\NOTEARS ^?) & = & \epsilon \\
92- \writeaux (\AWR _{\ord }~\loc ~\byte ^\ast ~\NOTEARS ^?) & = & \byte ^\ast \\
9370 \writeaux (\ARMW ~\loc ~{\byte _1 }^\ast ~{\byte _2 }^\ast ) & = & {\byte _2 }^\ast \\
71+ \writeaux (\act ) & = & \epsilon \qquad \otherwise \\
9472 &&\\
9573 \addraux (\act ) & = & \addraux (\regionaux (\act ) \\
9674 \addraux (\loc ) & = & \addraux (\regionaux (\reg ) \\
@@ -105,6 +83,39 @@ Consistency
10583 \offsetaux (\reg [i]) & = & i \\
10684 \end {array}
10785
86+ .. math ::
87+ \begin {array}{rcl}
88+ \timeevt (\act ^\ast ~\AT ~\time ) & = & \time \\
89+ \\
90+ \ordact (\ARD _{\ord }~\loc ~\byte ^\ast ~\NOTEARS ^?) & = & \ord \\
91+ \ordact (\AWR _{\ord }~\loc ~\byte ^\ast ~\NOTEARS ^?) & = & \ord \\
92+ \ordact (\ARMW ~\loc ~{\byte _1 }^\ast ~{\byte _2 }^\ast ) & = & \SEQCST \\
93+ \\
94+ \overlapact (\act _1 , \act _2 ) \ldots & = & \rangeact (\act _1 ) \cup \rangeact (\act _2 ) \neq \epsilon \\
95+ \sameact \ldots & = & \rangeact (\act _1 ) = \rangeact (\act _2 ) \\
96+ \\
97+ \readingact (\act ) & = & \readact (\act ) \neq \epsilon \\
98+ \writingact (\act ) & = & \writeact (\act ) \neq \epsilon \\
99+ \\
100+ \readact (\ARD _{\ord }~\loc ~\byte ^\ast ~\NOTEARS ^?) & = & \byte ^\ast \\
101+ \readact (\ARMW ~\loc ~{\byte _1 }^\ast ~{\byte _2 }^\ast ) & = & {\byte _1 }^\ast \\
102+ \readact (\act ) & = & \epsilon \qquad \otherwise \\
103+ &&\\
104+ \writeact (\ARD _{\ord }~\loc ~\byte ^\ast ~\NOTEARS ^?) & = & \epsilon \\
105+ \writeact (\ARMW ~\loc ~{\byte _1 }^\ast ~{\byte _2 }^\ast ) & = & {\byte _2 }^\ast \\
106+ \writeact (\act ) & = & \epsilon \qquad \otherwise \\
107+ &&\\
108+ \offsetact (\act ) & = & \u32 \qquad \iff \locaux (\act ) = \reg [\u32 ] \ \\
109+ \\
110+ \syncact \ldots & = & \ldots \\
111+ \rangeact \ldots & = & \ldots \\
112+ \\
113+ \tearfreeact \ldots & = & \ldots \\
114+ \\
115+ \X {func}_{\reg }(\act _1 ^\ast ~\act ~\act _2 ^\ast ~\AT ~\time ) & = & \X {func}(\act ) \qquad \iff \locaux (\act ) = \reg [\u32 ] \\
116+ \X {func}_{\reg }(\act _1 ^\ast ~\act ~\act _2 ^\ast ~\AT ~\time , \act _3 ^\ast ~\act '~\act _4 ^\ast ~\AT ~\time ') & = & \X {func}(\act .\act ') \qquad \iff \locaux (\act ) = \locaux (\act ') = \reg [\u32 ] \\
117+ \end {array}
118+
108119 .. todo :: Add more auxiliary functions
109120
110121.. todo :: add prose intuition
@@ -122,7 +133,7 @@ Consistency
122133 \forall \evt _R \in \readingact _{\reg }(\trace ), \exists \evt _W^\ast ,
123134 \trace \vdash _{\reg } \evt _R \readseachfrom \evt _W^\ast \\
124135 \forall \evt _I, \evt \in \trace , \,
125- \F {ord}_r (\evt _I) = \INIT \wedge
136+ \ordact _{ \reg } (\evt _I) = \INIT \wedge
126137 \evt _I \neq \evt \wedge
127138 \overlapact (\evt _I, \evt ) \Rightarrow \evt _I \prechb \evt
128139 \end {array}
0 commit comments