*UXSS YQLQJ±/RJLNPHGWLOOlPSQLQJDUYW

Relevanta dokument
Föreläsning 8. Innehåll. Satisfierbarhet hos en formel. Logik med tillämpningar

Grundläggande logik och modellteori (5DV102)

Grundläggande logik och modellteori (5DV102)

Logik för datavetare DVK:Log Tisdagen 28 oktober Institutionen för dataoch systemvetenskap David Sundgren

Innehåll. Föreläsning 7. Satslogiken är för grov. Samma sak i predikatlogik: Första ordningens predikatlogik. Logik med tillämpningar

DD1350 Logik för dataloger. Fö 7 Predikatlogikens semantik

Predikatlogik: Normalformer. Klas Markström

p /\ q r DD1350 Logik för dataloger Kort repetition Fö 3 Satslogikens semantik

Grundläggande logik och modellteori

Normalisering av meningar inför resolution 3. Steg 1: Eliminera alla och. Steg 2: Flytta alla negationer framför atomära formler

Grundläggande logik och modellteori

FÖRELÄSNING 8 ANDERS MÄRAK LEFFLER IDA/HCS

Avslutning. Vad? Hur? Anmärkningar inför tentan 2. Vad ska kunnas?

Robin Stenwall Lunds universitet

Lektion 8: Konstruktion av semantiska tablåer för PTL-formler

Robin Stenwall Lunds universitet

Grundläggande logik och modellteori

Sanningsvärdet av ett sammansatt påstående (sats, utsaga) beror av bindeord och sanningsvärden för ingående påståenden.

Tommy Färnqvist, IDA, Linköpings universitet. 2 Strukturer Domäner Tolkningar... 3

Innehåll. Föreläsning 4-5. Logiska system. Alfabet. Calculus. Well-formed formulas. Vanliga termer i logik Satslogik. Första ordningens predikatlogik

Grundläggande logik och modellteori

Robin Stenwall Lunds universitet

Avslutning. Vad? Hur? Anmärkningar inför tentan 2. Vad ska ni kunna?

K3 Om andra ordningens predikatlogik

FÖRELÄSNING 3 ANDERS MÄRAK LEFFLER IDA/HCS

DD1350 Logik för dataloger

Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section

Tommy Färnqvist, IDA, Linköpings universitet. 1 Kursadministration 1. 2 Introduktion Varför logik? Satslogik... 2

Datorlingvistisk grammatik I Institutionen för lingvistik och filologi Oktober 2007 Mats Dahllöf

En introduktion till predikatlogik

DD1361 Programmeringsparadigm HT15

Filosofisk Logik (FTEA21:4) föreläsningsanteckningar/kompendium. v. 2.0, den 29/ III. Metalogik 17-19

Grundläggande logik och modellteori

DD1361 Programmeringsparadigm HT16

Tentamen i logik 729G06 Programmering och logik

DD1350 Logik för dataloger

Logik och bevisteknik lite extra teori

DD1361 Programmeringsparadigm HT17

Satslogik grundläggande definitioner 3. Satslogik. Uppgift 1. Satslogikens syntax (välformade formler) Satslogikens semantik (tolkningar)

Semantik och pragmatik (Serie 4)

Logik: sanning, konsekvens, bevis

Föreläsning 5. Deduktion

Formell logik Kapitel 9. Robin Stenwall Lunds universitet

Lösningsförslag till Tentamen, SF1629, Differentialekvationer och Transformer II (del 1) 24 oktober 2014 kl 8:00-13:00.

Om semantisk följd och bevis

Övningshäfte 1: Logik och matematikens språk

MS-A0409 Grundkurs i diskret matematik I

MS-A409 Grundkurs i diskret matematik Appendix, del I

MS-A0409 Grundkurs i diskret matematik I

Semantik och pragmatik

Flera kvantifierare Bevis Direkt bevis Motsägelse bevis Kontrapositivt bevis Fall bevis Induktionsprincipen. x y (x > 0) (y > 0) xy > 0 Domän D = R

Logik I. Åsa Hirvonen Helsingfors universitet. Våren 2013

Logisk semantik I. 1 Lite om satslogik. 1.1 Konjunktioner i grammatisk bemärkelse. 1.2 Sant och falskt. 1.3 Satssymboler. 1.

