The Fixpoint Combinator in Combinatory Logic

17
2021-4180-AJS 1 The Fixpoint Combinator in Combinatory Logic – 1 A Step towards Autonomous Real-time Testing of 2 Software? 3 4 Combinatory Logic is an elegant and powerful logical theory that is used 5 in computer science as a theoretical model of computation. Its algebraic 6 structure supports self-application and is Turing-complete. However, 7 contrary to Lambda Calculus, it untangles the problem of substitution, 8 because bound variables are eliminated by inserting specific terms called 9 Combinators. It was introduced by Moses SchΓΆnfinkel (SchΓΆnfinkel, 10 1924) and Haskell Curry (Curry, 1930). Combinatory Logic uses just one 11 algebraic operation, namely combining two terms, yielding another valid 12 term of Combinatory Logic. Terms in models of Combinatory Logic look 13 like some sort of assembly language for mathematical logic. A Neural Al- 14 gebra, modeling the way we think, constitutes an interesting model of 15 Combinatory Logic. There are other models, also based on the Graph 16 Model (Engeler, 1981), such as software testing. This paper investigates 17 what Combinatory Logic contributes to modern software testing. 18 19 Keywords: combinatory logic, combinatory algebra, autonomous real- 20 time testing, recursion, software testing, artificial intelligence 21 22 23 The Organon 24 25 Aristotle’s legacy regarding formal logic has been transferred to us in a 26 collection of his thoughts compiled into a set of six books called the Orga- 27 non around 40 BCE by Andronicus of Rhodes or others among his followers 28 (Aristoteles, 367-344 BCE). The Organon with its syllogisms was the domi- 29 nant form of Western logic until 19 th -century advances in mathematical log- 30 ic. 31 Engeler recently noted the apparent lack of something that we today 32 consider fundamental for axiomatic geometry: relations. The question is 33 why. Aristotle had the means of developing this concept as well; however, 34 he chose not to do so. 35 Aristotle had the means of combining predicates. It is therefore possible 36 to construct an adequate model for Aristotle’ syllogism based on the struc- 37 tures of Combinatory Logic. Relations then become part of the model. 38 Engeler shows that Aristotle had no need for relations because the main 39 model he used – the Euclidean Geometry – does not require relations 40 (Engeler, 2020). 41 42 43 Introduction 44 45 A model of Combinatory Logic is an algebraic structure implementing 46 combinators in a non-trivial way. Such a model is called Combinatory Alge- 47

Transcript of The Fixpoint Combinator in Combinatory Logic

2021-4180-AJS

1

The Fixpoint Combinator in Combinatory Logic – 1

A Step towards Autonomous Real-time Testing of 2

Software? 3

4 Combinatory Logic is an elegant and powerful logical theory that is used 5 in computer science as a theoretical model of computation. Its algebraic 6 structure supports self-application and is Turing-complete. However, 7 contrary to Lambda Calculus, it untangles the problem of substitution, 8 because bound variables are eliminated by inserting specific terms called 9 Combinators. It was introduced by Moses SchΓΆnfinkel (SchΓΆnfinkel, 10 1924) and Haskell Curry (Curry, 1930). Combinatory Logic uses just one 11 algebraic operation, namely combining two terms, yielding another valid 12 term of Combinatory Logic. Terms in models of Combinatory Logic look 13 like some sort of assembly language for mathematical logic. A Neural Al-14 gebra, modeling the way we think, constitutes an interesting model of 15 Combinatory Logic. There are other models, also based on the Graph 16 Model (Engeler, 1981), such as software testing. This paper investigates 17 what Combinatory Logic contributes to modern software testing. 18

19 Keywords: combinatory logic, combinatory algebra, autonomous real-20 time testing, recursion, software testing, artificial intelligence 21

22

23

The Organon 24 25

Aristotle’s legacy regarding formal logic has been transferred to us in a 26

collection of his thoughts compiled into a set of six books called the Orga-27

non around 40 BCE by Andronicus of Rhodes or others among his followers 28

(Aristoteles, 367-344 BCE). The Organon with its syllogisms was the domi-29

nant form of Western logic until 19th

-century advances in mathematical log-30

ic. 31

Engeler recently noted the apparent lack of something that we today 32

consider fundamental for axiomatic geometry: relations. The question is 33

why. Aristotle had the means of developing this concept as well; however, 34

he chose not to do so. 35

Aristotle had the means of combining predicates. It is therefore possible 36

to construct an adequate model for Aristotle’ syllogism based on the struc-37

tures of Combinatory Logic. Relations then become part of the model. 38

Engeler shows that Aristotle had no need for relations because the main 39

model he used – the Euclidean Geometry – does not require relations 40

(Engeler, 2020). 41

42

43

Introduction 44 45

A model of Combinatory Logic is an algebraic structure implementing 46

combinators in a non-trivial way. Such a model is called Combinatory Alge-47

2021-4180-AJS

2

bra. As a minimum, it contains implementations for the 𝐈 combinator (iden-1

tity), the 𝐊 combinator for extracting parts of another term, and the 𝐒 com-2

binator that substitutes parts of a term by some other combinator. Another 3

famous combinator is the Fixpoint Combinator 𝐘, explaining recursion and 4

possible infinite iteration. These specific combinators are represented as 5

Constants in the language of Combinatory Logic, whereas other terms may 6

contain Variables. We refer to these general terms as Combinatory Terms 7

(BimbΓ³, 2012, p. 2). 8

Given a problem as a term 𝑋 in some suitable model, what should be its 9

solution? A problem is something that displays specific behavior, some-10

times unpredictable, and produces specific effects, often unwanted. Also, a 11

certain persistence is part of a problem; problems that disappear by them-12

selves are not particularly exciting. 13

A fixpoint point π˜π‘‹ with the property that π˜π‘‹ = 𝑋(π˜π‘‹), for any 14

term 𝑋 of Combinatory Logic, is thus something like a solution to the prob-15

lem. You can apply that solution as many times as deemed necessary and 16

the problem remains stable and confined. 17

When we encounter the problem of how to test a piece of software 𝑋, 18

and we have a test suite π˜π‘‹ with the fixpoint property, it looks like a solu-19

tion to our testing problem. Since we can measure tests, by counting its test 20

size, we can assess what means minimal effort for a test, and thus can get an 21

optimum. 22

The clue to Combinatory Logic is that β€œeverything is a function” – and 23

indeed, a unary function. Whenever anything can be understood as function 24

depending on two variables – 𝑓(π‘₯, 𝑦) – it is an application of a unary func-25

tion 𝑔 = 𝑓π‘₯ on a variable 𝑦. Thus, 𝑓(π‘₯, 𝑦) = 𝑔(𝑦) = (𝑓π‘₯)𝑦 = 𝑓π‘₯𝑦; 26

