4 Strängarnas matematik



Relevanta dokument
Träning i bevisföring

Föreläsning 8: Räkning. Duvhålsprincipen. Kombinatorik

Algebra, polynom & andragradsekvationer en pampig rubrik på ett annars relativt obetydligt dokument

a n = A2 n + B4 n. { 2 = A + B 6 = 2A + 4B, S(5, 2) = S(4, 1) + 2S(4, 2) = 1 + 2(S(3, 1) + 2S(3, 2)) = 3 + 4(S(2, 1) + 2S(2, 2)) = = 15.

DOP-matematik Copyright Tord Persson. Bråktal Läs av vilka tal på tallinjen, som pilarna pekar på. Uppgift nr

Lathund, procent med bråk, åk 8

Övningshäfte i matematik för. Kemistuderande BL 05

Skriva B gammalt nationellt prov

Vi skall skriva uppsats

4-6 Trianglar Namn:..

Något om permutationer

Avsikt På ett lekfullt sätt färdighetsträna, utveckla elevers känsla för hur vårt talsystem är uppbyggt samt hitta mönster som uppkommer.

912 Läsförståelse och matematik behöver man lära sig läsa matematik?

Sammanfattning på lättläst svenska

OM KOMPLEXA TAL. 1 Om a är ett positivt reellt tal så betecknar a det positiva reella tal vars kvadrat är a men det är

Erfarenheter från ett pilotprojekt med barn i åldrarna 1 5 år och deras lärare

Ekvationssystem, Matriser och Eliminationsmetoden

Individuellt Mjukvaruutvecklingsprojekt

SF1625 Envariabelanalys

Boll-lek om normer. Nyckelord: likabehandling, hbt, normer/stereotyper, skolmiljö. Innehåll

Väga paket och jämföra priser

Tränarguide del 1. Mattelek.

PRÖVNINGSANVISNINGAR

L(9/G)MA10 Kombinatorik och geometri Gruppövning 1

Volymer av n dimensionella klot

Kapitel 6. f(x) = sin x. Figur 6.1: Funktionen sin x. 1 Oinas-Kukkonen m.fl. Kurs 6 kapitel 1

Exempel på tentamensuppgifter i LMA100, del 1

Hävarmen. Peter Kock

4-3 Vinklar Namn: Inledning. Vad är en vinkel?

729G04 - Hemuppgift, Diskret matematik

Diskussionsfrågor till version 1 och 2

Snabbslumpade uppgifter från flera moment.

3.1 Linjens ekvation med riktningskoefficient. y = kx + l.

Bilaga B Kartläggningsmaterial - Litteracitet Samtals- och dokumentationsunderlag avkodning, läsning, läsförståelse och skrivning

DEMOKRATI 3 DEMOKRATINS VILLKOR

konstanterna a och b så att ekvationssystemet x 2y = 1 2x + ay = b 2 a b

Idag. Hur vet vi att vår databas är tillräckligt bra?

Föreläsning 5: Rekursion

Handledning för digitala verktyg Talsyntes och rättstavningsprogram. Vital, StavaRex och SpellRight

VÄRDERINGSÖVNINGAR. Vad är Svenskt?

NATIONELLA MATEMATIKTÄVLING

Ha det kul med att förmedla och utveckla ett knepigt område!

Översikt. Rapport från skolverket. Förändring av matematikprestationerna Grundtankar bakom Pixel

HT 2011 FK2004 Tenta Lärare delen 4 problem 6 poäng / problem

Svenska Du kan med flyt läsa texter som handlar om saker du känner till. Du använder metoder som fungerar. Du kan förstå vad du läser.

Syftet med en personlig handlingsplan

Har du förstått? I De här talen är primtal a) 29,49 och 61 b) 97, 83 och 89 c) 0, 2 och 3.

Uppdrag: Huset. Fundera på: Vilka delar i ditt hus samverkar för att elen ska fungera?

Presentationsövningar

För dig som är valutaväxlare. Så här följer du reglerna om penningtvätt i din dagliga verksamhet INFORMATION FRÅN FINANSINSPEKTIONEN

Samtals- och dokumentationsunderlag Språk och erfarenheter

Kursplan i svenska. Därför tränar vi följande färdigheter under elevens skoltid i ämnet svenska: Tala, lyssna och samtala. År 1

En grafisk guide till vår identitet

De två första korten Tidig position

