## The Constructive Foundations of the System eb (1996)

Citations: | 1 - 1 self |

### BibTeX

@TECHREPORT{Stevenson96theconstructive,

author = {D. E. Stevenson},

title = {The Constructive Foundations of the System eb},

institution = {},

year = {1996}

}

### OpenURL

### Abstract

We report on the programming system eb that supports computational science and engineering. eb has the constructive philosophy begun by Bishop. This philosophy is explained in enough detail to show how this view is acceptable to, but different from, -calculus and Martin-Lof theories. eb raises a theoretical question of semantics: how to guarantee that the language as implemented works as intended by the constructive reals model? The eb system is currently in "bootstrap" mode. We discuss the implementation of this bootstrap as well as plans for the future. This implementation is a source to source translator to C. Primitive types in eb are multiprecision integers and floating point. As innovations, eb supports both functional and relational models, is nondeterministic, and uses failure as a control mechanism. Keywords Numerical programming (computational science and engineering), functional logic programming. Word Count 4999. 1 Introduction "The life which is unexamined is not wo...

### Citations

837 | Theory of recursive functions and effective computability - Rogers - 1967 |

686 |
Introduction to Metamathematics
- Kleene
- 1952
(Show Context)
Citation Context ... started over the set paradoxes. Perhaps the most eloquent proponent of the Brouwer's view was Heyting[24] who created much of the formal logic structure for constructivity. Kleene played a large role=-=[28] by develo-=-ping RA. Bishop's ideas are appealing because they hold the fewest number of assumptions. Errett Bishop[9] was no fan of the overly formalized Heyting approach. Bishop's idea of "proof " was... |

638 |
Partial evaluation and automatic program generation
- Jones, Gomard, et al.
- 1993
(Show Context)
Citation Context ...ons. Maple is actually more of an exemplar than Fortran. We must be careful, however, not to fall into the trap of software bloat in numerical codes[27]. We have a natural need for partial evaluation =-=[26]-=-. But precision considerations should not be a reason for two programs. And should not the compiler know about Horner's rule or be able to differentiate a program[7]? Dualistic Nature. The declarative... |

598 |
A Mathematical Introduction to Logic
- Enderton
- 2002
(Show Context)
Citation Context ...f functions, and R a set of relations each with the appropriate domain. If R satisfies a set of axioms, R is called a model of those axioms. Models serve as bases of interpretation of formal languages=-=[29, 14, 45]-=-. We must have a less strict view of model because we want to have a relational structure F that approximates R, the reals. 3.4 Formal and Informal Proofs Proofs in constructive theories are more comp... |

401 | Constructive analysis
- Bishop, Bridges
- 1985
(Show Context)
Citation Context ...ject. Our view is that since we cannot construct an object satisfying 0 = 1 we should fail in the same sense that Prolog fails. This makes clear the relational nature of BBB. 3.2 The Numbers In Bishop=-=[8]-=-, a real number is taken as a regular sequence of rational numbers. A sequence x is regular if jxm \Gamma xn jsm \Gamma1 + n \Gamma1 : Due to our mathematical training, programmers want to make floati... |

309 | Larch: languages and tools for formal specification
- Guttag, Horning
- 1993
(Show Context)
Citation Context ...y-Milner type system and be done with it, this seems counter to the strong constructivist basis of the system. There is plenty to investigate. There are several systems, such as Nuprl[4, 13] and Larch=-=[21]-=-, that include intentional information concerning types. Larch is not constructive but Nuprl is. Again, the dualistic nature of constructionism causes us to pause and determine where we should go from... |

286 |
The Lambda-Calculus, its Syntax and Semantics, volume 103
- Barendregt
- 1984
(Show Context)
Citation Context ...eas seem consistent with our view. There are certain pre-theoretical issues: the concept of improper functions or abstractors. The idea of the -calculus is bound up in the abstraction/conversion rules=-=[3]-=-. However, the definition of such abstractors is two operations: substitution and rewriting. The use of -expressions in the functional languages makes use of only one pair. But we will want at least t... |

