কোকের প্রপস কেন?


35

কোকের কাছে প্রমাণের অপ্রাসঙ্গিক প্রস্তাবগুলির একটি প্রকার রয়েছে যা নিষ্কাশনকালে বাতিল করা হয়। যদি আমরা কেবল প্রমাণের জন্য কক ব্যবহার করি তবে এটি থাকার কারণ কী? প্রোপ অবিশ্বাস্য, সুতরাং প্রপ: প্রপ, তবে কক স্বয়ংক্রিয়ভাবে মহাবিশ্ব সূচকে অনুমান করে এবং আমরা সর্বত্র প্রকার (i) ব্যবহার করতে পারি। মনে হয় প্রোপ সবকিছুকে অনেক জটিল করে তোলে।

আমি পড়েছি যে লুওর বইটিতে সেট এবং প্রপকে আলাদা করার জন্য দার্শনিক কারণ রয়েছে, তবে আমি সেগুলি বইটিতে পাইনি। তারা কি?


6
"যদি আমরা কেবল প্রমাণের জন্য কোক ব্যবহার করি": আমি মনে করি আপনি এখানে একটি মূল বিষয় চিহ্নিত করেছেন। কোক কেবল প্রমাণের জন্য ব্যবহার করা হয় না।
গিলস

উত্তর:


34

কে কে কে পি আর পিPropপ্রোগ্রাম এক্সট্রাকশনের জন্য খুব দরকারী কারণ এটি আমাদের অকেজো কোডের কিছু অংশ মুছে ফেলার অনুমতি দেয়। উদাহরণস্বরূপ, একটি বাছাই আলগোরিদিম বের করে আনতে আমরা বিবৃতি প্রমাণ হবে "প্রত্যেক তালিকার জন্য একটি তালিকা আছে যেমন যে আদেশ করা হয় এবং একটি permutatiom হয় "। যদি আমরা এটিকে এবং ব্যবহার না করে এক্সট্র্যাক্ট করি তবে আমরা পাবেন:kkkProp

  1. "সব জন্য " আমাদের একটি মানচিত্র দেবে যা তালিকাগুলিতে তালিকাগুলি নিয়ে যায়,কেksort
  2. "যেমন অর্ডার করা হয়েছে" একটি ফানসিটন দেবে যা দিয়ে চালিত হয় এবং এটি পরীক্ষা করা হয় যে এটি পরীক্ষা করে এবংkverifyk
  3. " একটি বিন্যাস হয় একটি বিন্যাস দেব" যা লাগে করতে । মনে রাখবেন যে এটি কেবল কোনও ম্যাপিং নয়, তবে দুটি মানচিত্র সত্যই বিপরীত রয়েছে তা যাচাই করে এমন প্রোগ্রামগুলির সাথে একসাথে বিপরীত ম্যাপিংও রয়েছে।কেkpikpi

অতিরিক্ত জিনিসগুলি সম্পূর্ণ অকেজো না হওয়া সত্ত্বেও, অনেক অ্যাপ্লিকেশনগুলিতে আমরা এ থেকে মুক্তি পেতে এবং ন্যায়বিচার রাখতে চাই sort। এই যদি আমরা ব্যবহার সম্পন্ন করা যেতে পারে রাষ্ট্র থেকে " নির্দেশ দেওয়া হয়" এবং " একটি বিন্যাস হয় ", কিন্তু না "সবার জন্য আছে "। কে কে Propkkকেk

সাধারণভাবে, কোডটি বের করার একটি সাধারণ উপায় হ'ল ফর্মের একটি বিবৃতি বিবেচনা করা যেখানে ইনপুট, আউটপুট এবং সঠিক আউটপুট হওয়ার অর্থ কী তা ব্যাখ্যা করে । (উপরের উদাহরণে এবং তালিকার ধরনের এবং হয় হল " আদেশ করা হয় এবং একটি বিন্যাস হয় ।") তাহলে হয় তারপর নিষ্কাশন একটি মানচিত্র দেয় যেমন যে সবার জন্য ঝুলিতেx y ϕ ( x , y ) y A B ϕ ( , k ) k k ϕ P r o p f : A B ϕ ( x , f ( x ) ) x A ϕx:A.y:B.ϕ(x,y)xyϕ(x,y)yABϕ(,k)kkϕPropf:ABϕ(x,f(x))xA । তাহলে হয় তারপর আমরা একটি ফাংশন পেতে যেমন যে প্রমাণ হল যে ঝুলিতে, সব জন্য । প্রায়শই প্রমাণ গণনামূলকভাবে অকেজো হয় এবং আমরা এ থেকে মুক্তি পেতে পছন্দ করি, বিশেষত যখন এটি অন্য কোনও বিবৃতিতে গভীরভাবে বাসা বেঁধে থাকে। আমাদের এটি করার সম্ভাবনা দেয়।ϕ g g ( x ) ϕ ( x ,Setgg(x)x A P r o pϕ(x,f(x))xAProp

