প্রথমত, কোডির একটি বিন্দুর পুনরাবৃত্তি করার জন্য, ক্যালকুলাস অফ ইন্ডুকিটিভ কনস্ট্রাকশনস (যা কোকের কার্নেল ভিত্তিক) ক্যালকুলাস অফ কনস্ট্রাকশন থেকে একেবারে পৃথক। মার্টিন-ল্যাফ টাইপ তত্ত্বটি মহাবিশ্বের সাথে শুরু করা এবং তারপরে শ্রেণিবিন্যাসের নীচে একটি সাজানো প্রপ যুক্ত করার পক্ষে এটি সবচেয়ে ভাল ধারণা করা হয়। এটি মূল কসির তুলনায় একেবারেই আলাদা প্রাণী, যা এফ-ওমেগার নির্ভরশীল সংস্করণ হিসাবে সবচেয়ে ভালভাবে বিবেচিত। (উদাহরণস্বরূপ, সিসি-তে থিওরিটিক মডেল রয়েছে এবং সিসি নেই))
এটি বলেছিল, ল্যাম্বডা-কিউব (যার মধ্যে কওসি সদস্য) সাধারণত টাইপিং বিধির সংখ্যায় অর্থনীতির কারণে বিশুদ্ধ টাইপ সিস্টেম হিসাবে উপস্থাপিত হয়। একই সিনট্যাকটিক বিভাগের উপাদান হিসাবে ধরণের, প্রকার এবং পদগুলির চিকিত্সা করে আপনি অনেকগুলি কম বিধি লিখে রাখতে পারেন এবং আপনার প্রমাণগুলিও বেশ খানিকটা কম রিডানড্যান্ট হয়ে যায়।
যাইহোক, বোঝার জন্য, এটি বিভিন্ন বিভাগগুলি স্পষ্ট করে আলাদা করা সহায়ক হতে পারে। আমরা তিন অন্বিত বিভাগগুলির পরিচয় করিয়ে দিতে পারেন ধরণের (metavariable দ্বারা ওভার সীমাকৃত k
), ধরনের (metavariable দ্বারা ওভার সীমাকৃত A
), এবং শর্তাবলী (metavariable দ্বারা ওভার সীমাকৃত e
)। তারপরে সমস্ত আটটি সিস্টেমে তিনটি স্তরের প্রত্যেকটিতে যা অনুমোদিত তা পরিবর্তক হিসাবে বোঝা যাবে।
λ → (কেবল-টাইপযুক্ত ল্যাম্বদা ক্যালকুলাস)
k ::= ∗
A ::= p | A → B
e ::= x | λx:A.e | e e
এটি বেসিক টাইপযুক্ত ল্যাম্বদা ক্যালকুলাস। এক ধরনের আছে ∗
, যা ধরণের। এগুলি নিজেরাই পারমাণবিক ধরণের p
এবং ফাংশনের ধরণের A → B
। শর্তাদি ভেরিয়েবল, বিমূর্ততা বা অ্যাপ্লিকেশন।
λω_ (এসটিএলসি + উচ্চতর ধরণের ধরণের অপারেটর)
k ::= ∗ | k → k
A ::= a | p | A → B | λa:k.A | A B
e ::= x | λx:A.e | e e
এসটিএলসি কেবলমাত্র পদগুলির স্তরে বিমূর্তির অনুমতি দেয়। যদি আমরা এগুলিকে ধরণের স্তরে যুক্ত করি তবে আমরা একটি নতুন ধরণের যোগ করি k → k
যা টাইপ-স্তরের কার্যকারিতা এবং প্রকারের স্তরেও বিমূর্ততা λa:k.A
এবং প্রয়োগ and A B
সুতরাং এখন আমাদের বহুবর্ষ নেই, তবে আমাদের কাছে টাইপ অপারেটর রয়েছে।
স্মৃতি যদি পরিবেশন করে তবে এই সিস্টেমের এসটিএলসির চেয়ে আরও বেশি গণনার শক্তি নেই; এটি আপনাকে প্রকারের সংক্ষিপ্তসার করার ক্ষমতা দেয়।
λ2 (সিস্টেম এফ)
k ::= ∗
A ::= a | p | A → B | ∀a:k. A
e ::= x | λx:A.e | e e | Λa:k. e | e [A]
প্রকার অপারেটরগুলি যুক্ত করার পরিবর্তে আমরা পলিমারফিজম যুক্ত করতে পারতাম। প্রকার স্তরে, আমরা যুক্ত করি ∀a:k. A
যা পূর্ববর্তী বহুবর্ষীয় টাইপ, এবং শব্দ পর্যায়ে, আমরা প্রকার Λa:k. e
এবং প্রকারের প্রয়োগের উপর বিমূর্ততা যুক্ত করি e [A]
।
এই সিস্টেমটি এসটিএলসির চেয়ে অনেক বেশি শক্তিশালী - এটি দ্বিতীয়-ক্রমের গাণিতিকের মতোই শক্তিশালী।
λω (সিস্টেম এফ-ওমেগা)
k ::= ∗ | k → k
A ::= a | p | A → B | ∀a:k. A | λa:k.A | A B
e ::= x | λx:A.e | e e | Λa:k. e | e [A]
আমাদের কাছে উভয় প্রকারের অপারেটর এবং পলিমারফিজম থাকলে আমরা এফ-ওমেগা পাই। এই সিস্টেমটি বেশিরভাগ আধুনিক ফাংশনাল ভাষার (যেমন এমএল এবং হাস্কেল) এর কার্নেল ধরণের তত্ত্বটি কমবেশি। এটি সিস্টেম এফের চেয়েও অনেক বেশি শক্তিশালী - এটি উচ্চতর অর্ডার গণিতের সমতুল্য।
(পি (এলএফ)
k ::= ∗ | Πx:A. k
A ::= a | p | Πx:A. B | Λx:A.B | A [e]
e ::= x | λx:A.e | e e
পলিমারফিজমের পরিবর্তে, আমরা কেবল টাইপ করা ল্যাম্বডা ক্যালকুলাস থেকে নির্ভরতার দিকে যেতে পারতাম। আপনি যদি তার ক্রিয়াকলাপটি রিটার্ন টাইপের (যেমন, Πx:A. B(x)
পরিবর্তে লিখুন A → B
) ব্যবহার করতে দেওয়ার জন্য ফাংশন প্রকারের অনুমতি দিয়ে থাকেন তবে আপনি λP পান। এটিকে সত্যিকারের উপযোগী করার জন্য, আমাদের এক ধরণের অপারেটরগুলির সাথে প্রকারের সেটটি প্রসারিত করতে হবে যা শর্তগুলি আর্গুমেন্ট হিসাবে গ্রহণ করে Πx:A. k
এবং তাই প্রকারের স্তরেও আমাদের সম্পর্কিত অ্যাবস্ট্রাকশন Λx:A.B
এবং অ্যাপ্লিকেশন যুক্ত করতে A [e]
হবে।
এই সিস্টেমটিকে কখনও কখনও এলএফ, বা এডিনবার্গ লজিকাল ফ্রেমওয়ার্ক বলা হয়।
এটি সরল-টাইপযুক্ত ল্যাম্বদা ক্যালকুলাসের মতোই গণ্য শক্তি রয়েছে।
2পি 2 (কোনও বিশেষ নাম নেই)
k ::= ∗ | Πx:A. k
A ::= a | p | Πx:A. B | ∀a:k.A | Λx:A.B | A [e]
e ::= x | λx:A.e | e e | Λa:k. e | e [A]
ΛP2 পেতে আমরা λP- তে পলিমারফিজমও যুক্ত করতে পারি। এই সিস্টেমটি প্রায়শই ব্যবহৃত হয় না, সুতরাং এর কোনও নির্দিষ্ট নাম নেই। (আমি যে পেপারটি পড়েছি এটি হরমান জিউভার্স ' ইনডাকশন দ্বিতীয় আদেশের উপর নির্ভরশীল প্রকারের তত্ত্বে অনুকরণযোগ্য নয় ))
এই সিস্টেমের সিস্টেম এফ এর মতোই শক্তি রয়েছে system
ωPω_ (কোনও বিশেষ নাম নেই)
k ::= ∗ | Πx:A. k | Πa:k. k'
A ::= a | p | Πx:A. B | Λx:A.B | A [e] | λa:k.A | A B
e ::= x | λx:A.e | e e
আমরা typePω- তে টাইপ অপারেটরগুলিও যুক্ত করতে পারি .Pλ_। এর মধ্যে Πa:k. k'
টাইপ অপারেটরদের জন্য এক ধরণের সংযোজন এবং সংশ্লিষ্ট টাইপ-লেভেল বিমূর্ততা Λx:A.B
এবং অ্যাপ্লিকেশন জড়িত A [e]
।
যেহেতু আবারও এসটিএলসির তুলনায় গণ্য শক্তি বাড়েনি, সুতরাং এই সিস্টেমটিও একটি যৌক্তিক কাঠামোর জন্য একটি সূক্ষ্ম ভিত্তি তৈরি করা উচিত, তবে কেউ এটি করেনি।
পিপি (নির্মাণের ক্যালকুলাস)
k ::= ∗ | Πx:A. k | Πa:k. k'
A ::= a | p | Πx:A. B | ∀a:k.A | Λx:A.B | A [e] | λa:k.A | A B
e ::= x | λx:A.e | e e | Λa:k. e | e [A]
পরিশেষে, আমরা rucPω_ নিয়ে একটি বহুবর্ষীয় প্রকারের প্রাক্তন ∀a:k.A
এবং মেয়াদী স্তরের বিমূর্তি Λa:k. e
এবং এর e [A]
জন্য অ্যাপ্লিকেশন যোগ করে rucPω, কনস্ট্রাকশনসের ক্যালকুলাস to
এ-সিস্টেমের প্রকারগুলি এফ-ওমেগার চেয়ে অনেক বেশি অভিব্যক্তিক, তবে এটির ক্ষেত্রে একই গণনা শক্তি রয়েছে।
soft-question
। আমি এখানে একটি বাস্তব প্রযুক্তিগত প্রশ্ন দেখতে পাচ্ছি না। আপনি যা জিজ্ঞাসা করছেন তা সম্পর্কে আপনি আরও কিছুটা নির্দিষ্ট হতে পারেন?