Volné proměnné a vázané proměnné - Free variables and bound variables

V matematice a v dalších disciplínách zahrnujících formální jazyky , včetně matematické logice a informatice , je bez proměnná je notace (symbol), která určuje místa ve výrazu , kde substituce může probíhat a není parametrem tento nebo jakýkoli kontejner. Některé starší knihy používají výrazy skutečná proměnná a zdánlivá proměnná pro volnou proměnnou a vázanou proměnnou. Tato myšlenka souvisí s zástupným symbolem ( symbolem, který bude později nahrazen nějakou hodnotou) nebo zástupným znakem, který znamená nespecifikovaný symbol.

V počítačovém programování termín volná proměnná označuje proměnné používané ve funkci, které nejsou ani lokálními proměnnými, ani parametry této funkce. Termín nelokální proměnná je v tomto kontextu často synonymem.

Vázaná proměnná je proměnná, která byla dříve volný , ale byl vázán na určitou hodnotu nebo sady hodnot nazývaných doména projevu nebo vesmíru . Například proměnná x se stane vázanou proměnnou, když napíšeme:

Pro všechny x , ( x + 1) 2 = x 2 + 2 x + 1 .

nebo

Existuje x takové, že x 2 = 2 .

V každém z těchto tvrzení logicky nezáleží na tom, zda je použito x nebo jiné písmeno. Mohlo by však být matoucí použít stejné písmeno znovu jinde v nějakém složeném tvrzení . To znamená, že volné proměnné se stanou vázanými a pak v jistém smyslu přestanou být k dispozici jako záložní hodnoty pro jiné hodnoty při vytváření vzorců.

Termín „fiktivní proměnná“ se také někdy používá pro vázanou proměnnou (častěji v obecné matematice než v informatice), ale toto použití může vytvořit nejednoznačnost s definicí fiktivních proměnných v regresní analýze .

Příklady

Než uvedeme přesnou definici volné proměnné a vázané proměnné , uvádíme několik příkladů, které snad činí tyto dva pojmy jasnější, než by definice:

Ve výrazu

n je volná proměnná a k je vázaná proměnná; v důsledku toho hodnota tohoto výrazu závisí na hodnotě n , ale neexistuje nic, co by se nazývalo k, na kterém by mohlo záviset.

Ve výrazu

y je volná proměnná a x je vázaná proměnná; v důsledku toho hodnota tohoto výrazu závisí na hodnotě y , ale neexistuje nic, co by se nazývalo x, na kterém by mohlo záviset.

Ve výrazu

x je volná proměnná a h je vázaná proměnná; v důsledku toho hodnota tohoto výrazu závisí na hodnotě x , ale neexistuje nic, co by se nazývalo h, na kterém by to mohlo záviset.

Ve výrazu

z je volný variabilní a x a y jsou vázané proměnné, spojené s logickým quantifiers ; v důsledku toho logická hodnota tohoto výrazu je závislá na hodnotě Z , ale není nic, co nazývá x nebo y , na kterých může záviset.

Obecněji řečeno, ve většině důkazů používáme vázané proměnné. Následující důkaz například ukazuje, že každý čtverec sudého čísla je dělitelný

Budiž kladné i celé číslo. Pak existuje celé číslo takové, že . Od té doby jsme dělitelní

v důkazu jako celek vázaných proměnných nebylo použito pouze k, ale také n .

Operátory s proměnnou vazbou

Následující

jsou některé běžné operátory vázající proměnné . Každý z nich se váže proměnnou x pro nějaký soubor S .

Všimněte si, že mnoho z nich jsou operátory, které působí na funkce vázané proměnné. V komplikovanějších kontextech mohou být takové notace trapné a matoucí. Může být užitečné přepnout na zápisy, díky nimž je vazba explicitní, například

za částky popř

pro rozlišení.

Formální vysvětlení

Strom shrnující syntaxi výrazu

Mechanismy variabilní vazby se vyskytují v různých kontextech v matematice, logice a informatice. Ve všech případech se však jedná o čistě syntaktické vlastnosti výrazů a proměnných v nich. V této části můžeme shrnout syntaxi identifikací výrazu se stromem, jehož uzly listů jsou proměnné, konstanty, funkční konstanty nebo konstanty predikátu a jejichž nelistové uzly jsou logickými operátory. Tento výraz pak lze určit provedením neuspořádaného procházení stromu. Operátory s proměnnou vazbou jsou logické operátory, které se vyskytují téměř v každém formálním jazyce. Vazebný operátor Q přebírá dva argumenty: proměnnou v a výraz P , a když je aplikován na své argumenty, vytvoří nový výraz Q ( v , P ). Význam operátorů vazby je dodáván sémantikou jazyka a zde se nás netýká.

Proměnná vazba se týká tří věcí: proměnné v , umístění a pro tuto proměnnou ve výrazu a nelistového uzlu n ve tvaru Q ( v , P ). Poznámka: definujeme umístění ve výrazu jako listový uzel ve stromu syntaxe. K proměnné vazbě dochází, když je toto umístění pod uzlem n .

V lambda , xje vázaná proměnná v termínu M = λx. Ta volný proměnná v termínu T. Říkáme, že xje svázán Ma volný T. Pokud Tobsahuje subterm, λx. Upak xse v tomto termínu odrazí. O této vnořené vnitřní vazbě xse říká, že „stínuje“ vnější vazbu. Výskyty xv Ujsou bezplatné výskyty nového x.