264 |
Constructive mathematics and computer programming
- Martin-Löf
- 1979
(Show Context)
Citation Context ...rammers, we instead think about the set of numbers of the form m\Thetab s in the Wilkinson set[44, 17]: \Sigmam \Theta b s 2 W(b; t; emin ; emax): These numbers are canonical elements in the sense of =-=[31]-=-. This is the set of rational numbers that can be formed using b-base arithmetic, with the mantissa m normalized with t b-units. Such numbers have their scale values eminsssemax . An example is the Su... |

263 |
Foundations of Constructive Mathematics
- Beeson
- 1985
(Show Context)
Citation Context ...nderstanding computing: logistic and constructive. There are two standard logistic schools of programming: Floyd-Hoare and Dijkstra. There are seven schools of constructive mathematics as outlined in =-=[6]-=-. Any of these would probably serve as a basis for programming languages. The schools of interest are recursive analysis RA, Martin-Lof theoriessMT, and Bishop constructivism B. RA is recursive functi... |

247 |
Warren's Abstract Machine --- A Tutorial Reconstruction
- Ait-Kaci
- 1991
(Show Context)
Citation Context ...needed both a functional and a relational ability. The strong nature of the "fail" concept in constructive thinking is reminiscent of Prolog and Snobol. We therefore choose the Warren Abstra=-=ct Machine[1]-=- as the sequence control virtual machine. There are, of course, other machine models and a number of Prolog compiling systems: SICStus Prolog, BIM Prolog, PDC Prolog, and Wamcc to name just a few. The... |

151 | and team. Implementing Mathematics with the Nuprl Proof Development System
- Constable
- 1986
(Show Context)
Citation Context ... well as functional and logic programming languages. Our focus is totally on numerical programming. We are therefore also influenced by systems like Maple and Mathematica. To our knowledge, only NuPRL=-=[13]-=- has the same view of constructivity as we. We begin by outlining the logistic and constructive concepts necessary to understand constructive analysis. We outline our program in 2.2. Section 3 discuss... |

149 | Generating derivative codes from Fortran programs
- Bischof, Carle, et al.
- 1991
(Show Context)
Citation Context ...tural need for partial evaluation [26]. But precision considerations should not be a reason for two programs. And should not the compiler know about Horner's rule or be able to differentiate a program=-=[7]-=-? Dualistic Nature. The declarative (model theoretic) and operational (proof theoretic) nature seems worth preserving. We want to make symmetric use of these capabilities. The ` ' ' and ` e ' are a fo... |

133 |
Rounding Errors in Algebraic Processes
- Wilkinson
- 1963
(Show Context)
Citation Context ...niques, followers of Bishop will not be able to blindly follow classically defined work like [30]. As programmers, we instead think about the set of numbers of the form m\Thetab s in the Wilkinson set=-=[44, 17]-=-: \Sigmam \Theta b s 2 W(b; t; emin ; emax): These numbers are canonical elements in the sense of [31]. This is the set of rational numbers that can be formed using b-base arithmetic, with the mantiss... |

101 |
Proofs as programs
- Bates, Constable
- 1985
(Show Context)
Citation Context ...ccepting a Hindley-Milner type system and be done with it, this seems counter to the strong constructivist basis of the system. There is plenty to investigate. There are several systems, such as Nuprl=-=[4, 13]-=- and Larch[21], that include intentional information concerning types. Larch is not constructive but Nuprl is. Again, the dualistic nature of constructionism causes us to pause and determine where we ... |

79 |
Introduction to logic
- Suppes
- 1957
(Show Context)
Citation Context ...us task during axiomitization is to isolate facts (pretheoretical concepts) and state these facts in terms of the fundamentals. For insights on the development of an area by the axiomatic method, see =-=[6, 39, 41]-=-. The axiomatic method tries to take a body of informal activities (read Mathematics) M and produce a theory (or maybe even theories) T that explain M . The advantages of this method are (i) conceptua... |

