% # % # % # %

○ 6130 35 5447 31 3715 21 2088 12 ● 5839 33 4214 24 7252 41 9716 55 × 5693 32 8045 45 6739 38 5902 33

○ 313 4 2292 26 904 10 452 5 ● 49 1 1793 20 2142 24 2959 34 × 8469 95 4746 54 5785 66 5420 61

○ 3532 40 2914 33 2031 23 1236 14 ● 3267 37 2296 26 3533 40 4946 56 × 2782 23 3621 41 3267 37 2649 30

**Accuracy** 48 66 55 50 **F-value** 35 54 44 34

Using the secondary corpus (i.e., the facet-encoded utterance developed in the previous section), we conducted the discourse analysis in order to examine the interest conflict among the participants and visualize the discourse patterns during the debate process. Using non-metric multi-dimensional scaling (MDS), we distributed the participants on a two-dimensional space based on the similarity of their utterance meanings (Kruskal, 1964a and 1964b; Qian, 2004). Among the Z participants <sup>1</sup> ( ,..., ) *i z p p p* , the dissimilarity of interest (,) *<sup>i</sup> <sup>j</sup> dsim p p* between two participants *<sup>i</sup> p* and *<sup>j</sup> p* is represented as the distance ( , ) *<sup>i</sup> <sup>j</sup> dis p p* in a two-dimensional space. If the interest dissimilarity between the participants is

For a participant *<sup>k</sup> <sup>p</sup>* ' the relative frequency of dummy variables

*yA A A D D D* is defined, making up the facet vector from the

*pk j pk y D*

*j pk y A*

(1)

*y j*

( 1)

*y j*

(4)

Note: The symbols ○, ●, and × indicate categories X(1), X(-1), and neutral, respectively.

(,) *<sup>i</sup> <sup>j</sup> dsim p p* < (, ) *i k dsim p p* , then the distance is ( , ) *<sup>i</sup> <sup>j</sup> dis p p* < (, ) *i k dis p p* .

*W*

Evidences Rigor/adequacy Positive/Negative

based approaches.

**Researchers** 

**SVM** 

**Final Decomposition**

*y j* 

Table 2. Facet Decomposition Results.

**4.1 Similarity of utterance meaning** 

**4. Discourse analysis of the public debate** 

( ( 1), (0), (1), , ( 1), (0), (1))

secondary corpus as illustrated below:

**Total 8,831 utterances**  Here, *<sup>k</sup> p* indicates a set of facet vector. Facet matrix S is defined as:

$$\mathbf{S} = \begin{bmatrix} \mathbf{F}\_{p1} \\ \vdots \\ \mathbf{F}\_{pz} \end{bmatrix} = \begin{bmatrix} \mathcal{W}\_{A(-1)}^{p\_1} & \cdots & \mathcal{W}\_{D(1)}^{p\_1} \\ \vdots & \ddots & \vdots \\ \mathcal{W}\_{A(-1)}^{p\_z} & \cdots & \mathcal{W}\_{D(1)}^{p\_z} \end{bmatrix} \tag{5}$$

The similarity between the facet vectors of two participants is calculated based on the cosine angle distance:

$$\begin{aligned} \text{sim}(p\_i, p\_j) &= \text{cos}(\mathbf{F}\_{pi}\mathbf{F}\_{pj}) = \frac{\mathbf{F}\_{pi}\mathbf{F}\_{pj}}{|\mathbf{F}\_{pi}| \cdot |\mathbf{F}\_{pj}|} \\ &= \frac{\sum\_{y=A(-1)}^{D(1)} \mathcal{W}\_y^{p\_j} \mathcal{W}\_y^{p\_j}}{\sqrt{\sum\_{y=A(-1)}^{D(1)} (\mathcal{W}\_y^{p\_j})^2} \sqrt{\sum\_{y=A(-1)}^{D(1)} (\mathcal{W}\_y^{p\_j})^2}} \end{aligned} \tag{6}$$

We can determine the dissimilarity of the facet vectors through the inverse of the cosine function:

$$dsim(p\_{i'}, p\_{j}) = \cos^{-1}\{sim\_i(p\_{i'}, p\_{j})\}\tag{7}$$

All distances ( , ) *<sup>i</sup> <sup>j</sup> dis p p* are arranged in a correlation matrix *D*:

$$\mathbf{D} = \begin{pmatrix} \operatorname{dis}(p\_1, p\_1) & \cdots & \operatorname{dis}(p\_1, p\_z) \\ \vdots & \ddots & \vdots \\ \operatorname{dis}(p\_z, p\_1) & \cdots & \operatorname{dis}(p\_z, p\_z) \end{pmatrix} \tag{8}$$

MDS reproduces the distance ( , ) *<sup>i</sup> <sup>j</sup> dis p p* on a two-dimensional space by minimizing the sum of the squares of the distance between ( , ) *<sup>i</sup> <sup>j</sup> dis p p* and the dissimilarities ( , ) *<sup>i</sup> <sup>j</sup> dsim p p* . Using stress, which represents the degree of incompatibility between the dissimilarity and the distance, an accurate coordinate value is produced:

$$Stress = \sqrt{\frac{\sum\_{i=1}^{z-1} \sum\_{j>i}^{z} \{dis(p\_i, p\_j) - dsim(p\_i, p\_j)\}^2}{\sum\_{i=1}^{z-1} \sum\_{j>i}^{z} \{dis(p\_i, p\_j) - \overline{dis}\}^2} \tag{9}$$

*dis* denotes the average of the distance between two participants:

$$\overline{dis} = \sqrt{\frac{\sum\_{i=1}^{z-1} \sum\_{j>i}^{z} \{dis(p\_i, p\_j)\}^2}{\sum\_{z} \mathbb{C}\_2}} \tag{10}$$

Facet Decomposition and Discouse Analysis: Visualization of Conflict Structure 201

We created a time-sequence of the primary corpus and calculated the cumulative frequency of the facet in order to analyze the change in the discourse patterns of the five types of participants. Figures 3 to 7 illustrate the discourse change for the different types of participants. The horizontal axis on the graphs represents the number of time-sequence of utterances while the vertical axis represents the cumulative frequency of the elements of each facet. The line will go up if the frequency of category *X*(1) of facet *X* increases. The line will go down if the frequency of category *X*( 1) of facet *X* increases. The line will remain

Figure 3 illustrates the temporal variation of the cumulative frequency of the facets of the facilitator. The facilitator expresses a total of 849 utterances in 8 out of the 14 debates. The results of the facet decomposition for facilitators show that the facilitators do not take a "pro" or "con" position on the project; expressed utterances without evidence; when they do provide evidence, they presented rigorous evidence during the debate in general and used adequate evidence on certain issues; and expressed more negative attitudes rather than

In contrast, the cumulative frequency of the facets of the other types of participants exhibits a stable pattern (Figures 4 to 7). Experts had a total of 444 utterances in 6 out of the 14 debates; administrators expressed 151 utterances in one debate; citizens (pros) expressed 143 utterances in one debate; and citizens (cons) had 228 utterances in one debate. Except for the facilitators and experts, the participants were involved in only one debate; as such, their opportunities for expressing their perspectives on the project was limited, only managing to gain mutual understanding and knowledge during the debate. The results also show that administrators and experts have a tendency to take a neutral position on many facets while

citizens have a tendency to repeat same categories of facets, that is, the pros or cons.

Fig. 2. The Five Types of Participants.

**4.2 The change of discourse pattern** 

positive attitudes throughout the debates.

constant if the frequency of *X*(1) matches that of *X*( 1) .

By changing the dimension value to a lower value, the optimal arrangement for the coordinate value in a two-dimensional space can be defined. Consequently, the semantic similarity of all individuals is illustrated as the distances in a two-dimensional space.

Figure 1 shows the distribution of the participants in this study (49 professionals, 27 administrators [i.e., river managers], and 5 citizens) on a two-dimensional space based on the similarity of the facet vectors derived from 14 debates minutes (i.e., the primary corpus). The symbols ◆, ✳, and □ denote citizens, experts, and administrators, respectively. As shown in Figure 1, the participant groups usually have similar interests. For instance, citizens are located on the leftmost part of the graph. Meanwhile the administrators are distributed on the top portion of the space, while, the experts are positioned on the bottom of the space, indicating that these two groups have interest conflict.

Fig. 1. Similarity of Interest Structures of Debate Participants.

Figure 2 illustrates the five types of participants who expressed their utterances: the facilitators (○×); experts (✳); citizens with a "pro" opinion (◆); citizens with a "con" opinion (◇), and administrators (□). As shown in the figure, the distance between facilitator and expert is wider than that between facilitator and citizen or administrator, which means that the interest structure of facilitators is similar to that of experts, but substantially differs from that of citizens and administrators. In this case, it is important to examine the change in the interest structure during the debate rather than the different interest structures themselves. It is also important to remember that different interest structures are not necessarily a negative thing. On the contrary, it will help groups obtain and understand the diverse perspectives of the various stakeholders on a project. In the following subsection, we will analyze the change in interest structure during the debate process using Figure 2 once again.

Fig. 2. The Five Types of Participants.

By changing the dimension value to a lower value, the optimal arrangement for the coordinate value in a two-dimensional space can be defined. Consequently, the semantic

Figure 1 shows the distribution of the participants in this study (49 professionals, 27 administrators [i.e., river managers], and 5 citizens) on a two-dimensional space based on the similarity of the facet vectors derived from 14 debates minutes (i.e., the primary corpus). The symbols ◆, ✳, and □ denote citizens, experts, and administrators, respectively. As shown in Figure 1, the participant groups usually have similar interests. For instance, citizens are located on the leftmost part of the graph. Meanwhile the administrators are distributed on the top portion of the space, while, the experts are positioned on the bottom

similarity of all individuals is illustrated as the distances in a two-dimensional space.

of the space, indicating that these two groups have interest conflict.

Fig. 1. Similarity of Interest Structures of Debate Participants.

process using Figure 2 once again.

Figure 2 illustrates the five types of participants who expressed their utterances: the facilitators (○×); experts (✳); citizens with a "pro" opinion (◆); citizens with a "con" opinion (◇), and administrators (□). As shown in the figure, the distance between facilitator and expert is wider than that between facilitator and citizen or administrator, which means that the interest structure of facilitators is similar to that of experts, but substantially differs from that of citizens and administrators. In this case, it is important to examine the change in the interest structure during the debate rather than the different interest structures themselves. It is also important to remember that different interest structures are not necessarily a negative thing. On the contrary, it will help groups obtain and understand the diverse perspectives of the various stakeholders on a project. In the following subsection, we will analyze the change in interest structure during the debate

#### **4.2 The change of discourse pattern**

We created a time-sequence of the primary corpus and calculated the cumulative frequency of the facet in order to analyze the change in the discourse patterns of the five types of participants. Figures 3 to 7 illustrate the discourse change for the different types of participants. The horizontal axis on the graphs represents the number of time-sequence of utterances while the vertical axis represents the cumulative frequency of the elements of each facet. The line will go up if the frequency of category *X*(1) of facet *X* increases. The line will go down if the frequency of category *X*( 1) of facet *X* increases. The line will remain constant if the frequency of *X*(1) matches that of *X*( 1) .

Figure 3 illustrates the temporal variation of the cumulative frequency of the facets of the facilitator. The facilitator expresses a total of 849 utterances in 8 out of the 14 debates. The results of the facet decomposition for facilitators show that the facilitators do not take a "pro" or "con" position on the project; expressed utterances without evidence; when they do provide evidence, they presented rigorous evidence during the debate in general and used adequate evidence on certain issues; and expressed more negative attitudes rather than positive attitudes throughout the debates.

In contrast, the cumulative frequency of the facets of the other types of participants exhibits a stable pattern (Figures 4 to 7). Experts had a total of 444 utterances in 6 out of the 14 debates; administrators expressed 151 utterances in one debate; citizens (pros) expressed 143 utterances in one debate; and citizens (cons) had 228 utterances in one debate. Except for the facilitators and experts, the participants were involved in only one debate; as such, their opportunities for expressing their perspectives on the project was limited, only managing to gain mutual understanding and knowledge during the debate. The results also show that administrators and experts have a tendency to take a neutral position on many facets while citizens have a tendency to repeat same categories of facets, that is, the pros or cons.

Facet Decomposition and Discouse Analysis: Visualization of Conflict Structure 203

Pros Citizen

50 100

Facet A Facet B Facet C Facet D

Facet A Facet B Facet C Facet D

Number of Secondary Corpus

Cons Citizen

Number of Secondary Corpus

50 100 150 200



The cumulative frequency

of facet

Fig. 5. The Discourse Pattern Change of Citizens (Pros).

Fig. 6. The Discourse Pattern Change of Citizens (Cons).

The cumulative frequency

of facet

Fig. 3. The Discourse Pattern Change of the Facilitator.

Fig. 4. The Discourse of Pattern Change of the Experts.

Facilitator


> -80 -60 -40 -20 0 20 40 60 80

The cumulative frequency

of facet

The cumulative frequency

of facet

50

100

150

200

Fig. 3. The Discourse Pattern Change of the Facilitator.

Fig. 4. The Discourse of Pattern Change of the Experts.

250

300

350

400

450

Number of Secondary Corpus

Expert

50 100 150 200 250 300 350 400

Number of Secondary Corpus

500

550

600

650

700

750

800

Facet A Facet B Facet C Facet D

Facet A Facet B Facet C Facet D

Fig. 5. The Discourse Pattern Change of Citizens (Pros).

Fig. 6. The Discourse Pattern Change of Citizens (Cons).

Facet Decomposition and Discouse Analysis: Visualization of Conflict Structure 205

context-dependent utterances. Further studies may address this problem using a feedback system that reviews the results of discourse pattern changes. Third, utterances are dependent on the debate context and the characteristics of the participants. As such, it is necessary to improve the method by taking into account latent variables such as social context and unobservable individual characteristics. Fourth, it is easy to lose diverse contextual information in the process of facet decomposition. It is therefore necessary to build a database that includes other contextual information such as the right to speak (e.g., utterance turn or length of utterance) or the social relationship between participants. Finally, further normative research of public debate is needed. This involves developing normative rules of public debate and evaluating models of desirability of public debate. By overcoming

Akamine, S., Kawahara, D., Kato, Y., Nakagawa, T., Inui, K., Kurohashi, S., and Kidawara,

Dagan, I., Glickman, O., and Magnini, B. (2006). The PASCAL recognising textual entailment

Ericsson, K.A. and Simon, H.A. (1993). *Protocol analysis: verbal reports as data*, MIT

Horita, M. and Kanno, Y. (2001). Development an information based CRANES for Public

Hashiuchi, T. (2003). *Disukōsu: Danwa no orinasu sekai*, Tokyo: Kuroshio Publishers (in

Hatori, T., Kawayoke, T., Kobayashi, K., Natsume, T., and Fujisaki, E. (2006). Protocol

Hatori, T., Jeong, H., and Kobayashi, K. (2008). The open public debate and the impacts

Hiromi, W., Tomonari, M., Atsuhiro, T., and Jun, A. (2006). Topic-oriented term extraction

Jeong, H., Hatori, T., and Kobayashi, K.(2007). Discourse analysis of public debates: a

Koreniusa, T., Laurikkalaa, J., and Juhola, M. (2007). On principal component analysis,

Krippendorff, K. (1980). *Content analysis: an introduction to its methodology*, Sage Publication,

Koizumi, T. (2001). *Nyumon goyoron kenkyu: riron to ouyou*, Kenkyusya (in Japanese).

Y. (2009). WISDOM: A web information credibility analysis system, *Proceedings of* 

challenge, *Machine learning challenges. Lecture notes in computer science*, Vol. 3944,

Press.Francis, N. (1982). Problems of assembling and computerizing large corpora, In: Johansson, S. (ed.): *Computer corpora in English language research*, Norwegian

involvement Management, *Journal of Japan Society of Civil Engineers, VI*, Vol. 686,

analysis of a public debate using facet theory, *Journal of Japan Society of Civil* 

upon trust formation, *Journal of Japan Society of Civil Engineers D*, Vol. 64, pp. 148-

and term clustering for query focusing, *Transactions of Information Processing Society* 

cosine and Euclidean measures in information retrieval, *Information Sciences*, Vol.

these limitations, facilitation techniques can be vastly improved.

*the ACL-IJCNLP 2009 Software Demonstrations*, pp. 1-4.

Computing Centre for the Humanities, Bergen, pp. 7-24. Giddens, A. (1990). *The consequences of modernity*. Cambridge: Polity Press.

*Engineers*, Vol. 23, No.1, pp. 91-102 (in Japanese).

*of Japan database,* Vol. 47, No. SIG19 (TOD32), pp. 72-85.

**6. References** 

Springer, pp. 177-190.

Japanese).

169.

Inc.

No. 52, pp. 109-120 (in Japanese).

corpus-based approach, *IEEE*, *SMC*.

177 pp. 4893-4905.

Fig. 7. The Discourse Pattern Change of the Administrators.

The cumulative frequency of facet is a simple and useful indicator for understanding the change in discourse and consequently the change in the interest structures. By examining the changes in the discourse patterns, we can uncover the possible causes of the interest conflicts.

In sum, this study's proposed method of discourse analysis enables us to identify debate content and structure and consequently the conflict structure and dynamic change throughout the debate process. This new approach overcomes the limitations previous existing approaches.

## **5. Conclusions**

This study proposed a new method for examining the interest conflict of participants and discourse pattern changes in the process of debate using discourse analysis. We applied this method to a series of debates on a real public project during which we uncovered interest conflict among certain types of participants.

Results of our analysis suggest that during public debates, it is important to identify and adopt facilitation techniques that help identify discourse patterns, which in turn uncovers the cause of interest conflicts. This will help the debate participants examine the different perspectives of stakeholders and arrive at a consensus.

While the proposed discourse analysis method in this study helps manage and support the debate progress, it is not without its limitations. First, the validity of the proposed method relies mainly on the facet decomposition framework. Further empirical analysis is needed to confirm this validity. Second, the accuracy of the facet decomposition needs to be improved. Facet decomposition resulting from the use of the SVM has low accuracy levels for highly context-dependent utterances. Further studies may address this problem using a feedback system that reviews the results of discourse pattern changes. Third, utterances are dependent on the debate context and the characteristics of the participants. As such, it is necessary to improve the method by taking into account latent variables such as social context and unobservable individual characteristics. Fourth, it is easy to lose diverse contextual information in the process of facet decomposition. It is therefore necessary to build a database that includes other contextual information such as the right to speak (e.g., utterance turn or length of utterance) or the social relationship between participants. Finally, further normative research of public debate is needed. This involves developing normative rules of public debate and evaluating models of desirability of public debate. By overcoming these limitations, facilitation techniques can be vastly improved.

#### **6. References**

204 Semantics in Action – Applications and Scenarios

Administrator

Facet A Facet B Facet C Facet D

50 100

Number of Secondary Corpus

The cumulative frequency of facet is a simple and useful indicator for understanding the change in discourse and consequently the change in the interest structures. By examining the changes in the discourse patterns, we can uncover the possible causes of the interest

In sum, this study's proposed method of discourse analysis enables us to identify debate content and structure and consequently the conflict structure and dynamic change throughout the debate process. This new approach overcomes the limitations previous

This study proposed a new method for examining the interest conflict of participants and discourse pattern changes in the process of debate using discourse analysis. We applied this method to a series of debates on a real public project during which we uncovered interest

Results of our analysis suggest that during public debates, it is important to identify and adopt facilitation techniques that help identify discourse patterns, which in turn uncovers the cause of interest conflicts. This will help the debate participants examine the different

While the proposed discourse analysis method in this study helps manage and support the debate progress, it is not without its limitations. First, the validity of the proposed method relies mainly on the facet decomposition framework. Further empirical analysis is needed to confirm this validity. Second, the accuracy of the facet decomposition needs to be improved. Facet decomposition resulting from the use of the SVM has low accuracy levels for highly

Fig. 7. The Discourse Pattern Change of the Administrators.


The cumulative frequency

conflicts.

existing approaches.

**5. Conclusions** 

conflict among certain types of participants.

perspectives of stakeholders and arrive at a consensus.

of facet


**0**

**9**

*China*

**Visualizing Program Semantics**

Generally, any program is designed for computing one problem based on one special architecture computing machine. It is unavoidable that some machine constraint will be transferred to the program code. When the program is formalized for being verified or

Turing model,the theory model of program(mainstream ), has two special features: Only one storage tape that determines the changing status is sequent; Only one write-read head that determines the sequence of action operating is serialization; Accordingly, research on program semantics is focus on two areas: the first viewpoint thinks that a program is a set of status. the operating is a procedure of status changing. So, for that the formalization tools describe status. The other one viewpoint thinks that a program is a set of processes. A status is abstracted for understanding the process. So, for that the formalization tools describe the processes, and a

One target of formalizing a program is,not for a special machine, to get one general and one abstract specification Bjorner et al. (1987); Spivey (1998). So, one program specification must

For the problems, Petri nets is an ideal theory tool. By both extending and applying Petri nets theory, the semantics of program can be formalized visually Breuer & Lano (1999); Girault &

Informally, a program is composed of data structure and algorithm Harel (1987); Khedker et al. (2009); Woodcock & Davies (1996). We know data structure is a discrete description of entity attributes based on one special computing machine. For example, the data structure of

From figure 1, we can conclude the tree is composed of attributes *right*,*lef t* and *data*. But we can't make out any relation among *right*,*lef t* and *data*. In fact, the relations are the key to

validated the machine constraints will be treated as properties of program .

status only is the composition of processes by timeline.

• the consumptive or the nonconsumptive resources;

• the control flow in program, not one in computing machine.

tree can be described as in figure 1(if the tree only has such attributes)

describe the following basic properties:

• variables and theeir changing;

• the semantics of operation;

Valk (2002); Jensen et al. (2007).

**2. Model**

**1. Introduction**

Guofu Zhou and Zhuomin Du

*Wuhan University*


## **Visualizing Program Semantics**

Guofu Zhou and Zhuomin Du *Wuhan University China*

#### **1. Introduction**

206 Semantics in Action – Applications and Scenarios

Kruskal, J.B. (1964a). Multidimensional scaling by optimizing goodness of fit to a nonmetric

Kruskal, J.B. (1964b). Nonmetric multidimensional scaling: a numerical method,

Kudo, T. and Matsumoto,Y. (2002). Chunking with Support Vector Machines, *Journal of* 

Lupia, A. and McCubbins, M.D. (1998). The democratic dilemma; can citizens learn what

Nasukawa, T. and Yi, J. (2003). Sentiment analysis: capturing favorability using natural language processing, Second International Conference on Knowledge Capture. PASCAL (2005). Recognising textual entailment challenge, http://www.pascal-

Ong, B. S. (2005). *Towards automatic music structural analysis: identifying characteristic* 

Qian, G., Sural, S., Gu, Y., and Pramanik, S. (2004). Similarity between Euclidean and cosine

Radev, D.R. (2000). Common theory of information fusion from multiple text sources step

Schiffrin, D.*,* Tannen, D., and Hamilton, H. *(Eds.)* (2003). *The handbook of discourse analysis*,

Shiramatsu, S., Komatani, K., Hasida, K., Ogata, T., and Okuno, H.G. (2007). A game-

Somasundaran, S and Wiebe, J. (2010). Recognizing stances in ideological on-line debate,

Stone, P.J., Dunphy, D. C., Smith, M. S., and Ogilvie, D. G*.* (1966). *The general inquirer: a* 

Stubbs, M. (2002). *Words and phrases: corpus studies of lexical semantics*, Blackwell Publishers. Takubo, Y., Nishiyama, Y., Mitoh, H., Kameyama, M., and Katagiri, Y. (1999). *Danwa to* 

Wang, S.-P. (2005). Corpus-based approaches and discourse analysis in relation to reduplication and repetition, *Journal of Pragmatics*, Vol. 37, pp. 505-540.

Matsuyoshi, S., Inui, K., and Matsumoto, Y. (2010). Statement map: reducing web information credibility noise through opinion classification. *Proceedings of the 4th* 

*song excerpts in popular music*, Universitat Pompeu Fabra Barcelona.

angle distance for nearest neighbor queries, *Proceedings of The 19th Annual ACM* 

one: Cross-document structure. *Proceedings of The 1st SIGdial workshop on Discourse* 

theoretic model of referential coherence and its statistical verification based on large Japanese and English corpora, *Journal of Natural Language Processing*, Vol.

*Proceedings of the NAACL HLT 2010 Workshop on Computational Approaches to* 

McCarthy, M.(1998). *Spoken language and applied linguistics*, Cambridge University Press. Murakami, K., Nichols, E., Mizuno, J., Watanabe, Y., Masuda, S., Goto, H., Ohki, M., Sao, C.,

*Workshop on Analytics for Noisy Unstructured Text Data*, pp. 59-66.

hypothesis, *Psychometrica*, Vol. 29, pp. 1-29.

*Natural Language Processing*, Vol. 9, pp. 3-22.

they need to know?, Cambridge University Press.

*Psychometrica*, Vol. 29, pp. 115-129.

network.org/Challenges/RTE/.

*Symposium on Applied Computing*.

14(5), pp. 199-239 (in Japanese).

Schiffrin, D. (1994). *Approaches to discourse*, Blackwell Publishers.

Sinclair, J. (1991). *Corpus, concordance, collocation*, Oxford University Press. Sinclair, J. (1996). The search for units of meaning, *Textus*, Vol. 9, pp. 75-106.

*Analysis and Generation of Emotion in Text,* pp. 116-124.

*bunmyaku*, Tokyo, Japan: Iwanami Publishers (in Japanese).

*computer approach to content analysis*, MIT Press.

*and dialogue*, pp. 74-83.

Blackwell Publishers.

*within*- Generally, any program is designed for computing one problem based on one special architecture computing machine. It is unavoidable that some machine constraint will be transferred to the program code. When the program is formalized for being verified or validated the machine constraints will be treated as properties of program .

Turing model,the theory model of program(mainstream ), has two special features: Only one storage tape that determines the changing status is sequent; Only one write-read head that determines the sequence of action operating is serialization; Accordingly, research on program semantics is focus on two areas: the first viewpoint thinks that a program is a set of status. the operating is a procedure of status changing. So, for that the formalization tools describe status. The other one viewpoint thinks that a program is a set of processes. A status is abstracted for understanding the process. So, for that the formalization tools describe the processes, and a status only is the composition of processes by timeline.

One target of formalizing a program is,not for a special machine, to get one general and one abstract specification Bjorner et al. (1987); Spivey (1998). So, one program specification must describe the following basic properties:


For the problems, Petri nets is an ideal theory tool. By both extending and applying Petri nets theory, the semantics of program can be formalized visually Breuer & Lano (1999); Girault & Valk (2002); Jensen et al. (2007).

### **2. Model**

Informally, a program is composed of data structure and algorithm Harel (1987); Khedker et al. (2009); Woodcock & Davies (1996). We know data structure is a discrete description of entity attributes based on one special computing machine. For example, the data structure of tree can be described as in figure 1(if the tree only has such attributes)

From figure 1, we can conclude the tree is composed of attributes *right*,*lef t* and *data*. But we can't make out any relation among *right*,*lef t* and *data*. In fact, the relations are the key to

*b O* <sup>1</sup> *b* <sup>2</sup>

Visualizing Program Semantics 209

5(2), {*a*1, *a*2, ··· , *ai*} is associated with {*b*1, *b*2, ··· , *bi*} because of *ci* in a new system. *ci* is a common result among {*a*1, *a*2, ··· , *ai*} and {*b*1, *b*2, ··· , *bi*}. Obviously, the noncorrelation

**Linear control**, L-control for short, describes causality among variables and operations.

one variable is a direct composition of another one, e.g., *X* is composed of *b* as in figure 6(1); or one variable is a indirect sub-composition of another one, e.g., in figure 6(2), *Y* is directly

*<sup>c</sup>* <sup>X</sup> <sup>Y</sup>

For operations, L-control denotes one operation is a run condition of another one , e.g., in figure 7(1), *ci* run only after *ai* finished (direct associated); or one operation is one of run conditions of another one (indirect associated), e.g., in figure 7(2), *ci* can not run immediately

*Loop control* is a special L-control(figure 8). because of the recursive attributes not being

**Parallel control** , P-control for short, denotes variables or operations are parallel. On one hand, parallel operations have direct common pre-operations or post-operations as in figure

*a* <sup>1</sup> *a*<sup>2</sup> *ai*

*b* <sup>1</sup> *b*<sup>2</sup> *bi*

*b*

(2)

*ai bi ci*

(2)

*a*

*ci* (1) (2)

*b3*

control between {*a*1, *a*2, ··· , *ai*} and {*b*1, *b*2, ··· , *bi*} disappears.

*O O*

L-control has two kinds of types: direct associated and indirect associated.

composed of both *a* and *b*. Specially, *c* is an indirect sub-composition of *Y*.

*b*

(1)

permitted, A loop control can only describe relations among operations.

9(1). *A* is parallel to *B* because *C* is a direct common post-operation of *A* and *B*.

*a*

*a* <sup>1</sup> *a* <sup>2</sup> *ai*

*b* <sup>1</sup> *b* <sup>2</sup> *bi*

Fig. 4. Concurrent control

Fig. 5. Asynchronous Control

Fig. 6. Linear Variables

after *ai* finish if *bi* do not finish.

Fig. 7. Linear Operations

*ai ci*

(1)

```
Tree: structure
   Right:tree;
   Left:tree;
   Data:integer;
End Tree.
```
Fig. 1. Tree structure

Fig. 2. Segment of algorithm


Fig. 3. Another segment of algorithm

understand that is a tree but not any others. So, the discrete description of attributes does not help to understand an entity .

And there is another characteristics in coding a program. For example, there is a segment of algorithm in figure 2, *o*<sup>1</sup> and *o*<sup>2</sup> are labeled as a statement on *x* and a statement on *y* respectively(ignore other unconcern processes).

Also, we can design another algorithm(figure 3) to fulfill the same function as in figure 2.

The reason to explain the case is in design phase designer only concerns the result produced by the algorithm, and thinks the algorithm is right if and only if the algorithm can produce an expected result. However, the same result the two algorithms can produce but not the same semantics the two algorithms have.

In a word, when designing an algorithm, the designer transforms some constraints into the algorithm unconsciously, for example, serialization(discussed above). Once the algorithm finished, the additional relations are fixed into the code. So, two aftereffects are forged:

1. Two independent operations will be serialized, a new relation is added; or

2. The two concurrent operations will be serialized and the relation of concurrence is lost.

For convenience, the relation between variables, variable and operation, or operations is called control.

**Asynchronous control**, A-control for short, is a kind of relation between operation and variable that has no directive or indirected causality. A-control has two types: concurrent control and noncorrelation control.

A concurrent control denotes there are one or more common direct or indirect causality sets among operations (variables), e.g., *o* in figure 4 is a common result of *b*1, *b*<sup>2</sup> and *b*3. Dashed line shows there are more than one node, the straight line show there is a directive relation.

A noncorrelation control denotes there is no any common direct or indirect causality among operations (variables) . A noncorrelation control is no necessary in program. However, in a large-scale software system, noncorrelation controls are usual. The noncorrelative variables or operations in a system may be associated for building a new system. For example, in figure 5(1), {*a*1, *a*2, ··· , *ai*} is non correlative with {*b*1, *b*2, ··· , *bi*} in a system, however, in figure 2 Will-be-set-by-IN-TECH

x := 1 *o*<sup>1</sup> y := 1 *o*<sup>2</sup>

y := 1 *o*<sup>1</sup> x := 1 *o*<sup>2</sup>

understand that is a tree but not any others. So, the discrete description of attributes does not

And there is another characteristics in coding a program. For example, there is a segment of algorithm in figure 2, *o*<sup>1</sup> and *o*<sup>2</sup> are labeled as a statement on *x* and a statement on *y*

The reason to explain the case is in design phase designer only concerns the result produced by the algorithm, and thinks the algorithm is right if and only if the algorithm can produce an expected result. However, the same result the two algorithms can produce but not the same

In a word, when designing an algorithm, the designer transforms some constraints into the algorithm unconsciously, for example, serialization(discussed above). Once the algorithm finished, the additional relations are fixed into the code. So, two aftereffects are forged:

2. The two concurrent operations will be serialized and the relation of concurrence is lost.

For convenience, the relation between variables, variable and operation, or operations is called

**Asynchronous control**, A-control for short, is a kind of relation between operation and variable that has no directive or indirected causality. A-control has two types: concurrent

A concurrent control denotes there are one or more common direct or indirect causality sets among operations (variables), e.g., *o* in figure 4 is a common result of *b*1, *b*<sup>2</sup> and *b*3. Dashed line shows there are more than one node, the straight line show there is a directive relation. A noncorrelation control denotes there is no any common direct or indirect causality among operations (variables) . A noncorrelation control is no necessary in program. However, in a large-scale software system, noncorrelation controls are usual. The noncorrelative variables or operations in a system may be associated for building a new system. For example, in figure 5(1), {*a*1, *a*2, ··· , *ai*} is non correlative with {*b*1, *b*2, ··· , *bi*} in a system, however, in figure

1. Two independent operations will be serialized, a new relation is added; or

Also, we can design another algorithm(figure 3) to fulfill the same function as in figure 2.

Tree: structure Right:tree; Left:tree; Data:integer;

End Tree.

Fig. 1. Tree structure

Fig. 2. Segment of algorithm

help to understand an entity .

Fig. 3. Another segment of algorithm

semantics the two algorithms have.

control and noncorrelation control.

control.

respectively(ignore other unconcern processes).

#### Fig. 4. Concurrent control

5(2), {*a*1, *a*2, ··· , *ai*} is associated with {*b*1, *b*2, ··· , *bi*} because of *ci* in a new system. *ci* is a common result among {*a*1, *a*2, ··· , *ai*} and {*b*1, *b*2, ··· , *bi*}. Obviously, the noncorrelation control between {*a*1, *a*2, ··· , *ai*} and {*b*1, *b*2, ··· , *bi*} disappears.

Fig. 5. Asynchronous Control

**Linear control**, L-control for short, describes causality among variables and operations. L-control has two kinds of types: direct associated and indirect associated.

one variable is a direct composition of another one, e.g., *X* is composed of *b* as in figure 6(1); or one variable is a indirect sub-composition of another one, e.g., in figure 6(2), *Y* is directly composed of both *a* and *b*. Specially, *c* is an indirect sub-composition of *Y*.

Fig. 6. Linear Variables

For operations, L-control denotes one operation is a run condition of another one , e.g., in figure 7(1), *ci* run only after *ai* finished (direct associated); or one operation is one of run conditions of another one (indirect associated), e.g., in figure 7(2), *ci* can not run immediately after *ai* finish if *bi* do not finish.

Fig. 7. Linear Operations

*Loop control* is a special L-control(figure 8). because of the recursive attributes not being permitted, A loop control can only describe relations among operations.

**Parallel control** , P-control for short, denotes variables or operations are parallel. On one hand, parallel operations have direct common pre-operations or post-operations as in figure 9(1). *A* is parallel to *B* because *C* is a direct common post-operation of *A* and *B*.

*o*1: *control* of *o*1 = *false* ; **… doing something** : *control* of program = *true* ; *… o*2: *control* of *o*<sup>3</sup> = *false* ; **…**

Visualizing Program Semantics 211

**o**1: contro of o <sup>1</sup> = *true*; **o**2: contro of o <sup>2</sup> = *false* ; **o**3: contro of o <sup>3</sup> = *true* ; (2)

Resource can be either consumable or inconsumable . Consumable resource will be consumed out during a program run. Consumable resources are exclusive, such as RAM ,CPU. Inconsumable resource can be shared, such as system clock and any program can read the

We know, the mathematics model of program is Turing machine. Accordingly, a program is a


Any operation of program can be broken down a set of more fine grained read-write.

**Assignment** is composed of read and write(not concerns arithmetic). Read refers the current value of variable. Write updates the current value of variable. In an assignment statement, read variable(s) is located in the right side and write variable(s) is located in the left side , such

*X* := *a* + *b* + *c* Where,*a*,*b*,*c* are read variables. The current values of *a*,*b* and *c* are not modified. In the

*X* := *a* + *b* + *c*

Read-write not only refers the current value of variable, but also updates the current value. The read-write variable will appear both sides of assignment statement, such as *X* in the

*X* := *X* + *c*


Generally, read-write operation appears in assignment statement.

*X* is a write variable. The current value of *X* will be updated.

Accordingly, the model of program should be composed of :

1. resources, including consumable resource and nonconsumable resource;

**o**1: contro of o <sup>1</sup> = false ; **o**2: contro of o <sup>2</sup> = *true* ; **o**3: contro of o <sup>3</sup> = *true* ; (3)

Fig. 11. Trigger Action

Fig. 12. Regulate Order

system clock any time.

set of variables and read-writes.

track of changing value of variable.

: contro of o <sup>1</sup> = *true* ;

: contro of o <sup>2</sup> = *true* ; **o**3: contro of o <sup>3</sup> = *false* ; (1)

**o**1

**o**2

as

following

following,

2. variables, recording status;

3. operations, including read and write;

Fig. 8. Linear LOOP

On the other hand, parallel variables have direct common target variables. In figure 9(2), both *right* and *lef t* construct a tree, a parallel control exists between *lef t* and *right*.

Fig. 9. Parallel Control

P-control is relative. In figure 10(1), *a* is parallel to *b*. But, if another P-control is inserted between *a* and *b* (figure 10(2)), then the new *a* is the direct run condition of *b*. Obviously, the new *a* is not parallel to *b* and the P-control between *a* and *b* losts.

Fig. 10. Relative Parallel Control

**Trigger Action** Control is the logic relation that regulates how to run, delay and terminate operations. Any operation can only run after it gets (satisfied) a control handle of computing machine. In other words, computing machine determines how to run a program.

In figure 11, a control handle arrives at the statement *doingsomething*. Here, *controlo f program* = *true* and controls of other statements can not be satisfied (*controlo f oi* = *f alse*), the statement *doingsomething* is running. and the other statements do not run. So, Control mechanism can help to describe the dynamic properties.

**Regulate Order** Single control handle determines a program is sequent. If a program has more than one control handles, how about a program should be? For example, a program in figure 11 has one control handle, statements only run in turn. When the program has two control handles, the program can run by many ways, such as in figure 12.

**Resource** is physical and depend on a computing machine. Running a program needs resources, such as RAM, CPU, communication channel, and so on. Generally, resources are managed by an operation system.

4 Will-be-set-by-IN-TECH

*ai bi ci*

On the other hand, parallel variables have direct common target variables. In figure 9(2), both

(1) (2)

P-control is relative. In figure 10(1), *a* is parallel to *b*. But, if another P-control is inserted between *a* and *b* (figure 10(2)), then the new *a* is the direct run condition of *b*. Obviously, the

**Trigger Action** Control is the logic relation that regulates how to run, delay and terminate operations. Any operation can only run after it gets (satisfied) a control handle of computing

In figure 11, a control handle arrives at the statement *doingsomething*. Here, *controlo f program* = *true* and controls of other statements can not be satisfied (*controlo f oi* = *f alse*), the statement *doingsomething* is running. and the other statements do not run. So,

**Regulate Order** Single control handle determines a program is sequent. If a program has more than one control handles, how about a program should be? For example, a program in figure 11 has one control handle, statements only run in turn. When the program has two control

**Resource** is physical and depend on a computing machine. Running a program needs resources, such as RAM, CPU, communication channel, and so on. Generally, resources are

machine. In other words, computing machine determines how to run a program.

tree:

left: tree;

right:tree;

*a*

*b*

(2)

P-control(left, right)

I

*right* and *lef t* construct a tree, a parallel control exists between *lef t* and *right*.

C

new *a* is not parallel to *b* and the P-control between *a* and *b* losts.

I

Control mechanism can help to describe the dynamic properties.

handles, the program can run by many ways, such as in figure 12.

Fig. 8. Linear LOOP

A

B

*a*

*b*

Fig. 10. Relative Parallel Control

managed by an operation system.

(1)

Fig. 9. Parallel Control


Fig. 12. Regulate Order

Resource can be either consumable or inconsumable . Consumable resource will be consumed out during a program run. Consumable resources are exclusive, such as RAM ,CPU. Inconsumable resource can be shared, such as system clock and any program can read the system clock any time.

We know, the mathematics model of program is Turing machine. Accordingly, a program is a set of variables and read-writes.


Any operation of program can be broken down a set of more fine grained read-write. Generally, read-write operation appears in assignment statement.

**Assignment** is composed of read and write(not concerns arithmetic). Read refers the current value of variable. Write updates the current value of variable. In an assignment statement, read variable(s) is located in the right side and write variable(s) is located in the left side , such as

$$X := \underline{a+b+c}$$

Where,*a*,*b*,*c* are read variables. The current values of *a*,*b* and *c* are not modified. In the following

*X* := *a* + *b* + *c*

*X* is a write variable. The current value of *X* will be updated.

Read-write not only refers the current value of variable, but also updates the current value. The read-write variable will appear both sides of assignment statement, such as *X* in the following,

$$\underline{X} := \underline{X} + c$$

Accordingly, the model of program should be composed of :


**(c)** represents the write relation which denotes the firing of transition *t*<sup>3</sup> will modify the

Visualizing Program Semantics 213

**(d)** represents the read-write relation which is the combination of a read relation and a write relation, i.e. the firing of transition *t*<sup>4</sup> not only read the current of *s*4, but also modifies the

The four kinds of relations are classified into two categories: flow relationship(a) and read-write relationship(b, c, d). Flow relationship is a kind of consumable relationship. Control place can only hold flow relationship(control arc)and tokens in a control place must flow. Read-write relationship is a kind of inconsumable relationship;Read-write do not consume any token and tokens in a variable place can not flow around. Variable place can

Extension of transition defines a new kind of transition called variable transition. Variable transition can not only connect with control place but also variable place. In other words, the firing of transition may either consume resources(e.g. need some tokens) or not. Contrast to variable transition, transition defined in Petri net is called control transition . The structure of control transition is represented as in figure 16.a. Guard is a mechanism to control the firing of control transition. Control guard holds false only if the firing condition is not satisfied, i.e., the transition can not fire; When the firing condition is satisfied, the control guard hold true and the transition fire. The structure of variable transition is composed of three parts (figure

Because Petri nets is a self-explain system, places need not be declared explicitly. Variables are described by variable places. In figure 17, places are variable places. Assignment *X* := *a* + *b* + *c* can be described as a variable transition(figure 18), where *a*,*b* and *c* connect with the variable transition. Read operation is described by read arc between a variable transition and a variable place. Write operation is described by write arc between a variable transition and a variable place. Figure 20 describes assignment *X* := *a* + *b* + *c*, where Figure 19(1) is read

When a variable is both read and write, readwrite relation can be applied. Figure 20 is a readwrite relation. Consumable resource is described by control place. The number of tokens

**E** denotes a control guard which is same as control guard of control transition; **B** is called variable guard which denotes the condition satisfied by variables(places).

*s*<sup>2</sup> *t*

*s*<sup>4</sup> *t*

(d) *read-write arc*

(b) *read arc*

2

4

only hold read-write relationship(read arc, write arc or both).

1

3

*s*<sup>1</sup> *t*

(a) *control arc*

*s*<sup>3</sup> *t*

(c) *write arc*

current value of *s*3;

current value of *s*4.

Fig. 15. Extending Arc

**I** operations script .

operation. Figure 19 (2) is write operation.

**Transition**

16.b):

4. relations, including read, write and control.

## **3. Extending definitions**

Compare to general Petri net theory Jensen et al. (2007); Reisig (1985), Here concepts are extended.

#### **Place**

two kinds of places: control place (Figure 13.a) and variable place (Figure 13.b). The definition of control place is same as the definition of place in Petri net. Resources described by variable place are inconsumable. Generally, variable place can describe all data types, such as real type, boolean type, structure type and so on. The graphic representation of variable place is same as that of control place. However, the type of arc connecting with control place is different to that with variable place. Control place can only connect with control arc (flow); Variable place can connect with read arc, write arc or the combinatorial arc of read arc and write arc, but not with control arc. The arc types are discussed in the later this section.

Fig. 13. Extending Place

#### **Token**

As same as Petri net, token is expressed by symbol "•". Here, token has two functions: firstly, the flowing track of token denotes control flow; secondly, token in a variable place is expressed by the value instead of symbol "•", and the number of tokens in variable place is the current value of variable place, such as in figure 14.b. To hold consistency, the number of token in control place is mapped to a value of integer type. In figure 14.a, the data type denoted by the place is integer and the current value is 1. So, the number of token in place is 1.

Fig. 14. Extending Token

**Arc**

four kinds of arcs: control arc, read arc, write arc and read-write arc. The graphic representations of arcs are drawn as in figure 15.


6 Will-be-set-by-IN-TECH

Compare to general Petri net theory Jensen et al. (2007); Reisig (1985), Here concepts are

two kinds of places: control place (Figure 13.a) and variable place (Figure 13.b). The definition of control place is same as the definition of place in Petri net. Resources described by variable place are inconsumable. Generally, variable place can describe all data types, such as real type, boolean type, structure type and so on. The graphic representation of variable place is same as that of control place. However, the type of arc connecting with control place is different to that with variable place. Control place can only connect with control arc (flow); Variable place can connect with read arc, write arc or the combinatorial arc of read arc and write arc, but not

(a) control place (b) variable place

As same as Petri net, token is expressed by symbol "•". Here, token has two functions: firstly, the flowing track of token denotes control flow; secondly, token in a variable place is expressed by the value instead of symbol "•", and the number of tokens in variable place is the current value of variable place, such as in figure 14.b. To hold consistency, the number of token in control place is mapped to a value of integer type. In figure 14.a, the data type denoted by the

four kinds of arcs: control arc, read arc, write arc and read-write arc. The graphic

**(a)** represents the relation of control flow which denotes the firing of transition *t*<sup>1</sup> will

**(b)** represents the read relation which denotes the firing of transition *t*<sup>2</sup> will read the current

2

(b)

Y

place is integer and the current value is 1. So, the number of token in place is 1.

(a)

representations of arcs are drawn as in figure 15.

value of *s*<sup>2</sup> but not modify the current value of *s*2;

X

with control arc. The arc types are discussed in the later this section.

4. relations, including read, write and control.

**3. Extending definitions**

Fig. 13. Extending Place

Fig. 14. Extending Token

consume resource *s*1;

extended.

**Place**

**Token**

**Arc**


The four kinds of relations are classified into two categories: flow relationship(a) and read-write relationship(b, c, d). Flow relationship is a kind of consumable relationship. Control place can only hold flow relationship(control arc)and tokens in a control place must flow. Read-write relationship is a kind of inconsumable relationship;Read-write do not consume any token and tokens in a variable place can not flow around. Variable place can only hold read-write relationship(read arc, write arc or both).

#### **Transition**

Extension of transition defines a new kind of transition called variable transition. Variable transition can not only connect with control place but also variable place. In other words, the firing of transition may either consume resources(e.g. need some tokens) or not. Contrast to variable transition, transition defined in Petri net is called control transition . The structure of control transition is represented as in figure 16.a. Guard is a mechanism to control the firing of control transition. Control guard holds false only if the firing condition is not satisfied, i.e., the transition can not fire; When the firing condition is satisfied, the control guard hold true and the transition fire. The structure of variable transition is composed of three parts (figure 16.b):

**E** denotes a control guard which is same as control guard of control transition;


Because Petri nets is a self-explain system, places need not be declared explicitly. Variables are described by variable places. In figure 17, places are variable places. Assignment *X* := *a* + *b* + *c* can be described as a variable transition(figure 18), where *a*,*b* and *c* connect with the variable transition. Read operation is described by read arc between a variable transition and a variable place. Write operation is described by write arc between a variable transition and a variable place. Figure 20 describes assignment *X* := *a* + *b* + *c*, where Figure 19(1) is read operation. Figure 19 (2) is write operation.

When a variable is both read and write, readwrite relation can be applied. Figure 20 is a readwrite relation. Consumable resource is described by control place. The number of tokens

in a control place denotes the number of available resource described by the control place. The weight of arc denotes the number of resource consumed by a transition. For example, RAM consumption can be described as in figure **??**. Place denotes the resource RAM; the number of tokens in place denotes the available number of RAM; *o*<sup>1</sup> denotes an operation; the weight of

Visualizing Program Semantics 215

For a convenience, the extension is called *rwPN* (*r*eadable and *w*ritable Petri Net ). The

S : *S* → **C**

*S* = *Sv* ∪ *Sc* where *S* is a set of *place*s , *Sv* is a set of *Variable place*s , *Sc* is a set of *control place*s , **C** is a set of

Because *dom*(*F*) ∪ *cod*(*F*) can contain *place*s , *transition*s , or both. For a convinence and in a discussion context, *dom*(*F*) ∪ *cod*(*F*) can be viewed as a set of *place*s , a set of *transition*s or both

*F* ⊆ *Sc* × *T* ∪ *T* × *Sc*

following discussion will refer some concepts of Petri Net or Coloured Petri Net.

**Definition 4.1** ( *rwPN* )**.** 6*-tuple N* = (*Sc*, *Sv*, *T*; *R*, *W*, *F*)*, where*

where *Sc*, *Sv*, *T* are finite sets and *R*, *W*, *F* are relations respectively. Let S be a function from a set of *place*s to a set of colors, such as

*F* only connects between *Sc* and *T* or *T* and *Sc*, and is defined as

arc denotes that operation *o*<sup>1</sup> will consume two units of RAM during firing.

Fig. 21. Resource consumption

**4. Formal definitions**

(*Sc* ∪ *Sv*) ∩ *T* = ∅; *Sc* ∪ *Sv* ∪ *T* �= ∅;

*F* ⊆ *Sc* × *T* ∪ *T* × *Sc* ; *3. Sv* = *dom*(*R*) ∪ *cod*(*W*); *Sc* ⊆ *dom*(*F*) ∪ *cod*(*F*)*;*

*T* ⊆ *dom*(*F*) ∪ *dom*(*W*) ∪ *cod*(*F*) ∪ *cod*(*R*).

colors. Here and afterward, sets are finite .

*1. Sc* ∩ *Sv* = ∅;

*2. R* ⊆ *Sv* × *T*; *W* ⊆ *T* × *Sv;*

on need.

(a) *control transition* (b) *variable transition*

Fig. 16. Extending Transition

Fig. 17. Variable Place


Fig. 18. Inside Transition

Fig. 19. Read and Write

Fig. 20. ReadWrite

8 Will-be-set-by-IN-TECH

(E) Variable Guard (B) Operation (I)

3.14

X

X := *a* + *b* + *c*

*a b c*

Control Guard Control Guard

(a) *control transition* (b) *variable transition*

*x a* PI

**E**

*a* <> *nout* and *b* <> *nout* and *c* <> *nout*

X := *a* + *b* + *c*

Fig. 16. Extending Transition

Fig. 17. Variable Place

Fig. 18. Inside Transition

Fig. 19. Read and Write

Fig. 20. ReadWrite

*a b c*

X := *a* + *b* + *c*

X := *a* + *b* + *c*

(1) (2)

*a b c*

X X := X + *c*

in a control place denotes the number of available resource described by the control place. The weight of arc denotes the number of resource consumed by a transition. For example, RAM consumption can be described as in figure **??**. Place denotes the resource RAM; the number of tokens in place denotes the available number of RAM; *o*<sup>1</sup> denotes an operation; the weight of arc denotes that operation *o*<sup>1</sup> will consume two units of RAM during firing.

Fig. 21. Resource consumption

### **4. Formal definitions**

For a convenience, the extension is called *rwPN* (*r*eadable and *w*ritable Petri Net ). The following discussion will refer some concepts of Petri Net or Coloured Petri Net.

**Definition 4.1** ( *rwPN* )**.** 6*-tuple N* = (*Sc*, *Sv*, *T*; *R*, *W*, *F*)*, where*


where *Sc*, *Sv*, *T* are finite sets and *R*, *W*, *F* are relations respectively.

Let S be a function from a set of *place*s to a set of colors, such as

$$\mathcal{F}: \mathbb{S} \to \mathbb{C}$$

$$\mathbb{S} = \mathbb{S}\_{\mathbb{D}} \cup \mathbb{S}\_{\mathbb{C}}$$

where *S* is a set of *place*s , *Sv* is a set of *Variable place*s , *Sc* is a set of *control place*s , **C** is a set of colors. Here and afterward, sets are finite .

Because *dom*(*F*) ∪ *cod*(*F*) can contain *place*s , *transition*s , or both. For a convinence and in a discussion context, *dom*(*F*) ∪ *cod*(*F*) can be viewed as a set of *place*s , a set of *transition*s or both on need.

*F* only connects between *Sc* and *T* or *T* and *Sc*, and is defined as

$$F \subseteq \mathcal{S}\_{\mathcal{C}} \times T \cup T \times \mathcal{S}\_{\mathcal{C}}$$

**Definition 4.2** ( *cvNet* )**.** *given a* rwPN *N* = (*Sc*, *Sv*, *T*; *R*, *W*, *F*)*, Ncv is called* cvNet *(control*

Visualizing Program Semantics 217

*Ncv* = (*Sc*, *T*|*Sc* ; *F*)

**Definition 4.3** ( *dvNet* )**.** *given a* rwPN *N* = (*Sc*, *Sv*, *T*; *R*, *W*, *F*)*, Ndv is called* dvNet *(data view*

*Ndv* = (*Sv*, *T*|*Sv* , *R*, *W*)

*N* = *Ncv* ∪ *Ndv*

**Proof:** where ∪ is the operator of graph union, based on definitions *rwPN N*, *cvNet Ncv* and

So, if a system is modeled by *rwPN* , the system features can be captured from two views. One view is from *Control View Net* which describes the control flow relationship of system. The other one is from *Data View Net* which describes the entity relationship of system.

*M*<sup>0</sup> *is the initial marking; MC*<sup>0</sup> *is the initial marking of Sc; Mv*<sup>0</sup> *is the initial marking of Sv;*

**Definition 4.5** ( *cvNets* )**.** *Given* rwPNs Σ = (*N*, S , H , *M*0)*, call Ncs* cvNets *and*

Specially, if let color set C = **C** ∪ *Integer* ∪ *DATATYPE* ∪ *BOOL* ∪ *BooleanExpression* ∪ *statement* and *cd* = S ∪ H , *rwPNs* can be mapped to Coloured Petri NetN =*< P*, *T*, *Pre*, *Post*, C, *cd >* . The mapping from *rwPNs* to Coloured Petri Netwill further be

*<sup>N</sup>cs* = (*Ncv*, <sup>S</sup> <sup>|</sup>*Sc* , <sup>H</sup> <sup>|</sup>*Sc* , *<sup>M</sup>*0|*Sc* )

*where T*|*Sc is a set of* transition*s connecting with* control place*s .*

*where T*|*Sv is a set of* transition*s connecting with* Variable place*s .*

**Definition 4.4** ( *rwPNs* )**.** 4*-tuple* Σ = (*N*, S , H , *M*0)*, where*

*dvNet Ndv*, the conclusion holds obviously.

*1. N* = (*Sc*, *Sv*, *T*; *R*, *W*, *F*) *is a* rwPN *.*

∀*sc* ∈ *Sc,* S (*sc*) = *Integer;* ∀*sv* ∈ *Sv,* S (*sv*) = *DATATYPE;*

G*<sup>v</sup>* : *T* → *BooleanExpression*

*4. M is the marking of N, M* = *Mc* ∪ *Mv; and*

*M*0|*Sc* = *Mc*<sup>0</sup> *; the initial marking of* control place*s ;*

*3.* H : *T* → G*<sup>c</sup>* ∪ G*<sup>v</sup>* ∪ L G*<sup>c</sup>* : *T* → *BOOL*

L : *T* → *statement*

discussed in the next section.

*Mc* : *Sc* → **N** *Mv* : *Sv* → {1}

*where*

**C** = *Integer* ∪ *DATATYPE is a set of colors;*

**Theory 4.1.** *If Ncv is* cvNet *and Ndv is* dvNet *of* rwPN *N respectively, then*

*view net) of N, and*

*net) of N, and*

*2.* S : *S* → **C***, S* = *Sc* ∪ *Sv;*

where *T* is a set of *transition*s . *F* describes a situation in which *token*s are flowable, i.e. *token*s can flow out of this *place* and into another one along *Control Flow F*.

*R* only connects between *Sv* and *T*, and is defined as

$$\mathcal{R} \subseteq \mathcal{S}\_v \times T$$

*R* is represented graphically by a line with circle which points to a *transition* .

*W* also only connects between *T* and *Sv*, and is defined as

$$W \subseteq T \times \mathcal{S}\_{\mathbb{D}}$$

*W* is represented graphically by a line with circle but which points to a *variable place* .

Semantically similar to Coloured Petri Net, a *transition* is also controlled by a *GUARD* that is a boolean value. Let G*<sup>c</sup>* denote this kind of *GUARD* , called *control guard* .

$$\mathcal{G}\_{\mathfrak{c}} : T \to BOOL$$

*T* is a set of *transition*s , and G*<sup>c</sup>* changes from *TRUE* to *FALSE* alternatively. When the *preset* of a *transition* has enough *token*s , the *control guard* of *transition* is *TRUE*. Otherwise, the *control guard* of *transition* is *FALSE*.

Additionally, there has another *GUARD* to monitor the *Variable place*s in the *preset* of *transition* . Such a *GUARD* called *variable guard* . Let G*<sup>v</sup>* be a *variable guard* and

$$\mathcal{G}\_{\upsilon}: T \to B \, olean \, Expression$$

where the boolean expression specifies a variable-related condition to fire a *transition* . Any operand in *BooleanExpression* either holds a constant or just is a *variable place* .

Accordingly, the two *GUARD*S codetermine whether a *transition* can be fired.

The third part of a *transition* is statements which describes the expected action of a *transition* . Statements can be written by a program language, such as C, Java, etc. Let function L be the action script of a *transition* , then

$$\mathcal{A}': T \to statement$$

Summarily, a *transition* has three components: G*c*, G*<sup>v</sup>* and L . Let function H be

$$\mathcal{H}': T \to \mathcal{G}\_{\mathcal{C}} \cup \mathcal{G}\_{\mathcal{v}} \cup \mathcal{F}'$$

Obviously, ∀*t* ∈ *T*,

when *R*(*t*) = ∅ and *W*(*t*) = ∅ then L (*t*) = ∅ and G*v*(*t*) = ∅.

when G*v*(*t*) = ∅ and L (*t*) = ∅, the *transition* is the same as that of Coloured Petri Net.

when G*c*(*t*) = ∅, the *transition* can fire without any *Control Flow* .

when G*v*(*t*) = ∅, the *transition* can fire when the *preset* of *transition* has enough *token*s .

As a default, if G*v*(*t*) = ∅, let G*v*(*t*) = *TRUE*, and if G*c*(*t*) = ∅, let G*c*(*t*) = *TRUE*.

10 Will-be-set-by-IN-TECH

where *T* is a set of *transition*s . *F* describes a situation in which *token*s are flowable, i.e. *token*s

*R* ⊆ *Sv* × *T*

*W* ⊆ *T* × *Sv*

Semantically similar to Coloured Petri Net, a *transition* is also controlled by a *GUARD* that is

G*<sup>c</sup>* : *T* → *BOOL T* is a set of *transition*s , and G*<sup>c</sup>* changes from *TRUE* to *FALSE* alternatively. When the *preset* of a *transition* has enough *token*s , the *control guard* of *transition* is *TRUE*. Otherwise, the *control*

Additionally, there has another *GUARD* to monitor the *Variable place*s in the *preset* of *transition*

G*<sup>v</sup>* : *T* → *BooleanExpression* where the boolean expression specifies a variable-related condition to fire a *transition* . Any

The third part of a *transition* is statements which describes the expected action of a *transition* . Statements can be written by a program language, such as C, Java, etc. Let function L be the

L : *T* → *statement*

H : *T* → G*<sup>c</sup>* ∪ G*<sup>v</sup>* ∪ L

when G*v*(*t*) = ∅ and L (*t*) = ∅, the *transition* is the same as that of Coloured Petri Net.

when G*v*(*t*) = ∅, the *transition* can fire when the *preset* of *transition* has enough *token*s .

As a default, if G*v*(*t*) = ∅, let G*v*(*t*) = *TRUE*, and if G*c*(*t*) = ∅, let G*c*(*t*) = *TRUE*.

*W* is represented graphically by a line with circle but which points to a *variable place* .

*R* is represented graphically by a line with circle which points to a *transition* .

a boolean value. Let G*<sup>c</sup>* denote this kind of *GUARD* , called *control guard* .

. Such a *GUARD* called *variable guard* . Let G*<sup>v</sup>* be a *variable guard* and

operand in *BooleanExpression* either holds a constant or just is a *variable place* . Accordingly, the two *GUARD*S codetermine whether a *transition* can be fired.

Summarily, a *transition* has three components: G*c*, G*<sup>v</sup>* and L . Let function H be

when *R*(*t*) = ∅ and *W*(*t*) = ∅ then L (*t*) = ∅ and G*v*(*t*) = ∅.

when G*c*(*t*) = ∅, the *transition* can fire without any *Control Flow* .

can flow out of this *place* and into another one along *Control Flow F*.

*R* only connects between *Sv* and *T*, and is defined as

*W* also only connects between *T* and *Sv*, and is defined as

*guard* of *transition* is *FALSE*.

action script of a *transition* , then

Obviously, ∀*t* ∈ *T*,

**Definition 4.2** ( *cvNet* )**.** *given a* rwPN *N* = (*Sc*, *Sv*, *T*; *R*, *W*, *F*)*, Ncv is called* cvNet *(control view net) of N, and*

$$\mathcal{N}\_{cv} = (\mathcal{S}\_{c\prime} \, T|\_{\mathcal{S}\_c}; F),$$

*where T*|*Sc is a set of* transition*s connecting with* control place*s .*

**Definition 4.3** ( *dvNet* )**.** *given a* rwPN *N* = (*Sc*, *Sv*, *T*; *R*, *W*, *F*)*, Ndv is called* dvNet *(data view net) of N, and*

$$N\_{dv} = (\mathcal{S}\_{\upsilon \prime} \, T \vert\_{\mathcal{S}\_{\upsilon \prime} \prime} R \, W)$$

*where T*|*Sv is a set of* transition*s connecting with* Variable place*s .*

**Theory 4.1.** *If Ncv is* cvNet *and Ndv is* dvNet *of* rwPN *N respectively, then*

$$N = N\_{\upsilon\upsilon} \cup N\_{dv}$$

**Proof:** where ∪ is the operator of graph union, based on definitions *rwPN N*, *cvNet Ncv* and *dvNet Ndv*, the conclusion holds obviously.

So, if a system is modeled by *rwPN* , the system features can be captured from two views. One view is from *Control View Net* which describes the control flow relationship of system. The other one is from *Data View Net* which describes the entity relationship of system.

**Definition 4.4** ( *rwPNs* )**.** 4*-tuple* Σ = (*N*, S , H , *M*0)*, where*


Specially, if let color set C = **C** ∪ *Integer* ∪ *DATATYPE* ∪ *BOOL* ∪ *BooleanExpression* ∪ *statement* and *cd* = S ∪ H , *rwPNs* can be mapped to Coloured Petri NetN =*< P*, *T*, *Pre*, *Post*, C, *cd >* . The mapping from *rwPNs* to Coloured Petri Netwill further be discussed in the next section.

**Definition 4.5** ( *cvNets* )**.** *Given* rwPNs Σ = (*N*, S , H , *M*0)*, call Ncs* cvNets *and*

$$N^{\rm cs} = \left( N\_{\mathcal{O}\prime\prime} \mathcal{P} |\_{S\_{\mathfrak{c}'}} \mathcal{H}^{\ell} |\_{S\_{\mathfrak{c}'}} M\_0 |\_{S\_{\mathfrak{c}}} \right)$$

*where*

*M*0|*Sc* = *Mc*<sup>0</sup> *; the initial marking of* control place*s ;*

Accordingly, *transition t* is controlled by both G*<sup>v</sup>* and G*c*. *t* can fire iff all required resource have

Visualizing Program Semantics 219

*M*(*s*) − 1 *if s* ∈• *t* − *t*

(*s*) = � *Val*(<sup>H</sup> (*t*)) *if s* <sup>∈</sup> *<sup>w</sup>*(*t*), *M*(*s*) *if s* ∈ *r*(*t*)

From above definition, a transition will be affected by three factors: tokens in control place,

*1. if s* ∈ •*t*<sup>1</sup> ∩ •*t*2, *M*(*s*) *<* 2*, Then, between t*<sup>1</sup> *and t*2*, there exists* P\_confilict*, call*

*2. if t*1, *t*<sup>2</sup> ∈ *Tv, w*(*t*1) ∩ *w*(*t*2) �= ∅ *, then between t*<sup>1</sup> *and t*2*, there exists* W\_conflict*, call*

*3. if t*1, *t*<sup>2</sup> ∈ *Tv,* (*w*(*t*1) ∩ *r*(*t*2)) ∪ (*r*(*t*1) ∩ *w*(*t*2)) �= ∅ *, then between t*<sup>1</sup> *and t*2*, there exists*

*conflict*(*t*1, *t*2) ≡ *P\_con f lict*(*t*1, *t*2) ∨ *W\_con f lict*(*t*1, *t*2) ∨ *RW\_con f lict*(*t*1, *t*2)

*M*[*t*<sup>1</sup> *>* ∧*M*[*t*<sup>2</sup> *>* ∧¬*conflict*(*t*1, *t*2) **Definition 5.7.** *A directed net N* = (*B*, *E*; *F*) *is a general occurrence net, if N satisfies the condition:*

*<sup>F</sup>*<sup>+</sup> <sup>∩</sup> (*F*−1)<sup>+</sup> <sup>=</sup> <sup>∅</sup>

A general occurrence net *<sup>N</sup>* = (*B*, *<sup>E</sup>*; *<sup>F</sup>*), if *<sup>x</sup>*, *<sup>y</sup>* <sup>∈</sup> *<sup>E</sup>* or *<sup>x</sup>*, *<sup>y</sup>* <sup>∈</sup> *<sup>B</sup>*(*<sup>x</sup>* �<sup>=</sup> *<sup>y</sup>*), and (*x*, *<sup>y</sup>*) <sup>∈</sup> *<sup>F</sup>*+, then there is a partial order relation between *x* and *y*, denoted as *x* ≺ *y*, or more strictly *x* ≺*<sup>N</sup> y* .

**Definition 5.6.** *t*1, *t*<sup>2</sup> ∈ *T and t*<sup>1</sup> �= *t*2*, in marking M, t*<sup>1</sup> *is concurrent with t*<sup>2</sup> *, iff*

•

• *or s* ∈• *t* ∩ *t*

•

)*, if there is a mapping between N*� *and Net*

• −• *t*

**Definition 5.4.** *if M*[*t >, let M*� *be the succession marking of M, then M*[*t > M*� *, and M*� *is,*

*M*(*s*) + 1 *if s* ∈ *t*

*M*(*s*) *if s* ∈/ •*t*

been provided and all the related variables hold legal values.

*M*�

*where Val(*H (*t*)*) denotes the current value of s updated by t.*

*variable guard*(B) and *control guard*(E).

RW\_conflict*, call RW\_con f lict*(*t*1, *t*2). *t*<sup>1</sup> *is conflict with t*2*, call con f lict*(*t*1, *t*2)*, iff*

*<sup>F</sup>*<sup>+</sup> <sup>=</sup> *<sup>F</sup>* <sup>∪</sup> *<sup>F</sup>* ◦ *<sup>F</sup>* <sup>∪</sup> *<sup>F</sup>* ◦ *<sup>F</sup>* ◦ *<sup>F</sup>* ∪··· *;*

*"*◦*" is a symbol of relation composition.*

(*F*−1)<sup>+</sup> <sup>=</sup> *<sup>F</sup>*−<sup>1</sup> <sup>∪</sup> *<sup>F</sup>*−<sup>1</sup> ◦ *<sup>F</sup>*−<sup>1</sup> <sup>∪</sup> *<sup>F</sup>*−<sup>1</sup> ◦ *<sup>F</sup>*−<sup>1</sup> ◦ *<sup>F</sup>*−<sup>1</sup> ∪··· *.*

**Definition 5.8.** *A general occurrence net N*� = (*B*, *E*; *F*�

*system* Σ = (*N*, *C*, *I*, *M*0)*, i.e. : ρ* : *N*� → Σ *satisfies conditions:*

*<sup>F</sup>*−<sup>1</sup> <sup>=</sup> {(*x*, *<sup>y</sup>*)|(*y*, *<sup>x</sup>*) <sup>∈</sup> *<sup>F</sup>*}*;*

*P\_con f lict*(*t*1, *t*2).

*W\_con f lict*(*t*1, *t*2).

⎧ ⎨ ⎩

**Definition 5.5.** *t*1, *t*<sup>2</sup> ∈ *T and t*<sup>1</sup> �= *t*2*. In marking M , M*[*t*<sup>1</sup> *>* ∧*M*[*t*<sup>2</sup> *>,*

*M*� (*s*) =

*if s* ∈ *Sc:*

*if s* ∈ *Sv:*

*where,*

S |*Sc* : *Sc* → *integer; the colors of* control place*s ;* H |*Sc* = G*c; only the* Control Guard*s of* transition*s are concerned.*

**Definition 4.6** ( *dvNets* )**.** *Given* rwPNs Σ = (*N*, S , H , *M*0)*, call Nds* dvNets *and*

*<sup>N</sup>ds* = (*Ndv*, <sup>S</sup> <sup>|</sup>*Sv* , <sup>H</sup> <sup>|</sup>*Sv* , *<sup>M</sup>*0|*Sv* )

*where*

*M*0|*Sv* = *Mv*<sup>0</sup> *; the initial marking of* Variable place*s ;* S |*Sv* : *Sv* → *DATATYPE ; the colors of* Variable place*s ;* H |*Sv* = G*<sup>v</sup>* ∪ L *;the* Variable Guard*s of* transition*s and the action script are concerned.*

**Theory 4.2.** *If Ncs is* cvNets *and Nds is* dvNets *of* rwPNs *N respectively, then*

$$N = N^{\mathrm{cs}} \cup N^{\mathrm{ds}}$$

**Proof:** where <sup>∪</sup> is the operator of graph union, based on definitions *rwPNs N*, *cvNets Ncs* and *dvNets Nds*, the conclusion also holds.

When the dynamic features of system are concerned, there are also two views to study the system, *cvNets* and *dvNets* . Specially, Because *GUARD* G*<sup>c</sup>* and *GUARD* G*<sup>v</sup>* in H will determine whether transitions can be fired, some properties of program, e.g.,the code coverage and key path in the program testing, can be computed automatically based on H .

#### **5. Dynamic semantics**

**Definition 5.1.** *x* ∈ *S* ∪ *T, rs*(*x*) = {*a*|(*a*, *x*) ∈ *R* ∧ *x* ∈ *T*}*, the set of* Variable place*s read by* transition *x; ws*(*x*) = {*a*|(*x*, *a*) ∈ *W* ∧ *x* ∈ *T*}*, the set of* Variable place*s written by* transition *x; rt*(*x*) = {*a*|(*x*, *a*) ∈ *R* ∧ *x* ∈ *S*}*, the set of* transition *read* variable place *x; wt*(*x*) = {*a*|(*a*, *x*) ∈ *W* ∧ *x* ∈ *S*}*, the set of* transition *write* variable place *x; r*(*x*) = *rs*(*x*) ∪ *rt*(*x*)*, read on x; <sup>w</sup>*(*x*) = *ws*(*x*) <sup>∪</sup> *wt*(*x*)*, write on x;* •*<sup>t</sup>* <sup>=</sup> {*p*|(*p*, *<sup>t</sup>*) <sup>∈</sup> *<sup>F</sup>*}*, the* preset *of* transition *t; t* • = {*p*|(*t*, *p*) ∈ *F*}*, the* postset *of* transition *t;*

**Definition 5.2.** *In marking M* = *Mc* ∪ *Mv, t is C\_enabled, iff*

*C\_enabled*(*M*, *t*) ≡ *enabled*(*Mc*, *t*)

*where, enabled*(*Mc*, *t*) *denotes* •*t has enough number of* token*s and leads to* control guard G*<sup>c</sup>* = TRUE*. If* •*t* = ∅*, let* G*<sup>c</sup>* = TRUE*.*

*t is V\_enabled, iff*

*V\_enabled*(*M*, *t*) ≡ *enabled*(*Mv*, *t*)

*where, enabled*(*Mv*, *t*) *denotes* variable guard G*<sup>v</sup> holds. If r*(*t*) ∪ *w*(*t*) = ∅*, let* G*<sup>v</sup>* = TRUE*.*

**Definition 5.3.** *t is firable in marking M, called M*[*t >, iff in marking M, t is both C\_enabled and V\_enabled ,*

*M*[*t >*≡ *C\_enabled*(*M*, *t*) ∧ *V\_enabled*(*M*, *t*))

Accordingly, *transition t* is controlled by both G*<sup>v</sup>* and G*c*. *t* can fire iff all required resource have been provided and all the related variables hold legal values.

**Definition 5.4.** *if M*[*t >, let M*� *be the succession marking of M, then M*[*t > M*� *, and M*� *is, if s* ∈ *Sc:*

$$M'(s) = \begin{cases} M(s) - 1 \text{ if } s \in \bullet \ t - t^{\bullet} \\ M(s) + 1 \text{ if } s \in t^{\bullet} - ^{\bullet}t \\ M(s) \qquad \text{if } s \notin \ ^{\bullet}t^{\bullet} \text{ or } s \in ^{\bullet}t \cap t^{\bullet} \end{cases}$$

*if s* ∈ *Sv:*

12 Will-be-set-by-IN-TECH

*<sup>N</sup>ds* = (*Ndv*, <sup>S</sup> <sup>|</sup>*Sv* , <sup>H</sup> <sup>|</sup>*Sv* , *<sup>M</sup>*0|*Sv* )

*<sup>N</sup>* <sup>=</sup> *<sup>N</sup>cs* <sup>∪</sup> *<sup>N</sup>ds*

**Proof:** where <sup>∪</sup> is the operator of graph union, based on definitions *rwPNs N*, *cvNets Ncs*

When the dynamic features of system are concerned, there are also two views to study the system, *cvNets* and *dvNets* . Specially, Because *GUARD* G*<sup>c</sup>* and *GUARD* G*<sup>v</sup>* in H will determine whether transitions can be fired, some properties of program, e.g.,the code coverage and key path in the program testing, can be computed automatically based on H .

*C\_enabled*(*M*, *t*) ≡ *enabled*(*Mc*, *t*) *where, enabled*(*Mc*, *t*) *denotes* •*t has enough number of* token*s and leads to* control guard G*<sup>c</sup>* =

*V\_enabled*(*M*, *t*) ≡ *enabled*(*Mv*, *t*)

**Definition 5.3.** *t is firable in marking M, called M*[*t >, iff in marking M, t is both C\_enabled and*

*M*[*t >*≡ *C\_enabled*(*M*, *t*) ∧ *V\_enabled*(*M*, *t*))

*where, enabled*(*Mv*, *t*) *denotes* variable guard G*<sup>v</sup> holds. If r*(*t*) ∪ *w*(*t*) = ∅*, let* G*<sup>v</sup>* = TRUE*.*

**Definition 4.6** ( *dvNets* )**.** *Given* rwPNs Σ = (*N*, S , H , *M*0)*, call Nds* dvNets *and*

H |*Sv* = G*<sup>v</sup>* ∪ L *;the* Variable Guard*s of* transition*s and the action script are concerned.* **Theory 4.2.** *If Ncs is* cvNets *and Nds is* dvNets *of* rwPNs *N respectively, then*

*rs*(*x*) = {*a*|(*a*, *x*) ∈ *R* ∧ *x* ∈ *T*}*, the set of* Variable place*s read by* transition *x; ws*(*x*) = {*a*|(*x*, *a*) ∈ *W* ∧ *x* ∈ *T*}*, the set of* Variable place*s written by* transition *x;*

*rt*(*x*) = {*a*|(*x*, *a*) ∈ *R* ∧ *x* ∈ *S*}*, the set of* transition *read* variable place *x; wt*(*x*) = {*a*|(*a*, *x*) ∈ *W* ∧ *x* ∈ *S*}*, the set of* transition *write* variable place *x;*

S |*Sc* : *Sc* → *integer; the colors of* control place*s ;*

*M*0|*Sv* = *Mv*<sup>0</sup> *; the initial marking of* Variable place*s ;* S |*Sv* : *Sv* → *DATATYPE ; the colors of* Variable place*s ;*

and *dvNets Nds*, the conclusion also holds.

**5. Dynamic semantics Definition 5.1.** *x* ∈ *S* ∪ *T,*

*r*(*x*) = *rs*(*x*) ∪ *rt*(*x*)*, read on x;*

TRUE*. If* •*t* = ∅*, let* G*<sup>c</sup>* = TRUE*.*

*t is V\_enabled, iff*

*V\_enabled ,*

*t*

*<sup>w</sup>*(*x*) = *ws*(*x*) <sup>∪</sup> *wt*(*x*)*, write on x;* •*<sup>t</sup>* <sup>=</sup> {*p*|(*p*, *<sup>t</sup>*) <sup>∈</sup> *<sup>F</sup>*}*, the* preset *of* transition *t;*

• = {*p*|(*t*, *p*) ∈ *F*}*, the* postset *of* transition *t;*

**Definition 5.2.** *In marking M* = *Mc* ∪ *Mv, t is C\_enabled, iff*

*where*

H |*Sc* = G*c; only the* Control Guard*s of* transition*s are concerned.*

$$M'(s) = \begin{cases} \operatorname{Val}(\mathcal{H}'(t)) \text{ if } \mathbf{s} \in w(t),\\ M(\mathbf{s}) & \text{if } \mathbf{s} \in r(t) \end{cases}$$

*where Val(*H (*t*)*) denotes the current value of s updated by t.*

From above definition, a transition will be affected by three factors: tokens in control place, *variable guard*(B) and *control guard*(E).

**Definition 5.5.** *t*1, *t*<sup>2</sup> ∈ *T and t*<sup>1</sup> �= *t*2*. In marking M , M*[*t*<sup>1</sup> *>* ∧*M*[*t*<sup>2</sup> *>,*


$$\operatorname{conflict}(\mathfrak{t}\_1, \mathfrak{t}\_2) \equiv \operatorname{P\\_conflict}(\mathfrak{t}\_1, \mathfrak{t}\_2) \lor \operatorname{W\\_conflict}(\mathfrak{t}\_1, \mathfrak{t}\_2) \lor \operatorname{RW\\_conflict}(\mathfrak{t}\_1, \mathfrak{t}\_2)$$

**Definition 5.6.** *t*1, *t*<sup>2</sup> ∈ *T and t*<sup>1</sup> �= *t*2*, in marking M, t*<sup>1</sup> *is concurrent with t*<sup>2</sup> *, iff*

$$M[t\_1 > \land M[t\_2 > \land \neg conflect(t\_1, t\_2)]$$

**Definition 5.7.** *A directed net N* = (*B*, *E*; *F*) *is a general occurrence net, if N satisfies the condition:*

$$F^{+} \cap (F^{-1})^{+} = \mathcal{Q}$$

*where,*

$$\begin{aligned} F^{+} &= F \cup F \circ F \cup F \circ F \circ F \cup \cdots \circ \vdots \\ F^{-1} &= \{ (\mathfrak{x}, \mathfrak{y}) | (\mathfrak{y}, \mathfrak{x}) \in F \} ; \\ (F^{-1})^{+} &= F^{-1} \cup F^{-1} \circ F^{-1} \cup F^{-1} \circ F^{-1} \circ F^{-1} \cup \cdots \circ F \end{aligned}$$

*"*◦*" is a symbol of relation composition.*

A general occurrence net *<sup>N</sup>* = (*B*, *<sup>E</sup>*; *<sup>F</sup>*), if *<sup>x</sup>*, *<sup>y</sup>* <sup>∈</sup> *<sup>E</sup>* or *<sup>x</sup>*, *<sup>y</sup>* <sup>∈</sup> *<sup>B</sup>*(*<sup>x</sup>* �<sup>=</sup> *<sup>y</sup>*), and (*x*, *<sup>y</sup>*) <sup>∈</sup> *<sup>F</sup>*+, then there is a partial order relation between *x* and *y*, denoted as *x* ≺ *y*, or more strictly *x* ≺*<sup>N</sup> y* .

**Definition 5.8.** *A general occurrence net N*� = (*B*, *E*; *F*� )*, if there is a mapping between N*� *and Net system* Σ = (*N*, *C*, *I*, *M*0)*, i.e. : ρ* : *N*� → Σ *satisfies conditions:*

*x*

Read

write

Read-write

*x*

Visualizing Program Semantics 221

Extension Process

*x*

5. The preset and the postset of transitions in *N* must be labeled by different elements in Σ. This condition is similar to general petri net theory except that the tail part of condition is

6. Not all processes need all initial resources described by the initial marking *M*0. This condition requires |{*b*}| ≤ *M*0(*s*) instead of |{*b*}| = *M*0(*s*). If the first operation upon

The process of Petri nets is an observational record of system . Based on the above definition of process, the mapping rules to process can be summarized by the graphic representation. In

Figure 23 lists the process mapping rules on read-write concurrent or conflict relations between two transitions. When one transition writes after the other transition has read, place *ε* is introduced to denote a sequential relation between the two transitions. When two transitions write the same place at the same time, place *ε* is introduced to denote the sequential

To verify the formal specification, all petri net theory can be applied. In this section, we will

**Proof:** The computing target is initialized by only one computing unit. The unit must provide all initial condition for the computing target. Meanwhile the unit will also ask for cooperation with other units because the unit can not fulfill the special computing. If the number of •*s* �= ∅ and greater than 1, the computing target will be more than 1 and are initialized by different

an element of *Sv* is read action, the element must have an initial value.

• *read-write* relation is mapped to *input-output arc*(one read and one writeˇcl'.

Based on above rules, more complex mapping specification can be work out.

Figure 22, one variable place is only operated by one transition.

• *Read* relation is mapped to *input arc*(a out-arc with arrowhead); • *write* relation is mapped to *output arc*(a in-arc with arrowhead);

*x x*

*x*

*x*

Fig. 22. Basic Place-Arc-Transition

<sup>1</sup> �= *b*• 2 .

•*b*<sup>1</sup> �=• *b*<sup>2</sup> ∧ *b*•

order relation.

**6. Analysis**

discuss some special features.

**Theory 6.1.** *A program has only one place s,*•*s* = ∅*.*

*1. B* = *B*� ∪ {*ε*}; *ρ*(*B*� ) ⊆ *Sp* ∪ *Sv*, *ρ*(*ε*) = ∅; *ρ*(*E*) ⊆ *T*; *ρ*(*F*� ) ⊆ *F* ∪ *R* ∪ *W*; ∃(*x*, *y*) ∈ *F*� ∧ (*x* = *ε* ∨ *y* = *ε*) ⇒ *ρ*(*x*, *y*) = ∅; *2.* ∀(*x*, *y*) ∈ *F*� : *ρ*(*x*) ∈ *Sp* ∨ *ρ*(*y*) ∈ *Sp* ⇒ *ρ*(*x*, *y*)=(*ρ*(*x*), *ρ*(*y*)) ∈ *F*; *let N* = (*B*, *E*, *F*� − {(*x*, *y*)}), *ρ*(*x*) ∈ *Sv* ∧ (*ρ*(*x*), *ρ*(*y*)) ∈/ *R* <sup>⇒</sup> (*ρ*(*x*), *<sup>ρ</sup>*(*y*)) <sup>∈</sup> *<sup>W</sup>* <sup>−</sup> *<sup>R</sup>* <sup>∧</sup>• *<sup>x</sup>* �<sup>=</sup> <sup>∅</sup> ∧ ¬(*<sup>x</sup>* <sup>≺</sup>*<sup>N</sup> <sup>y</sup>*); *ρ*(*y*) ∈ *Sv* ∧ (*ρ*(*x*), *ρ*(*y*)) ∈/ *W* <sup>⇒</sup> (*ρ*(*x*), *<sup>ρ</sup>*(*y*)) <sup>∈</sup> *<sup>R</sup>* <sup>−</sup> *<sup>W</sup>* <sup>∧</sup> *y*• = 1 ∧ (*ρ*(*y*), *ρ*(*y*•)) ∈ *W*; *3.* ∀*e* ∈ *E* : *ρ*(•*e*) ∩ *Sp* =• *ρ*(*e*); *ρ*(*e*•) ∩ *Sp* = *ρ*(*e*)•; *r*(*ρ*(*e*)) ⊆ *ρ*(•*e*) ∩ *Sv*; *w*(*ρ*(*e*)) ⊆ *ρ*(*e*•) ∩ *Sv*; ∀*b* ∈ *B* : |*b*•| *>* 1 ⇒ *ρ*(*b*) ∈ *Sv* ∧ ∀*e* ∈ *b*• : (*ρ*(*b*), *ρ*(*e*)) ∈ *R* − *W*; | •*b*| *>* 1 ⇒ *ρ*(*b*) ∈ *Sv* ∧• *b* ⊆ *r*(*ρ*(*b*)) − *w*(*ρ*(*b*)) ∧ ∃*b*� ∈ *B* : *ρ*(*b*) = *ρ*(*b*� ) ∧• *b* ⊆ *b*�•;


$$\text{6. } \forall \mathbf{s} \in \mathcal{S}\_p : \left| \{ b | \rho(b) = \mathbf{s} \land ^\bullet b = \mathcal{Q} \} \right| \le M\_0(\mathbf{x}) \ne \text{nout}.\mathbf{1}$$

Then (*N*� , *ρ*) is a process of system Σ . Where,

	- (a) variables read by *ρ*(*e*) are mapped from the set •*e* , maybe including variable(s) associated with complementary arc(s) and written by *ρ*(*e*) ;
	- (b) variables written by *ρ*(*e*) are mapped from the set *e*•, maybe including variable associated with complementary arc(s) and read by *ρ*(*e*).

14 Will-be-set-by-IN-TECH

= 1 ∧ (*ρ*(*y*), *ρ*(*y*•)) ∈ *W*;

*1. B* = *B*� ∪ {*ε*}; *ρ*(*B*�

> *ρ*(*E*) ⊆ *T*; *ρ*(*F*�

*3.* ∀*e* ∈ *E* :

∀*b* ∈ *B* :


) ⊆ *Sp* ∪ *Sv*, *ρ*(*ε*) = ∅;

*2.* ∀(*x*, *y*) ∈ *F*� : *ρ*(*x*) ∈ *Sp* ∨ *ρ*(*y*) ∈ *Sp* ⇒ *ρ*(*x*, *y*)=(*ρ*(*x*), *ρ*(*y*)) ∈ *F*; *let N* = (*B*, *E*, *F*� − {(*x*, *y*)}), *ρ*(*x*) ∈ *Sv* ∧ (*ρ*(*x*), *ρ*(*y*)) ∈/ *R*

*ρ*(*y*) ∈ *Sv* ∧ (*ρ*(*x*), *ρ*(*y*)) ∈/ *W* <sup>⇒</sup> (*ρ*(*x*), *<sup>ρ</sup>*(*y*)) <sup>∈</sup> *<sup>R</sup>* <sup>−</sup> *<sup>W</sup>* <sup>∧</sup>

*ρ*(•*e*) ∩ *Sp* =• *ρ*(*e*); *ρ*(*e*•) ∩ *Sp* = *ρ*(*e*)•; *r*(*ρ*(*e*)) ⊆ *ρ*(•*e*) ∩ *Sv*; *w*(*ρ*(*e*)) ⊆ *ρ*(*e*•) ∩ *Sv*;

∧ ∃*b*� ∈ *B* : *ρ*(*b*) = *ρ*(*b*�

⇒• *b*<sup>1</sup> ∩• *b*<sup>2</sup> = *b*•

*6.* ∀*s* ∈ *Sp* :

*rwPNs* .

from •*e*• can be :

the variable.

Then (*N*�

⇒ *b*<sup>1</sup> ≺ *b*<sup>2</sup> ∨ *b*<sup>2</sup> ≺ *b*<sup>1</sup> ∨ *b*<sup>2</sup> = *b*1,

*5.* ∀*b*1, *b*<sup>2</sup> ∈ *B* : *b*<sup>1</sup> �= *b*<sup>2</sup> ∧ *ρ*(*b*1) = *ρ*(*b*2)

<sup>1</sup> ∩ *b*•

{*b*|*ρ*(*b*) = *s* ∧• *b* = ∅}

∃(*x*, *y*) ∈ *F*� ∧ (*x* = *ε* ∨ *y* = *ε*) ⇒ *ρ*(*x*, *y*) = ∅;

<sup>⇒</sup> (*ρ*(*x*), *<sup>ρ</sup>*(*y*)) <sup>∈</sup> *<sup>W</sup>* <sup>−</sup> *<sup>R</sup>* <sup>∧</sup>• *<sup>x</sup>* �<sup>=</sup> <sup>∅</sup> ∧ ¬(*<sup>x</sup>* <sup>≺</sup>*<sup>N</sup> <sup>y</sup>*);

*y*• 


) ∧• *b* ⊆ *b*�•;

2. *N* will guarantee the less complexity through removing the redundant arcs.

associated with complementary arc(s) and written by *ρ*(*e*) ;

associated with complementary arc(s) and read by *ρ*(*e*).

≤ *M*0(*x*) �= *nout*.

1. Process may have a special place *ε* which is not appeared in *rwPNs* . *ε* denotes the partial order of transitions. Transition labels in process are transition names in *rwPNs* . Place labels in process are place names in *rwPNs* or label *ε* . Accordingly, the process may have special arc(s) (complementary arc) ,associated with *ε*, which are also not appeared in

3. Elements of *Sp* mapped from •*e*• are similar to places of Petri nets. Elements of *Sv* mapped

(a) variables read by *ρ*(*e*) are mapped from the set •*e* , maybe including variable(s)

(b) variables written by *ρ*(*e*) are mapped from the set *e*•, maybe including variable

4. If a variable accessed by two different transitions in occurrence net, the mapped elements of the two transitions in *rwPNs* either have a partial order relation or concurrently read

•*b*| *>* 1 ⇒ *ρ*(*b*) ∈ *Sv* ∧• *b* ⊆ *r*(*ρ*(*b*)) − *w*(*ρ*(*b*))

*4.* ∀*b*1, *b*<sup>2</sup> ∈ *B* : *ρ*(*b*1), *ρ*(*b*2) ∈ *Sv* ∧ *ρ*(*b*1) = *ρ*(*b*2)

∀*e*1,*e*<sup>2</sup> ∈ *E*, ∀*x* ∈ *Sv* : *x* ∈ *v*(*ρ*(*e*1)) ∩ *v*(*ρ*(*e*2)) ⇒ ∃*b*(*ρ*(*b*) = *x* ∧ {*e*1,*e*2} ⊆ *b*•) ∨ *e*<sup>1</sup> ≺ *e*<sup>2</sup> ∨ *e*<sup>2</sup> ≺ *e*1;

<sup>2</sup> = ∅;

, *ρ*) is a process of system Σ . Where,

) ⊆ *F* ∪ *R* ∪ *W*;

Fig. 22. Basic Place-Arc-Transition


The process of Petri nets is an observational record of system . Based on the above definition of process, the mapping rules to process can be summarized by the graphic representation. In Figure 22, one variable place is only operated by one transition.


Figure 23 lists the process mapping rules on read-write concurrent or conflict relations between two transitions. When one transition writes after the other transition has read, place *ε* is introduced to denote a sequential relation between the two transitions. When two transitions write the same place at the same time, place *ε* is introduced to denote the sequential order relation.

Based on above rules, more complex mapping specification can be work out.

## **6. Analysis**

To verify the formal specification, all petri net theory can be applied. In this section, we will discuss some special features.

### **Theory 6.1.** *A program has only one place s,*•*s* = ∅*.*

**Proof:** The computing target is initialized by only one computing unit. The unit must provide all initial condition for the computing target. Meanwhile the unit will also ask for cooperation with other units because the unit can not fulfill the special computing. If the number of •*s* �= ∅ and greater than 1, the computing target will be more than 1 and are initialized by different

From initializing computing to result returning, the task must be fulfilled in *n* steps.

Visualizing Program Semantics 223

*M*0[*S*<sup>1</sup> *> M*1[*S*<sup>2</sup> *>* ··· *Mn*[*Sn > M*

**Theory 6.3.** *Any marking Mi can reach at from the initial marking M*0*, i.e. there exists one sequence:*

*M*0[*S*<sup>1</sup> *> M*1[*S*<sup>2</sup> *>* ··· *Mj*[*Sj > Mi*

• Net is not connective. So, there are at least two no connective subnet and the two subnet have no any intercourse. Because any subnet has its special computing target, the two

That is inconsistency with the one and only of computing target. Therefore, the two

• If net is connective, but there exists a marking *Mk* can not reach. In *Mk*, place *pk* has no token. *pk* is not isolated and has pre-transition *tk*. So, there is a function *I*+. Because *pk* has no token, therefore *tk* is not enable, i.e., *tk* can not fire. In other words, the program has an operation and the operation will never be executed. So, such a computing procedure is not

**Theory 6.4.** *elements in net are partial order and there exists least upper bound and greatest lower*

**Proof:** In any system , every operation or status serves for the computing target. Therefore, all operations and status are correlation, i.e. all are useful for the computing target. So, there does not exist any independent subnet, and all elements are in the same partial order set. The

In the following discussion, let C is a Coloured Petri Nets , R is a *rwPNs* . C is the Coloured Petri Netmapping of R. For any element *x* ∈ R, *x*� is the mapping element in C , and vice

} can be evaluated correctly.

From above, any marking *Mi* is reachable from the initial marking *M*0.

initial set •*s* = ∅ is greatest lower bound. *s*• = ∅ is least upper bound.

� ∈ C is firable , then three condition must be satisfied.

occurrence sequence:

**Proof:**

*bound*

versa.

**Proof:** If *t*

1. the *preset* of *t*

2. the *postset* of *t*

3. the arc expression •*t*

we can get two sequences:

1. sequence of status changing:*M*0*M*1*M*<sup>2</sup> ··· *MnM*; 2. sequence of transition changing:*S*1*S*<sup>2</sup> ··· *Sn*.

If such a sequence is not exists, then there are two cases:

computing targets are not interactive.

computing targets are unsure.

optimization and even wrong.

**Theory 6.1.** *if t*� ∈ C *is firable, then t is also firable.*

� has enough tokens;

� × {*t* �

� has enough capacity;

Fig. 23. One Place and Two Transition

computing units. In this case, we can make a more abstract computing unite *S* covers these initialized computing units. Obviously, the new abstract computing unit *S* is one and only.

**Theory 6.2.** *if s*• = ∅*, then s is a finished status.*

**Proof:** When a computing task reach a status in which all other status are no changed anymore, i.e. the program reach a fixed point.

The above two theorems show there exists the boundary in a program specification.

Let *S* is a step in marking *M* of system, then *S*'s successive marking is *M*, ∀*p* ∈ *P*, *P* is a set of all status.

$$M'(p) = M(p) + \sum\_{t \in T} I\_+(p, t)X(t) - \sum\_{t \in T} I\_-(p, t)X(t)$$

where, *X*(*t*) denotes the number of transition *t* appearing in step X. *M*� is the succession of *M*, written as *M*[*X > M*� , i.e. , after *X* firing, reaches from marking *M* to *M*� . *I*<sup>−</sup> denotes the number of consumed tokens or the value for one variable. *I*+ denotes the number of produced tokens or the updated value for one variable.

So, system will step into a new status, and


Resources or control flow are described by tokens, the number of tokens in system must be conserved. The property of conservation of token number is called invariant. Invariable(including T invariant and S invariant) is limited within boundary, i.e. local invariant and system invariant. The invariant can be computed through reference matrix.

From initializing computing to result returning, the task must be fulfilled in *n* steps. occurrence sequence:

$$M\_0[S\_1 > M\_1[S\_2 > \cdots < M\_n[S\_n > M]]$$

we can get two sequences:


**Theory 6.3.** *Any marking Mi can reach at from the initial marking M*0*, i.e. there exists one sequence:*

$$M\_0[S\_1 > M\_1[S\_2 > \cdots > M\_j[S\_j > M\_i]]$$

#### **Proof:**

16 Will-be-set-by-IN-TECH

*x t*

*x t*

*t*

*t*

computing units. In this case, we can make a more abstract computing unite *S* covers these initialized computing units. Obviously, the new abstract computing unit *S* is one and only.

**Proof:** When a computing task reach a status in which all other status are no changed anymore,

Let *S* is a step in marking *M* of system, then *S*'s successive marking is *M*, ∀*p* ∈ *P*, *P* is a set of

where, *X*(*t*) denotes the number of transition *t* appearing in step X. *M*� is the succession of

number of consumed tokens or the value for one variable. *I*+ denotes the number of produced

2. Based on the preset of transition, *I*<sup>−</sup> , *I*<sup>+</sup> and *M* , the marking *M*� can be determined.

Resources or control flow are described by tokens, the number of tokens in system must be conserved. The property of conservation of token number is called invariant. Invariable(including T invariant and S invariant) is limited within boundary, i.e. local invariant and system invariant. The invariant can be computed through reference matrix.

*<sup>I</sup>*+(*p*, *<sup>t</sup>*)*X*(*t*) − ∑

, i.e. , after *X* firing, reaches from marking *M* to *M*�

*t*∈*T*

*I*−(*p*, *t*)*X*(*t*)

. *I*<sup>−</sup> denotes the

The above two theorems show there exists the boundary in a program specification.

*t*∈*T*

*t* <sup>1</sup> *x t*

<sup>1</sup> *t* <sup>2</sup> *x*

<sup>1</sup> *t* <sup>2</sup> e

*x*

2

2

<sup>2</sup> e

*t*

*t*

*t*

*t*

Fig. 23. One Place and Two Transition

i.e. the program reach a fixed point.

*M*, written as *M*[*X > M*�

all status.

**Theory 6.2.** *if s*• = ∅*, then s is a finished status.*

*M*�

tokens or the updated value for one variable. So, system will step into a new status, and

1. In the same step, more than one action can be fired.

(*p*) = *M*(*p*) + ∑

<sup>1</sup> *x t*

Read-Read

<sup>1</sup> *x t*

Read-Write

<sup>1</sup> *x t*

Write-Read

<sup>1</sup> *x t*

Write-Write

2

Extension Process

2

2

2

If such a sequence is not exists, then there are two cases:

• Net is not connective. So, there are at least two no connective subnet and the two subnet have no any intercourse. Because any subnet has its special computing target, the two computing targets are not interactive.

That is inconsistency with the one and only of computing target. Therefore, the two computing targets are unsure.

• If net is connective, but there exists a marking *Mk* can not reach. In *Mk*, place *pk* has no token. *pk* is not isolated and has pre-transition *tk*. So, there is a function *I*+. Because *pk* has no token, therefore *tk* is not enable, i.e., *tk* can not fire. In other words, the program has an operation and the operation will never be executed. So, such a computing procedure is not optimization and even wrong.

From above, any marking *Mi* is reachable from the initial marking *M*0.

**Theory 6.4.** *elements in net are partial order and there exists least upper bound and greatest lower bound*

**Proof:** In any system , every operation or status serves for the computing target. Therefore, all operations and status are correlation, i.e. all are useful for the computing target. So, there does not exist any independent subnet, and all elements are in the same partial order set. The initial set •*s* = ∅ is greatest lower bound. *s*• = ∅ is least upper bound.

In the following discussion, let C is a Coloured Petri Nets , R is a *rwPNs* . C is the Coloured Petri Netmapping of R. For any element *x* ∈ R, *x*� is the mapping element in C , and vice versa.

**Theory 6.1.** *if t*� ∈ C *is firable, then t is also firable.*

**Proof:** If *t* � ∈ C is firable , then three condition must be satisfied.


**Proof:** 1. If *M*� ≤ *n*. ∀*p*� ∈ *M*�

Therefore R is bounded.

**7. Example**

code is such as

int z; if x<y

else

z:=5\*z; return z;

1. if *x < y z* := *x* 2. else *z* := *y* 3. *z* := 5 ∗ *z*

then L can respectively be

int foo(int x,int y)

z := x;

z:=y;

**7.1 Min**

{

}

*p* is same as the number of tokens in *p*�

number bound *n* and *p*� ≤ *n*. Therefore *M*� ≤ *n* holds.

Obviously *foo* contains three variables, *x*,*y* and *z*. Let

expressions in statement *if-else* can be *GUARD*S .

In this section, we formalize several programs to illustrate *rwPNs* usage.

, if *p* ∈ R is a *control place* , obviously the number of tokens in

*variable place* in *rwPNs* , the number of tokens in a *variable place* always is 1. ∀*p* ≤ *n* holds.

Visualizing Program Semantics 225

2. If R is bounded. ∀*p* ∈ R, if *p* is a *variable place* , then the number in *p* is 1. If *p* is a *control place* , because R is bounded, therefore there exists a natural number bound *n* and *p* ≤ *n* holds. Because the mapping rules don't change the number of tokens in a *place*, therefore ∀*p*� ∈ C , the number in *p*� is same as the number in *p*. Accordingly, there exists a natural

A function, *f oo*, computes the value of 5 ∗ *min*(*x*, *y*) with parameters, *x* and *y*. Suppose the

*Sv* = {*x*, *y*, *z*} Generally, one statement can be modeled as one transition. Omitting the function head , the

Let *transition ti f* ,*transition telse* and *transition tmin* describe the three statements respectively,

L (*ti f*) : *z* := *x* L (*telse*) : *z* := *y* L (*tmin*) : *z* := 5 ∗ *z*

In the three main statements, statement 1 and statement 2 are enclosed by *if-else*. The boolean

variables declaration and statement *return*, three main statements are left,

. if *p* is a *variable place* , then based on the definition of

In R, whether *t* fires or not depends on *preset* of *t*. Let *p* be the *preset* of *t*. *p* may contain *control place pp*,*variable place pv* or both. For a convenient, suppose *pp* and *pv* respectively contains only one single *place*. for *control place* , *pp* is same as the *preset* of *t* � . For *variable place* , If (*pv*, *t*) ∈ *R*, then there are two corresponding arcs,

(*p*� *<sup>v</sup>*, *t* � ) ∈ *F*;

(*t* � , *p*� *<sup>v</sup>*) ∈ *F*;

Because *t* � ∈ C is firable, *pv* has enough token and capacity.

If (*t*, *pv*) ∈ *W*, then there are two corresponding arcs,


Because *t* � ∈ C is firable, *pv* has enough token and capacity.

The arc expression •*t* � × {*t* � } can be evaluated correctly, and the number of tokens in *variable place* remain unchanged. Meanwhile, the logical condition in arc expression •*t* � × {*t* � } are removed and put into the *variable guard* of *t*, consequently, the three condition of *t*'s firing


can be satisfied. Therefore, *t* also is firable.

**Theory 6.2.** *If b*� ∈ C *is reachable, then b* ∈ R *is reachable.*

#### **Proof:**

Because *b*� is reachable, therefore *transition*s in the *preset* of *b*� can fire. Let the *preset* of *b*� is *T*� and the *preset* of *T*� is *P*� . To prove *b* is reachable, the *preset* of *b* must be firable. Let the *preset* of *b* is *T* and the *preset* of *T* is *P*.

for ∀*p* ∈ *P*, if *p* is a *control place* , obviously *t* is firable. If *p* is a *variable place* , the expression of arc (*p*� , *t* � ) in C contains *variable guard* of *t* as the logical conditions of arc expression. And the arc expression (*p*� , *t* � ) can be evaluated correctly , therefore *p*'s *variable guard* can hold *TRUE*, i.e., in *rwPNs t* can fire, because *b* is the *postset* of *t*, accordingly *b* is reachable.

**Theory 6.3.** *Let M*� <sup>1</sup> *is a marking of* C *and M*<sup>1</sup> *is a marking of* R*. if M*� <sup>1</sup> *is reachable, then M*<sup>1</sup> *is also reachable, and there is a occurrence sequence M*0[*t*<sup>1</sup> *>* ··· *ti > Mi*[*tt*+<sup>1</sup> ··· *tn > M*1*.*

**Proof:** According to theorem 6.2, the theorem holds.

**Theory 6.4.** *if* C *is live, then* R *is also live.*

**Proof:** because C is live, therefore for any transition in C can fire and any marking of C can be reachable. Accordingly to 6.2 and 6.3, the theorem can be proved.

**Theory 6.5.** *Let M*� *is the marking of* C *.* R *is bounded iff there exists a natural number bound n so that for every reachable marking M*� ≤ *n.*

**Proof:** 1. If *M*� ≤ *n*. ∀*p*� ∈ *M*� , if *p* ∈ R is a *control place* , obviously the number of tokens in *p* is same as the number of tokens in *p*� . if *p* is a *variable place* , then based on the definition of *variable place* in *rwPNs* , the number of tokens in a *variable place* always is 1. ∀*p* ≤ *n* holds. Therefore R is bounded.

2. If R is bounded. ∀*p* ∈ R, if *p* is a *variable place* , then the number in *p* is 1. If *p* is a *control place* , because R is bounded, therefore there exists a natural number bound *n* and *p* ≤ *n* holds. Because the mapping rules don't change the number of tokens in a *place*, therefore ∀*p*� ∈ C , the number in *p*� is same as the number in *p*. Accordingly, there exists a natural number bound *n* and *p*� ≤ *n*. Therefore *M*� ≤ *n* holds.

### **7. Example**

In this section, we formalize several programs to illustrate *rwPNs* usage.

#### **7.1 Min**

18 Will-be-set-by-IN-TECH

In R, whether *t* fires or not depends on *preset* of *t*. Let *p* be the *preset* of *t*. *p* may contain *control place pp*,*variable place pv* or both. For a convenient, suppose *pp* and *pv* respectively contains

�

} can be evaluated correctly, and the number of tokens in *variable*

. To prove *b* is reachable, the *preset* of *b* must be firable. Let the *preset*

) can be evaluated correctly , therefore *p*'s *variable guard* can hold *TRUE*,

. For *variable place* , If

� × {*t* � } are

<sup>1</sup> *is reachable, then M*<sup>1</sup> *is also*

only one single *place*. for *control place* , *pp* is same as the *preset* of *t*

� ∈ C is firable, *pv* has enough token and capacity.

� ∈ C is firable, *pv* has enough token and capacity.

*place* remain unchanged. Meanwhile, the logical condition in arc expression •*t*

removed and put into the *variable guard* of *t*, consequently, the three condition of *t*'s firing

Because *b*� is reachable, therefore *transition*s in the *preset* of *b*� can fire. Let the *preset* of *b*� is *T*�

for ∀*p* ∈ *P*, if *p* is a *control place* , obviously *t* is firable. If *p* is a *variable place* , the expression of

**Proof:** because C is live, therefore for any transition in C can fire and any marking of C can

**Theory 6.5.** *Let M*� *is the marking of* C *.* R *is bounded iff there exists a natural number bound n so*

i.e., in *rwPNs t* can fire, because *b* is the *postset* of *t*, accordingly *b* is reachable.

*reachable, and there is a occurrence sequence M*0[*t*<sup>1</sup> *>* ··· *ti > Mi*[*tt*+<sup>1</sup> ··· *tn > M*1*.*

be reachable. Accordingly to 6.2 and 6.3, the theorem can be proved.

<sup>1</sup> *is a marking of* C *and M*<sup>1</sup> *is a marking of* R*. if M*�

) in C contains *variable guard* of *t* as the logical conditions of arc expression. And the

(*pv*, *t*) ∈ *R*, then there are two corresponding arcs,

If (*t*, *pv*) ∈ *W*, then there are two corresponding arcs,

� × {*t* �

can be satisfied. Therefore, *t* also is firable.

3. the value of *variable place* can be evaluated correctly.

**Theory 6.2.** *If b*� ∈ C *is reachable, then b* ∈ R *is reachable.*

**Proof:** According to theorem 6.2, the theorem holds.

(*p*� *<sup>v</sup>*, *t* � ) ∈ *F*;

(*t* � , *p*� *<sup>v</sup>*) ∈ *F*;

(*p*� *<sup>v</sup>*, *t* � ) ∈ *F*;

(*t* � , *p*� *<sup>v</sup>*) ∈ *F*;

Because *t*

Because *t*

**Proof:**

arc (*p*� , *t* �

The arc expression •*t*

1. *control guard* holds; 2. *variable guard* holds;

and the *preset* of *T*� is *P*�

arc expression (*p*�

**Theory 6.3.** *Let M*�

of *b* is *T* and the *preset* of *T* is *P*.

, *t* �

**Theory 6.4.** *if* C *is live, then* R *is also live.*

*that for every reachable marking M*� ≤ *n.*

A function, *f oo*, computes the value of 5 ∗ *min*(*x*, *y*) with parameters, *x* and *y*. Suppose the code is such as

```
int foo(int x,int y)
 {
    int z;
    if x<y
         z := x;
    else
         z:=y;
    z:=5*z;
    return z;
 }
```
Obviously *foo* contains three variables, *x*,*y* and *z*. Let

$$\mathcal{S}\_{\upsilon} = \{x, y, z\}$$

Generally, one statement can be modeled as one transition. Omitting the function head , the variables declaration and statement *return*, three main statements are left,


Let *transition ti f* ,*transition telse* and *transition tmin* describe the three statements respectively, then L can respectively be

$$\begin{aligned} \mathcal{C}(t\_{if}): z &:= x \\ \mathcal{C}(t\_{else}): z &:= y \\ \mathcal{C}(t\_{min}): z &:= 5 \ast z \end{aligned}$$

In the three main statements, statement 1 and statement 2 are enclosed by *if-else*. The boolean expressions in statement *if-else* can be *GUARD*S .

Fig. 26. Exclusive transitions

Fig. 27. *rwPN* Specification of 5 ∗ *min*(*x*, *y*)

relationship among entities of program.

Fig. 28. *cvNets* of 5 ∗ *min*(*x*, *y*)

Similarly, if all *control place*s , *Control Arc*s and *transition*s without write/read arcs are omitted, then the *dvNets* of program can be abstracted as that in figure 29. Because *dvNets* has not *Control Flow* , all transitions are concurrent theoretically. *dvNets* describes the dataflow

Visualizing Program Semantics 227

Informally, when an engineer starts to design a program, he can push *Control Flow* ( *cvNets* ) aside first, and only focus on data flow( *dvNets* ), i.e., entity relations. When a computing machine has be chosen to implement the program, the *Control Flow* ( *cvNets* ) can be integrated at later. Accordingly, the final model of program just is composed of *cvNets* and *dvNets* .

Let us focus on *transition ti f* . In *ti f* , two variables *z* and *x* are concerned. *ti f* has two *GUARD*S . One, *control guard* , is to test whether •*ti f* has enough *token*s . When •*ti f* have one *token* , *control guard* is *TRUE*, otherwise *FALSE*. The *control guard* determines whether statement 1 can be continued or not. The other one, *variable guard* , is to test whether *x < y* holds. The *variable guard* also determines whether statement *z* := *x* can be continued or not. Therefore, the two guards are

$$\mathcal{G}\_{\mathbf{c}}(t\_{if}) = \{\text{TRUE}, \text{FALSE}\}$$

$$\mathcal{G}\_{\mathbf{v}}(t\_{if}) = \{\mathbf{x} < \mathbf{y}\}$$

In G*v*(*ti f*), variable *x* and variable *y* are read. Therefore, in L (*ti f*), variables *z* is written,and variable *y* is read. Consequently, *transition ti f* concerns three variables , *x*(read),*y*(read) and *z*(written). The specification can be represented as that in Figure 24. Similarly, *Transition telse* can be described in figure 25.

Fig. 24. Transition *ti f*

Fig. 25. Transition *telse*

Statements in *if-else* are mutual exclusive, i.e. statement 1 and statement 2 are mutual exclusive. To guarantee the mutual exclusion, one *control place* is applied. Let *Cif else* is the *control place* (Figure 26). When *Cif else* has one *token* , there is only one is *TRUE*between G*c*(*ti f*) and G*c*(*telse*). Suppose G*c*(*ti f*) is *TRUE*. After *ti f* fires and the *token* is consumed, then *Cif else* loses the *token* . And then G*c*(*ti f*) changes to *FALSE*. Generally, G*c*(*ti f*) will be *TRUE*or *FALSE*alternatively on whether *Cif else* has enough *token*s .

In statement *z* := 5 ∗ *z*, *z* appears in both sides of the assignment that means *z* will be both read and written. Moreover, statement *z* = 5 ∗ *z* only executes after statement *if-else* finishes, i.e. *tmin* follows both *ti f* and *telse*. Let *control place C* determine the consecutive order. Then the program specification can be represented as that in figure 27.

*tmin* will execute when *C* has one *token* , therefore the *variable guard* of *tmin* is not necessary. Of course, any *GUARD* can be added if need.

In *rwPNs* , if all *Variable place*s , *Read Arc*s and *Write Arc*s are omitted, the *cvNets* of program can abstracted as figure 28. In fact, that in figure 28 is a P/T nets and the analysis techniques of Petri nets can be applied . Obviously *cvNets* describes the *Control Flow* framework of program.

20 Will-be-set-by-IN-TECH

Let us focus on *transition ti f* . In *ti f* , two variables *z* and *x* are concerned. *ti f* has two *GUARD*S . One, *control guard* , is to test whether •*ti f* has enough *token*s . When •*ti f* have one *token* , *control guard* is *TRUE*, otherwise *FALSE*. The *control guard* determines whether statement 1 can be continued or not. The other one, *variable guard* , is to test whether *x < y* holds. The *variable guard* also determines whether statement *z* := *x* can be continued or not. Therefore, the two

> G*c*(*ti f*) = {*TRUE*, *FALSE*} G*v*(*ti f*) = {*x < y*}

In G*v*(*ti f*), variable *x* and variable *y* are read. Therefore, in L (*ti f*), variables *z* is written,and variable *y* is read. Consequently, *transition ti f* concerns three variables , *x*(read),*y*(read) and *z*(written). The specification can be represented as that in Figure 24. Similarly, *Transition telse*

Statements in *if-else* are mutual exclusive, i.e. statement 1 and statement 2 are mutual exclusive. To guarantee the mutual exclusion, one *control place* is applied. Let *Cif else* is the *control place* (Figure 26). When *Cif else* has one *token* , there is only one is *TRUE*between G*c*(*ti f*) and G*c*(*telse*). Suppose G*c*(*ti f*) is *TRUE*. After *ti f* fires and the *token* is consumed, then *Cif else* loses the *token* . And then G*c*(*ti f*) changes to *FALSE*. Generally, G*c*(*ti f*) will be *TRUE*or

In statement *z* := 5 ∗ *z*, *z* appears in both sides of the assignment that means *z* will be both read and written. Moreover, statement *z* = 5 ∗ *z* only executes after statement *if-else* finishes, i.e. *tmin* follows both *ti f* and *telse*. Let *control place C* determine the consecutive order. Then the

*tmin* will execute when *C* has one *token* , therefore the *variable guard* of *tmin* is not necessary. Of

In *rwPNs* , if all *Variable place*s , *Read Arc*s and *Write Arc*s are omitted, the *cvNets* of program can abstracted as figure 28. In fact, that in figure 28 is a P/T nets and the analysis techniques of Petri nets can be applied . Obviously *cvNets* describes the *Control Flow* framework of

*FALSE*alternatively on whether *Cif else* has enough *token*s .

program specification can be represented as that in figure 27.

course, any *GUARD* can be added if need.

guards are

can be described in figure 25.

Fig. 24. Transition *ti f*

Fig. 25. Transition *telse*

program.

Fig. 26. Exclusive transitions

Fig. 27. *rwPN* Specification of 5 ∗ *min*(*x*, *y*)

Similarly, if all *control place*s , *Control Arc*s and *transition*s without write/read arcs are omitted, then the *dvNets* of program can be abstracted as that in figure 29. Because *dvNets* has not *Control Flow* , all transitions are concurrent theoretically. *dvNets* describes the dataflow relationship among entities of program.

Fig. 28. *cvNets* of 5 ∗ *min*(*x*, *y*)

Informally, when an engineer starts to design a program, he can push *Control Flow* ( *cvNets* ) aside first, and only focus on data flow( *dvNets* ), i.e., entity relations. When a computing machine has be chosen to implement the program, the *Control Flow* ( *cvNets* ) can be integrated at later. Accordingly, the final model of program just is composed of *cvNets* and *dvNets* .

(*E*(*ti*) and *B*(*ti*)) holds false. When every transition guard holds false, the sort arrives at the

Visualizing Program Semantics 229

The specification in figure 30 has not any resources restriction and *n* transitions can fire concurrently. If resources are restricted, e.g., only one control handle, the new specification is

Control flow set: *F* = {*< si*, *ti >*, *< si*, *gi >* |1 ≤ *i < n*}∪{*< ti*,*si*<sup>+</sup><sup>1</sup> *>*, *< gi*,*si*<sup>+</sup><sup>1</sup> *>* |1 ≤ *i <*

In figure 31, *ti* can fire only if *si*, which is the preset of *ti*, has at least one token. After *ti* fires, the token in *si* is consumed and a new token flows into *si*+1, which is the postset of *ti*. Because of the nondeterminacy, the firing possibility of *gi* is the same as that of *ti*. If there are not *gi*, when *vivi*+1, *ti* cant fire and the sort terminates though *tj > tj*<sup>+</sup>1(*j > i*). While transitions is fired continually, the token flows along place *s*1,*s*2, ··· ,*sn*−1, and *s*1. In fact, the specification in figure 31 is bubble sort . Similarly, if other resources are restrained, many different sorts can

In system Σ, let *n* = 4, *Sv* = {*v*1, *v*2, *v*3, *v*4}, *Tv* = {*t*1, *t*2, *t*3}, *C*(*vi*) = *Integer* and initial markings of *vi* and *ti* are: *M*0(*v*1) = 4, *M*0(*v*2) = 2, *M*0(*v*3) = 3, *M*0(*v*4) = 1, *M*0(*ti*) = *f alse*. We can get a process of system Σ (Fig.9). This process describes the sort procedure from 4, 2,

In this section, DPP(Dining philosophy problem) is treated as a program . Five philosophers, No.1 to No.5, sit around a table orderly and the No.1 is next to the No.5. Each philosopher is in one of three states: *thinking*, *hungry* and *eating*. Thinking independently for a while, each philosopher stops thinking to eat for hungriness. Each philosopher has one fork at his left hand, but he can eat only when he holds two forks, i.e. the left fork is owned by himself and the right fork is borrowed from his right neighbor. If borrows the right fork successfully, the philosopher can eat, otherwise he must wait for the right fork. After his

*M*0*p*, initial marking of control place *si* : {*M*0(*s*1) = 1}∪{*M*0(*si*) = 0|1 *< i < n*};

fixpoint and terminates.

described as in figure 31. Where, additional sets,

Control place set: *Sp* = {*si*|1 ≤ *i < n*}; Control transition set: *T* = {*gi*|1 ≤ *i < n*};

*<sup>n</sup>* − <sup>1</sup>}∪{*< tn*−1,*s*<sup>1</sup> *>*, *< gn*−1,*s*<sup>1</sup> *>*};

Fig. 31. Constraint SORT Specification

3, 1 to 1, 2, 3, 4.

**7.3 Dining philosophy**

be designed based on the specification in figure 30.

Fig. 29. *dvNets* of 5 ∗ *min*(*x*, *y*)

#### **7.2 SORT**

*n*(*n* ≥ 2) numbers should be sorted ascendingly. Let these *n* numbers be *x*1, *x*2, ··· , *xn*. *rwPN* specification is described as in figure 30, where, Σ = (*N*, *C*, *I*, *M*0), and *N* = (*Sp*, *Sv*, *T*; *R*, *W*, *F*).

Control place set: *Sp* = *φ* ;

Variable control set: *Sv* = {*vi*|1 ≤ *i* ≤ *n*};

(Variable) Transition set: *T* = {*ti*|1 ≤ *i < n*};

Control flow set: *F* = *φ* ;

Read relation (R) and write relation (W): *R* = *W* = {*< vi*, *ti >*, *< vi*+1, *ti >* |1 ≤ *i < n*};

*C* is the type set of *xi*;

Initial markings *M*0: {*E*0(*ti*) = *f alse*, *M*0*v*(*vi*) = *xi*|1 ≤ *i* ≤ *n*};

*I*, the specification of transition *ti*: for ∀*tiT*: *B*(*ti*) ≡ *vi > vi*+1; *A*(*ti*) ≡ *vi*, *vi*<sup>+</sup><sup>1</sup> = *vi*+1, *vi* ; This statement denotes that *vi* exchanges the value with *vi*+1;

The semantics of marking varying is: If ∀*ti T* : *M*[*ti > M*� ↔ *M*(*vi*) *> M*(*vi*<sup>+</sup>1) ∧ *M*(*vi*) = *M*(*vi*<sup>+</sup>1) ∧ *M*� (*vi*<sup>+</sup>1) = *M*(*vi*), then *E*(*ti*) = *true*; If not, then *E*(*ti*) = *f alse*.

In figure 30, transitions firing may reduce the number of descending arrays of *M*(*vi*)(1 ≤ *i* ≤ *n*). When marking satisfies ∀*vi Sv* ∧ *i* �= *n* : *M*(*vi*) ≤ *M*(*vi*<sup>+</sup>1), then ∀*ti T* : *B*(*ti*) = *f alse* ∧ *E*(*ti*) = *true*, and the sort arrives at the fixpoint, the sort accomplishes the purpose.

Fig. 30. SORT Specification

In figure 30, there is no sequential relation among *t*1, *t*2, ··· , *tn*−1, that is to say, transitions can fire concurrently. The semantics of sort in figure 30 is: Transition *ti* is to compare the current value of *vi*(*M*(*vi*) = *xk*) and that of *vi*<sup>+</sup>1(*M*(*vi*1) = *xj*). If the current value of *vi* is bigger than that of *vi*+1, then *vi* exchanges the current value with *vi*+1; and then the guard of transition *ti*

22 Will-be-set-by-IN-TECH

*n*(*n* ≥ 2) numbers should be sorted ascendingly. Let these *n* numbers be *x*1, *x*2, ··· , *xn*. *rwPN* specification is described as in figure 30, where, Σ = (*N*, *C*, *I*, *M*0), and *N* =

Read relation (R) and write relation (W): *R* = *W* = {*< vi*, *ti >*, *< vi*+1, *ti >* |1 ≤ *i < n*};

*A*(*ti*) ≡ *vi*, *vi*<sup>+</sup><sup>1</sup> = *vi*+1, *vi* ; This statement denotes that *vi* exchanges the value with *vi*+1;

The semantics of marking varying is: If ∀*ti T* : *M*[*ti > M*� ↔ *M*(*vi*) *> M*(*vi*<sup>+</sup>1) ∧ *M*(*vi*) =

In figure 30, transitions firing may reduce the number of descending arrays of *M*(*vi*)(1 ≤ *i* ≤ *n*). When marking satisfies ∀*vi Sv* ∧ *i* �= *n* : *M*(*vi*) ≤ *M*(*vi*<sup>+</sup>1), then ∀*ti T* : *B*(*ti*) = *f alse* ∧ *E*(*ti*) = *true*, and the sort arrives at the fixpoint, the sort accomplishes the purpose.

In figure 30, there is no sequential relation among *t*1, *t*2, ··· , *tn*−1, that is to say, transitions can fire concurrently. The semantics of sort in figure 30 is: Transition *ti* is to compare the current value of *vi*(*M*(*vi*) = *xk*) and that of *vi*<sup>+</sup>1(*M*(*vi*1) = *xj*). If the current value of *vi* is bigger than that of *vi*+1, then *vi* exchanges the current value with *vi*+1; and then the guard of transition *ti*

(*vi*<sup>+</sup>1) = *M*(*vi*), then *E*(*ti*) = *true*; If not, then *E*(*ti*) = *f alse*.

Initial markings *M*0: {*E*0(*ti*) = *f alse*, *M*0*v*(*vi*) = *xi*|1 ≤ *i* ≤ *n*}; *I*, the specification of transition *ti*: for ∀*tiT*: *B*(*ti*) ≡ *vi > vi*+1;

Fig. 29. *dvNets* of 5 ∗ *min*(*x*, *y*)

Control place set: *Sp* = *φ* ;

Control flow set: *F* = *φ* ;

*C* is the type set of *xi*;

Fig. 30. SORT Specification

*M*(*vi*<sup>+</sup>1) ∧ *M*�

Variable control set: *Sv* = {*vi*|1 ≤ *i* ≤ *n*}; (Variable) Transition set: *T* = {*ti*|1 ≤ *i < n*};

**7.2 SORT**

(*Sp*, *Sv*, *T*; *R*, *W*, *F*).

(*E*(*ti*) and *B*(*ti*)) holds false. When every transition guard holds false, the sort arrives at the fixpoint and terminates.

The specification in figure 30 has not any resources restriction and *n* transitions can fire concurrently. If resources are restricted, e.g., only one control handle, the new specification is described as in figure 31. Where, additional sets,

$$\text{Control place set: } S\_p = \{ s\_i | 1 \le i < n \};$$

Control transition set: *T* = {*gi*|1 ≤ *i < n*};

Control flow set: *F* = {*< si*, *ti >*, *< si*, *gi >* |1 ≤ *i < n*}∪{*< ti*,*si*<sup>+</sup><sup>1</sup> *>*, *< gi*,*si*<sup>+</sup><sup>1</sup> *>* |1 ≤ *i < <sup>n</sup>* − <sup>1</sup>}∪{*< tn*−1,*s*<sup>1</sup> *>*, *< gn*−1,*s*<sup>1</sup> *>*};

*M*0*p*, initial marking of control place *si* : {*M*0(*s*1) = 1}∪{*M*0(*si*) = 0|1 *< i < n*};

#### Fig. 31. Constraint SORT Specification

In figure 31, *ti* can fire only if *si*, which is the preset of *ti*, has at least one token. After *ti* fires, the token in *si* is consumed and a new token flows into *si*+1, which is the postset of *ti*. Because of the nondeterminacy, the firing possibility of *gi* is the same as that of *ti*. If there are not *gi*, when *vivi*+1, *ti* cant fire and the sort terminates though *tj > tj*<sup>+</sup>1(*j > i*). While transitions is fired continually, the token flows along place *s*1,*s*2, ··· ,*sn*−1, and *s*1. In fact, the specification in figure 31 is bubble sort . Similarly, if other resources are restrained, many different sorts can be designed based on the specification in figure 30.

In system Σ, let *n* = 4, *Sv* = {*v*1, *v*2, *v*3, *v*4}, *Tv* = {*t*1, *t*2, *t*3}, *C*(*vi*) = *Integer* and initial markings of *vi* and *ti* are: *M*0(*v*1) = 4, *M*0(*v*2) = 2, *M*0(*v*3) = 3, *M*0(*v*4) = 1, *M*0(*ti*) = *f alse*. We can get a process of system Σ (Fig.9). This process describes the sort procedure from 4, 2, 3, 1 to 1, 2, 3, 4.

#### **7.3 Dining philosophy**

In this section, DPP(Dining philosophy problem) is treated as a program . Five philosophers, No.1 to No.5, sit around a table orderly and the No.1 is next to the No.5. Each philosopher is in one of three states: *thinking*, *hungry* and *eating*. Thinking independently for a while, each philosopher stops thinking to eat for hungriness. Each philosopher has one fork at his left hand, but he can eat only when he holds two forks, i.e. the left fork is owned by himself and the right fork is borrowed from his right neighbor. If borrows the right fork successfully, the philosopher can eat, otherwise he must wait for the right fork. After his

In figure 34, the initial marking of *Pi* is: *M*0(*fi*) = 1, *M*0(*Sti*) = 1 and *Pi*.*state* = *thinking*, i.e. the initial state of *Pi* is *thinking* and the next *enable* transition is *Hi*. When *Hi* fires, *Pi* is in the state of *hungriness* and requests two forks to eat, i.e. the *weight* of arc (*Hi*, *Sai*) is 2. When *M*(*fi*) = 1 and *M*(*Sai*) ≥ 1, *L fi* fires. Consequently, fork *fi* is held by *Pi*. Similarly, When *<sup>M</sup>*(*fi*−1) = 1 and *<sup>M</sup>*(*Sai*) ≥ 1, *R fi* fires. Consequently, fork *fi*−<sup>1</sup> is held by *Pi*. If *F fi* has two tokens, i.e. *M*(*F fi*) = 2, *Ei* fires and *Pi* starts to eat with two forks. Marking *M*(*S fi*) = 1 denotes *Pi* is eating. *Ti*'s firing denotes *Pi* finishes eating and start to think, at the same time, *Pi* frees forks *fi* and *fi*−<sup>1</sup> (*P*<sup>1</sup> uses *<sup>f</sup>*<sup>1</sup> and *<sup>f</sup>*5), i.e. *<sup>M</sup>*(*fi*) = 1 and *<sup>M</sup>*(*fi*−1) = 1. In Fig.34 and other figures, *arc with arrow* denotes *control f low* and *arc without arrow* denotes *read*/*write*

Visualizing Program Semantics 231

P *i .state*

2

F*f i*

states. The current state of philosopher can be checked through *state*.

Control place set: *Sp* = {*Sti*, *Shi*, *S fi*, *fi*, *Sai*, *F fi*|*i* = 1, 2, 3, 4, 5}.

(*L fi*, *F fi*),(*R fi*, *F fi*),(*F fi*, *Ei*)|*i* = 1, 2, 3, 4, 5}, where *f*<sup>0</sup> = *f*5.

The individual weight of other arcs is 1 respectively, but {*W*(*F fi*, *Ei*) = 2, *W*(*Hi*, *Sai*) = 2|*i* = 1, 2, 3, 4, 5}. Description of (*variables*) *transition I* is in figure.33.

Transition set: *Tv* = {*Ti*, *Hi*, *Ei*|*i* = 1, 2, 3, 4, 5}, *Tp* = {*L fi*, *R fi*|*i* = 1, 2, 3, 4, 5}. Read/Write relationship: *R* = *W* = (*Pi*.*state*, *Ti*),(*Pi*.*state*, *Hi*),(*Pi*.*state*, *Ei*). Control flow relationship: *F* = {(*Ti*, *Sti*),(*Sti*, *Hi*),(*Hi*, *Shi*),(*Shi*, *Ei*),(*Ei*, *S fi*), (*S fi*, *Ti*),(*Ti*, *fi*),(*Ti*, *fi*−1),(*Hi*, *Sai*),(*Sai*, *L fi*),(*fi*, *L fi*),(*fi*−1, *R fi*),(*Sai*, *R fi*),

Variable place set: *Sv* = {*Pi*.*state*|*i* = 1, 2, 3, 4, 5}.

E*i*

L*f i*

> R*f i*

In figure 34, *token* denotes the *control* inside *Pi* and flows among *control places*. Although *control place* can't be read or written, we can observe the *control f low* through the change of *state*. For example, in figure 33, *variable guards* of *Ti*, *Hi* and *Ei* imply the change order of

The specifications of five philosophers are similar to that in figure.34. With shared forks, the specification of DPP (figure.35) can be got from interaction among five individual philosopher

Initial marking *M*<sup>0</sup> : {*M*0(*fi*) = 1, *M*0(*Sti*) = 1, *M*0(*Pi*.*state*) = *thinking*|*i* = 1, 2, 3, 4, 5}. In figure.35, non-neighboring philosophers hasn't the shared resource (fork), so they can be concurrent, such as *P*<sup>1</sup> and *P*3(*P*4), *P*<sup>2</sup> and *P*4(*P*5), *P*<sup>3</sup> and *P*5(*P*1). These properties can be

*Sh <sup>i</sup> Sf <sup>i</sup>* <sup>2</sup>

<sup>T</sup> <sup>H</sup> *<sup>i</sup> <sup>i</sup>*

*Sti*

*f i*

*Sa <sup>i</sup>*

*f i-*1

relationship.

Fig. 34. Specification of *Pi*

specifications (figure.34).

Fig. 32. SORT Process

eating, the philosopher returns the borrowed fork and frees his own fork for being lent, and then he starts to think. We suppose it is fair to use forks and there isn't any priority. In addition, a premise is that a philosopher doesn't free his holding fork(s) until he finishes his eating. Obviously, forks are the shared resources. To guarantee each philosopher can eat, each dining philosopher must finish his eating in a while and free his holding forks. Therefore, no philosopher can eat or be hungry forever.

Let *PHIL* be the type philosophers belong to, *Pi* ∈ *PHIL* denotes the *i*th philosopher. Variable place *Pi*.*state* records the current state of philosopher, i.e. *thinking*, *hungry* or *eating*. Concisely, *Pi*.*state* = *thinking*, *Pi*.*state* = *hungry* and *Pi*.*state* = *eating* are abbreviated as *Pi*.*thinking*, *Pi*.*hungry* and *Pi*.*eating* respectively, here the data type of *thinking*, *hungry* and *eating* are *Boolean*. Let *FORK* be the type forks belong to, *fi* ∈ *FORK* denotes the fork owned by the *i*th philosopher. Variable transitions *Ti*, *Hi* and *Ei* denote operations that make philosopher *Pi* to think, be hungry and eat respectively (see Fig.33). *Ti*, *Hi* and *Ei* all can modify the current value of *Pi*.*state*. In figure 33, *Control guard* locates at top level and its initial value is *f alse*. *Control guard* is *f alse* denotes that the fire condition of transition can't be satisfied, so the transition can't fire. When the fire condition of transition is satisfied, *control guard* is *true* and the transition is *enabled*. *Control guard* is just the first control of transition's firing. *Variable guard* locates at the middle level and it represents the condition that the associated variables must satisfy. Similar to *Control guard*, when *variable guard* is *true*, the transition is *enabled*. *Variable guard* is the second control of transition's firing. The transition fires only when both *control guard* and *variable guard* are *true*. *Variable guard* is fixed once it is assigned, but *control guard* can alternate between *true* and *f alse*. Action description locates at bottom level and it is a collection of assignments. For example, the semantics of *Ti* is: when *control f low* arrives at *Ti* (*control guard* is *true*) and *Pi* is *eating* (*variable guard* is *true*), *Pi* changes its state (*eating*) and starts thinking. Meanwhile *Pi* sets the current state to *thinking*. The semantics of *Ei* and *Hi* are similar to *Ti*'s.

Fig. 33. Transition specification of *thinking*, *hungriness* and *eating*

24 Will-be-set-by-IN-TECH

eating, the philosopher returns the borrowed fork and frees his own fork for being lent, and then he starts to think. We suppose it is fair to use forks and there isn't any priority. In addition, a premise is that a philosopher doesn't free his holding fork(s) until he finishes his eating. Obviously, forks are the shared resources. To guarantee each philosopher can eat, each dining philosopher must finish his eating in a while and free his holding forks. Therefore, no

Let *PHIL* be the type philosophers belong to, *Pi* ∈ *PHIL* denotes the *i*th philosopher. Variable place *Pi*.*state* records the current state of philosopher, i.e. *thinking*, *hungry* or *eating*. Concisely, *Pi*.*state* = *thinking*, *Pi*.*state* = *hungry* and *Pi*.*state* = *eating* are abbreviated as *Pi*.*thinking*, *Pi*.*hungry* and *Pi*.*eating* respectively, here the data type of *thinking*, *hungry* and *eating* are *Boolean*. Let *FORK* be the type forks belong to, *fi* ∈ *FORK* denotes the fork owned by the *i*th philosopher. Variable transitions *Ti*, *Hi* and *Ei* denote operations that make philosopher *Pi* to think, be hungry and eat respectively (see Fig.33). *Ti*, *Hi* and *Ei* all can modify the current value of *Pi*.*state*. In figure 33, *Control guard* locates at top level and its initial value is *f alse*. *Control guard* is *f alse* denotes that the fire condition of transition can't be satisfied, so the transition can't fire. When the fire condition of transition is satisfied, *control guard* is *true* and the transition is *enabled*. *Control guard* is just the first control of transition's firing. *Variable guard* locates at the middle level and it represents the condition that the associated variables must satisfy. Similar to *Control guard*, when *variable guard* is *true*, the transition is *enabled*. *Variable guard* is the second control of transition's firing. The transition fires only when both *control guard* and *variable guard* are *true*. *Variable guard* is fixed once it is assigned, but *control guard* can alternate between *true* and *f alse*. Action description locates at bottom level and it is a collection of assignments. For example, the semantics of *Ti* is: when *control f low* arrives at *Ti* (*control guard* is *true*) and *Pi* is *eating* (*variable guard* is *true*), *Pi* changes its state (*eating*) and starts thinking. Meanwhile *Pi* sets the

> *false state = thinking state := hungriness* H*i*

*false state = hungriness state := eating* E*i*

current state to *thinking*. The semantics of *Ei* and *Hi* are similar to *Ti*'s.

*false state = eating state := thinking* T*i*

Fig. 33. Transition specification of *thinking*, *hungriness* and *eating*

Fig. 32. SORT Process

philosopher can eat or be hungry forever.

In figure 34, the initial marking of *Pi* is: *M*0(*fi*) = 1, *M*0(*Sti*) = 1 and *Pi*.*state* = *thinking*, i.e. the initial state of *Pi* is *thinking* and the next *enable* transition is *Hi*. When *Hi* fires, *Pi* is in the state of *hungriness* and requests two forks to eat, i.e. the *weight* of arc (*Hi*, *Sai*) is 2. When *M*(*fi*) = 1 and *M*(*Sai*) ≥ 1, *L fi* fires. Consequently, fork *fi* is held by *Pi*. Similarly, When *<sup>M</sup>*(*fi*−1) = 1 and *<sup>M</sup>*(*Sai*) ≥ 1, *R fi* fires. Consequently, fork *fi*−<sup>1</sup> is held by *Pi*. If *F fi* has two tokens, i.e. *M*(*F fi*) = 2, *Ei* fires and *Pi* starts to eat with two forks. Marking *M*(*S fi*) = 1 denotes *Pi* is eating. *Ti*'s firing denotes *Pi* finishes eating and start to think, at the same time, *Pi* frees forks *fi* and *fi*−<sup>1</sup> (*P*<sup>1</sup> uses *<sup>f</sup>*<sup>1</sup> and *<sup>f</sup>*5), i.e. *<sup>M</sup>*(*fi*) = 1 and *<sup>M</sup>*(*fi*−1) = 1. In Fig.34 and other figures, *arc with arrow* denotes *control f low* and *arc without arrow* denotes *read*/*write* relationship.

Fig. 34. Specification of *Pi*

In figure 34, *token* denotes the *control* inside *Pi* and flows among *control places*. Although *control place* can't be read or written, we can observe the *control f low* through the change of *state*. For example, in figure 33, *variable guards* of *Ti*, *Hi* and *Ei* imply the change order of states. The current state of philosopher can be checked through *state*.

The specifications of five philosophers are similar to that in figure.34. With shared forks, the specification of DPP (figure.35) can be got from interaction among five individual philosopher specifications (figure.34).

Control place set: *Sp* = {*Sti*, *Shi*, *S fi*, *fi*, *Sai*, *F fi*|*i* = 1, 2, 3, 4, 5}.

Variable place set: *Sv* = {*Pi*.*state*|*i* = 1, 2, 3, 4, 5}.

Transition set: *Tv* = {*Ti*, *Hi*, *Ei*|*i* = 1, 2, 3, 4, 5}, *Tp* = {*L fi*, *R fi*|*i* = 1, 2, 3, 4, 5}.

Read/Write relationship: *R* = *W* = (*Pi*.*state*, *Ti*),(*Pi*.*state*, *Hi*),(*Pi*.*state*, *Ei*).

Control flow relationship: *F* = {(*Ti*, *Sti*),(*Sti*, *Hi*),(*Hi*, *Shi*),(*Shi*, *Ei*),(*Ei*, *S fi*), (*S fi*, *Ti*),(*Ti*, *fi*),(*Ti*, *fi*−1),(*Hi*, *Sai*),(*Sai*, *L fi*),(*fi*, *L fi*),(*fi*−1, *R fi*),(*Sai*, *R fi*), (*L fi*, *F fi*),(*R fi*, *F fi*),(*F fi*, *Ei*)|*i* = 1, 2, 3, 4, 5}, where *f*<sup>0</sup> = *f*5.

The individual weight of other arcs is 1 respectively, but {*W*(*F fi*, *Ei*) = 2, *W*(*Hi*, *Sai*) = 2|*i* = 1, 2, 3, 4, 5}.

Description of (*variables*) *transition I* is in figure.33. Initial marking *M*<sup>0</sup> : {*M*0(*fi*) = 1, *M*0(*Sti*) = 1, *M*0(*Pi*.*state*) = *thinking*|*i* = 1, 2, 3, 4, 5}.

In figure.35, non-neighboring philosophers hasn't the shared resource (fork), so they can be concurrent, such as *P*<sup>1</sup> and *P*3(*P*4), *P*<sup>2</sup> and *P*4(*P*5), *P*<sup>3</sup> and *P*5(*P*1). These properties can be

*Pi*.*thinking* ensures *Pi*.*hungriness*. *Pi*.*hungriness* ensures *Pi*.*eating*. *Pi*.*eating* ensures *Pi*.*thinking*.

Fig. 36. A process segment of *Pi*

can be rewritten as

*Pi* will stop thinking because of hungriness. The hungry philosopher has opportunity to eat. The dining philosopher must finish his eating in a

The neighboring philosophers can't eat at the same time.

while and start to think.

These properties ensure each philosopher is in one of three states by turn, i.e. any philosopher

Visualizing Program Semantics 233

**Proof:** Because *Sti* is a *control place*, *M*(*Sti*) = 1 implies that *Pi* is in the state of *thinking*, i.e. *Sti* → *Pi*.*thinking*. Similarly, *Shi* → *Pi*.*hungriness* and *S fi* → *Pi*.*eating*. Therefore, property 1

> *Sti* ensures *Shi Shi* ensures *S fi S fi* ensures *Sti*

From figure.34, we can get a segment of process (figure.36). For conciseness, some detail parts

*St* <sup>i</sup> Hi *Sh* <sup>i</sup> Ei *Sf*<sup>i</sup> Ti

As showed in figure.36, *control*(token) flows from *Sti* through *Hi*, and then into *Shi*. Accordingly, there is an *occurrence sequence Sti*[*Hi > Shi*. Obviously, *Hi* is the operation which guarantees *Sti* ensures *Shi*. Consequently, based on the premise *Sti* → *Pi*.*thinking* and

*invariantRp*(*Pi*, *Pj*) → ¬(*S fi* ∧ *S fj*)

*M*(*F fi*) = 2

*M*(*S fi*) = 0 *M*(*S fj*) = 0

*M*(*F fj*) = 2

are neglected in figure.36, e.g. *Pi* must have an opportunity to hold two forks.

*Shi* → *Pi*.*hungriness*, *Hi* also guarantees *Pi*.*thinking* ensures *Pi*.*hungriness*.

**Property 1.** invariant *Rp*(*Pi*, *Pj*) → ¬(*Pi*.*eating* ∧ *Pj*.*eating*)*.*

**Proof:** Similar to property 1, property 2 can be rewritten as

Suppose *Pi* is in the state of *eating*, the firing condition of *Ei* is

Similarly, *Pj* is in state of *eating*, the firing condition of *Ej* is

At that time, tokens in *S fi* and *S fj* must respectively be consumed, i.e.

Similarly, *Pi*.*hungriness* ensures *Pi*.*eating* and *Pi*.*eating* ensures *Pi*.*thinking* hold *true*.

can't be in one of states forever. Therefore, the individual philosopher could be live.

Fig. 35. *rwPN* Specification of Dining Philosopher Problem

observed from figure.35. For convenience, predicate *Rp*(*Pi*, *Pj*) denotes that *Pi* is next to *Pj*; predicate *Tf*(*fi*, *fj*) denotes *fi* is next to *fj* and they are used by *Pi*,. Under no confusion circumstances, *M*(*Sti*) = 1 is abbreviated to *Sti*; and ¬*Sti* to *M*(*Sti*) = 0; *fi* means fork *fi* is free and marking *M*(*fi*) is 1; ¬*fi* means fork *fi* is being used and marking *M*(*fi*) is 0.

Control places *S fi*, *Sti* and *Shi* are unreadable and to some extent are encapsulated. However, variable place *state* is readable and writable, so the state of philosopher can be observed through variable place *state*. We call *state* the *observe window* of the inner state of philosopher. Therefore, *control f low* inside a philosopher can be checked indirectly through *variable place*, and *variable place* also can be called as *inter f ace*. On the other hand, properties on *state* can be proved through *control f low*. The following properties are expressed by UNITY logic but the proofs are Petri nets style.

26 Will-be-set-by-IN-TECH

E1

*Sh* <sup>1</sup> *Sf* <sup>1</sup> <sup>2</sup>

F*f* 1

*Sa*<sup>1</sup> R*f* <sup>1</sup> L*f* *f* 1

2

*Sa*

R*f*

2

2

*Sa* <sup>3</sup> *f* <sup>3</sup> L*f*

L*f*

2

2

F*f* 3

<sup>3</sup> R*f*

*Sh* <sup>3</sup> E3 *Sf*<sup>3</sup>

*St*3

T3 P3.*state*

*Sh*

2

F*f*

2

P2

H2

> E2

*f*

3

2

2

*.state*

*Sf*

2

H3

2

*St*

2

T2

1

P1*.state*

<sup>T</sup> <sup>H</sup> <sup>1</sup> <sup>1</sup>

*St*1

*f* 5

L

*f*

5

2

observed from figure.35. For convenience, predicate *Rp*(*Pi*, *Pj*) denotes that *Pi* is next to *Pj*; predicate *Tf*(*fi*, *fj*) denotes *fi* is next to *fj* and they are used by *Pi*,. Under no confusion circumstances, *M*(*Sti*) = 1 is abbreviated to *Sti*; and ¬*Sti* to *M*(*Sti*) = 0; *fi* means fork *fi* is free and marking *M*(*fi*) is 1; ¬*fi* means fork *fi* is being used and marking *M*(*fi*) is 0.

Control places *S fi*, *Sti* and *Shi* are unreadable and to some extent are encapsulated. However, variable place *state* is readable and writable, so the state of philosopher can be observed through variable place *state*. We call *state* the *observe window* of the inner state of philosopher. Therefore, *control f low* inside a philosopher can be checked indirectly through *variable place*, and *variable place* also can be called as *inter f ace*. On the other hand, properties on *state* can be proved through *control f low*. The following properties are expressed by UNITY logic but

*Sa*5

R*f*

2

F*f* <sup>4</sup>

*Sa* <sup>4</sup> L*f* <sup>4</sup> R *f* <sup>4</sup>

*Sh*<sup>4</sup> E4 *Sf*<sup>4</sup>

*St*4

Fig. 35. *rwPN* Specification of Dining Philosopher Problem

H4 T4 P4.*state*

5

2

*Sf*

F

2

*f*

5

5

P5

> *Sh*5

2

*f* 4

the proofs are Petri nets style.

*St*

H5 5

*.state*

E5

T5 *Pi*.*thinking* ensures *Pi*.*hungriness*. *Pi*.*hungriness* ensures *Pi*.*eating*. *Pi*.*eating* ensures *Pi*.*thinking*.

*Pi* will stop thinking because of hungriness. The hungry philosopher has opportunity to eat. The dining philosopher must finish his eating in a while and start to think.

These properties ensure each philosopher is in one of three states by turn, i.e. any philosopher can't be in one of states forever. Therefore, the individual philosopher could be live.

**Proof:** Because *Sti* is a *control place*, *M*(*Sti*) = 1 implies that *Pi* is in the state of *thinking*, i.e. *Sti* → *Pi*.*thinking*. Similarly, *Shi* → *Pi*.*hungriness* and *S fi* → *Pi*.*eating*. Therefore, property 1 can be rewritten as

> *Sti* ensures *Shi Shi* ensures *S fi S fi* ensures *Sti*

From figure.34, we can get a segment of process (figure.36). For conciseness, some detail parts are neglected in figure.36, e.g. *Pi* must have an opportunity to hold two forks.

Fig. 36. A process segment of *Pi*

As showed in figure.36, *control*(token) flows from *Sti* through *Hi*, and then into *Shi*. Accordingly, there is an *occurrence sequence Sti*[*Hi > Shi*. Obviously, *Hi* is the operation which guarantees *Sti* ensures *Shi*. Consequently, based on the premise *Sti* → *Pi*.*thinking* and *Shi* → *Pi*.*hungriness*, *Hi* also guarantees *Pi*.*thinking* ensures *Pi*.*hungriness*.

Similarly, *Pi*.*hungriness* ensures *Pi*.*eating* and *Pi*.*eating* ensures *Pi*.*thinking* hold *true*.

**Property 1.** invariant *Rp*(*Pi*, *Pj*) → ¬(*Pi*.*eating* ∧ *Pj*.*eating*)*.*

The neighboring philosophers can't eat at the same time.

**Proof:** Similar to property 1, property 2 can be rewritten as

$$invariant R\_p(P\_{i\prime}, P\_j) \rightarrow \neg(Sf\_i \wedge Sf\_j)$$

Suppose *Pi* is in the state of *eating*, the firing condition of *Ei* is

$$\mathcal{M}(Ff\_i) = 2$$

At that time, tokens in *S fi* and *S fj* must respectively be consumed, i.e.

$$M(Sf\_i) = 0 \quad M(Sf\_j) = 0$$

Similarly, *Pj* is in state of *eating*, the firing condition of *Ej* is

$$M(Ff\_{\bar{l}}) = 2$$

*Sh <sup>i</sup> Ei*

Fig. 37. The process segment of *Pi*'s eating

Moreover, there also is *occurrence sequence*:

therefore, *M*(*F fi*) = 2 cause *M*(*fi*) = 0 and *M*(*fj*) = 0.

*M*(*fj*) = 0. *fi* and *fj* are neighboring is the premise, so

i.e. *Shi* �−→ *S fi* ∧ (¬*fi* ∧ ¬*fj*) ∧ *Tf*(*fi*, *fj*) holds *true*.

*T* is a set of transitions, *M* is a set of system markings. Let *r* = {(*m*, *m*�

*r*∗ = *r*

<sup>0</sup> <sup>∪</sup> *<sup>r</sup>* <sup>1</sup> <sup>∪</sup> *<sup>r</sup>*

From the above definition, we can prove the liveness of the dining problem.

Therefore, property 4 holds *true*.

marking *m*� after finite transitions fire.

If *m* ∈ *M*, *t* ∈ *T*, *m*� ∈ *M* : *mr*∗*m*� ∧ *m*�

is controlled by (directed circle)

The right fork: *εri* = *fiEiS fiTi fi* The left fork: *εli* = *fi*<sup>+</sup>1*EiS fiTi fi*<sup>+</sup><sup>1</sup>

If the system is live, and *m*, *m*� ∈ *M* : *mr*∗*m*�

**Proof:** The state of each philosopher changes in turn:

**Proof of liveness**

}, then

*m*[*t > m*�

*Ff <sup>i</sup>* 2

L*f i*

R *f i* *f i-*1

According to property 1 and (5), *Shi* ensures *S fi* and *Ei*'s firing needs *M*(*F fi*) = 2. According to (6), *M*(*F fi*) = 2 causes *M*(*fi*) = 0 and *M*(*fj*) = 0, i.e. *Ei*'s firing causes *M*(*fi*) = 0 and

*Shi ensures S fi* ∧ (¬*fi* ∧ ¬*fj*) ∧ *Tf*(*fi*, *fj*)

is called as reachable relation, expression *m r*∗ *m*� denotes that marking *m* can be changed to

*thinking* → *hungry* → *eating* → *thinking* ···

The state change of philosopher *Pi* is controlled by a flow (directed circle): *δ<sup>i</sup>* = ··· *TiHiEiTi* ··· , The two neighbor philosophers must share one fork. *Pi* requests the fork

<sup>2</sup> ∪··· <sup>=</sup> <sup>∞</sup>

[*t >*, then the system is live.

*i*=0 *ri*

, then the system is circular.

*Sf <sup>i</sup> T <sup>i</sup>*

{ *fi*, *fj*}[{*L fi*, *R fi*} *>* {*M*(*F fi*) = 2} (6)

)|*m*, *m*� ∈ *M* ∧ *t* ∈ *T* :

*f i*

Visualizing Program Semantics 235

Because *Pi* and *Pj* are neighboring, and *M*(*F fi*) = 2 has caused *M*(*S fj*) = 0. Therefore, *L fj* can't fire. Accordingly, *M*(*F fj*) = 2 can't be satisfied. So, *Pj* can't be in the state of *eating*, i.e.

$$R\_p(P\_{i\prime}, P\_j) \to P\_i.eating \land \neg P\_j.eating \tag{1}$$

Similarly, when *Pj* is in the state of *eating*, the firing condition of *Ei* can't be satisfied. Accordingly, *Pi* can't be in the state of *eating*, i.e.

$$R\_p(P\_{i\prime}, P\_j) \to -P\_i.eating \land P\_j.eating \tag{2}$$

When the neighboring philosopher *Pi* and *Pj* both are not in the sate of *eating*, obviously,

$$R\_P(P\_{\dot{\mathbf{l}}}, P\_{\dot{\mathbf{j}}}) \to \neg P\_{\dot{\mathbf{l}}}.
\text{eating} \land \neg P\_{\dot{\mathbf{j}}}.
\text{eating} \tag{3}$$

From (1)(2)(3), we can find that

$$R\_P(P\_{\dot{\mathbf{l}}}, P\_{\dot{\mathbf{j}}}) \to \neg(P\_{\dot{\mathbf{l}}}.\text{eating} \land P\_{\dot{\mathbf{j}}}.\text{eating}\,\mathbf{j})\tag{4}$$

Because (4) has no other restrictive condition besides a premise that *Pi* and *Pj* are neighboring. Therefore, (4) holds *true* when the program is initializing. Therefore, (4) always holds *true*. Accordingly, property 2 holds *true*.

**Property 2.** *Pi*.*eating* �−→ ¬*Pi*.*eating* ∧ *fi* ∧ *fj* ∧ *Tf*(*fi*, *fj*)*.*

the dining philosopher will finish eating and free the holding forks.

**Proof:** Similar to property 1, property 3 can be rewritten as:

$$\mathcal{S}f\_{\dot{i}} \longmapsto \neg \mathcal{S}f\_{\dot{i}} \land f\_{\dot{i}} \land f\_{\dot{j}} \land T\_{f}(f\_{\dot{i}}, f\_{\dot{j}})$$

From property 1, *S fi* ensures *Sti* holds *true*. A philosopher is thinking implies that the philosopher is not in the state of *eating*, i.e. *Sti* → ¬*S fi*. Accordingly, *S fi ensures*¬*S fi* hold *true*. From figure 35, we can get an *occurrence sequence S fi*[*Ti >* {*Sti*, *fi*, *fj*}, so *Ti*'s firing causes *M*(*fi*) = *M*(*fj*) = 1. Accordingly, the two forks used by *Pi*(*Tf*(*fi*, *fj*)) are free, i.e.

$$Sf\_i \text{ ensures } \neg Sf\_i \land f\_i \land f\_j.$$

Consequently, property *Pi*.*eating* �−→ ¬*Pi*.*eating* ∧ *fi* ∧ *fj* ∧ *Tf*(*fi*, *fj*) holds *true*.

**Property 3.** *Pi*.*hungriness* �−→ *Pi*.*eating* ∧ (¬*fi* ∧ ¬*fj*) ∧ *Tf*(*fi*, *fj*)*.*

The hungry philosopher has opportunity to eat with two forks.

**Proof:** Similar to property 1, property 4 can be rewritten as

$$\mathcal{S}h\_{\dot{i}} \longmapsto \mathcal{S}f\_{\dot{i}} \land (\neg f\_{\dot{i}} \land \neg f\_{\dot{j}}) \land T\_f(f\_{\dot{i}\nu}f\_{\dot{j}}),$$

From figure 34, we can get a process segment as figure.37 (*f*<sup>0</sup> = *f*5).

In figure.37, •*Ei* = {*Shi*, *F fi*} and *E*• *<sup>i</sup>* = {*S fi*}, accordingly, there is *occurrence sequence*:

$$\{Sh\_{l\prime}M(Ff\_l) = 2\}[E\_l > \{Sf\_l\}] \tag{5}$$

28 Will-be-set-by-IN-TECH

Because *Pi* and *Pj* are neighboring, and *M*(*F fi*) = 2 has caused *M*(*S fj*) = 0. Therefore, *L fj* can't fire. Accordingly, *M*(*F fj*) = 2 can't be satisfied. So, *Pj* can't be in the state of *eating*, i.e.

Similarly, when *Pj* is in the state of *eating*, the firing condition of *Ei* can't be satisfied.

When the neighboring philosopher *Pi* and *Pj* both are not in the sate of *eating*, obviously,

Because (4) has no other restrictive condition besides a premise that *Pi* and *Pj* are neighboring. Therefore, (4) holds *true* when the program is initializing. Therefore, (4) always holds *true*.

*S fi* �−→ ¬*S fi* ∧ *fi* ∧ *fj* ∧ *Tf*(*fi*, *fj*) From property 1, *S fi* ensures *Sti* holds *true*. A philosopher is thinking implies that the philosopher is not in the state of *eating*, i.e. *Sti* → ¬*S fi*. Accordingly, *S fi ensures*¬*S fi* hold *true*. From figure 35, we can get an *occurrence sequence S fi*[*Ti >* {*Sti*, *fi*, *fj*}, so *Ti*'s firing causes *M*(*fi*) = *M*(*fj*) = 1. Accordingly, the two forks used by *Pi*(*Tf*(*fi*, *fj*)) are free, i.e.

*S fi ensures* ¬*S fi* ∧ *fi* ∧ *fj*

*Shi* �−→ *S fi* ∧ (¬*fi* ∧ ¬*fj*) ∧ *Tf*(*fi*, *fj*)

Consequently, property *Pi*.*eating* �−→ ¬*Pi*.*eating* ∧ *fi* ∧ *fj* ∧ *Tf*(*fi*, *fj*) holds *true*.

**Property 3.** *Pi*.*hungriness* �−→ *Pi*.*eating* ∧ (¬*fi* ∧ ¬*fj*) ∧ *Tf*(*fi*, *fj*)*.*

From figure 34, we can get a process segment as figure.37 (*f*<sup>0</sup> = *f*5).

**Proof:** Similar to property 1, property 4 can be rewritten as

In figure.37, •*Ei* = {*Shi*, *F fi*} and *E*•

Accordingly, *Pi* can't be in the state of *eating*, i.e.

From (1)(2)(3), we can find that

Accordingly, property 2 holds *true*.

**Property 2.** *Pi*.*eating* �−→ ¬*Pi*.*eating* ∧ *fi* ∧ *fj* ∧ *Tf*(*fi*, *fj*)*.*

**Proof:** Similar to property 1, property 3 can be rewritten as:

*Rp*(*Pi*, *Pj*) → *Pi*.*eating* ∧ ¬*Pj*.*eating* (1)

*Rp*(*Pi*, *Pj*) → ¬*Pi*.*eating* ∧ *Pj*.*eating* (2)

*Rp*(*Pi*, *Pj*) → ¬*Pi*.*eating* ∧ ¬*Pj*.*eating* (3)

*Rp*(*Pi*, *Pj*) → ¬(*Pi*.*eating* ∧ *Pj*.*eating*) (4)

the dining philosopher will finish eating and free the holding forks.

The hungry philosopher has opportunity to eat with two forks.

*<sup>i</sup>* = {*S fi*}, accordingly, there is *occurrence sequence*:

{*Shi*, *M*(*F fi*) = 2}[*Ei >* {*S fi*} (5)

Fig. 37. The process segment of *Pi*'s eating

Moreover, there also is *occurrence sequence*:

$$\{f\_{i\prime}f\_{\bar{j}}\}[\{Lf\_{i\prime}Rf\_{\bar{i}}\}>\{M(Ff\_{\bar{i}})=2\}]\tag{6}$$

therefore, *M*(*F fi*) = 2 cause *M*(*fi*) = 0 and *M*(*fj*) = 0.

According to property 1 and (5), *Shi* ensures *S fi* and *Ei*'s firing needs *M*(*F fi*) = 2. According to (6), *M*(*F fi*) = 2 causes *M*(*fi*) = 0 and *M*(*fj*) = 0, i.e. *Ei*'s firing causes *M*(*fi*) = 0 and *M*(*fj*) = 0. *fi* and *fj* are neighboring is the premise, so

$$Sh\_i \text{ ensures } Sf\_i \land (\neg f\_i \land \neg f\_j) \land T\_f(f\_{i\nu} f\_j)$$

i.e. *Shi* �−→ *S fi* ∧ (¬*fi* ∧ ¬*fj*) ∧ *Tf*(*fi*, *fj*) holds *true*. Therefore, property 4 holds *true*.

#### **Proof of liveness**

*T* is a set of transitions, *M* is a set of system markings. Let *r* = {(*m*, *m*� )|*m*, *m*� ∈ *M* ∧ *t* ∈ *T* : *m*[*t > m*� }, then

$$r^\* = r^0 \cup r^1 \cup r^2 \cup \dots = \bigcup\_{i=0}^{\infty} r^i$$

is called as reachable relation, expression *m r*∗ *m*� denotes that marking *m* can be changed to marking *m*� after finite transitions fire.

If *m* ∈ *M*, *t* ∈ *T*, *m*� ∈ *M* : *mr*∗*m*� ∧ *m*� [*t >*, then the system is live.

If the system is live, and *m*, *m*� ∈ *M* : *mr*∗*m*� , then the system is circular.

From the above definition, we can prove the liveness of the dining problem.

**Proof:** The state of each philosopher changes in turn:

$$thinking \to hungry \to \text{eating} \to \text{thinking} \cdot \cdot \cdot$$

The state change of philosopher *Pi* is controlled by a flow (directed circle): *δ<sup>i</sup>* = ··· *TiHiEiTi* ··· , The two neighbor philosophers must share one fork. *Pi* requests the fork is controlled by (directed circle)

The right fork: *εri* = *fiEiS fiTi fi* The left fork: *εli* = *fi*<sup>+</sup>1*EiS fiTi fi*<sup>+</sup><sup>1</sup>

**Section 4** 

**Natural Language Disambiguation** 

If *value*(*Pi*) �= *nout*, the fire condition of the element in *T* = {*Ti*, *Hi*, *Ei*|*i* = 1 ··· 5} are {· · · , *S fi*}, {· · · , *Sti*} and {· · · , *fi*, *fi*+1, *Shi*} respectively.

Given *m* ∈ *M*, the next firable transition *t* must be an element of *T*, arbitrarily let *t* = *Hi*, obviously, if let *m*� = {· · · , *Sti*}, the fire condition of *Hi* can be satisfied and *Hi* can fire.

Similarly, if let *t* = *Ti* or *t* = *Ei*, there are *m*� = {· · · , *S fi*} or *m*� = {· · · , *fi*, *fi*+1, *Shi*} can satisfy the fire condition of *Ti* or *Ei* respectively. Thus,

$$t \in T, m' \in M: m'[t > \quad (1)$$

If *m*� ⊆ *m*, then *mr*∗*m*� holds true obviously.

If *m*� *m*, since there are directed circles *δi*, *εli* and *εri* , arbitrarily set *ai* be a place of the directed circles *δi*, *εli* or *εri* in marking *m*� , and *m*� (*ai*) *>* 0.

If *ai* ∈ *δi*. Because *δ<sup>i</sup>* is a directed circle, therefore *δ<sup>i</sup>* has a place *bi* in marking *m*, and there must be a path from *bi* to *ai* (the token in *bi* will arrive at *ai* at some time). Otherwise, the philosopher *Pi* can't be in one state of three states in m. So, *bir*∗*ai*.

Similarly, if *ai* ∈ *εli* , *bj* ∈ *εli* , *bjr*∗*ai*; if *ai* ∈ *εri* ,∃*bk* ∈ *εri* , *bkr*∗*ai*;

Hence, if *m*� *m*, *m* can reach *m*� . i.e.

$$mr^\*m'\qquad(2)$$

From (3.1) and (3.2), we conclude that the system is live.

Because there exists directed circles *δi*, *εli* and *εri* , the tokens must flow along the circles, so the markings of system change circularly. We can conclude that any marking *m* can reach any other marking *m*� , i.e., *m*, *m*� ∈ *M* : *mr*∗*m*� . Hence, the system is circular.

#### **8. References**


Woodcock, J. C. P. & Davies, J. (1996). *Using Z-Specification,Refinement,and Proof*, Prentice-Hall.

## **Section 4**

**Natural Language Disambiguation** 

30 Will-be-set-by-IN-TECH

236 Semantics in Action – Applications and Scenarios

If *value*(*Pi*) �= *nout*, the fire condition of the element in *T* = {*Ti*, *Hi*, *Ei*|*i* = 1 ··· 5} are

Given *m* ∈ *M*, the next firable transition *t* must be an element of *T*, arbitrarily let *t* = *Hi*, obviously, if let *m*� = {· · · , *Sti*}, the fire condition of *Hi* can be satisfied and *Hi* can fire.

Similarly, if let *t* = *Ti* or *t* = *Ei*, there are *m*� = {· · · , *S fi*} or *m*� = {· · · , *fi*, *fi*+1, *Shi*} can

, and *m*�

If *ai* ∈ *δi*. Because *δ<sup>i</sup>* is a directed circle, therefore *δ<sup>i</sup>* has a place *bi* in marking *m*, and there must be a path from *bi* to *ai* (the token in *bi* will arrive at *ai* at some time). Otherwise, the

*mr*∗*m*� (2)

the markings of system change circularly. We can conclude that any marking *m* can reach any

Bjorner, D., Jones, C. B., Airchinnigh, M. M. a. & Neuhold, E. J. (1987). *VDM '87 VDM – A*

Breuer, P. T. & Lano, K. C. (1999). Creating specifications from code: Reverse-engineering techniques, *Journal of Software Maintenance: Research and Practice* 3: 145–162. Girault, C. & Valk, R. (2002). *Petri Nets for Systems Engineering:a guide to modeling,verification,and*

Harel, D. (1987). *Statecharts: A Visual Formalism for Complex Systems*. Sci. Comput.

Jensen, K., Kristensen, L. M. & Wells, L. (2007). Coloured petri nets and cpn tools for modelling

Khedker, U., Sanyal, A. & Karkare, B. (2009). *Data Flow Analysis: Theory and Practice*, CRC

Reisig, W. (1985). *Petri Nets, an Introduction*, EATCS Monographs in Theroetical Computer Science, Springer. EATCS Monographs in Theroetical Computer Science.

Woodcock, J. C. P. & Davies, J. (1996). *Using Z-Specification,Refinement,and Proof*, Prentice-Hall.

and validation of concurrent systems, *Int. J. Softw. Tools Technol. Transf.* 9(3): 213–254.

*Formal Method at Work*, Vol. 252, Springer-Verlag, Germany. ø.

[*t >* (1)

(*ai*) *>* 0.

,∃*bk* ∈ *εri* , *bkr*∗*ai*;

. Hence, the system is circular.

, arbitrarily set *ai* be a place of the

, the tokens must flow along the circles, so

*t* ∈ *T*, *m*� ∈ *M* : *m*�

{· · · , *S fi*}, {· · · , *Sti*} and {· · · , *fi*, *fi*+1, *Shi*} respectively.

satisfy the fire condition of *Ti* or *Ei* respectively. Thus,

If *m*� *m*, since there are directed circles *δi*, *εli* and *εri*

philosopher *Pi* can't be in one state of three states in m. So, *bir*∗*ai*.

. i.e.

, *bj* ∈ *εli* , *bjr*∗*ai*; if *ai* ∈ *εri*

From (3.1) and (3.2), we conclude that the system is live.

, i.e., *m*, *m*� ∈ *M* : *mr*∗*m*�

Because there exists directed circles *δi*, *εli* and *εri*

*applications*, Springer-Verlag.

Press (Taylor and Francis Group).

Spivey, J. M. (1998). The z notation: A reference manual.

Programming 8.

If *m*� ⊆ *m*, then *mr*∗*m*� holds true obviously.

directed circles *δi*, *εli* or *εri* in marking *m*�

Hence, if *m*� *m*, *m* can reach *m*�

Similarly, if *ai* ∈ *εli*

other marking *m*�

**8. References**

**10** 

Marie Duží

*Czech Republic* 

**Resolving Topic-Focus Ambiguities** 

Natural language has features that are not found in logically perfect artificial languages. One such feature is *redundancy*, where two or more terms/expressions share exactly the same semantic and logical (but perhaps not pragmatic or rhetoric) properties. Another feature is its converse, namely *ambiguity*, where one term/expression has more than one meaning. A logical analysis of such a piece of natural language will typically translate each of its unambiguous meanings into logically perfect notation. Frege's Begriffsschrift was the first major attempt in modern logic to create such a notation (though he primarily intended it for mathematical language).1 There are various origins and various manifestations of ambiguity, not least cases bearing on quantifier scopes, like "Every boy dances with one girl". Another sort of example is "John loves his wife, and so does Peter", which is ambiguous between Peter loving John's wife and Peter loving his own wife, because it is ambiguous which property 'so' picks up.2 A third, and perhaps less-noticed, sort of ambiguity is pivoted on whether the *topic* or the *focus* of a sentence is highlighted. For instance, "John only introduced Bill to Sue", to use Hajičová's example,3 lends itself to two different kinds of construal: "John did not introduce other people to Sue except for Bill" and "The only person Bill was introduced to by John was Sue". There are two sentences whose semantics, logical properties and consequences only partially overlap. A similar phenomenon also crops up in the case of propositional attitudes and their less-attended

'cousins' of notional attitudes like seeking and finding, calculating and proving.

In this chapter I will deal in particular with ambiguities in natural language exemplifying the difference between *topic* and *focus articulation* within a sentence. This difference is closely related to the disambiguation stemming from supposition *de dicto* and *de re* with which a particular expression is used. I will show that whereas articulating the topic of a sentence activates a presupposition, articulating the focus frequently yields merely entailment. Based on an analysis of topic-focus articulation, I propose a solution to the almost hundred-year old dispute over Strawsonian vs. Russellian definite descriptions.4 The point of departure is

4 See, for instance, (Donellan, 1966); (Fintel, 2004); (Neale 1990); (Russell, 1905, 1957); (Strawson 1950,

**1. Introduction** 

1964).

1 See (Frege, 1884).

3 See (Hajičová, 2008).

<sup>2</sup> See (Neale, 2004), and also (Duží & Jespersen, submitted).

**in Natural Language** 

*VŠB-Technical University Ostrava* 

## **Resolving Topic-Focus Ambiguities in Natural Language**

## Marie Duží

*VŠB-Technical University Ostrava Czech Republic* 

## **1. Introduction**

Natural language has features that are not found in logically perfect artificial languages. One such feature is *redundancy*, where two or more terms/expressions share exactly the same semantic and logical (but perhaps not pragmatic or rhetoric) properties. Another feature is its converse, namely *ambiguity*, where one term/expression has more than one meaning. A logical analysis of such a piece of natural language will typically translate each of its unambiguous meanings into logically perfect notation. Frege's Begriffsschrift was the first major attempt in modern logic to create such a notation (though he primarily intended it for mathematical language).1 There are various origins and various manifestations of ambiguity, not least cases bearing on quantifier scopes, like "Every boy dances with one girl". Another sort of example is "John loves his wife, and so does Peter", which is ambiguous between Peter loving John's wife and Peter loving his own wife, because it is ambiguous which property 'so' picks up.2 A third, and perhaps less-noticed, sort of ambiguity is pivoted on whether the *topic* or the *focus* of a sentence is highlighted. For instance, "John only introduced Bill to Sue", to use Hajičová's example,3 lends itself to two different kinds of construal: "John did not introduce other people to Sue except for Bill" and "The only person Bill was introduced to by John was Sue". There are two sentences whose semantics, logical properties and consequences only partially overlap. A similar phenomenon also crops up in the case of propositional attitudes and their less-attended 'cousins' of notional attitudes like seeking and finding, calculating and proving.

In this chapter I will deal in particular with ambiguities in natural language exemplifying the difference between *topic* and *focus articulation* within a sentence. This difference is closely related to the disambiguation stemming from supposition *de dicto* and *de re* with which a particular expression is used. I will show that whereas articulating the topic of a sentence activates a presupposition, articulating the focus frequently yields merely entailment. Based on an analysis of topic-focus articulation, I propose a solution to the almost hundred-year old dispute over Strawsonian vs. Russellian definite descriptions.4 The point of departure is

<sup>1</sup> See (Frege, 1884).

<sup>2</sup> See (Neale, 2004), and also (Duží & Jespersen, submitted).

<sup>3</sup> See (Hajičová, 2008).

<sup>4</sup> See, for instance, (Donellan, 1966); (Fintel, 2004); (Neale 1990); (Russell, 1905, 1957); (Strawson 1950, 1964).

Resolving Topic-Focus Ambiguities in Natural Language 241

of natural language semantics. In global terms, without procedural semantics TIL is an anticontextualist (i.e., transparent), explicitly intensional modification of IL. With procedural semantics, TIL rises above the model-theoretic paradigm and joins instead the paradigm of

The structure of this chapter is as follows. In Section 2 I briefly summarise the history of the dispute between Russell and Strawson (as well as their proponents and opponents) on the semantic character of sentences containing definite descriptions. Section 3 is an introduction to TIL. In paragraph 3.1 I introduce the semantic foundations of TIL and in 3.2 its logical foundations. Sections 4 and 5 contain the main results of this study. In Section 4 I propose a solution to the dispute over Strawsonian vs. Russellian definite descriptions. Paragraph 4.1 is an introduction to the problem of ambiguities stemming from different topic-focus articulation and a solution based on this distinction is proposed in paragraph 4.2. Section 5 generalizes the method of topic-focus disambiguation to sentences containing not only definite descriptions but also general terms occurring with different suppositions. To this end I make use of the strict analysis of the *if-then-else* function that is defined in paragraph 5.1. The method is then illustrated by analysing some more examples in paragraph 5.2.

There is a substantial difference between proper names and definite descriptions. This distinction is of crucial importance due to their vastly different logical behaviour. Independently of any particular theory of proper names, it should be granted that a *proper*  proper name (as opposed to a definite description grammatically masquerading as a proper name) is a rigid designator of a numerically particular individual. On the other hand, a definite *description* like, for instance, 'the Mayor of Dunedin', 'the King of France', 'the highest mountain on Earth', etc., offers an *empirical criterion* that enables us to establish

The contemporary discussion of the distinction between names and descriptions was

(1) **"**The *F* is a *G*", containing a definite description 'the *F*' is understood to have, in the

Though Russell's quantificational theory remains to this day a strong rival of referential theories, it has received its fair share of *criticism*. *First*, Russell's translation of simple sentences like "The *F* is a G" into the molecular form "There is at least one *F* and at most one thing is an *F* and that thing is a *G*" is rather enigmatic, because Russell disregards the standard constraint that there must be a fair amount of structural similarity between analysandum and analysans. *Second*, Russell proposed the elimination of Peano's

self-contained meaning. *Third*, Russell simply got the truth-conditions wrong in important cases of using descriptions when there is no such thing as the unique *F*. This criticism was launched by Strawson who in (1950) objected that Russell's theory predicts the wrong truthconditions for sentences like 'The present King of France is bald'. According to Russell's

' understood as 'the only', and deprived definite descriptions of their

*x Fx*).

which individual, if any, satisfies the criterion in a particular state of affairs.

(1′) *x* (*Fx y* (*Fy x*=*y*) *Gx*), rather than the logical form *G*(

triggered by Russell (1905). Russell's key idea is the proposal that a sentence like

hyperintensional logic and structured meanings.

Finally, Section 6 summarizes the results.

final analysis, the logical form

descriptive operator '

**2. Russell vs. Strawson on definite descriptions** 

that sentences of the form "The *F* is a *G*" are ambiguous. Their ambiguity is, in my view, not rooted in a shift of meaning of the definite description 'the *F*'. Rather, the ambiguity stems from different topic-focus articulations of such sentences. Russell and Strawson took themselves to be at loggerheads; whereas, in fact, they spoke at cross purposes. The received view still tends to be that there is room for at most one of the two positions, since they are deemed incompatible. And they are, of course, incompatible – *if* they must explain the same set of data. But they should not, in my view. One theory is excellent at explaining one set of data, but poor at explaining the data that the other theory is excellent at explaining; and *vice versa*. My novel contribution advances the research into definite descriptions by pointing out how progress has been hampered by a false dilemma and *how to move beyond that dilemma*. The point is this. If 'the *F*' is the topic phrase then this description occurs with *de re*  supposition and Strawson's analysis appears to be what is wanted. On this reading the sentence *presupposes* the existence of the descriptum of 'the *F*'. The other option is '*G*' occurring as topic and 'the *F*' as focus. This reading corresponds to Donnellan's *attributive* use of 'the *F*' and the description occurs with *de dicto* supposition. On this reading the Russellian analysis gets the truth-conditions of the sentence right. The existence of a unique *F* is merely entailed.

Ancillary to my analysis is a *general analytic schema* of sentences coming with a presupposition. This analysis makes use of a definition of the '*if-then-else*' connective known from programming languages. A broadly accepted view of the semantic nature of this connective is that it is a so-called non-strict function that does not comply with the principle of compositionality. However, the semantic nature of the connective is contested among computer scientists. I will show and this is also a novel contribution of mine that there is no cogent reason for embracing a non-strict definition and context-dependent meaning, *provided* a higher-order logic making it possible to operate on hyperintensions is applied. The framework of Tichý's Transparent Intensional Logic (TIL) possesses sufficient expressive power, and will figure as background theory throughout my exposition.5

Tichý's TIL was developed simultaneously with Montague's Intensional Logic, IL.6 The technical tools of disambiguation will be familiar from IL, with two exceptions. One is that we -bind separate variables *w, w*1, …, *wn* ranging over possible worlds and *t, t*1, …, *tn* ranging over times. This dual binding is tantamount to *explicit intensionalization and temporalization*. The other exception is that *functional application* is the logic both of extensionalization of intensions (functions from possible worlds) and of predication.7 Application is symbolized by square brackets, '…'. Intensions are extensionalized by applying them to worlds and times, as in [[*Intension w*] *t*], abbreviated by subscripted terms for world and time variables: *Intensionwt* is the extension of the generic intension *Intension* at *w*, *t*. Thus, for instance, the extensionalization of a property yields a set (possibly an empty one), and the extensionalization of a proposition yields a truth-value (or no value at all). A general objection to Montague's IL is that it fails to accommodate *hyperintensionality*, as indeed any formal logic interpreted set-theoretically is bound to unless a domain of primitive hyperintensions is added to the frame. Any theory of natural-language analysis needs a hyperintensional (preferably procedural) semantics in order to crack the hard nuts

<sup>5</sup> For details on TIL see, in particular, (Duží et al., 2010a); (Tichý, 1988, 2004).

<sup>6</sup> For a detailed critical comparison of TIL and Montague's IL, see (Duží et al., 2010a, § 2.4.3);

<sup>7</sup> For details, see (Jespersen, 2008).

that sentences of the form "The *F* is a *G*" are ambiguous. Their ambiguity is, in my view, not rooted in a shift of meaning of the definite description 'the *F*'. Rather, the ambiguity stems from different topic-focus articulations of such sentences. Russell and Strawson took themselves to be at loggerheads; whereas, in fact, they spoke at cross purposes. The received view still tends to be that there is room for at most one of the two positions, since they are deemed incompatible. And they are, of course, incompatible – *if* they must explain the same set of data. But they should not, in my view. One theory is excellent at explaining one set of data, but poor at explaining the data that the other theory is excellent at explaining; and *vice versa*. My novel contribution advances the research into definite descriptions by pointing out how progress has been hampered by a false dilemma and *how to move beyond that dilemma*. The point is this. If 'the *F*' is the topic phrase then this description occurs with *de re*  supposition and Strawson's analysis appears to be what is wanted. On this reading the sentence *presupposes* the existence of the descriptum of 'the *F*'. The other option is '*G*' occurring as topic and 'the *F*' as focus. This reading corresponds to Donnellan's *attributive* use of 'the *F*' and the description occurs with *de dicto* supposition. On this reading the Russellian analysis gets the truth-conditions of the sentence right. The existence of a unique

Ancillary to my analysis is a *general analytic schema* of sentences coming with a presupposition. This analysis makes use of a definition of the '*if-then-else*' connective known from programming languages. A broadly accepted view of the semantic nature of this connective is that it is a so-called non-strict function that does not comply with the principle of compositionality. However, the semantic nature of the connective is contested among computer scientists. I will show and this is also a novel contribution of mine that there is no cogent reason for embracing a non-strict definition and context-dependent meaning, *provided* a higher-order logic making it possible to operate on hyperintensions is applied. The framework of Tichý's Transparent Intensional Logic (TIL) possesses sufficient

expressive power, and will figure as background theory throughout my exposition.5

<sup>5</sup> For details on TIL see, in particular, (Duží et al., 2010a); (Tichý, 1988, 2004).

6 For a detailed critical comparison of TIL and Montague's IL, see (Duží et al., 2010a, § 2.4.3);

Tichý's TIL was developed simultaneously with Montague's Intensional Logic, IL.6 The technical tools of disambiguation will be familiar from IL, with two exceptions. One is that we -bind separate variables *w, w*1, …, *wn* ranging over possible worlds and *t, t*1, …, *tn* ranging over times. This dual binding is tantamount to *explicit intensionalization and temporalization*. The other exception is that *functional application* is the logic both of extensionalization of intensions (functions from possible worlds) and of predication.7 Application is symbolized by square brackets, '…'. Intensions are extensionalized by applying them to worlds and times, as in [[*Intension w*] *t*], abbreviated by subscripted terms for world and time variables: *Intensionwt* is the extension of the generic intension *Intension* at *w*, *t*. Thus, for instance, the extensionalization of a property yields a set (possibly an empty one), and the extensionalization of a proposition yields a truth-value (or no value at all). A general objection to Montague's IL is that it fails to accommodate *hyperintensionality*, as indeed any formal logic interpreted set-theoretically is bound to unless a domain of primitive hyperintensions is added to the frame. Any theory of natural-language analysis needs a hyperintensional (preferably procedural) semantics in order to crack the hard nuts

*F* is merely entailed.

<sup>7</sup> For details, see (Jespersen, 2008).

of natural language semantics. In global terms, without procedural semantics TIL is an anticontextualist (i.e., transparent), explicitly intensional modification of IL. With procedural semantics, TIL rises above the model-theoretic paradigm and joins instead the paradigm of hyperintensional logic and structured meanings.

The structure of this chapter is as follows. In Section 2 I briefly summarise the history of the dispute between Russell and Strawson (as well as their proponents and opponents) on the semantic character of sentences containing definite descriptions. Section 3 is an introduction to TIL. In paragraph 3.1 I introduce the semantic foundations of TIL and in 3.2 its logical foundations. Sections 4 and 5 contain the main results of this study. In Section 4 I propose a solution to the dispute over Strawsonian vs. Russellian definite descriptions. Paragraph 4.1 is an introduction to the problem of ambiguities stemming from different topic-focus articulation and a solution based on this distinction is proposed in paragraph 4.2. Section 5 generalizes the method of topic-focus disambiguation to sentences containing not only definite descriptions but also general terms occurring with different suppositions. To this end I make use of the strict analysis of the *if-then-else* function that is defined in paragraph 5.1. The method is then illustrated by analysing some more examples in paragraph 5.2. Finally, Section 6 summarizes the results.

## **2. Russell vs. Strawson on definite descriptions**

There is a substantial difference between proper names and definite descriptions. This distinction is of crucial importance due to their vastly different logical behaviour. Independently of any particular theory of proper names, it should be granted that a *proper*  proper name (as opposed to a definite description grammatically masquerading as a proper name) is a rigid designator of a numerically particular individual. On the other hand, a definite *description* like, for instance, 'the Mayor of Dunedin', 'the King of France', 'the highest mountain on Earth', etc., offers an *empirical criterion* that enables us to establish which individual, if any, satisfies the criterion in a particular state of affairs.

The contemporary discussion of the distinction between names and descriptions was triggered by Russell (1905). Russell's key idea is the proposal that a sentence like

(1) **"**The *F* is a *G*", containing a definite description 'the *F*' is understood to have, in the final analysis, the logical form

(1′) *x* (*Fx y* (*Fy x*=*y*) *Gx*), rather than the logical form *G*(*x Fx*).

Though Russell's quantificational theory remains to this day a strong rival of referential theories, it has received its fair share of *criticism*. *First*, Russell's translation of simple sentences like "The *F* is a G" into the molecular form "There is at least one *F* and at most one thing is an *F* and that thing is a *G*" is rather enigmatic, because Russell disregards the standard constraint that there must be a fair amount of structural similarity between analysandum and analysans. *Second*, Russell proposed the elimination of Peano's descriptive operator '' understood as 'the only', and deprived definite descriptions of their self-contained meaning. *Third*, Russell simply got the truth-conditions wrong in important cases of using descriptions when there is no such thing as the unique *F*. This criticism was launched by Strawson who in (1950) objected that Russell's theory predicts the wrong truthconditions for sentences like 'The present King of France is bald'. According to Russell's

Resolving Topic-Focus Ambiguities in Natural Language 243

In this chapter I am not going to take into account Kripke's pragmatic factors like the intentions of a speaker. In other words, I am not going to take into account what a speaker might have meant by his/her utterance, for this is irrelevant to a *logical* semantic theory. So I am disregarding Donnellan's troublesome notion of having somebody in mind. Instead, I will propose a *literal semantic analysis* of sentences of the form "The *F* is a G". What I want to show is this. First, definite descriptions are not deprived of a self-contained meaning and they denote one and the same entity in any context. Thus they are never Russellian. Second, Russell's insight that a definite description 'the *F*' does not denote a definite individual is spot-on. Rather, according to TIL, 'the *F*' denotes a *condition* to be contingently satisfied by the individual (if any) that happens to be the *F.* I will explicate such conditions in terms of possible-world intensions, *viz.* as individual roles or offices to be occupied by at most one individual per world/time pair. Third, I am going to show that Donnellan was right that sentences of the form "The *F* is a *G*" are ambiguous. However, their ambiguity does not concern a shift of meaning of the definite description 'the *F*'. Rather, the ambiguity concerns different *topic-focus* articulations of these sentences. There are two options. The description 'the *F*' may occur in the topic of a sentence and property *G* (the focus) is predicated of the topic. This case corresponds to Donnellan's *referential* use; using medieval terminology I will say that 'the *F*' occurs with *de re* supposition. The other option is '*G*' occurring as topic and 'the *F*' as focus. This reading corresponds to Donnellan's *attributive* use of 'the *F*' and the description occurs with *de dicto* supposition. Consequently, such sentences are ambiguous between their *de dicto* and *de re* readings. On their *de re* reading they *presuppose* the existence of a unique *F*. Thus Strawson's analysis appears to be adequate for *de re* cases. On their *de dicto* reading they have the truth-conditions as specified by the Russellian analysis. They do not presuppose, but only entail, the existence of a unique *F*. However, the Russellian analysis, though being equivalent to the one I am going to propose, is not an adequate literal

I am going to bring out the *semantic* nature of the topic-focus difference by means of a logical analysis. As a result, I will furnish sentences differing only in their topic-focus articulation with different structured meanings producing different possible-world propositions.9 Moreover, the proposed solution of the problem of definite descriptions generalizes to any sentences differing in their topic-focus articulation. Thus I am going to introduce a *general analytic schema* of sentences that come with a presupposition. Since our logic is a hyperintensional logic of *partial functions*, I am able to analyse sentences with presuppositions in a natural way. It means that I furnish them with hyperpropositions, *viz.* procedures that produce partial possible-world propositions, which occasionally yield truth-

TIL is an overarching semantic theory for all sorts of discourse, whether colloquial, scientific, mathematical or logical. The theory is a *procedural* (as opposed to denotational) one, according to which sense is an abstract, extra-linguistic procedure detailing what operations to apply to what procedural constituents to arrive at the product (if any) of the

analysis of *de dicto* readings.

value gaps. 10

**3. Foundations of TIL** 

<sup>9</sup> For details on structured meanings, see (Duží, et al., 2010b).

10 For an introduction to the notion of hyperproposition, see (Jespersen, 2010).

analysis, this sentence is false, but according to Strawson, this outcome does not conform to our intuitions about its truth or falsity. In Strawson's view, the sentence can be neither true nor false whenever there is no King of France. Obviously, in such a state of affairs the sentence is not true. However, if it were false then its negation, "The King of France is not bald", would be true, which entails that there is a unique King of France, contrary to the assumption that there is none. Strawson held that sentences like these *not only entail* the existence of the present King of France, but also *presuppose* his existence. If 'the present King of France' fails to refer, then the presupposition is false and the sentence fails to have a determinate truth value.8

Russell (1957) in response to Strawson's criticism argued that, despite Strawson's protests, the sentence was in fact false:

Suppose, for example, that in some country there was a law that no person could hold public office if he considered it false that the Ruler of the Universe is wise. I think an avowed atheist who took advantage of Mr. Strawson's doctrine to say that he did not hold this proposition false would be regarded as a somewhat shifty character. (Russell, 1957)

Donnellan (1966) observed that there is a sense in which Strawson and Russell are both right (and both wrong) about the proper analysis of definite descriptions, because definite descriptions can be used in two different ways. On a so-called *attributive use*, a sentence of the form 'The *F* is a *G*' is used to express a proposition equivalent to 'Whatever is uniquely *F* is a *G*'. Alternatively, on a *referential use*, a sentence of the form 'The *F* is a *G*' is used to pick out a specific individual, *a*, and to say of *a* that *a* is a *G*. Donnellan suggested that Russell's quantificational account of definite descriptions might capture attributive uses, but that it does not work for referential uses. Ludlow in (2007) interprets Donnellan as arguing that in some cases descriptions are Russellian and in other cases they are Strawsonian.

Kripke (1977) responded to Donnellan by arguing that the Russellian account of definite descriptions could, by itself, account for both referential and attributive uses, and that the difference between the two cases could be entirely a matter of pragmatics, because there is an important distinction between what one literally says by an utterance and what one intends to communicate by that utterance. Neale (1990) supported Russell's view by collecting a number of previously observed cases in which intuitions about truth conditions clearly do not support Strawson's view. On the other hand, a number of linguists have recently come to Strawson's defence on this matter. For a detailed survey of the arguments supporting Strawson's view and also arguments supporting Russell's, see (Ludlow, 2007). Here it might suffice to say that Strawson's concerns have not delivered a knock-out blow to Russell's theory of descriptions, and so this topic remains very much alive. Recently, von Fintel in (2004) argues that every sentence containing a definite description 'the *F*' comes with the existential presupposition that there be a unique *F*. For instance, he argues against the standpoint that the sentence "Last week, my friend went for a drive with the king of France" is false. He claims that this sentence presupposes that there be a king of France and that in the technical sense the sentence has no truth-value.

<sup>8</sup> Nevertheless, for Strawson, *sentences* are meaningful in and of themselves, independently of the empirical facts like contingent non-existence of the King of France.

analysis, this sentence is false, but according to Strawson, this outcome does not conform to our intuitions about its truth or falsity. In Strawson's view, the sentence can be neither true nor false whenever there is no King of France. Obviously, in such a state of affairs the sentence is not true. However, if it were false then its negation, "The King of France is not bald", would be true, which entails that there is a unique King of France, contrary to the assumption that there is none. Strawson held that sentences like these *not only entail* the existence of the present King of France, but also *presuppose* his existence. If 'the present King of France' fails to refer, then the presupposition is false and the sentence fails to have a

Russell (1957) in response to Strawson's criticism argued that, despite Strawson's protests,

Donnellan (1966) observed that there is a sense in which Strawson and Russell are both right (and both wrong) about the proper analysis of definite descriptions, because definite descriptions can be used in two different ways. On a so-called *attributive use*, a sentence of the form 'The *F* is a *G*' is used to express a proposition equivalent to 'Whatever is uniquely *F* is a *G*'. Alternatively, on a *referential use*, a sentence of the form 'The *F* is a *G*' is used to pick out a specific individual, *a*, and to say of *a* that *a* is a *G*. Donnellan suggested that Russell's quantificational account of definite descriptions might capture attributive uses, but that it does not work for referential uses. Ludlow in (2007) interprets Donnellan as arguing that in

Kripke (1977) responded to Donnellan by arguing that the Russellian account of definite descriptions could, by itself, account for both referential and attributive uses, and that the difference between the two cases could be entirely a matter of pragmatics, because there is an important distinction between what one literally says by an utterance and what one intends to communicate by that utterance. Neale (1990) supported Russell's view by collecting a number of previously observed cases in which intuitions about truth conditions clearly do not support Strawson's view. On the other hand, a number of linguists have recently come to Strawson's defence on this matter. For a detailed survey of the arguments supporting Strawson's view and also arguments supporting Russell's, see (Ludlow, 2007). Here it might suffice to say that Strawson's concerns have not delivered a knock-out blow to Russell's theory of descriptions, and so this topic remains very much alive. Recently, von Fintel in (2004) argues that every sentence containing a definite description 'the *F*' comes with the existential presupposition that there be a unique *F*. For instance, he argues against the standpoint that the sentence "Last week, my friend went for a drive with the king of France" is false. He claims that this sentence presupposes that there be a king of France and

8 Nevertheless, for Strawson, *sentences* are meaningful in and of themselves, independently of the

some cases descriptions are Russellian and in other cases they are Strawsonian.

that in the technical sense the sentence has no truth-value.

empirical facts like contingent non-existence of the King of France.

Suppose, for example, that in some country there was a law that no person could hold public office if he considered it false that the Ruler of the Universe is wise. I think an avowed atheist who took advantage of Mr. Strawson's doctrine to say that he did not hold this proposition false would be regarded as a somewhat shifty

determinate truth value.8

the sentence was in fact false:

character. (Russell, 1957)

In this chapter I am not going to take into account Kripke's pragmatic factors like the intentions of a speaker. In other words, I am not going to take into account what a speaker might have meant by his/her utterance, for this is irrelevant to a *logical* semantic theory. So I am disregarding Donnellan's troublesome notion of having somebody in mind. Instead, I will propose a *literal semantic analysis* of sentences of the form "The *F* is a G". What I want to show is this. First, definite descriptions are not deprived of a self-contained meaning and they denote one and the same entity in any context. Thus they are never Russellian. Second, Russell's insight that a definite description 'the *F*' does not denote a definite individual is spot-on. Rather, according to TIL, 'the *F*' denotes a *condition* to be contingently satisfied by the individual (if any) that happens to be the *F.* I will explicate such conditions in terms of possible-world intensions, *viz.* as individual roles or offices to be occupied by at most one individual per world/time pair. Third, I am going to show that Donnellan was right that sentences of the form "The *F* is a *G*" are ambiguous. However, their ambiguity does not concern a shift of meaning of the definite description 'the *F*'. Rather, the ambiguity concerns different *topic-focus* articulations of these sentences. There are two options. The description 'the *F*' may occur in the topic of a sentence and property *G* (the focus) is predicated of the topic. This case corresponds to Donnellan's *referential* use; using medieval terminology I will say that 'the *F*' occurs with *de re* supposition. The other option is '*G*' occurring as topic and 'the *F*' as focus. This reading corresponds to Donnellan's *attributive* use of 'the *F*' and the description occurs with *de dicto* supposition. Consequently, such sentences are ambiguous between their *de dicto* and *de re* readings. On their *de re* reading they *presuppose* the existence of a unique *F*. Thus Strawson's analysis appears to be adequate for *de re* cases. On their *de dicto* reading they have the truth-conditions as specified by the Russellian analysis. They do not presuppose, but only entail, the existence of a unique *F*. However, the Russellian analysis, though being equivalent to the one I am going to propose, is not an adequate literal analysis of *de dicto* readings.

I am going to bring out the *semantic* nature of the topic-focus difference by means of a logical analysis. As a result, I will furnish sentences differing only in their topic-focus articulation with different structured meanings producing different possible-world propositions.9 Moreover, the proposed solution of the problem of definite descriptions generalizes to any sentences differing in their topic-focus articulation. Thus I am going to introduce a *general analytic schema* of sentences that come with a presupposition. Since our logic is a hyperintensional logic of *partial functions*, I am able to analyse sentences with presuppositions in a natural way. It means that I furnish them with hyperpropositions, *viz.* procedures that produce partial possible-world propositions, which occasionally yield truthvalue gaps. 10

## **3. Foundations of TIL**

TIL is an overarching semantic theory for all sorts of discourse, whether colloquial, scientific, mathematical or logical. The theory is a *procedural* (as opposed to denotational) one, according to which sense is an abstract, extra-linguistic procedure detailing what operations to apply to what procedural constituents to arrive at the product (if any) of the

<sup>9</sup> For details on structured meanings, see (Duží, et al., 2010b).

<sup>10</sup> For an introduction to the notion of hyperproposition, see (Jespersen, 2010).

Resolving Topic-Focus Ambiguities in Natural Language 245

senses as well as modes of presentation of objects and are our hyperintensions. While the Frege-Church connection makes it obvious that constructions are not formulae, it is crucial to emphasize that constructions are not functions(-in-extension), either. They might be explicated as Church's 'functions-in-intension', but we do not use the term 'function-in-intension', because Church did no define it (he only characterized functionsin-intension as rules for presenting functions-in-extension). Rather, technically speaking, some constructions are modes of presentation of functions, including 0-place functions such as individuals and truth-values, and the rest are modes of presentation of other constructions. Thus, with constructions of constructions, constructions of functions, functions, and functional values in our stratified ontology, we need to keep track of the traffic between multiple logical strata. The ramified type hierarchy does just that. What is important about this traffic is, first of all, that constructions may themselves figure as functional arguments or values. Thus we consequently need constructions of one order higher in order to present those being arguments or values of functions. With both hyperintensions and possible-world intensions in its ontology, TIL has no trouble assigning either hyperintensions or intensions to variables as their values. However, the technical challenge of operating on constructions requires two (occasionally three) interrelated, non-standard devices. The first is *Trivialization*, which is an atomic construction, whose only constituent part is itself. The second is the function *Sub* (for 'substitution'). (The third is the function *Tr* (for 'Trivialization'), which takes an object to its Trivialization.) We say that Trivialization is *used* to *mention* other constructions.15 The point of mentioning a construction is to make it, rather than what it presents, a functional argument. Hence for a construction to be mentioned is for it to be Trivialized; in this way

the context is raised up to a hyperintensional level.

Fig. 1. TIL semantic schema.

Our neo-Fregean semantic schema, which applies to all contexts, is this triangulation:

*expresses constructs* 

reveal that the construction fails to construct anything by being *improper*.

 *Expression Construction Denotation* 

*denotes* 

The most important relation in this schema is between an expression and its meaning, i.e., a construction. Once *constructions* have been defined, we can logically examine them; we can investigate *a priori* what (if anything) a construction constructs and what is entailed by it. Thus meanings/constructions are semantically primary, denotations secondary, because an expression denotes an object (if any) *via* its meaning that is a construction *expressed* by the expression. Once a construction is explicitly given as a result of logical analysis, the entity (if any) it constructs is already implicitly given. As a limiting case, the logical analysis may

15 The use/mention distinction normally applies only to *words*; in TIL it applies to the *meanings* of words (i.e., constructions). See (Duží, et al., 2010a, §2.6). In theory, a construction may be mentioned by another construction than Trivialization; but in this chapter we limit ourselves to Trivialization.

procedure. Such procedures are rigorously defined as TIL *constructions*. The semantics is tailored to the hardest case, as constituted by hyperintensional contexts, and generalized from there to simpler intensional and extensional contexts. This entirely anti-contextual and compositional semantics is, to the best of my knowledge, the only one that deals with all kinds of context in a uniform way. Thus we can characterize TIL as an extensional logic of hyperintensions.11 The sense of an empirical sentence is an algorithmically structured *construction* of the proposition denoted by the sentence. The denoted proposition is a flat, or unstructured, mapping with domain in a logical space of possible worlds. Our motive for working 'top-down' has to do with anti-contextualism: any given unambiguous term or expression (even one involving indexicals or anaphoric pronouns) expresses the same construction as its sense whatever sort of context the term or expression is embedded within. And the meaning of an expression determines the respective denoted entity (if any), but not vice versa. The denoted entities are (possibly 0-ary) functions understood as settheoretical mappings. Thus we strictly distinguish between a procedure (construction) and its product (here, a constructed function), and between a function and its value. What makes TIL suitable for the job of disambiguation is the fact that the theory construes the semantic properties of the sense and denotation relations as remaining invariant across different sorts of linguistic contexts.12 Thus logical analysis disambiguates ambiguous expressions in such a way that an ambiguous expression is furnished with more than one context-invariant meaning that is TIL construction. However, *logical* analysis cannot dictate *which*  disambiguation is the intended one. It falls to *pragmatics* to select the intended one.

#### **3.1 Semantic foundations of TIL**

The context-invariant semantics of TIL is obtained by universalizing Frege's referenceshifting semantics custom-made for 'indirect' contexts.13 The upshot is that it becomes trivially true that all contexts are transparent, in the sense that pairs of terms that are codenoting outside an indirect context remain co-denoting inside an indirect context and vice versa. In particular, definite descriptions that only contingently describe the same individual never qualify as co-denoting.14 Our term for the extra-semantic, factual relation of contingently describing the same entity is '*reference*', whereas '*denotation*' stands for the intra-semantic, pre-factual relation between two words that pick out the same entity at the same world/time-pairs.

The syntax of TIL is Church's (higher-order) typed -calculus, but with the all-important difference that the syntax has been assigned a *procedural* (as opposed to denotational) semantics. Thus, abstraction transforms into the molecular procedure of forming a function, application into the molecular procedure of applying a function to an argument, and variables into atomic procedures for arriving at their values. Furthermore, TIL constructions represent our interpretation of Frege's notion of *Sinn* (with the exception that constructions are not truth-bearers; instead some present either truth-values or truthconditions) and are kindred to Church's notion of *concept*. Constructions are linguistic

<sup>11</sup> For the most recent application, see (Duží & Jespersen, fothcoming).

<sup>12</sup> *Indexicals* being the only exception: while the sense of an indexical remains constant, its denotation varies in keeping with its contextual embedding. See (Duží et al., 2010a, § 3.4).

<sup>13</sup> See (Frege, 1892).

<sup>14</sup> See Definition 7.

procedure. Such procedures are rigorously defined as TIL *constructions*. The semantics is tailored to the hardest case, as constituted by hyperintensional contexts, and generalized from there to simpler intensional and extensional contexts. This entirely anti-contextual and compositional semantics is, to the best of my knowledge, the only one that deals with all kinds of context in a uniform way. Thus we can characterize TIL as an extensional logic of hyperintensions.11 The sense of an empirical sentence is an algorithmically structured *construction* of the proposition denoted by the sentence. The denoted proposition is a flat, or unstructured, mapping with domain in a logical space of possible worlds. Our motive for working 'top-down' has to do with anti-contextualism: any given unambiguous term or expression (even one involving indexicals or anaphoric pronouns) expresses the same construction as its sense whatever sort of context the term or expression is embedded within. And the meaning of an expression determines the respective denoted entity (if any), but not vice versa. The denoted entities are (possibly 0-ary) functions understood as settheoretical mappings. Thus we strictly distinguish between a procedure (construction) and its product (here, a constructed function), and between a function and its value. What makes TIL suitable for the job of disambiguation is the fact that the theory construes the semantic properties of the sense and denotation relations as remaining invariant across different sorts of linguistic contexts.12 Thus logical analysis disambiguates ambiguous expressions in such a way that an ambiguous expression is furnished with more than one context-invariant meaning that is TIL construction. However, *logical* analysis cannot dictate *which* 

disambiguation is the intended one. It falls to *pragmatics* to select the intended one.

The context-invariant semantics of TIL is obtained by universalizing Frege's referenceshifting semantics custom-made for 'indirect' contexts.13 The upshot is that it becomes trivially true that all contexts are transparent, in the sense that pairs of terms that are codenoting outside an indirect context remain co-denoting inside an indirect context and vice versa. In particular, definite descriptions that only contingently describe the same individual never qualify as co-denoting.14 Our term for the extra-semantic, factual relation of contingently describing the same entity is '*reference*', whereas '*denotation*' stands for the intra-semantic, pre-factual relation between two words that pick out the same entity at the

The syntax of TIL is Church's (higher-order) typed -calculus, but with the all-important difference that the syntax has been assigned a *procedural* (as opposed to denotational) semantics. Thus, abstraction transforms into the molecular procedure of forming a function, application into the molecular procedure of applying a function to an argument, and variables into atomic procedures for arriving at their values. Furthermore, TIL constructions represent our interpretation of Frege's notion of *Sinn* (with the exception that constructions are not truth-bearers; instead some present either truth-values or truthconditions) and are kindred to Church's notion of *concept*. Constructions are linguistic

<sup>12</sup> *Indexicals* being the only exception: while the sense of an indexical remains constant, its denotation

<sup>11</sup> For the most recent application, see (Duží & Jespersen, fothcoming).

varies in keeping with its contextual embedding. See (Duží et al., 2010a, § 3.4).

**3.1 Semantic foundations of TIL** 

same world/time-pairs.

13 See (Frege, 1892). 14 See Definition 7.

senses as well as modes of presentation of objects and are our hyperintensions. While the Frege-Church connection makes it obvious that constructions are not formulae, it is crucial to emphasize that constructions are not functions(-in-extension), either. They might be explicated as Church's 'functions-in-intension', but we do not use the term 'function-in-intension', because Church did no define it (he only characterized functionsin-intension as rules for presenting functions-in-extension). Rather, technically speaking, some constructions are modes of presentation of functions, including 0-place functions such as individuals and truth-values, and the rest are modes of presentation of other constructions. Thus, with constructions of constructions, constructions of functions, functions, and functional values in our stratified ontology, we need to keep track of the traffic between multiple logical strata. The ramified type hierarchy does just that. What is important about this traffic is, first of all, that constructions may themselves figure as functional arguments or values. Thus we consequently need constructions of one order higher in order to present those being arguments or values of functions. With both hyperintensions and possible-world intensions in its ontology, TIL has no trouble assigning either hyperintensions or intensions to variables as their values. However, the technical challenge of operating on constructions requires two (occasionally three) interrelated, non-standard devices. The first is *Trivialization*, which is an atomic construction, whose only constituent part is itself. The second is the function *Sub* (for 'substitution'). (The third is the function *Tr* (for 'Trivialization'), which takes an object to its Trivialization.) We say that Trivialization is *used* to *mention* other constructions.15 The point of mentioning a construction is to make it, rather than what it presents, a functional argument. Hence for a construction to be mentioned is for it to be Trivialized; in this way the context is raised up to a hyperintensional level.

Our neo-Fregean semantic schema, which applies to all contexts, is this triangulation:

Fig. 1. TIL semantic schema.

The most important relation in this schema is between an expression and its meaning, i.e., a construction. Once *constructions* have been defined, we can logically examine them; we can investigate *a priori* what (if anything) a construction constructs and what is entailed by it. Thus meanings/constructions are semantically primary, denotations secondary, because an expression denotes an object (if any) *via* its meaning that is a construction *expressed* by the expression. Once a construction is explicitly given as a result of logical analysis, the entity (if any) it constructs is already implicitly given. As a limiting case, the logical analysis may reveal that the construction fails to construct anything by being *improper*.

<sup>15</sup> The use/mention distinction normally applies only to *words*; in TIL it applies to the *meanings* of words (i.e., constructions). See (Duží, et al., 2010a, §2.6). In theory, a construction may be mentioned by another construction than Trivialization; but in this chapter we limit ourselves to Trivialization.

Resolving Topic-Focus Ambiguities in Natural Language 247

v. The *Single Execution* 1*X* is the *construction* that either *v-*constructs the entity *v*constructed by *X* or, if *X v*-constructs nothing, is *v-improper* (yielding nothing relative to

vi. The *Double Execution* 2*X* is the following *construction*. Where *X* is any entity, the *Double Execution* 2*X* is *v-improper* (yielding nothing relative to *v*) if *X* is not itself a construction, or if *X* does not *v-*construct a construction, or if *X v-*constructs a *v-*improper construction. Otherwise, let *X v-*construct a construction *Y* and *Y v-*construct an entity

i. Let *x* be a variable ranging over a type of order *n*. Then *x* is a *construction of order n over* 

ii. Let *X* be a member of a type of order *n*. Then 0*X*, 1*X*, 2*X* are *constructions of order n over B.*  iii. Let *X, X*1,..., *Xm* (*m* > 0) be constructions of order *n* over *B*. Then [*X X*1... *Xm*] is a

iv. Let *x*1,...*xm*, *X* (*m* > 0) be constructions of order *n* over *B*. Then [*x*1...*xm X*] is a

**T***<sup>n</sup>***+1** (*types of order n + 1*)*.* Let *n* be the collection of all constructions of order *n* over *B*. Then

ii. If 0 < *m* and , 1,...,*m* are types of order *n* + 1 over *B*, then ( 1 ... *m*)

*Remark*. For the purposes of natural-language analysis, we are currently assuming the

Empirical languages incorporate an element of *contingency*, because they denote *empirical conditions* that may or may not be satisfied at some world/time pair of evaluation. Nonempirical languages (in particular the language of mathematics) have no need for an additional category of expressions for empirical conditions. We model these empirical conditions as *possible-world intensions.* They are entities of type (): mappings from possible worlds to an arbitrary type . The type is frequently the type of the *chronology* of -objects, i.e., a mapping of type (). Thus -intensions are frequently functions of type (()), abbreviated as ''. *Extensional entities* are entities of a type where () for any type . *Examples* of frequently used intensions are: *propositions* of type , *properties of individuals* of type (), binary *relations-in-intension* between individuals of type (), *individual* 

following base of ground types, which is part of the ontological commitments of TIL:

v. Nothing is a *construction of order n over B* unless it so follows from **C***<sup>n</sup>* (i)-(iv).

Nothing is a *type of order n + 1 over B* unless it so follows from **T***n+***1** (i) and (ii).

*v*).

*B.*

*Z*: then 2*X v-*constructs *Z.*

**T1** (*types of order 1*). See Definition 1.

*construction of order n over B.*

*construction of order n over B*.

i. *n* and every type of order *n* are *types of order n +* 1.

ι: the set of individuals (the universe of discourse); τ: the set of real numbers (doubling as discrete times); ω: the set of logically possible worlds (the logical space).

(see T1 ii)) is a *type of order n* + 1 *over B*.

ο: the set of truth-values {**T, F**};

**Cn** (*constructions of order n*)

**Definition 3** (ramified hierarchy of types)

Nothing is a *construction*, unless it so follows from (i) through (vi).

## **3.2 Logical foundations of TIL**

In this section we set out the definitions of *first-order types* (regimented by a simple type theory), *constructions*, and *higher-order types* (regimented by a ramified type hierarchy), which taken together form the nucleus of TIL, accompanied by some auxiliary definitions.

The type of first-order object includes all objects that are not constructions. Therefore, it includes not only the standard objects of individuals, truth-values, sets, etc., but also functions defined on possible worlds (i.e., the intensions germane to possible-world semantics). Sets, for their part, are always characteristic functions and insofar extensional entities. But the domain of a set may be typed over higher-order objects, in which case the relevant set is itself a higher-order object. Similarly for other functions, including relations, with domain or range in constructions. That is, whenever constructions are involved, we find ourselves in the ramified type hierarchy.16 The definition of the ramified hierarchy of types decomposes into three parts: firstly, simple types of order 1; secondly, constructions of order *n*; thirdly, types of order *n +* 1.

**Definition 1** (*types of order 1*)**.** Let *B* be a *base*, where a base is a collection of pair-wise disjoint, non-empty sets. Then:


Nothing is a *type of order 1 over B* unless it so follows from (i) and (ii).

### **Definition 2** (*construction*)


 16 Attempting to type constructions within the simple type theory (as though constructions were firstorder objects) is the source of some misconceptions of TIL found in (Daley 2010).


Nothing is a *construction*, unless it so follows from (i) through (vi).

**Definition 3** (ramified hierarchy of types)

**T1** (*types of order 1*). See Definition 1.

**Cn** (*constructions of order n*)

246 Semantics in Action – Applications and Scenarios

In this section we set out the definitions of *first-order types* (regimented by a simple type theory), *constructions*, and *higher-order types* (regimented by a ramified type hierarchy), which taken together form the nucleus of TIL, accompanied by some auxiliary

The type of first-order object includes all objects that are not constructions. Therefore, it includes not only the standard objects of individuals, truth-values, sets, etc., but also functions defined on possible worlds (i.e., the intensions germane to possible-world semantics). Sets, for their part, are always characteristic functions and insofar extensional entities. But the domain of a set may be typed over higher-order objects, in which case the relevant set is itself a higher-order object. Similarly for other functions, including relations, with domain or range in constructions. That is, whenever constructions are involved, we find ourselves in the ramified type hierarchy.16 The definition of the ramified hierarchy of types decomposes into three parts: firstly, simple types of order 1; secondly, constructions of

**Definition 1** (*types of order 1*)**.** Let *B* be a *base*, where a base is a collection of pair-wise

ii. Let α, β1, ..., β*<sup>m</sup>* (*m* > 0) be types of order 1 over *B*. Then the collection (α β1 ... β*m*) of all *m-*ary partial mappings from β<sup>1</sup> ... β*<sup>m</sup>* into α is a functional *type of* 

i. The *Variable x* is a *construction* that constructs an object *X* of the respective type

ii. *Trivialization*: Where *X* is an object whatsoever (an extension, an intension or a *construction*), 0*X* is the *construction Trivialization.* It constructs *X* without any change. *iii.* The *Composition* [*X Y*1…*Ym*] is the following *construction*. If *X v*-*constructs* a function *f* of a type (αβ1…β*m*), and *Y*1, …, *Ym v*-*construct* entities B1, …, B*<sup>m</sup>* of types β1, …, β*m*, respectively, then the *Composition* [*X Y*1…*Ym*] *v-constructs* the value (an entity, if any, of type α) of *f* on the tuple-argument B1, …, B*m*. Otherwise the *Composition* [*X Y*1…*Ym*]

iv. The *Closure* [λ*x*1…*xm Y*] is the following *construction*. Let *x*1, *x*2, …, *xm* be pair-wise distinct variables *v-*constructing entities of types β1, …, β*<sup>m</sup>* and *Y* a construction *v*constructing an α-entity. Then [λ*x*1 … *xm Y*] is the *construction* λ-*Closure* (or *Closure*). It *vconstructs* the following function *f* of the type (αβ1…β*m*). Let *v*(B1/*x*1,…,B*m*/*xm*) be a valuation identical with *v* at least up to assigning objects B1/β1, …, B*m*/β*<sup>m</sup>* to variables *x*1, …, *xm*. If *Y* is *v*(B1/*x*1,…,B*m*/*xm*)-improper (see iii), then *f* is undefined on the argument B1, …, B*m*. Otherwise the value of *f* on B1, …, B*m* is the α-entity

16 Attempting to type constructions within the simple type theory (as though constructions were first-

order objects) is the source of some misconceptions of TIL found in (Daley 2010).

**3.2 Logical foundations of TIL** 

order *n*; thirdly, types of order *n +* 1.

i. Every member of *B* is an elementary *type of order 1 over B.*

dependently on a valuation *v*; *x v-*constructs *X*.

does not *v-construct* anything and so is *v*-*improper.* 

*v*(B1/*x*1,…,B*m*/*xm*)-constructed by *Y*.

Nothing is a *type of order 1 over B* unless it so follows from (i) and (ii).

disjoint, non-empty sets. Then:

order *1 over B.*

**Definition 2** (*construction*)

definitions.


**T***<sup>n</sup>***+1** (*types of order n + 1*)*.* Let *n* be the collection of all constructions of order *n* over *B*. Then


Nothing is a *type of order n + 1 over B* unless it so follows from **T***n+***1** (i) and (ii).

*Remark*. For the purposes of natural-language analysis, we are currently assuming the following base of ground types, which is part of the ontological commitments of TIL:


Empirical languages incorporate an element of *contingency*, because they denote *empirical conditions* that may or may not be satisfied at some world/time pair of evaluation. Nonempirical languages (in particular the language of mathematics) have no need for an additional category of expressions for empirical conditions. We model these empirical conditions as *possible-world intensions.* They are entities of type (): mappings from possible worlds to an arbitrary type . The type is frequently the type of the *chronology* of -objects, i.e., a mapping of type (). Thus -intensions are frequently functions of type (()), abbreviated as ''. *Extensional entities* are entities of a type where () for any type . *Examples* of frequently used intensions are: *propositions* of type , *properties of individuals* of type (), binary *relations-in-intension* between individuals of type (), *individual* 

Resolving Topic-Focus Ambiguities in Natural Language 249

To illustrate the method, we analyse the notorious sentence "The King of France is bald" in the Strawsonian way. The sentence talks about the office of the King of France (topic) ascribing to the individual (if any) that occupies this office the property of being bald (focus). Thus it is presupposed that the King of France exist, i.e., that the office be occupied. If it is not, then the proposition denoted by the sentence has no truth-value.17 This fact has to

*Ad (1) King\_of*/(): an empirical function that dependently on *w*, *t*-pairs assigns to one individual (a country) another individual (its king); *France*/; *King\_of\_France*/;

*Ad* (2) and (3). For the sake of simplicity, I will demonstrate the steps (2) and (3) simultaneously. In the second step we combine the *constructions* of the objects *ad (1)* in order to construct the proposition (of type ) denoted by the whole sentence. Since we intend to arrive at the *literal* analysis of the sentence, the objects denoted by the semantically simple expressions are constructed by their Trivialisations: 0*King\_of*, 0*France*, <sup>0</sup>*Bald.* In order to construct the office *King\_of\_France*, we have to combine 0*King\_of* and <sup>0</sup>*France*. The function *King\_of* must be extensionalised first *via* the Composition 0*King\_ofwt v* (), and the result is then applied to *France*; we get [0*King\_ofwt* 0*France*] *<sup>v</sup>* . Abstracting over the values of *w* and *t* we obtain the Closure that constructs the office: *wt* [0*King\_ofwt* 0*France*] . But the property of being bald cannot be ascribed to an individual office. Rather, it is ascribed to the individual (if any) occupying the office. Thus the office has to be subjected to intensional descent first: *wt* [0*King\_ofwt* 0*France*]*wt <sup>v</sup>* . The property itself has to be extensionalised as well: 0*Baldwt.* By Composing these two constructions, we obtain either a truth-value (**T** or **F**) or nothing, according as the King of France is, or is not, bald, or does not exist, respectively. Finally, by abstracting over the

King\_of

*Gloss*. In *any* world (*w*) at *any* time (*t*) do this. First, find out who is the King of France: [0*King\_ofwt* 0*France*]. If there is none, then terminate with a truth-value gap because the Composition [0*King\_ofwt* 0*France*] is *v-*improper. Otherwise, check whether the so obtained individual has the property of being bald: [0*Baldwt* [0*King\_ofwt* 0*France*]]. If he is, then **T**, otherwise **F**. So much for the method of analysis and the semantic schema of the logic of TIL.

Now I am going to propose a solution to the Strawson-Russell standoff. In other words, I am going to analyse the phenomena of presupposition and entailment connected with using definite descriptions with supposition *de dicto* or *de re*, and I will show how the topic-focus

17 On our approach this does not mean that the sentence is meaningless. The sentence has a sense, namely an instruction of how to evaluate in any possible world *w* at any time *t* its truth-conditions. (Such instructions are encoded in our language of constructions.) Only if we evaluate these conditions in such a state-of-affairs where there is no King of France does the process of evaluation yield a truth-

wt 0 France]wt]

be revealed by our analysis. Here is how.

values of the variables *w* and *t*, we construct the proposition:

**4. Definite descriptions: Strawsonian or Russellian?** 

distinction determines which of the two cases applies.

wt [0 Baldwt wt[0

*Bald*/().

value gap.

*offices/roles* of type . Our *explicit intensionalization and temporalization* enables us to encode constructions of possible-world intensions, by means of terms for possible-world variables and times, directly in the logical syntax. Where variable *w* ranges over possible worlds (type ) and *t* over times (type ), the following logical form essentially characterizes the logical syntax of any empirical language: *wt* […*w*….*t*…]. Where is the type of the object *v*constructed by […*w*….*t*…], by abstracting over the values of variables *w* and *t* we construct a function from worlds to a partial function from times to , that is a function of type ((τ)), or '<sup>τ</sup>' for short.

Logical objects like *truth-functions* and *quantifiers* are extensional: (conjunction), (disjunction) and (implication) of type (), and (negation) of type (). The *quantifiers*  , are type-theoretically polymorphous functions of type (()), for an arbitrary type , defined as follows. The *universal quantifier* is a function that associates a class *A* of elements with **T** if *A* contains all elements of the type , otherwise with **F**. The *existential quantifier* is a function that associates a class *A* of -elements with **T** if *A* is a non-empty class, otherwise with **F**. Another kind of partial polymorphic function we need is the *Singularizer* I of type (()). A singularizer is a function that associates a singleton *S* with the only member of *S*, and is otherwise (i.e. if *S* is an empty set or a multi-element set) undefined.

Below all type indications will be provided outside the formulae in order not to clutter the notation. Furthermore, '*X*/' means that an object *X* is (a member) of type . '*X <sup>v</sup>* ' means that the type of the object *v*-constructed by *X* is . We write '*X*  ' if what is *v*constructed does not depend on a valuation *v*. This holds throughout: *w <sup>v</sup>* and *t <sup>v</sup>* . If *C <sup>v</sup>* then the frequently used Composition [[*C w*] *t*], which is the intensional descent (a.k.a. extensionalization) of the -intension *v-*constructed by *C*, will be encoded as '*Cwt*'. When using constructions of truth-functions, we often omit Trivialisation and use infix notation to conform to standard notation in the interest of better readability. Also when using constructions of identities of -entities, =/(), we omit Trivialization, the type subscript, and use infix notion when no confusion can arise. For instance, instead of

$$\{\{0\} \supset [0 = \iota \ a \ b] \mid [0 =\_{((\lwr)a)} \lambda zw \lambda t \; [P\_{wt}a] \; \lambda zw \lambda t \; [P\_{wt}b] \} \}'$$

where =/() is the identity of individuals and =(())/() the identity of propositions; *a*, *b* constructing objects of type , *P* objects of type (), we write

$$\{\{\left[a=b\right]\Rightarrow\left[\lambda zw\lambda t\left[P\_{wt}\;a\right]=\lambda zw\lambda t\left[P\_{wt}\;b\right]\}\}'\}\}$$

We invariably furnish expressions with procedural structured meanings, which are explicated as TIL constructions. The analysis of an unambiguous sentence thus consists in discovering the logical construction encoded by a given sentence. The *TIL method of analysis* consists of three steps:


*offices/roles* of type . Our *explicit intensionalization and temporalization* enables us to encode constructions of possible-world intensions, by means of terms for possible-world variables and times, directly in the logical syntax. Where variable *w* ranges over possible worlds (type ) and *t* over times (type ), the following logical form essentially characterizes the logical syntax of any empirical language: *wt* […*w*….*t*…]. Where is the type of the object *v*constructed by […*w*….*t*…], by abstracting over the values of variables *w* and *t* we construct a function from worlds to a partial function from times to , that is a function of type

Logical objects like *truth-functions* and *quantifiers* are extensional: (conjunction), (disjunction) and (implication) of type (), and (negation) of type (). The *quantifiers* 

elements with **T** if *A* contains all elements of the type , otherwise with **F**. The *existential* 

class, otherwise with **F**. Another kind of partial polymorphic function we need is the

the only member of *S*, and is otherwise (i.e. if *S* is an empty set or a multi-element set)

Below all type indications will be provided outside the formulae in order not to clutter the notation. Furthermore, '*X*/' means that an object *X* is (a member) of type . '*X <sup>v</sup>* ' means that the type of the object *v*-constructed by *X* is . We write '*X*  ' if what is *v*constructed does not depend on a valuation *v*. This holds throughout: *w <sup>v</sup>* and *t <sup>v</sup>* . If *C <sup>v</sup>* then the frequently used Composition [[*C w*] *t*], which is the intensional descent (a.k.a. extensionalization) of the -intension *v-*constructed by *C*, will be encoded as '*Cwt*'. When using constructions of truth-functions, we often omit Trivialisation and use infix notation to conform to standard notation in the interest of better readability. Also when using constructions of identities of -entities, =/(), we omit Trivialization, the type

subscript, and use infix notion when no confusion can arise. For instance, instead of

*a*, *b* constructing objects of type , *P* objects of type (), we write

'[0 [0= *a b*] [0=(()) *wt* [*Pwt a*] *wt* [*Pwt b*]]]' where =/() is the identity of individuals and =(())/() the identity of propositions;

'[[*a = b*] [*wt* [*Pwt a*] = *wt* [*Pwt b*]]]'. We invariably furnish expressions with procedural structured meanings, which are explicated as TIL constructions. The analysis of an unambiguous sentence thus consists in discovering the logical construction encoded by a given sentence. The *TIL method of analysis*

1. *Type-theoretical analysis*, i.e., assigning types to the objects that receive mention in the

2. *Type-theoretical synthesis*, i.e., combining the constructions of the objects *ad* (1) in order to

3. *Type-theoretical checking*, i.e. checking whether the proposed analysans is type-

construct the proposition of type denoted by the whole sentence.

are type-theoretically polymorphous functions of type (()), for an arbitrary type ,

is a function that associates a class *A* of -elements with **T** if *A* is a non-empty

of type (()). A singularizer is a function that associates a singleton *S* with

is a function that associates a class *A* of -

((τ)), or '<sup>τ</sup>' for short.

defined as follows. The *universal quantifier*

 ,

*quantifier*

*Singularizer* I

undefined.

consists of three steps:

analysed sentence.

theoretically coherent.

To illustrate the method, we analyse the notorious sentence "The King of France is bald" in the Strawsonian way. The sentence talks about the office of the King of France (topic) ascribing to the individual (if any) that occupies this office the property of being bald (focus). Thus it is presupposed that the King of France exist, i.e., that the office be occupied. If it is not, then the proposition denoted by the sentence has no truth-value.17 This fact has to be revealed by our analysis. Here is how.

*Ad (1) King\_of*/(): an empirical function that dependently on *w*, *t*-pairs assigns to one individual (a country) another individual (its king); *France*/; *King\_of\_France*/; *Bald*/().

*Ad* (2) and (3). For the sake of simplicity, I will demonstrate the steps (2) and (3) simultaneously. In the second step we combine the *constructions* of the objects *ad (1)* in order to construct the proposition (of type ) denoted by the whole sentence. Since we intend to arrive at the *literal* analysis of the sentence, the objects denoted by the semantically simple expressions are constructed by their Trivialisations: 0*King\_of*, 0*France*, <sup>0</sup>*Bald.* In order to construct the office *King\_of\_France*, we have to combine 0*King\_of* and <sup>0</sup>*France*. The function *King\_of* must be extensionalised first *via* the Composition 0*King\_ofwt v* (), and the result is then applied to *France*; we get [0*King\_ofwt* 0*France*] *<sup>v</sup>* . Abstracting over the values of *w* and *t* we obtain the Closure that constructs the office: *wt* [0*King\_ofwt* 0*France*] . But the property of being bald cannot be ascribed to an individual office. Rather, it is ascribed to the individual (if any) occupying the office. Thus the office has to be subjected to intensional descent first: *wt* [0*King\_ofwt* 0*France*]*wt <sup>v</sup>* . The property itself has to be extensionalised as well: 0*Baldwt.* By Composing these two constructions, we obtain either a truth-value (**T** or **F**) or nothing, according as the King of France is, or is not, bald, or does not exist, respectively. Finally, by abstracting over the values of the variables *w* and *t*, we construct the proposition:

$$\{\mathsf{XwN}t \: \ulcorner \!\!\!\/^0 \mathsf{B}\mathsf{a}\mathsf{I}\mathsf{d}\mathsf{w}\mathsf{t} \ \mathsf{XwN}t \: \!\!\!\/^0 \mathsf{K}\mathsf{i}\mathsf{n}\mathsf{g}\mathsf{s}\mathsf{t} \: \!\!\!\/^0 \mathsf{F}\mathsf{r}\mathsf{a}\mathsf{c}\mathsf{e}\mathsf{i}\}\}$$

*Gloss*. In *any* world (*w*) at *any* time (*t*) do this. First, find out who is the King of France: [0*King\_ofwt* 0*France*]. If there is none, then terminate with a truth-value gap because the Composition [0*King\_ofwt* 0*France*] is *v-*improper. Otherwise, check whether the so obtained individual has the property of being bald: [0*Baldwt* [0*King\_ofwt* 0*France*]]. If he is, then **T**, otherwise **F**. So much for the method of analysis and the semantic schema of the logic of TIL.

## **4. Definite descriptions: Strawsonian or Russellian?**

Now I am going to propose a solution to the Strawson-Russell standoff. In other words, I am going to analyse the phenomena of presupposition and entailment connected with using definite descriptions with supposition *de dicto* or *de re*, and I will show how the topic-focus distinction determines which of the two cases applies.

<sup>17</sup> On our approach this does not mean that the sentence is meaningless. The sentence has a sense, namely an instruction of how to evaluate in any possible world *w* at any time *t* its truth-conditions. (Such instructions are encoded in our language of constructions.) Only if we evaluate these conditions in such a state-of-affairs where there is no King of France does the process of evaluation yield a truthvalue gap.

Resolving Topic-Focus Ambiguities in Natural Language 251

Truewt P] [0

Falsewt P] [0

Truewt P] [0

Hence, though we work with truth-value gaps, we do not work with a third truth-value,

Above we analysed the sentence "The King of France is bald" on its perhaps most natural reading as predicating the property of being bald (the focus) of the individual (if any) that is the present King of France (the topic). Yet there is another, albeit less natural reading of the sentence. Imagine that the sentence is uttered in a situation when we are talking about baldness, and somebody asks "Who is bald?" The answer might be "Well, among those who are bald there is the present King of France". If you got such an answer, you would most probably protest, "This cannot be true, for there is no King of France now". On such a reading the sentence is about baldness (topic) claiming that this property is instantiated, among others, by the King of France *(*focus*)*. Since there are no rigorous grammatical rules in English to distinguish between the two variants, the input of our *logical* analysis is the result of a *linguistic* analysis, where the topic and focus of a sentence are made explicit.20 In this chapter I will mark the topic clause in italics. The two readings of the above sentence

> King\_ofwt 0 France]wt]

The meaning of 'the King of France', *viz. wt* [0*King\_ofwt* 0*France*], occurs in (S) with *de re*  supposition, because the object of predication is the unique *value* in a *w*, *t*-pair of evaluation of the office rather than the office itself.21 The following *two de re principles* are satisfied: the principle of *existential presupposition* and the principle of *substitution of co-*

> *The King of France* is/is not bald The King of France exists

20 For instance, the Prague linguistic school created The Prague Dependency Treebank for the Czech language, which contains a large amount of Czech texts with complex and interlink annotation on different levels. The tectogrammatical representation contains the semantic structure of sentences with

21 For details on *de dicto* vs. *de re* supposition, see (Duží *et al.*, 2010a), esp. §§ 1.5.2 and 2.6.2, and also

*referential* expressions*.* Thus the following arguments are valid (though not sound):

Falsewt P]]

Undefwt P]]

Undefwt P]]

Thus we have:

are:

(Duží 2004).

[0

[0 Truewt P] = [[0

[0 Falsewt P] = [[0

(S) "*The King of France* is bald" (Strawsonian) and (R) "The King of France is *bald*" (Russellian).

> wt [0 Baldwt wt[0

topic-focus annotators. For details, see *http://ufal.mff.cuni.cz/pdt2.0/*.

and our logic is in this weak sense bivalent.

**4.2 The King of France revisited** 

The analysis of (S) is as above:

Undefwt P] = [[0

### **4.1 Topic-focus ambiguity**

When used in a communicative act, a sentence communicates something (the focus *F*) about something (the topic *T*). Thus the schematic structure of a sentence is *F(T).* The topic *T* of a sentence *S* is often associated with a presupposition *P* of *S* such that *P* is entailed both by *S*  and *non-S.* On the other hand, the clause in the focus usually occasions a mere entailment of some *P* by *S*. To give an example, consider the sentence "Our defeat was caused by John".18 There are two possible readings of this sentence. Taken one way, the sentence is about our defeat, conveying the snippet of information that it was caused by John. In such a situation the sentence is associated with the presupposition that we were defeated. Indeed, the negated form of the sentence, "Our defeat was not caused by John", also implies that we were defeated. Thus 'our defeat' is the topic and 'was caused by John' the focus clause. Taken the other way, the sentence is about the topic John, ascribing to him the property that he caused our defeat (focus). Now the scenario of truly asserting the negated sentence can be, for instance, the following. Though it is true that John has a reputation for being rather a bad player, Paul was in excellent shape and so we won. Or, another scenario is thinkable. We were defeated, only not because of John but because the whole team performed badly. Hence, our being defeated is not presupposed by this reading, it is only entailed.

Schematically, if ╞ is the relation of entailment, then the logical difference between a mere entailment and a presupposition is this:

*P* is a *presupposition* of *S*: (*S*╞ *P*) and (*non-S*╞ *P*)

 *Corollary*: If *P* is not true, then *neither S nor non-S* is true. Hence, *S* has no truth-value. *P* is only *entailed* by *S*: (*S*╞ *P*) and neither *(non-S*╞ *P)* nor *(non-S*╞ *non-P)* 

 *Corollary*: If *S* is not true, then we cannot deduce anything about the truth-value of *P.*

More precisely, the entailment relation obtains between hyperpropositions *P*, *S*; i.e., the *meaning* of *P* is analytically entailed or presupposed by the *meaning* of *S.* Thus ╞/((*nn*) is defined as follows. Let *CS*, *CP* be constructions assigned to sentences *S*, *P*, respectively, as their meanings. Then *S entails P* (*CS*╞ *CP*) iff the following holds:19

$$\forall \forall \forall t \; \left\lceil \left\lceil \left\lceil True\\_{t} \; \right\rceil \; \right\rceil \; \right\rceil \; \supset \left\lceil \left\lceil True\\_{t} \; \right\rceil \; \right\rceil \; \right\rceil$$

Since we work with properly *partial* functions, we need to apply the propositional property *True*/(), which returns **T** for those *w*, *t*-pairs at which the argument proposition is true, and **F** in all the remaining cases. There are two other propositional properties: *False* and *Undef*, both of type (). The three properties are defined as follows. Let *P* be a propositional construction (*P*/*<sup>n</sup>* ). Then

[0*Truewt P*] *v*-constructs the truth-value **T** iff *Pwt v-*constructs **T**, otherwise **F**. [0*Falsewt P*] *v*-constructs the truth-value **T** iff [*Pwt*] *v-*constructs **T**, otherwise **F**. [0*Undefwt P*] *v*-constructs the truth-value **T** iff

[[0*Truewt P*] [0*Falsewt P*]] *v-*constructs **T**, otherwise **F**.

 18 This and some other examples were taken from Hajičová (2008).

<sup>19</sup> For the general definition of entailment and the difference between analytical and logical entailment, see (Duží 2010).

Thus we have:

250 Semantics in Action – Applications and Scenarios

When used in a communicative act, a sentence communicates something (the focus *F*) about something (the topic *T*). Thus the schematic structure of a sentence is *F(T).* The topic *T* of a sentence *S* is often associated with a presupposition *P* of *S* such that *P* is entailed both by *S*  and *non-S.* On the other hand, the clause in the focus usually occasions a mere entailment of some *P* by *S*. To give an example, consider the sentence "Our defeat was caused by John".18 There are two possible readings of this sentence. Taken one way, the sentence is about our defeat, conveying the snippet of information that it was caused by John. In such a situation the sentence is associated with the presupposition that we were defeated. Indeed, the negated form of the sentence, "Our defeat was not caused by John", also implies that we were defeated. Thus 'our defeat' is the topic and 'was caused by John' the focus clause. Taken the other way, the sentence is about the topic John, ascribing to him the property that he caused our defeat (focus). Now the scenario of truly asserting the negated sentence can be, for instance, the following. Though it is true that John has a reputation for being rather a bad player, Paul was in excellent shape and so we won. Or, another scenario is thinkable. We were defeated, only not because of John but because the whole team performed badly.

Hence, our being defeated is not presupposed by this reading, it is only entailed.

*P* is only *entailed* by *S*: (*S*╞ *P*) and neither *(non-S*╞ *P)* nor *(non-S*╞ *non-P)* 

[0*Truewt P*] *v*-constructs the truth-value **T** iff *Pwt v-*constructs **T**, otherwise **F**. [0*Falsewt P*] *v*-constructs the truth-value **T** iff [*Pwt*] *v-*constructs **T**, otherwise **F**.

their meanings. Then *S entails P* (*CS*╞ *CP*) iff the following holds:19

wt [[0 Truewt CS] [0

18 This and some other examples were taken from Hajičová (2008).

Schematically, if ╞ is the relation of entailment, then the logical difference between a mere

 *Corollary*: If *P* is not true, then *neither S nor non-S* is true. Hence, *S* has no truth-value.

 *Corollary*: If *S* is not true, then we cannot deduce anything about the truth-value of *P.* More precisely, the entailment relation obtains between hyperpropositions *P*, *S*; i.e., the *meaning* of *P* is analytically entailed or presupposed by the *meaning* of *S.* Thus ╞/((*nn*) is defined as follows. Let *CS*, *CP* be constructions assigned to sentences *S*, *P*, respectively, as

Since we work with properly *partial* functions, we need to apply the propositional property *True*/(), which returns **T** for those *w*, *t*-pairs at which the argument proposition is true, and **F** in all the remaining cases. There are two other propositional properties: *False* and *Undef*, both of type (). The three properties are defined as follows. Let *P* be a

[[0*Truewt P*] [0*Falsewt P*]] *v-*constructs **T**, otherwise **F**.

19 For the general definition of entailment and the difference between analytical and logical entailment,

Truewt CP]]

**4.1 Topic-focus ambiguity** 

entailment and a presupposition is this:

*P* is a *presupposition* of *S*: (*S*╞ *P*) and (*non-S*╞ *P*)

propositional construction (*P*/*<sup>n</sup>* ). Then

[0*Undefwt P*] *v*-constructs the truth-value **T** iff

see (Duží 2010).

$$\begin{array}{rcl} \neg \left[ \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ulcorner \ul$$

Hence, though we work with truth-value gaps, we do not work with a third truth-value, and our logic is in this weak sense bivalent.

#### **4.2 The King of France revisited**

Above we analysed the sentence "The King of France is bald" on its perhaps most natural reading as predicating the property of being bald (the focus) of the individual (if any) that is the present King of France (the topic). Yet there is another, albeit less natural reading of the sentence. Imagine that the sentence is uttered in a situation when we are talking about baldness, and somebody asks "Who is bald?" The answer might be "Well, among those who are bald there is the present King of France". If you got such an answer, you would most probably protest, "This cannot be true, for there is no King of France now". On such a reading the sentence is about baldness (topic) claiming that this property is instantiated, among others, by the King of France *(*focus*)*. Since there are no rigorous grammatical rules in English to distinguish between the two variants, the input of our *logical* analysis is the result of a *linguistic* analysis, where the topic and focus of a sentence are made explicit.20 In this chapter I will mark the topic clause in italics. The two readings of the above sentence are:


The analysis of (S) is as above:

$$\{\mathsf{XwX} \mathsf{t} \mid \ulcorner \mathsf{BaI} \mathsf{I} \mathsf{d}\_{\mathsf{t}\mathsf{t}} \mathsf{Xw} \mathsf{t} \mathsf{t} \mid \ulcorner \mathsf{K} \mathsf{I} \mathsf{I} \mathsf{m} \mathsf{g}\_{\mathsf{t}} \mathsf{of}\_{\mathsf{t}\mathsf{t}} \mathsf{f}\_{\mathsf{t}} \mathsf{F} \mathsf{R} \mathsf{c} \mathsf{c} \mathsf{e} \} \mathsf{m} \}$$

The meaning of 'the King of France', *viz. wt* [0*King\_ofwt* 0*France*], occurs in (S) with *de re*  supposition, because the object of predication is the unique *value* in a *w*, *t*-pair of evaluation of the office rather than the office itself.21 The following *two de re principles* are satisfied: the principle of *existential presupposition* and the principle of *substitution of coreferential* expressions*.* Thus the following arguments are valid (though not sound):

> *The King of France* is/is not bald The King of France exists

<sup>20</sup> For instance, the Prague linguistic school created The Prague Dependency Treebank for the Czech language, which contains a large amount of Czech texts with complex and interlink annotation on different levels. The tectogrammatical representation contains the semantic structure of sentences with topic-focus annotators. For details, see *http://ufal.mff.cuni.cz/pdt2.0/*.

<sup>21</sup> For details on *de dicto* vs. *de re* supposition, see (Duží *et al.*, 2010a), esp. §§ 1.5.2 and 2.6.2, and also (Duží 2004).

Resolving Topic-Focus Ambiguities in Natural Language 253

undefined. The pair of meanings of (S) and (R) is an example of such co-entailing, yet nonequivalent hyperpropositions. If the value of the proposition constructed by the meaning of (S) is **T** then so is the value of the proposition constructed by the meaning of (R), and *vice versa*. But, for instance, in the actual world now the proposition constructed by (S) has *no truth-value*

The evidence for the above theory is derived from the difficulties which seem unavoidable if we regard denoting phrases as standing for genuine constituents of the propositions in whose verbal expressions they occur. Of the possible theories which admit such constituents the simplest is that of Meinong. This theory regards any grammatically correct denoting phrase as standing for an object. Thus 'the present King of France', 'the round square', etc., are supposed to be genuine objects. It is admitted that such objects do not subsist*,* but nevertheless they are supposed to be objects. This is in itself a difficult view; but the chief objection is that such objects, admittedly, are apt to infringe the law of contradiction. It is contended, for example, that the existent present King of France exists, and also does not exist; that the round square is round, and also not round, etc. But this is intolerable; and if any theory can

whereas the proposition constructed by (R) takes value **F**.

Now I am going to analyse (R). Russell argued for his theory in (1905, p. 3):

be found to avoid this result, it is surely to be preferred.

(*R*\*) *wt* [0*x* [*x =*<sup>i</sup> [*wt* [0*King\_ofwt* 0*France*]*wt*] [0*Baldwt x*]]].22

he is bald". This sentence expresses the construction

pair by at most one individual.

(Duží et al., 2010a, § 2.6). 24 See (Carnap 1947, §24.2, §26).

We have such a theory at hand, *viz.* TIL. Moreover, TIL makes it possible to avoid the other objections against Russell's analysis as well. Russellian rephrasing of the sentence "The King of France is *bald*" is this: "There is a unique individual such that he is the King of France and

TIL analysis of the 'Russellian rephrasing' does not deprive 'the King of France' of its meaning. The meaning is invariably, in all contexts, the Closure *wt* [0*King\_ofwt* 0*France*]. Thus the second objection to the Russellian analysis is not pertinent here. Moreover, even the third objection is irrelevant, because in (*R*\*) *wt* [0*King\_ofwt* 0*France*] occurs intensionally unlike in the analysis of (S) where it occurs extensionally.23 The existential quantifier applies to *sets* of individuals rather than a particular individual. The proposition constructed by (*R*\*) is true if the *set* of individuals who are bald contains the individual who occupies the office of King of France, otherwise it is simply false. The truth conditions specified by (*R*\*) are Russellian. Thus we might be content with (*R*\*) as an adequate analysis of the Russellian reading (R). Yet we should not be. The reason is this. Russell's analysis has another defect; it does not comply with *Carnap's principle of subject-matter*, which states, roughly, that only those entities that receive mention in a sentence can become constituents of its meaning*.24* In

22 Note that in TIL we do not need the construction corresponding to *y* (*Fy x*=*y*) specifying the uniqueness of the King of France, because it is inherent in the meaning of 'the King of France'. This holds also in a language like Czech, which lacks grammatical articles. The meaning of descriptions 'the King of France', 'král Francie' is a construction of an individual office of type occupied in each *w, t*-

23 For the definition of extensional, intensional and hyperintensional occurrence of a construction, see

*The King of France* is bald *The King of France* is Louis XVI *Louis XVI* is bald

Here are the proofs.

#### (a) *existential presupposition*:

First, existence is here a property of an individual *office* rather than of some non-existing individual (whatever it might mean for an individual not to exist). Thus we have *Exist*/(). To prove the validity of the first argument, we define *Exist*/() as the property of an office's being occupied at a given world/time pair:

$$\begin{array}{rcl} \, ^0Exist \, ^0 = \, \_0x \, \mathsf{W} \, \mathsf{X} \, t \, \; ^0 \mathsf{X} \, c \, \left[ \, ^0 \exists \mathsf{X} \, x \, \left[ \, \_x = \_1 \, \_{C \, ^t} \right] \right], \\\ \text{i.e.} \quad \left[ \, ^0Exist \, \_t \, c \right] \, ^0 = \, \_0 \left[ \, ^0 \exists \mathsf{X} \, x \, \left[ \, \_x = \_1 \, \_{C \, ^t} \right] \right] \end{array}$$

*Types*: /(()): the class of non-empty classes of individuals; *c <sup>v</sup>* ; *x <sup>v</sup>* ; =o/(): the identity of truth-values; =*of* /(()()): the identity of properties of individual offices; =i/(): the identity of individuals, *x <sup>v</sup>* . Now let *Louis*/, *Empty*/(()) the singleton containing the empty set of individuals, and *Improper*/(1) the property of constructions of being *v-*improper at a given *w*, *t*-pair, the other types as above. Then at any *w*, *t*-pair the following proof steps are truth-preserving:


3) [0*Baldwt* <sup>0</sup>*Louis*] substitution of identicals

As explained above, the sentence (R) is not associated with the presupposition that the present King of France exist, because 'the King of France' occurs now in the focus clause. The truth-conditions of the Russellian "The King of France is *bald*" are these:


Thus the two readings (S) and (R) have different truth-conditions, and they are not equivalent, albeit they are co-entailing. The reason is this. Trivially, a valid argument is *truth-preserving from premises to conclusion*. However, due to partiality, the entailment relation may fail to be *falsity-preserving from conclusion to premises*. As a consequence, if *A*, *B* are constructions of propositions such that *A*╞ *B* and *B*╞ *A*, then *A*, *B* are not necessarily equivalent in the sense of constructing the same proposition. The propositions they construct may not be identical, though the propositions take the truth-value **T** at exactly the same world/times, because they may differ in such a way that at some *w*, *t*-pair(s) one takes the value **F** while the other is

*The King of France* is bald *The King of France* is Louis XVI *Louis XVI* is bald

First, existence is here a property of an individual *office* rather than of some non-existing individual (whatever it might mean for an individual not to exist). Thus we have *Exist*/(). To prove the validity of the first argument, we define *Exist*/() as the

*Types*: /(()): the class of non-empty classes of individuals; *c <sup>v</sup>* ; *x <sup>v</sup>* ; =o/(): the identity of truth-values; =*of* /(()()): the identity of properties of individual offices; =i/(): the identity of individuals, *x <sup>v</sup>* . Now let *Louis*/, *Empty*/(()) the singleton containing the empty set of individuals, and *Improper*/(1) the property of constructions of being *v-*improper at a given *w*, *t*-pair, the other types as above. Then at any *w*, *t*-pair

property of an office's being occupied at a given world/time pair:

Existwt c] =o [0 x [x =i cwt]]

2) [0*Improperwt* 0[*wt* [0*King\_ofwt* <sup>0</sup>*France*]*wt*]] by Def. 2, iii)

7) [0*Existwt* [*wt* [0*King\_ofwt* <sup>0</sup>*France*]]] by def. of *Exist.*

The truth-conditions of the Russellian "The King of France is *bald*" are these:

3) [0*Empty x* [*x =*<sup>i</sup> [*wt* [0*King\_ofwt* <sup>0</sup>*France*]]*wt*]] from (2) by Def. 2, iv)

3) [0*Baldwt* <sup>0</sup>*Louis*] substitution of identicals

As explained above, the sentence (R) is not associated with the presupposition that the present King of France exist, because 'the King of France' occurs now in the focus clause.

 False, if among those who are bald there is no King of France (either because the present King of France does not exist or because the King of France is not bald).

Thus the two readings (S) and (R) have different truth-conditions, and they are not equivalent, albeit they are co-entailing. The reason is this. Trivially, a valid argument is *truth-preserving from premises to conclusion*. However, due to partiality, the entailment relation may fail to be *falsity-preserving from conclusion to premises*. As a consequence, if *A*, *B* are constructions of propositions such that *A*╞ *B* and *B*╞ *A*, then *A*, *B* are not necessarily equivalent in the sense of constructing the same proposition. The propositions they construct may not be identical, though the propositions take the truth-value **T** at exactly the same world/times, because they may differ in such a way that at some *w*, *t*-pair(s) one takes the value **F** while the other is

i.e. [0

1) ()[0*Baldwt wt* [0*King\_ofwt* 0*France*]*wt*] Ø

4) [0*x* [*x =*<sup>i</sup> [*wt* [0*King\_ofwt* <sup>0</sup>*France*]]*wt*]] EG

1) [0*Baldwt wt* [0*King\_ofwt* 0*France*]*wt*] Ø 2) [0*Louis* =i *wt* [0*King\_ofwt* 0*France*]*wt*] Ø

True, if among those who are bald there is the King of France

0 Exist =of wt c [0 x [x =i cwt]],

the following proof steps are truth-preserving:

Here are the proofs.

(b) *substitution*:

(a) *existential presupposition*:

undefined. The pair of meanings of (S) and (R) is an example of such co-entailing, yet nonequivalent hyperpropositions. If the value of the proposition constructed by the meaning of (S) is **T** then so is the value of the proposition constructed by the meaning of (R), and *vice versa*. But, for instance, in the actual world now the proposition constructed by (S) has *no truth-value* whereas the proposition constructed by (R) takes value **F**.

Now I am going to analyse (R). Russell argued for his theory in (1905, p. 3):

The evidence for the above theory is derived from the difficulties which seem unavoidable if we regard denoting phrases as standing for genuine constituents of the propositions in whose verbal expressions they occur. Of the possible theories which admit such constituents the simplest is that of Meinong. This theory regards any grammatically correct denoting phrase as standing for an object. Thus 'the present King of France', 'the round square', etc., are supposed to be genuine objects. It is admitted that such objects do not subsist*,* but nevertheless they are supposed to be objects. This is in itself a difficult view; but the chief objection is that such objects, admittedly, are apt to infringe the law of contradiction. It is contended, for example, that the existent present King of France exists, and also does not exist; that the round square is round, and also not round, etc. But this is intolerable; and if any theory can be found to avoid this result, it is surely to be preferred.

We have such a theory at hand, *viz.* TIL. Moreover, TIL makes it possible to avoid the other objections against Russell's analysis as well. Russellian rephrasing of the sentence "The King of France is *bald*" is this: "There is a unique individual such that he is the King of France and he is bald". This sentence expresses the construction

(*R*\*) *wt* [0*x* [*x =*<sup>i</sup> [*wt* [0*King\_ofwt* 0*France*]*wt*] [0*Baldwt x*]]].22

TIL analysis of the 'Russellian rephrasing' does not deprive 'the King of France' of its meaning. The meaning is invariably, in all contexts, the Closure *wt* [0*King\_ofwt* 0*France*]. Thus the second objection to the Russellian analysis is not pertinent here. Moreover, even the third objection is irrelevant, because in (*R*\*) *wt* [0*King\_ofwt* 0*France*] occurs intensionally unlike in the analysis of (S) where it occurs extensionally.23 The existential quantifier applies to *sets* of individuals rather than a particular individual. The proposition constructed by (*R*\*) is true if the *set* of individuals who are bald contains the individual who occupies the office of King of France, otherwise it is simply false. The truth conditions specified by (*R*\*) are Russellian. Thus we might be content with (*R*\*) as an adequate analysis of the Russellian reading (R). Yet we should not be. The reason is this. Russell's analysis has another defect; it does not comply with *Carnap's principle of subject-matter*, which states, roughly, that only those entities that receive mention in a sentence can become constituents of its meaning*.24* In

<sup>22</sup> Note that in TIL we do not need the construction corresponding to *y* (*Fy x*=*y*) specifying the uniqueness of the King of France, because it is inherent in the meaning of 'the King of France'. This holds also in a language like Czech, which lacks grammatical articles. The meaning of descriptions 'the King of France', 'král Francie' is a construction of an individual office of type occupied in each *w, t* pair by at most one individual.

<sup>23</sup> For the definition of extensional, intensional and hyperintensional occurrence of a construction, see (Duží et al., 2010a, § 2.6).

<sup>24</sup> See (Carnap 1947, §24.2, §26).

Resolving Topic-Focus Ambiguities in Natural Language 255

*entailed* by (2) and *not presupposed*.25 Our analyses respect these conditions. Let *Yesterday*/(()) be the function that associates a given time *t* with the time interval that is

quantifier that assigns to a given set of times the truth-value **T** if the set is non-empty, otherwise **F**. In what follows I will use an abbreviated notation without Trivialisation,

(1\*) *wt* [*x t*'[[[0*Yesterday t*] *t*'] [0*Visitwt' x* 0*London*]] *wt* [0*King\_ofwt* <sup>0</sup>*France*]*wt*] (1'\*) *wt* [*x* [*t*'[[[0*Yesterday t*] *t*'] [0*Visitwt' x* 0*London*]] *wt* [0*King\_ofwt* <sup>0</sup>*France*]*wt*] At such a *w*, *t*-pair at which the King of France does not exist neither of the propositions constructed by (1\*) and (1'\*) has a truth-value, because the extensionalization of the office yields no individual, the Composition *wt* [0*King\_ofwt* <sup>0</sup>*France*]*wt* being *v-*improper. We have the Strawsonian case, the meaning of 'King of France' occurring with *de re* supposition, and the King's existence being presupposed. On the other hand, the sentences (2), (2') express

(2\*) *wt t*'[[[0*Yesterday t*] *t*'] [0*Visitwt' wt* [0*King\_ofw<sup>t</sup>* <sup>0</sup>*France*]*<sup>w</sup>t***'** <sup>0</sup>*London*]] (2'\*) *wt t*'[[[0*Yesterday t*] *t*'] [0*Visitwt' wt* [0*King\_ofwt* <sup>0</sup>*France*]*<sup>w</sup>t***'** <sup>0</sup>*London*]]

At such a *w*, *t*-pair at which the proposition constructed by (2\*) is true, the Composition *t*'[[[0*Yesterday t*] *t*'] *wt* [0*King\_ofw<sup>t</sup>* <sup>0</sup>*France*]*<sup>w</sup>t***'** <sup>0</sup>*London*]] *v-*constructs **T**. This means that the second conjunct *v-*constructs **T** as well and the Composition *wt* [0*King\_ofw<sup>t</sup>* <sup>0</sup>*France*]*<sup>w</sup>t***'** is not *v-*improper. Thus the King of France *existed at some time t*' belonging to *yesterday*. On the other hand, if the King of France did not exist at any time yesterday, then the Composition *wt* [0*King\_ofw<sup>t</sup>* <sup>0</sup>*France*]*<sup>w</sup>t***'** is *v*-improper for any *t*' belonging to yesterday and the time interval *v-*constructed by *t*'[[[0*Yesterday t*] *t*'] [0*Visitwt' wt* [0*King\_ofw<sup>t</sup>* <sup>0</sup>*France*]*<sup>w</sup>t***'** <sup>0</sup>*London*]], as well as by *t*'[[[0*Yesterday t*] *t*'] [0*Visitwt' wt* [0*King\_ofw<sup>t</sup>* <sup>0</sup>*France*]*<sup>w</sup>t***'** <sup>0</sup>*London*]], is empty. The existential quantifier takes this interval to **F**. This is as it should be, because (2\*) *only implies the existence* of the King of France *yesterday* but *does not presuppose* it. We have the Russellian case. The meaning of the definite description 'the King of France'

Up until now we have utilised the singularity of definite descriptions like 'the King of France' that denote functions of type . If the King of France does not exist in some particular world *W* at some particular time *T*, the office is not occupied and the function does not have a value at *W*, *T.* Due to the partiality of the office constructed by *wt* [0*King\_ofwt* <sup>0</sup>*France*] and the principle of compositionality, the respective analyses construct purely partial propositions associated with some presupposition, as desired. Now I am going to generalize the topic-focus phenomenon to sentences containing general terms.

25 Von Fintel (2004) does not take into account this reading and says that any sentence containing 'the King of France' comes with the presupposition that the King of France exist *now*. In my opinion, this is

26 More precisely, the meaning of 'the King of France' occurs with *de dicto* supposition with respect to

because he considers only the *neutral* reading, thus rejecting topic-focus ambiguities.

*x A*]', when no confusion can arise. The analyses of sentences

/(()): the existential

yesterday with respect to *t*; *Visit*/(); *King\_of*/(); *France*/;

writing '*x A*' instead of '[0

occurs with *de dicto* supposition in (2) and (2').26

**5. Topic-focus ambivalence in general** 

the temporal parameter *t*.

(1), (1') come down to

other words, (*R*\*) is not the literal analysis of the sentence "The King of France is *bald*"., because existence and conjunction do not receive mention in the sentence. Russell did avoid the intolerable result that the King of France both does and does not exist, but the price he paid is too high, because his rephrasing of the sentence is too loose a reformulation of it. TIL, as a hyperintensional, typed *partial* -calculus, is in a much better position to solve the problem.

From the logical point of view, the two readings differ in the way their respective *negated* form is obtained. Whereas the Stawsonian negated form is "The *King of France* is *not* bald", which obviously lacks a truth-value if the King of France does not exist, the Russellian negated form is "It is not true that the King of France is bald", which is true at those *w*, *t* pairs where the office is not occupied. Thus in the Strawsonian case the property of not being bald is ascribed to the individual, if any, that occupies the royal office. The meaning of 'the King of France' occurs with *de re* supposition, as we have seen above. On the other hand, in the Russellian case the property of not being true is ascribed to the whole proposition that the King is bald, and thus (the same meaning of) the description 'the King of France' occurs with *de dicto* supposition*.* Hence we simply ascribe the property of being or not being true to the whole proposition. To this end we apply the propositional property *True*/() defined above. Now the analysis of the sentence (R) is this construction:

(*R*') *wt* [0*Truewt wt* [0*Baldwt wt* [0*King\_ofwt* 0*France*]*wt*]]

Neither (*R*') nor its negation

(*R*'\_neg) *wt* [0*Truewt wt* [0*Baldwt wt* [0*King\_ofwt* 0*France*]*wt*]]

entail that the King of France exists, which is just as it should be. (*R*'\_neg) constructs the proposition *non-P* that takes the truth-value **T** if the proposition that the King of France is bald takes the value **F** (because the King of France is not bald) or is undefined (because the King of France does not exist).

Consider now another group of sample sentences:


The sentences (1) and (1') talk about the (actual and current) King of France (the topic), ascribing to him the property of (not) having visited London yesterday (the focus). Thus both sentences share the presupposition that the King of France actually exist *now*. If this presupposition fails to be satisfied, then neither of the propositions expressed by (1) and (1') has a truth-value. The situation is different in the case of sentences (2) and (2'):


Now the property (the focus) of having been visited by the King of France yesterday is predicated of London (the topic). The existence of the King of France (now) is presupposed neither by (2) nor by (2'). The sentences can be read as "Among the visitors of London yesterday was (not) the King of France". The existence of the King of France *yesterday* is only

other words, (*R*\*) is not the literal analysis of the sentence "The King of France is *bald*"., because existence and conjunction do not receive mention in the sentence. Russell did avoid the intolerable result that the King of France both does and does not exist, but the price he paid is too high, because his rephrasing of the sentence is too loose a reformulation of it. TIL, as a hyperintensional, typed *partial* -calculus, is in a much better position to solve the

From the logical point of view, the two readings differ in the way their respective *negated* form is obtained. Whereas the Stawsonian negated form is "The *King of France* is *not* bald", which obviously lacks a truth-value if the King of France does not exist, the Russellian negated form is "It is not true that the King of France is bald", which is true at those *w*, *t* pairs where the office is not occupied. Thus in the Strawsonian case the property of not being bald is ascribed to the individual, if any, that occupies the royal office. The meaning of 'the King of France' occurs with *de re* supposition, as we have seen above. On the other hand, in the Russellian case the property of not being true is ascribed to the whole proposition that the King is bald, and thus (the same meaning of) the description 'the King of France' occurs with *de dicto* supposition*.* Hence we simply ascribe the property of being or not being true to the whole proposition. To this end we apply the propositional property *True*/() defined above. Now the analysis of the sentence (R) is this

(*R*') *wt* [0*Truewt wt* [0*Baldwt wt* [0*King\_ofwt* 0*France*]*wt*]]

(*R*'\_neg) *wt* [0*Truewt wt* [0*Baldwt wt* [0*King\_ofwt* 0*France*]*wt*]]

entail that the King of France exists, which is just as it should be. (*R*'\_neg) constructs the proposition *non-P* that takes the truth-value **T** if the proposition that the King of France is bald takes the value **F** (because the King of France is not bald) or is undefined (because the

The sentences (1) and (1') talk about the (actual and current) King of France (the topic), ascribing to him the property of (not) having visited London yesterday (the focus). Thus both sentences share the presupposition that the King of France actually exist *now*. If this presupposition fails to be satisfied, then neither of the propositions expressed by (1) and (1')

Now the property (the focus) of having been visited by the King of France yesterday is predicated of London (the topic). The existence of the King of France (now) is presupposed neither by (2) nor by (2'). The sentences can be read as "Among the visitors of London yesterday was (not) the King of France". The existence of the King of France *yesterday* is only

has a truth-value. The situation is different in the case of sentences (2) and (2'):

problem.

construction:

Neither (*R*') nor its negation

King of France does not exist).

Consider now another group of sample sentences:

(1) "*The King of France* visited London yesterday." (1') "*The King of France* did not visit London yesterday."

(2) "*London* was visited by the King of France yesterday." (2') "*London* was not visited by the King of France yesterday." *entailed* by (2) and *not presupposed*.25 Our analyses respect these conditions. Let *Yesterday*/(()) be the function that associates a given time *t* with the time interval that is yesterday with respect to *t*; *Visit*/(); *King\_of*/(); *France*/; /(()): the existential quantifier that assigns to a given set of times the truth-value **T** if the set is non-empty, otherwise **F**. In what follows I will use an abbreviated notation without Trivialisation, writing '*x A*' instead of '[0 *x A*]', when no confusion can arise. The analyses of sentences (1), (1') come down to


At such a *w*, *t*-pair at which the King of France does not exist neither of the propositions constructed by (1\*) and (1'\*) has a truth-value, because the extensionalization of the office yields no individual, the Composition *wt* [0*King\_ofwt* <sup>0</sup>*France*]*wt* being *v-*improper. We have the Strawsonian case, the meaning of 'King of France' occurring with *de re* supposition, and the King's existence being presupposed. On the other hand, the sentences (2), (2') express


At such a *w*, *t*-pair at which the proposition constructed by (2\*) is true, the Composition *t*'[[[0*Yesterday t*] *t*'] *wt* [0*King\_ofw<sup>t</sup>* <sup>0</sup>*France*]*<sup>w</sup>t***'** <sup>0</sup>*London*]] *v-*constructs **T**. This means that the second conjunct *v-*constructs **T** as well and the Composition *wt* [0*King\_ofw<sup>t</sup>* <sup>0</sup>*France*]*<sup>w</sup>t***'** is not *v-*improper. Thus the King of France *existed at some time t*' belonging to *yesterday*. On the other hand, if the King of France did not exist at any time yesterday, then the Composition *wt* [0*King\_ofw<sup>t</sup>* <sup>0</sup>*France*]*<sup>w</sup>t***'** is *v*-improper for any *t*' belonging to yesterday and the time interval *v-*constructed by *t*'[[[0*Yesterday t*] *t*'] [0*Visitwt' wt* [0*King\_ofw<sup>t</sup>* <sup>0</sup>*France*]*<sup>w</sup>t***'** <sup>0</sup>*London*]], as well as by *t*'[[[0*Yesterday t*] *t*'] [0*Visitwt' wt* [0*King\_ofw<sup>t</sup>* <sup>0</sup>*France*]*<sup>w</sup>t***'** <sup>0</sup>*London*]], is empty. The existential quantifier takes this interval to **F**. This is as it should be, because (2\*) *only implies the existence* of the King of France *yesterday* but *does not presuppose* it. We have the Russellian case. The meaning of the definite description 'the King of France' occurs with *de dicto* supposition in (2) and (2').26

## **5. Topic-focus ambivalence in general**

Up until now we have utilised the singularity of definite descriptions like 'the King of France' that denote functions of type . If the King of France does not exist in some particular world *W* at some particular time *T*, the office is not occupied and the function does not have a value at *W*, *T.* Due to the partiality of the office constructed by *wt* [0*King\_ofwt* <sup>0</sup>*France*] and the principle of compositionality, the respective analyses construct purely partial propositions associated with some presupposition, as desired. Now I am going to generalize the topic-focus phenomenon to sentences containing general terms.

 25 Von Fintel (2004) does not take into account this reading and says that any sentence containing 'the King of France' comes with the presupposition that the King of France exist *now*. In my opinion, this is because he considers only the *neutral* reading, thus rejecting topic-focus ambiguities.

<sup>26</sup> More precisely, the meaning of 'the King of France' occurs with *de dicto* supposition with respect to the temporal parameter *t*.

Resolving Topic-Focus Ambiguities in Natural Language 257

In a programming language the *if-then-else* conditional forces a program to perform different actions depending on whether the specified *condition* evaluates true or else false. This is always achieved by *selectively* altering the control flow based on the specified condition. For this reason, an analysis in terms of material implication, , or even 'exclusive *or*' as known from propositional logic, is not adequate. The reason is this. Since propositional logic is strictly compositional, *both* the 'then clause' *and* the 'else clause' are always evaluated. For instance, it might seem that the instruction expressed by "The only number *n* such that if 5 = 5 then *n* equals 1, else *n* equals the result of 1 divided by 0" would receive the analysis

*n* [[[05=05] [*n=*01]] [[05=05] [*n=*[0*Div* 01 00]]]]]

But the output of the above procedure should be the number 1 because the *else* clause is never executed. However, due to the strict principle of compositionality that TIL observes, the above analysis fails to produce anything, the construction being improper. For, the Composition [0*Div* 01 00] does not produce anything: it is improper because the division function takes no value at the argument 1, 0. Thus [*n =* [0*Div* 01 00]] is *v-*improper for any valuation *v*, because the identity relation = does not receive a second argument, and so any other Composition containing the improper Composition [0*Div* 01 00] as a constituent also comes out *v-*improper. The underlying principle is that partiality is being strictly propagated up. This is the reason why the *if-then-else* connective is often said to denote a *non-strict* function not complying with the principle of compositionality. However, as I wish to argue, there is no cogent reason to settle for non-compositionality. I suggest applying a mechanism known in computer science as *lazy evaluation.* As we have seen, the *procedural*  semantics of TIL operates smoothly even at the hyperintensional level of constructions. Thus it enables us to specify a definition of *if-then-else* that meets the compositionality constraint.

"If *P* then *C*, else *D*" reveals a procedure that decomposes into two phases. First, on the basis of the condition *P*, select one of *C*, *D* as the procedure to be executed. Second, execute the selected procedure.

[0I\* *c* [[*P*  [*c =* 0*C*]] [*P*  [*c =* 0*D*]]]] Types: *P <sup>v</sup>* (the condition of the choice between the execution of *C* or of *D*); *C*, *D*/*n*;

The Composition [[*P*  [*c=*0*C*]] [*P*  [*c=*0*D*]]] *v-*constructs **T** in two cases. If *P v-*constructs **T** then the variable *c* receives as its value the *construction C*, and if *P v-*constructs **F** then the variable *c* receives the *construction D* as its value. In either case the set *v-*constructed by

/(()); *n <sup>v</sup>* ; 0, 1, 5/; *Div*/(): the division function.

The first phase, *viz.* selection, is realized by the Composition

variable *c <sup>v</sup> n*; I\*/(*n*(*n*)): the singularizer.

(3s) *wt* [If [0*x* [[0*Child\_ofwt* <sup>0</sup>*John*] *x*]] then [[0*All* [0*Child\_ofwt* <sup>0</sup>*John*]] 0*Sleepwt*] else Fail. To finish the analysis, we must define the *if-then-else* function. This I am going to do in the

next paragraph.

*Types*: I

The analysis of

**5.1 The** *if-then-else* **function** 

[0I

To get started, let us analyse Strawson's example


According to Strawson both (1) and (1') entail27

(4) John has children.

In other words, (4) is a presupposition of (3) and (3'). If each of John's children is asleep, then (3) is true and (3') false. If each of John's children is not asleep, then (3) is false and (3') is true. However, if John has no children, then (3) and (3') are neither true nor false. Note that applying a classical regimentation of (3) in the language of the first-order predicate logic (FOL), we get

$$\text{\textquotedblleft}\forall x\left[\left[\text{IC}(x)\right]\supset S(x)\right]\text{\textquotedblright}$$

This formula is true under every interpretation assigning an empty set of individuals to the predicate *JC* ('is a child of John's'). In other words, FOL does not make it possible to render the truth-conditions of a sentence equipped with a presupposition, because FOL is a logic of *total* functions. We need to apply a richer logical system in order to express the instruction how to evaluate the truth-conditions of (3) in the way described above. By reformulating the above specification of the truth-conditions of (3) in a rather technical jargon of English, we get

> "*If* John has children *then* check whether all his children are asleep, *else* fail to produce a truth-value."

We now analyse the particular constituents of this instruction. As always, we start with assigning types to the objects that receive mention in the sentence: *Child\_of*(()): an empirical function that dependently on states-of-affairs assigns to an individual a set of individuals, its children; *John*/; *Sleep*/(); /(()); *All*/((())()): a restricted general quantifier that assigns to a given set the set of all its supersets.

The presupposition that John have children receives the analysis

$$\text{אַטאַריינג } [^{0}\exists\text{?} \text{ x } [[^{0}\text{Chilid\\_of\_{wt}}{0}0\text{lbm}]\text{ x}]].$$

Now the literal analysis of the sentence "All John's children are asleep" on its *neutral* reading (that is, without existential presupposition), is best obtained by using the restricted quantifier *All*, because using a general quantifier would involve implication that does not receive mention in the sentence. Composing the quantifier with the set of John's children at the world/time pair of evaluation, [0*All* [0*Child\_ofwt* <sup>0</sup>*John*]], we obtain the set of all supersets of John's children in *w* at *t*. The sentence claims that the population of those who are asleep, <sup>0</sup>*Sleepwt*, is one such superset:

wt [[0 All [0 Child\_ofwt 0 John]] 0 Sleepwt].

The schematic analysis of sentence (3) on its topic-like reading that comes with the presupposition that John have children translates into this procedure:

<sup>27</sup> See (Strawson, 1952, in particular pp. 173ff.)

(3s) *wt* [If [0*x* [[0*Child\_ofwt* <sup>0</sup>*John*] *x*]] then [[0*All* [0*Child\_ofwt* <sup>0</sup>*John*]] 0*Sleepwt*] else Fail.

To finish the analysis, we must define the *if-then-else* function. This I am going to do in the next paragraph.

#### **5.1 The** *if-then-else* **function**

256 Semantics in Action – Applications and Scenarios

In other words, (4) is a presupposition of (3) and (3'). If each of John's children is asleep, then (3) is true and (3') false. If each of John's children is not asleep, then (3) is false and (3') is true. However, if John has no children, then (3) and (3') are neither true nor false. Note that applying a classical regimentation of (3) in the language of the first-order predicate

"*x* [*JC*(*x*) *S*(*x*)]" This formula is true under every interpretation assigning an empty set of individuals to the predicate *JC* ('is a child of John's'). In other words, FOL does not make it possible to render the truth-conditions of a sentence equipped with a presupposition, because FOL is a logic of *total* functions. We need to apply a richer logical system in order to express the instruction how to evaluate the truth-conditions of (3) in the way described above. By reformulating the above specification of the truth-conditions of (3) in a rather technical jargon of English, we

"*If* John has children *then* check whether all his children are asleep, *else* fail to produce a truth-value." We now analyse the particular constituents of this instruction. As always, we start with assigning types to the objects that receive mention in the sentence: *Child\_of*(()): an empirical function that dependently on states-of-affairs assigns to an individual a set of individuals, its children; *John*/; *Sleep*/(); /(()); *All*/((())()): a restricted general

*wt* [0*x* [[0*Child\_ofwt* <sup>0</sup>*John*] *x*]]. Now the literal analysis of the sentence "All John's children are asleep" on its *neutral* reading (that is, without existential presupposition), is best obtained by using the restricted quantifier *All*, because using a general quantifier would involve implication that does not receive mention in the sentence. Composing the quantifier with the set of John's children at the world/time pair of evaluation, [0*All* [0*Child\_ofwt* <sup>0</sup>*John*]], we obtain the set of all supersets of John's children in *w* at *t*. The sentence claims that the population of those who are asleep,

Child\_of

presupposition that John have children translates into this procedure:

The schematic analysis of sentence (3) on its topic-like reading that comes with the

wt 0 John]] 0

Sleepwt].

quantifier that assigns to a given set the set of all its supersets. The presupposition that John have children receives the analysis

To get started, let us analyse Strawson's example

According to Strawson both (1) and (1') entail27

(3) "All *John's children* are asleep." (3') "All *John's children* are not asleep."

(4) John has children.

<sup>0</sup>*Sleepwt*, is one such superset:

wt [[0 All[0

27 See (Strawson, 1952, in particular pp. 173ff.)

logic (FOL), we get

get

In a programming language the *if-then-else* conditional forces a program to perform different actions depending on whether the specified *condition* evaluates true or else false. This is always achieved by *selectively* altering the control flow based on the specified condition. For this reason, an analysis in terms of material implication, , or even 'exclusive *or*' as known from propositional logic, is not adequate. The reason is this. Since propositional logic is strictly compositional, *both* the 'then clause' *and* the 'else clause' are always evaluated. For instance, it might seem that the instruction expressed by "The only number *n* such that if 5 = 5 then *n* equals 1, else *n* equals the result of 1 divided by 0" would receive the analysis

> [0I *n* [[[05=05] [*n=*01]] [[05=05] [*n=*[0*Div* 01 00]]]]]

*Types*: I /(()); *n <sup>v</sup>* ; 0, 1, 5/; *Div*/(): the division function.

But the output of the above procedure should be the number 1 because the *else* clause is never executed. However, due to the strict principle of compositionality that TIL observes, the above analysis fails to produce anything, the construction being improper. For, the Composition [0*Div* 01 00] does not produce anything: it is improper because the division function takes no value at the argument 1, 0. Thus [*n =* [0*Div* 01 00]] is *v-*improper for any valuation *v*, because the identity relation = does not receive a second argument, and so any other Composition containing the improper Composition [0*Div* 01 00] as a constituent also comes out *v-*improper. The underlying principle is that partiality is being strictly propagated up. This is the reason why the *if-then-else* connective is often said to denote a *non-strict* function not complying with the principle of compositionality. However, as I wish to argue, there is no cogent reason to settle for non-compositionality. I suggest applying a mechanism known in computer science as *lazy evaluation.* As we have seen, the *procedural*  semantics of TIL operates smoothly even at the hyperintensional level of constructions. Thus it enables us to specify a definition of *if-then-else* that meets the compositionality constraint. The analysis of

$$\text{\textquotedblleft If } P \text{ then } \mathsf{C} \text{, else } D''$$

reveals a procedure that decomposes into two phases. First, on the basis of the condition *P*, select one of *C*, *D* as the procedure to be executed. Second, execute the selected procedure. The first phase, *viz.* selection, is realized by the Composition

$$\{\{\kern-1.722222pt\}\{\kern-1.7222pt\}\{\kern-1.72222pt\}\mspace \{\kern-1.72222pt\}\mspace \{\kern-1.72222pt\}\mspace \{\kern-1.72222pt\}\mspace \{\kern-1.72222pt\}\mspace\{\kern-1.72222pt\}\mspace\{\kern-1.72222pt\}\mspace\{\kern-1.72222pt\}\kern-1.72222pt\}\kern-1.72222pt\}$$

Types: *P <sup>v</sup>* (the condition of the choice between the execution of *C* or of *D*); *C*, *D*/*n*; variable *c <sup>v</sup> n*; I\*/(*n*(*n*)): the singularizer.

The Composition [[*P*  [*c=*0*C*]] [*P*  [*c=*0*D*]]] *v-*constructs **T** in two cases. If *P v-*constructs **T** then the variable *c* receives as its value the *construction C*, and if *P v-*constructs **F** then the variable *c* receives the *construction D* as its value. In either case the set *v-*constructed by

Resolving Topic-Focus Ambiguities in Natural Language 259

2[0I\**c* [[*x* [[0*Child\_ofwt* 0*John*] *x*] [*c=*0[[0*All* [0*Child\_ofwt* 0*John*]] 0*Sleepwt*]]] [*x* [[0*Child\_ofwt* 0*John*] *x*] <sup>0</sup>**F**]]] The evaluation of this construction for any *w, t* depends on whether the presupposition

Then *c* [0**T** [*c=*0[[0*All* [0*Child\_ofwt* 0*John*]] 0*Sleepwt*] [0**F**  <sup>0</sup>**F**]] *v-*constructs this singleton: {0[[0*All* [0*Child\_ofwt* 0*John*]] 0*Sleepwt*]}. Hence the value of I\* is its only

Then *c* [0**F** [*c=*0[[0*All* [0*Child\_ofwt* 0*John*]] 0*Sleepwt*] [0**T**  <sup>0</sup>**F**]] = *c* 0**F**. The *v*constructed set is *empty*, function I\* being undefined at such set. Hence, 2[0I\**c* <sup>0</sup>**F**] is

Finally, we must abstract over the values of *w* and *t* in order to construct a proposition of

 [*x* [[0*Child\_ofwt* 0*John*] *x*] <sup>0</sup>**F**]]] In the interest of better readability I will in the remainder use a more standard notation. Hence instead of either "*wt* [0*If-then-else-fail Pwt* <sup>0</sup>*Swt*]" or "*wt* 2[0I\**c* [[*Pwt* [*c =* 0*Swt*]]

Consider now another pair of sentences differing only in terms of topic-focus articulation:

While (4) not only entails but also presupposes that there be a global financial and economic crisis, the truth-conditions of (5) are different, as our analysis clarifies. First, (4) as well as

are about the global crisis, and that there is such a crisis is not only entailed but also presupposed by both sentences. The instruction encoded by (4) formulated in logician's

"*If* there is a global crisis *then* return **T** or **F** according as the crisis was caused by the Bank of America, *else fail* (to produce a truth-value)" Since every TIL analysis is fully compositional, we first need to analyse the particular constituents of this instruction, and then combine these constituents into the construction expressed by the sentence. As always, we start with assigning types to the objects that receive mention in the sentence. Simplifying a bit, let the objects be: *Crisis*/: the

(4) "The *global financial and economic crisis* was caused by the Bank of America." (5) "The *Bank of America* caused the global financial and economic crisis."

(4') "The *global financial and economic crisis* was not caused by Bank of America"

(3\*) *wt* 2[0I\**c* [*x* [[0*Child\_ofwt* 0*John*] *x*] [*c=*0[[0*All* [0*Child\_ofwt* 0*John*]] 0*Sleepwt*]

*Second*, execute the chosen construction. To this end we apply *Double Execution*:

2[0I\* *c* [0**T** [*c=*0[[0*All* [0*Child\_ofwt* 0*John*]] 0*Sleepwt*] [0**F**  <sup>0</sup>**F**]] = 20[[0*All* [0*Child\_ofwt* 0*John*]] 0*Sleepwt*] = [[0*All* [0*Child\_ofwt* 0*John*]] 0*Sleepwt*].

type denoted by the sentence. The resulting analysis of (3) is this:

[*Pwt* <sup>0</sup>**F**]]]" I will simply write "*wt* [If *Pwt* then *Swt* else Fail]".

condition *x* [[0*Child\_ofwt* 0*John*] *x*] is true at *w, t*:

a. *x* [[0*Child\_ofwt 0John*] *x*] <sup>v</sup> **T**.

b. *x* [[0*Child\_ofwt 0John*] *x*] <sup>v</sup> **F**.

*v-*improper, *fails*.

**5.2 Additional examples** 

English is this:

member and we have:

*c* [[*P*  [*c=*0*C*]] [*P*  [*c=*0*D*]]] is a singleton whose element is a construction. Applying I\* to this set returns as its value the only member of the set, i.e. either *C* or *D.*<sup>28</sup>

Second, the chosen construction *c* is executed. To execute it we apply Double Execution; see Def. 2, vi). As a result, the schematic analysis of "If *P* then *C*, else *D*" turns out to be

(\*) 2[0I\* *c* [[*P*  [*c=*0*C*]] [*P*  [*c=*0*D*]]]]

Note that the evaluation of the first phase does not involve the execution of either of *C* or *D*. In this phase these constructions figure only as arguments of other functions. In other words, we operate at hyperintensional level. The second phase of execution turns the level down to intensional or extensional one. Thus we define:

**Definition 4** (*If-then-else*, *if-then-else-fail*). Let *p*/*<sup>n</sup> v* ; *c, d*1, *d*2/*n+*<sup>1</sup> *n*; 2*c,* 2*d*1, 2*d*<sup>2</sup> *v* . Then the polymorphic functions *if-then-else* and *if-then-else-fail* of types (*nn*), (*n*), respectively, are defined as follows:

$$\begin{aligned} \text{10 } & \text{If } \text{-then-else} = \lambda p \text{ } d\_1 \, d\_2 \, 2 \, [^0 \text{I}^\* \, \lambda \, c \, \text{[} \, [p \implies [c = d\_1]] \, \lambda \, \text{[} \, [\neg p \implies [c = d\_2]] \, \text{]}] \\ & \text{ } & \text{If } \text{-then-else-} \, \text{f} \, \text{id} = \lambda p \, d\_1 \, 2 \, [^0 \text{I}^\* \, \lambda \, c \, \text{[} \, [p \implies [c = d\_1]] \, \lambda \, \text{[} \, [\neg p \implies {}^0 \text{F}] \, ]] \end{aligned}$$

Now we are ready to specify a **general analytic schema of an (empirical) sentence S associated with a presupposition** *P***.** In a technical jargon of English the evaluation instruction can be formulated as follows:

At any *w, t*-pair do this:

if *Pwt* is true then evaluate *Swt*, else *Fail* (to produce a truth-value).

Let *P*/*n*  be a construction of a presupposition, *S*/*n*  the meaning of the sentence S and *c*/*n+*<sup>1</sup> *<sup>v</sup> <sup>n</sup>* a variable. Then the corresponding TIL construction is this:

*wt* [0*If-then-else-fail Pwt 0Swt*] =

*wt* 2[0I\**c* [[*Pwt* [*c =* 0*Swt*]] [*Pwt* <sup>0</sup>**F**]]]

The evaluation of *S* for any *w*, *t*-pair depends on whether the presupposition *P* is true at *w*, *t*. If true, the singleton *v-*constructed by *c* [ … ] contains as the only construction to be executed 0*Swt* that is afterwards double executed. The first execution produces *Swt* and the second execution produces a truth-value. If *Pwt v-*constructs **T**, then the second conjunct becomes the Composition [0**T**  <sup>0</sup>**F**] and thus we get *c* 0**F**. The *v-*constructed set is *empty*. Hence, [I\**c* <sup>0</sup>**F**] is *v-*improper, and the Double Execution *fails* to produce a truth-value.

Now we can finish the analysis of Strason's example (3). *First*, make a choice between executing the Composition [[0*All* [0*Child\_ofwt* <sup>0</sup>*John*]] 0*Sleepwt*] and a *v-*improper construction that fails to produce a truth-value. If the Composition [0*x* [[0*Child\_ofwt* <sup>0</sup>*John*] *x*]] *v*constructs **T** then the former, else the latter. The choice itself is realized by this Composition:

> [0I\**c* [[*x* [[0*Child\_ofwt* 0*John*] *x*] [*c=*0[[0*All* [0*Child\_ofwt* 0*John*]] 0*Sleepwt*]]] [*x* [[0*Child\_ofwt* 0*John*] *x*] <sup>0</sup>**F**]]]

<sup>28</sup> In case *P* is *v-*improper the singleton is empty and *no* construction is selected to be executed so the execution aborts.

*c* [[*P*  [*c=*0*C*]] [*P*  [*c=*0*D*]]] is a singleton whose element is a construction. Applying I\*

Second, the chosen construction *c* is executed. To execute it we apply Double Execution; see

Note that the evaluation of the first phase does not involve the execution of either of *C* or *D*. In this phase these constructions figure only as arguments of other functions. In other words, we operate at hyperintensional level. The second phase of execution turns the level

**Definition 4** (*If-then-else*, *if-then-else-fail*). Let *p*/*<sup>n</sup> v* ; *c, d*1, *d*2/*n+*<sup>1</sup> *n*; 2*c,* 2*d*1, 2*d*<sup>2</sup> *v* . Then the polymorphic functions *if-then-else* and *if-then-else-fail* of types (*nn*), (*n*),

<sup>0</sup>*If-then-else* = *p d*1 *d*<sup>2</sup> 2[0I\* *c* [[*p*  [*c = d1*]] [*p*  [*c = d2*]]]] <sup>0</sup>*If-then-else-fail* = *p d*1 2[0I\* *c* [[*p*  [*c = d1*]] [*p*  <sup>0</sup>**F**]]] Now we are ready to specify a **general analytic schema of an (empirical) sentence S associated with a presupposition** *P***.** In a technical jargon of English the evaluation

Let *P*/*n*  be a construction of a presupposition, *S*/*n*  the meaning of the sentence

*wt* [0*If-then-else-fail Pwt 0Swt*] =

*wt* 2[0I\**c* [[*Pwt* [*c =* 0*Swt*]] [*Pwt* <sup>0</sup>**F**]]] The evaluation of *S* for any *w*, *t*-pair depends on whether the presupposition *P* is true at *w*, *t*. If true, the singleton *v-*constructed by *c* [ … ] contains as the only construction to be executed 0*Swt* that is afterwards double executed. The first execution produces *Swt* and the second execution produces a truth-value. If *Pwt v-*constructs **T**, then the second conjunct becomes the Composition [0**T**  <sup>0</sup>**F**] and thus we get *c* 0**F**. The *v-*constructed set is *empty*. Hence, [I\**c* <sup>0</sup>**F**] is *v-*improper, and the Double Execution *fails* to produce a truth-value.

Now we can finish the analysis of Strason's example (3). *First*, make a choice between executing the Composition [[0*All* [0*Child\_ofwt* <sup>0</sup>*John*]] 0*Sleepwt*] and a *v-*improper construction that fails to produce a truth-value. If the Composition [0*x* [[0*Child\_ofwt* <sup>0</sup>*John*] *x*]] *v*constructs **T** then the former, else the latter. The choice itself is realized by this Composition: [0I\**c* [[*x* [[0*Child\_ofwt* 0*John*] *x*] [*c=*0[[0*All* [0*Child\_ofwt* 0*John*]] 0*Sleepwt*]]] [*x* [[0*Child\_ofwt* 0*John*] *x*] <sup>0</sup>**F**]]]

28 In case *P* is *v-*improper the singleton is empty and *no* construction is selected to be executed so the

Def. 2, vi). As a result, the schematic analysis of "If *P* then *C*, else *D*" turns out to be

to this set returns as its value the only member of the set, i.e. either *C* or *D.*<sup>28</sup>

(\*) 2[0I\* *c* [[*P*  [*c=*0*C*]] [*P*  [*c=*0*D*]]]]

respectively, are defined as follows:

instruction can be formulated as follows:

At any *w, t*-pair do this:

execution aborts.

down to intensional or extensional one. Thus we define:

if *Pwt* is true then evaluate *Swt*, else *Fail* (to produce a truth-value).

S and *c*/*n+*<sup>1</sup> *<sup>v</sup> <sup>n</sup>* a variable. Then the corresponding TIL construction is this:

*Second*, execute the chosen construction. To this end we apply *Double Execution*:

2[0I\**c* [[*x* [[0*Child\_ofwt* 0*John*] *x*] [*c=*0[[0*All* [0*Child\_ofwt* 0*John*]] 0*Sleepwt*]]] [*x* [[0*Child\_ofwt* 0*John*] *x*] <sup>0</sup>**F**]]]

The evaluation of this construction for any *w, t* depends on whether the presupposition condition *x* [[0*Child\_ofwt* 0*John*] *x*] is true at *w, t*:


Finally, we must abstract over the values of *w* and *t* in order to construct a proposition of type denoted by the sentence. The resulting analysis of (3) is this:

(3\*) *wt* 2[0I\**c* [*x* [[0*Child\_ofwt* 0*John*] *x*] [*c=*0[[0*All* [0*Child\_ofwt* 0*John*]] 0*Sleepwt*] [*x* [[0*Child\_ofwt* 0*John*] *x*] <sup>0</sup>**F**]]]

In the interest of better readability I will in the remainder use a more standard notation. Hence instead of either "*wt* [0*If-then-else-fail Pwt* <sup>0</sup>*Swt*]" or "*wt* 2[0I\**c* [[*Pwt* [*c =* 0*Swt*]] [*Pwt* <sup>0</sup>**F**]]]" I will simply write "*wt* [If *Pwt* then *Swt* else Fail]".

## **5.2 Additional examples**

Consider now another pair of sentences differing only in terms of topic-focus articulation:


While (4) not only entails but also presupposes that there be a global financial and economic crisis, the truth-conditions of (5) are different, as our analysis clarifies. First, (4) as well as

(4') "The *global financial and economic crisis* was not caused by Bank of America"

are about the global crisis, and that there is such a crisis is not only entailed but also presupposed by both sentences. The instruction encoded by (4) formulated in logician's English is this:

"*If* there is a global crisis *then* return **T** or **F** according as the crisis was caused by the Bank of America, *else fail* (to produce a truth-value)"

Since every TIL analysis is fully compositional, we first need to analyse the particular constituents of this instruction, and then combine these constituents into the construction expressed by the sentence. As always, we start with assigning types to the objects that receive mention in the sentence. Simplifying a bit, let the objects be: *Crisis*/: the

Resolving Topic-Focus Ambiguities in Natural Language 261

22, 1963, by "The police were seeking the murderer of JFK, but never found him". The sentence is again ambiguous due to a difference in topic-focus articulation, as evidenced by

The existence of the murderer of JFK is not presupposed by (6), unlike (7). The sentence (6) can be true in such states-of-affairs where JFK was not murdered, unlike (7). The latter can be reformulated in a less ambiguous way as "*The murderer of JFK* was looked for by the

*wt* [If [0*Existwt wt* [0*Murderer\_ofwt* 0*JFK*] then [[0*Seekwt* <sup>0</sup>*Police wt* [0*Murderer\_ofwt* 0*JFK*]] [0*Findwt* <sup>0</sup>*Police wt* [0*Murderer\_ofwt* 0*JFK*]]] else *Fail*. Types: *Seek*, *Find*/(): the relation-in-intension between an individual and an individual office (the seeker wants to find out who is the holder of the office); *Police*/;

*wt* [[0*Seekwt* <sup>0</sup>*Police* [*wt* [0*Murderer\_ofwt* 0*JFK*]]] [0*Findwt* <sup>0</sup>*Police* [*wt* [0*Murderer\_ofwt* 0*JFK*]]]]. If the police did not find the murderer then either the murderer did not exist or the murderer did exist; only the search was not successful. However, if the foregoing search was successful, then it is true that police found the murderer and the murderer exists. Hence, a successful search, i.e. *finding* after a foregoing search, merely entails that the murderer exists

*wt* [0*Findwt* <sup>0</sup>*Police* [*wt* [0*Murderer\_ofwt* 0*JFK*]]] *wt* [0*Existwt* [*wt* [0*Murderer\_ofwt* 0*JFK*]]] In order to logically reproduce this entailment, we explicate *finding after a foregoing search* in

*wt* [0*Findwt x c*] = *wt* [[0*Existwt c*] [[0*Existwt c*] [0*Success\_Searchwt x c*]]]; *wt* [0*Findwt x c*] = *wt* [[0*Existwt c*] [[0*Existwt c*] [0*Success\_Searchwt x c*]]]. Thus the analysis of such an explication of the sentence "The *police* found the murderer of

*wt* [[0*Existwt wt* [0*Murderer\_ofwt* 0*JFK*]] [[0*Existwt wt* [0*Murderer\_ofwt* 0*JFK*]] [0*Success\_Searchwt* 0*Police wt* [0*Murderer\_ofwt* 0*JFK*]]]] From this analysis one can validly infer that the murderer exists and that the search was successful, just as we ought to be able to. And if the so constructed proposition is not true,

31 For the sake of simplicity, past tense and anaphoric reference are ignored. For a more detailed analysis of this kind of seeking and finding, see, for instance, (Duží 2003) or (Duží *et al.*, 2010a, § 5.2.2).

(6) The *police* were seeking the murderer of JFK, but never found him. (7) The police were seeking *the murderer of JFK*, but never found him.

police, but was never found". This sentence expresses the construction

On the other hand, the analysis of (6) comes down to this construction:

a manner similar to *causing* (*x <sup>v</sup>* ; *c <sup>v</sup>* ; *Success\_Search*/()):

(6) and (7):

*Murderer\_of*/(); *JFK*/.31

and the following argument is valid:

JFK" is this Closure:

proposition that there is a global financial and economic crisis; *Cause*/(): the relationin-intension between an individual and a proposition which has been caused to be true by the individual; *Bank\_of\_America*/: the individual office occupiable by a corporation belonging to the American financial institutions.

A schematic analysis of (4) comes down to this procedure:

*wt* [If <sup>0</sup>*Crisiswt* then [0*Truewt wt* [0*Causewt* 0*Bank\_of\_Americawt* <sup>0</sup>*Crisis*]] else Fail]

Here we are again using the propositional property *True* in the then-clause, because this clause occurs in the focus of the sentence, and thus with *de dicto* supposition. The existence of the Bank of America is not presupposed.

The truth-conditions of the other reading with 'Bank of America' as topic are different. Now the sentence (5) is about the Bank of America (topic), ascribing to this corporation the property that it caused the crisis (focus). Thus the scenario of truly asserting that (5) is *not true* can be, for instance, this. Though it is true that the Bank of America played a major role in risky investments in China, the President of USA played a positive role in enhancing financial-market transparency and passed new laws that prevented a global crisis from arising. Or, a less optimistic scenario is thinkable. The global financial and economic crisis is not due to the Bank of America's bad investments but because in the era of globalisation the market economy is unpredictable, hence uncontrollable. Hence, that there is a crisis is not presupposed by (5), and its analysis is this Closure:

*wt* [If [0*Existwt* <sup>0</sup>*Bank\_of\_America*] then [0*Truewt wt* [0*Causewt* <sup>0</sup>*Bank\_of\_Americawt* <sup>0</sup>*Crisis*]] else Fail]

Note that (5) presupposes the existence of the Bank of America, while the existence of the crisis is not presupposed. Yet, if (5) is true, then the existence of the crisis can be validly inferred. To capture such truth-conditions, we need to refine the analysis. A plausible explication of this phenomenon is this: *x* is a cause of a proposition *p* iff *p* is true and if it is so then *x* affected *p* so as to become true*.* Schematically,

*wt* [0*Causewt x p*] = *wt* [*pwt* [*pwt* [0*Affectwt x p*]]]

Types: *Cause*, *Affect*/(); *x*  , : any type; *p*  .

If *x* is not a cause of *p*, then either *p* is not true or *p* is true but *x* did not affect *p* so as to become true: *wt* [0*Causewt x p*] = *wt* [*pwt* [*pwt*  [0*Affectwt x p*]]].29 By applying such an explication to our sentence, the construction corresponding to the 'then clause', *viz. wt* [0*Causewt* <sup>0</sup>*Bank\_of\_Americawt* <sup>0</sup>*Crisis*], is refined to:

wt [0 Crisiswt [0 Crisiswt [0 Affectwt 0 Bank\_of\_Americawt <sup>0</sup> Crisis]]]

This Closure entails that there is a crisis, which is the desired (logical, though not economic) outcome.

The topic-focus ambiguity also crops up in the case of propositional and notional attitudes, as noted in the Introduction.30 Imagine one is referring to the tragedy in Dallas, November

<sup>29</sup> For the sake of simplicity, I ignore here the past tense 'affected'; a more precise analysis is this: *wt* [*pwt* [*pwt t*' [[*t*' < *t*] [0*Affectwt' x p*]]]].

<sup>30</sup> For an analysis of propositional attidues *de dicto* and *de re*, see (Duží *et al.*, 2010a, § 5.1.2).

proposition that there is a global financial and economic crisis; *Cause*/(): the relationin-intension between an individual and a proposition which has been caused to be true by the individual; *Bank\_of\_America*/: the individual office occupiable by a corporation

*wt* [If <sup>0</sup>*Crisiswt* then [0*Truewt wt* [0*Causewt* 0*Bank\_of\_Americawt* <sup>0</sup>*Crisis*]] else Fail] Here we are again using the propositional property *True* in the then-clause, because this clause occurs in the focus of the sentence, and thus with *de dicto* supposition. The existence

The truth-conditions of the other reading with 'Bank of America' as topic are different. Now the sentence (5) is about the Bank of America (topic), ascribing to this corporation the property that it caused the crisis (focus). Thus the scenario of truly asserting that (5) is *not true* can be, for instance, this. Though it is true that the Bank of America played a major role in risky investments in China, the President of USA played a positive role in enhancing financial-market transparency and passed new laws that prevented a global crisis from arising. Or, a less optimistic scenario is thinkable. The global financial and economic crisis is not due to the Bank of America's bad investments but because in the era of globalisation the market economy is unpredictable, hence uncontrollable. Hence, that there is a crisis is not

*wt* [If [0*Existwt* <sup>0</sup>*Bank\_of\_America*] then [0*Truewt wt* [0*Causewt* <sup>0</sup>*Bank\_of\_Americawt* <sup>0</sup>*Crisis*]] else Fail] Note that (5) presupposes the existence of the Bank of America, while the existence of the crisis is not presupposed. Yet, if (5) is true, then the existence of the crisis can be validly inferred. To capture such truth-conditions, we need to refine the analysis. A plausible explication of this phenomenon is this: *x* is a cause of a proposition *p* iff *p* is true and if it is

*wt* [0*Causewt x p*] = *wt* [*pwt* [*pwt* [0*Affectwt x p*]]]

If *x* is not a cause of *p*, then either *p* is not true or *p* is true but *x* did not affect *p* so as to become true: *wt* [0*Causewt x p*] = *wt* [*pwt* [*pwt*  [0*Affectwt x p*]]].29 By applying such an explication to our sentence, the construction corresponding to the 'then clause', *viz. wt*

> Affectwt0

This Closure entails that there is a crisis, which is the desired (logical, though not economic)

The topic-focus ambiguity also crops up in the case of propositional and notional attitudes, as noted in the Introduction.30 Imagine one is referring to the tragedy in Dallas, November

29 For the sake of simplicity, I ignore here the past tense 'affected'; a more precise analysis is this:

30 For an analysis of propositional attidues *de dicto* and *de re*, see (Duží *et al.*, 2010a, § 5.1.2).

Bank\_of\_America

wt <sup>0</sup> Crisis

]]]

belonging to the American financial institutions.

of the Bank of America is not presupposed.

presupposed by (5), and its analysis is this Closure:

so then *x* affected *p* so as to become true*.* Schematically,

Types: *Cause*, *Affect*/(); *x*  , : any type; *p*  .

Crisiswt[0

[0*Causewt* <sup>0</sup>*Bank\_of\_Americawt* <sup>0</sup>*Crisis*], is refined to:

Crisiswt[0

*wt* [*pwt* [*pwt t*' [[*t*' < *t*] [0*Affectwt' x p*]]]].

wt[0

outcome.

A schematic analysis of (4) comes down to this procedure:

22, 1963, by "The police were seeking the murderer of JFK, but never found him". The sentence is again ambiguous due to a difference in topic-focus articulation, as evidenced by (6) and (7):


The existence of the murderer of JFK is not presupposed by (6), unlike (7). The sentence (6) can be true in such states-of-affairs where JFK was not murdered, unlike (7). The latter can be reformulated in a less ambiguous way as "*The murderer of JFK* was looked for by the police, but was never found". This sentence expresses the construction

*wt* [If [0*Existwt wt* [0*Murderer\_ofwt* 0*JFK*] then [[0*Seekwt* <sup>0</sup>*Police wt* [0*Murderer\_ofwt* 0*JFK*]] [0*Findwt* <sup>0</sup>*Police wt* [0*Murderer\_ofwt* 0*JFK*]]] else *Fail*.

Types: *Seek*, *Find*/(): the relation-in-intension between an individual and an individual office (the seeker wants to find out who is the holder of the office); *Police*/; *Murderer\_of*/(); *JFK*/.31

On the other hand, the analysis of (6) comes down to this construction:

*wt* [[0*Seekwt* <sup>0</sup>*Police* [*wt* [0*Murderer\_ofwt* 0*JFK*]]] [0*Findwt* <sup>0</sup>*Police* [*wt* [0*Murderer\_ofwt* 0*JFK*]]]].

If the police did not find the murderer then either the murderer did not exist or the murderer did exist; only the search was not successful. However, if the foregoing search was successful, then it is true that police found the murderer and the murderer exists. Hence, a successful search, i.e. *finding* after a foregoing search, merely entails that the murderer exists and the following argument is valid:

*wt* [0*Findwt* <sup>0</sup>*Police* [*wt* [0*Murderer\_ofwt* 0*JFK*]]]

 *wt* [0*Existwt* [*wt* [0*Murderer\_ofwt* 0*JFK*]]]

In order to logically reproduce this entailment, we explicate *finding after a foregoing search* in a manner similar to *causing* (*x <sup>v</sup>* ; *c <sup>v</sup>* ; *Success\_Search*/()):

*wt* [0*Findwt x c*] = *wt* [[0*Existwt c*] [[0*Existwt c*] [0*Success\_Searchwt x c*]]]; *wt* [0*Findwt x c*] = *wt* [[0*Existwt c*] [[0*Existwt c*] [0*Success\_Searchwt x c*]]].

Thus the analysis of such an explication of the sentence "The *police* found the murderer of JFK" is this Closure:

*wt* [[0*Existwt wt* [0*Murderer\_ofwt* 0*JFK*]] [[0*Existwt wt* [0*Murderer\_ofwt* 0*JFK*]] [0*Success\_Searchwt* 0*Police wt* [0*Murderer\_ofwt* 0*JFK*]]]]

From this analysis one can validly infer that the murderer exists and that the search was successful, just as we ought to be able to. And if the so constructed proposition is not true,

<sup>31</sup> For the sake of simplicity, past tense and anaphoric reference are ignored. For a more detailed analysis of this kind of seeking and finding, see, for instance, (Duží 2003) or (Duží *et al.*, 2010a, § 5.2.2).

Resolving Topic-Focus Ambiguities in Natural Language 263

not pass the final exam". Moreover, the positive sentence merely entails (and so does not presuppose) that the final exam has taken place. This is so because the sentence can be false for either of two reasons: Either some of the students did not succeed, or none of the

*Scenario 2*: The topic is the final exam. Somebody asks, "What about the final exam in Logic, what are the results?" One possible answer is, "All students passed". Now the sentence presupposes that the final exam have already taken place. If it has not then the sentence is neither true nor false, because the negated sentence ("The final exam has not been passed by all students …") cannot be true, either. In this situation the (positive) sentence does not

The logical machinery of TIL, thanks not least to the application of Definition 4, makes it easy to properly distinguish between those two non-equivalent readings. In the situation

> *wt* [If [0 [0*Students\_enrolled\_inwt* <sup>0</sup>*Logic*] then [[0*All* [0*Students\_enrolled\_inwt* <sup>0</sup>*Logic*]] [0*Passedwt* 0*Exam*] else *Fail*]

*wt* [If *Examwt* than [[0*All* [0*Students\_enrolled\_inwt* <sup>0</sup>*Logic*]] [0*Passedwt* 0*Exam*] else *Fail*] *Types*: /(()): the existential quantifier; *Students\_enrolled\_in*/(()): an attribute (i.e. empirical function) that dependently on a given state-of-affairs assigns to an individual a set of individuals; *Logic*/ (for the sake of simplicity); *All*/((())()): a restricted quantifier, which is a function assigning to a set *S* of individuals the set of all supersets of *S*; *Passed*/(()): a function that dependently on a given state-of-affairs associates a proposition (in this case an event) with the set of individuals (who are the successful actors

In this chapter I brought out the *semantic*, as opposed to pragmatic, character of the ambivalence stemming from topic-focus articulation. The procedural semantics of TIL provided rigorous analyses such that sentences differing only in their topic-focus articulation were assigned different constructions producing different propositions (truthconditions) and having different consequences. I showed that a definite description occurring in the topic of a sentence with *de re* supposition corresponds to the Strawsonian analysis of definite descriptions, while a definite description occurring in the focus with *de dicto* supposition corresponds to the Russellian analysis. While the clause standing in topic

32 For the sake of simplicity we are ignoring the past tense of the sentence. For the TIL analysis of tenses, see (Duží et al., 2010a, § 2.5.2). Similarly as above, see the sentence (3), we again apply the restricted quantifier *All* in the analysis of the clause "All students who signed up for Logic passed the exam'.

students succeeded because the exam has yet to take place.

The second scenario receives this Closure as analysis:

**6. Conclusion** 

presuppose, but only entails, that some students signed up for the course.

of the event); *Exam*/: the proposition that the final exam takes place.32

corresponding to the first scenario the meaning of the sentence is this Closure:

then the murderer does not exist or the murder does exist, only the search did not meet with success.

The next example I am going to analyse is again due to (Hajičová, 2008):


Leaving aside the possible disambiguation "John introduced only *Bill* to Sue" vs. "John introduced Bill only to *Sue*", (8) can be truly affirmed only in a situation where John did not introduce other people to Sue than Bill. This is not the case of (9). This sentence can be true in a situation where John introduced other people to Sue, but the only person Bill was introduced to by John was Sue. Hence the presuppositions of (8) and (9) are constructed by these Closures:


The construction *C* that is to be executed in case a relevant presupposition is true is here the Closure *wt* [0*Int\_towt* 0*John* 0*Bill* 0*Sue*]. *Types*: *Int\_to*/(): a relation-in-intension between the individual *who* does the introducing, another individual *who* is introduced, and yet another individual to *whom* the second individual was introduced; *John*, *Sue*, *Bill*/.

The resulting analyses are

else fail]*.*

$$\begin{aligned} \text{(8\*)} \qquad & \quad \lambda w \flat \lambda \text{t} \left[ \text{If } \forall x \left[ \text{[} \!\!\!\text{Int\\_to\\_{wt}\!\!\text{J} \;\text{dom}\,\text{x}\ \text{\;\!\text{Sue}}] \supset [\text{x} = \text{@Bill}] \right] \text{ then } [\text{[} \!\!\text{Int\\_to\\_{wt}\!\text{J} \;\text{dom}\,\text{o}\ \text{Bill} \;\text{o}\ \text{Sue}] \;\text{st}] \\ & \quad \text{else } \text{fail} \;\text{[} \text{If } \forall y \left[ \text{[} \!\!\text{Int\\_to\\_{wt}\!\text{J} \;\text{lo}\ \text{on}\ \text{Bill} \;\text{y}] \supset [\text{y} = \text{@Sue}] \right] \text{ then } [\text{[} \!\text{Int\\_to\\_{wt}\!\text{J} \;\text{lo}\ \text{on}\ \text{Bill} \;\text{o}\ \text{Sue}] \;\text{u} ]} \end{aligned} $$

Using technical jargon, the truth-conditions constructed by the construction (8\*) are, "If the only person that was introduced by John to Sue is Bill, then it is true that John introduced only *Bill* to Sue, otherwise there is no truth-value". Similarly for (9\*).

For the last example, consider the sentence

"All students of VSB-TU Ostrava who signed up for the Logic course in the winter term of 2011 passed the final exam."

There are again two readings matching two possible scenarios.

*Scenario 1*: We are talking about the students of VSB-Technical University Ostrava, and somebody then asks, "What about the students of VSB-TU Ostrava who signed up for the Logic course in the winter term of 2011 – how did they do?". The answer is, "They did well, they all passed the final exam".

In this case the topic of the sentence is the students enrolled in the Logic course. Thus the sentence comes with the presupposition that there should be students of VSB-TU Ostrava having signed up for Logic in the winter term of 2011. If this presupposition is not satisfied (for instance, because the course runs only in the summer term) then the sentence is neither true nor false, leaving a truth-value gap*.* For the negated sentence cannot be true, either: "Some students of VSB-TU Ostrava who signed up for Logic in the winter term of 2011 did

then the murderer does not exist or the murder does exist, only the search did not meet with

Leaving aside the possible disambiguation "John introduced only *Bill* to Sue" vs. "John introduced Bill only to *Sue*", (8) can be truly affirmed only in a situation where John did not introduce other people to Sue than Bill. This is not the case of (9). This sentence can be true in a situation where John introduced other people to Sue, but the only person Bill was introduced to by John was Sue. Hence the presuppositions of (8) and (9) are constructed by

The construction *C* that is to be executed in case a relevant presupposition is true is here the Closure *wt* [0*Int\_towt* 0*John* 0*Bill* 0*Sue*]. *Types*: *Int\_to*/(): a relation-in-intension between the individual *who* does the introducing, another individual *who* is introduced, and yet

another individual to *whom* the second individual was introduced; *John*, *Sue*, *Bill*/.

(8\*) *wt*[If *x* [[0*Int\_towt* 0*John x* 0*Sue*] [*x =* 0*Bill*]] then [0*Int\_towt* 0*John* 0*Bill* 0*Sue*]

(9\*) *wt* [If *y* [[0*Int\_towt* 0*John* <sup>0</sup>*Bill y*] [*y =* 0*Sue*]] then [0*Int\_towt* 0*John* 0*Bill* 0*Sue*]

Using technical jargon, the truth-conditions constructed by the construction (8\*) are, "If the only person that was introduced by John to Sue is Bill, then it is true that John introduced

> "All students of VSB-TU Ostrava who signed up for the Logic course in the winter term of 2011 passed the final exam."

*Scenario 1*: We are talking about the students of VSB-Technical University Ostrava, and somebody then asks, "What about the students of VSB-TU Ostrava who signed up for the Logic course in the winter term of 2011 – how did they do?". The answer is, "They did well,

In this case the topic of the sentence is the students enrolled in the Logic course. Thus the sentence comes with the presupposition that there should be students of VSB-TU Ostrava having signed up for Logic in the winter term of 2011. If this presupposition is not satisfied (for instance, because the course runs only in the summer term) then the sentence is neither true nor false, leaving a truth-value gap*.* For the negated sentence cannot be true, either: "Some students of VSB-TU Ostrava who signed up for Logic in the winter term of 2011 did

The next example I am going to analyse is again due to (Hajičová, 2008):

*Presupposition of (8)*: *wt* [*x* [[0*Int\_towt* 0*John x* 0*Sue*] [*x =* 0*Bill*]]] *Presupposition of (9)*: *wt* [*y* [[0*Int\_towt* 0*John* <sup>0</sup>*Bill y*] [*y =* 0*Sue*]]]

only *Bill* to Sue, otherwise there is no truth-value". Similarly for (9\*).

There are again two readings matching two possible scenarios.

(8) "John only introduced *Bill* to Sue." (9) "John only introduced Bill to *Sue*."

success.

these Closures:

The resulting analyses are

else fail]*.*

they all passed the final exam".

else fail];

For the last example, consider the sentence

not pass the final exam". Moreover, the positive sentence merely entails (and so does not presuppose) that the final exam has taken place. This is so because the sentence can be false for either of two reasons: Either some of the students did not succeed, or none of the students succeeded because the exam has yet to take place.

*Scenario 2*: The topic is the final exam. Somebody asks, "What about the final exam in Logic, what are the results?" One possible answer is, "All students passed". Now the sentence presupposes that the final exam have already taken place. If it has not then the sentence is neither true nor false, because the negated sentence ("The final exam has not been passed by all students …") cannot be true, either. In this situation the (positive) sentence does not presuppose, but only entails, that some students signed up for the course.

The logical machinery of TIL, thanks not least to the application of Definition 4, makes it easy to properly distinguish between those two non-equivalent readings. In the situation corresponding to the first scenario the meaning of the sentence is this Closure:

> *wt* [If [0 [0*Students\_enrolled\_inwt* <sup>0</sup>*Logic*] then [[0*All* [0*Students\_enrolled\_inwt* <sup>0</sup>*Logic*]] [0*Passedwt* 0*Exam*] else *Fail*]

The second scenario receives this Closure as analysis:

*wt* [If *Examwt* than [[0*All* [0*Students\_enrolled\_inwt* <sup>0</sup>*Logic*]] [0*Passedwt* 0*Exam*] else *Fail*]

*Types*: /(()): the existential quantifier; *Students\_enrolled\_in*/(()): an attribute (i.e. empirical function) that dependently on a given state-of-affairs assigns to an individual a set of individuals; *Logic*/ (for the sake of simplicity); *All*/((())()): a restricted quantifier, which is a function assigning to a set *S* of individuals the set of all supersets of *S*; *Passed*/(()): a function that dependently on a given state-of-affairs associates a proposition (in this case an event) with the set of individuals (who are the successful actors of the event); *Exam*/: the proposition that the final exam takes place.32

## **6. Conclusion**

In this chapter I brought out the *semantic*, as opposed to pragmatic, character of the ambivalence stemming from topic-focus articulation. The procedural semantics of TIL provided rigorous analyses such that sentences differing only in their topic-focus articulation were assigned different constructions producing different propositions (truthconditions) and having different consequences. I showed that a definite description occurring in the topic of a sentence with *de re* supposition corresponds to the Strawsonian analysis of definite descriptions, while a definite description occurring in the focus with *de dicto* supposition corresponds to the Russellian analysis. While the clause standing in topic

 32 For the sake of simplicity we are ignoring the past tense of the sentence. For the TIL analysis of tenses, see (Duží et al., 2010a, § 2.5.2). Similarly as above, see the sentence (3), we again apply the restricted quantifier *All* in the analysis of the clause "All students who signed up for Logic passed the exam'.

Resolving Topic-Focus Ambiguities in Natural Language 265

Duží, M. (2004). Intensional Logic and the Irreducible Contrast between *de dicto* and *de re*.

Duží, M. (2009a). Strawsonian vs. Russellian definite descriptions. *Organon F*, vol. XVI, No.

Duží, M. (2009b). Topic-focus articulation from the semantic point of view. In: *Computational* 

Duží, M. (2010). The paradox of inference and the non-triviality of analytic information. *Journal of Philosophical Logic*, vol. 39, No. 5, pp. 473-510. ISSN 0022-3611 Duží, M & Jespersen, B. (forthcoming). 'Transparent quantification into hyperpropositional

Duží, M., Jespersen, B. & Materna, P. (2010b). The *logos* of semantic structure. In: *Philosophy* 

Fintel, Kai von (2004). Would you believe it? The King of France is Back! (Presuppositions

Frege, G. (1892). Über Sinn und Bedeutung. *Zeitschrift für Philosophie und philosophische Kritik*,

Hajičová, E. (2008). What we are talking about and what we are saying about it. In:

Jespersen, B. (2008). Predication and extensionalization. *Journal of Philosophical Logic*, vol. 37,

Kripke, S., (1977). Speaker reference and semantic reference. In: *Contemporary Perspectives in* 

Neale, S., (2004). This, that, and the other. In: *Descriptions and Beyond*, A. Bezuidenhout and

M. Reimer (eds.), Oxford: Oxford University Press, pp. 68-182.

Tichý, P. (1988). *The Foundations of Frege's Logic*, Berlin, New York: De Gruyter.

Strawson, P.F., (1964). Identifying reference and truth-values, *Theoria* vol. 3, pp. 96-118.

Russell, B., (1957). Mr. Strawson on referring, *Mind* vol. 66, pp. 385-389.

Strawson, P. F. (1952). *Introduction to Logical Theory.* London: Methuen.

A. (eds.), Oxford: Clarendon Press, ISBN 0-19-927051-1, pp. 315 – 341.

Duží, M. & Jespersen, B. (submitted). An argument against unrestricted beta-reduction. Duží, M., Jespersen, B. & Materna, P. (2010a): *Procedural Semantics for Hyperintensional Logic*;

*Linguistics and Intelligent Text Processing*, A. Gelbukh (Ed.), Berlin, Heidelberg:

*Foundations and Applications of Transparent Intensional Logic.* Berlin: Springer, series Logic, Epistemology, and the Unity of Science, vol. 17, 2010, ISBN 978-90-481-8811-

*of Language and Linguistics*, vol. 1: The Formal Turn. P. Stalmaszczyk (ed.) Frankfurt:

and Truth-Value Intuitions). In: *Descriptions and Beyond*, Reimer, M., Bezuidenhout,

*Computational Linguistics and Intelligent Text Processing*, A. Gelbukh (Ed.), Berlin,

*the Philosophy of Language*, French, Uehling and Wettstein (eds.), Minneapolis:

*ProFil*, vol. 5, No. 1, pp. 1-34, ISSN 1212-9097

Springer-Verlag LNCS, vol. 5449, 220-232.

Ontos Verlag, ISBN 978-3-86838-070-5, pp. 85-102.

Frege, G. (1884). *Die Grundlagen der Arithmetik*, Breslau: W. Koebner.

Heidelberg: Springer-Verlag LNCS, vol. 4919, 241-262.

University of Minnestoa Press, p. 6-27.

Neale, S., (1990). *Descriptions*. Cambridge: MIT Press Books.

Russell, B. (1905). On denoting. *Mind* vol. 14, pp. 479-493.

Strawson, P. F. (1950). On referring, *Mind* vol. 59, pp. 320-334.

Ludlow, P. (2007). Descriptions. Available from http://plato.stanford.edu/entries/descriptions/#2.

4, pp. 587-614, ISSN 1335-0668

contexts *de re*', *Logique et Analyse*.

6, 550 pp.

vol. 100, pp. 25-50.

pp. 479 – 499.

position triggers a presupposition, a focus clause usually entails rather than presupposes another proposition. Thus both opponents and proponents of Russell's quantificational analysis of definite descriptions are partly right and partly wrong.

Moreover, the proposed analysis of the Russellian reading does not deprive definite descriptions of their meaning. Just the opposite; 'the *F*' receives a context-invariant meaning. What is dependent on context is the way this (one and the same) meaning is used. Thus I also demonstrated that Donnellan-style referential and attributive uses of an occurrence of 'the *F*' do not bring about a shift of meaning of 'the *F*'. Instead, one and the same context-invariant meaning is a constituent of different procedures that behave in different ways.

The proposed analysis of topic-focus ambivalence was then generalized to sentences containing not only singular clauses like 'the *F*' but also general clauses like 'John's children', 'all students' in the topic or focus of a sentence. As a result, I proposed a general analytic schema for sentences equipped with a presupposition. This analysis makes use of the definition of the *if-then-else* function that complies with the desirable principle of compositionality. This is also my novel contribution to the old problem of the semantic character of the specification of the *if-then-else* function. I demonstrated the method by analysing several examples including notional attitudes like seeking and finding.

The moral to be drawn from my contribution is this. Logical analysis disambiguates ambiguous expressions, but cannot dictate *which* disambiguation is the intended one (leaving room for pragmatics here). Yet, our fine-grained method of analysis contributes to language disambiguation by making its hidden features *explicit* and *logically tractable*. In case there are more senses of a sentence we furnish the sentence with different TIL logical forms. Having a formal, fine-grained encoding of linguistic senses at our disposal, we are in a position to automatically infer the relevant consequences.

## **7. Acknowledgments**

This research was funded by Grant Agency of the Czech Republic Project 401/10/0792 *Temporal Aspects of Knowledge and Information*. Versions of this study were read by the author as an invited talk at the University of Western Australia, Perth, Australia, March 4th, 2011. Portions of this chapter elaborate substantially on points made in (Duží, 2009a, 2009b). I am indebted to Bjørn Jespersen for valuable comments that improved the quality of this study.

## **8. References**

Carnap, R. (1947). *Meaning and Necessity*, Chicago: Chicago University Press.


position triggers a presupposition, a focus clause usually entails rather than presupposes another proposition. Thus both opponents and proponents of Russell's quantificational

Moreover, the proposed analysis of the Russellian reading does not deprive definite descriptions of their meaning. Just the opposite; 'the *F*' receives a context-invariant meaning. What is dependent on context is the way this (one and the same) meaning is used. Thus I also demonstrated that Donnellan-style referential and attributive uses of an occurrence of 'the *F*' do not bring about a shift of meaning of 'the *F*'. Instead, one and the same context-invariant meaning is a constituent of different procedures that behave in

The proposed analysis of topic-focus ambivalence was then generalized to sentences containing not only singular clauses like 'the *F*' but also general clauses like 'John's children', 'all students' in the topic or focus of a sentence. As a result, I proposed a general analytic schema for sentences equipped with a presupposition. This analysis makes use of the definition of the *if-then-else* function that complies with the desirable principle of compositionality. This is also my novel contribution to the old problem of the semantic character of the specification of the *if-then-else* function. I demonstrated the method by analysing several examples including notional attitudes like seeking and

The moral to be drawn from my contribution is this. Logical analysis disambiguates ambiguous expressions, but cannot dictate *which* disambiguation is the intended one (leaving room for pragmatics here). Yet, our fine-grained method of analysis contributes to language disambiguation by making its hidden features *explicit* and *logically tractable*. In case there are more senses of a sentence we furnish the sentence with different TIL logical forms. Having a formal, fine-grained encoding of linguistic senses at our disposal, we are in a

This research was funded by Grant Agency of the Czech Republic Project 401/10/0792 *Temporal Aspects of Knowledge and Information*. Versions of this study were read by the author as an invited talk at the University of Western Australia, Perth, Australia, March 4th, 2011. Portions of this chapter elaborate substantially on points made in (Duží, 2009a, 2009b). I am indebted to Bjørn Jespersen for valuable comments that improved the quality

Donnellan, K. S., (1966). Reference and definite descriptions, *Philosophical Review*, vol. 77,

Duží, M. (2003). Notional Attitudes (On wishing, seeking and finding). *Organon F*, vol. X,

Carnap, R. (1947). *Meaning and Necessity*, Chicago: Chicago University Press.

analysis of definite descriptions are partly right and partly wrong.

position to automatically infer the relevant consequences.

No. 3, pp. 237-260, ISSN 1335-0668

different ways.

finding.

**7. Acknowledgments** 

of this study.

**8. References** 

281-304.


Tichý, P. (2004). *Collected Papers in Logic and Philosophy*, V. Svoboda, B. Jespersen, C. Cheyne (eds.), Prague: Filosofia, Czech Academy of Sciences, and Dunedin: University of Otago Press.

Tichý, P. (2004). *Collected Papers in Logic and Philosophy*, V. Svoboda, B. Jespersen, C. Cheyne

Otago Press.

(eds.), Prague: Filosofia, Czech Academy of Sciences, and Dunedin: University of

## *Edited by Muhammad Tanvir Afzal*

The current book is a combination of number of great ideas, applications, case studies, and practical systems in the domain of Semantics. The book has been divided into two volumes. The current one is the second volume which highlights the state-ofthe-art application areas in the domain of Semantics. This volume has been divided into four sections and ten chapters. The sections include: 1) Software Engineering, 2) Applications: Semantic Cache, E-Health, Sport Video Browsing, and Power Grids, 3) Visualization, and 4) Natural Language Disambiguation. Authors across the World have contributed to debate on state-of-the-art systems, theories, models, applications areas, case studies in the domain of Semantics. Furthermore, authors have proposed new approaches to solve real life problems ranging from e-Health to power grids, video browsing to program semantics, semantic cache systems to natural language disambiguation, and public debate to software engineering.

Photo by farakos / iStock

Semantics in Action - Applications and Scenarios

Semantics in Action

Applications and Scenarios