什么是爱情观| 桃园三结义是什么生肖| 为什么要小心AB型血的人| 为什么生理期不能拔牙| 钰字五行属什么| 可是什么意思| 后年是什么年| 有脚气是什么原因引起的| 零度是什么意思| 忌日是什么意思| 女生食指戴戒指什么意思| 高铁上什么东西不能带| 颈椎病吃什么药效果好| 肾结石是什么原因引起的| 什么的松果| 什么的云| 新生儿拉稀是什么原因| 女人细菌感染什么原因引起的| 避重就轻是什么意思| 后背疼挂什么科| 皮下是什么意思| 亚人是什么意思| 女人是什么| 198什么意思| 11月17号是什么星座| 长脸型适合什么样的发型女| 左耳嗡嗡响吃什么药| 睡觉出汗是什么原因| 红烧肉炖什么菜最好吃| g6pd筛查是检查什么| 牛鞭是牛的什么部位| 头孢什么样子图片| 印度人是什么人种| 撇嘴表情什么意思| 心经是什么意思| 牛奶可以做什么甜品| 有眼屎是什么原因| 眩晕挂号挂什么科| 急火攻心是什么生肖| 女性的排卵期是什么时候| 郭德纲什么学历| 结婚纪念日送什么礼物| 孔子是什么时期的人| 什么车不能开| 什么是gmp| 头油是什么原因引起的| 大腿抽筋是什么原因引起的| 饭后胃疼是什么原因| 菊花像什么比喻句| 多此一举是什么生肖| 碳水化合物指的是什么食物| 聿读什么| 血脂高会导致什么后果| 蚊子不咬什么血型的人| 灵什么意思| 梦见性生活是什么意思| 活在当下什么意思| 皮肤暗黄是什么原因造成的| 不期而遇什么意思| 喝什么水解酒| 不什么不| 初恋是什么意思| 中央党校什么级别| gc是什么| 懒觉什么意思| 手机有什么品牌| 男人染上霉菌什么症状| 单鞋是什么鞋| 什么是佛教什么是道教| 包茎是什么意思| 大姨妈不能吃什么| pad是什么设备| 条索影是什么意思| 克罗心是什么意思| 毳毛是什么| 鱼生是什么鱼| michaelkors是什么牌子| 做梦梦到男朋友出轨了是什么意思| fmp是什么意思| 检查头部挂什么科| 鲜花又什么又什么| 肝囊肿有什么危害| 哈密瓜苦是什么原因| 咳嗽能吃什么| 吃什么会变黑| 占是什么意思| 肝郁气滞吃什么中成药| 什么叫活检| 室上速是什么原因导致的| ln是什么| 做梦梦见马是什么意思| 二尖瓣反流什么意思| 关联词是什么意思| 鲫鱼不能和什么一起吃| 女士喝什么茶叶对身体好| 慢性浅表性胃炎伴糜烂吃什么药| 活珠子是什么| 梦见豆腐是什么意思| 鼠妇吃什么| 手腕三条纹代表什么| 鹌鹑蛋不能和什么一起吃| 掉头发是缺什么| 什么的风| 31年属什么生肖| 埋怨是什么意思| 疤痕体质是什么原因| 吃什么生发| 胎盘能治什么病| 狗狗假孕是什么症状| 霉菌性炎症用什么药效果最好| 不领情是什么意思| 苏联为什么解体| 果糖胺偏高说明什么| 屁股出汗多是什么原因| 青鱼又叫什么鱼| 瓷娃娃什么意思| 噩梦是什么意思| 血沉是检查什么的| 流汗有什么好处| 鳕鱼不能和什么一起吃| 潜叶蝇打什么药效果好| 茶水洗脸有什么好处和坏处| 男人为什么会遗精| 想吃甜食是什么原因| 秋后问斩是什么意思| 天德月德是什么意思| 三七粉吃了有什么好处| 中秋节为什么要吃月饼| 捞仔是什么意思| 脂肪瘤去医院挂什么科| 人工虎骨粉是什么做的| 心里恶心是什么原因| 耳鸣是什么原因| 梦见火烧房子是什么预兆| 为什么不敢挖雍正陵墓| 儿童手指头脱皮什么原因引起的| 牙龈出血吃什么| 正印代表什么意思| 欧莱雅适合什么年龄| 吃鸭蛋有什么好处和坏处| 鼻梁高的男人说明什么| 智人是什么意思| a型熊猫血是什么血型| 湿疹是长什么样的| 腋下黑是什么原因| 什么是湿热体质| 牛膝有什么功效| 青龙是什么意思| 什么是黑色素肿瘤| 吃什么可以止咳化痰| 多吃火龙果有什么好处和坏处| 养肝护肝吃什么药| 雌蕊由什么组成| 鸡茸是什么东西| 排卵期是什么| 狗头军师什么意思| 头发全白是什么病| 肝钙化灶什么意思| 尿液中粘液丝高是什么原因| sjh是什么意思| 521是什么星座| xo酱是什么酱| 怀孕肚皮痒是什么原因| 福建安溪名茶是什么| 肋骨下面是什么部位| 背胀是什么原因| 吃得苦中苦方为人上人是什么意思| 甘油三酯低是什么原因| 夏天脚出汗是什么原因| 11点多是什么时辰| 司马迁属什么生肖| 摆摊卖什么好| 旅拍什么意思| 篦子是什么东西| 虫草什么时候吃最好| 吐血挂什么科| 骨密度低吃什么药最快| 什么叫阴吹| 看灰指甲去医院挂什么科| 腿上长痣代表什么| 丁香泡水喝有什么功效和作用| nt检查需要注意什么| 乳腺增生什么意思| 启字五行属什么| 原住民是什么意思| 肚子咕噜响是什么原因| 鼻子出血挂什么科| 抽动症是什么引起的| 业障是什么意思| 6月8号什么星座| 才子是什么生肖| 跖疣挂什么科| 颜文字是什么意思| 纸尿裤nb是什么码| 扑街是什么意思| 白玉菩提是什么材质| 儿童上火了吃什么降火最快| 为什么会梦遗| 阴煞是什么意思| 什么情况需要根管治疗| 前列腺炎有什么症状| 满清十大酷刑是什么| 魏征字什么| cst是什么意思| 股票五行属什么| 杨桃什么季节成熟| 95511是什么电话| 廉租房和公租房有什么区别| 1996年是属什么生肖| 瘤是什么意思| npv是什么| 开塞露是什么成分| 46属什么| 死有余辜什么意思| 为什么会头疼| 吃什么可以瘦肚子| 新婚志喜是什么意思| 为什么会得心脏病| 孕妇肾积水是什么原因引起的| 郑中基为什么叫太子基| 滇是什么意思| 乳果糖什么时候吃效果更佳| 变化不著是什么意思| 干红是什么意思| 白蛋白低有什么症状| 什么护肤品比较好| 木鱼花是什么| 吃什么药可以延长射精| 什么是神话故事| 十二月十四日是什么星座| 社保卡是什么样的图片| 楚国是现在的什么地方| 拉屎出血是什么原因| 鱼的偏旁部首是什么| 反清复明是什么意思| 神经衰弱是什么意思| 雅字取名的寓意是什么| 你喜欢我什么| rna是什么| 农历7月是什么星座| 政五行属什么| 右手麻木是什么原因引起的| vans什么意思| 月经过后腰酸疼是什么原因| 生辰八字指的是什么| ab血型和o型生的孩子是什么血型| 两女 一杯是什么| 亚甲炎吃什么药效果好| 化学阉割什么意思| 大自然的馈赠什么意思| 莫代尔是什么面料| ebv病毒是什么| 牙龈发炎吃什么消炎药| camper是什么牌子| 敲定是什么意思| 孔雀鱼吃什么食物| 摩羯前面是什么星座| 脑供血不足是什么原因引起的| 睡不着觉去医院挂什么科| 女性为什么会得疱疹| 胰腺炎挂什么科室| 老舍为什么自杀| 骨折补钙吃什么钙片好| 83年属什么生肖| 百度Hopp til innhold

