Arithmetical Datatypes, Fracterms, and The Fraction Definition Problem

Datatypes and abstract datatypes are positioned as results of importing aspects of universal algebra into computer science and software engineering. It is suggested that 50 years later, by way of a transfer in the opposite direction, outcomes of research on datatypes can be made available via elementary arithmetic. This idea leads to the notions of an arithmetical signature, an arithmetical datatype and an arithmetical abstract datatype and to algebraic specifications for such entities. The area of fractions in elementary arithmetic is chosen as an application area and while taking a common meadow of rational numbers as the basis, an arithmetical datatype equipped with an absorptive element. The use of datatypes and signatures makes syntax available for giving precise definitions in cases where lack of precision is common place. Fracterm is coined as the name for a fraction when primarily understood as a syntactic entity. The main contribution of the paper is to provide a detailed terminology of fracterms. Subsequently the fraction definition problem is stated, a distinction between explicit definitions of fractions and implicit definitions of fractions is made, and an outline of a survey of both forms of definitions of the notion of a fraction is given. © Jan A. Bergstra 2019 Licence CC BY-SA 4.0


Introduction
The signature Σ urd , for unital rings with division, is the signature of unital rings Σ ur = (0, 1, +, ·, −) augmented with a two place division operator written x/y or alternatively x y . An arithmetical signature is defined as either Σ urd or any signature which extends Σ urd . Σ ur is termed an arithmetical signature without division.
A signature is a collection of names for sorts, constants for these sorts and functions over these sorts. For a function name in a signature an arity is given, i.e. information on how many arguments it takes, and from what sort in the signature the respective arguments come, as well as in what sort a result is obtained. Different notations may be used to denote the members of a signature, for instance f : S 1 × S 2 × S 3 → S 4 may indicate a function named f with arity 3 which takes arguments in sorts S 1 , S 2 , and S 3 respectively and which yields results in sort S 4 . The same notation also asserts the presence of the four (or less if some coincide) sorts S 1 ,..,S 4 I will assume that each algebra A comes with a unique signature Σ = Σ(A). If Σ(A) = Σ then A is called a Σ-algebra. An arithmetical algebra is an algebra with an arithmetical signature. A Σ-algebra constitutes an interpretation of its signature providing for each sort a set as its interpretation and for each constant name an element of the corresponding set and for each function name the graph of a total function taking its arguments in the respective interpretations of the argument sort names and producing a result in the interpretation of its output sort. Below I will often ignore the distinction between a name and its interpretation and speak of sorts as sets, constants as elements of sorts and functions (names) as functions.
I will assume that the sorts of an algebra are non-empty sets. Homomorphisms and isomorphisms between algebras must leave the signature invariant. An algebra is minimal if for each of its sorts, each element is the interpretation of a closed expression over its signature. A minimal algebra has no proper subalgebras. The converse fails, however: let Σ only contain the sort V , no constants, and no functions. The structure A with V A = {0} is a minimal algebra without proper subalgebras. But 0 is not the interpretation of a closed expression in Σ = Σ(A). Datatypes are minimal algebras. An arithmetical datatype is a minimal arithmetical algebra.
Let Σ ⊆ Γ be signatures, and let Σ(A) = Γ. Now A| Σ , the Σ-reduct of A results from A by forgetting the sorts constants and functions outside Σ. When reducing an algebra the various sorts do not change. Complementary to the idea of reduction is that of expansion: A is an expansion of A| Σ . Besides reduct and expansion there are the notions of subalgebra and extension. A is a subalgebra of B if (i) both have the same signature, (ii) each sort of A is a subset of the corresponding sort of B, (iii) constants have the same interpretations in both structures, and (iv) the functions of A are restrictions of the equally named functions of B to the respective sorts of A. In case A is a subalgebra of B it is also said that B is an extension of A. In case B is an expansion of an extension of A, it is also said that B is an enlargement of A. This paper has two objectives: (i) to provide a manifesto on arithmetical datatypes: providing a rationale for the use of the theory of datatypes and abstract dataypes in elementary arithmetic, and (ii) to exemplify the relevance of this approach by introducing the notion of a fracterm and then providing a detailed terminology for fracterms, and for related notions of fracsign and fracpair. The underlying objective for introducing such terminology is that it is expected to be helpful for investigating the notion of a fraction. That fractions are worth systematic attention cannot be convincingly explained, however, in advance of actually investigating fractions in detail, and the observation that fraction is a complicated concept, if not a problematic concept, emerges only after careful preparations.
In computer science the notion of a datatype serves as an abstraction of a data structure, the latter understood as featuring in program notations and in operating systems and sometimes in hardware designs. The notion of an abstract datatype has emerged as yet a further step of mathematical abstraction of a datatype. An abstract datatype is the isomorphism class of a datatype. The theory of datatypes and abstract datatypes can be viewed as an application and elaboration of concepts and results from mathematics and logic, mainly from universal algebra, to the theory and practice of software construction.
In this paper I intend to move in the opposite direction and to make results from (abstract) datatype theory available for application in elementary mathematics. The point of departure in computer science, with respect to this "move" requires some preliminary clarification. Throughout the literature on datatypes and abstract datatypes various terms and phrases have not always been used in a consistent manner. As a consequence of such inconsistencies in the literature I will need to make some choices which are only partially supported by the available literature. This holds in particular for the choice to view an abstract datatype as an isomorphism class of a datatype.

Symbolic numbers
In [34] it is explained how the symbolic approach to arithmetical algebra came to accept negative numbers and imaginary numbers, while a vocal opposition against these innovations was present. Arithmetical datatypes with or without division provide ample freedom for systematically extending arithmetical structures with new elements thereby extending the symbolic approach beyond its classical successes: negative numbers, imaginary numbers, quaternions, p-adic numbers, dual numbers, and transcendental numbers.
Elements in a domain of numbers which embody an idea rather than a measurable quantity may be called symbolic values. A prime example of a symbolic value is ⊥. Below some functions, which conventionally are considered partial, are made total by taking the value ⊥ to represent an (otherwise) absent outcome. ⊥ may be understood as the unique solution of the system of equations {0 · x = x, 1 + x = x}. This amounts to working with the signature Σ ur,⊥ which extends Σ ur with ⊥. Examples of the use of ⊥ in integer arithmetic are: 1−2 = ⊥ (⊥-totalised subtraction on natural numbers), 3 : 4 = ⊥ (⊥-totalized division on integers), 3\4 = 1 and 3\0 = ⊥ with −\− naming integer division with remainder, and −\\− naming the remainder so that 7\2 = 3, 7\\2 = 1, and 7\\0 = ⊥.
The value ⊥ is an absorptive element of the domain of numbers. Any operation taking ⊥ as one of its arguments must return ⊥. Including an absorptive element in arithmetic is not new. Wheels (see [37,16,17]) contain ⊥, though without introduction of a new constant name, as the result of dividing 0 by 0. The transrational numbers of [1] contain an absorptive element (written Φ instead of ⊥) named nullity. Wheels and transrationals feature the absorptive element in the presence of symbolic values for infinity (a non-zero solution of the equations {1/0 = x, 1/x = 0}). Common meadows [10,11] contain ⊥(written a for additional/absorptive in these papers) as a symbolic number. Currently ⊥(Φ), ∞, and −∞ constitute the most common symbolic numbers. The constant in the context of dual numbers may be considered a symbolic number which has gained significant acceptance. I refer to [4] for a discussion of dual numbers in a setting of (total) arithmetical datatypes.
Including symbolic numbers like ⊥ in an arithmetical algebra has not yet gained significant acceptance. The rationale for adopting ⊥ is based on expected advantages of working with total functions, which is both formally simpler than working with partial functions, and is more closely linked to computer operation. Whether or not such advantages will materialise to such an extent that symbolic numbers in general, and ⊥ in particular, will gain wider acceptance, remains to be seen.

