কোলন কেন বোঝায় যে একটি মান একটি প্রকারের সাথে সম্পর্কিত?


19

পিয়ার্স (2002) লিখে 92 পৃষ্ঠায় টাইপিং সম্পর্কটি প্রবর্তন করেছেন:

গাণিতিক এক্সপ্রেশনগুলির জন্য টাইপিং সম্পর্ক, "t: T" লিখিত, শর্তাদির প্রকারভেদে নির্ধারিত নিয়মগুলির একটি সেট দ্বারা সংজ্ঞায়িত করা হয়

এবং পাদটীকাতে প্রতীক প্রায়শই এর পরিবর্তে ব্যবহৃত হয়:। আমার প্রশ্নটি হ'ল টাইপ থিওরিস্টরা কেন ব্যবহার করতে পছন্দ ? যদি কোনও টাইপ মানগুলির সেট হয় তবে এটি লেখার জন্য সঠিক ধারণা তৈরি করে , কোনও নতুন চিহ্নের প্রয়োজন নেই।টি টি টিটিtটি

কিছু সিএস লেখক এমনকি এটিকে স্বরলিপিটি অপব্যবহার বলে মনে করেন written লেখা উচিত তা কী এটির মতো ?3এন2=হে(এন2)3এন2হে(এন2)


7
সদস্যতা প্রিডিকেট xX হয় সত্য বা মিথ্যা হতে পারে, যেখানে একটি টাইপিং ঘোষণার সাধারণত সত্যবাদী বিবৃতি হিসাবে ব্যাখ্যা করা হয় যা সত্য বলে ঘোষিত হয় বা এটি সত্য নিখুঁত বাক্য গঠন দ্বারা উদ্ভব করা যেতে পারে । এটিকে একটি প্রধান সংখ্যা হিসাবে তুলনা করুন, যার জন্য সদস্যতার কোনও সিনট্যাক্টিক পদ্ধতিই যথেষ্ট নয়। এক্স:এক্স
মুসা আল-হাসি

4
@ মুসাআল-ঝামেলা: এটি যা চলছে তার একটি ভুল উপস্থাপনা। তা না হয় ঘোষিত যে অর্থ হবে, সত্য হতে পারে যে আমি "ঘোষণা" করতে পারেন যে, " false: int", উদাহরণস্বরূপ। উভয়ই নয় যে রায়টি অবশ্যই "খাঁটি সিনট্যাকটিক উপায়ে" দ্বারা উত্পন্ন করা উচিত, উদাহরণস্বরূপ পরিবারের সাথে একটি বিভাগের অভ্যন্তরীণ ধরণের তত্ত্বের ক্ষেত্রে।
আন্দ্রেজ বাউয়ার


2
মধ্যে @ MusaAl-hassy এর মন্তব্যের জুড়তে, computatioal টাইপ তত্ত্ব বব কনস্টেবল, স্টুয়ার্ট অ্যালেন, বব হার্পার, এট অল। এর, কারণ এটি সদস্যতার একটি বিধেয় আরো সদৃশ এর টাইপিং আদালতের রায় জন্য নিয়মিতভাবে ব্যবহার করা হয় (দেখুন এই টক, স্লাইড 25 , উদাহরণস্বরূপ)।
xrq

3
অবশ্যই এটিও স্বরলিপিটির অপব্যবহার লেখা উচিত ? (গণিতবিদরা পছন্দ করতে পারেন )λ n .3 এন 2( λ n N 2 ) এন 3 এন 2( এন n 2 )3এন2হে(এন2)λএন.3এন2হে(λএনএন2)এন3এন2হে(এনএন2)
অস্কার কানিংহাম

উত্তর:


12

কারণ কোলনের ডানদিকে যা আছে তা অগত্যা কোনও সেট নয় এবং কোলনের বামে কী রয়েছে তা অগত্যা সেই সেটটির সদস্য নয়।

