1
$\begingroup$

I have the need to define a multi-component object type for which I provide numerous definitions throughout the text. However, in most of these definitions, I only need to refer to one or two of the components constituting the object type. Therefore, I am looking for a widely used notation that allows to quickly refer to only a single component of the object type without having to introduce the entire object.

I have identified four possible notations for defining multi-component objects. which I do introduce below using the object type transition system as an example. The first notation is the classical one where the object type is defined as a tuple. The drawback of this definition is that anytime that I want to express properties on the object type I need to re-introduce the entire tuple. The other three notations (2-4) avoid this issue, but I am not sure whether they are widely used and accepted.

Here are a few options

  1. A transition system $TS$ is a tuple $(S,\Sigma,\delta, s_0)$ where

    • $S$ is a set of states
    • $\Sigma$ is a set of Actions
    • $\delta \subseteq S \times \Sigma \times S$ is the state transition relation
    • $s_0 \in S$ is the initial state

    Usage example

    A transition systems $TS = (S,\Sigma,\delta, q_0)$ is finite if $S$ is finite

  2. A transition system $TS$ is consists of

    • a set of states $S(TS)$
    • a set of actions $\Sigma(TS)$
    • a transittion relation $\delta(TS) \subseteq S(TS) \times \Sigma(TS) \times S(TS)$
    • the initial state $s_0(TS) \in S(TS)$

    Usage example

    A transition systems $TS$ is finite if $S(TS)$ is finite

  3. A transition system $TS$ is consists of

    • a set of state $S^{TS}$
    • a set of action $\Sigma^{TS}$
    • the transition relation $\delta^{TS} \subseteq S^{TS} \times \Sigma^{TS} \times S^{TS}$
    • the initial state $s_0^{TS} \in S^{TS}$

    Usage example

    A transition systems $TS$ is finite if $S^{TS}$ is finite

  4. A transition system $TS$ is consists of

    • a set of states $TS.S$
    • a set of actions $TS.\Sigma$
    • a transittion relation $TS.\delta \subseteq TS.S \times TS.\Sigma \times TS.S$
    • the initial state $TS.s_0 \in TS.S$

    Usage example

    A transition systems $TS$ is finite if $TS.S$ is finite

$\endgroup$

1 Answer 1

4
$\begingroup$

Papers I've seen that have this issue often present 1 as the initial definition and then also define 2 (or 3 with subscripts) as an additional definition that is used when necessary for clarity.

A common abuse of notation—common enough that I've seen it in multiple places, although it makes my skin crawl every time I see it—is to write something like $S = S(TS)$.

3 with superscripts is unacceptable because superscripts have other widely-understood standard meanings; however, it would be fine if the superscripts were changed to subscripts. 4 is never used outside of programming contexts.

I would also recommend avoiding the two-letter variable name $TS$ in mathematical notation, especially since you are also using $S$ as a separate symbol. Use single letters, resorting to Greek if necessary, for anything in the standard italic "variable" font. Special functions and classes of languages usually get straight font or boldface to distinguish them from surrounding text for this reason.

$\endgroup$
1
  • $\begingroup$ I have seen style 4 used in cryptography , for example when the object at hand is a signature scheme or similar. See page 13 of iacr.org/archive/tcc2016b/99850156/99850156.pdf as an example. $\endgroup$
    – Robbo
    Commented Dec 27, 2019 at 3:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.