Three-Valued Predicates for Software Specification and Validation

1991 ◽  
Vol 14 (4) ◽  
pp. 387-410
Author(s):  
Andrzej Blikle

Partial functions, hence also partial predicates, cannot be avoided in algorithms. However, in spite of the fact that partial functions have been formally introduced into the theory of software very early, partial predicates are still not quite commonly recognized. In many programming- and software-specification languages partial Boolean expressions are treated in a rather simplistic way: the evaluation of a Boolean sub-expression to an error leads to the evaluation of the hosting Boolean expression to an error and, in the consequence, to the abortion of the whole program. This technique is known as an eager evaluation of expressions. A more practical approach to the evaluation of expressions – gaining more interest today among both theoreticians and programming-language designers – is lazy evaluation. Lazily evaluated Boolean expressions correspond to (non-strict) three-valued predicates where the third value represents both an error and an undefinedness. On the semantic ground this leads to a three-valued propositional calculus, three-valued quantifiers and an appropriate logic. This paper is a survey-essay devoted to the discussion and the comparison of a few three-valued propositional and predicate calculi and to the discussion of the author’s claim that a two-valued logic, rather than a three-valued logic, is suitable for the treatment of programs with three-valued Boolean expressions. The paper is written in a formal but not in a formalized style. All discussion is carried on a semantic ground. We talk about predicates (functions) and a semantic consequence relation rather than about expressions and inference rules. However, the paper is followed by more formalized works which carry our discussion further on a formalized ground, and where corresponding formal logics are constructed and discussed.

Author(s):  
Michael J. O’Donnell

Sections 2.3.4 and 2.3.5 of the chapter ‘Introduction: Logic and Logic Programming Languages’ are crucial prerequisites to this chapter. I summarize their relevance below, but do not repeat their content. Logic programming languages in general are those that compute by deriving semantic consequences of given formulae in order to answer questions. In equational logic programming languages, the formulae are all equations expressing postulated properties of certain functions, and the questions ask for equivalent normal forms for given terms. Section 2.3.4 of the ‘Introduction . . .’ chapter gives definitions of the models of equational logic, the semantic consequence relation . . . T |=≐(t1 ≐ t2) . . . (t1 ≐ t2 is a semantic consequence of the set T of equations, see Definition 2.3.14), and the question answering relation . . . (norm t1,…,ti : t) ?- ≐ (t ≐ s) . . . (t ≐ s asserts the equality of t to the normal form s, which contains no instances of t1, . . . , ti, see Definition 2.3.16).


2019 ◽  
Vol 29 (04) ◽  
pp. 743-759
Author(s):  
Khí-Uí Soo ◽  
Tim Stokes

This paper establishes a finite axiomatization of possibly non-halting computer programs and tests, with the if-then-else operation. The model is a two-sorted algebra, with one sort being the programs and the other being the tests. The main operation on programs is composition, and 1 and 0 represent the programs skip and loop (i.e. never halts) respectively. Programs are modeled as partial functions on some state space [Formula: see text], with tests modeled as partial predicates on [Formula: see text]. The operations on the tests are the usual logical connectives ∧, ∨, [Formula: see text], [Formula: see text] and [Formula: see text]. In addition, there is the hybrid operation of if-then-else, and the test-valued operation [Formula: see text] on programs which is true when a program halts, and undefined otherwise. The halting operation [Formula: see text] implies that operations of domain [Formula: see text] and domain join ∨ may also be expressed. When tests are assumed to be possibly non-halting, the evaluation strategy of the logical connectives affects the result. Here we model parallel evaluation, as opposed to the common sequential (or short-circuit) evaluation strategy. For example, we view [Formula: see text] as false if either [Formula: see text] or [Formula: see text] is false, even if the other does not halt.


Fractals ◽  
2008 ◽  
Vol 16 (04) ◽  
pp. 305-315 ◽  
Author(s):  
TIAN-JIA NI ◽  
ZHI-YING WEN