গণিতের ভিত্তির দিকে এগিয়ে যাওয়ার জন্য ধরণের তত্ত্বটি বিশ শতকের গোড়ার দিকে শুরু হয়েছিলবার্ট্র্যান্ড রাসেল নিখরচায় সেট সেট তত্ত্বের একটি প্যারাডক্স আবিষ্কার করেছিলেন এবং সেট (তাত্পর্যপূর্ণ কোনও তত্ত্ব) এড়ানোর জন্য সেট থিওরিটির উদ্বেগ শক্তিকে সীমাবদ্ধ করার উপায় হিসাবে তিনি টাইপ থিওরিতে কাজ করেছিলেন। বছরের পর বছর ধরে, রাসেল এবং অন্যান্যরা বিভিন্ন ধরণের তত্ত্বগুলি সংজ্ঞায়িত করেছেন। কিছু ধরণের তত্ত্বের মধ্যে, নির্দিষ্ট বৈশিষ্ট্যগুলির সাথে প্রকারগুলি সেট করা হয়, তবে অন্যদের মধ্যে এগুলি ভিন্ন ধরণের জন্তু।

বিশেষত, ধরণের অনেক তত্ত্বের একটি সিনট্যাকটিক গঠন রয়েছে ulation এমন কিছু নিয়ম রয়েছে যেগুলির কারণে কোনও জিনিস এক ধরণের হয়ে যায়। যখন টাইপিংয়ের নিয়ম কোনও তত্ত্বের ভিত্তি হিসাবে ব্যবহৃত হয়, টাইপিং বিধিগুলি অতিরিক্ত বাহ্যিক জ্ঞান প্রয়োগের মাধ্যমে কোনও ব্যক্তিকে কী অনুমান করতে পারে তার থেকে কী বোঝায় তা পার্থক্য করা গুরুত্বপূর্ণ। এটি বিশেষত গুরুত্বপূর্ণ যদি টাইপিং বিধিগুলি একটি প্রুফ তত্ত্বের ভিত্তি হয়: উদাহরণস্বরূপ, শাস্ত্রীয় যুক্তি এবং পছন্দের অক্ষরেখার সাথে সেট তত্ত্বের উপর ভিত্তি করে যে উপপাদ্যগুলি গঠনমূলক যুক্তিকে ধারণ করতে পারে বা নাও রাখতে পারে। এই ডোমেনে ধাতুগত কাগজপত্র এক চার্চ এর প্রকারভেদ সরল তত্ত্বটির প্রণয়ন (1940)

সম্ভবত যেভাবে প্রকার এবং সেটগুলির মধ্যে পার্থক্য সবচেয়ে স্পষ্ট তা হ'ল সেটগুলির সর্বাধিক প্রাথমিক নিয়ম, যথা দুটি সেট সমান হয় যদি তাদের একই উপাদান থাকে তবে সাধারণত প্রকারের জন্য প্রয়োগ হয় না। দেখুন Andrej বাউইর এর উত্তর এখানে এবং একটি সম্পর্কিত প্রশ্নে তার উত্তর কিছু উদাহরণ জন্য। এই দ্বিতীয় থ্রেডে পড়ার মতো অন্যান্য উত্তর রয়েছে।

টাইপ করা ক্যালকুলাসে, টাইপগুলি সেট রয়েছে তা আসলে ধরণের শব্দার্থকে বোঝাতে হয়। কোনও ক্যালকুলাসকে টাইপ-তাত্ত্বিক শব্দার্থবিদ্যা দেওয়া তুচ্ছ নয়। উদাহরণস্বরূপ, ধরুন আপনি ফাংশন সহ কোনও ভাষার সংজ্ঞা দিচ্ছেন। কোন ফাংশন কি ধরণের সেট? মোট ফাংশনগুলি তাদের গ্রাফ দ্বারা নির্ধারিত হয়, যেমন আমরা সেট থিওরিতে 101 শিখিয়েছি। তবে আংশিক কার্যকারিতা সম্পর্কে কী বলা যায়? আপনি কি সমস্ত অ-সমাপ্ত ফাংশনগুলিকে একই শব্দার্থবিজ্ঞান দিতে চান? আপনি কোনও ক্যালকুলাসের সেট হিসাবে ধরণের ব্যাখ্যা করতে পারবেন না যা আপনি এই প্রশ্নের উত্তর না দেওয়া পর্যন্ত পুনরাবৃত্ত ফাংশনগুলিকে মঞ্জুরি দেয়। ১৯ programming০ এর দশকের গোড়ার দিকে প্রোগ্রামিং ভাষা বা ক্যালকুলিকে একটি স্বীকৃতিমূলক শব্দার্থবিদ্যা দেওয়া একটি কঠিন সমস্যা ছিল। এখানে ধাতুগত কাগজ দিকে কম্পিউটার ভাষার জন্য একটি গাণিতিক শব্দার্থবিদ্যা (1971) দ্বারাডানা স্কট এবং ক্রিস্টোফার স্ট্রেচিHaskell, উইকিবুক ইন বিষয়ে একটি ভাল উপস্থাপনা হয়েছে।