Which functions to include in a signature
In software engineering the signature of a datatype names at least those constants and operations which a user, that is a programmer, is allowed or supposed to apply when making use of an implementation of the abstract datatype. This explanation provides a criterion as to whether or not to include certain operations in a signature.
When a datatype is used outside the context of software engineering, for instance for an explanation of some aspects of elementary arithmetic, another criterion for the inclusion of sorts constants and functions in a signature is required than mere actual or expected occurrence in computer programs. Like in software engineering, it is fruitful to presuppose some distinction between developer (author, designer) and user. For instance in elementary arithmetic one may think of students as users, and of the authors of course material as developers. Teachers feature a spectrum: some may be considered developers and others may best be considered users.
When working outside software engineering a datatype is presented together with its signature and perhaps together with a specification of it. Specifications often take the form of sets of equations, which are understood as rewrite rules from left (LHS) to right (RHS). A specification is called a DDRS (datatype defining rewrite system) if it is weakly terminating and ground confluent.
Importantly it will more often than not be the case that the designer/developer has access to operations which are not listed in the signature.

Which functions not to include in a signature
The choice of a signature in some context of interest is a matter of design, and different signatures may serve different but related objectives. For each application area, and for each approach to it which involves the introduction of datatypes, it is unavoidable that below some level of granularity constants and operations which might be important are nevertheless left outside a signature. The semantic function [[−]] has already been mentioned as an example of a function left outside a signature, but more appealing examples are easily found. For instance in the case of arithmetic one may consider the details of working with decimal notation. Decimal number notation uses lists of decimals and operations on these, which can be easily specified with appropriate auxiliary functions, which, however one may prefer not to expose to a user.

Datatypes and abstract datatypes
Conventionally a datatype is a particular kind of feature of a program notation, or of an instance of the use of that feature in a program, or a mechanism offered by an operating system which enables a program to make use of that kind of feature. Secondly it is a single sorted or many sorted minimal algebra, which is a notion from mathematical logic. In the practical literature on computer programming the first meaning of datatype is most prominent. However, I will use datatype in the second sense only. Definition 1. An algebra of signature Σ is minimal if each of its elements is the interpretation of a closed Σ-expression.

Definition 2.
A datatype (of signature Σ) is a minimal Σ algebra with nonempty sorts only. A datatype is a datatype of some signature Σ.
As stated above the literature on computer programming is not unanimous on this matter, and both definitions incorporate a definite choice, for which equally valid alternatives exist. Having made this choice, however, an abstract datatype is the isomorphism class of a datatype. Definition 3. An abstract datatype (of signature Σ) is the isomorphism class of a datatype of signature Σ. An abstract datatype is an abstract datatype of some signature.
In addition to the mentioned ambiguity regarding the notion of a datatype there is additional ambiguity in the literature regarding the notion of an abstract datatype. Authors on the theory and practice of datatypes, who understand datatypes as a systems feature prefer to view an algebra as an abstract datatype. If, however, one perceives a datatype as an algebra then abstraction leads to the isomorphism class. These definitions comply with [15]. I will denote the isomorphism relation with ∼ =. For a datatype A, the abstract datatype to which it belongs, i.e. the isomorphism class of A is denoted with [A]/ ∼ =.

Abstract datatype specification
Central to the theory and application of abstract datatypes is the notion of a formal specification which has originally been advocated by the ADJ group some 50 years ago (see e.g. [24]). Specification of abstract datatypes constitutes one of the roots of so-called formal methods in software engineering.

Definition 4.
A specification of an abstract datatype (of signature Σ) is an instance of use of any method of description which unambiguously singles out a unique abstract datatype of the given signature.
Specifications are often classified in terms of the specification method which is used. Algebraic specifications allow the use of collections of equations and conditional equations to determine an appropriate class of algebras from which either by requiring initiality or by requiring finality, a subclass of mutually isomorphic algebras is singled out. (See e.g. [13]). First order specifications often allow to determine an isomorphism class of models by merely requiring minimality. If a specification determines a class of abstract datatypes rather than a single one, it is customary to speak of a loose specification.

Definition 5.
A loose specification of an abstract datatype (of signature Σ) is an instance of use of any method of description which unambiguously singles out a class of abstract datatypes of the given signature.

Datatype specification
Algebraic specifications may sometimes be used to specify a datatype rather than merely an abstract datatype. If the equations constituting an algebraic specification of an abstract datatype, when considered as a term rewrite system, give rise to a weakly terminating and ground confluent term rewrite system (so that normal forms of closed expressions exist and are unique), then by choosing normal forms as elements a unique datatype is singled out.
In [14] it is shown that if auxiliary functions are admitted a computable datatype admits an equational specification which, by being confluent and terminating, specifies a unique datatype at the same time.
Definition 6. A specification of a datatype (of signature Σ) is an instance of use of any method of description which unambiguously singles out a unique datatype of the given signature.

Definition 7.
A loose datatype specification (of signature Σ) is an instance of use of any method which unambiguously singles out a class of datatypes of the given signature.
For the objectives of this paper it is of vital importance to be precise about the distinction between datatypes and abstract datatypes.

Arithmetical datatypes: rationale and survey
The development of abstract datatypes in software engineering came with several claims about the potential benefits of the use of formal specification methods for abstract data types in software engineering. Together these claims provided a convincing rationale for research on algebraic aspects of datatypes and abstract datatypes. I will briefly summarise these expected benefits.

A rationale for abstract datatypes in software
The rationale for using datatypes and abstract datatypes in software technology decomposes into different aspects. (i) Viewing datatypes as algebras provides a path for the introduction of known methods from universal algebra for obtaining a semantic basis for concepts in computer programming. (ii) Parametrized datatypes, parameter instantiation, refinement, subsorts and partiality, error handling, the relation between specification and implementation, and formal verification of datatype implementations, constitute concepts of high relevance for software engineering and program notation design. The latter disciplines may both profit from the application of the conceptual framework of abstract datatypes. (iii) By using a formal specification method precise, detailed, and unambiguous descriptions of software modules can be provided. (iv) On the basis of one or more specification techniques quite general software specification languages may be designed, together with corresponding software development methods. (v) Term rewriting and logic programming often allow the generation of a prototype implementation of a datatype from an abstract data type specification. This aspect comes with a wealth of options for specialising and generalising term rewriting. Conditions, priorities, applications of pattern matching and selection of rewriting strategies come into play. (vi) Given an application area one may design a portfolio of specifically relevant abstract datatypes for that area and one may construct a special purpose program notation, a so-called domain specific language (DSL), around this portfolio which is optimised for the use of precisely those datatypes. DSL's allow so-called low coding.

The fate of algebraic methods in software engineering
By now these objectives have persisted for half a century and hundreds of small and large method engineering projects based on such principles have been carried out, each coming with a wealth of case studies and, often with realistic applications of various sizes. The mentioned objectives have each been met, while at the same time it seems fair to say that it has proven exceptionally hard to convince individual professional programmers of the idea that the significant investments in time and effort required when making use of these particular formal techniques is justified by its practical value.

A rationale for arithmetical datatypes in arithmetic
The introduction of arithmetical datatypes as a concept of use for elementary mathematics constitutes an attempt to channel back results from computer science to its original source. The following advantages may be obtained from doing so.

