# Equals sign

A well-known equality featuring the equals sign

The equals sign or equality sign (=) is a mathematical symbol used to indicate equality. It was invented in 1557 by Robert Recorde. The equals sign is placed between two quantities that have the same value, as in an equation. It is assigned to the Unicode and ASCII character 003D in hexadecimal, 0061 in decimal.

## History

The etymology of the word "equal" is from the Latin word "aequalis" as meaning "uniform", "identical", or "equal", from aequus ("level", "even", or "just").

The first use of an equals sign, equivalent to 14x+15=71 in modern notation. From The Whetstone of Witte by Robert Recorde.
Recorde's introduction of "="

The "=" symbol that is now universally accepted by mathematics for equality was first recorded by Welsh mathematician Robert Recorde in The Whetstone of Witte (1557). The original form of the symbol was much wider than the present form. In his book Recorde explains his design of the "Gemowe lines" (meaning twin lines, from the Latin gemellus):

… to auoide the tediouſe repetition of theſe woordes : is equalle to : I will ſette as I doe often in woorke vſe, a paire of paralleles, or Gemowe lines of one lengthe, thus: =, bicauſe noe .2. thynges, can be moare equalle.

… to avoid the tedious repetition of these words: "is equal to", I will set (as I do often in work use) a pair of parallels, or Gemowe lines, of one length (thus =), because no two things can be more equal.

According to Scotland's University of St Andrews History of Mathematics website:[1]

The symbol '=' was not immediately popular. The symbol || was used by some and æ (or œ), from the Latin word aequalis meaning equal, was widely used into the 1700s.

## Usage in mathematics and computer programming

In mathematics, the equals sign can be used as a simple statement of fact in a specific case (x = 2), or to create definitions (let x = 2), conditional statements (if x = 2, then …), or to express a universal equivalence `(x + 1)2 = x2 + 2x + 1`.

The first important computer programming language to use the equals sign was the original version of Fortran, FORTRAN I, designed in 1954 and implemented in 1957. In Fortran, "=" serves as an assignment operator: `X = 2` sets the value of `X` to 2. This somewhat resembles the use of "=" in a mathematical definition, but with different semantics: the expression following "=" is evaluated first and may refer to a previous value of `X`. For example, the assignment `X = X + 2` increases the value of `X` by 2.

A rival programming-language usage was pioneered by the original version of ALGOL, which was designed in 1958 and implemented in 1960. ALGOL included a relational operator that tested for equality, allowing constructions like `if x = 2` with essentially the same meaning of "=" as the conditional usage in mathematics. The equals sign was reserved for this usage.

Both usages have remained common in different programming languages into the early 21st century. As well as Fortran, "=" is used for assignment in such languages as C, Perl, Python, awk, and their descendants. But "=" is used for equality and not assignment in the Pascal family, Ada, Eiffel, APL, and other languages.

A few languages, such as BASIC and PL/I, have used the equals sign to mean both assignment and equality, distinguished by context. However, in most languages where "=" has one of these meanings, a different character or, more often, a sequence of characters is used for the other meaning. Following ALGOL, most languages that use "=" for equality use ":=" for assignment, although APL, with its special character set, uses a left-pointing arrow.

Fortran did not have an equality operator (it was only possible to compare an expression to zero, using the arithmetic IF statement) until FORTRAN IV was released in 1962, since when it has used the four characters ".EQ." to test for equality. The language B introduced the use of "==" with this meaning, which has been copied by its descendant C and most later languages where "=" means assignment.

### Usage of several equals signs

In PHP, the triple equals sign (`===`) denotes identity,[2] meaning that not only do the two values evaluate to equal values, they are also of the same data type. For instance, the expression `0 == false` is true, but `0 === false` is not, because the number 0 is an integer value whereas false is a Boolean value.

JavaScript has the same semantics for `===`, referred to as "equality without type coercion". However in JavaScript the behavior of `==` cannot be described by any simple consistent rules. The expression `0 == false` is true, but `0 == undefined` is false, even though both sides of the `==` act the same in Boolean context. For this reason it is recommended to avoid the `==` operator in JavaScript in favor of `===`.[3]

In Ruby, equality under `==` requires both operands to be of identical type, e.g. `0 == false` is false. The `===` operator is flexible and may be defined arbitrarily by any given type. For example, a value of type `Range` is a range of integers, such as `1800..1899`. `(1800..1899) == 1844` is false, since the types are different (Range vs. Integer); however `(1800..1899) === 1844` is true, since Range defines `===` to mean "inclusion in the range".[4] Note that under these semantics, `===` is non-commutative; e.g. `1844 === (1800..1899)` is false, since it is interpreted to mean `Integer#===` rather than `Range#===`.[5]