77 |
An introduction
- Intuitionism
- 1956
(Show Context)
Citation Context ...ng Gauss, Dedekind, Kronecker, and Brouwer. Brouwer [12] disagreed with Hilbert.[25]. The argument started over the set paradoxes. Perhaps the most eloquent proponent of the Brouwer's view was Heyting=-=[24]-=- who created much of the formal logic structure for constructivity. Kleene played a large role[28] by developing RA. Bishop's ideas are appealing because they hold the fewest number of assumptions. Er... |

70 |
The Foundations of Program Verification
- Loeckx, Sieber
- 1984
(Show Context)
Citation Context ...f functions, and R a set of relations each with the appropriate domain. If R satisfies a set of axioms, R is called a model of those axioms. Models serve as bases of interpretation of formal languages=-=[29, 14, 45]-=-. We must have a less strict view of model because we want to have a relational structure F that approximates R, the reals. 3.4 Formal and Informal Proofs Proofs in constructive theories are more comp... |

66 |
Constructive theories of functions and classes
- Feferman
- 1979
(Show Context)
Citation Context ...The Bishop-Bridges-Beeson (BBB) Program 1. Correctness. 2. Complexity. 3. Non-determinism. 4. Total/partial. 5. Representation. 6. Proof Theory. Table 2: Categorical Attributes in Algorithms. Feferman=-=[15]-=- defines two concepts with respect to meaningfulness: [A theory] T is an adequate formalization of [a body of of informal mathematics] M if every concept, argument and result of M may be represented b... |

51 |
Program Verification: the Very Idea
- Fetzer
- 1988
(Show Context)
Citation Context ...rmation from the problem and translate this information into logical constraints. In this way, a program becomes associated with the problem the program is to solve. Consider, now, Fetzer's conclusion=-=[16]: "Al-=-gorithms, as logical structures, are appropriate subjects for deductive verification. Programs, as causal models of those structures, are not." Total semantics represents the logical structure wh... |

48 | MPFUN: A Portable High Performance Multiprecision Package.” NAS Applied Research Office, NASA Ames Research Center, 5 Field, CA 94035
- Bailey
- 1991
(Show Context)
Citation Context ...og, and Wamcc to name just a few. The underlying data operational model for the bootstrap is multiprecision integers and rationals as provided by [19] and multiprecision Wilkinson sets as provided by =-=[2]-=-. The system is compilable using the current version of gcc and bison. Language Syntax. The language syntax is strongly influenced by current functional languages such as haskell but with major differ... |

26 |
An intuitionistic predicate logic theorem prover
- Sahlin, Franzen, et al.
- 1992
(Show Context)
Citation Context ...tiation are stricter. We also lose some old favorites like part of contraposition and DeMorgan's laws. It is not our purpose here to derive a constructive logic. There are constructive theorem provers=-=[34] so manipu-=-lating such logics is well within the realm of possibility. 4 Bootstrap Version The eb system is currently in "bootstrap" mode. The compiler for the language converts eb statements to C. How... |

26 | Science, Computational Science and Computer Science: At a Crossroads
- Stevenson
- 1994
(Show Context)
Citation Context ...irty years ago, the idea of programming was supposed to be a natural one: a program is what a program does. My, how things change. Although not timed to coincide with the dubious milestone, the author=-=[36, 37]-=- has presented a case for computational science and engineering. Included in [36] are specific criticisms of computer science aimed at the lack of foundations taking a philosophy of mathematics stand.... |

25 |
Mathematics as a numerical language
- Bishop
- 1970
(Show Context)
Citation Context ... recursive functions, -calculus, and classical logic oriented. MT is the proposals of Per Martin-Lof, also familiar to this readership. MT is close to RA and B, differing in the details. Bishop's view=-=[10, 11]-=- is that every theorem should have numerical content and computational meaning. In Beeson's original paper[5], there are lengthy comparisons of the various viewpoints. Bishop's desire was to have a sy... |