The decision problem of satisfiability of Boolean expression in k-conjunctive normal form (kSAT) is a typical NP-complete problem. In this paper, by mapping the whole Boolean expressions in k-conjunctive normal form onto a unit hypercube, we visualize the problem space of kSAT. The pattern of kSAT is shown to have self-similarity which can be deciphered in terms of graph directed iterated function system. We provide that the Hausdorff dimension of the pattern of kSAT is equal to the box-counting dimension and increases with k. This suggests that the time complexity of kSAT increases with k.


2015 ◽  
Vol 2015 ◽  
pp. 1-10
Author(s):  
Hongxia Xie ◽  
Zheng-Yun Zhuang

This study proposes an algorithm for generating the associated Boolean expression in VHDL, given a ladder diagram (LD) as the input. The purpose of the algorithm is to implement of field-programmable gate array- (FPGA-) based programmable logic controllers (PLCs), where an effective conversion from an LD to its associated Boolean expressions seems rarely mentioned. Based on this core thought, the conversion process of the algorithm first involves abstracting and expressing the encountered LD as an activity-on-vertex (AOV) graph. Next, an AND-OR tree in which AND-nodes and OR-nodes connote the series and the parallel relationships between the vertices of the AOV graph is constructed based on the AOV graph. Therefore, by a traversal to the AND-OR tree, the associated Boolean expression, as the output of the algorithm, can be easily obtained in VHDL. The proposed algorithm is then verified with an illustrative example, wherein a complicated LD is given as the input.


1967 ◽  
Vol 31 ◽  
pp. 177-179
Author(s):  
W. W. Shane

In the course of several 21-cm observing programmes being carried out by the Leiden Observatory with the 25-meter telescope at Dwingeloo, a fairly complete, though inhomogeneous, survey of the regionl11= 0° to 66° at low galactic latitudes is becoming available. The essential data on this survey are presented in Table 1. Oort (1967) has given a preliminary report on the first and third investigations. The third is discussed briefly by Kerr in his introductory lecture on the galactic centre region (Paper 42). Burton (1966) has published provisional results of the fifth investigation, and I have discussed the sixth in Paper 19. All of the observations listed in the table have been completed, but we plan to extend investigation 3 to a much finer grid of positions.


1966 ◽  
Vol 25 ◽  
pp. 227-229 ◽  
Author(s):  
D. Brouwer

The paper presents a summary of the results obtained by C. J. Cohen and E. C. Hubbard, who established by numerical integration that a resonance relation exists between the orbits of Neptune and Pluto. The problem may be explored further by approximating the motion of Pluto by that of a particle with negligible mass in the three-dimensional (circular) restricted problem. The mass of Pluto and the eccentricity of Neptune's orbit are ignored in this approximation. Significant features of the problem appear to be the presence of two critical arguments and the possibility that the orbit may be related to a periodic orbit of the third kind.


1988 ◽  
Vol 102 ◽  
pp. 79-81
Author(s):  
A. Goldberg ◽  
S.D. Bloom

AbstractClosed expressions for the first, second, and (in some cases) the third moment of atomic transition arrays now exist. Recently a method has been developed for getting to very high moments (up to the 12th and beyond) in cases where a “collective” state-vector (i.e. a state-vector containing the entire electric dipole strength) can be created from each eigenstate in the parent configuration. Both of these approaches give exact results. Herein we describe astatistical(or Monte Carlo) approach which requires onlyonerepresentative state-vector |RV> for the entire parent manifold to get estimates of transition moments of high order. The representation is achieved through the random amplitudes associated with each basis vector making up |RV>. This also gives rise to the dispersion characterizing the method, which has been applied to a system (in the M shell) with≈250,000 lines where we have calculated up to the 5th moment. It turns out that the dispersion in the moments decreases with the size of the manifold, making its application to very big systems statistically advantageous. A discussion of the method and these dispersion characteristics will be presented.


Sign in / Sign up

Export Citation Format

Share Document