7.1. Abstrakcyjny syntaks. Abstrakcyjny syntaks rachunku z typami prostymi jest dany jak nastípuje:
|
|
- Oskar Olszewski
- 8 lat temu
- Przeglądów:
Transkrypt
1 7. Wyk ad 7: Rachunek z typami prostymi. Przedmiotem niniejszego wyk adu bídzie rachunek z typami prostymi, który jest rozszerzeniem rachunku z typami. Jako øe omówiony dotychczas rachunek nie uøywa typów, bídziemy go odtπd nazywali beztypowym rachunkiem. W odróønieniu od beztypowego rachunku, w którym podstawowe typy (takie jak zmienne boole owskie czy liczby ca kowite) sπ symulowane za pomocπ -abstrakcji, rachunek z typami prostymi zak ada ustalony zbiór typów z prostymi konstrukcjami. Na przyk ad, moøemy umówiê sií, øe do rachunku w πczymy typ bool wraz ze sta ymi boole owskimi true oraz false i dodatkowπ konstrukcjπ if e then e 1 else e 2. Tym samym moøemy myúleê o rachunku z typami prostymi nie tylko jak o go ym rachunku s uøπcym do badania si y wyrazu, ale jak o podzbiorze pewnego jízyka funkcyjnego. Przy tym za oøeniu dowolne wyraøenie w rachunku z typami prostymi moøe byê dos ownie przet umaczone na jízyk funkcyjny taki jak SML. Tak jak to mia o miejsce w przypadku beztypowego rachunku, zaczniemy od sformu owania abstrakcyjnego syntaksu i semantyki operacyjnej dla rachunku z typami prostymi. Róønica w semantyce operacyjnej jest czysto nominalna, albowiem typy nie odgrywajπ roli w redukowaniu wyraøeò. G ówna róønica powstaje przez wprowadzenie systemu typów, a zatem zbioru osπdów i regu wnioskowania s uøπcych przypisywaniu typów wyraøeniom. Typ przypisany danemu wyraøeniu okreúla rodzaj wartoúci do której wyraøenie jest wartoúciowane. Na przyk ad wyraøenie typu bool moøe byê wartoúciowane wy πcznie do true lub false, ale do niczego innego. Uczπc sií rachunku z typami prostymi g ówny nacisk po oøymy na bezpieczeòstwo typów, czyli g ównπ w asnoúê systemu typów polegajπcπ na tym, øe wyraøenie z prawid owym typem, zwane teø wyraøeniem dobrze typowanym, nie moøe spowodowaê b Ídu podczas kompilacji. Jako øe wyraøeniom przypisywane sπ typy podczas kompilowania, zaú bezpieczeòstwo typów gwarantuje brak wystπpienia b Ídów, nie musimy stosowaê metody prób i b Ídów celem zlokalizowania w programie krytycznych b Ídów takich jak dodawanie adresów pamiíci, odejmowanie liczb od ciπgów itp. Poniewaø to w aúnie tego typu proste b Ídy sπ najczístszym powodem zastojów i opóünieò podczas programowania, widzimy øe bezpieczeòstwo typów ma sporπ przewagí nad jízykami programowania bez systemu typów lub teø z systemami typów bez bezpieczeòstwa. To w aúnie bezpieczeòstwo typów jest odpowiedzialne za to, øe programy napisane w jízykach funkcyjnych, które uda sií skompilowaê, na ogó poprawnie dzia ajπ Abstrakcyjny syntaks. Abstrakcyjny syntaks rachunku z typami prostymi jest dany jak nastípuje: typ A ::= P A! A typ podstawowy P ::= bool wyraenie e ::= x x : A.e e e true false if e then e else e warto v ::= x : A.e true false Typ jest albo typem podstawowym P albo typem funkcyjnym A! A 0. Typ podstawowy to typ, dla którego konstrukcje podstawowa sπ dane jako czíúê definicji. Tutaj uøywamy typu boole owskiego bool jako typu podstawowego z którym wiπøemy trzy konstrukcje podstawowe: sta e boole owskie true i false oraz konstrukcja warunkowa if e then e 1 else e 2. Typ funkcyjny A! A 0 opisuje funkcje, które przyjmujπ argument typu A i zwracajπ wartoúê typu A 0. BÍdziemy uøywaê metazmiennych A, B, C dla oznaczania typów. Rachunek z typami prostymi nie blokuje moøliwoúci wykorzystania podstawowych typów. Innymi s owy pe ni rolí szkieletu dla jízyków funkcyjnych, których system typów moøna rozszerzaê dodatkowymi 57
2 58 typami podstawowymi. Na przyk ad powyøsza definicja wykorzystuje bool jako jedyny typ podstawowy, ale powinno takøe byê jasne jak moøna jπ rozszerzyê o inne typy podstawowy (na przyk ad typ int ze sta ymi bídπcymi liczbami ca kowitymi oraz z operacjami arytmetycznymi). Z drugiej strony rachunek z typami prostymi musi mieê przynajmniej jeden typ podstawowy. W przeciwnym razie zbiór typów bazowych P by by pusty, co z kolei powodowa oby, øe zbiór typów A by by pusty wówczas nigdy nie bylibyúmy w stanie skonstruowaê wyraøenia z poprawnym typem. Tak jak w przypadku beztypowego rachunku, wyraøenia zawierajπ zmienne, -abstrakcje i aplikacje. -abstrakcja x : A.e bezpoúrednio specyfikuje teraz typ A swego formalnego argumentu x. Jeøeli x : A.e zostaje zastosowane do wyraøenia o nowym typie A 0 (to znaczy A 0 6= A), aplikacja nie weryfikuje typu i tym samym nie bídzie mia a przypisanego typu, jak juø wkrótce zobaczymy. Powiemy, øe zmienna x jest zwiπzana z typem A w -abstrakcji x : A.e, albo øe -abstrakcja x : A.e wiπøe zmiennπ x do typu A Semantyka operacyjna. SemantykÍ operacyjnπ dla rachunku z typami prostymi moøemy rozwinπê podobnie jak rozwijaliúmy semantykí dla beztypowego rachunku : definiujemy odwzorowanie FV(e) do obliczania zbioru zmiennych wolnych w e, unikajπce przechwyceò podstawianie [e 0 /x]e oraz osπd redukcyjny e 7! e 0 za pomocπ odpowiednich regu redukcyjnych. Jako øe rachunek z typami prostymi nie róøni sií od beztypowego rachunku inaczej niø systemem typów, jego semantyka operacyjna jest w zasadzie taka sama jak dla rachunku beztypowego, o ile tylko zignorujemy typy w wyraøeniach. Odwzorowanie FV(e) jest zdefiniowane nastípujπco: FV(x) = {x} FV( x : A.e) = FV(e) \{x} FV(e 1 e 2 ) = FV(e 1 ) [ FV(e 2 ) FV(true) = ; FV(false) = ; FV(if e then e 1 else e 2 ) = FV(e) [ FV(e 1 ) [ FV(e 2 ) Tak jak w przypadku beztypowego rachunku powiemy, øe dane wyraøenie jest domkniíte o ile nie zawiera zmiennych wolnych. Podstawianie unikajπce przechwytywania zmiennych [e 0 /x]e jest zdefiniowane nastípujπco: [e 0 /x]x = e 0 [e 0 /x]y = y jeúli x 6= y [e 0 /x] x : A.e = x : A.e [e 0 /x] y : A.e = y : A.[e 0 /x]e jeúli x 6= y, y /2 FV(e 0 ) [e 0 /x](e 1 e 2 ) = [e 0 /x]e 1 [e 0 /x]e 2 [e 0 /x]true = true [e 0 /x]false = false [e 0 /x]if e then e 1 else e 2 = if [e 0 /x]e then [e 0 /x]e 1 else [e 0 /x]e 2 Jeøeli w [e 0 /x] y : A.e nastπpi przechwycenie zmiennej, zmieniamy nazwí zmiennej zwiπzanej y za pomocπ relacji -równowaønoúci. Pomijamy tu definicjí, jako øe nie róøni sií niczym od definicji juø podanej. Tak jak w przypadku beztypowego rachunku, róøne strategie redukcyjne wymagajπ zastosowania róønych regu redukcyjnych dla osπdu redukcyjnego e 7! e 0. Zdecydowaliúmy sií wybraê tu strategií wywo ania wed ug wartoúci, która wygodnie i przejrzyúcie rozszerza sií na rachunek z typami prostymi
3 poprzez efekty obliczeniowe takie jak mutowalne referncje, wyjπtki i kontynuacje (o których powiemy za jakiú czas). Tym samym bídziemy uøywaê nastípujπcych regu redukcyjnych: e 1 7!e 0 1 e 1 e 2 7!e 0 1 e 2 Lam e 2 7!e 0 2 ( x:a.e)e 2 7!( x:a.e)e 0 2 Arg ( x:a.e)v7![v/x]e App e7!e 0 if e then e 1 else e 2 7!if e 0 then e 1 else e 2 If 59 if true then e 1 else e 2 7!e 1 If true if false then e 1 else e 2 7!e 2 If false Regu y Lam, Arg oraz App sπ dok adnie takie same jak w przypadku beztypowego rachunku ztπ róønicπ, øe stosujemy je do -abstrakcji postaci x : A.e. Regu y If, If true oraz If false specyfikujπ w jaki sposób moøna redukowaê konstrukcjí warunkowπ if e then e 1 else e 2 : redukujemy e do true albo false, jeøeli e redukuje sií do true, wybieramy w drzewku decyzyjnym ga πü then i dalej redukujemy e 1, jeøeli e redukuje sií do false, wybieramy w drzewku decyzyjnym ga πü else i dalej redukujemy e 2. Tak jak wczeúniej, bídziemy pisaê 7! dla oznaczenia domkniícia przechodnio-zwrotnego relacji 7!. Powiemy, øe e wartoúciuje sií do v jeøeli zachodzi e 7! v System typów. Celem tego fragmentu wyk adu jest zbudowanie systemu regu wnioskowania s uøπcych przypisywaniu typów do wyraøeò w rachunku z typami prostymi. BÍdziemy uøywaê osπdu zwanego osπdem typujπcym, natomiast o regu ach wnioskowania s uøπcych do wydedukowania osπdu typujπcego bídziemy mówili jak o regu ach typowania. System, jaki w ten sposób stworzymy, bídziemy nazywali systemem typów dla rachunku z typami prostymi. Aby zrozumieê, jakiej postaci powinien byê osπd typujπcy, rozwaømy prosty przyk ad funkcji identycznoúciowej id = x : A.x. Intuicyjnie funkcja id powinna mieê typ funkcyjny A! A poniewaø bierze na wejúciu argument o typie A i zwraca to samo. W jaki sposób moøemy zatem okreúliê typ id? Jako øe id jest -abstrakcjπ o argumencie typu A, musimy okreúliê typ jej zawartoúci. Widzimy wszakøe, øe nie moøna zrobiê tego w oderwaniu od typu argumentu: bez za oøeò o typie argumentu x nie sposób okreúliê typu zawartoúci. Powyøszy przyk ad pokazuje, øe nie da sií uniknπê uøycia za oøeò o typach zmiennych w osπdach typujπcych. Tym samym bídziemy zmuszeni wprowadziê pojície kontekstu typujπcego do oznaczenia zbioru za oøeò o typach zmiennch; bídziemy uøywali spójnika typujπcego x : A do oznaczenia tego, øe zak adamy iø zmienna x jest typu A: kontekst typujπcy ::=,x: A oznacza pusty kontekst typujπcy i bídzie naszπ notacjπ na oznaczenie zbioru pustego ;;,x : A rozszerza o spójnik typujπcy x : A i bídzie naszπ notacjπ na oznaczenie [{x : A}; bídziemy stosowali skrót x : A do oznaczenia,x: A dla jednoelementowego kontekstu typujπcego {x : A}; bídziemy uøywaê notacji dla kontekstów typujπcych doúê elastycznie piszπc, na przyk ad,,x : A, 0 dla oznaczenia [{x : A}[ 0. Dla prostoty bídziemy zawsze zak adaê, øe zmienne w danym kontekúcie typujπcym sπ parami roz πczne. Tym samym kontekst,x: A nie jest zdefiniowany, jeúli zawiera inny spójnik typujπcy postaci x : A 0. System typów bídzie wykorzystywa nastípujπcπ postaê osπdów typujπcych: ` e : A, wyraøenie e jest typu A przy kontekúcie typujπcym
4 60 ` e : A oznacza, øe jeúli zastosujemy kaødy ze spójników typujπcych x : A w jako za oøenie. to bídziemy w stanie pokazaê, øe wyraøenie e jest typu A. Prostym sposobem zrozumienia roli jest traktowanie jej jako zbioru spójników typujπcych dla zmiennych wolnych w e, jakkolwiek moøe zawieraê teø spójniki typujπce dla zmiennych, które nie wystípujπ w e. Na przyk ad, wyraøenie domkniíte e typu A wymaga osπdu typujπcego `e: A z pustym kontekstem typujπcym (poniewaø nie zawiera zmiennych wolnych), podczas gdy wyraøenie e 0 ze zmiennπ wolnπ x wymaga osπdu typujπcego ` e 0 : A 0, gdzie zawiera przynajmniej jeden spójnik typujπcy x : B, dla pewnego typu B. Po tych wstípnych wyjaúnieniach, moøemy teraz przedstawiê regu y typujπce dla rachunku z typami prostymi: x:a2 `x:a Var,x:A`e:B `e:a!b `e 0 :A ` x:a.e:a!b `ee 0 :B! E `true:bool True `false:bool False `e:bool `e 1 :A `e 2 :A `if e then e 1 else e 2 :A If Regu a Var powiada, øe spójnik typujπcy w kontekúcie typujπcym jest za oøeniem. Inaczej moøemy zapisaê tí samπ regu Í nastípujπco:,x: A, 0 ` x : A Var Regu a powiada, øe jeúli e jest typu B pod za oøeniem, øe x jest typu A, towówczas x : A.e jest typu A! B. Jeúli odczytamy regu Í od przes anki poczπwszy, a na wniosku skoòczywszy (czyli od góry do do u ), to wprowadzimy typ funkcyjny A! B z osπdu w przes ance, co jest powodem dla którego regu Í nazywamy ndukcjπ. Zauwaømy, øe jeúli zawiera juø spójnik typujπcy dla zmiennej x (czyli x : A 0 2 ), to zmieniamy nazwí x na nowπ za pomocπ - konwersji. Tym samym moøemy bez straty ogólnoúci za oøyê, øe w regule nigdy nie dochodzi do konfliktów oznaczeò. Regu a! E powiada, øe jeúli e jest typu A! B oraz e 0 jest typu A, towówczasee 0 jest typu B. Jeúli odczytamy tí regu Í od góry do do u, to wyeliminujemy typ funkcyjny A! B celem stworzenia wyraøenia o mniejszym typie B, co jest powodem dla którego regu Í tí nazywamy! Eliminacjπ. Regu y True oraz False przypisujπ podstawowy typ bool sta ym boole owskim true i false. Zauwaømy, øe kontekst typujπcy nie jest tu uøywany, poniewaø w true i false nie wystípujπ zmienne wolne. Regu a If powiada, øe jeúli e jest typu bool oraz zarówno e 1 jak i e 2 sπ tego samego typu A, to wówczas if e then e 1 else e 2 jest typu A. Drzewko dowodowe dla osπdu typujπcego bídziemy nazywaê dowodem typujπcym. Oto kilka przyk adów poprawnych dowodów typujπcych. Pierwszy przyk ad pozwala wywnioskowaê typ funkcji identycznoúciowej (gdzie nie uøywamy przes anki w regule Var): Var,x: A ` x : A ` x : A.x : A! A Jako øe x : A.x jest domkniíta, moøemy uøyê pustego kontekstu typujπcego dla : Var x : A ` x : A ` x : A.x : A! A W drugim z przyk adów skrócimy zapis,x: bool,y 1 : A, y 2 : A do 0.Zauwaømytakøe,øebool! A! A! A jest równowaøne z bool! (A! (A! A)), poniewaø! jest prawostronnie πczne:
5 61 y 1 : A 2 0 Var 0 ` y 1 : A y 2 : A 2 0 Var 0 ` y 2 : A If x : bool Var ` x : bool,x: bool,y 1 : A, y 2 : A ` if x then y 1 else y 2 : A,x: bool,y 1 : A ` y 2 : A.if x then y 1 else y 2 : A! A,x: bool ` y 1 : A. y 2 : A.if x then y 1 else y 2 : A! A! A ` x : bool. y 1 : A. y 2 : A.if x then y 1 else y 2 : A! A! A! A Trzeci przyk ad pozwala wywnioskowaê typ funkcji sk adajπcej dwie funkcje f i g, przy czym skrócimy zapis,f : A! B,g : B! C, x : A do 0 : f : A! B 2 0 Var 0 ` f : A! B g : B! C Var ` g : B! C 0 ` fx: B! E,f : A! B,g : B! C, x : A ` g(f x):c x : A 2 0 Var 0 ` x : A! E,f : A! B,g : B! C ` x : A.g(f x):a! C,f : A! B ` g : B! C. x : A.g(f x):(b! C)! (A! C) ` f : A! B. g : B! C. x : A.g(f x):(a! B)! (B! C)! (A! C) ZakoÒczymy ten fragment naszych rozwaøaò dowodami dwóch w asnoúci osπdów typujπcych: permutacji oraz os abiania. W asnoúê permutacji powiada, øe kontekst typujπcy jest zbiorem, nie zaú ciπgiem, a wiíc kolejnoúê nie ma w nim znaczenia i dwa konteksty typujπce sπ takie same z dok adnoúciπ do permutacji. Na przyk ad,x : A, y : B moøna identyfikowaê z,y : B,x : A. Z kolei w asnoúê os abiania orzeka, iø jeúli potrafimy udowodniê, øe wyraøenie e jest typu A przy za oøeniu kontekstu, to moøemy to samo udowodniê przy za oøeniu kontekstu 0 upraszczajπcego o spójnik typujπcy x : A (albowiem moøemy po prostu zignorowaê nowy spójnik typujπcy). W asnoúci te bídziemy teø nazywaê w asnoúciami strukturalnymi osπdów typujπcych, jako øe opisujπ one przede wszystkim strukturí osπdów typujπcych, nie zaú ich dowody typujπce. Stwierdzenie 1 (w asnoúê permutacji). Jeúli ` e : A oraz 0 jest permutacjπ, to wówczas 0 ` e : A. Dowód. Wystarczy zastosowaê indukcjí regu wzglídem osπdu ` e : A. Stwierdzenie 2 (w asnoúê os abiania). Jeúli ` e : C, to wówczas,x: A ` e : A. Dowód. Wystarczy zastosowaê indukcjí regu wzglídem osπdu ` e : C. Zajmiemy sií tu trzema przypadkami, pozosta e dowodzi sií w podobny sposób. Przypadek y:c2 Var gdzie e = y: `y:c y : C 2,x: A wobec y : C 2,x: A ` y : C wobec regu y Var.,y:C 1`e 0 :C 2 Przypadek ` y:c 1.e 0 :C 1!C 2 gdzie e = y : C 1.e 0 oraz C = C 1! C 2 : W tym przypadku ` e : C dowodzimy z zastosowaniem regu y. Innymi s owy, ostatnia regu a wnioskowania uøyta w dowodzie ` e : C to regu a. Wówczase musi byê postaci y : C 1.e 0 dla pewnego typu C = C 1! C 2, w przeciwnym bowiem razie regu a nie moøe byê zastosowana. W tym przypadku przes anka jest wyznaczona jednoznacznie jako,y : C 1 ` e 0 : C 2.,y : C 1,x: A ` e 0 : C 2 indukcyjnego
6 62,x: A, y : C 1 ` e 0 : C 2 wobec w asnoúci permutacji,x: A ` y : C 1.e 0 : C 1! C 2 wobec regu y. Przypadek `e 1:B!C `e 2 :B `e 1 e 2! E gdzie e = e :C 1 e 2 : W tym przypadku ` e : C dowodzimy z zastosowaniem regu y! E. Wówczase musi byê postaci e 1 e 2 i dwie przes anki sπ jednoznacznie wyznaczone dla pewnego typu B, w przeciwnym bowiem razie regu a! E nie moøe byê zastosowana.,x: A ` e 1 : B! C indukcyjnego wzglídem ` e 1 : B! C,x: A ` e 2 : B indukcyjnego wzglídem ` e 2 : B ` e 1 e 2 : C wobec regu y! E BezpieczeÒstwo typów. Celem okreúlenia w asnoúci wyraøeò zbudowaliúmy dwa systemy dla rachunku z typami prostymi: semantykí operacyjnπ i system typów. Semantyka operacyjna pozwala nam na rozpoznawanie w asnoúci dynamicznych, a konkretnie wartoúci, zwiπzanych z wyraøeniami. Wartoúci moøna rozpatrywaê jako w asnoúci dynamiczne w takim sensie, øe w ogólnoúci mogπ byê okreúlone tylko w czasie wykonywania programu. Z tego powodu semantyka operacyjna czasami nazywana jest teø semantykπ dynamicznπ. Z drugiej strony, system typów pozwala nam na badanie w asnoúci statycznych wyraøeò, a wiíc ich typów. Typy sπ w asnoúciami statycznymi w takim sensie, øe sπ okreúlane w czasie kompilacji i pozostajπ statyczne podczas wykonywania programu. Z tego wzglídu system typów bywa teø nazywany semantykπ statycznπ. System typów skonstruowaliúmy niezaleønie od semantyki operacyjnej. Wobec tego istnieje realne zagroøenie, øe stworzona przez nas konstrukcja nie przestrzega zasad ustalonych przez semantykí operacyjnπ. Na przyk ad moøemy wyobraziê sobie sytuacjí, w której dwa róøne typy zostanπ przypisane dwóm wyraøeniom e oraz e 0 takim, øe e 7! e 0, co nie jest naturalne, albowiem nie spodziewamy sií, aby w procesie redukcji ulega y zmianie typy. Podobnie, mog oby sií zdarzyê, øe poprawny typ zostanie przypisany nonsensownemu wyraøeniu, co równieø wydaje sií nienaturalne, albowiem spodziewamy sií, øe kaøde wyraøenie o popranym typie bídzie poprawnym programem. BezpieczeÒstwo typów, najbardziej podstawowa w asnoúê systemu typów, πczy system typów z semantykπ operacyjnπ w taki sposób, øeby obydwa systemy funkcjonowa y harmonijnie. Nieformalnie moøemy powiedzieê, øe bezpieczeòstwo typów gwarantuje nam, øe dobrze typowane wyraøenia nie mogπ nie dzia aê. Na bezpieczeòstwo typów sk adajπ sií dwa twierdzenia: twierdzenie o postípie oraz twierdzenie o zachowaniu. Twierdzenie o postípie mówi, øe dobrze typowane wyraøenie domkniíte nie zacina sií : albo jest wartoúciπ, albo redukuje sií do innego wyraøenia: Twierdzenie 7 (o postípie). Jeúli `e : A dla pewnego typu A, to albo e jest wartoúciπ, albo istnieje e 0 takie, øe e 7! e 0. Twierdzenie o zachowaniu mówi z kolei, øe gdy dobrze typowane wyraøenie redukuje sií, to wyraøenie po redukcji jest równieø dobrze typowane i zachowuje typ: Twierdzenie 8. Jeúli ` e : A oraz e 7! e 0, to wówczas ` e 0 : A. Zauwaømy, øe twierdzenie o postípie zak ada pusty kontekst typujπcy (dlatego dotyczy domkniítych dobrze typowanych wyraøen e), podczas gdy twierdzenie o zachowaniu nie zak ada. Takie podejúcie ma sens jeúli rozwaøamy czy dany osπd redukcyjny e 7! e 0 jest czíúciπ wniosku, czy teø jest dany jako za oøenie. W przypadku twierdzenia o postípie interesuje nas czy e redukuje sií do innego wyraøenia, czy nie, o ile jest dobrze typowane. Tym samym uøywamy pustego kontekstu aby wykluczyê zmienne wolne w e, które mog yby uniemoøliwiê redukcjí. Gdybyúmy dopuúcili dowolny kontekst typujπcy, twierdzenie o
7 postípie by oby fa szywe, co ilustruje prosty przyk ad wyraøenia e = x, które nie jest wartoúciπ i nie jest redukowalne. W przypadku twierdzenia o zachowaniu zaczynamy od za oøenia e 7! e 0. Teraz nie mamy powodu aby nie pozwalaê zmiennym wolnym wystípowaê w e, poniewaø juø wiemy, øe zredukuje sií do e 0. Tym samym uøywamy metazmiennej (biorπcej wartoúci z klasy wszystkich kontekstów) zamiast pustego kontekstu. Omawiane dwa twierdzenia razem gwarantujπ, øe dobrze typowane domkniíte wyraøenie nigdy nie zredukuje sií do wyraøenia, które zatnie sií : albo bídzie wartoúciπ, albo zredukuje sií do innego dobrze typowanego wyraøenia. Rozwaømy dobrze typowane wyraøenie e takie, øe `e : A dla pewnego typu A. Jeúli e jest wartoúciπ, nie ma potrzeby go redukowaê. Jeúli nie, twierdzenie o postípie zapewnia, øe istnieje wyraøenie e 0 takie, øe e 7! e 0, które równieø jest dobrze typowane i o tym samym typie A wobec twierdzenia o zachowaniu. Podamy teraz dowody twierdzeò z wykorzystaniem indukcji regu. Okazuje sií, øe próba bezpoúredniego dowodu przez indukcjí regu nie moøe sií powieúê i tym samym konieczne bídzie skorzystanie z dwóch lematów. Lematy te zwane lematem o formach kanonicznych oraz lematem o podstawianiu sπ na tyle waøne w teorii jízyków programowania, øe warto zapamiítaê ich nazwy Dowód twierdzenia o postípie. Dowód twierdzenia o postípie jest stosunkowo bezpoúredni: twierdzenie jest postaci jeúli zachodzi J, zachodzi teø P (J) i wystarczy zastosowaê indukcjí regu wzglídem osπdu J, który jest osπdem typujπcym `e : A. Za óømy zatem, øe `e : A. Jeúli e jest wartoúciπ, trywialnie spe nione jest teø P (J), poniewaø osπd e jest wartoúciπ jest prawdziwy. Za óømy wobec tego, øe `e : A oraz øe e nie jest wartoúciπ. Naszym celem jest teraz przeanalizowanie struktury dowodu `e : A, co sprowadza sií do trzech przypadków: x : A 2 `e : A Var `e 1 : A! B `e 2 : A `e 1 e 2 : B! E `e b : bool `e 1 : A `e 2 : A `if e b then e 1 else e 2 : A If Przypadek Var nie jest moøliwy, poniewaø x : A nie moøe byê elementem pustego kontekstu typujπcego. Innymi s owy, przes anka x : A 2 nigdy nie jest spe niona. Pozostajπ do przeanalizowania przypadki! E oraz If. Przeanalizujmy szczegó owo przypadek! E. Wobec zasady indukcji regu, hipoteza indukcyjna wzglídem pierwszej przes anki `e 1 : A! B oferuje dwie moøliwoúci: (1) e 1 jest wartoúciπ; (2) e 1 nie jest wartoúciπ i redukuje sií do nowego wyraøenia e 0 1, to znaczy e 1 7! e 0 1. Jeúli zachodzi drugi przypadek, to znaleüliúmy wyraøenie, do którego e 1 e 2 sií redukuje, a mianowicie e 0 1e 2 : e 1 7! e 0 1 Lam. e 1 e 2 7! e 0 1e 2 Co sií bídzie jednak dzia o w pierwszym przypadku? Poniewaø e 1 jest typu A! B, istnieje spora szansa, øe jest -abstrakcjπ, a wówczas hipoteza indukcyjna wzglídem drugiej przes anki `e 2 : A daje dwie nowe moøliwoúci, dla których moøemy wykorzystaê bπdü to Arg bπdü App celem udowodnienia w asnoúci postípu. Niestety, nie dysponujemy formalnym dowodem tego, øe e 1 jest -abstrakcjπ; wiemy jedynie, øe e 1 jest typu A! B przy za oøeniu pustego kontekstu typujπcego. Nasza intuicja podpowiada nam wszelako, øe e 1 musi byê -abstrakcjπ z uwagi na swój typ. NastÍpujπcy lemat formalizuje naszπ intuicjí wzglídem poprawnych czy teø kanonicznych form dobrze typowanej wartoúci: Lemat 4 (o formach kanonicznych). (1) Jeúli v jest wartoúciπ typu bool, to wówczas v jest true albo false. (2) Jeúli v jest wartoúciπ typu A! B, to wówczas v jest -abstrakcjπ x : A.e 63
8 64 Dowód. Dowód prowadzimy przez analizí v. Jeúli v jest wartoúciπ typu bool, to wówczas jedyne regu y typowania przypisujπce typ boole owski do danej wartoúci to True i False. Tym samym v jest sta π boole owskπ true lub false. Zauwaømy, øe regu y Var,! E oraz If mogπ przypisaê typ boole owski, ale nigdy do wartoúci. Jeúli v jest wartoúciπ typu A! B, to wówczas jedynπ regu π typowania przypisujπcπ typ funkcyjny do danej wartoúci jest. Tym samym v musi byê -abstrakcjπ postaci x : A.e. Moøemy teraz przystπpiê do dowodu twierdzenia o postípie. Dowód. Dowód prowadzimy przez indukcjí wzglídem osπdu `e: A. Jeúli e jest juø wartoúciπ, dowód jest zakoòczony. Za óømy zatem, øe e nie jest wartoúciπ. Musimy rozwaøyê trzy przypadki. Przypadek x:a2 Var gdzie e = x: `e:a niemoøliwe wobec x : A/2 Przypadek `e 1:B!A `e 2 :B `e 1 e 2! E gdzie e = e :A 1 e 2 : e 1 jest wartoúciπ lub instnieje e 0 1 takie, øe e 1 7! e 0 1 indukcyjnego wzglídem `e 1 : B! A e 2 jest wartoúciπ lub instnieje e 0 2 takie, øe e 2 7! e 0 2 indukcyjnego wzglídem `e 2 : B. Podprzypadek e 1 jest wartoúciπ i e 2 jest wartoúciπ: e 1 = x : B.e 0 1 wobec Lematu 4 e 2 = v 2 poniewaø e 2 jest wartoúciπ e 1 e 2 7! [v 2 /x]e 0 1 wobec regu y App Niech e 0 =[v 2 /x]e 0 1 Podprzypadek e 1 jest wartoúciπ i istnieje e 0 2 takie, øe e 2 7! e 0 2: e 1 = x : B.e 0 1 wobec Lematu 4 e 1 e 2 7! ( x : B.e 0 1)e 0 2 wobec regu y Arg Niech e 0 =( x : B.e 0 1)e 0 2 Podprzypadek istnieje e 0 1 takie, øe e 1 7! e 0 1: e 1 e 2 7! e 0 1e 2 Niech e 0 = e 0 1e 2 wobec regu y Lam Przypadek `e b:bool `e 1 :A `e 2 :A If gdzie e = if e `if e b then e 1 else e 2 :A b then e 1 else e 2 : e b jest wartoúciπ lub istnieje e 0 b takie, øe e b 7! e 0 b indukcyjnego wzglídem `e b : bool Podprzypadek e b jest wartoúciπ: e b jest true albo false wobec Lematu 4 if e b then e 1 else e 2 7! e 1 albo if e b then e 1 else e 2 7! e 2 wobec regu y If true albo If false Niech e 0 = e 1 albo e 0 = e 2
9 Podprzypadek istnieje e 0 b takie, øe e b 7! e 0 b : if e b then e 1 else e 2 7! if e 0 b then e 1 else e 2 Niech e 0 = if e 0 b then e 1 else e wobec regu y If Dowód twierdzenia o zachowaniu. Dowód twierdzenia o zachowaniu nie jest tak bezpoúredni jak dowód twierdzenia o postípie, poniewaø poprzednik implikacji Jeúli... w twierdzeniu zawiera dwa osπdy: ` e : A oraz e 7! e 0. Musimy zatem zadecydowaê do którego z osπdów ` e : A oraz e 7! e 0 chcemy zastosowaê indukcjí regu. Okazuje sií, øe twierdzenie o zachowaniu jest jednym z tych specjalnych przypadków, w których taki wybór nie ma znaczenia. PrzypuúÊmy, øe zechcielibyúmy zastosowaê indukcjí regu do osπdu e 7! e 0. Jako øe mamy szeúê regu redukcyjnych, musielibyúmy rozwaøyê co najmniej szeúê przypadków. G ówne pytanie, jakie sií nasuwa, brzmi: które z nich rozwaøymy jako pierwsze? Jako regu Í kciuka moøemy przyjπê, øe gdy kiedykolwiek dowodzimy w asnoúci, o której spodziewamy sií, øe zachodzi, zaczynamy od rozwaøenia moøliwie najtrudniejszego przypadku. W naszej sytuacji intuicyjnie najtrudniejszy jest przypadek, w którym e 7! e 0 jest dowodzone za pomocπ regu y App, jako øe podstawianie moøe tu zamieniê aplikacjí e w zupe nie innπ formí wyraøenia, na przyk ad w konstrukcjí warunkowπ. Rozwaømy zatem przypadek ( x : A.e)v 7! [v/x]e. Naszym celem jest uøycie za oøenia ` ( x : A.e)v : C do dowodu ` [v/x]e : C. Osπd typujπcy ` ( x : A.e)v : C musi mieê nastípujπce drzewko dowodowe:,x: A ` e : C ` x : A.e : A! C ` ( x : A.e)v : C ` v : A! E Wobec tego naszym nowym celem jest uøycie dwóch za oøeò,x : A ` e : C oraz ` v : A do dowodu ` [v/x]e : C. NastÍpujπcy lemat uogólnia ten problem: Lemat 5 (o podstawianiu). Jeúli ` e : A oraz,x: A ` e 0 : C, to wówczas ` [e/x]e 0 : C. Lemat o podstawianiu jest podobny do twierdzenia o zachowaniu w tym sensie, øe poprzednik implikacji Jeúli... zawiera dwa osπdy. W tym przypadku musimy jednak bardzo ostroønie wybraê osπd do zastosowania indukcji regu, albowiem z y wybór moøe doprowadziê do poraøki w próbie dowodu. Kluczowa obserwacja jest taka, øe [e/x]e 0 analizuje strukturí e 0, a nie e. Innymi s owy, [e/x]e 0 wyszukuje kaøde wystπpienie zmiennej x w e 0 tylko w celu zastπpienia jej przez e i w rezultacie nie wie nic o strukturze e. Tym samym w aúciwym osπdem do zastosowania indukcji regu jest,x: A ` e 0 : C. Dowód. Dowód prowadzimy metodπ indukcji regu ze wzglídu na,x : A ` e 0 : C. Przypomnijmy, øe zak adamy, øe wszystkie zmienne w kontekúcie typujπcym sπ parami roz πczne. Pokaøemy tu cztery przypadki. Pierwsze dwa dotyczπ sytuacji, gdzie e 0 jest zmiennπ. Pozosta e sπ podobne do przypadku dla regu y! E. y:c2,x:a Przypadek Var gdzie,x:a`y:c e0 = y oraz y : C 2 : Jest to przypadek, w którym e 0 jest zmiennπ y innπ niø x. Poniewaø y 6= x, przes anka y : C 2,x : A pociπga dodatkowy warunek y : C 2. ` y : C wobec y : C 2 [e/x]y = y wobec x 6= y ` [e/x]y : C
10 66 Przypadek,x:A`x:A Var gdzie e 0 = x oraz C = A: Jest to przypadek, w którym e 0 jest zmiennπ x. ` e : A ` [e/x]x : A [e/x]x = e,x:a,y:c Przypadek 1`e 00 :C 2,x:A` y:c 1.e 00 :C 1!C 2 gdzie e 0 = y : C 1.e 00 oraz C = C 1! C 2 : Tutaj moøemy bez straty ogólnoúci za oøyê, øe y jest nowπ zmiennπ takπ, øe y/2 FV(e) oraz y 6= x. Jeúli y 2 FV(e) albo y = x, moøemy zawsze wybraê innπ zmiennπ po zastosowaniu -konwersji do y : C 1.e 00.,y : C 1 ` [e/x]e 00 : C 2 indukcyjnego ` y : C 1.[e/x]e 00 : C 1! C 2 wobec regu y [e/x] y : C 1.e 00 = y : C 1.[e/x]e 00 wobec y/2 FV(e) oraz x 6= y ` [e/x] y : C 1.e 00 : C 1! C 2 Przypadek,x:A`e 1:B!C,x:A`e 2 :B,x:A`e 1 e 2 :C! E gdzie e 0 = e 1 e 2 : ` [e/x]e 1 : B! C indukcyjnego wzglídem,x: A ` e 1 : B! C ` [e/x]e 2 : B indukcyjnego wzglídem,x: A ` e 2 : B ` [e/x]e 1 [e/x]e 2 : C wobec regu y! E ` [e/x]e 1 e 2 : C wobec [e/x]e 1 e 2 =[e/x]e 1 [e/x]e 2. Moøemy teraz przejúê do dowodu twierdzenia o zachowaniu. Dowód bídzie przebiega przez indukcjí regu wzglídem osπdu e 7! e 0. Wykorzytuje fakt, øe istnieje tylko jedna regu a typujπca dla kaødej postaci wyraøenia. Na przyk ad, jedyny sposób udowodnienia ` e 1 e 2 : A to zastosowanie regu y! E. Tym samym o systemie typów mówimy, øe jest kierowany syntaktycznie w takim sensie, øe syntaktyczna postaê wyraøenia e w osπdzie ` e : A decyduje czy teø kieruje o regu ach, jakie majπ zostaê zastosowane. Jako øe syntaktyczne kierowanie systemem typów decyduje o jednoznacznoúci wyboru regu y typujπcej R do dowodu ` e : A, o przes ankach regu y R moøemy za oøyê, øe sπ spe nione o ile tylko zachodzi ` e : A. Na przyk ad, ` e 1 e 2 : A moøe byê udowodnione tylko za pomocπ regu y! E, skπd moøemy wnioskowaê, øe dwie przes anki ` e 1 : B! A oraz ` e 2 : B zachodzπ dla pewnego typu B. ObserwacjÍ tí bídziemy nazywaê w asnoúciπ odwracania, która odwraca regu Í typujπcπ w taki sposób, øe jej wniosek uzasadnia prawdziwoúê przes anek. W asnoúê odwracania sformu ujemy jako osobny lemat. Lemat 6 (w asnoúê odwracania). Za óømy, øe ` e : C. (1) Jeúli e = x, to x : C 2. (2) Jeúli e = x : A.e 0 to C = A! B oraz,x: A ` e 0 : B dla pewnego typu B. (3) Jeúli e = e 1 e 2 to ` e 1 : A! C oraz ` e 2 : A dla pewnego typu A. (4) Jeúli e = true to C = bool. (5) Jeúli e = false to C = bool. (6) Jeúli e = if e b then e 1 else e 2 to ` e b : bool oraz ` e 1 : C i ` e 2 : C. ` e : C. Szcze- Dowód. Formalnie dowód naleøy przeprowadziê przez indukcjí regu wzglídem osπdu gó y zostawiamy jako nietrudne Êwiczenie. Przechodzimy do dowodu twierdzenia o zachowaniu. Dowód. Dowód prowadzimy przez indukcjí regu wzglídem osπdu e 7! e 0.
11 e Przypadek 1 7!e 0 1 Lam: e 1 e 2 7!e 0 1 e 2 ` e 1 e 2 : A ` e 1 : B! A oraz ` e 2 : B dla pewnego typu B wobec Lematu 6 ` e 0 1 : B! A indukcyjnego wzglídem e 1 7! e 0 1 wraz z ` e 1 : B! A ` e 0 1e 2 : A wobec `e0 1 :B!A `e 2:B! E `e 0 1 e 2:A e Przypadek 2 7!e 0 2 Arg: ( x:b.e 0 1 )e 27!( x:b.e 0 1 )e0 2 ` ( x : B.e 0 1)e 2 : A ` x : B.e 0 1 : B! A oraz ` e 2 : B wobec Lematu 6 ` e 0 2 : B indukcyjnego wzglídem e 2 7! e 0 2 wraz z ` e 2 : B ` ( x : B.e 0 1)e 0 2 : A wobec ` x:b.e0 1 :B!A `e0 2 :B! E `( x:b.e 0 1 )e0 2 :A 67 Przypadek ( x:b.e 0 App: 1 )v7![v/x]e 0 1 ` ( x : B.e 0 1)v : A ` x : B.e 0 1 : B! A oraz ` v : B wobec Lematu 6,x: B ` e 0 1 : A wobec Lematu 6 wzglídem ` x : B.e 0 1 : B! A ` [v/x]e 0 1 : A wobec Lematu 5 zastosowanego do ` v : B oraz,x: B ` e 0 1 : A e Przypadek b 7!e 0 b if e b then e 1 else e 2 7!if e 0 b then e 1 else e 2 If: ` if e b then e 1 else e 2 : A ` e b : bool oraz ` e 1 : A i ` e 2 : A wobec Lematu 6 ` e 0 b : bool indukcyjnego wzglídem e b 7! e 0 b wraz z ` e b : bool ` if e 0 b then e 1 else e 2 : A wobec `e0 b :bool `e 1:A `e 2 :A If `if e 0 b then e 1 else e 2 :A Przypadek if true then e1 else e 2 7!e 1 If true : ` if true then e 1 else e 2 : A ` true : bool oraz ` e 1 : A i ` e 2 : A wobec Lematu 6 ` e 1 : A Przypadek if false then e1 else e 2 7!e 2 If false : Podobnie jak przypadek If true.
syntaksem abstrakcyjnym syntaksem kon- kretnym. drzewami abstrakcyjnego syntaksu, Abstrakcyjny syntaks rachunku. zmiennπ -abstrakcjπ, zwiπzana
5. Wyk ad 5: Wprowadzenie do rachunku. Na dzisiejszym wyk adzie zajmiemy sií rachunkiem, czyli podstawowym rachunkiem wykorzystywanym przez jízyki funkcyjne, w tym oczywiúcie przez SML. DziÍki niemu bídziemy
9. Wyk ad 9: Logiczna równowaønoúê. Osπdy hipotetyczne. Lokalna niesprzecznoúê i zupe noúê Logiczna równowaønoúê. Powiemy, øe zdanie A jest
9 Wyk ad 9: Logiczna równowaønoúê Osπdy hipotetyczne Lokalna niesprzecznoúê i zupe noúê 91 Logiczna równowaønoúê Powiemy, øe zdanie A jest logicznie równowaøne zdaniu B, co oznaczamy przez A B, jeøeli
ksiíøyc jest bladozielony i ma dziury jest prawdπ KsieycSer ksiíøyc jest zrobiony z sera jest prawdπ
21 4 Wyk ad 4: Logika zdaò Zdania i osπdy, system naturalnej dedukcji dla logiki zdaò Zajmiemy sií obecnie zbudowaniem logiki zdaò, czyli systemu logicznego bez kwantyfikatorów Zrobimy to w stylu osπdowym
Wstęp do programowania. Dariusz Wardecki, wyk. V
Wstęp do programowania Dariusz Wardecki, wyk. V Tablica (ang. array) Zestaw N zmiennych tego samego typu numerowanych liczbami w zakresie od 0 do (N 1). Element tablicy Zmienna wchodzπca w sk ad tablicy,
Datatypy. produktem typów; datatypu konstruktorami danych konstruktorami.
2. Wyk ad 2: Programowanie funkcyjne: datatypy, pattern matching, funkcje wyøszego rzídu, wyjπtki i modu y. 2.1. Datatypy. Wczeúniej poznaliúmy pobieønie kilka podstawowych typw w SML-u. Obecnie podamy
im = (P )={b 2 R : 9a 2 P [b = (a)]} nazywamy obrazem homomorfizmu.
61 7. Wyk ad 7: Homomorfizmy pierúcieni, idea y pierúcieni. Idea y generowane przez zbiory. PierúcieÒ ilorazowy, twierdzenie o homomorfizmie. Idea y pierwsze i maksymalne. 7.1. Homomorfizmy pierúcieni,
Paradygmat programowania funkcyjnego.
1. Wyk ad 1: Wprowadzenie do programowania funkcyjnego. W wyk adzie tym zajmiemy sií podstawowymi ideami stojπcymi u podstaw programowania funkcyjnego, czyli programowania w jízykach funkcyjnych. Wszystkie
h pg fq ph gq f. IdentycznoúÊ:: dla kaødego obiektu B P C istnieje morfizm B 1 B
14. Wyk ad 14: Wprowadzenie do teorii kateorii: produkty, koprodukty, obiekty wolne i morizmy. Deinicja 14.1. Kateoria C sk ada sií z klasy obiektów ObpCq, oznaczanych przez A, B, C,... oraz klasy morizmów
P. Urzyczyn: Materia ly do wyk ladu z semantyki. Uproszczony 1 j. ezyk PCF
29 kwietnia 2013, godzina 23: 56 strona 1 P. Urzyczyn: Materia ly do wyk ladu z semantyki Uproszczony 1 j ezyk PCF Sk ladnia: Poniżej Γ oznacza otoczenie typowe, czyli zbiór deklaracji postaci (x : τ).
Programowanie. Dariusz Wardecki, wyk. II. wtorek, 26 lutego 13
Programowanie Dariusz Wardecki, wyk. II Powtórzenie Co wypisze program? char x, y, z; x = '1'; y = '3'; z = x + y; cout
Wstęp do programowania. Dariusz Wardecki, wyk. VI
Wstęp do programowania Dariusz Wardecki, wyk. VI Wskaźniki Wskaünik (ang. pointer) Zmienna, której wartoúciπ jest adres innej zmiennej. Deklaracja wskaünika Umieszcza sií * przy nazwie zmiennej, np.: int
Egzamin z GAL-u (Informatyka) 2. termin 19/02/2019 CzÍúÊ teoretyczna I
ImiÍ i nazwisko: Numer albumu: CzÍúÊ teoretyczna I Instrukcja: Odpowiedzi naleøy pisaê na arkuszu z pytaniami. W zadaniach 1-10 naleøy udzielaê odpowiedzi TAK lub NIE, przy czym nawet jedna niepoprawna
Pawe G adki. Algebra. pgladki/
Pawe G adki Algebra http://www.math.us.edu.pl/ pgladki/ Konsultacje: åroda, 14:00-15:00 Jeøeli chcesz spotkaê sií z prowadzπcym podczas konsultacji, postaraj sií powiadomiê go o tym przed lub po zajíciach,
Wstęp do programowania. Dariusz Wardecki, wyk. X
Wstęp do programowania Dariusz Wardecki, wyk. X Na czym polega przeciążanie operatorów Zamiast podawaê nazwí metody, moøna jπ oznaczyê z pomocπ symbolu operatora. Wtedy liczba argumentów metody zaleøy
Wstęp do programowania. Dariusz Wardecki, wyk. III
Wstęp do programowania Dariusz Wardecki, wyk. III Funkcje w C++ Funkcja (ang. function) Wyróøniona czíúê kodu üród owego, stanowiπca odríbnπ ca oúê, sk adajπca sií z treúci (ang. body) oraz nag ówka (ang.
3. Wykład 3: Dowody indukcyjne, strategie dowodowe Dowody indukcyjne. Dotychczas zobaczyliśmy w jaki sposób można specyfikować definicje
3. Wykład 3: Dowody indukcyjne, strategie dowodowe. 3.1. Dowody indukcyjne. Dotychczas zobaczyliśmy w jaki sposób można specyfikować definicje indukcyjne kategorii syntaktycznych lub osądów, czy też w
Paradygmaty programowania
Paradygmaty programowania Jacek Michałowski, Piotr Latanowicz 15 kwietnia 2014 Jacek Michałowski, Piotr Latanowicz () Paradygmaty programowania 15 kwietnia 2014 1 / 12 Zadanie 1 Zadanie 1 Rachunek predykatów
Pawe G adki. Algebra. pgladki/
Pawe G adki Algebra http://www.math.us.edu.pl/ pgladki/ Zasady zaliczania przedmiotu: 2 kolokwia, kaøde warte 15 punktów, 2 sprawdziany, kaødy warty 6 punktów, aktywnoúê na zajíciach, warta 3 punkty, zadania
8.6 Wieloformy, wielowektory, Gwiazdka Hodge a
86 Wieloformy wielowektory Gwiazdka Hodge a Materia zawarty w tym podrozdziale omówiony zostanie na Êwiczeniach W bardzo podobny sposób do tego w jaki definiowaliúmy wieloformy na przestrzeni wektorowej
Wstęp do Programowania potok funkcyjny
Wstęp do Programowania potok funkcyjny Marcin Kubica 2010/2011 Outline Procedury wyższych rzędów 1 Procedury wyższych rzędów jako abstrakcje konstrukcji programistycznych Intuicje Procedury wyższych rzędów
Układy równań i nierówności liniowych
Układy równań i nierówności liniowych Wiesław Krakowiak 1 grudnia 2010 1 Układy równań liniowych DEFINICJA 11 Układem równań m liniowych o n niewiadomych X 1,, X n, nazywamy układ postaci: a 11 X 1 + +
Metoda CPM/PERT. dr inø. Mariusz Makuchowski
PM - wstíp PM nazwa metody pochodzi od angielskiego ritical Path Method, jest technikπ bazujπcπ na grafowej reprezentacji projektu, uøywana jest dla deterministycznych danych. PM - modele grafowe projektu
Pracownia komputerowa. Dariusz Wardecki, wyk. IV
Pracownia komputerowa Dariusz Wardecki, wyk. IV Notacja szesnastkowa Zapis szesnastkowy (ang. hexadecimal notation) Dowolnπ nieujemnπ liczbí ca kowitπ moøna roz oøyê na potígi liczby 16 x = ÿ N 1 j=0 h
Przewody Grzejne ELEKTRA BET UK PL RU Installation manual Instrukcja montaøu
www.elektra.pl Przewody Grzejne ELEKTRA BET Installation manual Instrukcja montaøu UK PL RU Zastosowanie Przewody grzejne ELEKTRA BET s uøπ do ochrony mieszanki betonowej uk adanej i dojrzewajπcej w ujemnych
Algebrę L = (L, Neg, Alt, Kon, Imp) nazywamy algebrą języka logiki zdań. Jest to algebra o typie
3. Wykłady 5 i 6: Semantyka klasycznego rachunku zdań. Dotychczas rozwinęliśmy klasyczny rachunek na gruncie czysto syntaktycznym, a więc badaliśmy metodę sprawdzania, czy dana formuła B jest dowodliwa
vf(c) =, vf(ft 1... t n )=vf(t 1 )... vf(t n ).
6. Wykład 6: Rachunek predykatów. Język pierwszego rzędu składa się z: symboli relacyjnych P i, i I, gdzie (P i ) oznaczać będzie ilość argumentów symbolu P i, symboli funkcyjnych f j, j J, gdzie (f j
Programowanie funkcyjne. Wykªad 13
Programowanie funkcyjne. Wykªad 13 Siªa wyrazu rachunku lambda Zdzisªaw Spªawski Zdzisªaw Spªawski: Programowanie funkcyjne. Wykªad 13, Siªa wyrazu rachunku lambda 1 Wst p Warto±ci logiczne Liczby naturalne
Monoidy wolne. alfabetem. słowem długością słowa monoidem wolnym z alfabetem Twierdzenie 1.
3. Wykłady 3 i 4: Języki i systemy dedukcyjne. Klasyczny rachunek zdań. 3.1. Monoidy wolne. Niech X będzie zbiorem niepustym. Zbiór ten będziemy nazywać alfabetem. Skończony ciąg elementów alfabetu X będziemy
domykanie relacji, relacja równoważności, rozkłady zbiorów
1 of 8 2012-03-28 17:45 Logika i teoria mnogości/wykład 5: Para uporządkowana iloczyn kartezjański relacje domykanie relacji relacja równoważności rozkłady zbiorów From Studia Informatyczne < Logika i
Analiza matematyczna II. Pula jawnych zadaò na kolokwia.
Analiza matematyczna II. Pula jawnych zadaò na kolokwia. Wydzia MIiM UW, 20/2 8 maja 202 ostatnie poprawki (literówka w zadaniu 53): 0 stycznia 204 Szanowni PaÒstwo, na koòcu listy jest trochí nowych zadaò,
Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017
Logika Stosowana Wykład 1 - Logika zdaniowa Marcin Szczuka Instytut Informatyki UW Wykład monograficzny, semestr letni 2016/2017 Marcin Szczuka (MIMUW) Logika Stosowana 2017 1 / 30 Plan wykładu 1 Język
Bezpiecznik topikowy jest jedynym
60 Bezpieczniki prądu stałego urządzenia fotowoltaiczne PV Roman Kłopocki Artyku przedstawia niektûre aspekty dzia ania bezpiecznikûw topikowych w obwodach prπdu sta ego. Zaprezentowano takøe kilka przyk
Pracownia komputerowa. Dariusz Wardecki, wyk. VIII
Pracownia komputerowa Dariusz Wardecki, wyk. VIII Powtórzenie Podaj wartość liczby przy następującej reprezentacji zmiennoprzecinkowej (Kc = 7) Z C C C C M M M 1 0 1 1 1 1 1 0-1.75 (dec) Rafa J. Wysocki
Pracownia komputerowa. Dariusz Wardecki, wyk. VI
Pracownia komputerowa Dariusz Wardecki, wyk. VI Powtórzenie Ile wynoszą poniższe liczby w systemie dwójkowym/ dziesiętnym? 1001101 =? 77! 63 =? 111111! Arytmetyka w reprezentacji bezznakowej Mnożenie liczb
Wprowadzenie Znajdü Wyszukaj
Wprowadzenie W ostatnim czasie ukaza a sií na rynku kolejna wersja jednego z najpopularniejszych systemûw operacyjnych dla komputerûw osobistych klasy PC. Mowa tu oczywiúcie o systemie firmy Microsoft
Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak
Indukcja Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Charakteryzacja zbioru liczb naturalnych Arytmetyka liczb naturalnych Jedną z najważniejszych teorii matematycznych jest arytmetyka
Wstęp do Programowania potok funkcyjny
Wstęp do Programowania potok funkcyjny Marcin Kubica 2010/2011 Outline 1 Kilka podstawowych pojęć Definition Programy imperatywne zmieniają stan, czyli wartości zmiennych. Asercja = warunek logiczny, który
Zbiory, relacje i funkcje
Zbiory, relacje i funkcje Zbiory będziemy zazwyczaj oznaczać dużymi literami A, B, C, X, Y, Z, natomiast elementy zbiorów zazwyczaj małymi. Podstawą zależność między elementem zbioru a zbiorem, czyli relację
Prostota grup A n. Pokażemy, że grupy A n sa. proste dla n 5. Dowód jest indukcyjny i poprzedzimy go lematem.
Prostota grup A n. Pokażemy, że grupy A n sa proste dla n 5. Dowód jest indukcyjny i poprzedzimy go lematem. 1 2 0. Twierdzenie Schura Zassenhausa W tym rozdziale zajmiemy sie bardzo użytecznym twierdzeniem,
- Dla danego zbioru S zbiór wszystkich jego podzbiorów oznaczany symbolem 2 S.
1 Zbiór potęgowy - Dla danego zbioru S zbiór wszystkich jego podzbiorów oznaczany symbolem 2 S. - Dowolny podzbiór R zbioru 2 S nazywa się rodziną zbiorów względem S. - Jeśli S jest n-elementowym zbiorem,
Jak naprawiê popsutπ zabawkí
Jak naprawiê popsutπ zabawkí Transformacje zmiennych w modelach liniowych Piotr J. Sobczyk Data analysis is an artful science! It involves making subjective decisions using very objective tools! Znalezione
FUNKCJE. (odwzorowania) Funkcje 1
FUNKCJE (odwzorowania) Funkcje 1 W matematyce funkcja ze zbioru X w zbiór Y nazywa się odwzorowanie (przyporządkowanie), które każdemu elementowi zbioru X przypisuje jeden, i tylko jeden element zbioru
Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykłady 12 i 13. Dowód i dowodzenie w KRP. Tezy KRP
Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykłady 12 i 13. Dowód i dowodzenie w KRP. Tezy KRP 1 Pojęcie dowodu w KRP Pojęcia: formuły zdaniowej języka Klasycznego Rachunku
System BCD z κ. Adam Slaski na podstawie wykładów, notatek i uwag Pawła Urzyczyna. Semestr letni 2009/10
System BCD z κ Adam Slaski na podstawie wykładów, notatek i uwag Pawła Urzyczyna Semestr letni 2009/10 Rozważamy system BCD ze stałą typową κ i aksjomatami ω κ κ i κ ω κ. W pierwszej części tej notatki
Wyk lad 3 Wielomiany i u lamki proste
Wyk lad 3 Wielomiany i u lamki proste 1 Konstrukcja pierścienia wielomianów Niech P bedzie dowolnym pierścieniem, w którym 0 1. Oznaczmy przez P [x] zbiór wszystkich nieskończonych ciagów o wszystkich
Wyk lad 14 Formy kwadratowe I
Wyk lad 14 Formy kwadratowe I Wielomian n-zmiennych x 1,, x n postaci n a ij x i x j, (1) gdzie a ij R oraz a ij = a ji dla wszystkich i, j = 1,, n nazywamy forma kwadratowa n-zmiennych Forme (1) można
Poprawnie zaprojektowana i kompleksowo
100 Ochrona odgromowa na dachach płaskich Krzysztof Wincencik, Andrzej Wincenciak Bezpoúrednie wy adowanie atmosferyczne w obiekt budowlany i towarzyszπce przep ywowi prπdu piorunowego zjawiska termiczne
Wyk ad II. Stacjonarne szeregi czasowe.
Wyk ad II. Stacjonarne szeregi czasowe. W wi ekszości przypadków poszukiwanie modelu, który dok adnie by opisywa zachowanie sk adnika losowego " t, polega na analizie pewnej klasy losowych ciagów czasowych
Logika I. Wykład 1. Wprowadzenie do rachunku zbiorów
Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykład 1. Wprowadzenie do rachunku zbiorów 1 Podstawowe pojęcia rachunku zbiorów Uwaga 1.1. W teorii mnogości mówimy o zbiorach
III. Funkcje rzeczywiste
. Pojęcia podstawowe Załóżmy, że dane są dwa niepuste zbiory X i Y. Definicja. Jeżeli każdemu elementowi x X przyporządkujemy dokładnie jeden element y Y, to mówimy, że na zbiorze X została określona funkcja
5. OKREŚLANIE WARTOŚCI LOGICZNEJ ZDAŃ ZŁOŻONYCH
5. OKREŚLANIE WARTOŚCI LOGICZNEJ ZDAŃ ZŁOŻONYCH Temat, którym mamy się tu zająć, jest nudny i żmudny będziemy się uczyć techniki obliczania wartości logicznej zdań dowolnie złożonych. Po co? możecie zapytać.
(wymiar macierzy trójk¹tnej jest równy liczbie elementów na g³ównej przek¹tnej). Z twierdzen 1 > 0. Zatem dla zale noœci
56 Za³ó my, e twierdzenie jest prawdziwe dla macierzy dodatnio okreœlonej stopnia n 1. Macierz A dodatnio okreœlon¹ stopnia n mo na zapisaæ w postaci n 1 gdzie A n 1 oznacza macierz dodatnio okreœlon¹
PORTFOLIO (na wniosek firmy F16) Możliwości pozycjonowania wewnątrz budynków z wykorzystaniem radiolatarni Autor: Sebastian Ernst, Piotr Matyasik
!! PORTFOLIO (na wniosek firmy F16) Możliwości pozycjonowania wewnątrz budynków z wykorzystaniem radiolatarni Autor: Sebastian Ernst, Piotr Matyasik Moøliwoúci pozycjonowania wewnπtrz budynków z wykorzystaniem
Zajęcia nr. 3 notatki
Zajęcia nr. 3 notatki 22 kwietnia 2005 1 Funkcje liczbowe wprowadzenie Istnieje nieskończenie wiele funkcji w matematyce. W dodaktu nie wszystkie są liczbowe. Rozpatruje się funkcje które pobierają argumenty
Na czym polega zasada stosowania
104 Zwody izolowane ochrona systemów antenowych ^ Dalibor Salansky ` W artykule przedstawiono praktyczne uwagi dotyczπce projektowania i wykonania zwodûw izolowanych dla ochrony masztûw antenowych na domkach
Wyk lad 7 Baza i wymiar przestrzeni liniowej
Wyk lad 7 Baza i wymiar przestrzeni liniowej 1 Baza przestrzeni liniowej Niech V bedzie przestrzenia liniowa. Powiemy, że podzbiór X V jest maksymalnym zbiorem liniowo niezależnym, jeśli X jest zbiorem
Elementy logiki matematycznej
Elementy logiki matematycznej Przedmiotem logiki matematycznej jest badanie tzw. wyrażeń logicznych oraz metod rozumowania i sposobów dowodzenia używanych w matematyce, a także w innych dziedzinach, w
Uwaga 1.2. Niech (G, ) będzie grupą, H 1, H 2 < G. Następujące warunki są równoważne:
1. Wykład 1: Produkty grup. Produkty i koprodukty grup abelowych. Przypomnijmy konstrukcje słabych iloczynów (sum) prostych i iloczynów (sum) prostych grup znane z kursowego wykładu algebry. Ze względu
Sterownik CPA net posiada wbudowany
72 CPA net ñ system sterowania oúwietleniem ulicznym CPA net system sterowania oświetleniem ulicznym Arkadiusz Kuziak CPA net firmy Rabbit to nowy system zdalnego monitorowania i zarzπdzania oúwietleniem
Elementy logiki i teorii mnogości
Elementy logiki i teorii mnogości Zdanie logiczne Zdanie logiczne jest to zdanie oznajmujące, któremu można przypisać określoną wartość logiczną. W logice klasycznej zdania dzielimy na: prawdziwe (przypisujemy
Paradygmaty dowodzenia
Paradygmaty dowodzenia Sprawdzenie, czy dana formuła rachunku zdań jest tautologią polega zwykle na obliczeniu jej wartości dla 2 n różnych wartościowań, gdzie n jest liczbą zmiennych zdaniowych tej formuły.
Wyznacznik macierzy. (2) Q(v, v) = Q(v, v), Po opuszczeniu kolorów (w koòcu v i v to ostatecznie ten sam wektor v) dostajemy
yzaczik macierzy Niech V bídzie -wymiarowπ przestrzeiπ wektorowπ ad cia em liczb rzeczywistych lub zespoloych K Formπ k-liiowπ a przestrzei wektorowej V azywamy odwzorowaie: Ê : V V V æ R, które jest liiowe
Rachunek zdań - semantyka. Wartościowanie. ezyków formalnych. Semantyka j. Logika obliczeniowa. Joanna Józefowska. Poznań, rok akademicki 2009/2010
Logika obliczeniowa Instytut Informatyki Poznań, rok akademicki 2009/2010 1 formu l rachunku zdań Wartościowanie i sta le logiczne Logiczna równoważność 2 Model formu ly Formu la spe lniona Formu la spe
Elementy logiki i teorii mnogości Wyk lad 1: Rachunek zdań
Elementy logiki i teorii mnogości Wyk lad 1: Rachunek zdań Micha l Ziembowski m.ziembowski@mini.pw.edu.pl www.mini.pw.edu.pl/ ziembowskim/ October 2, 2016 M. Ziembowski (WUoT) Elementy logiki i teorii
Matematyka Dyskretna. Andrzej Szepietowski. 25 czerwca 2002 roku
Matematyka Dyskretna Andrzej Szepietowski 25 czerwca 2002 roku Rozdział 1 Poprawność programów Jeżeli projektujemy algorytmy lub piszemy programy, to ważne jest pytanie, czy nasz algorytm lub program
Logika Stosowana. Wykład 2 - Logika modalna Część 2. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017
Logika Stosowana Wykład 2 - Logika modalna Część 2 Marcin Szczuka Instytut Informatyki UW Wykład monograficzny, semestr letni 2016/2017 Marcin Szczuka (MIMUW) Logika Stosowana 2017 1 / 27 Plan wykładu
LOGIKA I TEORIA ZBIORÓW
LOGIKA I TEORIA ZBIORÓW Logika Logika jest nauką zajmującą się zdaniami Z punktu widzenia logiki istotne jest, czy dane zdanie jest prawdziwe, czy nie Nie jest natomiast istotne o czym to zdanie mówi Definicja
Jak należy się spodziewać, mamy. Zauważmy jednak, że nie zachodzi równość
11. Wykład 11: Rachunek λ. Obliczenia i obliczalność. Rachunek λ jest systemem pozornie bardzo prostym. Abstrakcja i aplikacja wydają się trywialnymi operacjami, i może się zdawać, że niczego ciekawego
1 Funkcje uniwersalne
1 1 Funkcje uniwersalne 1.1 Konstrukcja funkcji uniweralnej Niech P będzie najmniejszym zbiorem liczb spełniającym warunki 1) 0, 2, 0, 0, 2, 1, 0, 2, 2 P, 2) 0, n, 3, k P dla wszystkich n > 0 oraz k takich,
Egzamin z logiki i teorii mnogości, rozwiązania zadań
Egzamin z logiki i teorii mnogości, 08.02.2016 - rozwiązania zadań 1. Niech φ oraz ψ będą formami zdaniowymi. Czy formuła [( x : φ(x)) ( x : ψ(x))] [ x : (φ(x) ψ(x))] jest prawem rachunku kwantyfikatorów?
13. Równania różniczkowe - portrety fazowe
13. Równania różniczkowe - portrety fazowe Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie rzegorz Kosiorowski (Uniwersytet Ekonomiczny 13. wrównania Krakowie) różniczkowe - portrety fazowe 1 /
Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.
PYTHON Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. Aby program napisany w danym języku mógł być wykonany, niezbędne
Wstęp do programowania. Dariusz Wardecki, wyk. I
Wstęp do programowania Dariusz Wardecki, wyk. I Kontakt dward@fuw.edu.pl http://www.fuw.edu.pl/~dward/wdp ul. Hoża 69, pok. 114 tel. 22 55 32 181 Zasady zaliczenia Wykład (2h/tydzień) Egzamin pisemny Test
Uniwersalny sterownik silników krokowych
Uniwersalny sterownik P silników R O J krokowych E K T Y Uniwersalny sterownik silników krokowych kit AVT 344 Silniki krokowe nie s¹ zbyt czísto stosowane w konstrukcjach amatorskich, czego najwaøniejsz¹
Programowanie funkcyjne Wykład 13. Siła wyrazu rachunku lambda
Programowanie funkcyjne Wykład 13. Siła wyrazu rachunku lambda Zdzisław Spławski Zdzisław Spławski: Programowanie funkcyjne, Wykład 13. Siła wyrazu rachunku lambda 1 Wstęp Wartości logiczne Liczby naturalne
Matematyka dyskretna
Matematyka dyskretna Wykład 6: Ciała skończone i kongruencje Gniewomir Sarbicki 2 marca 2017 Relacja przystawania Definicja: Mówimy, że liczby a, b Z przystają modulo m (co oznaczamy jako a = b (mod m)),
jest ciągiem elementów z przestrzeni B(R, R)
Wykład 2 1 Ciągi Definicja 1.1 (ciąg) Ciągiem w zbiorze X nazywamy odwzorowanie x: N X. Dla uproszczenia piszemy x n zamiast x(n). Przykład 1. x n = n jest ciągiem elementów z przestrzeni R 2. f n (x)
Matematyka dyskretna. Andrzej Łachwa, UJ, 2019 Zadania 1-100
Matematyka dyskretna Andrzej Łachwa, UJ, 2019 andrzej.lachwa@uj.edu.pl Zadania 1-100 Udowodnij, że A (B C) = (A B) (A C) za pomocą diagramów Venna. Udowodnij formalnie, że (A B i A C) A B C oraz że (A
Na poczπtku naleøy przypomnieê
Uziomy wybór technologii budowy Janusz Oleksa W artykule zaprezentowano szereg zagadnieò dotyczπcych budowy, eksploatacji i technologii wykonania uziomûw pionowych i poziomych. Jednoczeúnie stanowi on
Rozdział 1. Wektory losowe. 1.1 Wektor losowy i jego rozkład
Rozdział 1 Wektory losowe 1.1 Wektor losowy i jego rozkład Definicja 1 Wektor X = (X 1,..., X n ), którego każda współrzędna jest zmienną losową, nazywamy n-wymiarowym wektorem losowym (krótko wektorem
Wyk lad 14 Cia la i ich w lasności
Wyk lad 4 Cia la i ich w lasności Charakterystyka cia la Określenie cia la i w lasności dzia lań w ciele y ly omówione na algerze liniowej. Stosujac terminologie z teorii pierścieni możemy powiedzieć,
Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.
Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Typy c.d. 2 Typy zmiennych Instrukcja typedef -
6 wiczenia z jízyka Visual Basic
Wprowadzenie Pisanie programûw komputerowych nie jest rzeczπ trudnπ. Oczywiúcie tworzenie duøych systemûw realizujπcych skomplikowane zadania wymaga dobrej wiedzy informatycznej i doúwiadczenia. Jednak
Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie
Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których
Andrzej Wiśniewski Logika II. Wykłady 10b i 11. Semantyka relacyjna dla normalnych modalnych rachunków zdań
Andrzej Wiśniewski Logika II Materiały do wykładu dla studentów kognitywistyki Wykłady 10b i 11. Semantyka relacyjna dla normalnych modalnych rachunków zdań 1 Struktury modelowe Przedstawimy teraz pewien
Zasada indukcji matematycznej
Zasada indukcji matematycznej Twierdzenie 1 (Zasada indukcji matematycznej). Niech ϕ(n) będzie formą zdaniową zmiennej n N 0. Załóżmy, że istnieje n 0 N 0 takie, że 1. ϕ(n 0 ) jest zdaniem prawdziwym,.
Matematyka dyskretna
Matematyka dyskretna Wykład 6: Ciała skończone i kongruencje Gniewomir Sarbicki 24 lutego 2015 Relacja przystawania Definicja: Mówimy, że liczby a, b Z przystają modulo m (co oznaczamy jako a = b (mod
Twierdzenia Gödla dowody. Czy arytmetyka jest w stanie dowieść własną niesprzeczność?
Semina Nr 3 Scientiarum 2004 Twierdzenia Gödla dowody. Czy arytmetyka jest w stanie dowieść własną niesprzeczność? W tym krótkim opracowaniu chciałbym przedstawić dowody obu twierdzeń Gödla wykorzystujące
Uniwersytet Miko aja Kopernika Wydzia Matematyki i Informatyki. Joanna Ku aga
Uniwersytet Miko aja Kopernika Wydzia Matematyki i Informatyki Joanna Ku aga W asnoúci ergodyczne i spektralne potoków specjalnych nad obrotami i przek adaniami odcinków Promotor: prof. dr hab. Mariusz
Definicja: alfabetem. słowem długością słowa
Definicja: Niech X będzie zbiorem niepustym. Zbiór ten będziemy nazywać alfabetem. Skończony ciąg elementów alfabetu X będziemy nazywać słowem a liczbę elementów tego ciągu nazywamy długością słowa. Na
Podstawy programowania. Wykład PASCAL. Zmienne wskaźnikowe i dynamiczne. dr Artur Bartoszewski - Podstawy prograowania, sem.
Podstawy programowania Wykład PASCAL Zmienne wskaźnikowe i dynamiczne 1 dr Artur Bartoszewski - Podstawy prograowania, sem. 1- WYKŁAD Rodzaje zmiennych Zmienne dzielą się na statyczne i dynamiczne. Zmienna
FUNKCJE LICZBOWE. Na zbiorze X określona jest funkcja f : X Y gdy dowolnemu punktowi x X przyporządkowany jest punkt f(x) Y.
FUNKCJE LICZBOWE Na zbiorze X określona jest funkcja f : X Y gdy dowolnemu punktowi x X przyporządkowany jest punkt f(x) Y. Innymi słowy f X Y = {(x, y) : x X oraz y Y }, o ile (x, y) f oraz (x, z) f pociąga
Rekurencja, schemat rekursji i funkcje pierwotnie rekurencyjne
Rekurencja, schemat rekursji i funkcje pierwotnie rekurencyjne Elementy Logiki i Teorii Mnogości 2015/2016 Zadanie 1. Oblicz iteracyjnie i rekurencyjnie f(4), gdzie f jest funkcją określoną na zbiorze
Podstawowe Pojęcia. Semantyczne KRZ
Logika Matematyczna: Podstawowe Pojęcia Semantyczne KRZ I rok Językoznawstwa i Informacji Naukowej UAM 2006-2007 Jerzy Pogonowski Zakład Logiki Stosowanej UAM http://www.logic.amu.edu.pl Dodatek: ściąga
Temat: Funkcje. Własności ogólne. A n n a R a j f u r a, M a t e m a t y k a s e m e s t r 1, W S Z i M w S o c h a c z e w i e 1
Temat: Funkcje. Własności ogólne A n n a R a j f u r a, M a t e m a t y k a s e m e s t r 1, W S Z i M w S o c h a c z e w i e 1 Kody kolorów: pojęcie zwraca uwagę * materiał nieobowiązkowy A n n a R a
Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu.
Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu. 1 Logika Klasyczna obejmuje dwie teorie:
Warunek wielokrotnego wyboru switch... case
Warunek wielokrotnego wyboru switch... case Działanie instrukcji switch jest zupełnie inne niż w przypadku instrukcji if o czym będziesz mógł się przekonać w niniejszym rozdziale. Różnice pomiędzy instrukcjami
Funkcja kwadratowa. f(x) = ax 2 + bx + c = a
Funkcja kwadratowa. Funkcją kwadratową nazywamy funkcję f : R R określoną wzorem gdzie a, b, c R, a 0. f(x) = ax + bx + c, Szczególnym przypadkiem funkcji kwadratowej jest funkcja f(x) = ax, a R \ {0}.
Baza w jądrze i baza obrazu ( )
Przykład Baza w jądrze i baza obrazu (839) Znajdź bazy jądra i obrazu odwzorowania α : R 4 R 3, gdzie α(x, y, z, t) = (x + 2z + t, 2x + y 3z 5t, x y + z + 4t) () zór ten oznacza, że α jest odwzorowaniem
Wyk lad 12. (ii) najstarszy wspó lczynnik wielomianu f jest elementem odwracalnym w P. Dowód. Niech st(f) = n i niech a bedzie
1 Dzielenie wielomianów Wyk lad 12 Ważne pierścienie Definicja 12.1. Niech P bedzie pierścieniem, który może nie być dziedzina ca lkowitości. Powiemy, że w pierścieniu P [x] jest wykonalne dzielenie z