Hafalnod

de|bawd|200x200px|Hafaledd adnabyddus yn defnyddio'r hafalnod
Mae'r **hafalnod** neu **arwydd hafal** ('''''') yn symbol fathemategol i ddynodi hafaledd. Fe'i ddyfeiswyd yn 1557 gan y Cymro Robert Recorde. Mewn hafaliad, gosodir y hafalnod rhwng dau (neu fwy) fynegiant sydd a'r un gwerth. Yn Unicode ac ASCII, mae gan y symbol "=" y gwerth 003d.

## Hanes 
[bawd| Y defnydd cyntaf o'r arwydd, sy'n cyfateb i 14 *x* + 15 = 71 mewn nodiant modern. *O The Whetstone of Witte* (1557) gan [Robert Recorde . ]]
bawd|Recorde yn cyflwyno'r defnydd o "="
Cofnodwyd y symbol "=" a dderbynnir yn gyffredinol ym mathemateg ar gyfer hafaledd yn gyntaf gan y mathemategydd Cymreig Robert Recorde yn *The Whetstone of Witte* (1557).  Roedd ffurf wreiddiol y symbol yn llawer ehangach na'r ffurf bresennol.  Yn ei lyfr, mae Recorde yn esbonio ei ddyluniad o'r "llinellau Gemowe" (sy'n golygu llinellau *deuol* ,o'r Lladin ''*   ):

*And 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.'' 

 Ac i osgoi ailadrodd y geiriau hyn yn ddiflas : mae hyn yn gyfartal â : Byddaf yn gosod wrth i mi wneud yn aml yn y defnydd o waith, pâr o linellau cyfochrog neu Gemowe o un hyd, felly: =, oherwydd na all 2 beth fod yn fwy cyfartal.

Yn ôl gwefan Hanes Mathemateg Prifysgol St Andrews:  Nid oedd y symbol '=' yn boblogaidd ar unwaith. Roedd y symbol || yn cael ei ddefnyddio gan rai ac fe ddefnyddiwyd *æ* (neu *œ* ), o'r gair Lladin *aequalis* ystyr cyfartal, yn y 1700au. 

## Defnydd mewn mathemateg a rhaglenni cyfrifiadurol 
Mewn mathemateg, gellir defnyddio'r hafalnod fel datganiad ffeithiol mewn achos penodol (x&nbsp;=&nbsp;2), neu i greu diffiniadau (gadewch x&nbsp;=&nbsp;2), datganiadau amodol (os x&nbsp;=&nbsp;2, yna ...), neu i fynegi cyfwerth cyffredinol (x + 1)2 = x2 + 2x + 1.

Yr iaith raglennu gyfrifiadurol bwysig gyntaf i ddefnyddio'r hafalnod oedd y fersiwn wreiddiol o Fortran, sef FORTRAN I a ddyluniwyd ym 1954 ac a gyflawnwyd ym 1957. Yn Fortran, mae "=" yn gweithredu fel gweithredwr aseiniad : mae `X = 2` gosod gwerth `X` i 2. Mae hyn yn debyg iawn i'r defnydd o "=" mewn diffiniad mathemategol, ond gyda semanteg gwahanol: caiff yr ymadrodd sy'n dilyn "=" ei werthuso yn gyntaf a gall gyfeirio at werth blaenorol `X` Er enghraifft, mae'r aseiniad `X = X + 2` cynyddu gwerth `X` o 2.

Cafodd defnydd arall o'r arwydd ei arloesi gan fersiwn gwreiddiol ALGOL, a ddyluniwyd yn 1958 a'i gyflawni yn 1960. Roedd ALGOL yn cynnwys gweithredwr perthynol i brofi am hafaledd, gan ganiatáu aseiniad fel `if x = 2` i gael yr un ystyr hanfodol o "=" a'r defnydd amodol mewn mathemateg. Cedwid yr hafalnod yn benodol ar gyfer y defnydd hwn.

Mae'r ddau ddefnydd wedi parhau'n gyffredin mewn gwahanol ieithoedd rhaglennu i mewn i ddechrau'r 21ain ganrif. Yn ogystal â Fortran, defnyddir "=" ar gyfer aseiniad mewn ieithoedd fel C, Perl, Python, awk, a'u disgynyddion. Ond defnyddir "=" ar gyfer hafaledd ac nid aseiniad yn nheulu Pascal, Ada, Eiffel, APL, a ieithoedd eraill.

Mae rhai ieithoedd, megis BASIC a PL/I, wedi defnyddio'r hafalnod i olygu aseiniad a hafaledd, a sy'n cael eu gwahaniaethu yn ôl y cyd-destun.  Fodd bynnag, yn y rhan fwyaf o ieithoedd lle mae gan "=" un o'r ystyron hyn, defnyddir nod gwahanol neu, yn amlach, dilyniant o nodau ar gyfer yr ystyr arall.  Yn dilyn ALGOL, mae'r rhan fwyaf o ieithoedd sy'n defnyddio "=" ar gyfer hafaledd yn defnyddio ": =" ar gyfer aseiniad, er bod APL, gyda'i set nodau arbennig, yn defnyddio saeth yn pwyntio i'r chwith.

Nid oedd gan Fortran weithredwr hafaledd (yr unig bosibilrwydd oedd cymharu mynegiant i sero, gan ddefnyddio'r datganiad rhifedd IF) hyd nes i FORTRAN IV gael ei ryddhau ym 1962, pan ddaeth hi'n bosib defnyddio'r pedwar nod " EQ." i brofi am hafaledd.  Cyflwynodd yr iaith B y defnydd o "==" gyda'r un ystyr, a gafodd ei gopïo gan ei ddisgynnydd C a rhan fwyaf o'r ieithoedd diweddarach lle mae "=" yn golygu aseiniad.

Defnyddir yr hafalnod hefyd wrth ddiffinio parau gwerth priodoldeb, lle mae priodoldeb yn cael ei neilltuo gwerth.

### Mwy nag un hafalnod 
Yn PHP, mae'r arwydd hafalnod triphlyg (===) yn dynodi hafaledd gwerth a math, sy'n golygu nid yn unig fod y ddau ymadrodd yn gwerthuso i werthoedd cyfartal, maen nhw hefyd yr un math o ddata. Er enghraifft, mae'r ymadrodd `0 == false` yn wir, ond nid yw `0 === false` yn wir, oherwydd bod rhif 0 yn werth cyfanrif tra bod 'false' yn werth Booleaidd.

Mae gan JavaScript yr un semanteg ar gyfer `===`, y cyfeirir ati fel "hafaledd heb orfodaeth math". Fodd bynnag, yn JavaScript ni ellir disgrifio ymddygiad `==` gyda unrhyw reolau cyson syml.  Mae'r ymadrodd `0 == false` yn wir, ond nid yw `0 == undefined`yn wir, er bod dwy ochr y `==` gweithio'r un peth yng nghyd-destun Booleaidd.  Am y rheswm hwn, argymhellir weithiau i osgoi'r gweithredwr `==` yn JavaScript o blaid `===`.

Yn Ruby, mae hafaledd o dan `==` yn gofyn i'r ddwy weithredwr fod yn debyg, e.e. mae `0 == false` yn anwir.  Mae'r gweithredwr `===` yn hyblyg a gellir ei ddiffinio'n fympwyol am unrhyw fath penodol.  Er enghraifft, mae gwerth o fath `Range` yn rediad o gyfanrifau, megis `1800..1899` . `(1800..1899) == 1844` yn anwir, gan fod y mathau'n wahanol (Range vs.  Integer); fodd bynnag mae `(1800..1899) === 1844` yn wir, gan fod `===`ar werthoedd `Range` yn  golygu "cynwysiedig yn yr ystod".  Sylwch, o dan y semanteg hyn, mae `===` yn anghymesur; e.e. mae `1844 === (1800..1899)` yn anwir, gan ei fod yn cael ei ddehongli i olygu `Integer#===` yn hytrach na `Range#===` .

## Defnyddiau eraill 
Weithiau defnyddir yr hafalnod yn Siapaneg fel gwahanydd rhwng enwau.

### Sillafu 
#### Llythyren tôn 
Defnyddir yr hafalnod hefyd fel llythyren tôn gramadegol yn orgraff Budu yn Congo-Kinshasa, ac yn Krumen, Mwan a Dan yn Arfordi Ifori.  Mae'r nod Unicode a ddefnyddir ar gyfer y llythyren tôn (U + A78A)  yn wahanol i'r symbol mathemategol (U + 003D). 
bawd|Llofnod Santos-Dumont, sy'n dangos cysylltnod sy'n edrych fel hafalnod.
Roedd achos, unigryw o bosib, o ddefnydd Ewropeaidd o'r hafalnod mewn enw person, yn benodol mewn enw dwbl, gan yr awdur arloesol Alberto Santos-Dumont, gan ei fod yn arfer defnyddio hafalnod (=) yn aml, rhwng ei ddau gyfenw yn lle cysylltnod, ond ymddengys ei fod yn well ganddo'r arfer hwnnw, i ddangos parch cyfartal i ethnigrwydd Ffrainc ei dad ac ethnigrwydd Brasilaidd ei fam.

### Ieithyddiaeth 
Mewn glosau rhyngllinellog ieithyddol, defnyddir hafalnod yn gonfensiynol i nodi ffiniau clitig: rhoddir yr hafalnod rhwng y clitig a'r gair y mae'r clitig ynghlwm iddo.

### Cemeg 
Mewn fformiwlâu cemegol, mae'r ddwy linell gyfochrog sy'n dynodi bond dwbl yn cael eu cyfleu'n arferol drwy ddefnyddio hafalnod.

### Symbol LHDT 
Yn y blynyddoedd diwethaf, defnyddiwyd yr hafalnod i symbylu hawliau LHDT. Defnyddiwyd y symbol ers 1995 gan yr Ymgyrch Hawliau Dynol, sy'n lobïo am gydraddoldeb priodas, ac wedyn gan y Cenhedloedd Unedig Rhydd a Chydradd, sy'n hyrwyddo hawliau LHDT yn y Cenhedloedd Unedig .

## Symbolau cysylltiedig 
### Tua'n gyfartal 
Mae'r symbolau a ddefnyddir i ddynodi eitemau sy'n gyfartal yn cynnwys y canlynol:

* ≈ (U+2248, LaTeX *\approx*) 
* ≃ (U+2243, LaTeX *\simeq* ), cyfuniad o ≈ a =, a ddefnyddiwyd hefyd i nodi cydraddoldeb asymptotig 
* ≅ (U+2245, LaTeX *\cong* ), cyfuniad arall o ≈ a =, sydd hefyd yn cael ei ddefnyddio weithiau i nodi isomorffism neu cyfathiant 
* ∼ (U+223C), a ddefnyddir weithiau i ddangos cymesuredd neu debygrwydd gan gael ei berthyn gan berthynas cyfwerth, neu i ddangos bod amrywiad hap yn cael ei ddosbarthu yn ôl dosbarthiad tebygolrwydd penodol (gweler hefyd tilde ) 
* ∽ (U+223D), a ddefnyddir hefyd i ddangos cymesuredd 
* ≐ (U+2250, LaTeX *\doteq* ), y gellir ei ddefnyddio hefyd i gynrychioli dull newidyn i gyfyngiad 
* ≒ (U+2252, LaTeX *\fallingdotseq* ), a ddefnyddir yn gyffredin yn Japan, Taiwan a Corea . 
* ≓ (U+2253)

### Ddim yn gyfartal 
Mae'r symbol i ddynodi anhafaliad (pan nad yw eitemau yn gyfartal) yn arwydd hafal slaes "≠" (U+2260, 2260, Alt+X yn Microsoft Windows). Yn LaTeX, gwneir hyn gyda'r gorchymyn "\neq".

Mae'r rhan fwyaf o ieithoedd rhaglennu, o gyfyngu eu hunain i'r set nodau ASCII 7-bit a nodau teipio, yn defnyddio `~=` `!=`, `/=`, neu <> i gynrychioli eu gweithredwyr anghydraddoldeb Booleaidd.

### Hunaniaeth 
Defnyddir y symbol bar triphlyg "≡" (U+2261, LaTeX *\equiv* ) yn aml i nodi hunaniaeth, diffiniad (y gellir ei gynrychioli hefyd gan U+225D "≝" neu U+2254 "≔"), neu perthynas cyfathiant mewn rhifeg modiwlaidd. Gellir defnyddio'r symbol "≘" i fynegi bod eitem yn cyfateb i un arall.

### Isomorffiaeth 
Mae'r symbol "≅" yn cael ei ddefnyddio'n aml i ddangos strwythurau algebraidd isomorffig neu ffigurau geometrig cyfathiant.

### Mewn rhesymeg 
Gellir nodi gwerthoedd cydraddoldeb gwir, h.y. deu-oblygiad neu cywerthedd resymegol, gan amrywiol symbolau gan gynnwys =, ~, a ⇔.

### Symbolau cysylltiedig eraill 
Mae symbolau ychwanegol yn Unicode sy'n gysylltiedig â'r hafalnod yn cynnwys:

* ≌ 224C
* ≔ 2254 (gweler hefyd aseiniaid (cyfrifiadureg))
* ≕ 2255
* ≖ 2256
* ≗ 2257
* ≙ 2259
* ≚ 225A
* ≛ 225B
* ≜ 225C
* ≞ 225E
* ≟ 225F

## Defnydd anghywir 
Defnyddir yr hafalnod weithiau'n anghywir o fewn ymresymiad fathemategol i gysylltu camau mathemategol mewn ffordd ansafonol, yn hytrach na dangos cydraddoldeb (yn enwedig gan fyfyrwyr mathemateg cynnar).

Er enghraifft, pe bai un yn dod o hyd i'r swm, fesul cam, o rifau 1, 2, 3, 4, a 5, gallai un ysgrifennu'n anghywir

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

Yn strwythurol, mae hwn yn law fer am

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

ond mae'r nodiant yn anghywir, gan fod gan bob rhan o'r hafaledd werth gwahanol. Os dehonglir yn llym fel y dywed, mae'n awgrymu

: 3 = 6 = 10 = 15 = 15.

Fersiwn cywir o'r ymresymiad fyddai

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

Mae'r anhawster hwn yn deillio o ddefnyddiau cynnil wahanol o'r arwydd mewn addysg. Mewn dosbarthiadau cynnar, sy'n canolbwyntio ar rifyddeg, efallai gall yr hafalnod fod yn *weithredol* ; fel y botwm hafalnod ar gyfrifiannell electronig, mae'n rhoi canlyniad cyfrifiad. Gan ddechrau gyda cyrsiau algebra, mae'r arwydd yn cymryd ystyr *perthnasol* o gydraddoldeb rhwng dau gyfrifiad.  Weithiau mae dryswch rhwng y ddau ddefnydd o'r arwydd yn parhau ar lefel y brifysgol.

## Amgodio 
*  = 003d

Cysylltiedig:

*  ≠ 2260

## Cyfeiriadau
## Llyfryddiaeth 
* 
* Boyer, C. B.: *A History of Mathematics*, 2nd ed. rev. by Uta C. Merzbach. New York: Wiley, 1989  (1991 pbk ed. )

Categori:Dyfeisiau o Gymru
Categori:Cyflwyniadau 1557
Categori:Symbolau mathemategol