always assuming association to the left. This is known as Currying, convert-27

ing n-ary functions into a sequence of unary functions. 28

29

30

Combinatory Algebras 31 32

Combinatory Algebras are models of Combinatory Logic (Curry & 33

Feys, 1958) and (Curry, et al., 1972). Such algebras are closed under a com-34

bination operation 𝑀𝑁 for all terms of the algebra 𝑀, 𝑁; and two distinct 35

Combinators 𝐒 and 𝐊 can be defined with the following properties: 36

37

πŠπ‘ƒπ‘„ = 𝑃 (1)

38

and 39

40

𝐒𝑃𝑄𝑅 = 𝑃𝑄(𝑃𝑅) (2)

where 𝑃, 𝑄, 𝑅 are elements in the combinatory algebra1. 41

1The use of variables named 𝑃, 𝑄, 𝑅 is borrowed from Engeler (Engeler, 2020).

2021-4180-AJS

3

Thus, the combinator 𝐊 acts as projection, and 𝐒 is a substitution opera-1

tor for terms in the combinatory algebra. Like an assembly language, the 𝐒-2

𝐊 terms become quite lengthy and are barely readable by humans, but they 3

work fine as a foundation for computer science. 4

The power of these two operators is best understood when we use them 5

to define further, more manageable and more reasonable combinators. 6

Church (Church, 1941) presented a list of functions that can be implemented 7

as combinators, and Zachos investigated them in the settings of Combinato-8

ry Logic (Zachos, 1978). We present here only a few of them. 9

10

Identity 11

12

The identity combinator is defined as 13

𝐈 ≔ π’πŠπŠ (3)

Indeed, πˆπ‘€ = π’πŠπŠπ‘€ = πŠπ‘€(πŠπ‘€) = 𝑀. Association is to the left. 14

15

Functionality by the Lambda Combinator 16

17

Church’s Lambda Calculus is a formal language that can be understood 18

as a prototype programming language, see (Church, 1941), (Barendregt, 19

1977). 20

Lambda calculus can be expressed by 𝐒-𝐊 terms. We define recursively 21

the Lambda Combinator 𝐋𝐱 for a variable π‘₯ as follows: 22

23

𝐋𝐱π‘₯ = 𝐈 (4)

𝐋𝐱𝑀 = πŠπ‘€ if 𝑀 different from 𝐱 (5)

𝐋𝐱𝑀𝑁 = 𝐒𝐋𝐱𝑀(𝐋𝐱𝑁) (6)

24

The definition (5) holds for any variable term 𝐱 in the combinatory al-25

gebra. We can extend the definition of the Lambda combinator by getting 26

rid of the specific variable π‘₯. For any combinatory term 𝑀, the Abstraction 27

Operator πœ†π‘₯. is defined on 𝑀 recursively by applying 𝐋𝐱 to all sub-terms of 28

𝑀. Applying πœ†π‘₯. 𝑀 to any other combinatory term 𝑁 replaces all occurrenc-29

es of the variable π‘₯ in the term 𝑀 by 𝑁 and is written as (πœ†π‘₯. 𝑀)𝑁. 30

The abstraction operator binds weaker than the combination operator. 31

Thus, πœ†π‘₯. binds all variables π‘₯ in 𝑀𝑁, such that we can omit parentheses as 32

in πœ†π‘₯. 𝑀𝑁 = πœ†π‘₯. (𝑀𝑁). Lambda abstraction provides a much more read-33

able and intuitively understandable notation for terms of Combinatory Log-34

ic. 35

36

The Fixpoint Combinator 37

38

Given any combinatory term 𝑍, the Fixpoint Combinator 𝐘 generates a 39

combinatory term π˜π‘, called Fixpoint of 𝑍, that fulfills π˜π‘ = 𝑍 (π˜π‘). 40

This means that 𝑍 can be applied as many times as wanted to its fixpoint 41

and still yields back the same combinatory term. 42

2021-4180-AJS

4

In linear algebra, such fixpoint combinators yield an eigenvector solu-1

tion to some problem 𝑍; for instance, when solving a linear matrix. It is 2

therefore tempting to say, that π˜π‘ is a solution for the problem 𝑍. For more 3

details, consult Fehlmann (Fehlmann, 2016). 4

Using Lambda Calculus notation, the fixpoint combinator can be writ-5

ten as 6

𝐘: = πœ†π‘“. (πœ†π‘₯. 𝑓(π‘₯π‘₯))(πœ†π‘₯. 𝑓(π‘₯π‘₯)) (7)

7

For a reference see Barendregt (Barendregt, 1984), 8

Translating (7) into an 𝐒-𝐊 term proves possible but becomes a bit 9

lengthy. 10

By applying (6), (5): 11

πœ†π‘₯. 𝑓(π‘₯π‘₯) = π’πœ†π‘₯. π‘“πœ†π‘₯. π‘₯π‘₯

πœ†π‘₯. 𝑓 = πŠπ‘“

Then applying (6) and (4): 12

πœ†π‘₯. π‘₯π‘₯ = (π’πœ†π‘₯. π‘₯πœ†π‘₯. π‘₯)

= (π’πˆπˆ)

this yields 13

πœ†π‘₯. 𝑓(π‘₯π‘₯) = 𝐒(πŠπ‘“)(π’πˆπˆ)

and therefore 14

15

𝐘 = πœ†π‘“. (πœ†π‘₯. 𝑓(π‘₯π‘₯))(πœ†π‘₯. 𝑓(π‘₯π‘₯))

= πœ†π‘“. (𝐒(πŠπ‘“)(π’πˆπˆ))(𝐒(πŠπ‘“)(π’πˆπˆ))

= 𝐒(πœ†π‘“. 𝐒(πŠπ‘“)(π’πˆπˆ))(πœ†π‘“. 𝐒(πŠπ‘“)(π’πˆπˆ))

= 𝐒(𝐒(πœ†π‘“. 𝐒(πŠπ‘“))πœ†π‘“. π’πˆπˆ)(𝐒(πœ†π‘“. 𝐒(πŠπ‘“))πœ†π‘“. π’πˆπˆ)

16

Now solving the remaining πœ†-terms: 17

πœ†π‘“. 𝐒(πŠπ‘“) = π’πœ†π‘“. π’πœ†π‘“. πŠπ‘“

= 𝐒(πŠπ’)(π’πœ†π‘“. πŠπœ†π‘“. 𝑓)

= 𝐒(πŠπ’)(𝐒(𝐊𝐊)𝐈)

considering 18

πœ†π‘“. 𝐒 = πŠπ’

and 19

