Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions specification/wasm-3.0/7.0-soundness.contexts.spectec
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ rule Context_ok:
DATAS ok*,
ELEMS et*,
LOCALS lct*,
LABELS rt*,
RETURN rt'?,
LABELS (t*)*,
RETURN (t'*)?,
REFS x*
}
-- if C_0 = {TYPES dt^n}
Expand All @@ -30,6 +30,6 @@ rule Context_ok:
-- (Expand: dt_F ~~ FUNC t_1 -> t_2)*
-- (Reftype_ok: C_0 |- et : OK)*
-- (Localtype_ok: C_0 |- lct : OK)*
-- (Resulttype_ok: C_0 |- rt : OK)*
-- (Resulttype_ok: C_0 |- rt' : OK)?
-- (Resulttype_ok: C_0 |- t*: OK)*
-- (Resulttype_ok: C_0 |- t'* : OK)?
-- (if x < |dt_F*|)*
8 changes: 4 additions & 4 deletions specification/wasm-latest/7.0-soundness.contexts.spectec
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ rule Context_ok:
DATAS ok*,
ELEMS et*,
LOCALS lct*,
LABELS rt*,
RETURN rt'?,
LABELS (t*)*,
RETURN (t'*)?,
REFS x*
}
-- if C_0 = {TYPES dt^n}
Expand All @@ -30,6 +30,6 @@ rule Context_ok:
-- (Expand: dt_F ~~ FUNC t_1 -> t_2)*
-- (Reftype_ok: C_0 |- et : OK)*
-- (Localtype_ok: C_0 |- lct : OK)*
-- (Resulttype_ok: C_0 |- rt : OK)*
-- (Resulttype_ok: C_0 |- rt' : OK)?
-- (Resulttype_ok: C_0 |- t*: OK)*
-- (Resulttype_ok: C_0 |- t'* : OK)?
-- (if x < |dt_F*|)*
8 changes: 4 additions & 4 deletions spectec/test-frontend/TEST.md
Original file line number Diff line number Diff line change
Expand Up @@ -8173,9 +8173,9 @@ def $ordered(decl*) : bool
;; ../../../../specification/wasm-latest/7.0-soundness.contexts.spectec
relation Context_ok: `|-%:OK`(context,)
;; ../../../../specification/wasm-latest/7.0-soundness.contexts.spectec
rule _{C : context, n : n, `dt*` : deftype*, `jt*` : tagtype*, `gt*` : globaltype*, `mt*` : memtype*, `tt*` : tabletype*, `dt_F*` : deftype*, `ok*` : datatype*, `et*` : elemtype*, `lct*` : localtype*, `rt*` : reftype*, `rt'?` : reftype?, `x*` : idx*, m : m, `st*` : subtype*, C_0 : context, `t_1*` : valtype*, `t_2*` : valtype*}:
rule _{C : context, n : n, `dt*` : deftype*, `jt*` : tagtype*, `gt*` : globaltype*, `mt*` : memtype*, `tt*` : tabletype*, `dt_F*` : deftype*, `ok*` : datatype*, `et*` : elemtype*, `lct*` : localtype*, `t**` : valtype**, `t'*?` : valtype*?, `x*` : idx*, m : m, `st*` : subtype*, C_0 : context, `t_1*` : valtype*, `t_2*` : valtype*}:
`|-%:OK`(C,)
-- if (C = {TYPES dt^n{dt <- `dt*`}, TAGS jt*{jt <- `jt*`}, GLOBALS gt*{gt <- `gt*`}, MEMS mt*{mt <- `mt*`}, TABLES tt*{tt <- `tt*`}, FUNCS dt_F*{dt_F <- `dt_F*`}, DATAS ok*{ok <- `ok*`}, ELEMS et*{et <- `et*`}, LOCALS lct*{lct <- `lct*`}, LABELS [`%`_resulttype((rt : reftype <: valtype)*{rt <- `rt*`},)], RETURN ?(`%`_resulttype(lift((rt' : reftype <: valtype)?{rt' <- `rt'?`}),)), REFS x*{x <- `x*`}, RECS st^m{st <- `st*`}})
-- if (C = {TYPES dt^n{dt <- `dt*`}, TAGS jt*{jt <- `jt*`}, GLOBALS gt*{gt <- `gt*`}, MEMS mt*{mt <- `mt*`}, TABLES tt*{tt <- `tt*`}, FUNCS dt_F*{dt_F <- `dt_F*`}, DATAS ok*{ok <- `ok*`}, ELEMS et*{et <- `et*`}, LOCALS lct*{lct <- `lct*`}, LABELS `%`_resulttype(t*{t <- `t*`},)*{`t*` <- `t**`}, RETURN `%`_resulttype(t'*{t' <- `t'*`},)?{`t'*` <- `t'*?`}, REFS x*{x <- `x*`}, RECS st^m{st <- `st*`}})
-- if (C_0 = {TYPES dt^n{dt <- `dt*`}, TAGS [], GLOBALS [], MEMS [], TABLES [], FUNCS [], DATAS [], ELEMS [], LOCALS [], LABELS [], RETURN ?(), REFS [], RECS []})
-- (Deftype_ok: `%|-%:OK`({TYPES dt^n{dt <- `dt*`}[0 : i], TAGS [], GLOBALS [], MEMS [], TABLES [], FUNCS [], DATAS [], ELEMS [], LOCALS [], LABELS [], RETURN ?(), REFS [], RECS []}, dt))^(i<n){dt <- `dt*`}
-- (Subtype_ok2: `%|-%:%`({TYPES dt^n{dt <- `dt*`}, TAGS [], GLOBALS [], MEMS [], TABLES [], FUNCS [], DATAS [], ELEMS [], LOCALS [], LABELS [], RETURN ?(), REFS [], RECS st^m{st <- `st*`}}, st, OK_oktypenat(i)))^(i<m){st <- `st*`}
Expand All @@ -8187,8 +8187,8 @@ relation Context_ok: `|-%:OK`(context,)
-- (Expand: `%~~%`(dt_F, `FUNC%->%`_comptype(`%`_resulttype([t_1],), `%`_resulttype([t_2],))))*{dt_F <- `dt_F*`, t_1 <- `t_1*`, t_2 <- `t_2*`}
-- (Reftype_ok: `%|-%:OK`(C_0, et))*{et <- `et*`}
-- (Localtype_ok: `%|-%:OK`(C_0, lct))*{lct <- `lct*`}
-- (Resulttype_ok: `%|-%:OK`(C_0, `%`_resulttype([(rt : reftype <: valtype)],)))*{rt <- `rt*`}
-- (Resulttype_ok: `%|-%:OK`(C_0, `%`_resulttype([(rt' : reftype <: valtype)],)))?{rt' <- `rt'?`}
-- (Resulttype_ok: `%|-%:OK`(C_0, `%`_resulttype(t*{t <- `t*`},)))*{`t*` <- `t**`}
-- (Resulttype_ok: `%|-%:OK`(C_0, `%`_resulttype(t'*{t' <- `t'*`},)))?{`t'*` <- `t'*?`}
-- (if (x!`%`_idx.0 < |dt_F*{dt_F <- `dt_F*`}|))*{x <- `x*`}

;; ../../../../specification/wasm-latest/7.1-soundness.configurations.spectec
Expand Down
8 changes: 4 additions & 4 deletions spectec/test-latex/TEST.md
Original file line number Diff line number Diff line change
Expand Up @@ -14123,8 +14123,8 @@ C = \{ \begin{array}[t]{@{}l@{}}
\mathsf{datas}~{{\mathit{ok}}^\ast},\; \\
\mathsf{elems}~{{\mathit{et}}^\ast},\; \\
\mathsf{locals}~{{{\mathit{lt}}}^\ast},\; \\
\mathsf{labels}~{{\mathit{rt}}^\ast},\; \\
\mathsf{return}~{{\mathit{rt}'}^?},\; \\
\mathsf{labels}~{({t^\ast})^\ast},\; \\
\mathsf{return}~{({{t'}^\ast})^?},\; \\
\mathsf{refs}~{x^\ast} \}\end{array}
\qquad
C_0 = \{ \mathsf{types}~{{\mathit{dt}}^{n}} \}
Expand All @@ -14149,9 +14149,9 @@ C_0 = \{ \mathsf{types}~{{\mathit{dt}}^{n}} \}
\qquad
(C_0 \vdash {{\mathit{lt}}} : \mathsf{ok})^\ast
\qquad
(C_0 \vdash {\mathit{rt}} : \mathsf{ok})^\ast
(C_0 \vdash {t^\ast} : \mathsf{ok})^\ast
\qquad
(C_0 \vdash {\mathit{rt}'} : \mathsf{ok})^?
(C_0 \vdash {{t'}^\ast} : \mathsf{ok})^?
\qquad
(x < {|{{\mathit{dt}}_{\mathsf{f}}^\ast}|})^\ast
}{
Expand Down
24 changes: 12 additions & 12 deletions spectec/test-middlend/TEST.md
Original file line number Diff line number Diff line change
Expand Up @@ -7696,9 +7696,9 @@ def $ordered(decl*) : bool
;; ../../../../specification/wasm-latest/7.0-soundness.contexts.spectec
relation Context_ok: `|-%:OK`(context,)
;; ../../../../specification/wasm-latest/7.0-soundness.contexts.spectec
rule _{C : context, n : n, `dt*` : deftype*, `jt*` : tagtype*, `gt*` : globaltype*, `mt*` : memtype*, `tt*` : tabletype*, `dt_F*` : deftype*, `ok*` : datatype*, `et*` : elemtype*, `lct*` : localtype*, `rt*` : reftype*, `rt'?` : reftype?, `x*` : idx*, m : m, `st*` : subtype*, C_0 : context, `t_1*` : valtype*, `t_2*` : valtype*}:
rule _{C : context, n : n, `dt*` : deftype*, `jt*` : tagtype*, `gt*` : globaltype*, `mt*` : memtype*, `tt*` : tabletype*, `dt_F*` : deftype*, `ok*` : datatype*, `et*` : elemtype*, `lct*` : localtype*, `t**` : valtype**, `t'*?` : valtype*?, `x*` : idx*, m : m, `st*` : subtype*, C_0 : context, `t_1*` : valtype*, `t_2*` : valtype*}:
`|-%:OK`(C,)
-- if (C = {TYPES dt^n{dt <- `dt*`}, TAGS jt*{jt <- `jt*`}, GLOBALS gt*{gt <- `gt*`}, MEMS mt*{mt <- `mt*`}, TABLES tt*{tt <- `tt*`}, FUNCS dt_F*{dt_F <- `dt_F*`}, DATAS ok*{ok <- `ok*`}, ELEMS et*{et <- `et*`}, LOCALS lct*{lct <- `lct*`}, LABELS [`%`_resulttype((rt : reftype <: valtype)*{rt <- `rt*`},)], RETURN ?(`%`_resulttype(lift((rt' : reftype <: valtype)?{rt' <- `rt'?`}),)), REFS x*{x <- `x*`}, RECS st^m{st <- `st*`}})
-- if (C = {TYPES dt^n{dt <- `dt*`}, TAGS jt*{jt <- `jt*`}, GLOBALS gt*{gt <- `gt*`}, MEMS mt*{mt <- `mt*`}, TABLES tt*{tt <- `tt*`}, FUNCS dt_F*{dt_F <- `dt_F*`}, DATAS ok*{ok <- `ok*`}, ELEMS et*{et <- `et*`}, LOCALS lct*{lct <- `lct*`}, LABELS `%`_resulttype(t*{t <- `t*`},)*{`t*` <- `t**`}, RETURN `%`_resulttype(t'*{t' <- `t'*`},)?{`t'*` <- `t'*?`}, REFS x*{x <- `x*`}, RECS st^m{st <- `st*`}})
-- if (C_0 = {TYPES dt^n{dt <- `dt*`}, TAGS [], GLOBALS [], MEMS [], TABLES [], FUNCS [], DATAS [], ELEMS [], LOCALS [], LABELS [], RETURN ?(), REFS [], RECS []})
-- (Deftype_ok: `%|-%:OK`({TYPES dt^n{dt <- `dt*`}[0 : i], TAGS [], GLOBALS [], MEMS [], TABLES [], FUNCS [], DATAS [], ELEMS [], LOCALS [], LABELS [], RETURN ?(), REFS [], RECS []}, dt))^(i<n){dt <- `dt*`}
-- (Subtype_ok2: `%|-%:%`({TYPES dt^n{dt <- `dt*`}, TAGS [], GLOBALS [], MEMS [], TABLES [], FUNCS [], DATAS [], ELEMS [], LOCALS [], LABELS [], RETURN ?(), REFS [], RECS st^m{st <- `st*`}}, st, OK_oktypenat(i)))^(i<m){st <- `st*`}
Expand All @@ -7710,8 +7710,8 @@ relation Context_ok: `|-%:OK`(context,)
-- (Expand: `%~~%`(dt_F, `FUNC%->%`_comptype(`%`_resulttype([t_1],), `%`_resulttype([t_2],))))*{dt_F <- `dt_F*`, t_1 <- `t_1*`, t_2 <- `t_2*`}
-- (Reftype_ok: `%|-%:OK`(C_0, et))*{et <- `et*`}
-- (Localtype_ok: `%|-%:OK`(C_0, lct))*{lct <- `lct*`}
-- (Resulttype_ok: `%|-%:OK`(C_0, `%`_resulttype([(rt : reftype <: valtype)],)))*{rt <- `rt*`}
-- (Resulttype_ok: `%|-%:OK`(C_0, `%`_resulttype([(rt' : reftype <: valtype)],)))?{rt' <- `rt'?`}
-- (Resulttype_ok: `%|-%:OK`(C_0, `%`_resulttype(t*{t <- `t*`},)))*{`t*` <- `t**`}
-- (Resulttype_ok: `%|-%:OK`(C_0, `%`_resulttype(t'*{t' <- `t'*`},)))?{`t'*` <- `t'*?`}
-- (if (x!`%`_idx.0 < |dt_F*{dt_F <- `dt_F*`}|))*{x <- `x*`}

;; ../../../../specification/wasm-latest/7.1-soundness.configurations.spectec
Expand Down Expand Up @@ -19607,9 +19607,9 @@ def $ordered(decl*) : bool
;; ../../../../specification/wasm-latest/7.0-soundness.contexts.spectec
relation Context_ok: `|-%:OK`(context,)
;; ../../../../specification/wasm-latest/7.0-soundness.contexts.spectec
rule _{C : context, n : n, `dt*` : deftype*, `jt*` : tagtype*, `gt*` : globaltype*, `mt*` : memtype*, `tt*` : tabletype*, `dt_F*` : deftype*, `ok*` : datatype*, `et*` : elemtype*, `lct*` : localtype*, `rt*` : reftype*, `rt'?` : reftype?, `x*` : idx*, m : m, `st*` : subtype*, C_0 : context, `t_1*` : valtype*, `t_2*` : valtype*}:
rule _{C : context, n : n, `dt*` : deftype*, `jt*` : tagtype*, `gt*` : globaltype*, `mt*` : memtype*, `tt*` : tabletype*, `dt_F*` : deftype*, `ok*` : datatype*, `et*` : elemtype*, `lct*` : localtype*, `t**` : valtype**, `t'*?` : valtype*?, `x*` : idx*, m : m, `st*` : subtype*, C_0 : context, `t_1*` : valtype*, `t_2*` : valtype*}:
`|-%:OK`(C,)
-- if (C = {TYPES dt^n{dt <- `dt*`}, TAGS jt*{jt <- `jt*`}, GLOBALS gt*{gt <- `gt*`}, MEMS mt*{mt <- `mt*`}, TABLES tt*{tt <- `tt*`}, FUNCS dt_F*{dt_F <- `dt_F*`}, DATAS ok*{ok <- `ok*`}, ELEMS et*{et <- `et*`}, LOCALS lct*{lct <- `lct*`}, LABELS [`%`_resulttype((rt : reftype <: valtype)*{rt <- `rt*`},)], RETURN ?(`%`_resulttype(lift((rt' : reftype <: valtype)?{rt' <- `rt'?`}),)), REFS x*{x <- `x*`}, RECS st^m{st <- `st*`}})
-- if (C = {TYPES dt^n{dt <- `dt*`}, TAGS jt*{jt <- `jt*`}, GLOBALS gt*{gt <- `gt*`}, MEMS mt*{mt <- `mt*`}, TABLES tt*{tt <- `tt*`}, FUNCS dt_F*{dt_F <- `dt_F*`}, DATAS ok*{ok <- `ok*`}, ELEMS et*{et <- `et*`}, LOCALS lct*{lct <- `lct*`}, LABELS `%`_resulttype(t*{t <- `t*`},)*{`t*` <- `t**`}, RETURN `%`_resulttype(t'*{t' <- `t'*`},)?{`t'*` <- `t'*?`}, REFS x*{x <- `x*`}, RECS st^m{st <- `st*`}})
-- if (C_0 = {TYPES dt^n{dt <- `dt*`}, TAGS [], GLOBALS [], MEMS [], TABLES [], FUNCS [], DATAS [], ELEMS [], LOCALS [], LABELS [], RETURN ?(), REFS [], RECS []})
-- (Deftype_ok: `%|-%:OK`({TYPES dt^n{dt <- `dt*`}[0 : i], TAGS [], GLOBALS [], MEMS [], TABLES [], FUNCS [], DATAS [], ELEMS [], LOCALS [], LABELS [], RETURN ?(), REFS [], RECS []}, dt))^(i<n){dt <- `dt*`}
-- (Subtype_ok2: `%|-%:%`({TYPES dt^n{dt <- `dt*`}, TAGS [], GLOBALS [], MEMS [], TABLES [], FUNCS [], DATAS [], ELEMS [], LOCALS [], LABELS [], RETURN ?(), REFS [], RECS st^m{st <- `st*`}}, st, OK_oktypenat(i)))^(i<m){st <- `st*`}
Expand All @@ -19621,8 +19621,8 @@ relation Context_ok: `|-%:OK`(context,)
-- (Expand: `%~~%`(dt_F, `FUNC%->%`_comptype(`%`_resulttype([t_1],), `%`_resulttype([t_2],))))*{dt_F <- `dt_F*`, t_1 <- `t_1*`, t_2 <- `t_2*`}
-- (Reftype_ok: `%|-%:OK`(C_0, et))*{et <- `et*`}
-- (Localtype_ok: `%|-%:OK`(C_0, lct))*{lct <- `lct*`}
-- (Resulttype_ok: `%|-%:OK`(C_0, `%`_resulttype([(rt : reftype <: valtype)],)))*{rt <- `rt*`}
-- (Resulttype_ok: `%|-%:OK`(C_0, `%`_resulttype([(rt' : reftype <: valtype)],)))?{rt' <- `rt'?`}
-- (Resulttype_ok: `%|-%:OK`(C_0, `%`_resulttype(t*{t <- `t*`},)))*{`t*` <- `t**`}
-- (Resulttype_ok: `%|-%:OK`(C_0, `%`_resulttype(t'*{t' <- `t'*`},)))?{`t'*` <- `t'*?`}
-- (if (x!`%`_idx.0 < |dt_F*{dt_F <- `dt_F*`}|))*{x <- `x*`}

;; ../../../../specification/wasm-latest/7.1-soundness.configurations.spectec
Expand Down Expand Up @@ -31704,9 +31704,9 @@ def $ordered(decl*) : bool
;; ../../../../specification/wasm-latest/7.0-soundness.contexts.spectec
relation Context_ok: `|-%:OK`(context,)
;; ../../../../specification/wasm-latest/7.0-soundness.contexts.spectec
rule _{C : context, n : n, `dt*` : deftype*, `jt*` : tagtype*, `gt*` : globaltype*, `mt*` : memtype*, `tt*` : tabletype*, `dt_F*` : deftype*, `ok*` : datatype*, `et*` : elemtype*, `lct*` : localtype*, `rt*` : reftype*, `rt'?` : reftype?, `x*` : idx*, m : m, `st*` : subtype*, C_0 : context, `t_1*` : valtype*, `t_2*` : valtype*}:
rule _{C : context, n : n, `dt*` : deftype*, `jt*` : tagtype*, `gt*` : globaltype*, `mt*` : memtype*, `tt*` : tabletype*, `dt_F*` : deftype*, `ok*` : datatype*, `et*` : elemtype*, `lct*` : localtype*, `t**` : valtype**, `t'*?` : valtype*?, `x*` : idx*, m : m, `st*` : subtype*, C_0 : context, `t_1*` : valtype*, `t_2*` : valtype*}:
`|-%:OK`(C,)
-- if (C = {TYPES dt^n{dt <- `dt*`}, TAGS jt*{jt <- `jt*`}, GLOBALS gt*{gt <- `gt*`}, MEMS mt*{mt <- `mt*`}, TABLES tt*{tt <- `tt*`}, FUNCS dt_F*{dt_F <- `dt_F*`}, DATAS ok*{ok <- `ok*`}, ELEMS et*{et <- `et*`}, LOCALS lct*{lct <- `lct*`}, LABELS [`%`_resulttype((rt : reftype <: valtype)*{rt <- `rt*`},)], RETURN ?(`%`_resulttype(lift((rt' : reftype <: valtype)?{rt' <- `rt'?`}),)), REFS x*{x <- `x*`}, RECS st^m{st <- `st*`}})
-- if (C = {TYPES dt^n{dt <- `dt*`}, TAGS jt*{jt <- `jt*`}, GLOBALS gt*{gt <- `gt*`}, MEMS mt*{mt <- `mt*`}, TABLES tt*{tt <- `tt*`}, FUNCS dt_F*{dt_F <- `dt_F*`}, DATAS ok*{ok <- `ok*`}, ELEMS et*{et <- `et*`}, LOCALS lct*{lct <- `lct*`}, LABELS `%`_resulttype(t*{t <- `t*`},)*{`t*` <- `t**`}, RETURN `%`_resulttype(t'*{t' <- `t'*`},)?{`t'*` <- `t'*?`}, REFS x*{x <- `x*`}, RECS st^m{st <- `st*`}})
-- if (C_0 = {TYPES dt^n{dt <- `dt*`}, TAGS [], GLOBALS [], MEMS [], TABLES [], FUNCS [], DATAS [], ELEMS [], LOCALS [], LABELS [], RETURN ?(), REFS [], RECS []})
-- (Deftype_ok: `%|-%:OK`({TYPES dt^n{dt <- `dt*`}[0 : i], TAGS [], GLOBALS [], MEMS [], TABLES [], FUNCS [], DATAS [], ELEMS [], LOCALS [], LABELS [], RETURN ?(), REFS [], RECS []}, dt))^(i<n){dt <- `dt*`}
-- (Subtype_ok2: `%|-%:%`({TYPES dt^n{dt <- `dt*`}, TAGS [], GLOBALS [], MEMS [], TABLES [], FUNCS [], DATAS [], ELEMS [], LOCALS [], LABELS [], RETURN ?(), REFS [], RECS st^m{st <- `st*`}}, st, OK_oktypenat(i)))^(i<m){st <- `st*`}
Expand All @@ -31720,8 +31720,8 @@ relation Context_ok: `|-%:OK`(context,)
-- (Expand: `%~~%`(dt_F, `FUNC%->%`_comptype(`%`_resulttype([t_1],), `%`_resulttype([t_2],))))*{dt_F <- `dt_F*`, t_1 <- `t_1*`, t_2 <- `t_2*`}
-- (Reftype_ok: `%|-%:OK`(C_0, et))*{et <- `et*`}
-- (Localtype_ok: `%|-%:OK`(C_0, lct))*{lct <- `lct*`}
-- (Resulttype_ok: `%|-%:OK`(C_0, `%`_resulttype([(rt : reftype <: valtype)],)))*{rt <- `rt*`}
-- (Resulttype_ok: `%|-%:OK`(C_0, `%`_resulttype([(rt' : reftype <: valtype)],)))?{rt' <- `rt'?`}
-- (Resulttype_ok: `%|-%:OK`(C_0, `%`_resulttype(t*{t <- `t*`},)))*{`t*` <- `t**`}
-- (Resulttype_ok: `%|-%:OK`(C_0, `%`_resulttype(t'*{t' <- `t'*`},)))?{`t'*` <- `t'*?`}
-- (if (x!`%`_idx.0 < |dt_F*{dt_F <- `dt_F*`}|))*{x <- `x*`}

;; ../../../../specification/wasm-latest/7.1-soundness.configurations.spectec
Expand Down
20 changes: 10 additions & 10 deletions spectec/test-prose/TEST.md
Original file line number Diff line number Diff line change
Expand Up @@ -17745,7 +17745,7 @@ The identifier context :math:`I` is :ref:`valid <valid-val>` if:
The context :math:`C` is :ref:`valid <valid-val>` if:


* The context :math:`C` is of the form :math:`\{ \mathsf{types}~{{\mathit{dt}}^{n}},\;\allowbreak \mathsf{tags}~{{\mathit{jt}}^\ast},\;\allowbreak \mathsf{globals}~{{\mathit{gt}}^\ast},\;\allowbreak \mathsf{mems}~{{\mathit{mt}}^\ast},\;\allowbreak \mathsf{tables}~{{\mathit{tt}}^\ast},\;\allowbreak \mathsf{funcs}~{{\mathit{dt}}_{\mathsf{f}}^\ast},\;\allowbreak \mathsf{datas}~{{\mathit{ok}}^\ast},\;\allowbreak \mathsf{elems}~{{\mathit{et}}^\ast},\;\allowbreak \mathsf{locals}~{{{\mathit{lt}}}^\ast},\;\allowbreak \mathsf{labels}~{{\mathit{rt}}^\ast},\;\allowbreak \mathsf{return}~{{\mathit{rt}'}^?},\;\allowbreak \mathsf{refs}~{x^\ast},\;\allowbreak \mathsf{recs}~{{\mathit{st}}^{m}} \}`.
* The context :math:`C` is of the form :math:`\{ \mathsf{types}~{{\mathit{dt}}^{n}},\;\allowbreak \mathsf{tags}~{{\mathit{jt}}^\ast},\;\allowbreak \mathsf{globals}~{{\mathit{gt}}^\ast},\;\allowbreak \mathsf{mems}~{{\mathit{mt}}^\ast},\;\allowbreak \mathsf{tables}~{{\mathit{tt}}^\ast},\;\allowbreak \mathsf{funcs}~{{\mathit{dt}}_{\mathsf{f}}^\ast},\;\allowbreak \mathsf{datas}~{{\mathit{ok}}^\ast},\;\allowbreak \mathsf{elems}~{{\mathit{et}}^\ast},\;\allowbreak \mathsf{locals}~{{{\mathit{lt}}}^\ast},\;\allowbreak \mathsf{labels}~{{t^\ast}^\ast},\;\allowbreak \mathsf{return}~{({{t'}^\ast})^?},\;\allowbreak \mathsf{refs}~{x^\ast},\;\allowbreak \mathsf{recs}~{{\mathit{st}}^{m}} \}`.

* The context :math:`C_0` is of the form :math:`\{ \mathsf{types}~{{\mathit{dt}}^{n}},\;\allowbreak \mathsf{return}~\epsilon \}`.

Expand Down Expand Up @@ -17787,13 +17787,13 @@ The context :math:`C` is :ref:`valid <valid-val>` if:

* Under the context :math:`C_0`, the local type :math:`{{\mathit{lt}}}` is :ref:`valid <valid-val>`.

* For all :math:`{\mathit{rt}}` in :math:`{{\mathit{rt}}^\ast}`:
* For all :math:`{t^\ast}` in :math:`{{t^\ast}^\ast}`:

* Under the context :math:`C_0`, the result type :math:`{\mathit{rt}}` is :ref:`valid <valid-val>`.
* Under the context :math:`C_0`, the result type :math:`{t^\ast}` is :ref:`valid <valid-val>`.

* If :math:`{\mathit{rt}'}` is defined, then:
* If :math:`{{t'}^\ast}` is defined, then:

* Under the context :math:`C_0`, the result type :math:`{\mathit{rt}'}` is :ref:`valid <valid-val>`.
* Under the context :math:`C_0`, the result type :math:`{{t'}^\ast}` is :ref:`valid <valid-val>`.

* For all :math:`x` in :math:`{x^\ast}`:

Expand Down Expand Up @@ -29830,7 +29830,7 @@ Idctxt_ok

Context_ok
- the context C is valid if:
- C is { TYPES: dt^n; TAGS: jt*; GLOBALS: gt*; MEMS: mt*; TABLES: tt*; FUNCS: dt_F*; DATAS: ok*; ELEMS: et*; LOCALS: lct*; LABELS: [rt*]; RETURN: ?(rt'?); REFS: x*; RECS: st^m }.
- C is { TYPES: dt^n; TAGS: jt*; GLOBALS: gt*; MEMS: mt*; TABLES: tt*; FUNCS: dt_F*; DATAS: ok*; ELEMS: et*; LOCALS: lct*; LABELS: t**; RETURN: t'*?; REFS: x*; RECS: st^m }.
- the context C_0 is { TYPES: dt^n; RETURN: ?() }.
- For all dt in dt*:
- Under the context { TYPES: dt^n[0 : i]; RETURN: ?() }, the defined type dt is valid.
Expand All @@ -29851,10 +29851,10 @@ Context_ok
- Under the context C_0, the reference type et is valid.
- For all lct in lct*:
- Under the context C_0, the local type lct is valid.
- For all rt in rt*:
- Under the context C_0, the result type [rt] is valid.
- If rt' is defined, then:
- Under the context C_0, the result type [rt'] is valid.
- For all t* in t**:
- Under the context C_0, the result type t* is valid.
- If t'* is defined, then:
- Under the context C_0, the result type t'* is valid.
- For all x in x*:
- |dt_F*| is greater than x.

Expand Down
Loading