Vad är det? Översikt. Innehåll. Vi behöver modeller!!! Kontinuerlig/diskret. Varför modeller??? Exempel. Statiska system

En introduktion till logik

Föreläsning 8: Intro till Komplexitetsteori

ÖVN 6 - DIFFERENTIALEKVATIONER OCH TRANSFORMMETODER - SF Nyckelord och innehåll. a n (x x 0 ) n.

729G06 Logik FÖRELÄSNING 1 ANDERS MÄRAK LEFFLER IDA/HCS

Filosofisk logik Kapitel 19. Robin Stenwall Lunds universitet

Försättsblad till skriftlig tentamen vid Linköpings universitet TER1

:1) Vid ett besök på Knarrön (där ju var och en antingen är kung (och

Booleska variabler och översättning mellan programuttryck och booleska variabler

F. Drewes Datavetenskapens grunder, VT02. Lite logik

Detta är ett ofärdigt utdrag ur ovanstående text. Vänligen sprid inte!

Lite om bevis i matematiken

Sats. Om t är en rätvinklig triangel så är summan av kvadraterna på kateterna i t lika med kvadraten på hypotenusan.

Induktionsprincipen Starka induktionsprincipen Välordningsprincipen Divisionsalgoritmen

Filosofisk logik Kapitel 15 (forts.) Robin Stenwall Lunds universitet

FUZZY LOGIC. Christopher Palm chrpa087

Lineära system av differentialekvationer

Bakgrund. Bakgrund. Bakgrund. Håkan Jonsson Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige

Övningshäfte 2: Induktion och rekursion

FTEA12:2 Filosofisk metod. Att värdera argumentation I

de var svåra att implementera och var väldigt ineffektiva.

Robin Stenwall Lunds universitet

Innehåll. Föreläsning Ett exempel. Svarsextraktion. Träden i läsematerialet

Logik och modaliteter

Föreläsning 9: NP-fullständighet

DD1350 Logik för dataloger. Fö 2 Satslogik och Naturlig deduktion

Robin Stenwall Lunds universitet

Kompletteringsmaterial. K2 Något om modeller, kompakthetssatsen

Varför är logik viktig för datavetare?

Probabilistisk logik 1

Grundläggande logik och modellteori

Logik. Boolesk algebra. Logik. Operationer. Boolesk algebra

Induktion, mängder och bevis för Introduktionskursen på I

K2 Något om modeller, kompakthetssatsen

Fuzzy Logic. När oskarpa definitioner blir kristallklara. Åsa Svensson. Linköpings Universitet. Linköping

u(x) + xv(x) = 0 2u(x) + 3xv(x) = sin(x) xxx egentliga uppgifter xxx 1. Sök alla lösningar till den homogena differentialekvationen

Formella metoder. Loop-program som statetransformers. Betrakta följande problem. specifikationen.

Lösningar och kommentarer till uppgifter i 1.1

Robin Stenwall Lunds universitet

D. x 2 + y 2 ; E. Stockholm ligger i Sverige; F. Månen är en gul ost; G. 3 2 = 6; H. x 2 + y 2 = r 2.

Kunskapsbaserad agent. Kunskapsrepresentation. Wumpus-världen. Wumpusvärlden. Bris. Bris. Bris. Bris. Bris. Bris. Stank. Stank.

MATEMATIKENS SPRÅK. Avsnitt 1

Föreläsning 7+8: NP-problem. Begreppet effektiv algoritm är alltså synonymt med går i polynomisk tid i den här kursen. Är detta en rimlig uppdelning?

MATEMATIKENS SPRÅK. Syftet med denna övning är att med hjälp av logik lära oss att uttrycka matematik mer exakt, lära oss

7, Diskreta strukturer

Filosofisk logik Kapitel 15. Robin Stenwall Lunds universitet

Föreläsning 3: Ekvationer och olikheter

Transkript:

*USS YQLQJ±/RJLNPHGWLOOlPSQLQJDUYW 8SSJLIW Här kommer några teoretiska frågor, skriv svaren med egna ord, dvs skriv inte av ohbilderna: a. Vad är en beslutsprocedur? En algoritm som terminerar och som svarar ja eller nej på frågan om en formel A till hör en klass av formler. b. Är följande en beslutsprocedur för validitet i predikatlogiken 1. Linjär resolution. 2. Input resolution. 3. SLD-resolution. 4. Set-of-support resolution. 5. Svarsextraktion. 6. Sanningstabeller 7. mgu-unifierings-algoritmen. 1-5 bygger på resolution som inte är en beslutsprocedur i predikatlogik. Sanningstabeller kan man inte göra i predikatlogik och mgu-algoritmen avgör inte om formler är valida eller ej. c. Är de 7 procedurerna i uppgift 1b fullständiga, sunda? Inputresolution är inte fullständig. 5 beror på vilken resolution som används. 6 är sunt och fullständigt för satslogik. Ej tillämpbart på 7 d. Ge några nackdelar med resolution (minst 4). Kan ta lång tid att exekvera En klausul kan skapas fler änen gång Logisk svagare klausuler kan skapas Återvändsgränder, dvs klausuler som inte leder någonstans kan skapas. 8SSJLIW Antag att vi låter klausulen p q r kollidera med klausulen p z. Visa för exemplet att om de ursprungliga klausulerna var satisfierbara så blir resultatet av kollisionen satisfierbart. (generella resolutionsregeln för satslogik). C1 = p q r och C2 = p z samt resolventen C = q r z Vi vet att v(c1) = v(c2) = T för en tolkning v och vill visa att v(c) = T. 2 fall: v(p) = T I så fall är v( p) = F och detta innebär att v(q r) = T för att v(c1) = T eftersom q r är en del av C så är även v(c) = T. v(p) = F Detta innebär att v(z) = T för att v(c2) = T eftersom z är en del av C så är även v(c) = T.

8SSJLIW Undersök om följande stämmer genom att använda en semantisk tablå: a. = (p p) (q q) Kolla först validitet genom att negera formeln Tablån stängd. Formeln valid. b. = ( xp(x) xq(x)) x(p(x) q(x)) Negera formel för att kolla validitet [( xp(x) xq(x)) x(p(x) q(x))] ( xp(x) xq(x)), x(p(x) q(x)) xp(x), xq(x), x(p(x) q(x)) xp(x), xq(x), (p(a) q(a)) [(p p) (q q)] (p p), (q q) p, p, (q q) [( xp(x) xq(x)) x(p(x) q(x))] [ x(p(x) q(x)) ( xp(x) xq(x))] x(p(x) q(x)), xp(x) xp(x), xq(x), p(a) xp(x), xq(x), q(a) xp(x), p(a) xq(x), p(a) Formel valid. x(p(x) q(x)), ( xp(x) xq(x)) x(p(x) q(x)), p(b) x(p(x) q(x)), xq(x) x(p(x) q(x)), q(c) x(p(x) q(x)), p(b) q(b), p(b) x(p(x) q(x)), p(c) q(c), q(c) xp(x), xq(x), q(a), q(a) x(p(x) q(x)), p(b), q(b), p(b) x(p(x) q(x)), p(c), q(c), q(c)

c. = x(p(x) q(x)) x(p(x) xq(x)) Negera formeln och kolla validitet A = x(p(x) q(x)), B = x(p(x) xq(x)) [ x(p(x) q(x)) x(p(x) xq(x))] [ x(p(x) q(x)) x(p(x) xq(x))] [ x(p(x) xq(x)) x(p(x) q(x))] x(p(x) q(x)), x(p(x) xq(x)) x(p(x) xq(x)), x(p(x) q(x)) A, B, (p(a) xq(x)) p(b) xq(x), x(p(x) q(x)) A, B, p(a), xq(x) p(b) xq(x), (p(c) q(c)) A, B, p(a), xq(x), q(a) p(b) xq(x), p(c), q(c) A, p(a) q(a), B, p(a), xq(x), q(a) p(b), p(c), q(c) xq(x), p(c), q(c) O A, p(a), B, p(a), xq(x), q(a) A, q(a), B, p(a), xq(x), q(a) q(d), p(c), q(c) O Formeln inte valid eftersom det finns öppna löv. Kolla om motsägelse A = x(p(x) xq(x)) x(p(x) q(x)) B = x(p(x) q(x)) C = x(p(x) xq(x)) x(p(x) q(x)) x(p(x) xq(x)) x(p(x) q(x)) x(p(x) xq(x)), x(p(x) xq(x)) x(p(x) q(x)) x(p(x) q(x)), A x(p(x) xq(x)), A (p(a) q(a)), A p(b) xq(x), A p(a), q(a), x(p(x) xq(x)) x(p(x) q(x)) p(b), A xq(x), A p(a), q(a), x(p(x) xq(x)) p(a), q(a), x(p(x) q(x)) p(a), q(a), C, (p(a) xq(x)) p(a), q(a), B, p(a) q(a) p(a), q(a), C, xq(x)) p(a), q(a), B, p(a) p(a), q(a), B, q(a) p(a), q(a), C, xq(x)), q(a)

