খাঁটি ল্যাম্বদা ক্যালকুলাসে একটি কুইন


13

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

অবশ্যই, এর অর্থ ল্যাম্বডা ক্যালকুলাসের কোয়াইন বলতে আমি কী বোঝাতে চাইছি, যা আমি নীচে করি। (আমি বেশ নির্দিষ্ট কিছু জিজ্ঞাসা করছি।)

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

অবশ্যই, কোনও রেডেক্স নেই এমন কোনও এক্সপ্রেশন ইতিমধ্যে স্বাভাবিক আকারে রয়েছে এবং তাই এটি শেষ হয়ে যায় এবং নিজেই আউটপুট হয়ে যায়। তবে এটি খুব তুচ্ছ। সুতরাং আমি নিম্নলিখিত সংজ্ঞাটি এই আশ্বাসে প্রস্তাব করি যে এটি একটি তুচ্ছ সমাধান স্বীকার করবে:

সংজ্ঞা (পরীক্ষামূলক): ল্যামডা ক্যালকুলাস একটি quine ফর্ম একটি অভিব্যক্তি

(λx.A)
(যেখানে A কিছু নির্দিষ্ট ল্যামডা ক্যালকুলাস অভিব্যক্তি ঘোরা) যেমন যে ((λx.A)y) হয়ে(λx.A) , নাকি অন্যকিছু সমতুল্য এটি পরিবর্তনশীল নাম, পরিবর্তন অধীনে যখন স্বাভাবিক ফর্ম কমে,কোনোইনপুটy

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

উল্লেখ

জেমস লারকিন এবং ফিল স্টকস। (2004) "ল্যাম্বডা ক্যালকুলাসে স্ব-প্রতিলিপি প্রকাশ" তথ্য প্রযুক্তিতে গবেষণা এবং অনুশীলনের সম্মেলন, 26 (1), 167-173। http://epublications.bond.edu.au/infotech_pubs/158


আমার প্রশ্নের উত্তর নয়, তবে আমার নিজের ভবিষ্যতের রেফারেন্সের জন্য (এবং ভবিষ্যতের দর্শকদের জন্য) উইকি.হেসেকেল.আর / কম্বিন্টরি_লিকের একটি লিঙ্ক থাকা কার্যকর হবে , যার মধ্যে আমার চেয়ে কুইন্স সম্পর্কে আরও গভীর চিন্তাভাবনা রয়েছে।
নাথানিয়েল

নোট করুন যে একটি কুইনের নিজস্ব উত্স কোড উত্পাদন করা প্রয়োজন । এটি প্রতিনিধিত্ব করে ফাংশন উত্পাদন যথেষ্ট নয়।
পাইরুলেজ

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

স্ট্রিংগুলির জন্য একটি গির্জার এনকোডিং রয়েছে। একটি ল্যাম্বডা ক্যালকুলাস কুইনের চার্চের এনকোডিং করা অক্ষরের স্ট্রিংয়ের আউটপুট হওয়া উচিত।
পাইরুলেজ

অবশ্যই, এটি করা শক্ত নয়, আপনি যদি এটি সেভাবে নির্ধারণ করেন। এই প্রশ্নটি ছিল একটি ভিন্ন জিনিস সম্পর্কে।
নাথানিয়েল

উত্তর:


8

আপনি একটি শব্দ চান যেমন যে এম Λ :QMΛ

QMβQ