主板中的浩劫 华硕ROG STRIX Z270F GAMING主板评测

Fra Wikipedia, den frie encyklopedi
百度   不输旗舰机的外观  外观方面,联想S5手机,正面是一块英寸的18:9全面屏,分辨率为2160*1080,加上弧面玻璃设计,第一眼的视觉冲击力极强。

I matematikk, informatikk og logikk er typeteori studien av visse formelle systemer som relaterer termer til typer. Typeteori ble opprinnelig utviklet for reparere Russels og Whiteheads logiske system Principia Mathematica, som Kurt G?del i 1902 oppdaget var inkonsistent, men typeteori er i dag et studium i seg selv. Det forskes p? bruk av typeteori som et alternativ til mengdel?re som fundamentet for matematikk, og det er en n?r sammenheng mellom datatyper, slik man finner dem i programmeringsspr?k, og typene i typeteori. Videre er det en tett sammenheng med logikk, tydeliggjort av Curry-Howard-korrespondansen.

Lambdakalkylen med endelige typer

[rediger | rediger kilde]

Lambdakalylen med endelig typer (eng: "simply typed lambda calculus"), , ble utviklet av Alonzo Church i 1940, i et fors?k p? temme den utypete lambdakalkylen, som er logisk sett inkonsistent.

Den syntaktiske kategorien for typer defineres som f?lger, hvor er en mengde med "basistyper",