Spelregler. 2-4 deltagare från 10 år. Med hjälp av bokstavsbrickor och god uppfinningsrikedom

Kiwiböckerna metod och begrepp

Matematiken har alltid funnits omkring

Vetenskapliga begrepp. Studieobjekt, metod, resultat, bidrag

Modul 6: Integraler och tillämpningar

Grundläggande lösenordsanalys

Laborativ matematik som bedömningsform. Per Berggren och Maria Lindroth

Vanliga frågor. LEGOeducation.com. Konceptet. Processen

Från min. klass INGER BJÖRNELOO

Energi & Miljötema Inrikting So - Kravmärkt

Pesach Laksman är lärarutbildare i matematik och matematikdidaktik vid Malmö högskola.

Avgifter i skolan. Informationsblad

ANVÄND NAVIGATIONEN I CAPITEX SÄLJSTÖD

SVENSKA ÖVERGRIPANDE MÅL FÖR ÅR 6, 7, 8, 9: LYSSNA

Föräldrabroschyr. Björkhagens skola - en skola med kunskap och hjärta. Vad ska barnen lära sig i skolan?

Gruppenkät. Lycka till! Kommun: Stadsdel: (Gäller endast Göteborg)

Bortom fagert tal om bristande tillgänglighet som diskriminering

Bedömningsanvisningar Del I vt 2010 Skolverket har den beslutat att provet i matematik A för vt 2010 inte ska återanvändas.

Manual HSB Webb brf

Boken om Teknik. Boken om Teknik är en grundbok i Teknik för åk 4 6.

Bedömningsuppgift i geografi och svenska (se kraven och bedömning för svenska längre ned)

Med detta och följande avsnitt blir det något svårare. Det finns också

Varför är det så viktigt hur vi bedömer?! Christian Lundahl!

Lokal pedagogisk planering i matematik för årskurs 8

Sveriges Trafikskolors Riksförbund Film om körkort för nysvenskar Speakertext - Svensk

GRUNDERNA I SJÄLVLEDARSKAP

7. SAMHÄLLSORIENTERING ÅK 5

Tankar om elevtankar. HÖJMA-projektet

Programmera en NXT Robot

Användarvänlighet och tillgänglighet Workshop II

Information till elever och föräldrar i skolår 5

Långt ifrån Zlatan VAD HANDLAR BOKEN OM? LGR 11 CENTRALT INNEHÅLL SOM TRÄNAS FÖRMÅGOR SOM TRÄNAS LGRS 11 CENTRALT INNEHÅLL SOM TRÄNAS

Strukturen i en naturvetenskaplig rapport

Några frågor om dina känslor nu och tidigare

I den här delen används inte räknare. Motivera alltid din slutsats med matematiska uttryck, figurer, förklaring el.dyl.

Utvärdering fadderverksamhet (Nyanländ)

SKOGLIGA TILLÄMPNINGAR

1 Navier-Stokes ekvationer

Datorövning 2 Statistik med Excel (Office 2007, svenska)

Antal grodor i varje familj Antal hopp tills alla bytt plats Ökning

Kärnan. Halmstad 29 augusti Hej!

Introduktion till Open 2012

Du ska nu skapa ett litet program som skriver ut Hello World.

UPPGIFT: SKRIV EN DEBATTARTIKEL

När jag har arbetat klart med det här området ska jag:

Virkade tofflor. Storlek & By: Pratamedrut. pratamedrut.se/blog/virkade tofflor 1

Transkript:

