পথ আনয়ন কি গঠনমূলক?


17

আমি হওটিটি বইটি পড়ছি এবং পাথ ইন্ডাকশন সহ আমার খুব কঠিন সময় কাটছে

আমি বিভাগের প্রকারটি যখন দেখি 1.12.1 : অর্থ কী তা বোঝার জন্য আমার কোনও সমস্যা নেই (আমি এটি স্মৃতি থেকে টাইপটি লিখেছি, এটি পরীক্ষা করতে)।

ind=A:C:x,y:A(x=Ay)U((x:AC(x,x,reflx))x,y:Ap:x=AyC(x,y,p)),

আমি যা ইস্যু করেছি তা হল পরের বিবৃতি:
আমার প্রথম ধারণাটি ছিল যে এই শেষ প্রকাশটি ফলস্বরূপ ফাংশনটিসংজ্ঞায়িতকরে না f : x , y : A p : x = A y সি ( এক্স , ওয়াই , পি ) , তবে কেবলতার সম্পত্তিটিকে বর্ণনা করে

with the equalityind=A(C,c,x,x,reflx):≡c(x)
f:x,y:Ap:x=AyC(x,y,p),

এটি পূর্ববর্তী উদাহরণগুলির সাথে পূর্ববর্তী উদাহরণগুলির বিপরীতে , ইন্ড + বি বা ইন্ড এন - এই উপাদানগুলির জন্য সংজ্ঞায়িত সমীকরণ রয়েছে - আমরা প্রকৃতপক্ষে প্রাঙ্গনে প্রদত্ত ফলস্বরূপ ফাংশনটি কীভাবে বানাতে হয় তা আমরা জানি। যা পুরো অধ্যায়ে রূপান্তরিত টাইপের তত্ত্বের "গঠনমূলক" সাথে একমত।indA×BindA+BindN

ফিরে যাচ্ছি , এটি সংজ্ঞায়িত না হওয়ার কারণে (দেখে মনে হচ্ছে) আমি সন্দেহজনক ছিল। জানায় যে উপাদান শুধু বিদ্যমান অধ্যায়ের অংশের সাথে ঐক্যহীন করলো। এবং প্রকৃতপক্ষে, বিভাগটি 1.12.1 জোর দিয়ে মনে হচ্ছে যে আমার ধারণাটি ভুল এবং আমরা আসলে সংজ্ঞা দিয়েছি definedind=Af

... ফাংশন : Π x , Y : একটি Π পি : এক্স = একটি Y সি ( এক্স , Y , পি ) , দ্বারা সংজ্ঞায়িত থেকে পাথ আনয়ন : Π x : একটি সি ( এক্স , এক্স , refl এক্স ) , যা পরন্তু সন্তুষ্ট ( এক্স , এক্স , refl এক্স )f:x,y:Ap:x=AyC(x,y,p),
c:x:AC(x,x,reflx)
...f(x,x,reflx):≡c(x)

এটি আমাকে পুরোপুরি বিভ্রান্ত করে তোলে, তবে আমার অনুভূতি রয়েছে যে পরবর্তী সমস্ত উন্নয়নের জন্য এই বিষয়টি অত্যন্ত গুরুত্বপূর্ণ is সুতরাং জন্য দুটি রিডিংয়ের সাথে আমার কী উচিত? বা, সম্ভবত, আমি কিছু গুরুত্বপূর্ণ সূক্ষ্মতা অনুপস্থিত এবং উত্তর "না"? ind=A


যাইহোক, এটি সত্যই কোনও HoTT- নির্দিষ্ট প্রশ্ন নয়, বরং আরও একটি সাধারণ "নির্ভরশীল ধরণের" প্রশ্ন।
কোডি

উত্তর:


12

