আগদা এবং কোক কঠোর ইতিবাচকতার বিষয়ে কেন একমত নন?


24

আমি আগদা এবং কোকের মধ্যে এমন একটি বিভ্রান্তিমূলক মতবিরোধ পোঁছিয়েছি যা স্পষ্টতই তাদের ধরণের তত্ত্বগুলির (যেমন, (ইম) প্রেডিকটিভিটি, ইনডাকশন-পুনর্বারণ ইত্যাদি) মধ্যে সর্বাধিক পরিচিত পার্থক্যের সাথে সম্পর্কিত নয়।

বিশেষত, নিম্নলিখিত সংজ্ঞাটি আগদা গ্রহণ করেছেন:

  data Ty : Set0 -> Set0 where
    c1 : Ty ℕ
    c2 : Ty (Ty ℕ)

যদিও সমতুল্য কোকের সংজ্ঞাটি প্রত্যাখ্যান করা হয়েছে কারণ সি 2-তে নিজের সূচক হিসাবে [টি _ _] উপস্থিতি কঠোর ইতিবাচকতা লঙ্ঘন হিসাবে বিবেচিত হয়।

  Inductive Ty : Set -> Set :=
    | c1 : Ty nat
    | c2 : Ty (Ty nat).

প্রকৃতপক্ষে, এই মামলাটি কঠোর ইতিবাচকতা লঙ্ঘনের কোকআর্ট ধারা 14.1.2.1 থেকে উদাহরণস্বরূপ:

  Inductive T : Set -> Set := c : (T (T nat)).

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

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

