अधिकांश प्रकार के सिस्टम में, प्रकार के नियम फॉर्म के निर्णयों को परिभाषित करने के लिए एक साथ काम करते हैं:
Γ⊢e:τ
यह कहा गया है कि इस संदर्भ में अभिव्यक्ति ई प्रकार है τ । Apping अपने प्रकारों के लिए ई के मुक्त चर का मानचित्रण है ।Γeτ
Γe
एक प्रकार की प्रणाली में स्वयंसिद्ध और नियमों का एक सेट शामिल होगा ( राफेल के संकेत के रूप में अनुमान के नियमों की एक औपचारिक प्रणाली )।
एक स्वयंसिद्ध रूप है
Γ⊢e:τ
यह कहा गया है कि निर्णय रखती है (हमेशा)।Γ⊢e:τ
एक उदाहरण है
x:τ⊢x:τ
जो कहा गया है कि इस धारणा है कि चर के प्रकार के तहत है τ , तो अभिव्यक्ति एक्स प्रकार है τ ।xτxτ
इंजेक्शन नियम उन तथ्यों को लेते हैं जो पहले से निर्धारित किए गए हैं और उनसे बड़े तथ्यों का निर्माण करते हैं। उदाहरण के लिए इंजेक्शन नियम
Γ⊢e1:τ→τ′Γ⊢e2:τΓ⊢e1 e2:τ′
कहते हैं कि यदि मैं इस तथ्य की व्युत्पत्ति है और तथ्य की व्युत्पत्ति गामा ⊢ ई 2 : τ , तो मैं इस तथ्य की व्युत्पत्ति प्राप्त कर सकते हैं गामा ⊢ ई 1 ए 2 : τ ' । इस मामले में, यह फ़ंक्शन अनुप्रयोग टाइप करने के लिए नियम है।Γ⊢e1:τ→τ′Γ⊢e2:τΓ⊢e1 e2:τ′
इस नियम को पढ़ने के दो तरीके हैं:
- टॉप-डाउन - दिए गए दो एक्सप्रेशन (एक फंक्शन और एक अन्य एक्सप्रेशन) और उनके प्रकार पर कुछ अड़चनें, हम दिए गए टाइप के साथ एक और एक्सप्रेशन (फंक्शन के एप्लिकेशन को एक्सप्रेशन) का निर्माण कर सकते हैं।
- बॉटम-अप - एक अभिव्यक्ति दी गई है, जो इस मामले में, कुछ अभिव्यक्ति के लिए एक फ़ंक्शन का अनुप्रयोग है, जिस तरह से यह टाइप किया गया है वह पहले दो अभिव्यक्तियों को टाइप करके सुनिश्चित करता है कि उनके प्रकार कुछ बाधाओं को संतुष्ट करते हैं, अर्थात् पहला पहला है। फ़ंक्शन प्रकार और यह कि फ़ंक्शन का दूसरा प्रकार तर्क है।
कुछ इंजेक्शन नियम भी इसमें नई सामग्री जोड़कर हेरफेर करते हैं (व्यू-एड बॉटम अप)। यहां λ -abstraction के लिए नियम है :Γλ
Γx:τ⊢e:τ′Γ⊢λx.e:τ→τ′
एक व्युत्पत्ति वृक्ष बनाने के लिए विचार किए जा रहे अभिव्यक्ति के वाक्यविन्यास के आधार पर निष्कर्ष नियम लागू होते हैं। पेड़ की पत्तियों पर (शीर्ष पर) स्वयंसिद्ध होंगे, और प्रवेश नियमों को लागू करके शाखाएं बनाई जाएंगी। पेड़ के बहुत नीचे वह अभिव्यक्ति है जिसे आप टाइप करने में रुचि रखते हैं।
उदाहरण के लिए, अभिव्यक्ति टाइपिंग की एक व्युत्पत्ति हैλf.λx.f x
दो प्रकार सिस्टम के बारे में सीखने के लिए बहुत अच्छी किताबें हैं:
f:τ→τ′,x:τ⊢f:τ→τ′f:τ→τ′,x:τ⊢x:τf:τ→τ′,x:τ⊢f x:τ′f:τ→τ′⊢λx.f x:τ′⊢λf.λx.f x:τ′
दोनों किताबें बहुत व्यापक हैं, फिर भी वे एक ठोस आधार का निर्माण करते हुए, धीरे-धीरे शुरू होती हैं।