18 |
Recursive function theory and logic
- Yasuhara
- 1971
(Show Context)
Citation Context ...f functions, and R a set of relations each with the appropriate domain. If R satisfies a set of axioms, R is called a model of those axioms. Models serve as bases of interpretation of formal languages=-=[29, 14, 45]-=-. We must have a less strict view of model because we want to have a relational structure F that approximates R, the reals. 3.4 Formal and Informal Proofs Proofs in constructive theories are more comp... |

17 |
Introduction to Computability
- Hennie
- 1977
(Show Context)
Citation Context ... crucial early decisions. In general, we want to adhere as closely as we can to the standard models of computation. We therefore want to reconsider the basic outline of Rogers[33, pp. 1--5] and Hennie=-=[22]-=-. While most of the points in the cited Rogers work seem acceptable, there may be hidden classical logic constraints. Therefore, subject to that review, the underlying operational ideas seem consisten... |

9 |
Programs, Recursion and Unbounded Choice. Number 27
- Hesselink
- 1992
(Show Context)
Citation Context ...gly influenced by current functional languages such as haskell but with major differences: ffl Type syntax is not yet set. See below. ffl The language uses Dijkstra's guarded commands as described in =-=[23]. ff-=-l Multiple abstractor types:sfor functional operation and �� for relational operation. Types. Although there is some argument for just accepting a Hindley-Milner type system and be done with it, t... |

8 |
Formalizing constructive mathematics: why and how
- Beeson
- 1980
(Show Context)
Citation Context ...r to this readership. MT is close to RA and B, differing in the details. Bishop's view[10, 11] is that every theorem should have numerical content and computational meaning. In Beeson's original paper=-=[5]-=-, there are lengthy comparisons of the various viewpoints. Bishop's desire was to have a system that could be useful to any and all mathematicians, from his own followers to the classical. We concentr... |

4 |
Computer Solution of Linear Algebraic Equations
- Forsythe, Moler
- 1967
(Show Context)
Citation Context ...niques, followers of Bishop will not be able to blindly follow classically defined work like [30]. As programmers, we instead think about the set of numbers of the form m\Thetab s in the Wilkinson set=-=[44, 17]-=-: \Sigmam \Theta b s 2 W(b; t; emin ; emax): These numbers are canonical elements in the sense of [31]. This is the set of rational numbers that can be formed using b-base arithmetic, with the mantiss... |

3 | Software engineering frontiers in computational science and engineering
- Stevenson
- 1995
(Show Context)
Citation Context ...irty years ago, the idea of programming was supposed to be a natural one: a program is what a program does. My, how things change. Although not timed to coincide with the dubious milestone, the author=-=[36, 37]-=- has presented a case for computational science and engineering. Included in [36] are specific criticisms of computer science aimed at the lack of foundations taking a philosophy of mathematics stand.... |

3 |
Principles of Intuitionism. Number 95
- Troelstra
- 1969
(Show Context)
Citation Context ...rete. In terms of classical logic, rules as universal instantiation must be accompanied by the substitution of a concrete object. The reliance on (CT) places great emphasis on decidability. Following =-=[43]-=-, we call a notion jA a decidable property of predicate A. Notions play an important role in constructive logics. 2.2 Our Program The goal is to constructively attach programs to constructive real num... |

2 |
Reflections on Bishop's philosophy of mathematics. In Constructive mathematics : proceedings of the New Mexico State University conference held at Las
- Goodman
(Show Context)
Citation Context ...f of the existence of an infinite number of primes. The proof is constructive (gives a procedure) but goes on "forever." Does a countably infinite number of steps constitute a legal algorith=-=m? Goodman[18]-=- holds to the view that the question is one feasibility rather than the number of steps. Induction often commits us to nonconstructive steps and the use of classical logic. However, we must be careful... |

