Predicative programming
ভবিষ্যদ্বাণীমূলক প্রোগ্রামিং হল প্রোগ্রাম নির্দিষ্টকরণ এবং পরিমার্জনের জন্য একটি আনুষ্ঠানিক পদ্ধতির মূল নাম, যা সম্প্রতি এরিক হেনার দ্বারা উদ্ভাবিত প্রোগ্রামিংয়ের ব্যবহারিক তত্ত্ব নামে পরিচিত। কেন্দ্রীয় ধারণাটি হল যে প্রতিটি নির্দিষ্টকরণ একটি বাইনারি (বুলিয়ান) অভিব্যক্তি যা গ্রহণযোগ্য কম্পিউটার আচরণের ক্ষেত্রে সত্য এবং অগ্রহণযোগ্য আচরণের ক্ষেত্রে মিথ্যা। এটি অনুসরণ করে যে পরিশোধন কেবল নিহিতার্থ। এটি সবচেয়ে সহজ আনুষ্ঠানিক পদ্ধতি এবং সবচেয়ে সাধারণ পদ্ধতি, যা ক্রমিক, সমান্তরাল, স্বতন্ত্র, যোগাযোগ, সমাপ্তি, অ-সমাপ্তি, প্রাকৃতিক-সময়, বাস্তব-সময়, নির্ধারণমূলক এবং সম্ভাব্য প্রোগ্রামগুলিতে প্রয়োগ করা হয় এবং এতে সময় এবং স্থানের সীমা অন্তর্ভুক্ত থাকে। একটি প্রোগ্রামিং ভাষায় কমান্ডগুলিকে নির্দিষ্টকরণের একটি বিশেষ ক্ষেত্রে বিবেচনা করা হয়-সেই নির্দিষ্টকরণগুলি যা সংকলনযোগ্য। উদাহরণস্বরূপ, যদি প্রোগ্রামের ভেরিয়েবল হয়, এবং, কমান্ডঃ = + 1 নির্দিষ্টকরণের সমতুল্য (বাইনারি এক্সপ্রেশন) = + 1Â = Â = যেখানে, এবং অ্যাসাইনমেন্টের আগে প্রোগ্রামের ভেরিয়েবলের মানগুলি উপস্থাপন করে, এবং, এবং অ্যাসাইনমেন্টের পরে প্রোগ্রামের ভেরিয়েবলের মানগুলি উপস্থাপন করে। যদি নির্দিষ্টকরণটি হয়>, আমরা সহজেই প্রমাণ করি (: = + 1) ণি (>), যা বলে যেঃ = + 1 বোঝায়, বা পরিমার্জন করে, বা প্রয়োগ করে>। লুপ প্রুফগুলি ব্যাপকভাবে সরলীকৃত। উদাহরণস্বরূপ, যদি একটি পূর্ণসংখ্যা পরিবর্তনশীল হয়, প্রমাণ করার জন্য যে> 0 যখনঃ =-1 od পরিমার্জন করে, বা নির্দিষ্টকরণ প্রয়োগ করে ≤ 0 ± = 0, তখন প্রমাণ করুন যদি> 0 হয়ঃ =-1; (≤ 0 ুণ = 0) অন্যথায় ফাই ুণ (≤ 0 ুণ = 0) যেখানে = (=) খালি, বা কিছুই না কমান্ড। একটি লুপ অপরিবর্তনীয় বা ন্যূনতম স্থির বিন্দুর প্রয়োজন নেই। একাধিক মধ্যবর্তী অগভীর এবং গভীর প্রস্থান সহ লুপগুলি একইভাবে কাজ করে। প্রমাণের এই সরলীকৃত রূপটি সম্ভব কারণ প্রোগ্রাম কমান্ড এবং নির্দিষ্টকরণগুলি অর্থপূর্ণভাবে মিশ্রিত করা যেতে পারে। কার্যকর করার সময় (উপরের সীমা, নীচের সীমা, সঠিক সময়) একইভাবে প্রমাণ করা যেতে পারে, কেবল একটি সময় পরিবর্তনশীল প্রবর্তন করে। সমাপ্তি প্রমাণ করার জন্য, কার্যকর করার সময়টি সীমাবদ্ধ প্রমাণ করুন। অ-সমাপ্তি প্রমাণ করার জন্য, মৃত্যুদন্ড কার্যকর করার সময় অসীম প্রমাণ করুন। উদাহরণস্বরূপ, যদি সময় পরিবর্তনশীল হয়, এবং সময়টি পুনরাবৃত্তি গণনা করে পরিমাপ করা হয়, তবে প্রমাণ করার জন্য যে পূর্ববর্তী ওয়াইল-লুপ কার্যকর করতে সময় লাগে যখন প্রাথমিকভাবে অ-নেতিবাচক হয়, এবং যখন প্রাথমিকভাবে নেতিবাচক হয় তখন চিরকাল সময় নেয়, প্রমাণ করুন যদি> 0 হয় তবেঃ =-1;: = + 1; (≤0 * = +) ≤ (<0 * = ≤) অন্যথায় ≤ (≤0 * = +) ≤ (<0 * = ≤) যেখানে = (= ≤ =)। গ্রন্থপঞ্জি ই. সি. আর। হেনার, প্রোগ্রামিংয়ের একটি ব্যবহারিক তত্ত্ব, স্প্রিংগার-ভার্লাগ 1993। প্র্যাকটিক্যাল থিওরি অফ প্রোগ্রামিং-এর সাম্প্রতিকতম সংস্করণ। বাহ্যিক লিঙ্ক এরিক হেহনারের প্রকাশনা। আনুষ্ঠানিক পদ্ধতি আনুষ্ঠানিক নির্দিষ্টকরণের ভাষা যৌক্তিক গণনা