πœ†π‘“. πŠπ‘“ = π’πœ†π‘“. πŠπœ†π‘“. 𝑓 = 𝐒(𝐊𝐊)𝐈.

20

The latter holds by first applying (6), then (5) and (4). Moreover 21

22

πœ†π‘“. π’πˆπˆ = π’πœ†π‘“. π‘Ίπˆπœ†π‘“. 𝐈

= 𝐒(π’πœ†π‘“. π’πœ†π‘“. 𝐈)(𝐊𝐈)

= 𝐒(𝐒(πŠπ’)(𝐊𝐈))(𝐊𝐈)

applying again (6) and (5). 23

Putting things together: 24

25

𝐘 = πœ†π‘“. (πœ†π‘₯. 𝑓(π‘₯π‘₯))(πœ†π‘₯. 𝑓(π‘₯π‘₯))

= 𝐒 (𝐒(𝐒(πŠπ’)(𝐒(𝐊𝐊)𝐈)) (𝐒(𝐒(πŠπ’)(𝐊𝐈))(𝐊𝐈)))

2021-4180-AJS

5

(𝐒(𝐒(πŠπ’)(𝐒(𝐊𝐊)𝐈)) (𝐒(𝐒(πŠπ’)(𝐊𝐈))(𝐊𝐈)))

1

Applying 𝐘 to any combinatory term 𝑍 now explicitly transports 𝑍 on 2

the top of the formula and keeps the rest of the structure of 𝐘 such that 𝐘 can 3

be applied repeatedly. 4

This exercise should give the reader an impression how Combinatory 5

Logic works. 6

Applying the fixpoint combinator 𝐘 to some combinator Z in the 7

Lambda-style is much simpler: 8

9

πœ†π‘“. (πœ†π‘₯. 𝑓(π‘₯π‘₯))(πœ†π‘₯. 𝑓(π‘₯π‘₯))𝑍

= (πœ†π‘₯. 𝑍(π‘₯π‘₯))(πœ†π‘₯. 𝑍(π‘₯π‘₯))

= 𝑍(πœ†π‘₯. 𝑍(π‘₯π‘₯))(πœ†π‘₯. 𝑍(π‘₯π‘₯))

10

by applying the Lambda combinator twice, replacing the two π‘₯π‘₯ twice by 11

πœ†π‘₯. 𝑍(π‘₯π‘₯). Thus, this explains reasoning as a repeated substitution pro-12

cess. 13

There are simpler forms of the Fixpoint Combinator, e.g., 14

15

π˜β€² = 𝐒(𝐊(π’πˆπˆ)) (𝐒(𝐒(πŠπ’)𝐊)(𝐊(π’πˆπˆ))) (8)

Proof is left to the reader. 16

17

When applying 𝐘, or π˜β€², or any other equivalent fixpoint combinator to 18

a combinatory term Z, reducing the term by repeatedly using rule (1) or (2) 19

does not always terminate. An infinite loop can occur, and must sometimes 20

occur, otherwise we would always find a solution to any problem that can 21

be stated within a programming language. Thus, Turing would be wrong 22

and all finite state machines would reach a finishing state (Turing, 1937). 23

Thus, the fixpoint combinator is not the solution of all our practical 24

problems. But Engeler teaches us in his Neural Algebra fixpoints can be 25

approximated using a Construction Operator (Engeler, 2019), see below. 26

For more details about the foundations of Mathematical Logic, see for 27

instance Potter (Potter, 2004). For more combinators in Combinatory Logic, 28

see e.g., Zachos (Zachos, 1978) and BimbΓ³ (BimbΓ³, 2012). 29

30

31

Arrow Terms 32 33

The Graph Model of Combinatory Logic (Engeler, 1995) is a model of 34

Combinatory Logic with explains how to combine topics in areas of 35

knowledge. Combination is not only on the basic level possible; you can 36

also explain how to combine topics on the second level; sometimes called 37

meta-level. Intuitively, we would expect such a meta-level describing 38

knowledge about how to deal with different knowledge areas. 39

2021-4180-AJS

6

Whenever two terms 𝑀 and 𝑁 are embodied in a combinatory algebra, 1

the application of 𝑀 onto 𝑁 is also a term of this combinatory algebra, de-2

noted as 𝑀 β€’ 𝑁. 3

Let β„’ be the set of all assertions over a given domain. Examples include 4

statements about customer’s needs, solution characteristics, methods used, 5

program states, test conditions, etc. These statements are assertions about 6

the domain we are dealing with. This could be a business domain, or the 7

state of some software, i.e., the description of the values for all controls and 8

data. 9

An Arrow Term is recursively defined as follows: 10

11

o Every element of β„’ is an arrow term. 12

o Let π‘Ž1, … , π‘Žπ‘š, 𝑏 be arrow terms. Then 13

{π‘Ž1, … , π‘Žπ‘š} β†’ 𝑏 (9)

14

is also an arrow term. Thus, arrow terms are relations between finite subsets 15

of arrow terms and another arrow term, emphasized as successor. 16

For instance, in software testing, we use arrow terms to represent test 17

cases. On the base level, the left-hand sides π‘Ž1, … , π‘Žπ‘š represent test data, 18

the term 𝑏 is the known expected response of the test case (9). Higher levels 19

of arrow terms represent test strategies and tests of tests. 20

The left-hand side of an arrow term is a finite set of arrow terms and the 21

right-hand side is a single arrow term. This definition is recursive. The ar-22

rows are a formal graph notation; they might suggest cause-effect, not logi-23

cal imply. 24

25

The Graph Model as an Algebra of Arrow Terms 26

27

We can extend the definition of arrow terms to become a combinatory 28

algebra, allowing for the combination of arrow terms. 29

Denote by 𝒒(β„’) the power set containing all Arrow Terms of the form 30

(9). The formal, recursive, definition of the Graph Model as a power set, in 31

set-theoretical language, is given in equation (10): 32

33

𝒒0(β„’) = β„’ 𝒒𝑛+1(β„’) =

𝒒𝑛(β„’) βˆͺ {{π‘Ž1, … , π‘Žπ‘š} β†’ 𝑏|π‘Ž1, … , π‘Žπ‘š, 𝑏 ∈ 𝐺𝑛(β„’), π‘š ∈ β„•}

(10)

34

for 𝑛 = 0, 1, 2, … 𝒒(β„’) is the set of all (finite and infinite) subsets of the 35

union of all 𝒒𝑛(β„’): 36

𝒒(β„’) = ⋃ 𝒒𝑛(β„’)

π‘›βˆˆβ„•

(11)

37

The elements of 𝒒𝑛(β„’) are arrow terms of level 𝑛. Terms of level 0 are 38

Assertions, terms of level 1 Rules. A set of rules is called Rule Set 39

