কোক ইন সেট এবং টাইপের মধ্যে কী আলাদা? [বন্ধ]


13

এএফএআইইউ প্রকারগুলি এমন একটি হতে পারে Setযার উপাদানগুলি প্রোগ্রাম বা propositionযার উপাদানগুলির প্রুফ। সুতরাং এই বোঝার উপর ভিত্তি করে:

Inductive prod (X Y: Type) : Set := 
| pair: X -> Y -> prod X Y.

নিম্নলিখিত কোডটি সংকলন করা উচিত তবে এটি নিম্নলিখিত ত্রুটির কারণে নয়। যদি আমি এর Setসাথে Typeবা অন্যটির Typeসাথে পরিবর্তন করি তবে Setএটি সূক্ষ্ম সংকলন করে। নিম্নলিখিত ত্রুটির অর্থ কী বুঝতে কেউ আমাকে সহায়তা করতে পারে? আমি সফটওয়্যার ফাউন্ডেশন বই ব্যবহার করে নিজেকে কোক শেখানোর চেষ্টা করছি।

ত্রুটি:

Error: Large non-propositional inductive types must be in Type.

2
থিওরিম প্রবাদরা সবসময় সিএসএসই-এর জন্য ধূসর অঞ্চল হয়ে থাকে তবে আমি ধারণা করছি স্ট্যাক ওভারফ্লোতে স্থানান্তরিত করার জন্য মোডগুলির পক্ষে এটি একটি ভাল প্রার্থী।
jmite

এই প্রশ্নের এখানে কিছু উত্তর রয়েছে
আন্তন ট্রুনভ

@ জমিটকে প্রদত্ত যে এই প্রশ্নটি কোকের সাথে কংক্রিট সিনট্যাক্স হিসাবে পরিবেশনার ক্যালকুলাস সম্পর্কে, আমি মনে করি এটি এখানে অনন্য বিষয়।
গিলস

উত্তর:


12

কোকের 3 টি "বড়" প্রকার রয়েছে:

  • Propপ্রস্তাবের জন্য বোঝানো হয়। এটি অবিশ্বাস্য, এর অর্থ হল যে আপনি পলিমারফিক ফাংশনগুলি পলিমারফিক প্রকারের সাথে ইনস্ট্যান্ট করতে পারেন। এর প্রমানের অপ্রাসঙ্গিকতাও রয়েছে, যার অর্থ যদি তবে । এটি এমন পদগুলিকে অনুমতি দেয় যা কেবলমাত্র কোক দ্বারা উত্পাদিত কোনও কোডে প্রমাণের জন্য ব্যবহৃত হয়।পি1,পি2:পিপি1=পি2
  • Setগণনা জন্য বোঝানো হয়। এটি ভবিষ্যদ্বাণীমূলক এবং এর প্রমাণের অপ্রাসঙ্গিকতা নেই, যা আপনাকে না বলে ভালো কাজ করতে দেয় । অংশের কোড নিষ্কাশন করার সময় রয়ে গেছে।1=2Set
  • Type এই উভয়ের একটি সুপারটাইপ যা আপনাকে কোড লিখতে দেয় যা যে কোনও একটির সাথেই কাজ করে

আমি বেশ নিশ্চিত যে আপনার ত্রুটি কারণ আপনি এমন একটি সংজ্ঞা দিচ্ছেন Setযার প্যারামিটার হতে পারে Type, যার অর্থ তারা হতে পারে Prop, যা অনুমোদিত নয়। আপনি যদি এতে পরিবর্তন করেন:

Inductive prod (X Y: Set) : Set := 
| pair: X -> Y -> prod X Y. 

আপনার কোড কাজ করা উচিত।


3
কুকের প্রুফ অপ্রাসঙ্গিকতা নেই Propযদি না আপনি এটিকে অ্যাক্সিম হিসাবে যোগ করেন।
জিওফ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.