আমি তে আর কোনও বিধিনিষেধ নির্দিষ্ট করব না (উদাঃ এর ফর্ম সম্পর্কিত এবং এটি স্বাভাবিক হচ্ছে কিনা) এবং আমি আপনাকে দেখাব যে এটি অবশ্যই অবশ্যই নরমালাইজ হওয়া উচিত।Q

  1. ধরে হল মধ্যে স্বাভাবিক ফর্ম। চয়ন করুন (আমরা এটি করতে পারি কারণ উপপাদ্যটি সমস্ত ধরে রাখতে হবে )। তারপরে তিনটি মামলা রয়েছে।M x MQMxM

    • a Q M a x aQ কিছু পরমাণু । তারপরে । এই পর্যবসিত হয় না ।aQMaxa
    • ( আর এস ) কিউ এম ( আর এস ) এক্স ( আর এস ) ( আর এস ) এক্স ( আর এস )Q কিছু অ্যাপ্লিকেশন । তারপরে । হাইপোথিসিস দ্বারা একটি সাধারণ ফর্ম, সুতরাং এক্সও সাধারণ আকারে এবং হ্রাসযোগ্য নয় ।(RS)QM(RS)x(RS)(RS)x(RS)
    • ( λ x A ) x A M λ Q M ( λ x A ) x β A [ x / x ] A ( λ x A ) A A ( λ x A )Q কিছু বিমূর্ততা হয় (যদি বিনামূল্যে হতে অনুমিত হয় , তারপর সরলীকরণের জন্য আমরা শুধু নির্বাচন করতে পারবেন যাই হোক না কেন পরিবর্তনশীল সমতূল্য উপর বিমূর্ত)। তারপরে । যেহেতু স্বাভাবিক আকারে, তাই হয় । এর ফলে আমরা কমাতে পারে না থেকে ।(λx.A)xAMλQM(λx.A)xβA[x/x]A(λx.A)AA(λx.A)

    সুতরাং যদি এই জাতীয় কোনও উপস্থিত থাকে তবে এটি স্বাভাবিক আকারে হতে পারে নাQ

  2. সম্পূর্ণতার স্বরূপ, ধরুন রয়েছে একটি স্বাভাবিক ফর্ম কিন্তু নয় মধ্যে স্বাভাবিক ফর্ম (সম্ভবত এটি স্বাস্থ্যহীন স্বাভাবিক হয়), অর্থাত্ সঙ্গে যেমন যে : N β -nf N Q M Λ Q M β Q β NQ Nβ-nfNQMΛ

    QMβQβN

    তারপরে একটি হ্রাসের অনুক্রম অবশ্যই উপস্থিত থাকতে হবে , কারণ:কিউ x β এন এক্স β এনMxQxβNxβN

    • Q β NQxβNx এই বিষয়টি দ্বারা সম্ভব ।QβN
    • N β xNx স্বাভাবিক নয় যেহেতু একটি হল -nf এবং মাত্র পরমাণুর হয়।Nβx
    • তাহলে ছাড়া অন্য কিছু স্বাভাবিক ছিল , তারপর দুই -nfs, যা চার্চ-Rosser উপপাদ্য করার জন্য একটি সম্পুরক দ্বারা সম্ভব নয়। (চার্চ-রোজার উপপাদ্যটি মূলত বলেছে যে হ্রাসগুলি সংঘবদ্ধ, আপনি সম্ভবত ইতিমধ্যে জানেন))এন কিউ x βNxNQxβ

    তবে মনে রাখবেন যে উপরোক্ত আর্গুমেন্ট (1) দ্বারা সম্ভব নয়, সুতরাং আমাদের অনুমান যে এর একটি সাধারণ ফর্ম রয়েছে তা স্থায়ী নয়।QNxβNQ

  3. যদি আমরা এই জাতীয় কোনও অনুমতি দিই , তবে আমরা নিশ্চিত যে এটি অবশ্যই অ-স্বাভাবিক হবে। সেক্ষেত্রে আমরা কেবল একটি সংযুক্তি ব্যবহার করতে পারি যা এটি প্রাপ্ত কোনও যুক্তি সরিয়ে দেয়। ডেনিসের পরামর্শটি ঠিক ঠিক কাজ করে: তারপরে মাত্র দুটি অনুমান: Q

    Q(λz.(λx.λz.(xx))(λx.λz.(xx)))
    β
    QM(λz.(λx.λz.(xx))(λx.λz.(xx)))M1β(λx.λz.(xx))(λx.λz.(xx))1β(λz.((λx.λz.(xx))(λx.λz.(xx)))Q

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


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

9

একদিকে এটি অসম্ভব, কারণ একটি কুইনের নিজস্ব কোড আউটপুট করার কথা, এবং খাঁটি ল্যাম্বডা ক্যালকুলাস আউটপুট সম্পাদনের কোনও উপায় নেই।

অন্যদিকে, আপনি যদি ধরে নেন যে ফলস্বরূপ শব্দটি আউটপুট, তবে প্রতিটি স্বাভাবিক ফর্মটি একটি কোয়াইন।

উদাহরণস্বরূপ, ল্যাম্বডা টার্ম ইতিমধ্যে একটি সাধারণ ফর্ম, তারপরে ধরে নেওয়া যে এর আউটপুট ফলস্বরূপ সাধারণ ফর্ম, আউটপুট । সুতরাং ল্যাম্বদা একটি কুইন।(λx.x)(λx.x)(λx.x)


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

8

এখানে একটি প্রস্তাব দেওয়া হল:

আমরা পছন্দ করে ফাংশন একটি fixpoint হতে ।Af=λt.(λz.t)

এটি ফিক্সপয়েন্ট কম্বিনেটর ল্যাম্বদা এবং ।Y=λg.((λx.g (x x)) (λx.g (x x)))A=Yf=(λx.λz.(x x)) (λx.λz.(x x))

এখন আমরা দেখাই যে একটি কোয়াইন। প্রকৃতপক্ষে হ্রাস , সুতরাং এর অর্থ হ'ল যে কোনও , ।একজন λ z- র A y ( λ z A ) y β A β ( λ z A )AAλz.Ay(λz.A)yβAβ(λz.A)


এটি বেশ ঝরঝরে, এবং আমি যেমন জিজ্ঞাসা করেছি ঠিক তেমন উত্তর দিয়েছি, তাই এটি গ্রহণ না করার জন্য আমার খারাপ লাগছে --- তবে দুর্ভাগ্যক্রমে আমি কী চাই তা উল্লেখ করার ক্ষেত্রে আমি কিছুটা ভুল করেছি। আমি আসলে চান পরিণত যখন স্বাভাবিক ফর্ম কমে শুধু না একটি বিটা হ্রাস পদক্ষেপ পরে। (কেন এর জন্য আপডেট হওয়া প্রশ্নটি দেখুন)) এর অর্থ হ'ল কোনও পুনর্নির্মাণ থাকতে পারে না, কারণ যদি তা হয় তবে হ্রাসটি শেষ হবে না। ( λ z A ) (λz.A)y(λz.A)A
নাথানিয়েল