আমি উপরে যেমন লিখেছি, উত্তরের দ্বিতীয় অংশটি হ'ল আপনি যদি টাইপগুলিকে একটি সেট-তাত্ত্বিক শব্দার্থবিদ্যা দিতে সক্ষম হন তবে কোলনের বাম দিকের জিনিসটি সর্বদা সেটটির উপাদান হয় না। মানগুলির মধ্যে প্রকারভেদ থাকে তবে অন্যান্য জিনিস যেমন এক্সপ্রেশন এবং ভেরিয়েবলগুলি থাকে । উদাহরণস্বরূপ, একটি টাইপড প্রোগ্রামিং ভাষার একটি এক্সপ্রেশনের একটি টাইপ থাকে এমনকি এটি শেষ না হলেও। আপনি গলিয়ে মিশিয়ে করতে ইচ্ছুক হতে পারে integerএবং জেড কিন্তু (x := 0; while true; do x := x + 1; x)একটি উপাদান নয় জেড

কোলন স্বরলিপি কখন প্রকারের জন্য উত্থাপিত হয়েছিল তা আমি জানি না। এটি এখন শব্দার্থবিদ্যায় প্রমিত, এবং প্রোগ্রামিং ভাষায় প্রচলিত, তবে রাসেল বা চার্চ কেউই এটি ব্যবহার করেননি। কম্পিউটারে কাজ করার একটি ভাষা এটা ব্যবহার করেছিলেন না, কিন্তু প্রচন্ডভাবে কম্পিউটারে কাজ করার একটি ভাষা-অনুপ্রাণিত ভাষা পাসকাল 1971 সালের করেছিল আমি সন্দেহ এটা, প্রথম ছিল না যদিও, কারণ 1970 থেকে অনেক তত্ত্ব কাগজপত্র স্বরলিপি ব্যবহার করেন, কিন্তু আমি একটি জানা নেই আগের ব্যবহার। মজার বিষয় হল, প্রোগ্রামিং এবং যুক্তি থেকে বিভিন্ন ধরণের ধারণাগুলি একত্রিত হওয়ার খুব শীঘ্রই এটি হয়েছিল - সিমোন মার্টিনি প্রোগ্রামিং ভাষাগুলিতে বিভিন্ন ধরণের টাইপগুলিতে দেখায় , 1960 সাল পর্যন্ত প্রোগ্রামিং ভাষায় যাকে "টাইপ" বলা হত, স্থানীয় ভাষায় এসেছে টাইপ থিওরি থেকে নয় শব্দটির ব্যবহার।


37

প্রধান কারণ কোলন স্বরলিপি পছন্দ t:টি সদস্য সম্পর্ক করার tটি যে সদস্য পদ সম্পর্ক কারণ বিভ্রান্তিকর হতে পারে প্রকার (শুধু) সংগ্রহের নয়

[ প্রাসঙ্গিক: আমি সচেতন থাকা আবশ্যক ঐতিহাসিকভাবে যে ধরনের তত্ত্ব ছিল ব্যবহার করে লেখা । টাইপ মার্টিন-Löf এর ধারণা গঠনমূলক ক্যাপচার সেট অভিপ্রেত ছিল, এবং ইতিমধ্যে রাসেল ও হোয়াইটহেড ব্যবহৃত ε বর্গ memebrship জন্য। এই মুহুর্তটি ট্র্যাক করা আকর্ষণীয় হবে যখন : চেয়ে বেশি প্রচলিত হয়ে উঠেছে ]]

একটি প্রকার নির্দিষ্ট ধরণের নির্মাণের বর্ণনা দেয়, অর্থাত্ কোনও নির্দিষ্ট কাঠামোর সাহায্যে কীভাবে বস্তু তৈরি করতে হয়, কীভাবে সেগুলি ব্যবহার করতে হয় এবং কী সমীকরণগুলি তাদের সম্পর্কে ধারণ করে।

