কোনও প্রোগ্রাম অনুবাদ এর সম্পূর্ণ সম্পূর্ণতা এবং সম্পূর্ণ বিমূর্ততা


15

সংকলক যাচাইকরণের প্রচেষ্টা প্রায়শই কমপ্লায়ার সম্পূর্ণ বিমূর্ত প্রমাণ করার জন্য নেমে আসে: এটি (প্রাসঙ্গিক) সমতা রক্ষা করে এবং প্রতিফলিত করে।

সম্পূর্ণ বিমূর্ততার প্রমাণ সরবরাহ করার পরিবর্তে, কিছুটা সাম্প্রতিক (শ্রেণীবদ্ধ ভিত্তিক) সংকলক যাচাইকরণের কাজ হাসেগাওয়া [ 1 , 2 ] এবং এগার এট দ্বারা। অল। [ 3 ] বিভিন্ন সিপিএস অনুবাদগুলির সম্পূর্ণ সম্পূর্ণতা প্রমাণ করুন।

প্রশ্ন: পূর্ণতা এবং সম্পূর্ণ বিমূর্ততার মধ্যে পার্থক্য কী?

আমার কাছে, সম্পূর্ণরূপে কেবল অনুবাদটির জন্য সমতুল্য প্রতিবিম্বের মতো দেখায় এবং পূর্ণতা সমতা সংরক্ষণের ফলস্বরূপ বলে মনে হয়।

নোট : উভয় Curien [ 7 ] এবং Abramsky [ 8 ] definability, পূর্ণ বিমূর্ততা মধ্যে সম্পর্ক অন্বেষণ এবং কতক পূর্ণ সম্পূর্ণতার জন্য। আমি সন্দেহ করি যে এই সংস্থানগুলিতে আমার প্রশ্নের উত্তর থাকতে পারে, তবে পৃষ্ঠপোষকতার পরে আমার এখনও তা নিশ্চিত হওয়া যায়নি।

কিছু পটভূমি : "সম্পূর্ণ পরিপূর্ণতা" শব্দটি আব্রামস্কি এবং জগদীশন [ ] দ্বারা রচনা করেছিলেন যা বহুগুণাত্মক লিনিয়ার যুক্তির গেম-সিনমেটিক মডেলের যথার্থতা চিহ্নিত করতে পারে।

ব্লুট [ 5 ] নিম্নলিখিত সংজ্ঞা প্রদান করে:

একটি বিনামূল্যে বিভাগ হতে দিন । আমরা বলতে শ্রেণীগত মডেল যে এম হল জন্য সম্পূর্ণরূপে সম্পূর্ণ এফ অথবা আমরা আছে পূর্ণ সম্পূর্ণতার এফ থেকে সম্মান সঙ্গে এম জেনারেটর কিছু ব্যাখ্যা, অনন্য বিনামূল্যে functor যদি, সম্মানের সঙ্গে [এফএম এফএফএম পূর্ণ।[[-]]:এফএম

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

Γ এম : σ Γ ; এম = এন : ( σ ) Γ;এন:(σ)Γএম:σΓ;M=N:(σo)

(যেখানে লিনিয়ার ল্যাম্বডা ক্যালকুলাসের (টার্গেট ল্যাঙ্গুয়েজে) বেসের ধরণ, তবে কম্পিউটেশনাল ল্যাম্বদা ক্যালকুলাসে নয় (উত্স ভাষা))

আমার কাছে, হাসেগাওয়ার সংজ্ঞা পুরোপুরি মতো বলে মনে হচ্ছে এবং পুরো সম্পূর্ণতা পেতে সত্যতার সাথে পুরোপুরি মিলিত হওয়া উচিত।

ডিম্বাকার ইত্যাদি। অল। [ 3 ] (1) সম্পূর্ণতা এবং (2) পূর্ণতার সংমিশ্রণ হিসাবে সিপিএস অনুবাদ এর সম্পূর্ণ সম্পূর্ণতা সংজ্ঞায়িত করুন :()বনাম

(1): যদি এবং তারপরΘM,N:τΘv|Mv=βηNv:!τvΘM=λcN:τ

(2): যদি পরে একটি শব্দ বিদ্যমান আছে thatΘv|t:!τvΘM:τΘv|Mv=βηt:!τv

(যেখানে গণনা তত্ত্ব)=λc


[1] " রৈখিকভাবে ব্যবহৃত প্রভাব: লিনিয়ার ল্যাম্বডা ক্যালকুলাসে মোনাডিক এবং সিপিএস রূপান্তর ", হাসেগওয়া 2002

[২] " কল-বাই নামতে লিনিয়ার ধারাবাহিকতা-পাসিংয়ের শব্দার্থবিজ্ঞান ", হাসেগওয়া 2004

[3] " সমৃদ্ধ প্রভাব ক্যালকুলাসে লিনিয়ার-ব্যবহারের সিপিএস অনুবাদসমূহ ", এগার এট। অল। 2012

[৪] " গুন এবং বহুগুণিত লিনিয়ার লজিকের সম্পূর্ণ সম্পূর্ণতা ", আব্রামস্কি এবং জগদীশন 1992

[5] " লিনিয়ার লজিগিশিয়ানদের জন্য বিভাগের তত্ত্ব ", ব্লুট 2003

[]] " গিরার্ড ট্রান্সলেশন অ্যান্ড লজিকাল প্রেডিকেটস ", হাসেগওয়া 2000

