V matematiki uporabljamo simbolni zapis – matematične objekte, konstrukcije in dokaze opišemo s pomočjo izrazov kot so 3 + 4
, x ↦ x² + 3
, ∀ x ∈ ℝ . x² + x + 1 ≥ 1/4
itd. Matematično besedilo je mešanica naravnega jezika (slovenščine) in simbolnega zapisa. Načeloma bi lahko pisali matematiko samo s simbolnim zapisom (kar dejansko počnemo, kadar matematiko formaliziramo z računalnikom, a o tem kdaj drugič), a bi bilo to ljudem preveč nerazumljivo.
Danes bomo spoznali pravila simbolnega zapisa in se učili razumeti, brati in pisati logične formule (matematične izjave, izražene s simbolnim zapisom).
(Simbolni) izraz je zaporedje znakov, ki predstavlja neki matematični pojem, na primer
3 + 5
S ∩ (T ∪ V)
2 x y ≤ x² + y²
Izraz je pravilno formiran ali sintaktično pravilen, če ustreza pravilom, ki določajo kako postavljamo oklepaje, vejice, pike, kako uporabljamo razne posebne simbole (+
, ∨
, ∫
) itd. Na primer, izraz 3 + ) x · 4
ni sintaktično pravilen, ker ima narobe postavljen zaklepaj.
Natančna sintaktična pravila za pisanje matematičnih izrazov so precej zapletena, ker je matematični zapis raznovrsten in se je razvijal skozi zgodovino. Na srečo skoraj vsa pravila že poznate (“vsak oklepaj mora imeti ustrezni zaklepaj”, “piše se a + b
in ne a b +
, …). Tu se ne bomo ukvarjali s podajanjem vseh pravil – to je delo za računalničarje, ki želijo taka pravila naprogramirati. Kljub temu pa velja omeniti nekatere pojme.
V simbolnem zapisu uporabljamo operacije, ki jih pišemo pred, za ali med argumente:
-x
za nasprotno vrednost x
¬P
za negacijo izjave P
x + y
, x - y
, x · y
itn.P ∧ Q
, P ∨ Q
, P ⇒ Q
itn.n!
za faktorielo števila n
Včasih uporabljamo tudi druge oblike zapisa:
Aᴮ
a/b
(mišljen je ulomek, kjer so a
, črta in b
zapisani navpično){ x ∈ ℝ | x² + x > 2}
Operacija je lahko celo “nevidna”, oziroma jo pišemo kot presledek med argumentoma:
x y
kot zmnožek x
in y
sin x
kot uporabe funkcije sin
na argumentu x
Z oklepaji ponazorimo, katera operacija ima prednost. Na primer, če ne bi imeli dogovora, da ima množenje prednost pred seštevanjem, potem bi lahko izraz
3 + 4 × 5
razumeli kot 3 + (4 × 5)
ali kot (3 + 4) × 5
. Oklepajev ne smemo opustiti, kadar bi lahko prišlo do take zmede. Nikoli pa ne škodi, če zapišemo kak oklepaj več, kot je to potrebno (v mejah normale).
Da se izognemo pisanju oklepajev, se dogovorimo, da imajo nekatere operacije prednost pred ostalimi, kar so vas učili že v osnovni šoli. Pravimo, da imajo operacije prioriteto. Operacija z višjo prioriteto ima prednost pred operacijo z nižjo prioriteto.
Primer:
×
ima višjo prioriteto kot +
(to je dogovor in ne matematično dejstvo)∧
ima višjo priroriteto kot ∨
Poleg prioritete imajo nekatere operacije tudi asociranost. Kako naj razumemo izraz 8 - 3 - 2
, kot (8 - 3) - 2
ali kot 8 - (3 - 2)
? V šoli so vas učili, da je
A - B - C = (A - B) - C
Pravimo, da -
veže na levo oziroma da ima levo asociranost. Ker beremo z leve na desno, ima večina operacij levo asociranost. Velja na primer
A + B + C = (A + B) + C
A × B × C = (A × B) × C
Morda bo kdo pripomnil, da velja (A + B) + C = A + (B + C)
in da zato ni pomembno, kako razumemo A + B + C
. To je res v preprostih primerih, ko vemo, da smo s +
označili seštevanje števil. Kaj pa, če s +
označimo kako drugo preslikavo? Ali (A + B) + C = A + (B + C)
velja tudi v programiskih jezikih, pri katerih lahko pride do prekoračitve največjega možnega števila?
Primer operacije z desno asociranostjo je implikacija: P ⇒ Q ⇒ R
je enako P ⇒ (Q ⇒ R)
.
Izrazi so zaporedja znakov, ki jih pišemo z leve na desno. A kje drugje bi jih morda pisali z desne na levo ali navpično. Izrazi so le predstavitve tako imenovanih sintaktičnih dreves. Na primer ((3 + x) × y)²
predstavlja sintaktično drevo (potenciranje predstavimo z znakom ^
)
^
/ \
× 2
/ \
+ y
/ \
3 x
O sintaktičnih drevesih ne bomo govorili, a jih omenimo, ker so pomembna iz dveh razlogov: sintaktična drevesa so podatkovni tip, s katerim v programu dejansko obdelujemo izraze; s pomočjo sintaktičnih dreves lahko simbolni zapis predstavimo kot posebno vrsto algebre, ki razkriva pomembno matematično strukturo izrazov.
Sintaktičnih pravil je še več, od katerih omenimo le tri.
Argumente operacije ali funkcije včasih zapišemo v podnapis ali nadnapis. Na primer, če je a : ℕ → ℝ
preslikava, pogosto pišemo aᵢ
namesto a(i)
.
Argumente operacije lahko opustimo in od bralca pričakujemo, da bo pravilno uganil, kaj smo mislili. Pravimo, da so to implicitni argumenti. Primer implicitnih argumetov smo že videli, ko smo zapisali prvo in drugo projekcijo pr₁
in pr₂
:
pr₁ : A × B → A
pr₂ : A × B → A
Če bi bili zelo natančni, bi morali pri projekcijah zapisati tudi množici A
in B
, ki tvorita kartezični produkt, na primer nekaj takega kot
pr₁ᴬ,ᴮ : A × B → A
Ko torej vpeljemo novo zapis, lahko nekatere argumente razglasimo za implicitne, kar pomeni, da jih bomo opuščali, kadar to ne pripelje do zmede.
Naloga: ali ima kompozicija preslikav ∘
implicitne argumente? Katere?
Simbol lahko tudi preobtežimo, da ima več pomenov, nato pa od bralca pričakujemo, da bo uganil, katerega smo mislili. Na primer, +
uporabljamo za:
S preobteževanjem ne gre pretiravati, ker lahko pripelje do zmede. Običajno z istim simbolom označimo različne operacije, ki imajo kaj skupnega. Na primer, +
uporabljamo za komutativno, asociativno operacijo z nevtralnim elementom.
Izrazi, ki označujejo števila, se imenujejo aritmetični izrazi.
Irazi, ki označujejo matematične izjave, se imenujejo logični izrazi ali logične formule. Razumevanje, branje in pisanje le-teh zahteva kar nekaj treninga, zato se mu bomo posvetili tu in na vajah. Pravzaprav ne bomo vadili le razumevanja zapisa, ampak tudi, kako matematiki razmišljajo in razumejo drug drugega.
Danes o dokazih in pravilih dokazovanja še ne bomo govorili, bomo pa pojasnili intuitivni pomen logičnih operacij.
Logične formule in logika nasploh sestoji iz:
¬
, ∧
, ∨
, ⇒
, ⇔
∀
in ∃
Izjavn vezniki so naslednje operacije:
resničnostni konstanti ⊥
in ⊤
: beremo ju “neresnica” in “resnica”
negacija ¬
: izjavo ¬A
beremo “A
ne velja” ali “ni res, da A
”
konjunkcija ∧
: izjavo A ∧ B
beremo “A
in B
”
disjunkcija ∨
: izjavo A ∨ B
beremo “A
ali B
”
implikacija ⇒
: izjavo A ⇒ B
lahko beremo na več načinov:
A
sledi B
.”A
, potem B
.”A
samo če B
.”B
sledi iz A
.”A
je zadosten pogoj za B
.”B
je potreben pogoj za A
.”ekvivalenca ⇔
: izjavo A ⇔ B
beremo
A
je ekvivalentno B
.”A
, če in samo če B
.”A
je zadosten in potreben pogoj za B
.”Malo bolj neobičajna je:
⊕
: izjava A ⊕ B
beremo “bodisi A
bodisi B
Prioriteta veznikov, od najvišje do najnižje:
¬
∧
∨
, ⊕
⇒
, ⇔
Primer: ¬ A ∧ B ⇒ C ∨ D
beremo kot ((¬ A) ∧ B) ⇒ (C ∨ D)
.
Asociranost veznikov:
∧
, ∨
, ⊕
⇒
Ekvivalenca ⇔
nima asociranost, zato je zapis A ⇔ B ⇔ C
načeloma dvoumen, a v praksi pomeni (A ⇔ B) ∧ (B ⇔ C)
Opomba: Tudi zapis x = y = z
pravzaprav ni smiselen, saj sta (x = y) = z
in x = (y = z)
oba nesmiselna. V praksi x = y = z
pomeni (x = y) ∧ (y = z)
. Pa še to: koliko enačb je izraženih z a = b = c = d
? Tri! Toliko kot je enačajev.
Opomba k opombi: Zapis x ≠ y ≠ z
je nejasen in se mu je bolje izogibati, saj zlahka pripelje do pomote, ker iz x ≠ y
in y ≠ z
ne sledi nujno x ≠ z
.
Glede razumevanja veznikov, omenimo:
A ∨ B
resnična izjava, če sta A
in B
resnični,A ⇒ B
se A
imenuje antecedent in B
konsekvent. Implikacija je veljavna, če je antecedent neveljaven,A ⇔ B
lahko razumemo kot okrajšavo za (A ⇒ B) ∧ (B ⇒ A)
.Matematične izjave vsebujejo fraze, kot so “za vse”, “za neki”, “obstaja vsaj en”, “za natanko enega” ipd. Le-te izrazimo s kvantifiaktorji. Osnovna kvantifikatorja sta univerzalni in eksistenčni.
∀
Formulo
∀ x ∈ A . ϕ
beremo:
x
iz A
velja ϕ
x
iz A
zadoščajo ϕ
ϕ
za vse x
iz A
Pika pri tem nima nobenega posebnega pomena, lahko bi pisali tudi
∀ x ∈ A , ϕ
∀ x : A , ϕ
(∀ x : A) ϕ
Nekateri matematiki pišejo tudi ϕ, ∀ x ∈ A
. Ta zapis odsvetujemo, ker ne deluje, ko kombiniramo več kvantifikatorjev hkrati. (Dobro pa je razumeti, da tako pišejo, ker se lepo sliši “ϕ
za vse x
iz A
”.)
Omenili smo že, da ∀ x ∈ ∅ . ϕ
vedno velja. To bomo utemeljili naslednjič.
∃
Formulo
∃ x ∈ A . ϕ
beremo:
x
iz A
velja ϕ
x
iz A
velja ϕ
x
iz A
velja ϕ
ϕ
za neki x
iz A
S tem povemo, da obstaja eden ali več takih x
. Na primer, izjava ∃ x ∈ ℕ . x < 3
je veljavna, saj obstajo kar tri naravna števila, ki so manjša od 3
.
∀
in ∃
Prioriteta kvantifikatorjev ∀
in ∃
je nižja od prioritete veznkov. Na primer:
∀ x ∈ A . ϕ ∧ ψ
je enako ∀ x ∈ A . (ϕ ∧ ψ)
∀ x ∈ ℝ . x > 0 ⇒ ϕ
je enako `∀ x ∈ ℝ . (x > 0 ⇒ ϕ)
Kvantifikator vedno zaobjame vse, kar zmore:
∀ x ∈ A . ϕ ∧ ∃ y ∈ B . ψ
je enako ∀ x ∈ A . (ϕ ∧ (∃ y ∈ B . ψ))
in ni enako (∀ x ∈ A . ϕ) ∧ (∃ y ∈ B . ψ)
(P ∧ ∀ x ∈ A . Q ⇒ R) ⇒ ∃ y ∈ B . S
je enako (P ∧ ∀ x ∈ A . (Q ⇒ R)) ⇒ (∃ y ∈ B . S)
in ni enako (P ∧ (∀ x ∈ A . Q) ⇒ R) ⇒ (∃ y ∈ B . S)
∀
in ∃
Pozor, vrstnega reda kvantifikatorjev ne smemo mešati!
Primer:
∀ x ∈ ℝ . ∃ y ∈ ℝ . x < y
pomeni “vsako realno število je manjše od nekega realnega števila” (kar je res),∃ x ∈ ℝ . ∀ y ∈ ℝ . x < y
pomeni “obstaja najmanjše realno število” (kar ni res).To dejstvo bomo utrjevali na vajah. Zapomnite se, da morate biti tudi pri ostalih predmetih posebej pozorni na vrstni red “za vsak” in “obstaja”. Je profesorica pri analizi rekla “za vsak ε > 0
obstaja tak δ > 0
da …” ali je rekla “ostaja tak δ > 0
da za vsak ε > 0
…”. Če boste zamešali ti dve izjavi na ustnem izpitu iz analize, boste imeli pokvarjen dan, ali pa cele počitnice!
Pogosto kvantifikacijo kombiniramo z dodatnim pogojem, na primer
V prvem primeru je dodatni pogoj izražen z besedico “liho” in v drugem s “sodo”. Kako zapiemo take izjave s formulo, kam vtaknemo dodatni pogoj? Ijzavi pretvorimo po korakih:
x
iz ℕ
, da je x
lih in x
je deljiva s 7.”∃ x ∈ ℕ . (x je lih) ∧ (x je deljiv s 7)
In še druga izjava:
x
iz ℕ
velja, če je x
sod, potem je x
deljiv s 3
.”∀ x ∈ ℕ . x sod ⇒ x deljiv s 3
Zapomnimo si: dodatni pogoj pri ∃
izrazimo ∧
in dodatni pogoj pri ∀
izrazimo ⇒
.
V nekaterih izrazih nastopajo spremenljivke, ki so vezane. To pomeni, da je njihovo območje veljavnosti imejeno, oziroma da so neke vrste lokalne spremenljivke. Spremenljivka, ki ni vezana, je prosta. Primeri:
x ↦ x² + y
je x
vezan in y
prost.(x,y) ↦ x² + y
sta x
in y
vezana.∫ (x + a)² d x
je x
vezan in a
prost.∑_(i = 0)^n (i² + 1)
je i
vezan in n
prost.∀ x ∈ ℝ . x³ + 3 x < 7
je x
vezana spremenljivka.Če vezano spremenljivko preimenujemo, se izraz ne spremeni:
Pozor: za novo ime vezane spremenljivke moramo izbrati spremenljivko, ki ni prosta. Na primer, v integralu
∫ (a + x)² d t
smemo x
preimenovati v t
:
∫ (a + t)² d t
Ta dva izraza štejemo za enaka. Ne bi pa smeli x
preimenovati v a
:
∫ (a + a)² d a
Pravimo, da se je prosta spremenljivka a
ujela v integral.
∃!
S kvantifikatorjema ∀
in ∃
lahko izrazimo tudi druge kvantifikatorje. Na primer, “Obstajata vsaj dva elementa x
in y
iz A
, da velja ϕ
lahko zapišemo
∃ x ∈ A . ∃ y ∈ A . x ≠ y ∧ ϕ
Kako pa izrazimo “obstaja natanko en x
iz A
, da velja ϕ(x)
”? Takole:
(∃ x ∈ A . φ(x)) ∧ ∀ x y ∈ A . φ(x) ∧ φ(y) ⇒ x = y
ali ekvivalentno
∃ x ∈ A . φ(x) ∧ ∀ x ∈ A . φ(y) ⇒ x = y
To okrajšamo tudi ∃! x ∈ A . φ(x)
. Običajen je še zapis ∃¹ x ∈ A . φ(x)
.
Če dokažemo
∃! x ∈ A . φ(x)
potem lahko pišemo
ι x ∈ A . φ(x)
kar preberemo: “tisti x ∈ A
, za katerega velja φ(x)
”. Torej velja:
φ(ι x ∈ A . φ(x))
Primer: Denimo, da še ne bi poznali simbola √
za kvadatne korene. Tedaj bi lahko kvadratni koren iz 2
zapisali kot
ι x ∈ R . (x > 0 ∧ x^2 = 2)
Nov simbol lahko vpeljemo tako, da ga enolično opredelimo.
Če dokažemo
∃! x ∈ A . φ(x)
potem smemo vpeljati nov simbol c
in dejstvo φ(c)
.
Poseben primer definicije je okrajšava. Denimo, da je E
izraz, ki označuje točno določen element množice A
. Tedaj seveda velja
∃! x ∈ A . x = E
Torej lahko vpeljemo nov simbol c
, ki ima lastnost c = E
. To običajno krajše zapišemo
c := E
Pišemo tudi kar c = E
, včasih tudi c ≡ E
. Za logične formule pišemo c :⇔ E
.
Namesto c := (x ↦ E)
pišemo c(x) := E
.