Introducing syntax into elementary arithmetic
Whereas for computing in general and for software engineering in particular the explicit use of syntactic considerations and concepts is common practice, the explicit use of syntax is still completely absent in school mathematics, except for the backdoor of educational software which unavoidably comes with some form of syntax. However, I claim that in the setting of elementary arithmetic taking syntax into account is useful at the conceptual level already. This claim is spelled out in more detail in the following paragraphs.

Conceptual clarification
Some aspects of elementary mathematics merit further attention and may profit from the clarity which taking syntax into account can provide. For instance there is a remarkable diversity in definitions of fractions, and of notions and distinctions related to fractions, which transpires from the vast literature on fraction teaching. Providing a systematic survey of these definitional options is supported by having a framework of arithmetical datatypes in mind.

Development of educational languages and systems
Thinking in terms of arithmetical datatypes may be helpful for the design, development, and implementation of educational software systems for teaching arithmetic as well as for comparing such systems. Such systems may either be specific for a preferred arithmetical datatype or may be generic for a spectrum of different underlying arithmetical datatypes.

Supporting the human understanding of automated arithmetic
Under the assumption that a computer implementation of elementary arithmetic is unavoidably based on a selection of particular arithmetical datatypes and implementations thereof, awareness of the diversity of such datatypes may prove helpful for the human understanding of the the software tools at hand.

Novelty and scope
Admittedly there is less novelty in moving focus from computer science back to basic arithmetic than there was 50 years ago in exporting results from universal algebra to computer programming. There is no teaching crisis in arithmetic that might be considered comparable to the software crisis for which formal methods were initially meant as a cure.
Teaching elementary arithmetic, however, may well constitute the largest teaching process world-wide with focus on a specific theme. Much effort goes into the design of improvements to that particular educational process. Therefore I consider the effort of investigating the foundations of school arithmetic from the perspective of arithmetical datatypes even a without specific application to the relevant teaching processes in mind, to be amply justified.

Application of (abstract) datatypes as an objective
The work in this paper may be understood from several different perspectives and may be judged accordingly in different ways. The following different objectives may lead to comparable considerations: focus on conceptual problems with fractions, while restricting the tools employed to a minimum, (ii) introducing syntactic aspects into elementary arithmetic so as to make the explicit use of syntax "school proof", (iii) integrating formal logic with elementary mathematics, (with as a consequence that working with arithmetical datatypes is merely an option, and not a must), and (v) redesigning the definitions of various arithmetical datatypes, finding optimal signatures, etc.
Contemplating the question "how to make use of datatypes and abstract datatypes in school arithmetic", the subsequent question arises which aspects of the theory of (abstract) datatypes may be of relevance in the setting of elementary arithmetic. A partial answer to this question is given in the following Paragraphs. In the technical part of this paper, involving the definition of fracterms and the survey/design of fracterm terminology only the first item (signature design) is exploited. A signature is used to provide a precise language for speaking of fracterms.

Signature design and informal description of datatypes
Making signatures explicit (or rather designing a signature) constitutes a major designs phase which (abstract) datatype theory prescribes and requires. Precisely this phase is less familiar for mathematicians. Having a signature at hand both formal and informal methods for describing a datatype with that signature are available.

Abstract datatype specification
For all arithmetical (abstract) datatypes under consideration a survey of algebraic/formal specifications thereof is relevant. In particular it matters whether or not finite specifications exist and to what extent good term rewriting properties can be obtained when reading the equations from left to right as rewrite rules. Confluence and (weak) termination, perhaps modulo permuting rewrite rules (such as commutativity and associativity), are the main virtues for rewrite systems which a designer hopes to achieve. These virtues first of all support the theoretical understanding of the (abstract) datatypes involved.

Infinite signatures and schematic (conditional) equations
This feature seems not to have gained any prominence in the computer science literature. It is unproblematic and potentially useful to introduce infinite signatures in the context of algebraic specifications. Below I will introduce a constant σ for each non-zero decimal natural (a decimal digit sequence starting with a non-zero digit; such digit sequences are collected in the set C D ), and I will make use of schemes involving metavariables u, v, w, . . . ranging over C D for equations and conditional equations which translate into infinite collections of equations or conditional equations by substituting all (combinations of) constants σ ∈ C D for these metavariables. The existence of initial algebras and of final algebras under certain restrictions, as well as the theory of term rewriting are unaffected by the use of infinitary specifications in the way just outlined.

Datatype specification and prototyping
Adequate term rewriting properties for a datatype specification (i.e. having developed a datatype defining abstract datatype specification) leads to a socalled executable specification. Once an executable datatype specification has been obtained automatic prototyping allows practical experimentation with it, in advance of further optimization of an implementation.

(Abstract) datatype design by stepwise refinement
A classic idea is that complex (abstract) datatypes are designed on the basis of simpler one's by way of a sequence of enrichments. In an enrichment the signature is enriched and additional equations for specification are introduced thereby obtaining a refinement of a specification. Enrichment may be understood as an instance of parameter passing for a parametrised datatype (see below).

Final algebra semantics
An awareness of the potential gap between initial algebra semantics (involving negation by failure) and final algebra semantics (involving double negation by failure) may be useful. Often final algebra semantics is closer to the intuition, in spite of the fact that it is technically more involved. Final algebra semantics matches perfectly with co-algebras.

Hidden sorts, constants and functions
Below a datatype for rational numbers will be described with elements (a, b) where a and b are integers, b > 0 and gcd(a, b) = 1. It is an option to view entities (a, b) as hidden constants. That implies that its use is not advised for an end user of the system (i.e. a student) but that awareness of the presence of the constant may be helpful for someone in charge of delivering the system, for instance a teacher, or a person designing educational material. Technically more involved is the option to provide constants and functions that specify addition and multiplication on decimal notations. Such parts of a signature may be declared hidden after having been introduced in order to obtain a higher level of abstraction.

Modularity and parametrization
Below it will be assumed that multiplication and addition for integers "is known" so that a focus on division and subtraction as newly introduced can be made independent of differences in perspective on addition and multiplication of integers. This matter can be understood as a modular combination of various specifications (now called specification modules or simply modules), a specification of addition and multiplication, and a specification for division which merely makes use of names for addition and multiplication. Module algebra can be used to deal with the combination of specifications involving hidden sorts and functions, while the pushout construction of category theory provides a tool to describe parameter passing.

Error handling
The most straightforward option, as has emerged in (abstract) datatype theory, for dealing with problematic values is to introduce an absorptive element in each sort, often denoted with ⊥, or ⊥ S if the notation must be made specific for a sort S. Below this strategy is applied to elementary arithmetic in order to deal with the problematic value of the expression 1/0. However, a large literature concerning different options for dealing with problematic values has been developed in the context of (abstract) datatypes. And other options for dealing with the evaluation of problematic expressions may be just as well useful for elementary arithmetic. gcd(n, m) = 1. Below I will provide some comments on decimal notation which as such exceeds the grammar provided by Σ ur .
The interpretation of the constant 0 is (0, 1), the interpretation of the constant 1 is (1, 1), and addition, multiplication and opposite are defined in the usual manner while an enrichment with subtraction is defined via x − y = x+(−y). By writing Q rather than Q it is made explicit that a specific datatype is meant, including a definite choice for its domain as a set, rather than an abstract datatype, i.e. a mere isomorphism class, or a fixed but arbitrary choice from an isomorphism class.
Q is an arithmetical algebra whereas it is not an arithmetical datatype because it is not a minimal algebra. For instance (1, 2) is not the interpretation of a closed term over the signature of unital rings. In order to obtain an arithmetical datatype which includes Q, introducing an enrichment with one or more functions is unavoidable, while extension with one or more elements is optional. I will consider various forms of division as candidates for enrichment for the purpose of finding a minimal algebra which is closely related to Q.