UPPSALA UNIVERSITET Föreläsningsanteckningar Institutionen för lingvistik och filologi Grundläggande datalogi II Mats Dahllöf http://stp.ling.uu.se/~matsd/uv/uv04/gd2/ September 2004 4 Strängarnas matematik Området matematisk lingvistik kan sägas handla om den abstrakta matematiska teorin bakom formella grammatiker. Språk förstås här som mängder av ändliga sekvenser av symboler (strängar). På så sätt abstraherar vi bort från allt som handlar om att språk är meningsfulla och används för olika syften. Den matematiska lingvistiken och dess språkbegrepp ligger på så sätt ganska lång bort ifrån den vanliga språkvetenskapens fokus. 4.1 Alfabet, strängar och strängars längd Vi utgår alltid från en ändlig mängd enkla symboler, ett s.k. alfabet, när vi talar om strängar. Elementen i alfabetet är från en grammatiks synvinkel alltså de uttryck som är enkla. Om man tar en typisk grammatik från ett läromedel i formell syntax är således vanliga ord element i alfabetet. Vi har alltså inte att göra med ortografiska alfabet. I den matematiska lingvistikens mer abstrakta exempelfall är dock ofta bokstäver som finns i alfabetet. Vi behöver inte bestämma någonting om vilka objekt som ingår i ett alfabet. Vi talar sedan om strängar över ett alfabet. En sträng över alfabetet T är en ändlig sekvens av objekt som är element i T. Ändliga sekvenser kan vi definiera som funktioner från positiva heltal till objekt. En sträng med längden n över ett alfabet T är således en funktion med definitionsområdet {x x är ett heltal och 1 =< x =< n} (alltså 1 alla heltal från och med 1 och till och med n) och värdeförrådet T. Heltalen pekar ut positioner i strängen, som alltså definieras av vilka symboler som finns på dessa positioner. Exempel: Den sträng som vi på det vanliga komprimerade sättet kan skriva det har regnat hela dagen utgörs egentligen av en funktion, låt oss kalla den S 1, som är sådan att: S 1 (1) = det S 1 (2) = har S 1 (3) = regnat S 1 (4) = hela S 1 (5) = dagen 1 1 =< x =< n betyder givetvis samma sak som 1 =< x och x =< n. 1

Definitionsområdet för S 1 är alltså {1,2,3,4,5}, och dess värdeförråd är {dagen,det,har,hela,regnat} eller en större mängd. S 1 är alltså en sträng över det alfabetet. S 1 kan också skrivas det,har,regnat,hela,dagen. Vi anger att den har längden 5 så här: det, har, regnat, hela, dagen = 5. (Detta sätt att skriva är givetvis lika bra: det har regnat hela dagen = 5.) Mer abstrakta exempel inom matematisk lingvistik kan byggas upp utifrån mycket små lexika, t.ex. är abba en sträng över lexikonet {a, b}. Definitionsområdet för abba är {1,2,3,4}. Längden är givetvis 4, eller med notation: abba = 4. Strängen abba kan lite mer uttryckligt skrivas: a, b, b, a. Den är alltså en funktion S 2, sådan att: S 2 (1) = a, S 2 (2) = b, S 2 (3) = b och S 2 (4) = a. Notationen abba leder till en viss grad av tvetydighet. Exempelvis kan vi inte skilja symbolen a från strängen a (med längden 1). Den strängen kan dock entydigt skrivas: a. (Se även kommentar kring notationen i samband med konkatenering, avsnitt 4.3.) 4.1.1 Tomma strängen: ε Man brukar räkna med att det finns en tom sträng också. Man kan tänka sig den som en motsvarighet till noll i aritmetiken och tomma mängden i mängdläran. Tomma strängen skrivs ε ( vanligt epsilon). ε = 0. (Den har längden noll.) Definitionsområdet för ε är /0, eftersom det inte finns några positioner i den. Oavsett vilket alfabet vi tänker oss, så är ε en sträng över det. I detta sammanhang får vi inte tänka på ε som ett element i ett alfabet, utan ε är namnet på en viss sträng (den tomma strängen). 4.2 Delsträngsrelationer 4.2.1 En fyrställig delsträngsrelation D är en delsträng till en sträng S mellan positionerna i och k om och endast om i och k är två heltal (delsträngens början och positionen efter delsträngens slut i S) som uppfyller villkoren 1 i S, 1 k S + 1, i k, och att det för varje heltal p sådant att i p < k gäller att D(p i + 1) = S(p). Denna uppställning illustrerar detta ganska utförligt. cabac är en delsträng till abbcabaccc mellan 4 och 9: Pos. i D: 1 2 3 4 5 D = c, a, b, a, c Pos. i S: 1 2 3 4 = i 5 6 7 8 9 = k 10 S = a, b, b, c, a, b, a, c, c, c Delstängar är lätta att känna igen. Några fler exempel: abb är en delsträng till abbcabaccc mellan 1 och 4. regnat, hela är en delsträng till det, har, regnat, hela, dagen mellan 4 och 6. 2