.

Et eksempel p? basistyper som man kan finne i programmeringsspr?k er

,

hvor nat st?r for naturlige tall, og bool for bolske verdier. Da vil f.eks. typen representere en funksjon som tar et naturlig tall og returnerer en boolsk verdi. En funksjon som tar flere argumenter, f.eks. pluss funksjonen, vil ha typen .

Termene i er definert som

.

Her represetnerer en funksjon som tar et argument av typen , og som returnerer . Jukstaposisjon av to termer, representerer funksjonskall (vanlig notasjon innen matematikk er ), og er referanse til en variable.

Typesjekking

[rediger | rediger kilde]

Relasjonen definerer hvorvidt et uttykk har typen under antagelsene (hvor representerer antagelsen at variabelen har typen ). kalles en kontekst. Relasjonen defineres som f?lger:

(var) (lam) (app)

For ? v?re formell, m? det spesifiseres hva er og hva og skal bety. Det er flere m?ter ? gj?re dette p?. Det konseptuelt enkleset er ? si at er en endelig, partiell funksjon fra mengden av variabler til typer, og ? definere som funksjonen slik at , og ellers , gitt at .

Semantikk

[rediger | rediger kilde]

Standardsemantikken for lambda kalkylen er -reduksjon, som kan defineres som , hvor er funksjonen som substituerer alle frie forekomster av i med , og samtidig passer p? at ingen av de fri variablene i blir bundet av binderne i . Siden et uttrykk p? formen kan -reduseres, kalles uttrykk p? den formen en "redex" (eng "reducable expression", norsk: reduserbart uttrykk).

Denne relasjonen kan s? l?ftes til en relasjon som gj?r en enkel -reduksjon hvor som helst i en term. Relasjonen defineres som f?lger:

Gjentatt reduksjon representeres med relasjonen , som tilsvarer den refleksive og transitive tillukkningen av , og som defineres som :

 

Hvis en term ikke kan reduseres, alts?, det finnes ingen slik at , s? kalles en verdi. Det er bevist at for alle termer , kontekster og typer slik at , s? vil slik at er en verdi. Dette er ikke tilfellet for utypet lambdakalkyle, hvor f.eks. termen ikke reduserer til noen verdi.