Datatypes for rationals: expansions and extensions of Q
The introduction of division in the context of Q comes with a range of different options.

Meadows of rational numbers
Q 0 , a meadow of rational numbers with inversive notation is obtained by expanding Q with an inverse function −1 given by: (0, 1) −1 = (0, 1), (n, m) −1 = (m, n), and (−n, m) −1 = (−m, n). An initial algebra specification of Q 0 = Q 0 / ∼ = is given in [15]. The abstract datatype Q 0 occurs in [26] and in [32], where such structures are named pseudo-fields. Implicitly Q 0 also occurs in [29]. Several definitions of the class of meadows can be given, for instance meadows constitute the smallest variety (i.e. class of algebras that satisfy an equational first order theory) which includes the commutative rings expanded with an inverse operator that satisfies: Yet another way to focus on meadows is to work in the signature of unital rings expanded with an inverse operation such that 0 −1 = 0 and to adopt the following additional proof rule IR m (inverse rule for involutive meadows) for (conditional) equational logic (E is a collection of equations and or conditional equations) : Meadows of rational numbers with divisive notation Q d 0 is the meadow of rational numbers with divisive notation which results from Q 0 by first applying an enrichment with x/y = x·y −1 and subsequently applying a reduction by forgetting the inverse function. One may consult [8] for more information on the connections between inversive notation and divisive notation, and for an initial algebra specification of Q d 0 which avoids the detour with the inverse function. The additional proof rule (now referred to as IR d m ) reads:

