{'fraction_non_alphanumeric': 0.04176170669529049, 'fraction_numerical': 0.008721320273715282, 'mean_word_length': 4.2953818827708705, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
The Inverse Problem for Argumentation Gradual Semantics

Gradual semantics with abstract argumentation provide each argument with a score reflecting its acceptability, i.e. how"much"it is attacked by other arguments. Many different gradual semantics have been proposed in the literature, each following different principles and producing different argument rankings. A sub-class of such semantics, the so-called weighted semantics, takes, in addition to the graph structure, an initial set of weights over the arguments as input, with these weights affecting the resultant argument ranking. In this work, we consider the inverse problem over such weighted semantics. That is, given an argumentation framework and a desired argument ranking, we ask whether there exist initial weights such that a particular semantics produces the given ranking. The contribution of this paper are: (1) an algorithm to answer this problem, (2) a characterisation of the properties that a gradual semantics must satisfy for the algorithm to operate, and (3) an empirical evaluation of the proposed algorithm.


Introduction
Abstract argumentation semantics aim to identify the justification status of arguments by considering interactions between arguments. Such semantics typically operate over a directed graph, with nodes representing the (abstract) arguments, and directed edges denoting the interactions between them, e.g., attacks or supports among others. Standard argumentation semantics [5,13,8] identify sets of arguments which are considered justified (as well as unjustified and undecided). In contrast, ranking-based semantics seek to assign a ranking (or ordering) over arguments, with higher ranked arguments being considered more justified (or "less attacked") than lower ranked arguments. Such rankings are -in most ranking-based semantics -determined by assigning numerical values (called acceptability degrees) to all arguments, with the ranking on arguments being computed based on the numerical ordering. Those ranking-based semantics are called gradual semantics. Note that not all ranking-based semantics follow this numerical approach. For instance, the ranking on arguments obtained from the burden-based or the discussion-based semantics, defined in [1], are computed using the lexicographical order on vectors of argument scores.
While some ranking-based semantics [1,6,12,2] only consider the structure of a standard Dung's argumentation framework, others take in one or more additional features, such as a set of initial weights for each argument [10,4]; weights for attacks between arguments [9,26]; a support relation [20,19,22]; or even set attacks [27]. In most gradual semantics, the final acceptability degree of an argument then depends on a range of parameters. In this paper, we focus on gradual semantics which take into account the structure of the graph, the initial weights of arguments, and the peculiarities of the semantics being used. Of course, the proposed approach could easily be generalised to other settings.
Rather than describing how an initial set of argument weights map to a ranking on arguments via some semantics, in this paper we consider the inverse problem. That is, given an abstract argumentation framework and a desired ranking on arguments, we seek to identify what initial weights should be assigned to arguments so as to obtain the desired argument ranking. We provide an algorithm for undertaking this task for a set of well-known gradual semantics (trust-based, iterative-schema, weighted max-based, weighted card-based, and weighted h-categorizer semantics) which satisfy some basic properties, and then empirically evaluate the algorithm's performance.
While we do not discuss the applications of our results, we note that potential areas in which they can be used include persuasion [21] and preference elicitation [18].
The remainder of this paper is structured as follows. First, in Section 2, we provide the necessary background to understand our approach. Second, in Section 3, we describe our algorithm. In Section 4, we highlight the requisite properties of the semantics over which the algorithm operates. Our empirical evaluation is detailed in Section 5, and we discuss potential applications of this work as well as avenues for future research in Section 6.

Background
We begin this section by providing a brief overview of abstract argumentation, as well as several gradual semantics. Following this, we introduce the bisection method, a simple technique for finding the roots of an equation which lies at the heart of our approach.

Argumentation
We situate our approach in the context of abstract argumentation. Here, arguments are atomic entities which interact with each other via a binary attack relationship. Such systems are easily encoded as directed graphs (c.f., [13]). In this paper, since our departure point involves assigning each argument an initial weight, we instead consider weighted argumentation frameworks (WAFs) [14,3].
Definition 1 (WAF) A weighted argumentation framework (WAF) is a triple F = A, D, w , where A is a finite set of arguments, D ⊆ A × A is a binary attack relation, and w : A → [0, 1] is a weighting function assigning an initial weight to each argument.
The set of attackers of an argument a ∈ A is denoted as Att(a) = {b ∈ A | (b, a) ∈ D}.
A ranking-based semantics allows us to move from a weighted argumentation framework to a ranking over arguments. While myriad semantics have been proposed, we consider the gradual semantics described in [4] due to this work's recency and the popularity of the semantics described therein. We note in advance that some of these semantics do not work with our approach, but we will use these to help explain the properties of those semantics to which our approach applies. Furthermore, while [6] describes 13 ranking-based semantics, it is only these gradual semantics which allow for an initial weight to be assigned to an argument.
Definition 2 (Gradual Semantics) A gradual semantics σ is a function that associates to each weighted argumentation graph F = A, D, w , a scoring function σ F : A → [0, 1] that provides an acceptability degree to each argument. In this paper, we consider the gradual semantics σ x , for x ∈ {T B, IS, M B, CB, HC}, defined as follows.
• The trust-based semantics σ T B [10] is defined such that the acceptability degree of an argument a ∈ A is • The iterative-schema semantics σ IS [15] is defined such that the acceptability degree of an argument a ∈ A is σ F and for all b ∈ A, IS 0 (b) = w(b).
• The weighted max-based semantics σ M B [4] is defined such that the acceptability degree of an argument a ∈ A is σ • The weighted card-based semantics σ CB [4] is defined such that the acceptability degree of an argument a ∈ A is σ F if Att * (a) = ∅ and w(a) otherwise.
• The weighted h-categorizer semantics σ HC [4] is defined such that the acceptability degree of an argument a ∈ A is σ  With the exception of σ IS , the ranking on arguments is obtained from the acceptability degree assigned to them. For σ IS , the semantics returns those arguments whose acceptability degree is set to 1. As usual, for every a, b ∈ A, we write a b iff a b and b a, a b iff a b, a ≺ b iff a b, and a b iff a b and a b.
, (a 1 , a 1 ), (a 1 , a 2 ), (a 2 , a 2 ), (a 3 , a 2 )}, w(a 0 ) = 0.43, w(a 1 ) = 0.39, w(a 2 ) = 0.92, and w(a 3 ) = 0.3. The WAF is represented in Figure 1 and the acceptability degrees for the gradual semantics of Definition 2 are shown in Table 1.  We note that the semantics described above are able to operate on cyclic graphs. Semantics such as DF-Quad [22], while popular, are designed to operate on acyclic graphs only, and we therefore ignore them in this work.