(Fehlmann, 2016). In general, a rule set is a finite set of arrow terms. We 40

2021-4180-AJS

7

call infinite rule sets a Knowledge Base. Hence, knowledge is a potentially 1

unlimited collection of rules sets containing rules about assertions regarding 2

our domain. 3

4

Combining Knowledge Bases 5

6

We can combine knowledge bases sets as follows: 7

𝑀 β€’ 𝑁 = {𝑐|βˆƒ{𝑏1, 𝑏2, … , π‘π‘š} β†’ 𝑐 ∈ 𝑀; 𝑏𝑖 ∈ 𝑁} (12) 8

Arrow Term Notation 9

10

To avoid the many set-theoretical parenthesis, the following notations, 11

called Arrow Schemes, are applied: 12

13

o π‘Žπ‘– for a finite set of arrow terms, 𝑖 denoting some finite indexing func-14

tion for arrow terms. 15

o π‘Ž1 for a singleton set of arrow terms: π‘Ž1 = {π‘Ž} for an arrow term π‘Ž. 16

o βˆ… for the empty set, such as in the arrow term βˆ… β†’ π‘Ž. 17

o π‘Žπ‘– βˆͺ 𝑏𝑗 for the union of two sets π‘Žπ‘– and 𝑏𝑗 of arrow terms. 18

o (π‘Ž) for a potentially infinite set of arrow terms, where π‘Ž is an arrow 19

term. 20

21

Note that arrow schemes denote sets when put into outermost parenthe-22

sis. Without an index, the set might be infinite; an index makes the set finite. 23

The indexing function cascades; thus, π‘Žπ‘–,𝑗 denotes the union of a finite 24

number of sets of arrow schemes 25

π‘Žπ‘–,𝑗 = π‘Žπ‘–,1 βˆͺ π‘Žπ‘–,2 βˆͺ … βˆͺ π‘Žπ‘–,𝑗 βˆͺ … βˆͺ π‘Žπ‘–,π‘š = ⋃ π‘Žπ‘–,π‘˜

π‘š

π‘˜=1

(13)

26

In terms of these conventions, (π‘₯𝑖 β†’ 𝑦)𝑗 denotes a rule set; i.e., a non-27

empty finite set of arrow terms, each having at least one arrow. Thus, such 28

set has level 1 or higher. Moreover, it has two selection functions, 𝑖 and 𝑗, 29

selecting a finite number of arrow terms for π‘₯ and π‘₯𝑖 β†’ 𝑦. 30

With this notation, the application rule for 𝑀 and 𝑁 now reads: 31

32

𝑀 β€’ 𝑁 = ((𝑏𝑖 β†’ π‘Ž) β€’ (𝑏𝑖)) = {π‘Ž|βˆƒπ‘π‘– β†’ π‘Ž ∈ 𝑀; 𝑏𝑖 βŠ‚ 𝑁} (14) 33

Arrow Terms – A Model of Combinatory Logic 34

35

The algebra of arrow terms is a combinatory algebra and thus a model 36

of Combinatory Logic. It is called the Graph Model. 37

The following definitions demonstrate how arrow terms implement the 38

combinators 𝐒 and 𝐊 fulfilling equations (1) and (2). 39

40

o 𝐈 = (π‘Ž1 β†’ π‘Ž) is the Identification; i.e., (π‘Ž1 β†’ π‘Ž) β€’ (𝑏) = (𝑏) 41

2021-4180-AJS

8

o 𝐊 = (π‘Ž1 β†’ βˆ… β†’ π‘Ž) selects the 1st argument: 1

𝐊 β€’ (𝑏) β€’ (𝑐) = ((𝑏1 β†’ βˆ… β†’ 𝑏) β€’ (𝑏)) β€’ (𝑐) = (βˆ… β†’ 𝑏) β€’ (𝑐) = (𝑏)

o 𝐊𝐈 = (βˆ… β†’ π‘Ž1 β†’ π‘Ž) selects the 2nd argument: 2

𝐊𝐈 β€’ (𝑏) β€’ (𝑐) = ((βˆ… β†’ 𝑐1 β†’ 𝑐) β€’ (𝑏)) β€’ (𝑐) = (𝑐1 β†’ 𝑐) β€’ (𝑐) = (𝑐)

o 𝐒 = ((π‘Žπ‘– β†’ (𝑏𝑗 β†’ 𝑐))1

β†’ (π‘‘π‘˜ β†’ 𝑏)𝑖 β†’ (π‘Žπ‘– βˆͺ 𝑏𝑗,𝑖 β†’ 𝑐)) 3

4

Therefore, the algebra of arrow terms is a model of Combinatory Logic. 5

The proof that the arrow terms’ definition of 𝐒 fulfils equation (2) is 6

somewhat more complex. Readers interested in that proof are referred to 7

Engeler (Engeler, 1981, p. 389). With 𝐒 and 𝐊, an abstraction operator can 8

be constructed that builds new knowledge bases. This is the Lambda Theo-9

rem; it is proved along the same way as Barendregt’s Lambda combinator 10

(Barendregt, 1977). See also in Fehlmann (Fehlmann, 1981, p. 37). 11

12

The Role of the Indexing Function in Arrow Terms 13

14

The arrow in the terms of the Graph Model is somewhat confusing. It is 15

easily mistaken as representing Predicate Logic; however, this must be 16

viewed with care. Interpreting the arrow as an implication in predicate logic 17

is not per se dangerous. In some sense, logical imply is a transition from 18

preconditions to conclusion and arrow terms are fine for representing them. 19

The problem is that if the left-hand side of an arrow term, which is an oth-20

erwise unstructured set, is interpreted as a conjunction of predicates – a se-21

quence of logical AND-clauses – you run into a conflict with the undecida-22

bility of first-order logic. Arrow terms would then reduce to either of the 23

form π‘Ž1 β†’ 𝑏 or βˆ… β†’ 𝑏. This reduces the model to become the trivial one. 24

As an example, see BimbΓ³ (BimbΓ³, 2012, p. 237ff). There she explains 25

how typed Combinatory Logic gets around the triviality problem. Instead of 26

the indexing functions, selecting finite sets of arrow terms on the left-hand 27

side, she postulates proofs for the predicates. 28

Thus, the indexing function for selecting elements of a finite set of ar-29

row terms is a key element of the Graph Model. Interested readers will find 30

related considerations in last years’ paper of the authors (Fehlmann & 31

Kranich, May 2020). For the application of the Graph Model to testing, the 32

indexing function means selection of test cases and test data, and this is al-33

ways a collection of program state predicates that do typically not leave the 34

program under test in a consistent state. 35

36

37

Neural Algebra 38 39

Engeler uses the Graph Model as a model how the brain thinks 40