Notera även: ε är en delsträng till varje sträng S mellan i och i (i S ). abbcabaccc är en delsträng till abbcabaccc mellan 1 och 11. Det sista påståendet är ett exempel på ett mer generellt förhållande: Varje sträng S är en delsträng till sig själv mellan 1 och S + 1. 4.2.2 Den vanliga tvåställiga delsträngsrelationen D är en delsträng till en sträng S om och endast om det finns två heltal sådana att D är en delsträng till S mellan positionerna i och k. Exemplen ovan har sina motsvarigheter med den vanliga tvåställiga delsträngsrelationen: cabac är en delsträng till abbcabaccc. abb är en delsträng till abbcabaccc. regnat, hela är en delsträng till det, har, regnat, hela, dagen. ε är en delsträng till varje sträng S. abbcabaccc är en delsträng till abbcabaccc. Varje sträng är en delsträng till sig själv. 4.2.3 Prefix D är ett prefix till en sträng S om och endast om det finns ett heltal i sådant att D är en delsträng till S mellan positionerna 1 och i (d.v.s. från början av S och en godtycklig bit in). ε är ett prefix till abbcabaccc. (Generellt: ε är ett prefix till varje sträng.) a är ett prefix till abbcabaccc. ab är ett prefix till abbcabaccc. abb är ett prefix till abbcabaccc. o.s.v. Slutligen: abbcabaccc är ett prefix till abbcabaccc. (Generellt: Varje sträng är ett prefix till sig själv.) det, har är ett prefix till det, har, regnat, hela, dagen. 3

4.2.4 Suffix D är ett suffix till en sträng S om och endast om det finns ett heltal i sådant att D är en delsträng till S mellan positionerna i och S + 1 (d.v.s. från en godtycklig position i S till dess slut). ε är ett suffix till abbcabaccc. (Generellt: ε är ett suffix till varje sträng.) c är ett suffix till abbcabaccc. cc är ett suffix till abbcabaccc. ccc är ett suffix till abbcabaccc. o.s.v. Slutligen: abbcabaccc är ett suffix till abbcabaccc. (Generellt: Varje sträng är ett suffix till sig själv.) hela, dagen är ett suffix till det, har, regnat, hela, dagen. 4.3 Konkatenering av strängar En mycket viktig operation på strängar är ihopsättning, eller som man brukar säga i dessa sammanhang, konkatenering. Konkatenateringen av två strängar S 1 och S 2 är den sträng K sådan att K = S 1 + S 2 och S 1 är ett prefix till K och S 2 är ett suffix till K. K kan i detta fall skrivas S 1 S 2. (Konkatenatering är underförstått när strängar skrivs efter varandra.) hela, dagen det, har, regnat = hela, dagen, det, har, regnat a,b b,a = a,b,b,a (I komprimerad notation: abba = abba.) a,b,b,a a,b,b,a = a,b,b,a,a,b,b,a (I komprimerad notation: abbaabba = abbaabba.) Generellt (för alla S): εs = S och Sε = S. Notera den tvetydighet som den komprimerade notationen för med sig här: Ekvationen a,b b,a = a,b,b,a komprimeras till abba = abba, och vi ser inte var konkateneringen görs. Vi kan t.ex. inte skilja a, b, b a från a, b b, a, men det gör i denna typ av fall ingenting, eftersom det överordnade uttrycket står för samma sträng oavsett vilken syntaktisk tolkning vi väljer. 4.3.1 Multipel självkonkatenering av strängar Det är ofta intressant att konkatenera strängar med sig själva, och att kunna göra detta ett godtyckligt antal gånger. Det finns en speciell notation för detta ändamål, som ser ut som upphöjt till när man räknar med potenser. En sträng upphöjt till en viss tal står för denna sträng taget det antal gånger. Exempel: 4

