EML (mathematical operator)
The exp-minus-log or EML function is a mathematical function that takes two variables x and y, and outputs ex − ln (y). Along with the constant 1, it can recreate every elementary mathematical function commonly found on a scientific calculator.
Motivation
Some fields of study have a single binary operation which can be built upon to construct the rest of the field. In computing, repeating the NAND gate can construct any boolean circuit. In electrical engineering, the op-amp can be used to construct positive and negative feedback processes. In fuzzy logic the Sheffer stroke can be used to generate all other fuzzy logical operations.
The collection of elementary mathematical operations such as addition, subtraction, multiplication, division, trigonometric functions, exponential, and the logarithm are the base of nearly all math and science. The existence of EML shows that not only can they be redundantly created from one another, but that they can all be created from a single starting point.
Use of exponentials and logarithms to compute elementary functions also has history in the slide rule. Slide rules could, for example, allow computation of elementary mathematical operations by adding and subtracting pre-computed tables of logarithms.
Before the definition of EML, previous work showed that countably many k-ary functions on any infinite set X can always be generated from a single binary operation.
Definition
The EML operator, defined as
- eml (x,y) = exp (x) − ln (y)
together with the constant 1, suffices to express every elementary function of a scientific calculator. Each of the elementary arithmetic operations can be compiled into pure EML form as follows, where later definitions re-use earlier ones:
Operation |
EML definition |
Construction |
|---|---|---|
ex |
eml (x, 1) |
Direct from ln 1 = 0. |
ln x |
eml (1, eml (eml(1,x), 1)) |
Equivalent to e − ln (ee/x). |
0 |
ln 1 |
|
x − y |
eml (lnx, ey) |
Directly from the definition of eml . |
x + y |
x − (−y) |
Addition via double negation of subtraction. |
1/x |
exp (−lnx) |
Reciprocal from e−ln x. |
x ⋅ y |
exp (lnx+lny) |
|
x/y |
x ⋅ (1/y) |
Division as multiplication by the reciprocal. |
xy |
exp (y⋅lnx) |
Standard exp–log form of exponentiation. |
EML is not the only binary operator with this property. The same set of elementary functions can also be constructed exclusively using the constant e combined with the function EDL:
edl (x,y) = exp (x)/ln (y)
Or the constant − ∞ combined with the function -EML:
− eml (x,y) = ln (x) − exp (y)
Discovery process
Discovery of EML relied on starting with a set of 36 "goal" operations and constants and trying to generate them from as small as set of those operations as possible. The starting 36 constants, functions, and operations were:
Type |
Elements |
Count |
|---|---|---|
Constants |
π, e, i, −1, 1, 2, x, y |
8 |
Functions |
exp, ln, inv, half, minus, √, sqr, σ, sin, cos, tan, arcsin, arccos, arctan, sinh, cosh, tanh, arsinh, arcosh, artanh |
20 |
Operations |
+, −, ×, / , log, pow, avg, hypot |
8 |
Total |
36 |
Note that this set is smaller than the usual definition of elementary functions and might not be extended to encompass all elementary functions .
Each successively smaller set was validated against all 36 operations to ensure that that small set could generate all 36 of them correctly. A purpose-built symbolic computation program combined with numerical methods to quickly discard incorrect formulations allowed this set to be reduced.
After manually creating a number of binary operators, EML was found and verified.
Applications
EML allows for elementary functions from above set to be written as binary trees. This creates a simple context-free grammar of S → 1|eml(S,S).
In addition, an EML Sheffer operator can be introduced into computations in electronics.
See also
- Iota and Jot
- Elementary function