এটি একটি বিভ্রম যে গণনার নিয়মগুলি তারা যে বিষয়গুলির বিষয়ে কথা বলে তার "সংজ্ঞা দেয়" বা "নির্মাণ" করে। আপনি সঠিকভাবে পর্যবেক্ষণ করেছেন যে সমীকরণটি এটি "সংজ্ঞায়িত" করে না, তবে অন্যান্য ক্ষেত্রেও একই সত্য তা পর্যবেক্ষণ করতে ব্যর্থ হয়েছিল। আসুন ইউনিট প্রকার 1 এর জন্য আবর্তন নীতিটি বিবেচনা করি , যা বিশেষত স্পষ্টতই "নির্ধারিত" বলে মনে হয়। আইওটিটি বইয়ের ১.৫ ধারা অনুযায়ী ind=A1 সমীকরণের সাথে i n d 1 ( C , c , ) = c এটি কী "সংজ্ঞায়িত" বা "কনস্ট্রাক্ট" আই এন ডি 1 এই অর্থে বিবেচনা করে যে এটি আমার এন ডি 1 "কী করে"তাতে কোনও সন্দেহনেই? উদাহরণস্বরূপ, সি ( x ) = N এবং a = 42 সেট করুনএবং আই এন ডি 1 ( সি , 42 ,

ind1:C:1TypeC()x:1P(x)
ind1(C,c,)=c.
ind1ind1C(x)=Na=42 একটি প্রদত্ত প্রকাশের জন্য ধরনের 1 । আপনার প্রথম চিন্তা হতে পারে যে আমরা এটিকে 42 এ কমিয়ে দিতে পারিকারণ "1 এর একমাত্র উপাদান"। কিন্তু জন্য, বেশ ভালো হবে সমীকরণ আমি এন 1 প্রযোজ্য শুধুমাত্র যদি আমরা , যা অসম্ভব যখন একটি পরিবর্তনশীল, উদাহরণস্বরূপ। আমরা এটি থেকে ঝেড়ে ফেলার চেষ্টা করতে পারি এবং বলতে পারি যে আমরা কেবল বদ্ধ শর্তাদি গণনায় আগ্রহী, তাই বন্ধ করা উচিত।
ind1(C,42,e)
e1421ind1eee

এটা যে প্রতি বদ্ধ মেয়াদ ঘটনা না ধরনের 1 judgmentally সমান e1 ? এটি আসলে বাজে বিবরণ এবং সাধারণীকরণের জটিল প্রমাণগুলির উপর নির্ভর করে। Hott ক্ষেত্রে উত্তর "না" কারণ Univalence সবর্জনবিদিত দৃষ্টান্ত ধারণ করতে পারে, এবং এটা স্পষ্ট নয় যে সম্পর্কে কি (এই হল Hott খোলা সমস্যা)।e

আমরা কোন ধরনের তত্ত্ব একটি সংস্করণ বিবেচনা করে univalance সমস্যা পাশকাটিয়ে করতে নেই ভাল বৈশিষ্ট্য যাতে টাইপ প্রতিটি বদ্ধ মেয়াদ আছে judgmentally সমান । সেক্ষেত্রে এটি বলা ন্যায়সঙ্গত যে আমরা কীভাবে আই এন ডি 1 এর সাথে গণনা করতে জানি তা কিন্তু:1ind1

  1. এটি পরিচয় টাইপের ক্ষেত্রে একই থাকবে, কারণ পরিচয়ের ধরণের প্রতিটি বন্ধ শব্দটি কিছু r e f l ( a ) এর সমান হবে , এবং তারপরে i n d = A এর সমীকরণটি কীভাবে গণনা করতে হবে তা আমাদের জানিয়ে দেবে।refl(a)ind=A

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

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

সফ্টওয়্যার ইঞ্জিনিয়ারিংয়ের পদগুলিতে, আমি বলব যে স্পেসিফিকেশন এবং প্রয়োগের মধ্যে আমাদের একটি বিভ্রান্তি রয়েছে । সনাক্তকরণের ধরণের HoTT অক্ষর একটি স্পেসিফিকেশন সমীকরণটি কীভাবে গুনে কাজ করতে হয়, বা i n d = C কীভাবে বানাতে হয় তা আমাদের জানাচ্ছে না, বরং যে তবে আমি এনind=C(C,c,x,x,refl(x))c(x)ind=C "প্রয়োগ করা" হয়, আমাদের প্রয়োজন এটি সমীকরণটি পূরণ করে। এ জাতীয় i n d = C গঠনমূলক ফ্যাশনে পাওয়া যায়কিনা তা পৃথক প্রশ্ন।ind=Cind=C

অবশেষে, আপনি কীভাবে "গঠনমূলক" শব্দটি ব্যবহার করেন তা সম্পর্কে আমি কিছুটা ক্লান্ত। দেখে মনে হচ্ছে আপনি "গঠনমূলক" "সংজ্ঞায়িত" সমান। এই ব্যাখ্যার অধীনে হ্যালটিং ওরাকলটি গঠনমূলক, কারণ এর আচরণটি আমাদের উপর চাপানো প্রয়োজনীয়তার দ্বারা সংজ্ঞায়িত করা হয় (প্রদত্ত মেশিনটি বন্ধ রয়েছে কিনা তা অনুসারে এটি 1 বা 0 আউটপুট দেয়)। কেবলমাত্র অ-গঠনমূলক সেটিংয়ে থাকা অবজেক্টগুলিকে বর্ণনা করা প্রাকৃতিকভাবে সম্ভব। বিপরীতভাবে, সম্পত্তি এবং প্রকৃত পক্ষে গণনা করা যায় না এমন অন্যান্য জিনিসগুলির বিষয়ে গঠনমূলকভাবে কথা বলা পুরোপুরি সম্ভব। এখানে এক হল: সম্পর্ক দ্বারা সংজ্ঞায়িত এইচ ( এনHN×{0,1} গঠনমূলক, অর্থাত্, গঠনমূলক দৃষ্টিকোণ থেকে এই সংজ্ঞাটিতে কোনও ভুল নেই। এটা তোলে শুধু তাই যে গঠনমূলক এক প্রদর্শন করতে পারবে না যে এইচ মোট সম্পর্ক, এবং তার চরিত্রগত মানচিত্র χ এইচ : এন × { 0 , 1 } পি পি না ফ্যাক্টর মাধ্যমে করে

H(n,d)(d=1n-th machine halts)(d=0n-th machine diverges)
HχH:N×{0,1}Propbool, সুতরাং আমরা এর মানগুলি "গণনা" করতে পারি না।

সংযোজন: আপনার প্রশ্নের শিরোনাম "পন্থা আনয়ন কি গঠনমূলক?" "গঠনমূলক" এবং "সংজ্ঞায়িত" এর মধ্যে পার্থক্য পরিষ্কার করার পরে, আমরা প্রশ্নের উত্তর দিতে পারি। হ্যাঁ, পাথ আনয়ন নির্দিষ্ট ক্ষেত্রে গঠনমূলক হিসাবে পরিচিত:

  1. যদি আমরা ইউনিভ্যালেন্স ছাড়াই টাইপ তত্ত্বের সীমাবদ্ধ রাখি যাতে আমরা শক্তিশালী নরমালাইজেশন প্রদর্শন করতে পারি, তবে পাথ আনয়ন এবং সমস্ত কিছু গঠনমূলক কারণ কারণ সেখানে সাধারণীকরণ প্রক্রিয়া সম্পাদনকারী অ্যালগরিদম রয়েছে।

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

  3. টাইপ তত্ত্বের অনুবাদ (আবার ইউনিভ্যালেন্স ছাড়াই) গঠনমূলক সেট থিওরি সিজেডএফে আছে। আবার, এটি স্ট্রাইচারের অ্যাক্সিয়াম কে কে বৈধতা দেয়

  4. বাস্তবায়নযোগ্যতার মডেলগুলির ভিতরে একটি গ্রুপয়েড মডেল রয়েছে যা স্ট্রেচারের কে ছাড়াই আমাদের টাইপ তত্ত্বের ব্যাখ্যা করতে দেয় Ste এটি স্টিভ অ্যাওডি এবং আমার প্রাথমিক কাজ।

আমাদের সত্যই ইউনিভ্যালেন্সের গঠনমূলক স্থিতি বাছাই করা দরকার।


আমি বিশ্বাস করি এই উত্তরটি এখন (আংশিক) পুরানো
অতিক্রান্ত ওয়ার্ল্ডসেন্ডার

প্রকৃতপক্ষে, মাঝামাঝি সময়ে কিউবিকাল টাইপ তত্ত্ব একটি সদর্থক উত্তর দিয়েছে: ইউনিভ্যালেন্ট টাইপ তত্ত্বের একটি গঠনমূলক মডেল রয়েছে।
আন্দ্রেজ বাউর

7

আমি কোনও HoTT ব্যক্তি নই, তবে আমি আমার দুই সেন্টে ফেলে দেব।

মনে করুন আমরা একটি ফাংশন তৈরি করতে চাইছি

একজন:Πএক্স,Y:একজনΠপি:এক্স=একজনYসি(এক্স,Y,পি)
আমরা কীভাবে এটি করব? ঠিক আছে, ধরুন আমাদের কোনও দেওয়া হয়েছেএক্স,Y:একজন এবং তাদের সমতা প্রমাণ পি:এক্স=একজনY। যেহেতু আমি স্বেচ্ছাচারী টাইপ সম্পর্কে কিছুই জানি নাএকজন, I know nothing about the `structure' of x,y. However, I know something about the specific equality type: it has a single constructor,
refla:a=Aa, for any a:A
Hence, prefla for some a:A, but this would force x=a=y. Hence, if we had an element of C(x,x,reflx) for any x:A; ie if we had a function
baseC:x:AC(x,x,reflx)
(for our specific C), then our function fA can be defined as follows:
fA(x,y,p):=baseC(x,x,p)
.

Getting rid of the subscripts leads to the general inductive definition.

Hope that helps!


PS. I'm no HoTT guy, so I'm assuming `Axiom K'. More precisely, I'm assuming that an element e of type E must be the result of repeated applications of constructor of E. As far as I know, HoTT, probably chapter 2 onwards, throws away this notion ... and that makes absolutely no sense to me.


1
Perhaps you can make some sense of it, or at least get worried about your current intuitions by checking out math.andrej.com/2013/08/28/the-elements-of-an-inductive-type where I try to explain why it is harmful to think that the closed terms of a type are all there is to a type.
Andrej Bauer

2
By the way, you need not asssume Axiom K. For your answer to make sense, you need to know that every closed term of an identity type normalizes to refl. This has nothing to do with Axiom K, as such a normalization property does not prove axiom K, nor does it follow from axiom K.
Andrej Bauer

3

I'm an amateur HoTT guy, so I'll try to complement Moses' already great answer. Let me take the type A×B as an example. The basic principle of constructive type theory, as outlined by Martin-Löf, is that *every element of A×B is described as being in the image of the constructor:

pair : ABA×B
This philosophy allows us to define elimination: to build a function f out of A×B, it suffices to describe its action on the image of pair.

But since pair is a constructor (and so is in particular injective), this means exactly that to build a function f:A×BC, it suffices to describe it's action on a pair of elements in A and B, so

f:ABC
is sufficient to describe such an f. In conclusion, there is a canonical way to define functions out of A×B, and this can be encapsulated in the type
(ABC)(A×BC)
but this is exactly the type of indA×B.

But this is only half of the story: what happens if this newly constructed f is applied to a given pair(a,b)? Well then f should agree with its defining function f, i.e.

f(pair(a,b)) := f a b
i.e.
indA×B f pair(a,b) := f a b
and this should hold definitionally (or computationally), which means the two should be completely interchangeable in all situations (which is much different from the = in HoTT).

So you see that the definition of an eliminator for inductive type with given constructors comes in 2 steps:

  1. an existence principle, which describes the type of ind.

  2. a coherence principle which defines the computational behavior of ind. In category theory, this would correspond to uniqueness of the eliminator in some sense.


Let me argue that this is the same for the =A type. We want to build, given x,y:A and p:x=y, an element of C (we're forgetting the dependencies for simplification). To do that, we need to assume that p was built using a constructor for the type x=y, which can only be refl(z) for some z. This means that to give a function

f:Πx,y:A,x=yC
it suffices to give a function
f:Πz:A,C
which is defined for refl(z) (again, forgetting the dependencies in C).

Now what does the coherence principle say? Well simply that if applied to a known constructor, f should behave like f, which means

f z z refl(z):=f z

But that's exactly what you have above! The same principle that gave us the existence and coherence for the eliminator of A×B gives us the existence and coherence for the eliminator of =A.

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