Spørsmål:
Er det moderne "er definert som" notasjon fra dataprogrammering?
Chester
2015-09-05 19:09:32 UTC
view on stackexchange narkive permalink

Så vidt jeg vet er symbolet for "definert som" historisk sett har det vært notasjonen $ \ equiv $ eller $ \ triangleq $. Mer nylig synes imidlertid betegnelsen $: = $ å ha overhalet de to sistnevnte notasjonene (i det minste ser dette ut til å være tilfelle i moderne tekster).

Det har blitt antydet at denne notasjonen ble lånt fra oppdragsoperatøren på dataprogrammeringsspråk - spesielt fra Pascal. Finnes det bevis for bruken av denne notasjonen i matematikk for "er definert som" før den er utbredt som oppdragsoperatør i programmering?

En svar:
HDE 226868
2015-09-05 21:32:54 UTC
view on stackexchange narkive permalink

Jeg sneket litt, og fulgte Wikipedia-lenken du oppga til et annet underavsnitt, som sier

Internasjonalt algebraisk språk og ALGOL (1958 og 1960) introduserte derfor ": = " for tildeling, og etterlot standarden " = " tilgjengelig for likestilling, en konvensjon etterfulgt av CPL, Algol W, BCPL, Simula, Algol 68, SETL , Pascal, Smalltalk, Modula2, Ada, Standard ML, OCaml, Eiffel, Delphi, Oberon, Dylan, VHDL og flere andre språk.

Problemet var selvfølgelig at det er tilfelle der uttrykk som

Variable = Variable + NewVariable

er gyldige. I matematikk, hvis den samme påstanden ble brukt, ville det åpenbart være falsk hvis $ \ text {NewVariable} \ neq1 $. Derfor ble det besluttet å bruke :=.

Jeg fant teksten til ALGOL 1958 (men ikke den påfølgende 1960-teksten), og det riktignok støtter ikke eksplisitt denne tolkningen noe sted. Det understreker imidlertid sterkt brukeren av : = i utsagn, mens den ikke viser = som en byggestein for språket, så jeg tror det er trygt å si at dette markerte overgangen, som hevdet. Vi har derfor en dato for tidlig bruk av : = : 1958.

Jeg har funnet forskjellige tekster og nettsteder som bruker omtrent den samme formuleringen når jeg diskuterer historien om "er definert som "i matematikk. Dette sier for eksempel at

$: = $ (lik per definisjonstegn) betyr "er lik per definisjon til". Dette er en vanlig alternativ form av symbolet “$ = _ {\ text {Def}} $”, som vises i boken Logica Matematica fra 1894 av logikeren Cesare Burali-Forti (1861–1931). Andre vanlige alternative former for symbolet "$ = _ {\ text {Def}} $" inkluderer "[a]" og "$ \ equiv $", sistnevnte er spesielt vanlig i anvendt matematikk.

Her er [a] en stand-in for et symbol som ikke gjengis ordentlig. På side 7 i en versjon av boka ser jeg en uttalelse som ser ut til å ende med $$ = 1: =: D (xy, z) = 1 $$ som inkluderer $: =: $ , en mulig variant av symbolet.

På side 26 skriver han imidlertid et uttrykk som inkluderer $$ a = b: = _ {\ text {Def}} $$ Imidlertid tror jeg at det er mer sannsynlig at det bare er en bruk av $: $ med $ = _ {\ text {Def}} $, som han introduserte lenger opp på siden.

Jeg tror det er sannsynlig at Burali -Forti bruker symbolet et sted inne, men jeg er ikke sikker. I alle fall virker det sannsynlig at "$ = $", eller en variant derav, ble brukt før 1958.

Før ALGOL 58 var faktisk programmeringsspråket IAL (bemerket ovenfor) som også brukte: = for både funksjonsdefinisjon (tidlige versjoner) og variabel tildeling. ALGOL 58 er den direkte etterkommeren av IAL. ALGOL 58 var også det første programmeringsspråket spesifisert i Backus-Naur-form der de tidlige versjonene av Backus-notasjonen ble brukt: = for definisjoner. En av Naurs endringer var å bruke :: = i stedet for: = for definisjoner.
Riktignok, men IAL ble utviklet ikke mer enn noen få år før. Jeg visste ikke om Backus-Naur-formen.
Den "doble prikken" $: $ er en del av notasjonen som brukes til å erstatte parenteser; den dateres tilbake til Peano og ble mye brukt i W&P [Principia] (http://plato.stanford.edu/entries/pm-notation/). Formelen på side 26 må leses (i moderne notasjon) som: $ (a \ equiv b) = _ {Def} (a \ supset b) \ land (b \ supset a) $.
Sammenlign med Alfred North Whitehead og Bertrand Russell, [Principia Mathematica til # 56] (https://books.google.it/books?id=ke9yGmFy24sC&pg=PA9) (2. utgave - 1927), side 9: * Bruken av prikker *, og side 7 for definisjonen av * Ekvivalens *.
@MauroALLEGRANZA men det har ikke noen sammenheng med bruken av $: = $ for "er definert som" skjønt?
@Chester: NEI, det gjør det ikke. Burali-Forti så vel som * Principia * bruker $ = _ {Def} $.
Jeg skjønner, så du presenterte dette som bevis på at $: = $ ikke ble brukt (i betydningen like per definisjon) før ALGOL-relaterte språk på 1950-tallet?
@Chester - Jeg sier at den ikke ble brukt av Burali-Forti (eller annen logiker i slutten av XIX - begynnelsen av XX århundrer) ...


Denne spørsmålet ble automatisk oversatt fra engelsk.Det opprinnelige innholdet er tilgjengelig på stackexchange, som vi takker for cc by-sa 3.0-lisensen den distribueres under.
Loading...