[]] " সংজ্ঞা এবং সম্পূর্ণ বিমূর্ততা ", কুরিয়েন 2007

[8] " সংজ্ঞায়িতকরণ এবং সম্পূর্ণ সম্পূর্ণতার জন্য অক্ষর ", আব্রামস্কি 1999

উত্তর:


12

দুর্ভাগ্যক্রমে, এখানে প্রচুর জিনিস চলছে। সুতরাং, জিনিসগুলি মিশ্রিত করা সহজ। "সম্পূর্ণ" এবং "সম্পূর্ণ বিমূর্ততা" "সম্পূর্ণ" ব্যবহার সম্পূর্ণতার সম্পূর্ণ ভিন্ন ধারণা বোঝায়। তবে, তাদের মধ্যে কিছু অস্পষ্ট সংযোগও রয়েছে। সুতরাং, এটি একটি জটিল উত্তর হতে চলেছে।

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

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

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

বাস্তবে, আমি এমন কোনও টার্গেটের ভাষা জানি না যা আমরা সত্যই পুরোপুরি "বুঝতে" পারি। আমরা সবাই জানি লক্ষ্য ভাষার জন্য পর্যবেক্ষণের সমতুল্যের অন্য কিছু ধারণা। সেক্ষেত্রে, অনুবাদটি যদি পর্যায়ে থাকে তবে লক্ষ্য ভাষায় অনুবাদগুলির পর্যবেক্ষণের সমতুল্যতা উত্স ভাষার ক্ষেত্রে পর্যবেক্ষণের সমতুল্যতা বোঝায় adequate যদি উত্স ভাষাতে শর্তগুলির পর্যবেক্ষণের সমতুল্যতা লক্ষ্য ভাষায় অনুবাদগুলির পর্যবেক্ষণের সমতুল্যতা বোঝায় তবে অনুবাদটি সম্পূর্ণ বিমূর্ত হয়। এম এন τ ( এম )

τ(এম)τ(এন)এমএন
কিছু লেখক এই দুটি বৈশিষ্ট্যের সংমিশ্রণ বোঝাতে "সম্পূর্ণ বিমূর্ত অনুবাদ" নেন: এম এন
এমএনτ(এম)τ(এন)
MNτ(M)τ(N)

এগার এট আল একইভাবে অনুবাদগুলিতে সম্পূর্ণ সম্পূর্ণতার ধারণা প্রসারিত করে বলে মনে হচ্ছে। তাদের সেট আপে, সূত্রগুলি হ'ল ধরণ এবং প্রমাণগুলি শর্ত। তাদের অনুবাদ বিভিন্ন ধরণের পাশাপাশি শর্তাদি অনুবাদ করে। তারা তাদের অনুবাদ কল সম্পূর্ণরূপে সম্পূর্ণ যদি একটি টাইপ অনুবাদ কেবলমাত্র সেই পদগুলি ধরনের মূল শব্দগুলি অনুবাদ পাওয়া যায় গেছে একজনএন : τ ( ) AA

N:τ(A).M:A.τ(M)=N