p(b), x(p(x) xq(x)) x(p(x) q(x)) p(b), x(p(x) xq(x)) p(b), x(p(x) q(x)) p(b), C, (p(b) xq(x)) p(b), B, p(b) q(b) p(b), C, p(b), xq(x) p(b), B p(b), B, q(b) oändlig oändlig xq(x), x(p(x) xq(x)) x(p(x) q(x)) q(c), x(p(x) xq(x)) x(p(x) q(x)) q(c), x(p(x) xq(x)) q(c), x(p(x) q(x)) q(c), C, (p(c) xq(x)) q(c), B, p(c) q(c) q(c), C, p(c), xq(x) q(c), B, p(c) q(c), B q(c), C, p(c), xq(x), q(c) oändlig oändlig Vi får oändliga grenar. Vi hittar ingen gren som är öppen och kan därför inte avgöra om formeln är satisfierbar eller ej. d. Eftersom det finns en variabel x som ej binds, är ej formeln en wff och har därmed ej något sanningsvärde överhuvudtaget. e. Ge motexempel på de fall i a-d som inte är valida. Den enda vi vet säkert inte är valid är c) x(p(x) q(x)) x(p(x) xq(x)) Domän = alla människor p(x) x har en fru, q(x) x är en kvinna. Tittar vi på x(p(x) q(x)) x(p(x) xq(x)) får vi: x(p(x) q(x)) För alla människor gäller att om x har en fru så är x en kvinna. Detta är falskt men hela implikationen blir sann. Då måste även x(p(x) xq(x)) x(p(x) q(x)) vara sann för att formeln ska gälla. x(p(x) xq(x)) Det finns minst en person som om denne har en fru så är denne en kvinna. Alltså sant. Men x(p(x) q(x)) är falskt då har vi T F en falsk implikation och då gäller inte formeln.