(Engeler, 2019). A directed graph, together with a firing law at all its nodes, 41

constitutes the connective basis of the brain model π’œ. The model itself is 42

built on this basis by identifying brain functions with parts of the firing his-43

2021-4180-AJS

9

tory. Its elements may be visualized as a directed graph, whose nodes indi-1

cate the firing of a neuron. As before, we consider 𝒒(π’œ), constructed as in 2

(11). The elements of 𝒒(π’œ) are called Cascades. Cascades describe firing 3

between nodes (neurons) when represented by finite sets of arrow terms 4

π‘Žπ‘– β†’ 𝑏 where π‘Žπ‘– are sub-cascades, while the right sub-cascade 𝑏 describes 5

the characteristic leave of its firing history graph. The Neural Algebra is 6

defined as a collection of cascades representing brain functions in the brain 7

model, closed under applications and union. With the application rule (14), 8

we have an algebraic structure; the application representing brain functions, 9

interpreted as thoughts. 10

11

The Fixpoint Combinator in the Neural Algebra 12

13

The fixpoint combinator 𝐘 can be written as an arrow scheme; however, 14

this calculation is better left to some suitable rewriting tool, as otherwise 15

this article would exceed all reasonable length. Applying 𝐘 to an arbitrary 16

arrow scheme might result in an infinite loop of arrow schemes, represent-17

ing a never-ending computation. Combinatory Logic, as any kind of pro-18

gramming, may result in an infinite loop in its model, and it is not decidable 19

when this happens. 20

If infinite loops occur, or infinite sequences of digits like for real num-21

bers that are not rationales, we need the notion of controlling operators that 22

approximate the possibly infinite solution, and metrics for measuring how 23

near the approximations to the solutions are, and get even nearer when re-24

quired. 25

26

Reasoning, Problem Solving and Controlling 27

28

Within this setting, it is possible to define models for reasoning and 29

problem solving. However, not only flat reasoning, also for solving prob-30

lems, even if their fixpoint is infinite. For a controlled object 𝑋, the Control-31

ling Operator 𝐂 solves the control problem 𝐂 β€’ 𝑋 = 𝑋. The brain function 𝐂 32

gathers all faculties that may help in the solution. The control problem is a 33

repeated process of substitution, like finding the fixpoint of a combinator. 34

However, since cascades are always finite – all brain activity remains finite, 35

unfortunately – solving the control problem is by a series of finite Attrac-36

tors, a control sequence 𝑋0 βŠ† 𝑋1 βŠ† 𝑋2 βŠ† β‹― determined by 37

38

𝑋𝑖+1 = 𝐂 β€’ 𝑋𝑖, 𝑖 ∈ β„• (15) 39

starting with an initial 𝑋0. This process is called Focusing. The details can 40

be found in Engeler (Engeler, 2019, p. 301). We will rely on the observation 41

that attractors represent reasoning in a neural algebra. 42

Attractors are ordered by inclusion (15), meaning that the solution 43

space becomes smaller and smaller until a smallest possible solution is 44

2021-4180-AJS

10

found that cannot be further reduced by the controlling operator. Eventually, 1

this ultimate solution is empty. 2

The controlling operator is closely linked to the fixpoint operator 𝐘; 3

however, if 𝑋 has a solution 𝐂 β€’ 𝑋, then 𝑋 is of the form 𝑋 = 𝐘 β€’ 𝑍 for some 4

suitable cascade 𝑍. Thus, not all combinators 𝑋 have a solution; the related 5

control sequence may end with the empty cascade, obviously. These consid-6

erations share a stunning resemblance with transfer functions, whose solu-7

tion profiles are also approximations rather than precise solutions 8

(Fehlmann, 2016, p. 14). 9

The controlling operator is not alike one of the basic or the fixpoint 10

combinators but is more of a prescription, how to find suitable attractors. 11

Engeler (Engeler, 2019, p. 300ff) presents in an elegant way representations 12

of basic thought processes, e.g., reflection, discrimination, simultaneous and 13

joint control, but also learning, teaching, focusing with eyes, and compre-14

hension. 15

Since the number of cascades that a brain can produce is finite and lim-16

ited – by the lifespan of the brain – solution to the fixpoint control problems 17

turn out to be finite attractor sequences, characterizing thought processes. 18

19

20

Transfer Functions 21 22

For managing complex systems, transfer functions are used to analyze 23

controls and approximate the expected result (Fehlmann, 2016). 24

An obvious interpretation of arrow terms is by transfer functions. In 25

Quality Function Deployment (QFD), the building blocks – and the origin – 26

are cause-effect relations as used in Ishikawa Diagram (Ishikawa, 1990). 27

These diagrams describe the cause-effect relations between topics and are 28

considered the initial form of QFD matrices. Converting a series of Ishika-29

wa diagrams into a QFD matrix is straightforward, see (Fehlmann, 2016, p. 30

321). Thus, transfer functions can be described by finite sets of arrow terms. 31

Deming Chains 32

Composition of transfer functions is called a Deming Chain (Fehlmann, 33

2016, p. 100) because Deming identified the value chains in manufacturing 34

processes (Deming, 1986). Akao called it Comprehensive QFD, also known 35

as QFD in the Large. He drafted extensive Deming chains in this famous 36

book on QFD (Akao, 1990). 37

For transfer functions, the Graph Model provides similar services as for 38

tests. The model proves that transfer functions have universal applicability 39

and power for explaining cause-effect, and they provide a framework for 40

automation also for Deming chains (Fehlmann, 2001). 41

42

43

The Algebra of Tests 44 45

Very interesting instantiations of the Graph Model can be found in 46

Software Testing, especially when seen from an economical viewpoint. In 47

2021-4180-AJS

11

fact, test cases are best described as arrow terms, with the left-hand sides 1

describing program states before executing the test, and the right-hand side 2

describing the response of the test case. Software testing is the key to digi-3

talization and to software-intense products that perform safety-critical tasks. 4

Test cases are a mapping of arrow terms onto Data Movement Maps. 5

Data movement maps model the software under test by identifying the data 6

groups moved by the software, based on the ISO standard 19761 COSMIC 7

(ISO/IEC 19761, 2011). This has been explained in more detail in last 8

years’ paper (Fehlmann & Kranich, May 2020). The data movements induce 9

a sizing valuation on this algebra by counting the number of data move-10

ments executed once per test case. 11

When we speak of test cases, we always intend a suitable data move-12

ment map with it; thus, the same arrow term can be mapped to several data 13

movement maps, counting as separate test cases. 14

State Assertions 15

For our Test Algebra, we now assume β„’ to be the set of all state asser-16

tions for a given program. We use the term β€œprogram” but mean a system 17