1
এই ক্ষেত্রে আহ আমি নিশ্চিত এটা নিম্নলিখিত স্বজ্ঞা (একটি প্রমাণ কিন্তু প্রায়) উপর ভিত্তি করে অসম্ভব,: আপনি চান প্রত্যেক জন্য যেহেতু এটি কাজ করেছে কোন ভূমিকা রাখতে , তাই বিনামূল্যে করা উচিত হবে না । তারপর শুধু হ্রাস । এখন আপনি কে কমিয়ে করতে চান । এই শেষ প্রকাশটি স্বাভাবিক ফর্ম হতে পারে না, যেহেতু ভিতরে আবার কমে যেতে পারে ...y y A ( λ z A ) y A A λ z yyyA(λz.A)yAAλz.AA
ডেনিস

1
এই আচরণটি খুব আশ্চর্যজনক নয়, কারণ ল্যাম্বদা "মুদ্রণ" আবার নির্দেশনা রয়েছে, একটি কোডের নিজস্ব কোড মুদ্রণ সর্বদা কার্যকরযোগ্য able আপনি যা জিজ্ঞাসা করছেন তা কুইন চাওয়ার অনুরূপ যেমন আপনি যদি আউটপুট সঞ্চালন করেন তবে এটি কিছুই মুদ্রণ করে না (যা সংজ্ঞা দিয়ে অসম্ভব)। λcalculus
ডেনিস

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

যদিও যে কথা বলে, এটি সত্যিই সত্য যে (আমি আপনি কি বলতে চান অনুমান ) এ মুক্ত নয় হতে হয়েছে ? উদাহরণস্বরূপ এর লাইনের সাথে কিছু হতে পারে । (সিউডোকোড কারণ আমি নিশ্চিত নই যে ল্যাম্বডা ক্যালকুলাসে স্বেচ্ছাসেবী অভিব্যক্তির জন্য সমতা অপারেটরটি সংজ্ঞায়িত করা সম্ভব কিনা তবে আমি মনে করি আপনি কী বোঝাতে চেয়েছিলেন।)z zzAAif z==p then return q, otherwise return q
নাথানিয়েল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.