Common meadows of rational numbers
Q d ⊥ is a common meadow of rational numbers with divisive notation. The domain of this structure extends that of Q with (0, 0) which serves as the intepretetaion of the constant ⊥ and which represents the result of dividing by zero (i.e. x/0 = ⊥). (0, 0) is an absorptive element in the algebra (so that The (conditional) equational logic for common meadows results from adopting the following additional rule IR d Q ⊥ is a common meadow with inversive notation. Common meadows as an abstract datatype, are introduced in [10] where equations for common meadows are given, named Md a with a, instead of ⊥ as the name for the absorptive element. An initial algebra specification of Q ⊥ is given in [11], where also an independent construction is given of the initial algebra of Md a .
In [10] the symbol a is used for the absorptive element with the idea that the latter notation is (would be) preferable if calculation with an absorptive element is (hypothetically) put into practice, say in school arithmetic, while using ⊥ is preferable in theoretical work which is not supposed to prepare for "end user" application in a literal manner.
An equational logic for wheels can be presented by adopting the following is an arithmetical datatype for transrationals with divisive notation. This arithmetical datatype extends Q with two elements which will play the role of signed infinite values (1, 0) and (−1, 0), and enriches the resulting structure with a division operator. For more information transrational arithmetic I refer to [1] and [19] and the papers cited therein.
In the setting of transrational arithmetic and transreals ( [19]) instead of ⊥ the symbol Φ is used for the unique absorptive element. Following [2], Φ is used below in case positive and negative infinite values are both present and are distinguished, which is the case in transrationals and transreals, while ⊥ is used in the case of a single infinite element (as in wheels), and also in the presence of an absorptive element in the absence of infinite values. A dedicated proof rule is as follows, writing e for t = r:

True fractions
In [12] the notion of a true fraction is proposed, which refers to elements arithmetical datatypes in which different though equivalent common fracterms have different interpretations. Datatypes with true fractions are complicated structures which, for that reason are unlikely candidates for being used for educational purposes.

Focus on Q d ⊥ : common meadows of rational numbers
From the structures listed above I consider the abstract arithmetical datatype Q d ⊥ , to be the most appropriate one as a basis for the description and analysis of elementary arithmetic in an educational setting.
Q d ⊥ models an understanding of division as a partial function, while technically working with total functions, especially when reading t = ⊥ as "t is undefined", or as "t has no proper value".
The choice for Q d ⊥ as a particular arithmetical datatype within Q d ⊥ is made for the purposes of this paper only. This choice embodies an important degree of freedom for the analysis of elementary arithmetic, and different choices may serve different purposes in that area. Providing a systematic survey of common meadows of rational numbers is left for further work.
Technically the arithmetical datatype Q d 0 may equally well be used in the context of elementary arithmetic, but the somewhat controversial assumption that 1/0 = 0 lacks sufficient justification at an elementary level. Advantages of working with involutive meadows (and thereby assuming 1/0 = 0 when using divisive notation) may appear primarily in two ways: (i) when developing theoretical work on formal systems involutive meadows are simpler to deal with than its alternatives, and (ii) when working on applications expressions and equations may be kept simpler. In rare cases the choice of 0 as a value of 1/0 matches with the intuitions in the setting at hand, but such cases are somehow accidental, and therefore do not, in my view, provide significant arguments for setting 1/0 equal to 0. In this matter I disagree with the views that underly [29], where it is claimed that taking 0 as the value of 1/0 is preferable to other choices on mathematical grounds, that is because it provides the best fit with relevant parts of mathematics.
If a conceptually more sophisticated alternative is sought for Q d ⊥ serving as a basis for work on elementary arithtmetic then wheels of rational numbers, i.e. the abstract arithmetical datatype Q d ∞,⊥ provides a plausible candidate. In [16] a more elegant and more generally applicable construction for specific algebras in this abstract datatype than the datatype Q d ∞,⊥ as defined above is presented.

Decimal notation
It is plausible to introduce all decimal digit sequences without redundant leading zeros as constants and to provide algebraic specifications for naturals and integers consisting of an infinite number of (conditional) equations which are generated by substitution of constants in a finite number of schemes. Such specifications can be combined without any problem with conventional algebraic specifications of rings, meadows, and common meadows.
I write C D for the collection of all non-empty digit sequences different from 0 without leading zeros. For instance 70553 ∈ C D . With u = 7055 ∈ C D one may write u3 for 70553. The decomposition of an element w of C D with two or more characters into w ≡ ud with u ∈ C D and d ∈ {0, . . . , 9} will be used extensively. Now for instance 752 is a constant which can be made up from 7 by first postfixing 5 and the 2.
C D is considered the collection of positive natural numbers, or rather of positive decimal natural numbers. The algebra Q d ⊥,C D results from Q d ⊥ by including each σ ∈ C D in the signature (which already contains 0 and 1) and by choosing as the interpretation for σ ∈ C D the pair (σ, 1). An algebraic specification of the abstract datatype Q d ⊥,C D is given in table 1. The specification in table 1 is found by combining (i) the specification of common meadows of [10] (though writing ⊥ instead of a) with (ii) an explicit definition of division in terms of the inverse function (x/y = x · y −1 ), (iii) an axiom scheme (u/u = 1 for u ∈ C D ) which captures the requirement that the characteristic is zero, in the light of the fact that elements of C D are supposed to represent nonzero decimal natural numbers, and (iv) a specification of decimal numbers by means of an infinite set of equations which consists of ten equations for the successor of digits and an equation scheme which specifies the value of ud in terms of the values of u and of d. In this specification inverse merely serves as an auxiliary function. Following [11] the axiom scheme u/u = 1 may be replaced by the single axiom (x 2 + y 2 + 1)/(x 2 + y 2 + 1) = 1 + 0 · (x + y). Following [8], the use of inversive notation can be avoided. I have not done so in the presentation of the axioms in order to keep the relation with equational axiom systems in [10] transparent.
By having constants for all decimal natural numbers, for natural numbers at least, no distinction between syntax and semantics is made, and say 173 considered a natural number rather than merely a notation for a natural number.
So one works with decimal natural numbers rather than with natural numbers, with the understanding that binary numbers and hexadecimal numbers are other entities, which however may have the same value as decimal numbers. Importantly stating that two entities having the same value is admissible even if no collection of values has been defined. "Having the same value" is merely a way of indicating a certain equivalence relation. It should be noticed that the decimal notation cannot simply be mixed with, say, binary notation. Indeed table 1 asserts 10 = 9 + 1 which will not hold for binary natural numbers where 10 = 1 + 1 instead.
Whole decimal numbers extend decimal natural numbers with signed entities, except for 0 which is unsigned. Below I will work with decimal wholes with the understanding these are signed digit sequences without redundant leading zeroes, and I will in most cases speak of wholes, (natural numbers, integers etc.) without labelling these explicitly as decimal.
This identification of non-negative whole numbers with decimal sequences may, but need not, be made. It is an instance of association as suggested by Nicaud et. al. in [31]. Below I will assume that on decimal whole numbers an ordering < is present.
Disadvantages of replacing schematic (conditional) equations by the additional syntax as described are these: (a) unless conventions (vi) and (vii) are ignored a non-trivial exposition about type inference must precede the use of this form of specification, (b) a conditional equation (i(x) = i(y) → x = y) enters the picture which is not usable as a rewrite rule, (c) working with schemes and metavariables over C D mimics a subsort rather than an additional sort. The idea that C D constitutes a subsort of V is closer to the intuition than that it constitutes an additional sort with elements that must be copied into V .
The device of schematic equations may be understood as one of several methods to avoid the use of a subsort, thereby avoiding the well-known and non-trivial complications of equational logic in the presence of subsorts. The (x + y) + z = x + (y + z) x · y = y · x 1 · x = x (7) x · (y + z) = x · y + x · z (8) x + ⊥ = ⊥ x/y = x · y −1 (17)  Table 1: CM d C D : an initial algebra specification of the abstract datatype Q d ⊥,C D using inverse as an auxiliary function motivation for this preference for infinite signatures and schemes is that, in contrast with the use of subsorts, working with infinite signatures and infinite sets of (conditional) equations requires no significant adaptations of the theory of algebraic specifications.

The arithmetical abstract datatype
Having available decimal number constants the datatype Q d ⊥ can be expanded to include constants in C D by merely providing the interpretation (u, 1) for constant u. This expansion creates the arithmetical datatype Q d ⊥,C D , and the corresponding arithmetical abstract datatype Q d ⊥,C D For applications in elementary arithmetic the abstract arithmetical datatype Q d ⊥,C D constitutes a a plausible basis for further investigation. An algebraic specification for it is with ∆ the module algebra hiding operator (see [7]), and CM d C D the specification of table 1. The specification { −1 } ∆ CM d C D is logically equivalent (≡ f ol in terms of module algebra) with the specification CM + χ = 0 from [10]. For a field K the common meadow K ⊥ is defined by adding a new element ⊥ to its domain, introducing division so that 1/0 = ⊥ and assuming that addition and multiplication are strict on ⊥. Each algebra of the form K ⊥ can be equipped with interpretations for the constants C D so that it satisfies { −1 } ∆ CM d C D and moreover (the basis theorem from [10]

⊥,C D
Returning to the datatype Q d ⊥,C D one may notice that [[2]] = (2, 1) introduces an unnecessary overhead. Choosing a different datatype in Q d ⊥,C D may overcome that disadvantage.
The datatype Q d ⊥,C D ∼ = Q d ⊥,C D is obtained from Q d ⊥,C D by means of the following transformation, in fact a homomorphism, of its elements: • (0, 0) → ⊥, merely one of many arithmetical datatypes which implement (i.e. are a member of) the abstract datatype Q d ⊥,C D .
Another construction for a datatype in Q d ⊥,C D is results form the unique congruence ≡ ⊥ on T Σ urd,C D ,⊥ (the closed terms for signature Σ urd,C D ,⊥ ) for which

Fracterms and fracterm related terminology
Fracterms were introduced as a class of expressions in [2]. The notion of a fracterm admits a reasonably clear definition as stated in definition 8 below. Loose ends of this definition relate to variation in the notion of an arithmetical signature as well as in the flexibility in the precise syntax of terms one prefers to adopt.

Definition 8. A fracterm is a finite expression over an arithmetical signature (with division) with the division operator as its leading function symbol.
A fracterm may contain variables x, y, z, .. ranging over the domain V (socalled ordinary variables), as well as metavariables u, v, w, .. for decimal number constants (elements of C D if C D is part of the signature) and postfix extended metavariables (e.g u7, v08 and w112). In the presence of different notations for division the same fracterm may be written in different ways: 2+1 3+5 and (2 + 1)/(3 + 5) will be considered the same fracterms. Stated differently, different fracsigns may represent the same fracterms.
Remarkably the notion of a fracterm is trivial and problematic at the same time. The existence of fracterms is self-evident once signatures including a division operator are taken for granted. However, in the absence of syntactic considerations the notion of a fracterm becomes less obvious. Nevertheless I suggest that the notion of a fracterm, as well as the word fracterm for denoting such expressions be included in the language of elementary mathematics, where both the notion, which evidently exists without being named, and its name (fracterm) may serve a useful purpose in clarifying the concept of a fraction. In this paper I will only discuss fracterms and I will leave an investigation of fractions for future work.

Fracterms versus fractions
One might object to the introduction of fracterms as additional terminology by claiming fracterms are just fractions, but that is not the case. The essential observation is that in mathematical use, and for a significant "fraction" of the educational literature, a fraction is a number, a value, i.e. an unstructured entity. I see no virtue in providing a definition of fractions which excludes the latter use of the term "fraction", as if that were wrong after all, and instead I propose to speak of fracterms which are definitely not numbers, if structured entities with a numerator and a denominator are meant.

Terminology for fracterms
I will now provide an adaptation to fracterms of the traditional terminology regarding fractions. The fraction terminology which I take as the point of departure includes: common fraction, (equivalently simple fraction, vulgar fraction), unit fraction, proper fraction, improper fraction, simplified fraction, fraction equivalence, fraction simplification, pseudo fraction (from the German Scheinbruch), composite fraction, like fractions, and mixed fraction. These notions, understood as predicates on fractions, are not easy to define in a precise manner because of dependency on the meaning of fraction, because fractions are not easy to define. Replacing fraction by fracterm, and assuming evaluation of expressions in a common meadow, a new list of phrases results each of which can be given a precise definition.
In addition to the notions inherited from fraction terminology the following fracterm related phrases are defined: quotient, problem fracterm, regular fracterm, fraction addition, resulterm, and simplified resulterm. Assuming characteristic zero the following elements of fracterm terminology are reasonable: 1. A wholeterm is a term over the signature of rings.
(A wholeterm may be open or closed.) 2. For a closed fracterm P/Q the value of P/Q in Q d ⊥,C D is called the quotient of P and Q (also referred to as the quotient of the fracterm P/Q).
3. The numerator of a fracterm P/Q is P .
(Each fracterm has a unique numerator.) 4. The denominator of a fracterm P/Q is Q.
(Each fracterm has a unique denominator.)

A fracterm is regular if it is not a singular fracterm and it has no singular
fracterm as a subterm.

7.
A fracterm is irregular if it is not regular.
8. A common fracterm (alternatively called simple fracterm or vulgar fracterm) is a closed fracterm of the form P/Q where P and Q are elements of C D and Q is nonzero.
(A common fracterm is regular by definition.) 9. A fracterm which is not common is uncommon. 12. An integer fracpair is a regular closed fracterm P/Q such that P is in C D or in −C D and Q is in C D .
(So (−2)/3 is an integer fracpair while it is not a common fracterm and neither is it a negated common fracterm; −2/3 is a negated common fracterm, not a fracterm, with the same value as (−2)/3. Integer fracpairs are studied in detail in [11], and in a different manner in the theory of wheels ( [37], [16]).)

13.
A half-open integer fracpair is like an integer fracpair but now the numerator may also be a signed metavariable or a postfixed metavariable and the denominator may be a metavariable or a postfixed metavariable.
Equivalent fracterms are equal (i.e. have the same value) and there is no other notation for fracterm equivalence than the equality sign, P/Q = R/S, which expresses about two fracterms just "having the same value" ("having the same quotient"), which is the intended meaning of equivalence.
The relation between fracterm equivalence and fracterm equality is tricky. The idea is as follows: (i) that two fracterms which are not the same may be equivalent, (ii) fracterm equivalence can be defined without making use of the notion of the value of a fracterm, (iii) after some preparations it may be concluded that calling equivalent fracterms equal works in the same way as asserting that 2 + 2 = 1 + 3. Both sides have the same value, but are not the same expressions (sumterms), (iv) for quotients the distinction between sameness and equality is not made, quotients being values.
16. Fracterm equivalence extends to half-open common fracterms, in which case the condition P · S = Q · R amounts to a universal quantification over all instances of both sides when substituting decimal numbers for the respective metavariables. The validity of such identities is decidable.
17. Two common fracterms P/Q and R/S are the same (written P ≡ Q) if P ≡ R and Q ≡ S.

18.
A proper fracterm is a common fracterm for which the numerator is smaller than the denominator.

19.
A unit fracterm is a proper fracterm for which the numerator equals 1. German) is a common fracterm of which the value of the numerator is a multiple of the value of denominator.

22.
A fracterm P/Q is composite if either P or Q (or both) contains an occurrence of division. 23. A fracterm P/Q is simplified if it is common and moveover gcd(P, Q) = 1.

24.
A common fracterm P/Q allows simplification if it is not simplified. 25. A fracterm P/Q is flat if both P and Q are expressions over the signature of rings.
(A flat fracterm is a non-composite fracterm. In [9] simple fraction is used instead of flat fraction under the assumption that no confusion with making reference to fraction simplification arises, but were I will comply to the convention that a simple fraction has no free variables.) 26. A flat (non-common) fracterm P/Q allows simplification if for some whole number k = 0, 1 P and Q are product expressions both having k as a factor.
(This definition is at the border of informality as no definition of product expressions will be provided. It is plausible to require that in product expressions redundant brackets are removed while assuming association of multiplication to the right.) 27. A common fracterm P/Q is a simplification of fracterm R/S if R/S is a common fracterm, both fracterms are equivalent, and Q < S.

28.
A negated common fracterm −(P/Q) is a simplification of negated common fracterm −(R/S) if the fracterms P/Q and R/S are equivalent, and Q < S.

29.
A whole n is the simplification of the common fracterm P/Q if P = n · Q. 32. Viewed as a transformation on pairs of fracterms addition is a nondeterministic function (that is a relation, sometimes also called a multivalued function) and it is not a function.
Addition of fracterms satisfies P/Q + R/S = (P · S + Q · R)/(Q · S) without any restriction on R or on S. However, it is not the case that P/Q + R/S ≡ T /U for any fracterm T /U . 33. The most well-known rule of calculation for fracterms is the so-called quasi-cardinality rule (QCR) which indicates how to add two like common fracterms thereby obtaining a flat (but uncommon) fracterm with the same denominator. Quasi cardinality rule is a phrase ascribed to Griesel [23] in Padberg [33]. QCR may be formulated as an arithmetical fact with variables P, Q, R ranging over integers, with R non-zero.
Proposition 4.1. The sum α + β of two like common fracterms α ≡ P/R and β ≡ Q/R has the same value as the flat fracterm (P + Q)/R. In equational form: P/R + Q/R = (P + Q)/R.

34.
Simplification of an uncommon fracterm amounts to the simplification one or of both of its components: thus the expression (7 + (3 + (4 + 0)))/2 can be simplified by calculating its numerator thus yielding 14/2.
Simplification of an expression does not necessarily produce a "simplified expression" according to some definition of being simplified. If a notion of calculation is given and P can be calculated (evaluated by way of calculation) to P then the fracterm P/Q can be calculated to P /Q.

35.
A fracterm can be simplified if either it is a common fracterm and it can be simplified on the basis of item 24 or it is an uncommon fracterm and it can be simplified on the basis of item 34.

36.
A mixed fracterm is a closed expression of the form P Q/R where P is a nonzero natural number (expression) in decimal notation without redundant leading zeros and where P/Q is a common fracterm.
The value of mixed fracterms is determined as follows: if P is a decimal natural number then P Q/R = P + Q/R, and if P ≡ −P with P a decimal natural number then P Q/R = P − Q/R.
A mixed common fracterm is not a fracterm. A mixed fracterm is an instance of a molecular term, that is a combination of components, each of which are required to be certain terms, that is to have a specific form.
Another instance of molecular forms are decimal numbers which take the form P, QR with P a decimal whole, Q a list of zero or more zeroes, and R a decimal natural number. For instance −17, 00350 with P ≡ −17, Q ≡ 00, and R ≡ 350.

Fracterms over a larger signature
One may enrich the signature, and contemplate fracterms in the larger signature. I will consider the case that the signature is enriched with a successor function S( ):V → V . Adaptations to the enriched signature are a matter of design.
Here is a proposal on how that can be done: (34)) is a fracterm with numerator S(0) and denominator 1 + S(34).
2. Wholeterms may also involve S( ). For instance S(17 + (3 · S(5)) is a wholeterm. This is a matter of choice motivated by the idea that the successor is supposed to turn integers into integers.
4. Common fracterms do not contain occurrences of S (The idea is that the numerator and the denominator of a common fracterm have been calculated, and for that reason cannot be calculated any further.) 5. Unless stated otherwise the notion of a desirable outcome is such that there are no occurrences of S( ) in desirable outcomes. 6. A flat fracterm my contain occurrences of S is the nominator as well as in the denominator. S(1/2)/3 is a composite fracterm and is not a not flat fracterm.

Arithmetical quantities, a container class for fracterms
It is plausible to ask what kind of thing is a fracterm. Are fracterms instances of some other more inclusive type? The obvious answer is that fracterms are terms, or expressions if one so prefers. This reply, however, has an implicit syntactic bias which I prefer to avoid. I prefer to use arithmetical quantity (AQ) as the name of a container class for fracterms. The idea is that 2 + 7, 31 · 56 − 2 · 3 etc. are AQs, and if P and Q are AQs then so is P/Q. AQs of the form P/Q are fracterms. Unlike syntactic notions in theoretical computer science, however, AQ is still an informal notion. For instance one may hold that 7 + 3 + 5 is an AQ consisting of three components and at the same time be uncommitted on whether or not 7 + (3 + 5) and 7 + 3 + (5) are AQs. In other words AQs don't necessarily come with a fully worked out sytnax.

Fracterms applied to the fraction definition problem
One may think that a fraction is just a fracterm, and that therefore the word "fracterm" is superfluous. However, taking fractions for fracterms constitutes just one of many possible different definitions of a fraction. As a consequence of the existence of a plurality of definitions of fractions it is counterproductive to equate fracterms with fractions, thereby obscuring the existence of different definitions of fractions. In order to see the existence of a plurality of notions of fraction it is useful to notice that in many mathematical works fraction is rather used as a synonym for quotient. That diverges sharply from taking a fraction for a fracterm. For expositions on fractions from an educational viewpoint I mention [27], and [33]. In [2] many other references to educational research papers on fractions can be found. The presence of different views on the ontology of fractions clearly emerges from these documents.
I will distinguish two kinds of fraction definitions: implicit definitions, and explicit definitions. Explicit definitions are given in the presence of the notion of a fracterm, and may make use of fracterms. Below I will only consider explicit definitions of fractions which identify fractions with a type (i.e. subset) of fracterms. I will merely mention the existence of other explicit definitions of fractions. Implicit definitions are semantic indications about the meaning of fraction which emerge from patterns of use of the word "fraction" in various texts.

The fraction definition problem
I prefer to think in terms of the existence of a "fraction definition problem", that is the problem of how to define a fraction. Each educational work on fractions must to some extent confront this problem, and each author of such works is likely to have an opinion about it, whether or not such opinions are mentioned in the resulting works. Solutions may range from (i) claiming nonexistence of the problem, via (ii) claiming that defining fractions is like defining proofs, a matter for advanced (higher) mathematics (or logic) which need not be reflected upon at an elementary level, and (iii) various suggestions for fraction definitions that hardly qualify as such, to (v) detailed proposals for fraction definitions. Below I will, as an application of fracterms discuss several possible definitions of fractions, that is several potential solutions of the fraction definition problem.

The relevance of "fracterm" as a novel concept
One may dispute that fracterms are novel, and one may dispute as well that the introduction of fracterms is useful. Fracterms are novel only in as much as these are meant to serve as first class citizens in actual expositions of elementary mathematics.
Then one may think that the introduction of fracterms merely constitutes a marginal addition to the well-known framework of elementary arithmetic. But that this is not the case, because syntactic notions are remote from conventional mathematical presentation. At present it is not even obvious that it is feasible to incorporate in a natural and productive manner, a syntactic notion like fracterm within a framework for ordinary elementary mathematics.
The possibility to provide a well-defined terminology for fracterms serves as a justification for very introduction of the notion. Providing similar definitions for fractions without having a definition of fractions at hand is not possible. The simplest (though unconventional) definition of a fraction is that a fraction is a fracterm.
One may think that it is preferable to commit to a precise notion of a fraction before introducing additional notions such as fracterm and fracsign. However, the idea is that not so much the selection of a specific definition of fractions is relevant but rather giving an explanation of the existence of a plurality of notions of fraction. Moreover it is conceivable that different notions of fraction each have advantages in different circumstances so that making a choice for a definition of fractions for once and for all is impractical, and may even be counterproductive.
Arithmetical datatypes come with a theory of fracterms. The difference between the various arithmetical datatypes when judged from the perspective of the respective fracterm theories is significant. For instance: in Q d ⊥ each expression (open or closed) is equivalent to a flat fraction (see [10]). In Q d 0 each expression equals a sum of flat fractions, and no bound on the number of summands may be imposed (see [9]). For Q d ∞,⊥ no work on fracterm theory is available, whereas as for Q d ±∞,Φ the corresponding fracterm theory has been invesigated in [5].

Implicit definitions of fractions
An implicit definition of fractions provides a collection of patterns of use for the word fraction from which a definition, be it an informal definition, may be extracted, where the extraction of a conceptual definition may even be performed in different ways.
In principle there is no objection against working with an implicitly defined notion of fraction and at the same time making use of the word fracterm, though in practice that is not te be expected.
Three examples of collections of assertions giving rise to an implicit definition of fractions aregiven in the following Paragraphs:

A fraction is a kind of number
Besides examples of closed identities involving fracterms "fractions as a kind of number" may come with these assertions: (i) a fraction is a kind of number, (ii) some but not all fractions are equal to a whole number, (iii) fractions have a numerator and a denominator which are separated by a horizontal bar, (iv) addition of fractions is easy, just follow the rules, (v) fraction equivalence is often considered a difficult notion, but that is unnecessary, (vi) mixed fractions are not really fractions, but composite fractions are.

A fraction is a numeral
Besides examples of closed identities involving fracterms "fractions as numerals" (of which there are several different instances) may come with these assertions: (i) a fraction is a numeral, a numeral is a value, (ii) a fraction is a pair of numerals, (iv) fractions can only be added if the denominators of both are the same, (v) in order to understand fraction equality one must first understand fraction equivalence, (vi) the fraction (1 + 2)/7 is not simplified, but the fraction x/7 is simplified.

A fraction is an equivalence class
Besides examples of closed identities involving fracterms "fractions as equivalence classes" (of which there are several different instances) may come with these assertions: (i) a fraction has three parts, a numerator, a denominator, and a fraction bar, (ii) later (but not now!) it wil be explained that a fraction is a set, technically called an equivalence class, of notations for numbers, (iii) one may think of a fraction as a number, (iv) all fractions can be simplified, simplification is a method for computing a fraction, (v) the fraction x/y with different variables x and y cannot be written in a simpler form.

Explicit definitions of fractions: fracterm type based fraction definitions
One may contemplate the fracterm terminology as a scheme for generating a fraction terminology for an arbitrary definition of fraction by simply replacing fracterm by fraction. However, if a fraction is considered a quotient, i.e. number, then a substantial part (fraction in another sense) of the terminology for fracterms fails to apply because numbers have no numerator and no denominator. In fact the fracterm terminology is specific for the notion of fracterm and also for the arithmetical datatype at hand (that is Q d ⊥,C D ) and deriving from that terminology a terminology for a specific notion of fraction requires care as well as the awareness that not all items of the terminology can be inherited. Rather than surveying many conceptions of fractions two definitions of fractions may be contrasted. A survey of notions of fraction can be found in [2].

A fraction is a fracterm
When fraction is understood (defined) as fracterm, the fracterm terminology becomes the corresponding fraction terminology, simply by replacing fracterm by fraction in each item in the description of the terminology. In addition the keyword fracterm is made redundant as fraction can be used instead.
Working along these lines an adequate perspective of fractions results. A disadvantage of taking fractions for fracterms is that this very idea is unfamiliar to most teaching staff and is incompatible with many explanations of fractions in educational methods and books.

A fraction is a quotient
If one takes a fraction to be a quotient, say in the arithmetical datatype Q d ⊥,C D or in Q d ⊥,C D then there is no notion of numerator or denominator for a fraction and much of the fracterm terminology does not inherit to the specific case (of fractions as quotients).
The idea of taking fracterms seriously as first class citizens in this case suggest to maintain a notion of fracterm besides fraction (that is quotient), inclusive the given fracterm terminology and to simply use fraction as a synonym of quotient. If fractions are considered quotients then fraction terminology does away with the following notions (which come about when simply replacing fracterm by fraction in the terminology of Section 4): the quotient of a fraction, numerator, denominator, problem fraction, regular fraction, common fraction (simple fraction, vulgar fraction), negated common fraction, equivalence of fractions, mixed fraction, composite fraction, simplified fraction, flat fraction, like fractions, QCR as a rule for the addition of fractions, open versus closed fraction.
Only the following notions "survive", that is can be inherited from fracterm terminology to fraction terminology upon adopting the fractions a quotients perspective: unit fraction, proper fraction, improper fraction, pseudo fraction (i.e. an integer).

A fraction is a pair of an arbitrary integer and a positive integer
Conceiving a fraction as a pair of an arbitrary integer and a positive integer corresponds to viewing a fraction as a common fracterm. Upon adopting that a fraction is a pair of whole numbers, the second one being positive, many more aspects of the fracterm terminology can be turned in to terminology for fractions.
In particular common (simple, vulgar) fractions exist, as well as the notions of numerator, denominator, simplification, simplified fraction. The items of fracterm terminology which have no counterpart if fractions are considered pairs as mentioned are these: mixed fracterm, composite fracterm, and flat fracterm.

Fraction as an ambiguous noun
So, after these preparations one may ask once more: what is a fraction? If so many different meanings can be given to the noun fraction, should the word be given up and be replaced for something else? No, another path can be taken.
Claim 6.1. Fraction is an ambiguous noun, even when restricted to the context of arithmetic. The meaning of the noun fraction includes as options: fracterm (i.e. open fracterm), closed fracterm, integer fracpair, rational fracpair, and rational number (fracvalue). This listing of options is not exhaustive, other options may included (such as "fracterm or mixed fracterm") and new options may be be invented.
A major advantage of adopting Claim 6.1 is that unclear or self-contradictory fragments of texts about fractions may be qualified as being sloppy with the ambiguity of fraction. Most assertions about fractions can be easily made unambiguous, precise, and valid, by writing in terms of the listed options for "fraction". By using open fracterm, closed fracterm, integer fracpair, rational fracpair, and rational number (fracvalue) in places where fraction might have been written a text may be disambiguated.
However, it is not always the case that working with disambiguated terminology clarifies a text fragment: for instance the claim that "fractions can only be added if the denominators are equal" appears every now and then in sketchy explanations of fractions and I did not find any plausible analysis of the meaning of this assertion in a disambiguated terminology which renders it true.

What kind of ambiguity covers fraction? Multi-bias ambiguity
Sennet [36] provides a survey of occurrences of ambiguity. It is not obvious that (arithmetic) fraction as having a range of different meanings is comprised by the options for ambiguity as listed in [36]. I found no description of the form of ambiguity which comes with the noun fraction and for that reason an ad hoc name for such ambiguities will be suggested. I propose to consider the noun fraction to be multi-bias ambigious. Multi-bias ambiguity requires a definition.
A noun α is multi-bias ambiguous of the following conditions are met.
1. α can be disambiguated into α 1 , . . . , α n for some less ambiguous nouns α 1 . . . , α n . It may be the case that in certain cases yet different refinements of α are needed, but then the idea is that disambiguation with the listed α i covers the majority of cases.
2. Most users of the noun α have a partial ordering of preferences on the options α i for disambiguation. Many users may disambiguate α into a subset of the listed options only. These preferences constitute a bias towards a certain interpretation of α.
3. It is not uncommon for a user (say A) to be hostile to the very idea that α is ambiguous and that another user, say B who maintains a different bias about α consider A's preferences for the meaning of α as biased.
4. Many users of the noun α are unaware of its ambiguity, and may use a strong preference for one of the disambiguations, calling for another one only in exceptional cases. (For instance many users of the noun fraction may always consider a fraction to be a rational number, unless they need to consider it an integer fracpair, whereas many other users of the same noun may always consider it to be an integer fracpair only to consider it a rational number when forced to do so in a certain context. Yet other users may always think of an open fracterm.)

5.
There is no generally adopted perspective on why it is practical or helpful to group the disparate named notions α 1 . . . , α n together as the different interpretations for a single noun (in this case α).

Concluding remarks
Writing about fractions in a paradigm sensitive manner is less straightforward than dealing with the different definitions of real numbers via say Dedekind cuts, Cauchy sequences, and infinite decimal expansions. Unlike with the case of real numbers, the different viewpoints on fractions cannot be so easily be grasped in terms of a spectrum of different and well-known definitions. Currently there is no catalogue available of competing definitions of fractions. Definitions of fractions must be retrieved from thousands of texts about fractions in an indirect manner.
Having a definition of rational numbers at hand does not trivialise the writing on fractions. For instance the question whether or not "(1 + 2)/5" is a common fraction is independent of an underlying definition of rational numbers. In this connection one may consider the 3-th principle mentioned by Frege in [21] (p  xxii) ... never to ask for the meaning of a word in isolation, but only in the context of a proposition; ... As a proposition one may consider: "the fractions 2/3 and 4/6 satisfy 2/3 = 4/6", and one may assume that it is known what a rational number is, and in that context the question arises: what is a fraction?
Frege discusses the definition of natural numbers and raises fundamental questions about these. He writes (in 1848, see e.g. [21], introduction p. xv) "The first prerequisite for learning anything is thus utterly lacking -I mean the knowledge that we do not know." Moreover he mentions the diversity and disparity of (then) existing descriptions of natural numbers. I hold that both motives apply nowadays to fractions and justify further inquiries into these.
The position that fractions are expressions can be recognized in [30]. In [38] a fractions as fracpairs position is adopted, just as in [28]. In [35] the position that fractions are numbers has been adopted. In [22] it is stated that fraction is not a mathematical concept, thereby explaining why it has no well-known and rigorous definition. A preliminary discussion of logics of fractions is reported in [6] where paraconsistent logic comes into play.
Issues beyond mere equations between closed arithmetical quantities relate to logics of fractions beyond equational. For instance consider the following question: Problem 7.1. What is the cardinality of the set {1/2, 2/4}? It seems plausible to claim that for any view of fractions the answer to this question is 1. Indeed, (i) the symbols 1/2 and 2/4, as occurring in the question, are fracsigns, (ii) fracsigns allow polymorphic typing: either as a quotient or as a fracterm or as something in between of these (which may in turn serve as a reference to a quotient), (iii) the set theory notation context coerces the typing of a fracsign (or at least of these particular fracsigns) into a quotient. If one insists that a fracsign is read otherwise this must be somehow made clear in the notation, e.g. by writing {. . .} ft for a set of fracterms so that #({1/2, 2/4} ft ) = 2 (with #(v) denoting the cardinality of V ) A working hypothesis for further work on fractions I wish to put forward the idea that the answer to the question "why is learning fraction arithmetic so difficult", as stated in [28] lies in part in the conceptual difficulties innate in the concept of fraction. These difficulties are not even mentioned in [28].
Upon asking a mathematician what a fraction is, one may be pointed out that a fraction is an equivalence class of entities (for some plausible definition of equivalence), for instance pairs, each of which arise as the interpretation of a fracsign as a structured entity. Then one may ask in response: "how to define numerator and denominator", and be pointed out that "in fact" fractions don't come with such components, that it is fraction expressions rather than fractions which can be decomposed into a numerator, a denominator, and an operator symbol. I hold that the latter viewpoint is quite distant from the conventions in educational practice where it is more often than not assumed that fractions allow a decomposition into the three familiar components. This gap must not be taken for granted. Leaving this gap unbridged is not helpful for the development of methods for teaching arithmetic.
I propose that fracterm rather than (rational) number is considered the principal notion of (rational) arithmetic, that is the notion which can be most unambiguously defined. Rational numbers come about only when a semantic model for fracterms is sought, and just as in computer programming, semantic models for a given syntax are by no means unique. The suggestion that numbers constitute a rigid and known world of entities which serve as the subject of arithmetic is an illusion. On the contrary, fracterms are syntactic entities just as programs are, and semantic models and objects are sought (and found) in order to improve one's understanding of the syntactic entities at hand. Semantic models may be tuned in different ways towards specific applications in which fracterms and other arithmetical quantities play a role.
Logic, and especially formal logic are at a distance from elementary mathematics. In [18] it is argued that one of the advantages of working with formalized logic is the side-effect of de-semantification. Using axiom based logic reasoning is made less dependent on semantic intuitions. My objective, however, is to use formal aspects, and in particular the formal methods as embodied in the theory of (abstract) datatypes, as an additional tool for elementary mathematics in such a manner that making semantic intuitions more remote is avoided.