a 3 = aaa. ba 3 b = baaab. (Siffran opererar bara på a.) (ba) 3 b = bababab. (Här visar vi med parenteser att siffran opererar på ba och inte bara på a.) ε 365 = ε. Följande två satser definierar induktivt (rekursivt) multipel självkonkatenering: S 0 = ε. S i = SS i 1, om i > 0. Uppenbart och generellt (för godtycklig sträng S och godtyckliga naturliga tal i och k) gäller följande: S i = S i. (Varför?) (S i ) k = S i k. (Varför?) 4.4 Språk (mängder av strängar) Inom matematisk lingvistik laborerar vi, som sagt, med ett särskilt språkbegrepp: Ett språk är här en mängd av strängar. Detta har inte nödvändigtvis någonting att göra med språk som människor använder. Chomsky, som införde detta språkbegrepp, ansåg dock att ett mänskligt språk motsvarar en sådan mängd, nämligen mängden av strängar som utgör grammatiska satser. Ur den matematiska lingvistikens perspektiv kan vi dock betrakta språk som abstrakta entititer utan empirisk förankring, och det är det vi skall fortsätta med här. Några enkla exempel: Minsta språket är /0. Ett annat språk är {ε}. {ε, aba, abba, abbba} är ett språk med fyra element. {aba, abba, abbba} är ett språk med tre element. Vi är dock sällan intresserade av så små språk. Vi behöver medel för att definiera större språk. 4.5 Kleenehöljet av ett alfabet (Kleenestjärna I) Kleenehöljet (uppkallat efter logikern Kleene) av ett alfabet är mängden av alla strängar över alfabetet ifråga. Eftersom det inte finns någon begränsning på strängarnas längd blir ett sådant språk oändligt, om nu inte alfabetet är tomma mängden förstås. Kleenehöljet av alfabetet T skrivs T, där stjärnsymbolen kallas Kleenestjärna. Några exempel: 5

/0 = {ε}. {a} = {ε,a,aa,aaa,aaaa,aaaaa,...}. (Ja, här får vi en oändlig mängd.) {a,b} = {ε,a,b,aa,ab,ba,bb,aaa,aab,aba,abb,baa,bab,bba,...}. (Ännu en oändlig mängd.) 4.6 Ett språk över ett alfabet Ett språk över ett alfabet T är en delmängd (ändlig eller oändlig) av T. Exempel: {ε, a, d, bd, abd, dba, aaaa, ddbbaacc} är ett språk över alfabetet {a,b,c,d,e}. 4.7 Kleenehöljet av en sträng (Kleenestjärna II) Inte bara alfabet, utan även strängar har Kleenehöljen. (Detta gäller, som vi snart skall se, även språk.) Kleenehöljet av en sträng är mängden av alla strängar som utgörs av multipla självkonkateneringar av strängen ifråga, inklusive noll -fallet, ε. Vi kan säga detta lite mer formellt och komprimerat på detta sätt: S = {T i är ett naturligt tal och T = S i }. Några exempel: a b = {ab,aab,aaab,aaaab,...}. (Vi får nästan alltid en oändlig mängd.) (ba) = {ε,ba,baba,bababa,babababa,...}. ε = {ε}. 4.7.1 Plusoperatorn En plusoperator används i detta sammanhang så att S + förstås som en förkortning av SS. Språket S + innehåller alltså alla strängar som skapas av att S tas minst en gång. Om S ε, så ε / S +, medan alltid ε S. Exempel: (ab) + = {ab,abab,ababab,abababab,ababababab,...}. 4.8 Konkatenering av språk Vi talar även om konkatenering av språk (så vi måste hålla reda på om det är två strängar eller två språk som skall konkateneras när vi talat om konkatenering). Konkatenering av språk är dock definierat i termer av strängkonkatenering. Konkateneringen av två språk är sålunda mängden av de strängar som utgör konkateneringen av en godtycklig sträng ur det första givna språket med en godtycklig 6

sträng ur det andra givna språket. Lite mer formellt kan vi uttrycka detta så här, där L 1 L 2 är konkateneringen av de två språken L 1 och L 2. (Som förut uttrycker vi konkatenering genom att bara skriva två uttryck bredvid varandra.) Det gäller för alla strängar S att S L 1 L 2 om och endast om det finns två strängar S 1 och S 2 sådana att S 1 L 1, S 2 L 2 och S = S 1 S 2 (strängkonkatenering kommer in här). Några exempel: {a,b}{a,b} = {aa,ab,ba,bb}. {ε,a,b}{a,b} = {a,b,aa,ab,ba,bb}. {a} {a} = {a}. (Varför?) Generellt (för alla L): /0L = /0 och L/0 = /0. (Varför?) Generellt (för alla L): {ε}l = L och L{ε} = L. (Varför?) Problem: Låt oss tänka oss att vi har två ändliga språk, L och M: Hur förhåller sig LM till L och M? Hur kan LM ML? Visa med ett exempel! 4.9 Multipel självkonkatenering av språk Följande två satser definierar induktivt (rekursivt) multipel självkonkatenering av språk: L 0 = {ε}. L i = LL i 1, om i > 0. Likheten med definitionen av multipel självkonkatenering av strängar är uppenbar. Språket L i är alltså mängden av de strängar som bildas genom att vi konkatenerar i stycken godtyckliga strängar ur språket L. Exempel: {ε,a,b} 2 = {ε,a,b,aa,ab,ba,bb} {ε,a,b} 3 = {ε,a,b,aa,ab,ba,bb,aaa,aab,aba,abb,baa,bab,bba,bbb} {a,b} 3 = {aaa,aab,aba,abb,baa,bab,bba,bbb} {ab,ba} 2 = {abab,abba,baab,baba} {aaa,bb} 3 = {aaaaaaaaa,aaaaaabb,aaabbaaa,aaabbbb, bbaaaaaa, bbaaabb, bbbbaaa, bbbbbb} 7