### Other uses

The equals sign is also used in defining attribute–value pairs, in which an attribute is assigned a value.[citation needed]

## Tone letter

The equals sign is also used as a grammatical tone letter in the orthographies of Budu in the Congo-Kinshasa, in Krumen, Mwan and Dan in the Ivory Coast.[6][7] The Unicode character used for the tone letter (U+A78A)[8] is different from the mathematical symbol (U+003D).

## Related symbols

### Approximately equal

Symbols used to denote items that are approximately equal are wavy or dotted equals signs.[9]

### Not equal

The symbol used to denote inequation (when items are not equal) is a slashed equals sign "≠" (U+2260). In LaTeX, this is done with the "\neq" command.

Most programming languages, limiting themselves to the ASCII character set and typeable characters, use `~=`, `!=`, `/=`, `=/=`, or `<>` to represent their Boolean inequality operator.

### Identity

The triple bar symbol "≡" (U+2261) is often used to indicate an identity, a definition (which can also be represented by U+225D "" or ":="), or a congruence relation in modular arithmetic. The symbol "" can be used to express that an item corresponds to another.

### Isomorphism

The symbol "" is often used to indicate isomorphic algebraic structures or congruent geometric figures.

### In logic

Equality of truth values, i.e. bi-implication or logical equivalence, may be denoted by various symbols including =, ~, and ⇔.

### In a double-barreled name

A possibly unique case of the equals sign in a person's name, specifically in a double-barreled name, was by pioneer aviator Alberto Santos=Dumont, as he is also known not only to have often used an equals sign (=) between his two surnames in place of a hyphen, but also seems to have personally preferred that practice, to display equal respect for his father's French ethnicity and the Brazilian ethnicity of his mother.[10]

### Other related symbols

• (U+224C all equal to)
• (U+2254 colon equals)
• (U+2255 equals colon)
• (U+2256 ring in equal to)
• (U+2257 ring equal to)
• (U+2259 estimates)
• (U+225A equiangular to)
• (U+225B star equals)
• (U+225C delta equal to)
• (U+225E measured by)
• (U+225F questioned equal to).

## Incorrect usage

The equals sign is often used incorrectly within a mathematical argument to connect math steps in a non-standard way, rather than to show equality. For example, if one were finding the sum, step by step, of the numbers 1, 2, 3, 4, and 5, one might write

1 + 2 = 3 + 3 = 6 + 4 = 10 + 5 = 15.

Structurally, this is shorthand for

([(1 + 2 = 3) + 3 = 6] + 4 = 10) + 5 = 15,

but the notation is incorrect, because each part of the equality has a different value. If interpreted strictly as it says, it implies

3 = 6 = 10 = 15 = 15.

A correct version of the argument would be

1 + 2 = 3; 3 + 3 = 6; 6 + 4 = 10; 10 + 5 = 15.[11]

## Notes

1. ^ "Robert Recorde". MacTutor History of Mathematics archive. Retrieved 19 October 2013.
2. ^ "Comparison Operators". PHP.net. Retrieved 19 October 2013.
3. ^ Doug Crockford. "JavaScript: The Good Parts". YouTube. Retrieved 19 October 2013.
4. ^ why the lucky stiff. "5.1 This One’s For the Disenfranchised". why's (poignant) Guide to Ruby. Retrieved 19 October 2013.
5. ^ Brett Rasmussen (30 July 2009). "Don't Call it Case Equality". Retrieved 19 October 2013.
6. ^ Peter G. Constable; Lorna A. Priest (31 July 2006). Proposal to Encode Additional Orthographic and Modifier Characters. Retrieved 19 October 2013.
7. ^ Hartell, Rhonda L., ed. (1993). The Alphabets of Africa. Dakar: UNESCO and SIL. Retrieved 19 October 2013.
8. ^ "Unicode Latin Extended-D code chart". Unicode.org. Retrieved 19 October 2013.
9. ^ a b "Mathematical Operators". Unicode.org. Retrieved 19 October 2013.
10. ^ Gray, Carroll F. (November 2006). "The 1906 Santos=Dumont No. 14bis". World War I Aeroplanes. No. 194: 4.
11. ^ Capraro, Robert M.; Capraro, Mary Margaret; Yetkiner, Ebrar Z.; Corlu, Sencer M.; Ozel, Serkan; Ye, Sun; Kim, Hae Gyu (2011). "An International Perspective between Problem Types in Textbooks and Students' understanding of relational equality". Mediterranean Journal for Research in Mathematics Education 10 (1–2): 187–213. Retrieved 19 October 2013.