that might consist of coded software, services, or anything yielding results 18

electronically. Elements of β„’ are descriptions of the system status at a cer-19

tain moment. In the sequel, the arrow term π‘Žπ‘– β†’ 𝑏 together with its associat-20

ed data movement map represents a test case, that, given test data π‘Žπ‘–, 21

yields 𝑏 as the expected, correct result. 22

Engines providing machine learning and artificial intelligence are in-23

cluded in such a β€œprogram” (Fehlmann, Jan. 2020, p. 85ff). If π‘Žπ‘– β†’ 𝑏 is a 24

test case, π‘Žπ‘– βŠ‚ β„’ specifies a set of test data that holds before executing the 25

test, and 𝑏 ∈ β„’ the state of the program after execution. The finite set π‘Žπ‘– 26

represents the states before execution of possible unrelated threads of the 27

program, or services involved. 28

29

Combining Tests 30

31

The definition (14) looks somewhat counter-intuitive for combining 32

tests. To apply one test case to another, it is required that the result of appli-33

cation contains all the full test cases providing the response sought. 34

A more intuitive approach would only require test cases providing such 35

a response meeting the required controls. The existential quantifier would 36

then guarantee that there is a test case yielding such response. When accept-37

ing the Axiom of Choice in its traditional form, that does not look like a 38

problem. However, this seemingly more intuitive approach would immedi-39

ately lead to a contradiction to Turing’s halting problem (Turing, 1937). 40

Consult last years’ paper (Fehlmann & Kranich, May 2020) for more infor-41

mation of this observation. 42

The intuitionistic, or constructive, variant of the Axiom of Choice re-43

quires not only the existence of test providing valid test data as response, 44

but construction instructions for the existence of such tests, respectively the 45

related test cases. This means that it is not enough to know the existence of 46

2021-4180-AJS

12

tests, but you need to know how to construct them. This is possibly the rea-1

son why test automation has proven to be so hard. 2

And for those who consider such reasoning too theoretical, let us pro-3

vide a rather practical argument: programmers who want to set up test con-4

catenation 𝑀𝑁 for automatic testing, need access to the test cases in 𝑁 that 5

provide the responses needed for 𝑀, for combining 𝑀 with 𝑁. Otherwise, 6

combining tests is unsafe or cannot be automated. Thus, with the combina-7

tory algebra of arrow terms, mathematical logic meets intuitionism and pro-8

gramming. 9

10

Combination Limitations 11

12

Combining tests in a Combinatory Algebra is unlimited indeed because 13

there is no typing involved that governs applicability. By (14), you can 14

combine test cases across test stories as deemed appropriate; all that counts 15

are the data movements. The only restriction is, not all combinations of test 16

cases yield an executable new test case. It must be possible to combine the 17

data movement maps associated to the test cases as well; thus, if these 18

movements do not overlap between two test cases, they do not yield a valid 19

and executable test case. 20

We therefore silently agree that combinations of tests only are consid-21

ered if their data movement maps overlap somehow. 22

23

The Size of Tests 24

25

For a testing framework, we need to be able to measure the size of tests. 26

The standard ISO/IEC 19761 COSMIC for measuring functional size serves 27

as measuring method. The functional size of the associated data movement 28

map is the size of a test case, denoted by 𝐢𝑓𝑝(π‘Žπ‘–0 β†’ 𝑏0), where π‘Žπ‘–

0 ∈ 𝒒0(β„’) 29

and 𝑏0 ∈ 𝒒0(β„’) are arrow terms of level 0; i.e., assertions about the state of 30

the program. 𝐢𝑓𝑝(π‘Žπ‘–0 β†’ 𝑏0) is the number of unique data movements 31

touched when executing the test case π‘Žπ‘–0 β†’ 𝑏0. This is the recursion base. 32

Then the following equations (16) recursively define the size of tests: 33

34

βŒŠπ‘ŽβŒ‹ = 0 for π‘Ž ∈ 𝒒0(β„’) βŒŠπ‘Žπ‘– β†’ π‘βŒ‹ = 𝐢𝑓𝑝(π‘Žπ‘– β†’ 𝑏) for π‘Žπ‘– βŠ‚ 𝒒0(β„’) and 𝑏 ∈ 𝒒0(β„’)

βŒŠπ‘π‘– β†’ π‘‘βŒ‹ = βˆ‘βŒŠπ‘π‘–βŒ‹ + βŒŠπ‘‘βŒ‹

𝑖

for all test cases 𝑐𝑖 and 𝑑 (16)

35

The definition holds for all arrow terms in the algebra of tests. 36

The addition does not take into consideration whether data movements 37

are unique; thus, the size of two test cases is always the sum of the sizes. 38

When speaking about tests, we do not use the term knowledge base for sets 39

of arrow terms, but rather Test Story for a set of test cases. Test stories typi-40

cally share a common intent, or business value. 41

2021-4180-AJS

13

The Functional Size of Combinators 1

2

Applying the definition (16) to the combinators 𝑺, 𝑲, 𝑰, and 𝒀 yields an 3

infinite size for each of them, because the arrow term sets are infinite. This 4

is conformant to the observation that when expressing these combinators as 5

terms in the Lambda calculus, they are closed insofar as they do not contain 6

free variables nor constants. 7

8

Autonomous Real-time Testing 9

10

In our recent book (Fehlmann, Jan. 2020), we coined the term Autono-11

mous Real-time Testing (ART) to describe software tests that are 12

13

o Executed automatically in a system during operations, or when paus-14

ing operations; 15

o Started from a base test using recombination and other operations of 16

combinatory algebra by adding autonomously generated test cases; 17

o Controlled by transfer functions assuring relevance for users’ values. 18

19

In previous papers and the book about, we have explained how to keep 20

the growth of test cases under control, using the Convergence Gap as a 21

hash. The convergence gap in transfer functions measures the gap between 22

the needs – of the customer, the user, certification authority, or else – and 23

the achieved test coverage. For an example, consult last years’ paper 24

(Fehlmann & Kranich, May 2020). 25

26

Attractors 27

28

While the fixpoint combinator 𝒀 works as above on sets of test cases, in 29

most cases, it returns infinite tests as β€œsolutions” – something not too practi-30

cal. However, we can construct attractors quite like for neural algebra, ap-31

proximating the infinite testing set, as good as we wish. This creates a new 32

problem for us, namely, to assess: when is testing good enough? 33

While good practices can provide answers – e.g., by looking at the re-34

maining defect rate (Fehlmann & Kranich, 2014) – a more theoretical an-35

swer should include at least the requirement that attractors cover functionali-36

ty. This leads to the notion of Convergence Gap, explained in (Fehlmann, 37

Jan. 2020, p. 10). 38