The Bisection Method
The algorithm we describe in Section 3 requires us to find the roots of a continuous function. While many techniques for doing so exist [11,7,24], the bisection method is easily understood and numerically stable, and is therefore used in our experiments. Note that more advanced root finding methods could be used within our approach with no loss of generality.
Algorithm 1 details the bisection method. As input, the method takes in a function f , a tolerance , and upper and lower bound values (α and β respectively), such that f (β) < 0 < f (α). A single iteration of the algorithm identifies the midpoint µ = and lower bounds. The process then repeats until the absolute value of the image of the midpoint is sufficiently small, i.e., |f ((α + β)/2)| < . Note that one can choose to also stop when the distance between α and β is small. The number of iterations required to achieve an error is bounded by log 2 ((| α − β |)/ ) . Note that for the bisection method to work correctly and return a unique root, the function f must be continuous and monotonic in the interval [α, β].

The Inverse Problem
Our aim in this work is to identify a set of initial weights to obtain some desired final ranking on arguments. More formally, we take as input: (1) an unweighted argumentation framework A, D , (2) a gradual semantics σ, and (3) a desired preference relation ⊂ A × A. Our aim is to find a weighting function w such that in the resultant WAF In Sections 3.2 and 3.3, we describe an algorithm to identify an appropriate weighting function. The proposed algorithm involves two phases. In phase 1, we identify an achievable acceptability degree for an argument, taking into account the desired ranking on arguments. In phase 2, we undertake a search -using the bisection methodfor the initial weights necessary to achieve this desired acceptability degree.
Before examining the algorithm, we consider several special cases of the inverse problem.