Lambdakalkyle à la Curry

[rediger | rediger kilde]

Presentasjonen av i avsnittene over, er presentert à la Church, siden termene er annotert med typer. Et alternativ er ? beholde de utypede termene fra den utypede lambdakalkylen. Dette kalles à la Curry, og definisjonen av termer er da:

og typerelasjonen er

  (var) (app)   (lam)

Hvorvidt et typesystem er presentert à la Curry eller Church vil f? f?lger for hvilke egenskaper systemet f?r. F.eks. kan et uttrykk i à la Church kun ha en type, mens i à la Curry kan et term ha mange forskjellige typer. For mer uttrykksfulle typesystemer, s? kan typesjekking bli uavgj?rbart i Curry form, mens de oftere er avgj?rbare i Church form. Noen typesystemer har kun mening i en av formuleringene.

Normalform

[rediger | rediger kilde]

I motsetning til utypet lambdakalkyle, s? har alle vell-typede termer i en unik normalform (opp til alpha-ekvivalens).

System F generaliserer -kalkyle med endelige typer, ved ? legge til kvantifisering over typer. Typesystemet g?r ogs? under navnene Andreordens -kalkulus og polymorfisk -kalkulus. System F ble oppdaget av b?de logikeren Jean-Yves Girard og informatikeren John C. Reynolds uanvhengig av hverandre.

Motivasjon

[rediger | rediger kilde]

Hvis man ser p? den utypede funksjonen , alts? identitetsfunksjone, s? kan man se at den har typen for alle i à la Curry. Men hvis funksjonen forekommer som en del-term og den bindes til en variabel, s? vil den variabelen kun ha èn type i den gitte derivasjonen. Det betyr at i m? man gjenta definisjoner for forskjellige typer, selv om det er ?un?dvendig?.

I System F l?ses dette ved ? innf?re variabler for typer og en kvantor som gj?r det mulig ? uttrykke for alle typer , s? er en type, hvor kan forekomme fritt i . Konkret notasjon for kvantoren er . Her er noen eksempler p? funksjonstyper hvor allkvantoren kommer til nytte:

  • . Identitetsfunksjonen.
  • . Funksjonen som legger til et element foran i en liste.
  • (Hvor er antatt en primitiv type for lister med elementer av en gitt type.)
  • . Typen for Church-enkodingen av naturlige tall.

Definisjon

[rediger | rediger kilde]

Typene fra utvides med to nye former:

hvor kalles en type-variabel, og representerer polymorfi.

Termene utvides med to nye konstrukt?rer:

hvor sier at termen skal fungere for alle typer satt inn i , og , som forventer at er av typen , betyr at uttrykket skal spesialiseres til typen .

Typereglene for System F er som for , men med to ekstra regler: og . Notasjonen betyr her mengden av frie type-variabler som forekommer i .

Eksempler

[rediger | rediger kilde]

Vi kan observere at vi n? kan definere en genrell identitetsfunksjon, som har typen . Hvis vi kaller funksjonen ser vi at uttrykket har typen .

Det er ogs? mulig ? representere naturlige tall ved ? benytte Churchs enkoding i System F. Ideen bak Churchs enkoding er at et tall representeres av en iterator som itererer ganger. I utypet -kalkyle kan man definere 0 som , alts? funksjonen som tar et element og en funksjon , og sender gjennom funksjonen null ganger. Videre defineres 1 som , alts? funksjonen som sender gjennom en gang, og 2 defineres som , funksjonen som sender gjennom to ganger. Generelt defineres tallet som funksjonen .

  • La v?re en forkortelse for typen .
  • La v?re definert som . Observer at .
  • La v?re definert som . Navnet er f?rste bokstav i suksessor, og representerer pluss en funksjonen. Observer at .

Barendregts lambda-kube

[rediger | rediger kilde]
Lambda cube

