1696:
3006:
1318:
2698:
1691:{\displaystyle {\begin{aligned}\mathrm {AND} &=\lambda x^{\mathsf {Boolean}}\lambda y^{\mathsf {Boolean}}{.}x\,{\mathsf {Boolean}}\,y\,\mathbf {F} \\\mathrm {OR} &=\lambda x^{\mathsf {Boolean}}\lambda y^{\mathsf {Boolean}}{.}x\,{\mathsf {Boolean}}\,\mathbf {T} \,y\\\mathrm {NOT} &=\lambda x^{\mathsf {Boolean}}{.}x\,{\mathsf {Boolean}}\,\mathbf {F} \,\mathbf {T} \end{aligned}}}
3001:{\displaystyle {\begin{aligned}0&:=\Lambda \alpha .\lambda x^{\alpha }.\lambda f^{\alpha \to \alpha }.x\\1&:=\Lambda \alpha .\lambda x^{\alpha }.\lambda f^{\alpha \to \alpha }.fx\\2&:=\Lambda \alpha .\lambda x^{\alpha }.\lambda f^{\alpha \to \alpha }.f(fx)\\3&:=\Lambda \alpha .\lambda x^{\alpha }.\lambda f^{\alpha \to \alpha }.f(f(fx))\end{aligned}}}
2268:
2527:
530:
2097:
2630:
2007:
433:
3065:
1310:
179:
2394:
1006:
935:
440:
2686:
2263:{\displaystyle \mathrm {ISZERO} =\lambda n^{\forall \alpha .(\alpha \rightarrow \alpha )\rightarrow \alpha \rightarrow \alpha }{.}n\,{\mathsf {Boolean}}\,(\lambda x^{\mathsf {Boolean}}{.}\mathbf {F} )\,\mathbf {T} }
2343:
3169:: that every term in F2 satisfies a logical relation, which can be embedded into the logical relations P2. Reynolds proved that a Girard projection followed by a Reynolds embedding form the identity, i.e., the
2542:
3461:
1137:
1054:
721:
1877:
3165:: that in second-order intuitionistic predicate logic (P2), functions from the natural numbers to the natural numbers that can be proved total, form a projection from P2 into F2. Reynolds proved the
2703:
2547:
1323:
346:
4029:
1015:— not two — arguments. The latter two should be lambda expressions, but the first one should be a type. This fact is reflected in the fact that the type of these expressions is
1187:); otherwise, if such functions could be named (within System F), then there would be no need for the lambda-expressive apparatus capable of defining functions anonymously and for the
610:
2056:
1869:
1823:
1741:
1096:
787:
680:
3295:
789:
is the type of all functions which take as input a type α and two expressions of type α, and produce as output an expression of type α (note that we consider
562:
3334:
2082:
1181:
1159:
858:
836:
3400:
3367:
3017:
3551:
3531:
3511:
1217:
1212:
246:
226:
3137:
family. Over time, as the restrictions of HM-style type systems have become apparent, languages have steadily moved to more expressive logics for their type systems.
741:
630:
582:
290:
266:
202:
3267:
2522:{\displaystyle \forall \alpha .(K_{1}^{1}\rightarrow \dots \rightarrow \alpha )\dots \rightarrow (K_{1}^{m}\rightarrow \dots \rightarrow \alpha )\rightarrow \alpha }
115:
3245:
2378:
807:
1781:
1761:
941:
870:
3933:(1971). "Une Extension de l'Interpretation de Gödel à l'Analyse, et son Application à l'Élimination des Coupures dans l'Analyse et la Théorie des Types".
525:{\displaystyle {\frac {\Gamma ,\alpha ~{\text{type}}\vdash M{\mathbin {:}}\sigma }{\Gamma \vdash \Lambda \alpha .M{\mathbin {:}}\forall \alpha .\sigma }}}
3967:
3099:
The version of System F used in this article is as an explicitly typed, or Church-style, calculus. The typing information contained in λ-terms makes
4121:
3754:
300:
2638:
3161:, the second-order polymorphic lambda calculus (F2) was discovered by Girard (1972) and independently by Reynolds (1974). Girard proved the
3991:
3905:
2625:{\displaystyle {\begin{aligned}{\mathit {zero}}&:\mathrm {N} \\{\mathit {succ}}&:\mathrm {N} \rightarrow \mathrm {N} \end{aligned}}}
2296:
1056:; the universal quantifier binding the α corresponds to the Λ binding the alpha in the lambda expression itself. Also, note that
3675:
3408:
4078:
4056:
4022:
2002:{\displaystyle \mathrm {IFTHENELSE} =\Lambda \alpha .\lambda x^{\mathsf {Boolean}}\lambda y^{\alpha }\lambda z^{\alpha }.x\alpha yz}
1101:
1018:
685:
3141:, a Haskell compiler, goes beyond HM (as of 2008) and uses System F extended with non-syntactic type equality; non-HM features in
3583:
3146:
3126:
3859:
3130:
69:
2279:
428:{\displaystyle {\frac {\Gamma \vdash M{\mathbin {:}}\forall \alpha .\sigma }{\Gamma \vdash M\tau {\mathbin {:}}\sigma }}}
308:
4001:
Wells, J. B. (1994). "Typability and type checking in the second-order lambda-calculus are equivalent and undecidable".
94:
53:
3871:
Cardelli, Luca; Martini, Simone; Mitchell, John C.; Scedrov, Andre (1994). "An extension of system F with subtyping".
3579:
3697:
3663:
However, in it was shown that the obvious rules of conversion for this system, called F by chance, were converging.
4106:
4101:
3595:
3587:
73:
4111:
3138:
57:
3470:
is the system which allows functions from types to types where the argument (and result) may be of any order.
3855:
3591:
3134:
61:
3821:
587:
338:
The typing rules of System F are those of simply typed lambda calculus with the addition of the following:
3913:
1188:
3758:
2019:
1832:
1786:
1704:
1059:
750:
643:
101:, and binders for them. As an example, the fact that the identity function can have any type of the form
97:
has variables ranging over terms, and binders for them, System F additionally has variables ranging over
3084:
1184:
296:
49:
4072:
4116:
3158:
312:
65:
3274:
541:
3772:
3300:
3119:
3060:{\displaystyle \forall \alpha .(\alpha \rightarrow \alpha )\rightarrow \alpha \rightarrow \alpha }
2065:
1164:
1142:
841:
819:
3755:"The Church Project: Typability and type checking in {S}ystem {F} are equivalent and undecidable"
3378:
3214:
1305:{\displaystyle {\mathsf {Boolean}}\rightarrow {\mathsf {Boolean}}\rightarrow {\mathsf {Boolean}}}
84:
3339:
3104:
2278:
System F allows recursive constructions to be embedded in a natural manner, related to that in
174:{\displaystyle \vdash \Lambda \alpha .\lambda x^{\alpha }.x:\forall \alpha .\alpha \to \alpha }
4052:
4044:
4018:
3987:
3901:
3614:
3536:
3516:
3496:
1197:
810:
231:
211:
726:
615:
567:
275:
251:
187:
4010:
3963:
3955:
Interprétation fonctionnelle et élimination des coupures de l'arithmétique d'ordre supérieur
3950:
3938:
3930:
3876:
3742:
3654:
3252:
3123:
3111:
for a Curry-style variant of System F, that is, one that lacks explicit typing annotations.
3108:
87:
80:
3223:
2356:
3852:
3490:
3185:
2085:
861:
792:
320:
1001:{\displaystyle \mathbf {F} =\Lambda \alpha {.}\lambda x^{\alpha }\lambda y^{\alpha }{.}y}
930:{\displaystyle \mathbf {T} =\Lambda \alpha {.}\lambda x^{\alpha }\lambda y^{\alpha }{.}x}
3369:(the kind of functions from types to types, where the argument type is of a lower order)
632:
is bound. The first rule is that of application, and the second is that of abstraction.
4126:
4086:
3115:
2689:
1766:
1746:
304:
3981:
3942:
3747:
3730:
3715:
4095:
3848:
3658:
3485:
of the arguments for these mappings: they must be types rather than values. System F
3203:
3100:
744:
292:; the expression after the colon is the type of the lambda expression preceding it.)
205:
31:
3213:
can be defined inductively on a family of systems, where induction is based on the
3122:", or simply "HM", does have an easy type inference algorithm and is used for many
1139:, but it is not a symbol of System F itself, but rather a "meta-symbol". Likewise,
228:
is traditionally used to denote type-level functions, as opposed to the lower-case
4045:"V Polymorphism Ch. 23. Universal Types, Ch. 25. An ML Implementation of System F"
3645:
Girard, Jean-Yves (1986). "The system F of variable types, fifteen years later".
1183:
are also "meta-symbols", convenient shorthands, of System F "assemblies" (in the
3625:
3188:
319:, together with even more expressive typed lambda calculi, including those with
316:
3107:(1994) settled an "embarrassing open problem" by proving that type checking is
17:
4014:
3679:
315:
that uses only universal quantification. System F can be seen as part of the
3571:
3881:
2681:{\displaystyle \forall \alpha .\alpha \to (\alpha \to \alpha )\to \alpha }
2532:
For instance, the natural numbers can be defined as an inductive datatype
307:
in System F (without explicit type annotations) is undecidable. Under the
3796:
3731:"Typability and type checking in System F are equivalent and undecidable"
3620:
77:
2338:{\displaystyle K_{1}\rightarrow K_{2}\rightarrow \dots \rightarrow S}
3142:
1871:-typed terms as decision functions. However, if one is requested:
3680:"Practical Foundations for Programming Languages, Second Edition"
4004:
3456:{\displaystyle F_{\omega }={\underset {1\leq i}{\bigcup }}F_{i}}
3118:
for System F is impossible. A restriction of System F known as "
3617:— the existentially quantified counterparts of universal types
1214:-terms, we can define some logic operators (which are of type
3202:
combines the first axis (polymorphism) with the second axis (
1763:, specifying that the other two parameters that are given to
1132:{\displaystyle \forall \alpha .\alpha \to \alpha \to \alpha }
1049:{\displaystyle \forall \alpha .\alpha \to \alpha \to \alpha }
716:{\displaystyle \forall \alpha .\alpha \to \alpha \to \alpha }
2593:
2590:
2587:
2584:
2561:
2558:
2555:
2552:
248:
which is used for value-level functions. (The superscripted
2688:. The terms of this type comprise a typed version of the
3493:), though it does permit mappings from values to values (
3481:
of the arguments in these mappings, it does restrict the
68:, thus forming a theoretical basis for languages such as
3570:, pronounced "F-sub", is an extension of system F with
311:, System F corresponds to the fragment of second-order
3980:
Girard, Jean-Yves; Lafont, Yves; Taylor, Paul (1989).
3935:
3698:"Proofs of Programs and Formalisation of Mathematics"
3539:
3519:
3499:
3411:
3381:
3342:
3303:
3277:
3255:
3226:
3020:
2701:
2641:
2635:
The System F type corresponding to this structure is
2545:
2397:
2359:
2299:
2100:
2068:
2022:
1880:
1835:
1789:
1769:
1749:
1707:
1321:
1220:
1200:
1167:
1145:
1104:
1062:
1021:
944:
873:
844:
822:
816:
The following two definitions for the boolean values
795:
753:
729:
688:
646:
618:
590:
570:
544:
443:
349:
278:
254:
234:
214:
190:
118:
3860:Programming Languages and Foundations at Edinburgh
3545:
3525:
3505:
3455:
3394:
3361:
3328:
3289:
3261:
3239:
3059:
3011:If we reverse the order of the curried arguments (
3000:
2680:
2624:
2521:
2384:of these constructors, you can define the type of
2372:
2337:
2262:
2076:
2050:
2001:
1863:
1825:. As in Church encodings, there is no need for an
1817:
1775:
1755:
1735:
1690:
1304:
1206:
1175:
1153:
1131:
1090:
1048:
1000:
929:
852:
830:
801:
781:
735:
715:
674:
624:
604:
576:
556:
524:
427:
284:
260:
240:
220:
196:
173:
109:would be formalized in System F as the judgement
3853:The Girard-Reynolds Isomorphism (second edition)
3533:abstraction), and mappings from types to types (
3184:While System F corresponds to the first axis of
3091:, and returns another single-argument function.
2058:-typed value. The most fundamental predicate is
3773:"System FC: equality constraints and coercions"
3489:does not permit mappings from values to types (
340:
3957:(Ph.D. thesis) (in French), Université Paris 7
4007:Symposium on Logic in Computer Science (LICS)
3513:abstraction), mappings from types to values (
8:
30:For the electronic trance music artist, see
3875:. North Holland, Amsterdam. pp. 4–56.
3206:); it is a different, more complex system.
1011:(Note that the above two functions require
3880:
3746:
3538:
3518:
3498:
3447:
3425:
3416:
3410:
3386:
3380:
3353:
3341:
3314:
3302:
3276:
3254:
3231:
3225:
3019:
2955:
2939:
2879:
2863:
2812:
2796:
2748:
2732:
2702:
2700:
2640:
2613:
2605:
2583:
2582:
2573:
2551:
2550:
2546:
2544:
2487:
2475:
2470:
2431:
2419:
2414:
2396:
2364:
2358:
2317:
2304:
2298:
2255:
2254:
2246:
2241:
2216:
2215:
2204:
2180:
2179:
2178:
2170:
2131:
2101:
2099:
2069:
2067:
2024:
2023:
2021:
1978:
1965:
1933:
1932:
1881:
1879:
1837:
1836:
1834:
1791:
1790:
1788:
1768:
1748:
1709:
1708:
1706:
1679:
1678:
1673:
1672:
1648:
1647:
1646:
1638:
1613:
1612:
1587:
1579:
1574:
1573:
1549:
1548:
1547:
1539:
1514:
1513:
1481:
1480:
1458:
1449:
1448:
1444:
1420:
1419:
1418:
1410:
1385:
1384:
1352:
1351:
1326:
1322:
1320:
1278:
1277:
1250:
1249:
1222:
1221:
1219:
1199:
1168:
1166:
1146:
1144:
1103:
1064:
1063:
1061:
1020:
990:
984:
971:
959:
945:
943:
919:
913:
900:
888:
874:
872:
845:
843:
823:
821:
794:
755:
754:
752:
728:
687:
648:
647:
645:
617:
597:
589:
569:
543:
501:
500:
471:
470:
459:
444:
442:
411:
396:
395:
363:
362:
350:
348:
277:
253:
233:
213:
189:
138:
117:
4051:. MIT Press. pp. 339–362, 381–388.
3200:higher-order polymorphic lambda calculus
3083:. That is to say, a Church numeral is a
1191:, which works around that restriction.)
3637:
2353:itself appears within one of the types
3087:– it takes a single-argument function
2235:
2232:
2229:
2226:
2223:
2220:
2217:
2199:
2196:
2193:
2190:
2187:
2184:
2181:
2043:
2040:
2037:
2034:
2031:
2028:
2025:
1952:
1949:
1946:
1943:
1940:
1937:
1934:
1856:
1853:
1850:
1847:
1844:
1841:
1838:
1810:
1807:
1804:
1801:
1798:
1795:
1792:
1728:
1725:
1722:
1719:
1716:
1713:
1710:
1667:
1664:
1661:
1658:
1655:
1652:
1649:
1632:
1629:
1626:
1623:
1620:
1617:
1614:
1568:
1565:
1562:
1559:
1556:
1553:
1550:
1533:
1530:
1527:
1524:
1521:
1518:
1515:
1500:
1497:
1494:
1491:
1488:
1485:
1482:
1439:
1436:
1433:
1430:
1427:
1424:
1421:
1404:
1401:
1398:
1395:
1392:
1389:
1386:
1371:
1368:
1365:
1362:
1359:
1356:
1353:
1297:
1294:
1291:
1288:
1285:
1282:
1279:
1269:
1266:
1263:
1260:
1257:
1254:
1251:
1241:
1238:
1235:
1232:
1229:
1226:
1223:
1083:
1080:
1077:
1074:
1071:
1068:
1065:
860:are used, extending the definition of
774:
771:
768:
765:
762:
759:
756:
667:
664:
661:
658:
655:
652:
649:
3844:
3842:
3840:
3838:
3598:subtyping, which can be expressed in
605:{\displaystyle \alpha ~{\text{type}}}
76:. It was discovered independently by
7:
3582:since the 1980s because the core of
3553:abstraction at the level of types).
3071:is a function that takes a function
1701:Note that in the definitions above,
4083:: the workhorse of modern compilers
3873:Information and Computation, vol. 9
3757:. 29 September 2007. Archived from
3375:In the limit, we can define system
2084:if and only if its argument is the
2051:{\displaystyle {\mathsf {Boolean}}}
1864:{\displaystyle {\mathsf {Boolean}}}
1818:{\displaystyle {\mathsf {Boolean}}}
1736:{\displaystyle {\mathsf {Boolean}}}
1091:{\displaystyle {\mathsf {Boolean}}}
782:{\displaystyle {\mathsf {Boolean}}}
675:{\displaystyle {\mathsf {Boolean}}}
3969:Towards a Theory of Type Structure
3578:has been of central importance to
3520:
3021:
2923:
2847:
2780:
2716:
2642:
2614:
2606:
2574:
2398:
2132:
2117:
2114:
2111:
2108:
2105:
2102:
1916:
1909:
1906:
1903:
1900:
1897:
1894:
1891:
1888:
1885:
1882:
1594:
1591:
1588:
1462:
1459:
1333:
1330:
1327:
1105:
1022:
953:
882:
689:
507:
488:
482:
447:
383:
369:
353:
215:
153:
122:
25:
3696:Geuvers H, Nordström B, Dowek G.
1829:function as one can just use raw
3716:"Joe Wells's Research Interests"
3584:functional programming languages
3127:functional programming languages
2290:. These are functions typed as:
2256:
2247:
2070:
1680:
1674:
1575:
1450:
1169:
1147:
946:
875:
846:
824:
326:According to Girard, the "F" in
60:over types. System F formalizes
4122:Polymorphism (computer science)
4049:Types and Programming Languages
3898:Types and Programming Languages
3153:The Girard-Reynolds Isomorphism
3067:), then the Church numeral for
2349:Recursivity is manifested when
4003:Proceedings of the 9th Annual
3986:. Cambridge University Press.
3477:places no restrictions on the
3290:{\displaystyle J\Rightarrow K}
3281:
3051:
3045:
3042:
3036:
3030:
2991:
2988:
2979:
2973:
2959:
2906:
2897:
2883:
2816:
2752:
2692:, the first few of which are:
2672:
2669:
2663:
2657:
2654:
2610:
2513:
2510:
2504:
2498:
2495:
2481:
2463:
2460:
2454:
2448:
2442:
2439:
2425:
2407:
2329:
2323:
2310:
2251:
2205:
2162:
2156:
2153:
2147:
2141:
2016:is a function which returns a
1274:
1246:
1123:
1117:
1098:is a convenient shorthand for
1040:
1034:
796:
707:
701:
612:in the context indicates that
419:
405:
165:
1:
3943:10.1016/S0049-237X(08)70843-7
3937:. Amsterdam. pp. 63–92.
3822:"OCaml 4.09 reference manual"
3748:10.1016/S0168-0072(98)00047-5
557:{\displaystyle \sigma ,\tau }
3797:"OCaml 4.00.1 release notes"
3659:10.1016/0304-3975(86)90044-7
3647:Theoretical Computer Science
3329:{\displaystyle J\in F_{n-1}}
3114:Wells's result implies that
3095:Use in programming languages
3075:as argument and returns the
2077:{\displaystyle \mathbf {T} }
1176:{\displaystyle \mathbf {F} }
1154:{\displaystyle \mathbf {T} }
853:{\displaystyle \mathbf {F} }
831:{\displaystyle \mathbf {T} }
437:
343:
95:simply typed lambda calculus
54:simply typed lambda calculus
46:second-order lambda calculus
3580:programming language theory
3395:{\displaystyle F_{\omega }}
3171:Girard-Reynolds Isomorphism
42:polymorphic lambda calculus
4143:
3714:Wells, J.B. (2005-01-20).
3362:{\displaystyle K\in F_{n}}
3217:permitted in each system:
29:
4043:Pierce, Benjamin (2002).
3896:Pierce, Benjamin (2002).
3718:. Heriot-Watt University.
4015:10.1109/LICS.1994.316068
3546:{\displaystyle \lambda }
3526:{\displaystyle \Lambda }
3506:{\displaystyle \lambda }
2280:Martin-Löf's type theory
1207:{\displaystyle \lambda }
584:is a type variable, and
309:Curry–Howard isomorphism
241:{\displaystyle \lambda }
221:{\displaystyle \Lambda }
58:universal quantification
3856:University of Edinburgh
3592:parametric polymorphism
3269:(the kind of types) and
3145:'s type system include
2282:. Abstract structures (
736:{\displaystyle \alpha }
625:{\displaystyle \alpha }
577:{\displaystyle \alpha }
285:{\displaystyle \alpha }
261:{\displaystyle \alpha }
197:{\displaystyle \alpha }
62:parametric polymorphism
3914:Bounded quantification
3882:10.1006/inco.1994.1013
3547:
3527:
3507:
3457:
3396:
3363:
3330:
3291:
3263:
3262:{\displaystyle \star }
3241:
3163:Representation Theorem
3061:
3002:
2682:
2626:
2523:
2374:
2339:
2264:
2078:
2052:
2003:
1865:
1819:
1777:
1757:
1743:is a type argument to
1737:
1692:
1306:
1208:
1189:fixed-point combinator
1177:
1155:
1133:
1092:
1050:
1002:
931:
854:
832:
803:
783:
737:
717:
676:
626:
606:
578:
558:
526:
429:
330:was picked by chance.
286:
262:
242:
222:
198:
175:
3761:on 29 September 2007.
3735:Ann. Pure Appl. Logic
3590:family, support both
3548:
3528:
3508:
3458:
3397:
3364:
3331:
3292:
3264:
3242:
3240:{\displaystyle F_{n}}
3085:higher-order function
3062:
3003:
2683:
2627:
2524:
2375:
2373:{\displaystyle K_{i}}
2340:
2265:
2079:
2053:
2004:
1866:
1820:
1778:
1758:
1738:
1693:
1307:
1209:
1194:Then, with these two
1178:
1156:
1134:
1093:
1051:
1003:
932:
855:
833:
804:
784:
738:
718:
677:
627:
607:
579:
559:
527:
430:
297:term rewriting system
287:
268:means that the bound
263:
243:
223:
199:
176:
66:programming languages
50:typed lambda calculus
27:Typed lambda calculus
4009:. pp. 176–185.
3729:Wells, J.B. (1999).
3586:, like those in the
3537:
3517:
3497:
3473:Note that although F
3409:
3379:
3340:
3301:
3275:
3253:
3224:
3159:intuitionistic logic
3018:
2699:
2639:
2543:
2395:
2357:
2297:
2286:) are created using
2098:
2066:
2020:
1878:
1833:
1787:
1767:
1747:
1705:
1319:
1218:
1198:
1165:
1143:
1102:
1060:
1019:
942:
871:
842:
820:
802:{\displaystyle \to }
793:
751:
727:
686:
682:type is defined as:
644:
636:Logic and predicates
616:
588:
568:
542:
441:
347:
313:intuitionistic logic
301:strongly normalizing
276:
252:
232:
212:
188:
116:
52:that introduces, to
4073:Summary of System F
3167:Abstraction Theorem
2480:
2424:
2274:System F structures
4030:Postscript version
3777:gitlab.haskell.org
3543:
3523:
3503:
3453:
3441:
3392:
3359:
3326:
3287:
3259:
3237:
3103:straightforward.
3057:
2998:
2996:
2678:
2622:
2620:
2536:with constructors
2519:
2466:
2410:
2370:
2335:
2260:
2074:
2048:
1999:
1861:
1815:
1773:
1753:
1733:
1688:
1686:
1302:
1204:
1173:
1151:
1129:
1088:
1046:
998:
927:
850:
828:
799:
779:
733:
713:
672:
622:
602:
574:
554:
522:
425:
282:
258:
238:
218:
208:. The upper-case
194:
171:
85:computer scientist
4107:1974 in computing
4102:1971 in computing
4075:by Franck Binard.
3993:978-0-521-37181-0
3951:Girard, Jean-Yves
3931:Girard, Jean-Yves
3907:978-0-262-16209-8
3685:. pp. 142–3.
3615:Existential types
3426:
1776:{\displaystyle x}
1756:{\displaystyle x}
811:right-associative
600:
596:
536:
535:
520:
462:
458:
423:
56:, a mechanism of
16:(Redirected from
4134:
4062:
4028:
3997:
3983:Proofs and Types
3976:
3974:
3958:
3946:
3916:
3911:
3893:
3887:
3886:
3884:
3868:
3862:
3846:
3833:
3832:
3830:
3829:
3818:
3812:
3811:
3809:
3808:
3793:
3787:
3786:
3784:
3783:
3769:
3763:
3762:
3752:
3750:
3741:(1–3): 111–156.
3726:
3720:
3719:
3711:
3705:
3704:
3702:
3693:
3687:
3686:
3684:
3672:
3666:
3665:
3642:
3552:
3550:
3549:
3544:
3532:
3530:
3529:
3524:
3512:
3510:
3509:
3504:
3462:
3460:
3459:
3454:
3452:
3451:
3442:
3440:
3421:
3420:
3401:
3399:
3398:
3393:
3391:
3390:
3368:
3366:
3365:
3360:
3358:
3357:
3335:
3333:
3332:
3327:
3325:
3324:
3296:
3294:
3293:
3288:
3268:
3266:
3265:
3260:
3246:
3244:
3243:
3238:
3236:
3235:
3157:In second-order
3124:statically typed
3090:
3082:
3078:
3074:
3070:
3066:
3064:
3063:
3058:
3007:
3005:
3004:
2999:
2997:
2966:
2965:
2944:
2943:
2890:
2889:
2868:
2867:
2823:
2822:
2801:
2800:
2759:
2758:
2737:
2736:
2687:
2685:
2684:
2679:
2631:
2629:
2628:
2623:
2621:
2617:
2609:
2597:
2596:
2577:
2565:
2564:
2535:
2528:
2526:
2525:
2520:
2491:
2479:
2474:
2435:
2423:
2418:
2387:
2383:
2379:
2377:
2376:
2371:
2369:
2368:
2352:
2344:
2342:
2341:
2336:
2322:
2321:
2309:
2308:
2285:
2269:
2267:
2266:
2261:
2259:
2250:
2245:
2240:
2239:
2238:
2203:
2202:
2174:
2169:
2168:
2120:
2090:
2083:
2081:
2080:
2075:
2073:
2061:
2057:
2055:
2054:
2049:
2047:
2046:
2008:
2006:
2005:
2000:
1983:
1982:
1970:
1969:
1957:
1956:
1955:
1912:
1870:
1868:
1867:
1862:
1860:
1859:
1828:
1824:
1822:
1821:
1816:
1814:
1813:
1782:
1780:
1779:
1774:
1762:
1760:
1759:
1754:
1742:
1740:
1739:
1734:
1732:
1731:
1697:
1695:
1694:
1689:
1687:
1683:
1677:
1671:
1670:
1642:
1637:
1636:
1635:
1597:
1578:
1572:
1571:
1543:
1538:
1537:
1536:
1505:
1504:
1503:
1465:
1453:
1443:
1442:
1414:
1409:
1408:
1407:
1376:
1375:
1374:
1336:
1311:
1309:
1308:
1303:
1301:
1300:
1273:
1272:
1245:
1244:
1213:
1211:
1210:
1205:
1182:
1180:
1179:
1174:
1172:
1160:
1158:
1157:
1152:
1150:
1138:
1136:
1135:
1130:
1097:
1095:
1094:
1089:
1087:
1086:
1055:
1053:
1052:
1047:
1007:
1005:
1004:
999:
994:
989:
988:
976:
975:
963:
949:
936:
934:
933:
928:
923:
918:
917:
905:
904:
892:
878:
859:
857:
856:
851:
849:
837:
835:
834:
829:
827:
808:
806:
805:
800:
788:
786:
785:
780:
778:
777:
742:
740:
739:
734:
722:
720:
719:
714:
681:
679:
678:
673:
671:
670:
631:
629:
628:
623:
611:
609:
608:
603:
601:
598:
594:
583:
581:
580:
575:
563:
561:
560:
555:
531:
529:
528:
523:
521:
519:
506:
505:
480:
476:
475:
463:
460:
456:
445:
434:
432:
431:
426:
424:
422:
415:
401:
400:
381:
368:
367:
351:
341:
291:
289:
288:
283:
267:
265:
264:
259:
247:
245:
244:
239:
227:
225:
224:
219:
203:
201:
200:
195:
180:
178:
177:
172:
143:
142:
88:John C. Reynolds
81:Jean-Yves Girard
21:
4142:
4141:
4137:
4136:
4135:
4133:
4132:
4131:
4112:Lambda calculus
4092:
4091:
4082:
4069:
4059:
4042:
4039:
4037:Further reading
4034:
4025:
4000:
3994:
3979:
3972:
3962:
3949:
3929:
3925:
3920:
3919:
3908:
3895:
3894:
3890:
3870:
3869:
3865:
3847:
3836:
3827:
3825:
3820:
3819:
3815:
3806:
3804:
3795:
3794:
3790:
3781:
3779:
3771:
3770:
3766:
3753:
3728:
3727:
3723:
3713:
3712:
3708:
3700:
3695:
3694:
3690:
3682:
3674:
3673:
3669:
3644:
3643:
3639:
3634:
3611:
3603:
3577:
3568:
3562:
3560:
3535:
3534:
3515:
3514:
3495:
3494:
3491:dependent types
3488:
3476:
3469:
3443:
3430:
3412:
3407:
3406:
3382:
3377:
3376:
3349:
3338:
3337:
3310:
3299:
3298:
3273:
3272:
3251:
3250:
3247:permits kinds:
3227:
3222:
3221:
3212:
3196:
3182:
3180:
3155:
3097:
3088:
3080:
3076:
3072:
3068:
3016:
3015:
2995:
2994:
2951:
2935:
2916:
2910:
2909:
2875:
2859:
2840:
2834:
2833:
2808:
2792:
2773:
2767:
2766:
2744:
2728:
2709:
2697:
2696:
2690:Church numerals
2637:
2636:
2619:
2618:
2598:
2579:
2578:
2566:
2541:
2540:
2533:
2393:
2392:
2385:
2381:
2360:
2355:
2354:
2350:
2313:
2300:
2295:
2294:
2283:
2276:
2211:
2127:
2096:
2095:
2088:
2064:
2063:
2059:
2018:
2017:
1974:
1961:
1928:
1876:
1875:
1831:
1830:
1826:
1785:
1784:
1765:
1764:
1745:
1744:
1703:
1702:
1685:
1684:
1608:
1598:
1584:
1583:
1509:
1476:
1466:
1455:
1454:
1380:
1347:
1337:
1317:
1316:
1216:
1215:
1196:
1195:
1163:
1162:
1141:
1140:
1100:
1099:
1058:
1057:
1017:
1016:
980:
967:
940:
939:
909:
896:
869:
868:
862:Church booleans
840:
839:
818:
817:
791:
790:
749:
748:
725:
724:
684:
683:
642:
641:
638:
614:
613:
586:
585:
566:
565:
540:
539:
481:
446:
439:
438:
382:
352:
345:
344:
336:
321:dependent types
274:
273:
250:
249:
230:
229:
210:
209:
186:
185:
134:
114:
113:
35:
28:
23:
22:
18:Universal types
15:
12:
11:
5:
4140:
4138:
4130:
4129:
4124:
4119:
4114:
4109:
4104:
4094:
4093:
4090:
4089:
4087:Greg Morrisett
4080:
4076:
4068:
4067:External links
4065:
4064:
4063:
4057:
4038:
4035:
4033:
4032:
4023:
3998:
3992:
3977:
3964:Reynolds, John
3960:
3947:
3926:
3924:
3921:
3918:
3917:
3912:, Chapter 26:
3906:
3888:
3863:
3834:
3813:
3788:
3764:
3721:
3706:
3688:
3667:
3636:
3635:
3633:
3630:
3629:
3628:
3623:
3618:
3610:
3607:
3601:
3575:
3566:
3561:
3558:
3555:
3542:
3522:
3502:
3486:
3474:
3467:
3464:
3463:
3450:
3446:
3439:
3436:
3433:
3429:
3424:
3419:
3415:
3389:
3385:
3373:
3372:
3371:
3370:
3356:
3352:
3348:
3345:
3323:
3320:
3317:
3313:
3309:
3306:
3286:
3283:
3280:
3270:
3258:
3234:
3230:
3210:
3204:type operators
3194:
3181:
3178:
3175:
3154:
3151:
3120:Hindley–Milner
3116:type inference
3096:
3093:
3056:
3053:
3050:
3047:
3044:
3041:
3038:
3035:
3032:
3029:
3026:
3023:
3009:
3008:
2993:
2990:
2987:
2984:
2981:
2978:
2975:
2972:
2969:
2964:
2961:
2958:
2954:
2950:
2947:
2942:
2938:
2934:
2931:
2928:
2925:
2922:
2919:
2917:
2915:
2912:
2911:
2908:
2905:
2902:
2899:
2896:
2893:
2888:
2885:
2882:
2878:
2874:
2871:
2866:
2862:
2858:
2855:
2852:
2849:
2846:
2843:
2841:
2839:
2836:
2835:
2832:
2829:
2826:
2821:
2818:
2815:
2811:
2807:
2804:
2799:
2795:
2791:
2788:
2785:
2782:
2779:
2776:
2774:
2772:
2769:
2768:
2765:
2762:
2757:
2754:
2751:
2747:
2743:
2740:
2735:
2731:
2727:
2724:
2721:
2718:
2715:
2712:
2710:
2708:
2705:
2704:
2677:
2674:
2671:
2668:
2665:
2662:
2659:
2656:
2653:
2650:
2647:
2644:
2633:
2632:
2616:
2612:
2608:
2604:
2601:
2599:
2595:
2592:
2589:
2586:
2581:
2580:
2576:
2572:
2569:
2567:
2563:
2560:
2557:
2554:
2549:
2548:
2530:
2529:
2518:
2515:
2512:
2509:
2506:
2503:
2500:
2497:
2494:
2490:
2486:
2483:
2478:
2473:
2469:
2465:
2462:
2459:
2456:
2453:
2450:
2447:
2444:
2441:
2438:
2434:
2430:
2427:
2422:
2417:
2413:
2409:
2406:
2403:
2400:
2380:. If you have
2367:
2363:
2347:
2346:
2334:
2331:
2328:
2325:
2320:
2316:
2312:
2307:
2303:
2275:
2272:
2271:
2270:
2258:
2253:
2249:
2244:
2237:
2234:
2231:
2228:
2225:
2222:
2219:
2214:
2210:
2207:
2201:
2198:
2195:
2192:
2189:
2186:
2183:
2177:
2173:
2167:
2164:
2161:
2158:
2155:
2152:
2149:
2146:
2143:
2140:
2137:
2134:
2130:
2126:
2123:
2119:
2116:
2113:
2110:
2107:
2104:
2086:Church numeral
2072:
2062:which returns
2045:
2042:
2039:
2036:
2033:
2030:
2027:
2010:
2009:
1998:
1995:
1992:
1989:
1986:
1981:
1977:
1973:
1968:
1964:
1960:
1954:
1951:
1948:
1945:
1942:
1939:
1936:
1931:
1927:
1924:
1921:
1918:
1915:
1911:
1908:
1905:
1902:
1899:
1896:
1893:
1890:
1887:
1884:
1858:
1855:
1852:
1849:
1846:
1843:
1840:
1812:
1809:
1806:
1803:
1800:
1797:
1794:
1772:
1752:
1730:
1727:
1724:
1721:
1718:
1715:
1712:
1699:
1698:
1682:
1676:
1669:
1666:
1663:
1660:
1657:
1654:
1651:
1645:
1641:
1634:
1631:
1628:
1625:
1622:
1619:
1616:
1611:
1607:
1604:
1601:
1599:
1596:
1593:
1590:
1586:
1585:
1582:
1577:
1570:
1567:
1564:
1561:
1558:
1555:
1552:
1546:
1542:
1535:
1532:
1529:
1526:
1523:
1520:
1517:
1512:
1508:
1502:
1499:
1496:
1493:
1490:
1487:
1484:
1479:
1475:
1472:
1469:
1467:
1464:
1461:
1457:
1456:
1452:
1447:
1441:
1438:
1435:
1432:
1429:
1426:
1423:
1417:
1413:
1406:
1403:
1400:
1397:
1394:
1391:
1388:
1383:
1379:
1373:
1370:
1367:
1364:
1361:
1358:
1355:
1350:
1346:
1343:
1340:
1338:
1335:
1332:
1329:
1325:
1324:
1299:
1296:
1293:
1290:
1287:
1284:
1281:
1276:
1271:
1268:
1265:
1262:
1259:
1256:
1253:
1248:
1243:
1240:
1237:
1234:
1231:
1228:
1225:
1203:
1185:Bourbaki sense
1171:
1149:
1128:
1125:
1122:
1119:
1116:
1113:
1110:
1107:
1085:
1082:
1079:
1076:
1073:
1070:
1067:
1045:
1042:
1039:
1036:
1033:
1030:
1027:
1024:
1009:
1008:
997:
993:
987:
983:
979:
974:
970:
966:
962:
958:
955:
952:
948:
937:
926:
922:
916:
912:
908:
903:
899:
895:
891:
887:
884:
881:
877:
848:
826:
798:
776:
773:
770:
767:
764:
761:
758:
747:. This means:
732:
712:
709:
706:
703:
700:
697:
694:
691:
669:
666:
663:
660:
657:
654:
651:
637:
634:
621:
593:
573:
553:
550:
547:
534:
533:
518:
515:
512:
509:
504:
499:
496:
493:
490:
487:
484:
479:
474:
469:
466:
455:
452:
449:
436:
421:
418:
414:
410:
407:
404:
399:
394:
391:
388:
385:
380:
377:
374:
371:
366:
361:
358:
355:
335:
332:
305:type inference
299:, System F is
281:
257:
237:
217:
193:
182:
181:
170:
167:
164:
161:
158:
155:
152:
149:
146:
141:
137:
133:
130:
127:
124:
121:
26:
24:
14:
13:
10:
9:
6:
4:
3:
2:
4139:
4128:
4125:
4123:
4120:
4118:
4115:
4113:
4110:
4108:
4105:
4103:
4100:
4099:
4097:
4088:
4084:
4077:
4074:
4071:
4070:
4066:
4060:
4058:0-262-16209-1
4054:
4050:
4046:
4041:
4040:
4036:
4031:
4026:
4024:0-8186-6310-3
4020:
4016:
4012:
4008:
4006:
3999:
3995:
3989:
3985:
3984:
3978:
3971:
3970:
3965:
3961:
3956:
3952:
3948:
3944:
3940:
3936:
3932:
3928:
3927:
3922:
3915:
3909:
3903:
3900:. MIT Press.
3899:
3892:
3889:
3883:
3878:
3874:
3867:
3864:
3861:
3857:
3854:
3850:
3849:Philip Wadler
3845:
3843:
3841:
3839:
3835:
3823:
3817:
3814:
3802:
3798:
3792:
3789:
3778:
3774:
3768:
3765:
3760:
3756:
3749:
3744:
3740:
3736:
3732:
3725:
3722:
3717:
3710:
3707:
3703:. p. 51.
3699:
3692:
3689:
3681:
3677:
3671:
3668:
3664:
3660:
3656:
3652:
3648:
3641:
3638:
3631:
3627:
3624:
3622:
3619:
3616:
3613:
3612:
3608:
3606:
3604:
3597:
3593:
3589:
3585:
3581:
3573:
3569:
3556:
3554:
3540:
3500:
3492:
3484:
3480:
3471:
3448:
3444:
3437:
3434:
3431:
3427:
3422:
3417:
3413:
3405:
3404:
3403:
3387:
3383:
3354:
3350:
3346:
3343:
3321:
3318:
3315:
3311:
3307:
3304:
3284:
3278:
3271:
3256:
3249:
3248:
3232:
3228:
3220:
3219:
3218:
3216:
3207:
3205:
3201:
3197:
3190:
3187:
3176:
3174:
3172:
3168:
3164:
3160:
3152:
3150:
3148:
3144:
3140:
3136:
3132:
3128:
3125:
3121:
3117:
3112:
3110:
3106:
3102:
3101:type-checking
3094:
3092:
3086:
3054:
3048:
3039:
3033:
3027:
3024:
3014:
2985:
2982:
2976:
2970:
2967:
2962:
2956:
2952:
2948:
2945:
2940:
2936:
2932:
2929:
2926:
2920:
2918:
2913:
2903:
2900:
2894:
2891:
2886:
2880:
2876:
2872:
2869:
2864:
2860:
2856:
2853:
2850:
2844:
2842:
2837:
2830:
2827:
2824:
2819:
2813:
2809:
2805:
2802:
2797:
2793:
2789:
2786:
2783:
2777:
2775:
2770:
2763:
2760:
2755:
2749:
2745:
2741:
2738:
2733:
2729:
2725:
2722:
2719:
2713:
2711:
2706:
2695:
2694:
2693:
2691:
2675:
2666:
2660:
2651:
2648:
2645:
2602:
2600:
2570:
2568:
2539:
2538:
2537:
2516:
2507:
2501:
2492:
2488:
2484:
2476:
2471:
2467:
2457:
2451:
2445:
2436:
2432:
2428:
2420:
2415:
2411:
2404:
2401:
2391:
2390:
2389:
2365:
2361:
2332:
2326:
2318:
2314:
2305:
2301:
2293:
2292:
2291:
2289:
2281:
2273:
2242:
2212:
2208:
2175:
2171:
2165:
2159:
2150:
2144:
2138:
2135:
2128:
2124:
2121:
2094:
2093:
2092:
2087:
2015:
1996:
1993:
1990:
1987:
1984:
1979:
1975:
1971:
1966:
1962:
1958:
1929:
1925:
1922:
1919:
1913:
1874:
1873:
1872:
1770:
1750:
1643:
1639:
1609:
1605:
1602:
1600:
1580:
1544:
1540:
1510:
1506:
1477:
1473:
1470:
1468:
1445:
1415:
1411:
1381:
1377:
1348:
1344:
1341:
1339:
1315:
1314:
1313:
1201:
1192:
1190:
1186:
1126:
1120:
1114:
1111:
1108:
1043:
1037:
1031:
1028:
1025:
1014:
995:
991:
985:
981:
977:
972:
968:
964:
960:
956:
950:
938:
924:
920:
914:
910:
906:
901:
897:
893:
889:
885:
879:
867:
866:
865:
863:
814:
812:
746:
745:type variable
730:
710:
704:
698:
695:
692:
635:
633:
619:
591:
571:
551:
548:
545:
516:
513:
510:
502:
497:
494:
491:
485:
477:
472:
467:
464:
453:
450:
416:
412:
408:
402:
397:
392:
389:
386:
378:
375:
372:
364:
359:
356:
342:
339:
333:
331:
329:
324:
322:
318:
314:
310:
306:
302:
298:
293:
279:
271:
255:
235:
207:
206:type variable
191:
168:
162:
159:
156:
150:
147:
144:
139:
135:
131:
128:
125:
119:
112:
111:
110:
108:
104:
100:
96:
91:
89:
86:
82:
79:
75:
71:
67:
63:
59:
55:
51:
47:
43:
39:
33:
32:Ferry Corsten
19:
4048:
4002:
3982:
3968:
3954:
3934:
3897:
3891:
3872:
3866:
3826:. Retrieved
3824:. 2012-09-11
3816:
3805:. Retrieved
3803:. 2012-10-05
3800:
3791:
3780:. Retrieved
3776:
3767:
3759:the original
3738:
3734:
3724:
3709:
3691:
3670:
3662:
3650:
3646:
3640:
3599:
3564:
3563:
3482:
3478:
3472:
3465:
3374:
3208:
3199:
3192:
3186:Barendregt's
3183:
3170:
3166:
3162:
3156:
3113:
3098:
3012:
3010:
2634:
2531:
2348:
2288:constructors
2287:
2277:
2013:
2011:
1783:are of type
1700:
1193:
1012:
1010:
815:
639:
537:
337:
334:Typing rules
327:
325:
294:
269:
183:
106:
102:
98:
92:
45:
41:
37:
36:
4117:Type theory
3626:Lambda cube
3189:lambda cube
3109:undecidable
2012:will do. A
564:are types,
317:lambda cube
303:. However,
272:is of type
83:(1972) and
4096:Categories
3923:References
3828:2019-09-23
3807:2019-09-23
3782:2019-07-08
3574:. System F
3466:That is, F
3131:Haskell 98
1827:IFTHENELSE
3801:ocaml.org
3572:subtyping
3541:λ
3521:Λ
3501:λ
3435:≤
3428:⋃
3418:ω
3388:ω
3347:∈
3319:−
3308:∈
3282:⇒
3257:⋆
3105:Joe Wells
3079:power of
3055:α
3052:→
3049:α
3046:→
3040:α
3037:→
3034:α
3025:α
3022:∀
2963:α
2960:→
2957:α
2949:λ
2941:α
2933:λ
2927:α
2924:Λ
2887:α
2884:→
2881:α
2873:λ
2865:α
2857:λ
2851:α
2848:Λ
2820:α
2817:→
2814:α
2806:λ
2798:α
2790:λ
2784:α
2781:Λ
2756:α
2753:→
2750:α
2742:λ
2734:α
2726:λ
2720:α
2717:Λ
2676:α
2673:→
2667:α
2664:→
2661:α
2655:→
2652:α
2646:α
2643:∀
2611:→
2517:α
2514:→
2508:α
2505:→
2502:⋯
2499:→
2485:α
2461:→
2458:⋯
2452:α
2449:→
2446:⋯
2443:→
2429:α
2402:α
2399:∀
2330:→
2327:⋯
2324:→
2311:→
2209:λ
2166:α
2163:→
2160:α
2157:→
2151:α
2148:→
2145:α
2136:α
2133:∀
2125:λ
2014:predicate
1991:α
1980:α
1972:λ
1967:α
1959:λ
1926:λ
1920:α
1917:Λ
1606:λ
1507:λ
1474:λ
1378:λ
1345:λ
1275:→
1247:→
1202:λ
1127:α
1124:→
1121:α
1118:→
1115:α
1109:α
1106:∀
1044:α
1041:→
1038:α
1035:→
1032:α
1026:α
1023:∀
986:α
978:λ
973:α
965:λ
957:α
954:Λ
915:α
907:λ
902:α
894:λ
886:α
883:Λ
797:→
731:α
711:α
708:→
705:α
702:→
699:α
693:α
690:∀
620:α
592:α
572:α
552:τ
546:σ
517:σ
511:α
508:∀
492:α
489:Λ
486:⊢
483:Γ
478:σ
465:⊢
454:α
448:Γ
417:α
409:τ
403:σ
393:τ
387:⊢
384:Γ
379:σ
373:α
370:∀
357:⊢
354:Γ
280:α
256:α
236:λ
216:Λ
192:α
169:α
166:→
163:α
157:α
154:∀
140:α
132:λ
126:α
123:Λ
120:⊢
4079:System F
3966:(1974).
3953:(1972),
3676:Harper R
3621:System U
3609:See also
3600:System F
3565:System F
3557:System F
3483:universe
3209:System F
3193:System F
3177:System F
3133:and the
3129:such as
723:, where
328:System F
93:Whereas
78:logician
38:System F
3851:(2005)
3653:: 160.
3198:or the
70:Haskell
48:) is a
4081:ω
4055:
4021:
3990:
3904:
3596:record
3402:to be
3297:where
2060:ISZERO
809:to be
595:
538:where
457:
184:where
40:(also
4127:Logic
3973:(PDF)
3701:(PDF)
3683:(PDF)
3632:Notes
3602:<:
3576:<:
3567:<:
3559:<:
3479:order
3215:kinds
3143:OCaml
3013:i.e.,
1013:three
743:is a
295:As a
204:is a
99:types
4053:ISBN
4019:ISBN
4005:IEEE
3988:ISBN
3902:ISBN
3594:and
3336:and
3147:GADT
2388:as:
1161:and
838:and
640:The
599:type
532:(2)
461:type
435:(1)
72:and
4085:by
4011:doi
3939:doi
3877:doi
3743:doi
3655:doi
3139:GHC
1312:):
813:.)
64:in
44:or
4098::
4047:.
4017:.
3858:,
3837:^
3799:.
3775:.
3739:98
3737:.
3733:.
3678:.
3661:.
3651:45
3649:.
3605:.
3588:ML
3191:,
3173:.
3149:.
3135:ML
2921::=
2845::=
2778::=
2714::=
2091::
864::
323:.
105:→
90:.
74:ML
4061:.
4027:.
4013::
3996:.
3975:.
3959:.
3945:.
3941::
3910:.
3885:.
3879::
3831:.
3810:.
3785:.
3751:.
3745::
3657::
3487:ω
3475:ω
3468:ω
3449:i
3445:F
3438:i
3432:1
3423:=
3414:F
3384:F
3355:n
3351:F
3344:K
3322:1
3316:n
3312:F
3305:J
3285:K
3279:J
3233:n
3229:F
3211:ω
3195:ω
3179:ω
3089:f
3081:f
3077:n
3073:f
3069:n
3043:)
3031:(
3028:.
2992:)
2989:)
2986:x
2983:f
2980:(
2977:f
2974:(
2971:f
2968:.
2953:f
2946:.
2937:x
2930:.
2914:3
2907:)
2904:x
2901:f
2898:(
2895:f
2892:.
2877:f
2870:.
2861:x
2854:.
2838:2
2831:x
2828:f
2825:.
2810:f
2803:.
2794:x
2787:.
2771:1
2764:x
2761:.
2746:f
2739:.
2730:x
2723:.
2707:0
2670:)
2658:(
2649:.
2615:N
2607:N
2603::
2594:c
2591:c
2588:u
2585:s
2575:N
2571::
2562:o
2559:r
2556:e
2553:z
2534:N
2511:)
2496:]
2493:S
2489:/
2482:[
2477:m
2472:1
2468:K
2464:(
2455:)
2440:]
2437:S
2433:/
2426:[
2421:1
2416:1
2412:K
2408:(
2405:.
2386:S
2382:m
2366:i
2362:K
2351:S
2345:.
2333:S
2319:2
2315:K
2306:1
2302:K
2284:S
2257:T
2252:)
2248:F
2243:.
2236:n
2233:a
2230:e
2227:l
2224:o
2221:o
2218:B
2213:x
2206:(
2200:n
2197:a
2194:e
2191:l
2188:o
2185:o
2182:B
2176:n
2172:.
2154:)
2142:(
2139:.
2129:n
2122:=
2118:O
2115:R
2112:E
2109:Z
2106:S
2103:I
2089:0
2071:T
2044:n
2041:a
2038:e
2035:l
2032:o
2029:o
2026:B
1997:z
1994:y
1988:x
1985:.
1976:z
1963:y
1953:n
1950:a
1947:e
1944:l
1941:o
1938:o
1935:B
1930:x
1923:.
1914:=
1910:E
1907:S
1904:L
1901:E
1898:N
1895:E
1892:H
1889:T
1886:F
1883:I
1857:n
1854:a
1851:e
1848:l
1845:o
1842:o
1839:B
1811:n
1808:a
1805:e
1802:l
1799:o
1796:o
1793:B
1771:x
1751:x
1729:n
1726:a
1723:e
1720:l
1717:o
1714:o
1711:B
1681:T
1675:F
1668:n
1665:a
1662:e
1659:l
1656:o
1653:o
1650:B
1644:x
1640:.
1633:n
1630:a
1627:e
1624:l
1621:o
1618:o
1615:B
1610:x
1603:=
1595:T
1592:O
1589:N
1581:y
1576:T
1569:n
1566:a
1563:e
1560:l
1557:o
1554:o
1551:B
1545:x
1541:.
1534:n
1531:a
1528:e
1525:l
1522:o
1519:o
1516:B
1511:y
1501:n
1498:a
1495:e
1492:l
1489:o
1486:o
1483:B
1478:x
1471:=
1463:R
1460:O
1451:F
1446:y
1440:n
1437:a
1434:e
1431:l
1428:o
1425:o
1422:B
1416:x
1412:.
1405:n
1402:a
1399:e
1396:l
1393:o
1390:o
1387:B
1382:y
1372:n
1369:a
1366:e
1363:l
1360:o
1357:o
1354:B
1349:x
1342:=
1334:D
1331:N
1328:A
1298:n
1295:a
1292:e
1289:l
1286:o
1283:o
1280:B
1270:n
1267:a
1264:e
1261:l
1258:o
1255:o
1252:B
1242:n
1239:a
1236:e
1233:l
1230:o
1227:o
1224:B
1170:F
1148:T
1112:.
1084:n
1081:a
1078:e
1075:l
1072:o
1069:o
1066:B
1029:.
996:y
992:.
982:y
969:x
961:.
951:=
947:F
925:x
921:.
911:y
898:x
890:.
880:=
876:T
847:F
825:T
775:n
772:a
769:e
766:l
763:o
760:o
757:B
696:.
668:n
665:a
662:e
659:l
656:o
653:o
650:B
549:,
514:.
503::
498:M
495:.
473::
468:M
451:,
420:]
413:/
406:[
398::
390:M
376:.
365::
360:M
270:x
160:.
151::
148:x
145:.
136:x
129:.
107:A
103:A
34:.
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.