Special Cases
We begin by considering the trust-based semantics. We note that, if w(a) < 0.5 for all a ∈ A, then σ F T B (a) = w(a), making the inverse problem trivial to solve in this case. We note that while such a solution satisfies the inverse problem, it is at odds with the intuition behind trust based semantics as described in [10]. In cases where, for all a ∈ A, w(a) ≥ 0.5, the presence of cycles can mean that no solution exists for the inverse problem under the σ T B semantics. As an example of this, consider the standard 3-cycle WAF: the acceptability degrees of all arguments will be 0.5.
Turning to the σ IS semantics, we observe that it was designed to have acceptability degrees converge to either 1, 0.5, or 0. This means that the inverse problem is not always applicable to this semantics as it can only accommodate three levels of acceptability. Moreover, there are rankings which cannot be achieved, e.g. consider the simple WAF: {a, b}, {(a, b)}, w , it is not possible to get a ≺ b as σ F IS (a) = 1 and σ F IS (b) = 0, for any weighting w. Finally, consider a fully connected graph. We can easily prove the following proposition, which makes the solving the inverse problem on such graphs trivial.
Given these special cases, in the remainder of the paper we consider only σ M B , σ CB and σ HC . We can trivially solve the inverse problem for fully connected graphs as all the semantics will converge quickly, even in the presence of a significant number of arguments and edges.

Phase 1: Computing Acceptability Degrees
We partition the set of arguments A into a sequence of non-empty sets of arguments [Ar 0 , . . . , Ar n ] such that for any a, b ∈ Ar i , 0 ≤ i ≤ n, a b, and for any a ∈ Ar i , b ∈ Ar j where 0 ≤ i < j ≤ n, a b. Now consider an argument a ∈ Ar 0 . For each semantics, we can reason as follows.
• σ M B : Assume that a is attacked by an argument with acceptability degree 1. If w(a) = 1, its acceptability degree can be at most 0.5.
• σ CB : Assume that a is attacked by n other arguments with degree 1. Then its acceptability degree can be at most 1/(2 + n). If a is the most attacked argument in Ar 0 , then all other arguments in Ar 0 will have an acceptability degree equal to or greater than this value.
• σ HC : Assume that a is attacked by n other arguments with degree 1. Then its acceptability degree can be at most 1/(1 + n). If a is the most attacked argument in Ar 0 , then all other arguments will have an acceptability degree equal or greater to this value.
We refer to the aforementioned values as the minimal upper bounds for the arguments in Ar 0 , as this is the lowest value we are guaranteed to be able to achieve (with the corresponding semantics) if the arguments in Ar 0 have an initial weight of 1. Similarly, the maximal upper bound for arguments in Ar 0 is 1, achievable if all attackers of arguments in Ar 0 have an acceptability degree of 0. The idea is to make sure that all the arguments from Ar 0 have acceptability degree in the interval [mup, 1], where mup is the minimal upper bound corresponding to the semantics in question, e.g. all the arguments from Ar 0 are within [ 1 1+n , 1] for σ HC . Now, consider Ar 1 . If the maximal upper bound of the acceptability degree of these arguments is lower than the minimal upper bound for the arguments in Ar 0 , then we will comply with our desired ranking on arguments. To achieve this, we set the initial weights of arguments in Ar 1 to (just below) the minimal upper bound of Ar 0 . We can repeat this, computing initial weights, and concomitant maximal upper bounds for Ar i by considering the minimal upper bounds of Ar i−1 . Algorithm 2 describes this process. Note that a small constant ζ is added to the denominator in all cases to ensure that the minimal upper bound is still reduced for the special case where all arguments in some Ar i are unattacked.

Phase 2: Finding the Initial Weights
Having identified appropriate minimum upper bounds for all Ar 0 to Ar n , we now turn our attention to finding initial weights for each argument in these sets so as to have that argument's acceptability degree equal to the corresponding set's minimum upper bound. By doing this, we obtain our desired ranking on arguments.
Our approach to achieving this involves picking an argument and modifying its initial weight (using the bisection method), causing it to approach its minimum upper bound value. We then pick another argument and repeat this process, until all arguments reach their desired values. There are several choices we must consider, and optimisations possible, when instantiating this approach. The most obvious choices we face revolve around selecting an argument for modification, and the decision of how much to modify the selected argument by. Myriad strategies for argument selection are possible, and in this work we consider 5 simple strategies: S1 : Select more preferred arguments for modification first. The rationale here is that such arguments have higher acceptability degrees, and fixing their values will cause fewer perturbations in the remainder of the process.
S2 : Select less preferred arguments for modification first. Such arguments, with their small degree, would have little influence on the network.
S3 : Select arguments further from their target degree first. By selecting arguments with the largest error first, we may perturb the network less.
S4 : Select arguments nearest their target degree first. These, due to needing only minor perturbations, would have minimal effect on the rest of the argumentation system.