স্পষ্টতই আমি মতামতের এই পার্থক্যের বিষয়টি প্রথম লক্ষ্য করি না এবং কেউ কেউ বিশ্বাস করেন যে কোনও সিস্টেমে এই সংজ্ঞাটির অনুমতি দেওয়া উচিত নয় ( https://lists.chalmers.se/pipermail/agda/2012/004249.html ), কিন্তু কেন এটি হয় একটি সিস্টেমে সঠিক তবে অন্যটি নয়, বা মতামতের একটি পার্থক্য সম্পর্কে কোনও ব্যাখ্যা আমি খুঁজে পাইনি।

সুতরাং আমি মনে করি আমার বেশ কয়েকটি প্রশ্ন রয়েছে:

  1. এটি কি একঘেয়েমের উদাহরণ, তবে কঠোর-ইতিবাচক ধরণের নয়? (কোকায়; স্পষ্টভাবে আগদা এটিকে কঠোরভাবে ইতিবাচক বিবেচনা করে)
  2. কক এটিকে প্রত্যাখ্যান করার সময় কেন আগদা এটির অনুমতি দেয়? এটি "কঠোরভাবে ইতিবাচক" এর ব্যাখ্যার মধ্যে একটি স্বতঃস্ফূর্ত পার্থক্য, কি কোক এবং আগদার মধ্যে সূক্ষ্ম পার্থক্য যা এটি এগডায় শব্দ করে এবং কোকের মধ্যে নিখুঁত করে তোলে, বা এটি নির্দিষ্ট তাত্ত্বিক পছন্দ দ্বারা চালিত স্বাদের বিষয়?
  3. উপরোক্ত প্রথম সংজ্ঞা এবং নীচের সমতুল্য ইন্ডাকটিভ-रिकर्सিভ সংজ্ঞা মধ্যে কি অর্থপূর্ণ পার্থক্য রয়েছে?

ইন্ডাকটিভ-रिकर्सিভ সংজ্ঞা:

  mutual
    data U : Set0 -> Set0 where
      c : (i : Fin 2) -> U (T i)
    T : Fin 2 -> Set0
    T zero = ℕ
    T (suc zero) = U ℕ

আমি প্রাসঙ্গিক সাহিত্যের পয়েন্টার পেয়ে খুশি।

আগাম ধন্যবাদ.


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

1
এই সংজ্ঞাটি Ty is not strictly positive, because it occurs in an index of the target type of the constructor c2 in the definition of Ty.
আগদার

2
হ্যাঁ, আপনি ঠিক বলেছেন, গতরাতে অন্য কেউ এটি দেখিয়েছিল। আমি ডিবিয়ান এর ২.৩.০.১ প্যাকেজটি ব্যবহার করেছি, তবে ক্যাবলের ২.৩.২.১ সরাসরি এবং আইআর উভয় সংজ্ঞা প্রত্যাখ্যান করে। দেখে মনে হচ্ছে এটি একটি সম্পর্কিত সম্পর্কহীন ত্রুটিযুক্ত সূচকগুলিতে কঠোর প্রতিক্রিয়া দেখানো হয়েছে : কোড. google.com/p/agda/issues/detail?id=690 যেহেতু এটি তালিকায় সুস্পষ্টভাবে কোনও শব্দহীনতার সমস্যা চিহ্নিত না করে আলোচনা করা হয়েছিল, তাই আমি এখনও টাইপ নিজেই শব্দ হয় কিনা তা অবাক।
কলিন গর্ডন

উত্তর:


10

বিষয়টি দুটি কারণের সংমিশ্রণের ফলে বিভ্রান্তি বলে মনে হচ্ছে:

  1. আমি আগদার একটি বাসি সংস্করণ (2.3.0.1) ব্যবহার করছিলাম। এটি প্রদর্শিত হয় যে ২.৩.২ এর আগে আগদা কেবল নির্ধারক ফলাফলের সূচকের কঠোর ইতিবাচকতা পরীক্ষা করছিল না (থ্রেডের অন্যত্র আমি যে বাগটি যুক্ত করেছি তা দেখুন)।
  2. ডাইবজারের ইন্ডাকটিভ ফ্যামিলিস পেপারের ঘনিষ্ঠ পড়া থেকে বোঝা যায় যে তিনি নির্ধারিত ফলাফলের সূচকগুলি টাইপ করার সময় প্রস্তাবিত প্রবর্তনকারী টাইপটি আবদ্ধ না হওয়ার লক্ষ্য রেখেছিলেন । অনুচ্ছেদ ৩.২.১ গদ্যতে প্ররোচিত কনস্ট্রাক্টরদের জন্য এই স্কিমটি দেয় এবং স্পষ্টতই আমি স্কিমের প্রতিটি অংশের বাধ্যতামূলক পরিবেশগুলি বর্ণনা করে ভাষাকে ভুলভাবে লিখি।

এই ঘনিষ্ঠ পাঠটি অবশ্যই কক এবং (সাম্প্রতিক সংস্করণগুলি) আগদা যে চেক সম্পাদন করে তার সাথে সামঞ্জস্যপূর্ণ, এটি নিজস্ব সূচকগুলিতে টি এর কোনও উপস্থিতি নিষিদ্ধ করে।


4

আপনার নিজস্ব মন্তব্যগুলির ইঙ্গিত হিসাবে পার্থক্যের সম্ভাব্য কারণ হ'ল অবিশ্বাস্যতা। কোকের historতিহাসিকভাবে একটি অবিশ্বাস্য সেট ছিল (এখনও আমি বিশ্বাস করি এটি একটি পতাকা হিসাবে উপলব্ধ!)

আদম চ্লিপালার বইটি উদ্ধৃত করে http://adam.chlipala.net/cpdt/html/Universes.html

কক সরঞ্জামগুলি একটি কমান্ড-লাইন পতাকা -প্রদীজ্ঞাবহ-সেটকে সমর্থন করে, যা গ্যালিনাকে আরও মৌলিক উপায়ে সেটটিকে অবিশ্বাস্য করে তোলে। ফোরাল টি-এর মতো একটি শব্দ: সেট, টিতে টাইপ সেট থাকে এবং সেটে প্রবর্তনীয় সংজ্ঞাতে এমন নির্মাতারা থাকতে পারে যা কোনও প্রকারের আর্গুমেন্টের পরিমাণ মাপ দেয়। ধারাবাহিকতা বজায় রাখার জন্য, প্রোপের জন্য সীমাবদ্ধতার মতোই একটি নির্মূলকরণ নিষেধাজ্ঞা আরোপ করা আবশ্যক The বিধিনিষেধটি কেবলমাত্র বৃহত্ সূক্ষ্ম প্রকারের ক্ষেত্রেই প্রযোজ্য যেখানে কিছু কনস্ট্রাক্টর এক প্রকারের ধরণের পরিমাণকে মাপ দেয়। এই ধরনের ক্ষেত্রে, এই প্ররোচক ধরনের একটি মান কেবল সেট বা প্রপ, ফলাফল প্রকারের জন্য প্যাটার্ন-মেলানো হতে পারে This এই নিয়ম প্রপের নিয়মের সাথে বিপরীত হয়, যেখানে বিধিনিষেধ এমনকি অ-বৃহত্ সূক্ষ্ম প্রকারের ক্ষেত্রেও প্রযোজ্য, এবং যেখানে ফলাফলের ধরণটিতে কেবল প্রপ টাইপ থাকতে পারে Co ককের পুরানো সংস্করণগুলিতে সেটটি ডিফল্টরূপে অবিশ্বাস্য। পরবর্তী সংস্করণগুলি কিছু ধ্রুপদী অক্ষের সাথে অসঙ্গতি এড়াতে সেটটিকে পূর্বাভাস দেয়। বিশেষত, পছন্দের অক্ষগুলি সহ অবিশ্বাস্য সেট ব্যবহার করার সময় আপনার নজর রাখা উচিত। বাদ দেওয়া মাঝারি বা পূর্বাভাসের সম্প্রসারণের সাথে মিল রেখে, অসঙ্গতির ফলাফল হতে পারে। জন্মগত সেট অন্তর্নিহিতভাবে অবিশ্বাস্য গাণিতিক ধারণাগুলি মডেলিংয়ের জন্য কার্যকর হতে পারে তবে প্রায় সমস্ত কক বিকাশ এটি ছাড়াই সূক্ষ্মভাবে পায়।


আমি উপরে যে বাগ বাগের শব্দটি পেয়েছি তার শব্দ থেকে মনে হচ্ছে আগদা কেবল নির্মাণকারীর ফলাফলের জন্য সূচকগুলির ইতিবাচকতা পরীক্ষা করে নি। যা প্রকৃতপক্ষে আমার প্রস্তাবিত প্রকার মনোোটোনটিতে রয়েছে তা নির্দেশ করে না, তবে প্রস্তাব দেয় এটি অদৃশ্যের সাথে সম্পর্কিত নয়।
কলিন গর্ডন

2
এবং হ্যাঁ, -অবিজ্ঞানী-সেট Coq এ সেটকে অবিশ্বাস্য করে তোলে।
কলিন গর্ডন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.