উদাহরণস্বরূপ একটি পণ্যের ধরণের একজন×বি এর পরিচিতি বিধি রয়েছে যাতে কীভাবে অর্ডার করা জোড়গুলি তৈরি করতে হয় এবং নির্মূলের বিধিগুলি ব্যাখ্যা করে যে আমরা একজন×বি এর যে কোনও উপাদান থেকে প্রথম এবং দ্বিতীয় উপাদানগুলি প্রজেক্ট করতে পারি । একজন×বি এর সংজ্ঞা "সকলের সংগ্রহ ..." শব্দের সাথে শুরু হয় না এবং " একজন×বি এর সমস্ত উপাদানই জোড়া হয়" এর মতো কোথাও কিছু বলে না (তবে এটি সংজ্ঞা থেকে অনুসরণ করে যে প্রতিটি উপাদানকে একজন×বি হয় propositionallyএক জোড়া সমান)। বৈশাদৃশ্য সালে, সেট-তত্ত্বীয় সংজ্ঞা এক্স×ওয়াই হয় যেমন "সব আদেশ যুগলের সেট ..." বলেন।

স্বরলিপি টি:টি সত্য যে প্রকাশ করে টি কাঠামো দ্বারা বর্ণিত হয়েছে টি

একটি টাইপ টি এর প্রসারণের সাথে বিভ্রান্ত হওয়ার দরকার নেই , এটি টি টাইপের সমস্ত বস্তুর সংগ্রহ । কোনও প্রকার তার সম্প্রসারণ দ্বারা নির্ধারিত হয় না , যেমন কোনও গ্রুপ তার ক্যারিয়ার সেট দ্বারা নির্ধারিত হয় না। তদুপরি, এটিও ঘটতে পারে যে দুটি ধরণের একই এক্সটেনশন রয়েছে তবে উদাহরণস্বরূপ পৃথক:

  1. দুটি এমনকি বৃহত্তর সমস্ত প্রাইমের প্রকার: Σ(এন:এন)আমিগুলিপিRআমিমি(এন)×আমিগুলিবনামএন(এন)×(এন>2)
  2. দুটি তুলনায় ছোট ছোট সমস্ত বিজোড় প্রাইমগুলির প্রকার: Σ(এন:এন)আমিগুলিপিRআমিমি(এন)×আমিগুলি(এন)×(এন<2)

উভয়ের এক্সটেনশান খালি, তবে তারা একই ধরণের নয়।

সেখানে টাইপ-তত্ত্বীয় মধ্যে আরও কিছু পার্থক্য রয়েছে : এবং সেট-তত্ত্বীয় । একটি বস্তু একটি সেট তত্ত্ব স্বাধীনভাবে কি সেট করে এটা জন্যে বিদ্যমান, এবং এটা বেশ সেট অধিকারভুক্ত নেই। বিপরীতে, বেশিরভাগ ধরণের তত্ত্বগুলি টাইপিংয়ের স্বতন্ত্রতা পূরণ করে: যদি টি:টি এবং টি:ইউ তারপর টিইউ । অথবা এটা ভিন্নভাবে করা, একটি টাইপ-তত্ত্বীয় নির্মাণ টি অবিকল এক ধরনের আছে টি , এবং সত্য মাত্র একটি বস্তু আছে কোন উপায় নেই টি তার (স্বতন্ত্র নির্ধারিত) টাইপ ছাড়া।

আরেকটি পার্থক্য হল যে সেট তত্ত্ব আমরা করতে পারেন অস্বীকার সত্য যে একটিএকজন লেখা দ্বারা ¬(একটিএকজন) বা একটিএকজন । টাইপ থিওরিতে এটি সম্ভব নয়, কারণ টি:টি একটি রায় যা টাইপ তত্ত্বের নিয়ম ব্যবহার করে উদ্ভূত হতে পারে, তবে টাইপ থিওরিতে এমন কিছু নেই যা আমাদের জানাতে দেয় যে কোনও কিছু উত্পন্ন হয়নি। কোনও শিশু যখন লেগো ব্লকগুলি থেকে কিছু তৈরি করে তারা গর্বের সাথে তাদের বাবা-মায়ের কাছে নির্মাণ দেখানোর জন্য ছুটে যায়, তবে তারা কখনই তাদের বাবা-মায়ের কাছে ছুটে না যে তারা কী তৈরি করে না show


1
আন্ড্রেজ, দুর্দান্ত উত্তর। আপনি কি কোলন স্বরলিপিটির historicতিহাসিক উত্স জানতে পেরেছেন?
Andreas রসবার্গ