S5
: Pick arguments at random. This is the baseline strategy.
Observe that additional strategies can be used, e.g. picking arguments with most, or fewest attackers, or which attack most or fewest arguments, first. We leave consideration of such strategies to future work.
It is important to note that the bisection method is only guaranteed to work for a function with a single variable, and the selection of an appropriate strategy is therefore critical to our algorithm's success. As discussed in Section 5, some of these strategies work much better than others, but we are unable to provide an analytical proof of correctness for any of the strategies.
With regards to how much we should modify a selected argument, we could do so until it is within some tolerance of its acceptability degree, or until a certain number of iterations of the bisection method have been carried out. The rationale behind the second approach is that it allows us to respond to changes in acceptability degrees of other arguments due to our modifications more rapidly than if we modify only a single argument at a time.
If d is the desired acceptability degree for an argument a, then we can use the bisection method to find a new initial weight w a for a such that |σ F (a) − d| ≤ where σ F (a) is the acceptability degree of a in the WAF where the weight of a is now w a . To apply the bisection method we need to also identify an initial upper and lower bound. While we can use the values 1 and 0 for this, we can also identify tighter bounds, leading to a small improvement in performance. First, consider the lower bound α passed to the bisection method. Since our denominator is at least 1, we can set α to the minimal upper bound. For β, assume we wish to achieve a minimal upper bound of m(a) for argument a, which has n attackers. Now consider σ M B , and assume that the strongest attacker has acceptability degree 1. We have that m(a) = w(a)/(2 + ζ) and so can set β to min{(2 + ζ) · m(a), 1}. Using this idea, for σ H C, we can set β to min{m(a) · (1 + n + ζ), 1}, and for σ CB to min{(2 + n + ζ) · m(a), 1}.
From a practical point of view, observe that the target acceptability degree computed in Phase 1 may be very small. The stopping condition of our bisection method should therefore use a relative error |(α + β)/2 − m(a)|/m(a) < rather than an absolute error. Since we evaluate acceptability degrees as part of the bisection method, we can also terminate our algorithm early if the acceptability degrees returned in the evaluation match our desired ranking, even if they have not yet converged to the desired minimum upper bound.

Algorithm Properties
We now examine several properties of our approach and the underlying semantics, identifying necessary conditions over the latter which are needed for the former to work. Given the iterative nature of the underlying semantics, proving that some of these properties hold is difficult, and in Section 5, we carry out an empirical evaluation which strongly suggests that the σ M B , σ HC and σ CB semantics respect these properties. Properties which we are able to demonstrate are identified as propositions, with associated proofs in the supplementary material, while those we are unable to analytically demonstrate are labelled as conjectures.
The first property we consider involves the weights obtained in Phase 1 (Section 3.2). We need to demonstrate that the computed weights are achievable. While we can easily demonstrate that the computed weight is achievable in isolation, doing so for the entire system is more difficult. In Phase 2, for the bisection method to operate, we must demonstrate that our semantics is continuous (otherwise we may be unable to converge to a solution); and that these changes are (strongly) monotonic (as otherwise we may have any number of solutions). This also implies that our solution satisfies uniqueness (though uniqueness does not imply monotonicity).
Property 2 (Continuity) A gradual semantics σ satisfies continuity iff for any WAF F = {a 1 , a 2 , . . . , a n }, D, w , X F = (σ F (a 1 ), σ F (a 2 ), . . . , σ F (a n )), we can find F = {a 1 , a 2 , . . . , a n }, D, w (with unbounded weights) such that there is at least one a ∈ A s.t. w(a) = w (a) and |X F − X F | < δ for any positive δ. We say that σ satisfies bounded continuity iff it satisfies continuity and the initial weights for F are restricted to [0, 1].