Let π‘ˆπ‘™ denote a finite set of user stories, and π‘‡π‘˜ another set of test sto-39

ries, usually somewhat larger than the set of user stories. The matrix 40

π‘ˆπ‘™ βŠ— π‘‡π‘˜ maps test stories to user stories and becomes a transfer function, if 41

each cell contains the size ⌊(π‘Žπ‘– β†’ 𝑏)π‘—βŒ‹ of all test cases (π‘Žπ‘– β†’ 𝑏)𝑗 belonging 42

to some test story π‘‡π‘˜ and referring to some user story, or FUR π‘ˆπ‘™. This 43

yields a matrix: 44

45

𝑨 = (⌊(π‘Žπ‘– β†’ 𝑏)π‘—βŒ‹)𝑙,π‘˜

(17)

46

2021-4180-AJS

14

The indices of the matrix run over integers 𝑙, π‘˜ ∈ β„•. 1

The transfer function 𝑨 maps test stories to user stories, and we call it 2

Test Coverage Matrix because you can assess how good test stories cover 3

user stories. 4

Let user stories be prioritized, say by some Goal Profile π’š. The goal 5

profile characterizes priorities by a unit vector in the space of the alterna-6

tives under consideration. Then the transfer function 𝑨 can be applied to a 7

Solution Profile 𝒙, describing the importance of the test stories, and 𝑨𝒙 is 8

the result of applying 𝑨 to this solution profile. Obviously 𝑨𝒙 β‰  π’š; howev-9

er, the difference ‖𝒙 βˆ’ π’šβ€– is interesting. If this difference is small, then the 10

solution profile 𝒙 represents an optimum selection of test stories, meaning 11

that tests cover what is relevant to the user’s goal profile. 12

Optimum solution profiles can be calculated using the eigenvector 13

method (Fehlmann, 2016, p. 34). Let π’šπ‘¨ be the Principal Eigenvector of 14

π‘¨π‘¨βŠΊ, solving the eigenvalue problem (18) for some πœ† ∈ ℝ. 15

16

π‘¨π‘¨βŠΊπ’šπ‘¨ = πœ†π’šπ‘¨ (18)

17

The principal eigenvector π’šπ‘¨ is called the Achieved Profile of the trans-18

fer function 𝑨. Both, π’š and π’šπ‘¨ are Profiles. This means, their vector length 19 β€–π’šβ€– = 1 respectively β€–π’šπ‘¨β€– = 1 are both one, where ‖… β€– represents the 20

Euclidean Norm for vectors. The difference between a goal profile and an 21

achieved profile is called Convergence Gap: 22

23

πΆπ‘œπ‘›π‘£π‘’π‘Ÿπ‘”π‘’π‘›π‘π‘’ πΊπ‘Žπ‘ = β€–π’š βˆ’ π’šπ‘¨β€– (19)

24

The convergence gap is a metric that measures how well a transfer 25

function explains the observed profile with suitable controls. The controls 26

are the test stories; the observed profile compares with the goal profile of 27

the user stories’ relevance for the user of the software or the system. Note 28

that computing the achieved profile is very often not straightforward, as it is 29

in our case where we can make use of simple linear algebra. 30

We can now construct attractors as a series π‘¨πŸŽ, π‘¨πŸ, π‘¨πŸ, … of test cover-31

age matrices that approximate the test suite that we need to cover our func-32

tional requirements. However, the attractors must all keep the convergence 33

gap und control, meaning that for a certain πœ€ > 0 and all attractors 𝑨𝑖 holds: 34

35

πΆπ‘œπ‘›π‘£π‘’π‘Ÿπ‘”π‘’π‘›π‘π‘’ πΊπ‘Žπ‘(𝑨𝑖) = β€–π’šπ‘– βˆ’ π’šπ‘¨π’Šβ€– < πœ€ (20)

36

Thus, our constructor 𝐂 must construct an ascendant series 37

π‘¨πŸŽ, π‘¨πŸ, π‘¨πŸ, … such that both (20) and (21) holds: 38

39

𝑨𝑖+1 = 𝐂 β€’ 𝑨𝑖 , 𝑖 ∈ β„•

π‘¨π’Š βŠ‘ 𝑨𝑖+1, 𝑖 ∈ β„• (21)

40

The constructor 𝐂 therefore is an intelligence search in a wide range of 41

potential attractors, keeping the convergence gap small enough. 42

2021-4180-AJS

15

We call such a series of attractors Bound, by the convergence gap. In 1

fact, bound attractors constitute a formal way to solve all kind of issues 2

normally tackled by artificial intelligence. The hash functions used for 3

measuring the convergence gap, might be considerably more complicated 4

than in the case of test size. 5

6

Optimum Test Size 7

8

For a test coverage matrix 𝑨 = (⌊(π‘Žπ‘– β†’ 𝑏)π‘—βŒ‹)𝑙,π‘˜

, the total test size of 𝑨 9

is 10

βŒŠπ‘¨βŒ‹ = βˆ‘(⌊(π‘Žπ‘– β†’ 𝑏)π‘—βŒ‹)𝑙,π‘˜

𝑙,π‘˜

, 𝑙, π‘˜ ∈ β„• (22)

If 𝑨0 βŠ‘ 𝑨1 βŠ‘ 𝑨2 βŠ‘ β‹―, then βŒŠπ‘¨πŸŽβŒ‹ ≀ βŒŠπ‘¨πŸβŒ‹ ≀ βŒŠπ‘¨πŸβŒ‹ ≀ β‹― also holds. 11

12

We can use combination of tests, as well as applying any special com-13

binator such as projection or substitution to generate new test cases. 14

Bound attractors build up a test suite by adding more tests to the test 15

coverage matrix 𝑨. The convergence gap must not necessarily decrease. In 16

contrary, adding more tests can spoil the convergence gap, for instance if 17

some test story gains too much weight and inflate the respective user sto-18

ries’ achieved profile. 19

Therefore, constructing a suitable constructor 𝐂 is all but simple, nor 20

straightforward, because adding more tests does not solve a problem. In 21

view of executing such tests on a machine, the number of tests must not 22

only remain finite but also limited to some manageable number. 23

For practical applications, combining unit tests from related domains 24

such as steering control of an autonomous vehicle with weather forecast is 25

always feasible to construct attractors for a system test of this autonomous 26

vehicle. However, the convergence gap enforces that such test combinations 27

cover the full range of test cases relating to both steering control, and pro-28

cess weather forecast services; otherwise, some test stories would grow be-29

yond limits. 30

There is an optimum number of attractors delivering enough tests to fit 31

the test intensity required by the user of the system, and test size that still 32

can be executed within a limited time frame. Computing that optimum is an 33