হায়, আমি না। চার্চ ধরন তত্ত্ব সাবস্ক্রিপ্টগুলোর, অর্থাত্, ব্যবহৃত ধরনের একটি পরিবর্তনশীল জন্য α । রাসেল এবং হোয়াইটহেড ব্যবহৃত ε একটি বর্গ একাত্মতার সম্পর্ক জন্য। অ্যালগল 68 পরিবর্তনশীল নামের সামনে প্রকার রাখে। 1972 মার্টিন-Löf টাইপ তত্ত্ব ব্যবহার , এবং তাই করে 1984 সংস্করণ , কিন্তু [1994 সংস্করণ] একটি কোলন ব্যবহার করে। এক্সααε
আন্দ্রেজ বাউয়ার

1
সুতরাং আপনার যুক্তি যে একটি টাইপ একটি গ্রুপ মত? এটি বোধগম্য হয় তবে বিমূর্ত বীজগণিতগুলিতে স্বরলিপি সাধারণ। জি
বিজন লিন্ডকভিস্ট

2
@ জর্জান লিন্ডকভিস্ট: আমি মনে করি না যে এই উত্তরটি পুরো গল্প। এমনকি স্ট্যান্ডার্ড গণিতে আমরা " " ব্যবহার করি তা বোঝাতে যে এফটি এস থেকে টি পর্যন্ত একটি ফাংশন । কেন আমরা " f ( S T ) " বা এরকম কিছু ব্যবহার করিনি ? ঠিক আছে, আমরা ঠিক করিনি। অবশ্যই, কিছু ধরণের তত্ত্বের উপস্থাপনায় " " এর ব্যবহার এড়ানোর উপযুক্ত কারণ রয়েছে , কেবল কারণ আমরা চাই না যে জেডএফসি-শিক্ষিত লোকেরা এটি জেডএফসি-সেটগুলির মতো ভাবেন, যা সম্ভবত এটি নয় কেস। তবে এর অর্থ এই নয় যে কোলন ইতিমধ্যে নেইf:STfSটিf(ST)টাইপ তত্ত্ব জনপ্রিয় হওয়ার অনেক আগে থেকেই ব্যাপকভাবে ব্যবহৃত হয়েছিল been
ব্যবহারকারী 21820

1
@ ব্যবহারকারী21820 "কেন আমরা ব্যবহার করিনি ?" কেবল অনুমান করা: কারণ গণিতবিদরা এস টিকে সেট হিসাবে কখনও ভাবেননি । এই স্বরলিপিটির ইতিহাসের জন্য এখানে দেখুন । আমি সন্দেহ করি যে f : S T থেকে কোলন টাইপ থিওরিস্টদের অনুপ্রেরণা ছিল। আরো সম্ভবত টাইপ তাত্ত্বিকদের কোলন যে কি আছে একটি ASCII অক্ষর নয়। (এসটি)এসটি:এসটি
মাইকেল

5

Björn,

সম্ভবত একটি পূর্ববর্তী রেফারেন্স রয়েছে তবে একটি জিনিসের জন্য, পাসল প্রোগ্রামিং ভাষায় কোলনটি ব্যবহৃত হয়েছিল:

প্রথম গুগল পাসকালের জন্য হিট


2
আগের কোন প্রোগ্রামিং ভাষা ব্যবহার করা হয়নি :?
আন্দ্রেজ বাউয়ার

@ আন্ড্রেজবাউর সত্যই, আমি সম্ভবত "সম্ভবত একটি পূর্ববর্তী রেফারেন্স আছে তবে ..." এই সম্ভাব্য সত্যটির বিরুদ্ধে রক্ষা করতে।
বিজার্ন কেজোস-হানসেন

পছন্দ করেছেন ছিল :1970 সামনে তত্ত্ব কাগজপত্র ব্যবহৃত?
গিলস 'অসন্তুষ্ট হওয়া বন্ধ করুন'

1
ফোর্টরানের রয়েছে REAL :: xতবে আমি জানি না এটি পাস্কালের আগে এসেছিল কিনা।
মাইকেল

1
@ মিশেল ফোর্টরান পাস্কালের চেয়ে আগে এসেছিল (সিএ। ১৯৫৫ বনাম সিএ ১৯ 1970০), তবে আমি মনে করি যে এই নির্দিষ্ট বাক্য গঠনটি কেবল ফোর্টরান ৯০ সালে চালু হয়েছিল, তাই পাস্কেলের চেয়ে অনেক পরে। উদাহরণস্বরূপ দেখুন এখানে Fortranwiki.org/fortran/show/ আধুনিকায়ন + ওল্ড + ফোর্টরান
ফেডেরিকো পোলোনি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.