Property 3 (Strong Monotonicity)
A gradual semantics σ satisfies strong monotonicity iff for any two WAFs F = A, D, w , F = A, D, w for which there is some a ∈ A such that w(a) = w (a) + δ, δ > 0 and for all b ∈ A \ {a}, w(b) = w (b), it holds that σ F (a) > σ F (a).

This in turn yields the following proposition.
Proposition 2 A gradual semantics σ which does not satisfy strong monotonicity or bounded continuity could have multiple, or no solutions to the inverse problem. In other words, both are necessary conditions for a unique solution for the inverse problem to exist.
We conjecture that σ M B , σ HC and σ CB meet these conditions. We are unable to demonstrate strong monotonicity and bounded continuity though we show uniqueness and continuity for them in our supplementary material). The empirical evaluation suggests our approach operates successfully.

Evaluation
We evaluated each of the strategies discussed in Section 3.3 over directed scale-free, small world (Erdos-Renyi), and complete graphs of different sizes (number of arguments) 1 . As part of our evaluation, we ran 10, 100 and 2000 iterations of the bisection method for each argument before using a strategy to pick the next desired argument. Table 2 describes the remaining parameters used in our evaluation.
We created a simple target preference ordering for our experiments, randomly placing each argument within the graph into one of 5 levels of preference. This meant that in all cases, at least some arguments had equal desired preference levels.
Our experiments evaluated the runtime of the different strategies, the number of times the bisection method was invoked, and the number of times the total iterations required exceeded the permitted maximum number of iterations. Given the number of dimensions across which our evaluation took place, we present only a subset of our results here; full results can be found in the supplementary material.
Our main criterion for evaluation revolves around the number of times the bisection method was called by our approach. As shown in Figure 2, which is representative of the results for most graph topologies, our runtime grows in a super-linear manner, due -as shown in [4] -to the increased time taken to evaluate a semantics on larger graphs. The number of bisection method iterations is shown in Figure 2 for our different semantics and graph types when selecting the next argument based on largest relative error. We observe that this value grows linearly (with a gradient between 1 and 2 depending on topology and semantics) for all semantics considered (R 2 > 0.99 for all cases). This means that arguments are typically only recomputed at most twice before our approach converges. These results not only demonstrate the feasibility of  our approach for large argumentation graphs, but also highlight the effectiveness of this specific argument selection strategy. We also note that there is little variance in our results for CB. We believe that this is due to the extra |Att| term in the semantics; this term overwhelms the term which depends on other arguments' final degrees, making the result more dependent on the topology of the graph than in the case of the other semantics.
Due to space, we have omitted detailed results about several other aspects of our approach. In summary, • From all argument selection strategies, only selecting arguments from largest to smallest relative error resulted in always finding a solution to the inverse problem.
• Allowing for partial convergence (via fewer iterations per argument before moving to the next one) decreased performance, often failing to find a solution.
• Optimising the α and β bounds (c.f. Section 3.3) had almost no influence on runtime. This is not surprising due to the speed at which the bisection method converges.
Note that in the absence of equivalent arguments with the same acceptability degree, one could allow for early termination without getting to the target acceptability degrees, but that was not investigated in the current paper.