2 |
Liberal constructive set theory. In Constructive mathematics : proceedings of the New Mexico State University conference held at Las
- Greenleaf
(Show Context)
Citation Context ...for a construction? Sedlin[35] introduces the concept of semiconstructive to describe "computations" of countably infinite length. To Bishop, the question was "what must one do to const=-=ruct" an object[20]-=-. Sets in B, for example, are developed in three stages: (1) describe a process to construct an arbitrary object; (2) describe a process for testing equality; and (3) verify that the equality relation... |

2 |
Analysis and Refutation of the LCAS
- Kahan
- 1991
(Show Context)
Citation Context ...approximations are often wildly discontinuous functions. Maple is actually more of an exemplar than Fortran. We must be careful, however, not to fall into the trap of software bloat in numerical codes=-=[27]-=-. We have a natural need for partial evaluation [26]. But precision considerations should not be a reason for two programs. And should not the compiler know about Horner's rule or be able to different... |

2 |
A constructive approach to classical mathematics. In Constructive mathematics : proceedings of the New Mexico State University conference held at Las
- Seldin
(Show Context)
Citation Context ...s a two step process of (1) creating a object by construction c and (2) proving c is a proper construction of an object in a set X. But how long and how much space is needed for a construction? Sedlin=-=[35] introduces the conc-=-ept of semiconstructive to describe "computations" of countably infinite length. To Bishop, the question was "what must one do to construct" an object[20]. Sets in B, for example, ... |

2 |
Can an inquiry into the foundations of mathematics tell us anything interesting about mind
- Stolzenberg
- 1978
(Show Context)
Citation Context ...ction" is often debated but should be seen as simply two different ways of talking about the same thing. "Objective language is more concise; operation language is more precise"[20, p. =-=223]. See also [40]-=-. Construction should not be seen as a two step process of (1) creating a object by construction c and (2) proving c is a proper construction of an object in a set X. But how long and how much space i... |

1 |
The GNU Multiprecision Arithmetic Library. Free Software Foundation, gmp 1.3.2 edition
- Granlund
- 1993
(Show Context)
Citation Context ...ompiling systems: SICStus Prolog, BIM Prolog, PDC Prolog, and Wamcc to name just a few. The underlying data operational model for the bootstrap is multiprecision integers and rationals as provided by =-=[19]-=- and multiprecision Wilkinson sets as provided by [2]. The system is compilable using the current version of gcc and bison. Language Syntax. The language syntax is strongly influenced by current funct... |

1 |
Original; also published in Archiv der Mathematik und Physik, 3rd series, vol 1
- S
- 1902
(Show Context)
Citation Context ... Kant's position that only counting mattered. In the nineteenth century, the constructive view was held by many, including Gauss, Dedekind, Kronecker, and Brouwer. Brouwer [12] disagreed with Hilbert.=-=[25]-=-. The argument started over the set paradoxes. Perhaps the most eloquent proponent of the Brouwer's view was Heyting[24] who created much of the formal logic structure for constructivity. Kleene playe... |

1 | W2C: A WAM to C assembler
- Stevenson
- 1995
(Show Context)
Citation Context ...es are handled as atoms, but we need lots of space to share with UNIX. We have extended the concept of atom to be a pointer into high memory. This allows us to keep the size of the WAM area down. See =-=[38]-=-. Data/Name Control. The situation here is undefined. Again, the problem is the change in focus. Conventional moduless may or not be useful. Problem organizations and extended procedural concepts as i... |

1 |
Objectculture: Achieving Efficient Implmentation and Effective Interactions in Object-Orient Programs
- Sykes
- 1995
(Show Context)
Citation Context ...cal questions are admissible predicates? These concepts certainly point to semantic directed translations and partial evaluation. The "metalevel" of programming can be related to the idea of=-= an oracle[42]-=-: unfortunately, oracles imply omniscience. From earlier, we have the idea that Annotation + Construction = Algorithm: The following are all metaconcepts: machine organizations(e.g., MIMD); passing me... |