f. Vad skulle det göra för skillnad om man bytte = mot? Semantiska tablåer tittar på tolkningar och är därmed en semantisk metod. - betyder att man ska kunna bevisa något syntaktiskt utan att tänka på tolkningar. Då kan inte semantiska tablåer användas. Men man kan invända att semanstiska tablåer kan ses som en syntaktisk metod eftersom vi aldrig direkt ser på formler utan omvandlar enligt formelmönster. Vi vet också att semantiska tablåer är sunda och fullständiga dvs - A = A och = A - A så därför skulle man kunna använda tablåerna och sedan hänvisa till detta och dra slutsatser ändå. 8SSJLIW Gäller följande uttryck? a. x y p(x, y) x q(x, x,) x y(p(x,y) q(x,y)) = x y (x = y) A1 x y p(x, y) p(a, y) p(a, b) A2 x q(x, x,) A3 q(x1, x1) x y(p(x,y) q(x,y)) x y( p(x,y) q(x,y)) p(x2,y2) q(x2,y2) A x y (x = y) x y(x = y) (x3 = y3) OK! 1. p(a, b) 2. q(x1, x1) 3. p(x2,y2) q(x2,y2) 4. (x3 = y3) 5. p(x1, x1) {x2/x1, y2/x1} 2 och 3 6. p(y3, x1) {x3/x1} PM 4 och 5 (byter medvetet bara den ena!) 7. [] {y3/a, x1/b} 1 och 6