Conclusion & Discussion
In this paper we considered the inverse problem for a weighted argumentation framework. We demonstrated that a solution to this inverse problem exists for at least one family of semantics, and that a solution does not exist for at least some semantics. We then described an algorithm to solve the inverse problem, and empirically evaluated its performance. Our results show the viability of our approach. When selecting arguments for initial weight perturbation based on relative error, each argument is typically perturbed at most twice (depending on semantics and graph topology).
Our approach was able to find weightings over all evaluated graphs and semantics, suggesting that HC, CB and M B meet all the requirements described in Section 4. While we have been unable to analytically prove many of our results, relying instead on an empirical analysis, searching for such analytic proofs forms a critical avenue of future work.
No work has -to our knowledge -explicitly considered the inverse problem applied to gradual semantics as described in this paper, but several works have examined related concepts under different guises. Work on the epistemic approach to probabilistic argumentation [16] describes families properties which probabilistic argumentation semantics should satisfy. Selecting a set of these properties constrains the possible probabilities which arguments can have. A similar strand of work in the context of fuzzy argumentation [25] allows one to calculate legal ranges of fuzzy degrees for arguments based on initial weights assigned to arguments and the semantics underpinning the fuzzy argumentation system. Another strand of somewhat related work comes from the area of argumentation dynamics. Work here examines what arguments or attacks should be introduced to strengthen or weaken an argument, in a manner somewhat analogous to our changing of an initial argument weight.
There has been some work on sensitivity analysis within argumentation [23]. This work considers whether (small) changes in argument weights will affect the conclusions that can be drawn from an argumentation framework.
We are extending this research in several directions as part of our current and future work. The results reported on in this paper are a first step towards our long-term goal to provide a formal analysis of sensitivity to initial weights in M B, CB and HC style semantics.
The conditions specified in Prop. 2 are necessary for our algorithm to operate. As mentioned above, we are still investigating whether these conditions are also sufficient, or whether additional properties need to be identified. Once this is done, we will be able to categorise other weighted semantics unrelated to those discussed in the current work (e.g., the constellation-based probabilistic semantics [17]) and consider whether our approach can be applied to them.
The efficiency of our approach suggests that the underlying problem can be solved analytically. A final strand of future work involves searching for such an analytical solution. We note that the different equations describing the respective semantics would require fine-tuning such a solution to the individual semantics, while the bisection method proposed in the current work can be applied more generally.
Proof Let σ ∈ {σ M B , σ CB , σ HC } and F = A, D, w be a fully connected WAF (including self attacks for every arguments). As a result, for every a ∈ A, σ F (a) = w(a) 1+X σ F , where X σ F is a positive constant which depends on the structure of the WAF and the semantics (see Definition 2). Now, consider two arguments a, b such that w(a) ≤ w(b), it holds that σ F (a) ≤ σ F (b) (and vice-versa).
Proposition 2 A gradual semantics σ which does not satisfy strong monotonicity or bounded continuity could have multiple, or no solutions to the inverse problem. In other words, both are necessary conditions for a unique solution for the inverse problem to exist.
Proof To show that multiple or zero solutions exist, we provide two examples.
• Consider the semantics σ N M such that for all WAFs F = A, D, w and a ∈ A, σ F nm (a) = min(−2w(a) 2 + w(a), 0). It is clear that σ N M does not satisfy strong monotonicity. In the case of a WAF with a single argument a. If we wish to obtain an acceptability degree of 0 to a, we need to assign an initial weight of 0 or any number in [0.5, 1] to a, demonstrating multiple solutions.
• The σ IS semantics does not satisfy continuity. For example, we cannot achieve an acceptability degree of 0.9 for any argument, demonstrating that no solution exists to the inverse problem.
Proposition 3 (Uniqueness) Given two WAFs F = A, D, w , F = A, D, w for which there is some a ∈ A such that w(a) = w (a) and for all b = a ∈ A, w(b) = w (b). It holds that σ F (a) = σ F (a), for σ ∈ {σ M B , σ CB , σ HC }.
Proof Assume an arbitrary WAF F = A, D, w such that a ∈ A and σ ∈ {σ M B , σ CB , σ HC }. Assume there is a path from a to one of its attackers, we have that σ F (a) = w(a)/f a (σ F (a)), where f a is a function that depends on the WAF and the semantics considered. For instance, if F = {a 0 , a 1 }, {(a 0 , a 1 ), (a 1 , a 0 )}, w and σ = σ HC , then f a0 (x) = 1 + (w(a 1 )/(1 + x)). If there is no path from a to one of its attackers, f a is a constant function. Now, consider F = A, D, w , where w (a) = w(a) + δ, δ = 0 and for all b ∈ A \ {a}, w(b) = w(a). Let us prove the proposition by contradiction. Assume it is false, i.e., that we have the σ F (a) = σ F (a). Then we must have w(a)/f a (σ F (a)) = (w(a) + δ)/f a (σ F (a)), which can only hold if δ = 0, this is a contradiction.
continuous at the equilibrium point, i.e., it has a first derivative at that point. As such, a continuous variation in the initial conditions HC t in the vicinity of the equilibrium point induces a continuous variation in HC t+1 . The equilibrium point can be continuously approached as t → ∞. This proof can be adapted in a straightforward manner to deal with the σ M B and σ CB semantics.