যোগ করা হয়েছে 2015-07-29: একটি প্রশ্ন রয়েছে যে আমরা "অকেজো এক্সট্রাক্ট কোড" কে স্বয়ংক্রিয়ভাবে অপ্টিমাইজ করে পুরোপুরি এড়িয়ে চলতে পারি কিনা । কিছুটা হলেও আমরা এটি করতে পারি, উদাহরণস্বরূপ যুক্তির নেতিবাচক খণ্ড (সমস্ত খালি টাইপ, ইউনিটের ধরণ, পণ্যগুলি থেকে তৈরি স্টাফ) থেকে নিষ্কাশিত সমস্ত কোড অকেজো যেহেতু এটি ইউনিটের চারপাশে বদলে যায়। পি আর পি ব্যবহার করার সময় অবশ্যই জেনুইন ডিজাইনের সিদ্ধান্ত নিতে হবে । এখানে একটি simpe উদাহরণস্বরূপ, কোথায় Σ মানে হল, আমরা রয়েছি টি Y পি এবং মানে আমারা আছি পি পি । যদি আমরা থেকে নিষ্কাশন PropPropΣTypeProp আমরা একটি প্রোগ্রাম যা বিশ্লিষ্ট হয়েছে পাবেন এন তার সর্বনিম্ন বিট মধ্যে এবং অবশিষ্ট বিট , অর্থাত্, সবকিছু নির্ণয় করে। যদি আমরা Π n : N Σ b : { 0 , 1 }k : N থেকে নিষ্কাশন করি

Πn:NΣb:{0,1}Σk:Nn=2k+b
nbk পরে প্রোগ্রামটি কেবল সর্বনিম্ন বিট বি গণনা করবে। মেশিনটি কোনটি সঠিক তা বলতে পারে না, ব্যবহারকারীকে তার কী বলতে হবে তা জানাতে হবে।
Πn:NΣb:{0,1}k:Nn=2k+b
b

1
আমি কিছুটা বিভ্রান্ত আপনি কি বলছেন যে ছাড়া এক্সট্রাক্ট করা প্রোগ্রামটিতে জি ( এক্স ) আউটপুটটিতে অবদান রাখে না (যেমন এটি নিছক এটি যাচাই করে তোলে) তা সনাক্ত করা অসম্ভব ? এমন কি এমন পরিস্থিতি রয়েছে যেখানে কোড অপ্টিমাইজারের কাছে উপলভ্য সাধারণ উপায়গুলির মাধ্যমে কেউ এ জাতীয় অকেজো কোডটি বের করতে সক্ষম হবে না? Propg(x)
ব্যবহারকারী

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

1
আপনার কাছে "আমি চাই " তথ্য নেই। এটি একটি অতিরিক্ত অনুমান এবং স্পষ্টত একবার তারা আপনাকে বলবে যে তারা কোন বিশেষ ফলাফল চায়, আপনি কেবল মৃত কোডটি অপ্টিমাইজ করতে পারেন। আসলে, আমি আরও ভাল উত্তরটি ভেবেছিলাম: এটি একটি ডিজাইনের প্রশ্ন যা পি আর পি-তে রাখা উচিত । ব্যবহারকারী কী চান তা আপনার জানতে হবে এবং তিনি পি আর পি ব্যবহার করে আপনাকে কী চান তা আপনাকে জানান । কয়েকটি বিকল্প রয়েছে যেখানে উদাহরণ সহকারে আসা সহজ। আমি আমার উত্তরে একটি যুক্ত করব। kPropProp
আন্দ্রেজ বাউর

2
আমি যতদূর জানি কেউ -প্রকারগুলি থেকে কীভাবে কিছু বের করতে পারে তা সত্যিই বলতে পারে না । এটি পরিষ্কার যে এগুলিতে কিছু গণ্য বিষয়বস্তু রয়েছে তবে এটি কী হতে পারে তা নয়। (1)
আন্দ্রেজ বাউর 14

3
আহ ঠিক আছে. ডিজাইনের সিদ্ধান্তগুলি নির্দিষ্ট করে দেওয়ার উপায় হিসাবে ব্যবহার করা আমার কাছে অকেজো কোড মুছে ফেলার উপায় হিসাবে বেশি বোঝায়। Prop
ব্যবহারকারী

19

Prop

impredicative Prop+large elimination+excluded middle

বেমানান। সাধারণত আপনি বাদ দেওয়া মাঝারিটি যুক্ত করার সম্ভাবনাটি রাখতে চান, সুতরাং একটি সমাধান হ'ল বড় বিলোপ রাখা এবং প্রোপকে ভবিষ্যদ্বাণীমূলক করা। অন্যটি বড় বিলোপ দমন করা হয়।

কোক দুজনেই করল! তারা ভবিষ্যদ্বাণীমূলক প্রপ সেট করার জন্য নামকরণ করেছিল এবং প্রপগুলিতে বড় নির্মূলকে অক্ষম করে।

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


8
এটি হল: ওহ এবং আমি উল্লেখ করতে ভুলে গেছি না ক্ষেত্রে যে Prop : Prop, যে অসঙ্গত হবে। বরং সমস্ত প্রস্তাবের উপর পরিমাণ নির্ধারণ আবার একটি প্রস্তাব।
এয়ার্ডে কোডি

আপনি কি আমাকে এই সম্পর্কে আরও কোনও সংস্থার দিকে নির্দেশ করতে পারেন? আমি যা কিছু খুঁজে পাচ্ছি তা খুব বিক্ষিপ্ত বলে মনে হচ্ছে।
ব্যবহারকারী 833970

1
@ ব্যবহারকারীর 833970 নির্দিষ্ট জিনিস আপনি পয়েন্টার চান? আমি আশঙ্কা করছি নির্ভরশীল ধরণের মেটা তত্ত্বের জন্য সত্যিকারভাবে সমস্ত পরিবেষ্টনের উল্লেখ নেই। এই আলোচনা (! পয়েন্ট এখানে ফিরে যা) সহায়ক হতে পারে github.com/FStarLang/FStar/issues/360
কোডি

ধন্যবাদ, আমি এখন বেরার্ডির প্যারাডক্স কাগজের মাধ্যমে কাজ করছি, আমি মনে করি এটি আমার বিভ্রান্তি দূর করবে।
ব্যবহারকারী 833970

14

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

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