সম্পূর্ণ সম্পূর্ণতা এবং সম্পূর্ণ বিমূর্তনের মধ্যে অস্পষ্ট সংযোগের জন্য এখন । কোনও সিনেটিক মডেল বা অনুবাদ সম্পূর্ণ বিমূর্ত যা প্রমাণ করার ক্ষেত্রে প্রায়শই কিছুটা দৃ some়তা জড়িত। এটি কারণ আমাদের ভাষাগুলি সাধারণত উচ্চতর হয়। সুতরাং, যদি সিমেন্টিক মডেল বা টার্গেট ল্যাঙ্গুয়েজে অনেকগুলি "প্রসঙ্গ" থাকে তবে এটি আমাদের পদগুলি বা শব্দার্থ অর্থগুলি অনাকাঙ্ক্ষিত উপায়ে পোকে দিতে এবং তাদের সমতা লুণ্ঠন করতে সক্ষম হবে। "অনাকাঙ্ক্ষিত উপায়" এর অর্থ প্রোগ্রামিং ভাষা নিজেই এগুলিকে পোঁকতে পারে না। সুতরাং, সম্পূর্ণ বিমূর্ততা পেতে, আমাদের নিশ্চিত করতে হবে যে শব্দার্থক মডেল বা লক্ষ্য ভাষায় উপলব্ধ "প্রসঙ্গগুলি" উত্স ভাষাতে কোনওরকমভাবে এসেছে from মনে রাখবেন যে এটি সম্পূর্ণ সম্পূর্ণ সম্পত্তি সম্পর্কিত।

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

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


এমন কোনও ভাষা বলতে কী বোঝাতে চাই যা আমরা সত্যই সম্পূর্ণ "বুঝতে" পারি না?
মার্টিন বার্গার

আপনার বলতে কী বোঝাতে চাইছেন যে কেউ এখনও একটি শব্দার্থক মডেল তৈরি করেনি যা গঠনমূলক প্রমাণ পদ্ধতির প্রতিনিধিত্ব করে?
মার্টিন বার্গার

1
দুঃখিত, তবে আপনার "পূর্ববর্তী পাঠ্যের তুলনায়" অনুবাদগুলি "এর অর্থগুলি আমার কাছে ভুল দিক বলে মনে হচ্ছে। এর জন্য সম্পূর্ণ বিমূর্ততা, বলুন, পিসিএফ M⟹τN M (এম) N (এন) এর জন্য জিজ্ঞাসা করে (ড্যানোটেশনাল শব্দার্থক হিসাবে এবং প্রতীকগুলি পরিবর্তন করার প্রয়োজনকে উপেক্ষা করে): আপনি যেমন বলেছিলেন, "সম্পূর্ণ বিমূর্তির অর্থ যদি, দুটি পদ পর্যবেক্ষণমূলকভাবে সমতুল্য, শব্দার্থবিজ্ঞানের মডেলগুলিতে তাদের একই অর্থ রয়েছে "। তবে আপনার জড়িত থাকার বিষয়টি অন্যভাবে (যথা আপনি τ (এম) ≅τ (এন) ⟹M≅N) লিখেছেন! অথবা অনুবাদগুলি ডায়নোটেশনাল শব্দার্থবিজ্ঞানের থেকে আলাদাভাবে কাজ করে?
ব্লেজারব্লেড 26'14

1
@ ব্লাইজারব্লেড: আপনি একদম ঠিক বলেছেন! আমি আমার উত্তরের পাঠ্যকে সংশোধন করেছি।
উদয় রেড্ডি 21

1
সম্পূর্ণ বিমূর্ততা ভাষা স্তর সুরক্ষার জন্যও এবং সম্ভাব্যভাবে আন্তঃ-ভাষা সংহতকরণের পক্ষেও আগ্রহী। অর্থাৎ এটি জেনে রাখা দরকারী যে লক্ষ্য ভাষার কোনও কিছুই উত্স ভাষার বিমূর্ততা লঙ্ঘন করতে পারে না।
dmbarbour

5

সংক্ষিপ্তসার: সম্পূর্ণ সম্পূর্ণতার অর্থ ব্যাখ্যামূলক ফাংশন কেবল সম্পূর্ণ নয়, তবে প্রোগ্রামগুলিতে সার্জেক্টিভও রয়েছে। পূর্ণ বিমূর্ততার নজরদারি করার জন্য কোনও প্রয়োজন নেই।

[[.]]

  • A[[A]]

  • Γ[[Γ]]

  • ΓP:α[[Γ]][[P]]:[[α]]

[[.]]

PSQ     iff     [[P]]T[[Q]]

P,QST

PΓ,αSQ     iff     [[P]][[Γ]],[[α]]T[[Q]]
Γ,α,P,Q[[.]]

[[.]]

[[.]][[Γ]]Q:[[α]]ΓP:αQ=[[P]][[.]]

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