b. x y(p(x,y) p(y, x)) = x y(p(x,y) (x=y)) A1 x y(p(x,y) p(y, x)) x y( p(x,y) p(y, x)) p(x1,y1) p(y1, x1) A x y(p(x,y) (x=y)) x y ( p(x,y) (x=y)) x y(p(x,y) (x=y)) y(p(a, y) (a=y)) p(a, b) (a = b) 1. p(x1,y1) p(y1, x1) 2. p(a, b) 3. (a = b) 4. p(b, a) {x1/a, y1/b} 1 och 2 5. p(a, a) PM 3 och 4 6. p(a, b) PM 3 och 5 7. [] 2 och 7 c. x yp(y,x) x y z((p(x,y) p(x,z) y = z) = x yp(x,y) A1 x yp(y,x) x p(f(x), x) A2 x y z((p(x,y) p(x,z) y = z) x y z(( p(x,y) p(x,z) y = z) A x yp(x,y) x y p(a, y) y p(a, b) 1. p(f(x1), x1) 2. p(x2, y2) p(x2,z2) y2 = z2 3. p(a, b) 4. p(f(x1),z2) x1 = z2 {x2/f(x1), y2/x1} 1 och 2 5. Ny 1: p(f(x3), x3) 6. x3 = x3 {x1/x3, z2/x3} 5 och 4 Man kan fortsätta ett tag till men inte hitta tomma klausulen

8SSJLIW a. Uttryck följande i predikatlogik: En man i staden rakar alla och enbart de som inte rakar sig själva. Antag att domänen är alla män i staden. (Då slipper man ett predikat man(x) ) rakar(x, y) = x rakar y Låt mannen vara en konstant a x([rakar(a, x) \/ rakar(x, x)] /\ [rakar(x, x) rakar(a, x)]) (1) b. Använd valfri metod för att undersöka vem som rakar mannen. (OBS: Alla blir alltså rakade i den här staden.) Vi gör om (1) till PCNF: Vi får då: x([rakar(a, x) \/ rakar(x, x)] /\ [ rakar(x, x) \/ rakar(a, x)]) Vi vet också att antingen rakar han sig själv eller också gör någon annan det. rakar(a,a) \/ x rakar(x,a) Efter skolemisering får vi: rakar(a,a) \/ rakar(b,a) Finns det någon som rakar barberaren? d.v.s. x rakar(x, a) (2) negering av slutsats ger: x rakar(x,a) Vi undersöker om (1) -> (2) är satisfierbart eller motsägelse genom resolution. 1. rakar(a, x1) \/ rakar(x1, x1) 2. rakar(x2, x2) \/ rakar(a, x2) 3. rakar(x3,a) 4. rakar(a,a) \/ rakar(b,a) 5. rakar(a,a) \/ -rakar(a,a) 1,2{x2/a, x1/a} 6. -rakar(a,a) 5,3{x3/a} 7. rakar(b,a) 7,3{x3/b} 8. [] tomma klausulen!! Ovanstående innebär att det inte finns någon som rakar barberaren, men eftersom alla skulle rakas i staden är detta en paradox!! c.en gåta lyder som följer: En man ser på en tavla föreställande en person. Han utbrister, hans far är min fars enda son. Använd svarsextraktion för att utröna vem som var far till personen på tavlan.

Vad har vi för fakta? För enkelhetens skull har vi en domän där alla fäder har bara en son Om x är far till y så är y son till x. x y([far(x, y) son(y, x)] [son(y, x) far(x, y)]) Personen på tavlan kallar vi för TP (TavlanPerson), personer framför tavlan för FTP (FramförTavlanPerson). FTP säger hans far är min fars enda son dvs, FTP säger TPs far är FTPs fars enda son eller i logik: far(x, TP) far(y, FTP) son(x, y) Vem är far till personen på tavlan? x far(x, TP) Klausuler 1. far(x1, y1) son(y1, x1) 2. son(y2, x2) far(x2, y2) 3. far(x3, TP) 4. far(y4, FTP) 5. son(x5, y) 6. far(x6, TP) (Finns en uppenbar lösning, undviker den ) 7. son(tp, x2) 2 och 6 {x6/x2, y2/tp} 8. [] 5 och 7 {x5/tp, x2/ftp} Svarsextraktion: 9. far(x1, y1) son(y1, x1) 10. son(y2, x2) far(x2, y2) 11. far(x3, TP) 12. far(y4, FTP) 13. son(x5, y) 14. far(x6, TP) ans(x6) 15. son(tp, x2) ans(x2) 2 och 6 {x6/x2, y2/tp} 16. ans(ftp) 5 och 7 {x5/tp, x2/ftp} Aha det är personen framför tavlan som är far till personen på tavlan!!

8SSJLIW Tony, Shi-Kuo och Ellen är medlemmar i Hoofers Club. Varje medlem av Hoofers Club är antingen en skidåkare eller en bergsbestigare eller bägge. Inga bergsbestigare gillar regn och alla skidåkare gillar snö. Ellen ogillar det som Tony gillar och hon gillar det som Tony ogillar. Tony gillar regn och snö. Finns det en medlem av Hoofers Club som är en bergsbestigare men inte en skidåkare? Predikat: medlem(x) x är med i Hoofers Club, skidåkare(x) x är skidåkare, bestigare(x) x är bergsbestigare, gillar(x, y) x gillar y Fakta: Tony, Shi-Kuo och Ellen är medlemmar i Hoofers Club. medlem(tony) medlem(shi-kuo) medlem(ellen) Varje medlem av Hoofers Club är antingen en skidåkare eller en bergsbestigare eller bägge. x(medlem (x) skidåkare(x) bestigare(x)) Inga bergsbestigare gillar regn och alla skidåkare gillar snö. x(bestigare(x) gillar(x, regn)) x(skidåkare(x) gillar(x, snö)) Ellen ogillar det som Tony gillar och hon gillar det som Tony ogillar. x(gillar(tony, x) gillar(ellen, x)) x( gillar(tony, x) gillar(ellen, x)) Tony gillar regn och snö. gillar(tony, regn) gillar(tony, snö) Frågan: Finns det en medlem av Hoofers Club som är en bergsbestigare men inte en skidåkare? x(medlem(x) bestigare(x) skidåkare(x)) Gör om till klausulform medlem(tony) medlem(shi-kuo) medlem(ellen) { medlem(tony), medlem(shi-kuo), medlem(ellen) } x(medlem (x) skidåkare(x) bestigare(x)) x( medlem (x) skidåkare(x) bestigare(x)) { medlem (x1) skidåkare(x1) bestigare(x1)} x(bestigare(x) gillar(x, regn)) { bestigare(x2) gillar(x2, regn)}

x(skidåkare(x) gillar(x, snö)) { skidåkare(x3) gillar(x3, snö)} x(gillar(tony, x) gillar(ellen, x)) { gillar(tony, x4) gillar(ellen, x4)} x( gillar(tony, x) gillar(ellen, x)) {gillar(tony, x5) gillar(ellen, x5)} gillar(tony, regn) gillar(tony, snö) {gillar(tony, regn), gillar(tony, snö)} Frågan negeras! x(medlem(x) bestigare(x) skidåkare(x)) x( medlem(x) bestigare(x) skidåkare(x)) { medlem(x6) bestigare(x6) skidåkare(x6)} Resolvera! 1. medlem(tony) 2. medlem(shi-kuo) 3. medlem(ellen) 4. medlem(x1) skidåkare(x1) bestigare(x1) 5. bestigare(x2) gillar(x2, regn) 6. skidåkare(x3) gillar(x3, snö) 7. gillar(tony, x4) gillar(ellen, x4) 8. gillar(tony, x5) gillar(ellen, x5) 9. gillar(tony, regn) 10. gillar(tony, snö) 11. medlem(x6) bestigare(x6) skidåkare(x6) 12. medlem(x6) skidåkare(x6) {x1/x6} 4 och 11 13. medlem(x6) gillar(x6, snö) {x3/x6}6 och 12 14. medlem(ellen) gillar(tony, snö) {x6/ellen, x4/snö} 7 och 13 15. gillar(tony, snö) 3 och 14 16. [] 10 och 15 Jo det finns en sådan medlem! Svarsextraktion ger vilken: 1. medlem(x6) bestigare(x6) skidåkare(x6) ans(x6) 2. medlem(x6) skidåkare(x6) ans(x6) {x1/x6} 4 och 11 3. medlem(x6) gillar(x6, snö) ans(x6) {x3/x6}6 och 12 4. medlem(ellen) gillar(tony, snö) ans(ellen) {x6/ellen, x4/snö} 7 och 13 5. gillar(tony, snö) ans(ellen) 3 och 14 6. ans(ellen) 10 och 15 Ellen är det!