Proměnné vázané na nejvyšší úrovni programu jsou technicky volné proměnné v rámci podmínek, na které jsou vázány, ale často se s nimi zachází speciálně, protože je lze kompilovat jako pevné adresy. Podobně je identifikátor vázaný na rekurzivní funkci také technicky volnou proměnnou ve svém vlastním těle, ale je s ním zacházeno speciálně.

Uzavřený termín je jeden neobsahuje žádné volné proměnné.

Funkční výrazy

Chcete -li uvést příklad z matematiky, zvažte výraz, který definuje funkci

kde t je výraz. t může obsahovat některé, všechny nebo žádné z x 1 ,…, x n a může obsahovat další proměnné. V tomto případě říkáme, že definice funkce váže proměnné x 1 ,…, x n .

Tímto způsobem, definice funkce výrazy typu je uvedeno výše může být myšlenka jako proměnné vazby operátora, které jsou analogické výrazy lambda lambda . Jiné operátory vazby, jako znak součtu , lze považovat za funkce vyššího řádu vztahující se na funkci. Tedy například výraz

lze považovat za notaci pro

kde je operátor se dvěma parametry-funkce s jedním parametrem a sada, která tuto funkci vyhodnotí. Ostatní operátoři uvedení výše mohou být vyjádřeni podobnými způsoby; například univerzální quantifier si lze představit jako operátor, který je vyhodnocen na logické spojení na logickou hodnotou funkce P aplikována na (možná nekonečnou) sady S .

Přirozený jazyk

Při analýze ve formální sémantice je vidět, že přirozené jazyky mají volné a vázané proměnné. V angličtině mohou osobní zájmena jako on , ona , oni atd. Fungovat jako volné proměnné.

Lisa našla svoji knihu.

Ve výše uvedené větě je přivlastňovací zájmeno her volnou proměnnou. Může odkazovat na dříve zmíněnou Lisu nebo na jakoukoli jinou ženu. Jinými slovy, její kniha by mohla odkazovat na Lisinu knihu (příklad koreference ) nebo na knihu, která patří jiné ženě (např. Kniha Jane). Kdo je jejím referent z je možné stanovit podle situační (tj pragmatické ) kontextu. Identitu referenta lze ukázat pomocí coindexing dolních indexů, kde i označuje jednoho referenta a j označuje druhého referenta (odlišného od i ). Věta, kterou Lisa našla ve své knize, má tedy následující interpretace:

Lisa i našel ji i knihu. (interpretace #1: her = of Lisa )
Lisa i našel její j knihu. (interpretace č. 2: ona = ženy, která není Lisa)

Rozdíl není čistě z akademického zájmu, protože některé jazyky se vlastně mít různé formy pro i a její j : například norský a švédský přeložit coreferent ji i jako hřích a noncoreferent její j jako Hennes .

Angličtina umožňuje specifikovat koreference, ale je volitelná, protože platí obě interpretace předchozího příkladu (negrammatická interpretace je označena hvězdičkou):

Liso, našel jsem ji a vlastní knihu. (interpretace #1: her = of Lisa )
* Lisa i našel její j vlastní knihu. (interpretace č. 2: ona = ženy, která není Lisa)

Nicméně, zájmena , jako sám , sama , samy o sobě , etc., a reciproční zájmena , jako každý jiný , působit jako vázané proměnné. Ve větě, jako je tato:

Jane zranit sebe .

sama reflexivní může odkazovat pouze na dříve zmíněného předchůdce , v tomto případě Jane , a nikdy se nemůže vztahovat na jinou ženskou osobu. V tomto případě je samotná proměnná vázána na podstatné jméno Jane , ke kterému dochází v pozici subjektu . Indikace coindexation, první interpretace s Jane a ona coindexed je přípustná, ale druhá interpretace, kde nejsou coindexed, je negrammatická :

Jane i zranila i . (interpretace č. 1: sama = Jane )
* Jane, zranil jsem se j . (interpretace č. 2: sama = žena, která není Jane)

Vazbu koreference lze reprezentovat pomocí výrazu lambda, jak je uvedeno v předchozí části Formální vysvětlení . Věta s reflexivem by mohla být reprezentována jako

x . x bolí x ) Jane

ve kterém je Jane předmětem referentského argumentu a λx.x bolí x je predikátová funkce (lambda abstrakce) s lambda notací a x označující jak sémantický předmět, tak sémantický předmět věty jako vázaný. Tím se vrací sémantická interpretace JANE bolí JANE, přičemž JANE je stejná osoba.

Zájmena se mohou chovat také jiným způsobem. Ve větě níže

Ashley ji zasáhla .

zájmeno ji může odkazovat pouze na ženu, která není Ashley. To znamená, že to nikdy nemůže mít reflexivní význam ekvivalentní tomu, aby se Ashley sama zasáhla . Gramatické a negramatické interpretace jsou:

* Ashley i udeřil jí i . (interpretace č. 1: her = Ashley )
Ashley, udeřil jsem ji j . (interpretace č. 2: ona = žena, která není Ashley)

První interpretace je nemožná. Gramatika povoluje pouze druhý výklad.

Je tedy vidět, že zvratky a převrácené hodnoty jsou vázané proměnné (odborně známé jako anafory ), zatímco pravá zájmena jsou v některých gramatických strukturách volnými proměnnými, ale proměnnými, které nelze v jiných gramatických strukturách svázat. Vazebné jevy nalezené v přirozených jazycích byly zvláště důležité pro syntaktickou vládu a teorii vazby (viz také: Vazba (lingvistika) ).

Viz také

Reference

  • Thompson, Simon (1991). Teorie typů a funkční programování . Wokingham, Anglie: Addison-Wesley. ISBN 0201416670. OCLC  23287456 .