Matematikeren Henk Barendregt utviklet lambda-kuben, -kuben, for ? utforske forskjellige utvidelser av typesystemer. Han tar utgangspunkt i , og ser p? tre utvidelser, som vises som akser i kuben:

  1. Typeoperatorer — typer som er avhenger av typer, z-aksen
  2. Polymorphisme — termer som avhenger av typer, y-aksen
  3. Dependent typer — typer som avhenger av termer, x-aksen

Disse utvidelsene gir opphav til ?tte forskjellige typesystemer, avhengig av hvilke utvidelser man tar med. Lambda-kuben gir et rammeverk som definerer alle ?tte systemene samtidig, men det er ogs? mulig ? definere hvert system for seg selv. Hvis man ikke tar med noen av utvidelsene s? f?r man som beskrevet over, og tar man med alle, f?r man noe som tilsvarer Calculus of Constructions.

Definisjon av lambda kuben

[rediger | rediger kilde]

Det er ikke lenger praktisk ? ha to seperate syntaktiske kategorier for termer og typer, og i -kuben definerer man derfor pseudo-termer som

hvor er en mengde konstanter, som minst inneholder (les: type) og (les: 'kind').

Felles regler

[rediger | rediger kilde]

Alle systemene har noen regler til felles.

(ax) En type er en kind.
  (wk) Man kan legge til variabler.
  (var)
  (app)
  (abs)
(conv)

Parametriske regler

[rediger | rediger kilde]

F?lgende regel er parametrisk i .

Man kan bestemme hvilket typesystem man ?nsker ved ? bestemme hvilke instanser av man som er godtatt. Tabellen under lister opp alle mulighetene.

Dependent typer Polymorfi Typeoperatorer Forkortelse Navn
      Simply typed lambda calculus
     
      System F
      System F
      LF (Logical Framework)
     
     
     Coc, , Calculus of Construction


Egenskaper ved typesystemer

[rediger | rediger kilde]

To klassiske egenskaper som typesystemer kan ha er:

  • Preservering (eng: subject reduction el. preservation): hvis og , s? . Alts?, reduksjon bevarer typen.
  • Progresjon (eng: progress): hvis , s? er enten en verdi, eller s? eksisterer en slik at . Alts?, vel-typede termer henger ikke.

Litteratur

[rediger | rediger kilde]
可什么意思 冰醋酸是什么 西瓜虫吃什么 什么是苏打水 每天喝奶茶有什么危害
孩子喝什么牛奶有助于长高 肝火旺盛吃什么 做肠镜有什么危害 肚子饱胀是什么原因 狗肉配什么菜好吃
尿酮体是什么 抱怨是什么意思 元五行属性是什么 高汤是什么汤 光影什么
男性尿道疼痛小便刺痛吃什么药 反流性食管炎吃什么药 林深时见鹿是什么意思 月建是什么意思 男性婚检都检查什么项目
蔚姓氏读什么creativexi.com 祥云是什么意思hlguo.com 煲汤放什么药材补气血hcv9jop0ns1r.cn 一什么心hcv8jop1ns3r.cn 外阴瘙痒是什么原因hcv9jop0ns3r.cn
子时右眼跳是什么预兆hcv8jop9ns2r.cn 梦见狗咬我是什么意思xinmaowt.com 什么颜色属土zhongyiyatai.com 血压偏低是什么原因helloaicloud.com 冷艳是什么意思hcv8jop6ns0r.cn
梦见杀蛇是什么预兆hcv9jop5ns0r.cn 女生是什么意思hcv9jop0ns1r.cn uhd是什么意思onlinewuye.com sos是什么意思hcv8jop7ns0r.cn 什么是瘦马hcv8jop6ns1r.cn
小孩子手足口病有什么症状图片ff14chat.com 去海边穿什么hcv7jop9ns3r.cn 无孔不入是什么意思hcv8jop0ns6r.cn 专业职称是什么hcv8jop5ns4r.cn 622188开头是什么银行hcv8jop7ns8r.cn
百度