important task for product management, and, depending upon safety and 34

privacy criticality, must be carefully chosen to make such a product ac-35

ceptable for the society. 36

37

38

Conclusions 39 40

Aristotle’s Mental Completion reflects his understanding of recursion as 41

a mentally completed inductive definition of a concept (Engeler, 2020). Fol-42

lowing him, we identified constructors as a general prescription for con-43

structing attractors that serve as approximations to solutions for problems. 44

We have shown how such constructions look in the case of the Algebra of 45

2021-4180-AJS

16

Tests, although not in this paper but in its predecessors (Fehlmann & 1

Kranich, May 2020), and in our recent book (Fehlmann, Jan. 2020). We 2

linked attractors to fixpoint operators, and all this in a very practical setting, 3

with potentially high economic impact. 4

Why are we doing theoretical stuff like logic and other basic sciences? 5

Maybe the answer is because this is the way to new business models and 6

more efficient progress in applied sciences? Probably the only sure way? 7

Because otherwise you get lost in the jungle? Without hope for finding an 8

exit. 9

So, why don’t we educate our young engineers in basic sciences? Once 10

they have mastered that, they can apply the basic findings to any applied 11

technical or scientific area they care for. 12

13

14

Open Questions 15 16

Obviously, there are more open questions than we can mention here. 17

Maybe this is a step toward the New Kind of Science that Stephen Wolfram 18

promised us in the early years of this century (Wolfram, 2002)? Is the ap-19

proach presented in this paper potentially fruitful not only to Artificial Intel-20

ligence, Neuroscience, and system testing? What else could we describe by 21

a constructor and by attractors? Thus, better understanding what we are do-22

ing, and why? 23

Less philosophical is the open and quite practical question, how actual 24

constructors look for software and system testing, whether there are some 25

general rules to follow, besides Combinatory Logic, or if every testing do-26

main requires its own constructors and attractor series. 27

There is also a mathematical question to solve, namely how we can 28

speed up the selection of the right cells in the test coverage matrix that needs 29

enhancements by new test cases. This is related to sensitivity analysis 30

(Fehlmann & Kranich, 2020) for QFD matrices. If a practical solution ex-31

ists, this could help us constructing straight attractors instead of searching 32

around. 33

However, such a solution is not yet known to the authors. 34

35

36

Bibliography 37 38 Akao, Y., 1990. Quality Function Deployment - Integrating Customer 39

Requirements into Product Design. Portland, OR: Productivity Press. 40 Aristoteles, 367-344 BCE. Organon. Übersetzt von Julius von Kirschmann, 41

Hofenberg ed. Berlin: Andronikos von Rhodos. 42 Barendregt, H. P., 1977. The Type-Free Lambda-Calculus. In: J. Barwise, ed. 43

Handbook of Math. Logic. Amsterdam: North Holland, pp. 1091 -1132. 44 Barendregt, H. P., 1984. The Lambda Calculus – Its Syntax and Semantics. Studies 45

in logic and the foundations of mathematics ed. Amsterdam: North-Holland. 46 BimbΓ³, K., 2012. Combinatory Logic - Pure, Applied and Typed. Boca Raton, FL: 47

CRC Press. 48

2021-4180-AJS

17

Church, A., 1941. The Calculi Of Lambda Conversion. Annals Of Mathematical 1 Studies 6. 2

Curry, H., 1930. Grundlagen der kombinatorischen Logik. American Journal of 3 Mathematics, Volume 32, pp. 509-536. 4

Curry, H. & Feys, R., 1958. Combinatory Logic, Vol. I. Amsterdam: North-5 Holland. 6

Curry, H., Hindley, J. & Seldin, J., 1972. Combinatory Logic, Vol. II. Amsterdam: 7 North-Holland. 8

Deming, W., 1986. Out of the Crisis. Center for Advanced Engineering Study ed. 9 Boston, MA: Massachusetts Institut of Technology. 10

Engeler, E., 1981. Algebras and Combinators. Algebra Universalis, pp. 389-392. 11 Engeler, E., 1995. The Combinatory Programme. Basel, Switzerland: BirkhΓ€user. 12 Engeler, E., 2019. Neural algebra on "how does the brain think?". Theoretical 13

Computer Science, Volume 777, pp. 296-307. 14 Engeler, E., 2020. Aristotle’ Relations: An Interpretation in Combinatory Logic. 15

arXiv: History and Overview. 16 Engeler, E., 2020. Aristotle’s Relations: An Interpretation in Combinatory Logic, 17

Zurich: unpublished. 18 Fehlmann, T. M., 1981. Theorie und Anwendung des Graphmodells der 19

Kombinatorischen Logik, ZΓΌrich, CH: ETH Dissertation 3140-01. 20 Fehlmann, T. M., 2001. QFD as Algebra of Combinators. Tokyo, Japan, 8th 21

International QFD Symposium, ISQFD 2001. 22 Fehlmann, T. M., 2016. Managing Complexity - Uncover the Mysteries with Six 23

Sigma Transfer Functions. Berlin, Germany: Logos Press. 24 Fehlmann, T. M., Jan. 2020. Autonomous Real-time Testing – Testing Artificial 25

Intelligence and Other Complex Systems. Berlin, Germany: Logos Press. 26 Fehlmann, T. M. & Kranich, E., 2014. Exponentially Weighted Moving Average 27

(EWMA) Prediction in the Software Development Process. Rotterdam, NL, 28 IWSM Mensura. 29

Fehlmann, T. M. & Kranich, E., 2020. A Sensitivity Analysis Procedure for QFD, 30 Duisburg: to appear. 31

Fehlmann, T. M. & Kranich, E., May 2020. Intuitionism and Computer Science – 32 Why Computer Scientists do not Like the Axiom of Choice. Athens Journal of 33 Sciences, 7(3), pp. 143-158. 34

ISO/IEC 19761, 2011. Software engineering - COSMIC: a functional size 35 measurement method, Geneva, Switzerland: ISO/IEC JTC 1/SC 7. 36

Potter, M. D., 2004. Set Theory and Its Philosophy. Oxford, UK: Oxford 37 University Press. 38

SchΓΆnfinkel, M., 1924. Über die Bausteine der mathematischen Logik. 39 Mathematische Annalen, 92 (3-4), p. 305–316. 40

Turing, A., 1937. On computable numbers, with an application to the 41 Entscheidungsproblem. Proceedings of the London Mathematical Society, 42 42(Series 2), p. pp 230–265. 43

Wolfram, S., 2002. A New Kind of Science. First Edition ed. Champaign, Illinois: 44 Wolfram Media. 45

Zachos, E., 1978. Kombinatorische Logik und S-Terme, Zurich: ETH Dissertation 46 6214. 47

48