4.10 Kleenehöljet av ett språk (Kleenestjärna III) Ett tredje fall då vi använder Kleenestjärna är då vi vill tala om ett språks Kleenehölje. Ett språks Kleenehölje är unionen av alla multipla självkonkateneringar av språket ifråga. Med andra ord är det mängden av alla strängar som vi kan bilda genom att konkatenera ett godtyckligt antal godtyckliga strängar ur språket ifråga. L = {S i är ett naturligt tal och S L i }. Några exempel: {ba,c} = {ε,ba,c,baba,bac,cba,cc,bababa,babac,...}. {ε} = {ε}. {a} {b} = {ε,a,b,aa,ab,bb,aaa,aab,abb,bbb,...}. Kleenehöljet av en sträng kan lätt definieras i termer av Kleenehöljet av ett språk: Om S är en sträng, så är S = {S}. 4.10.1 Plusoperatorn, igen Notationen med plusoperator används även i detta sammanhang så att L + förstås som en förkortning av LL. Språket L + innehåller alltså alla strängar som består av konkateneringen av ett godtyckligt antal större än noll godtyckliga strängar från språket L. Exempel: {a,b} + = {a,b,aa,ab,ba,bb,...} 4.11 Antalsmässiga restriktioner på strängars utseende Ett kraftfullt sätt att definiera språk är att uttrycka antalsmässiga restriktioner på strängars utseende med hjälp av notationen för multipel självkonkatenering. Uttrycket a n b n står för språket som innehåller alla strängar som består av ett godtyckligt antal a följt av precis lika många b. Lite mer formellt uttryckt: a n b n = {S i är ett naturligt tal och S = a i b i }. Detta är alltså vad vi får: a n b n = {ε,ab,aabb,aaabbb,aaaabbbb,aaaaabbbbb,...}. Vi kan givetvis generalisera notationen på detta sätt: a n b n c n = {ε,abc,aabbcc,aaabbbccc,aaaabbbbcccc,aaaaabbbbbccccc,...}. Språk som a n b n och a n b n c n och detta notationssätt spelar stor roll i den matematiska lingvistikens resonemang. 2 2 Spr åket a n b n är kontextfritt, men ej regulj ärt. Spr åket n ab n c n är inte kontextfritt. 8

4.12 Vanliga mängdoperationer på språk Eftersom språk är mängder av strängar kan vi givetvis definiera ett nytt språk utifrån två givna med hjälp av de vanliga mängdoperationerna. Om vi exempelvis vill definiera språket som innehåller alla stränga över {a, b} som börjar och slutar med samma bokstav, så kan vi uttrycka det på detta sätt: {a,b} ({a}{a,b} {a}) ({b}{a,b} {b}) = {a,b,aa,bb,aaa,aba,bab,bbb,aaaa,aaba,...}. Några exempel på sanna påståenden om unioner av språk: {a,b} {c} = {ε,a,b,c,aa,ab,ba,bb,cc,aaa,aab,aba,abb, baa,bab,bba,bbb,ccc,...}. (Uppräkning efter stigande längd.) {a,b,c} {aa,bb} = {a,b,c}. (Varför?) Vi borde också kunna försäkra oss om sanningshalten i följande utsagor om snitten mellan språk: {a,b} {c} = /0. (aaab ) (a bbb) = {aaabbb}. (aaab c ) (a bbbc ) = {aaabbbc }. (aa) (aaa) = (aaaaaa). (Varför?) Även differensoperationen är användbar. Om vi t.ex. vill definiera språket som innehåller alla strängar av a och b med minst en förekomst av vardera symbol, så kan vi göra så här: ({a,b} a ) b = {ab,baaab,aba,abb,baa,bab,bba,...}. Några fler exempel: {a,b} ({a,b} b) = ({a,b} a) {ε}. 9