The book discusses the concept of vectors.

کتاب میں ویکٹرز کے تصور پر بحث کی گئی ہے۔


This chapter covers propositional logic.

یہ باب منطق کی تجویز پر محیط ہے۔


الگورتھم کی تفصیل سے وضاحت کی گئی ہے۔


We will examine the Curry Howard isomorphism.

ہم کیوری ہاورڈ آئیسومورفزم کا جائزہ لیں گے۔


The system integrates program development and proof.

یہ نظام پروگرام کی ترقی اور ثبوت کو مربوط کرتا ہے۔


Types and propositions are considered the same.

اقسام اور تجاویز کو ایک ہی سمجھا جاتا ہے۔


کتاب ٹائپ تھیوری کے بارے میں ہے۔


تفصیل کیا ہے؟


The language will have to be more powerful.

زبان کو زیادہ طاقتور ہونا پڑے گا۔


Testing cannot ensure the absence of errors.

جانچ غلطیوں کی عدم موجودگی کو یقینی نہیں بنا سکتی۔


The problem of correctness is ever-present.

درستی کا مسئلہ ہمیشہ موجود رہتا ہے۔


We are interested in developing a language.

ہم ایک زبان تیار کرنے میں دلچسپی رکھتے ہیں۔


The system of constructive type theory is discussed.

تعمیری قسم کے نظریہ کے نظام پر تبادلہ خیال کیا گیا ہے۔


The book examines the background in both logic and computing.

کتاب منطق اور کمپیوٹنگ دونوں میں پس منظر کا جائزہ لیتی ہے۔


The formalization gives a clear characterisation.

فارمولیشن ایک واضح خصوصیت فراہم کرتی ہے۔


ہم قدرتی استدلال کے نظام کو دیکھتے ہیں۔


Propositional logic formalises arguments.

تجویزی منطق دلائل کو رسمی شکل دیتی ہے۔


صحیح دلائل کو ثبوت کہا جاتا ہے۔


فرض کا اصول بیان کیا گیا ہے۔


مزید پیچیدہ اخذ تیار کیے گئے ہیں۔


The rule of conjunction introduction combines derivations.

مربوطہ تعارف کا اصول استخراج کو یکجا کرتا ہے۔


From proofs of A and B, we can infer A∧B.

A اور B کے ثبوت سے، ہم A∧B کا نتیجہ اخذ کر سکتے ہیں۔


The assumptions depend on the proofs of A and B.

مفروضے A اور B کے ثبوت پر منحصر ہیں۔


Applying the introduction rule three times, we infer the conjunction.

تعارف کے اصول کو تین بار لاگو کرنے سے، ہم مربوطہ نتیجہ اخذ کرتے ہیں۔


The rule shows how a formula with a conjunction can be introduced.

یہ اصول ظاہر کرتا ہے کہ کس طرح ایک فارمولا جس میں ایک مربوطہ ہو متعارف کرایا جا سکتا ہے۔


ہم ایک مربوطہ کو ختم کر سکتے ہیں۔


From a proof of A∧B we can infer both A and B.

A∧B کے ثبوت سے ہم A اور B دونوں کا نتیجہ اخذ کر سکتے ہیں۔


We have another example combining introduction and elimination.

ہمارے پاس ایک اور مثال ہے جو تعارف اور خاتمے کو یکجا کرتی ہے۔


This proof exhibits the associativity of the conjunction operation.

یہ ثبوت مربوطہ آپریشن کی وابستگی کو ظاہر کرتا ہے۔


The elimination rules state the only way to infer it.

خاتمے کے اصول بتاتے ہیں کہ اس کا نتیجہ اخذ کرنے کا واحد طریقہ کیا ہے۔


We think of A⇒B as expressing A implies B.

ہم A⇒B کو A کا مطلب B کے طور پر سمجھتے ہیں۔


We would like to conclude A⇒B when we have a deduction of B assuming A.

ہم A⇒B کا نتیجہ اخذ کرنا چاہیں گے جب ہمارے پاس B کا استدلال ہو جو A کو فرض کرتا ہے۔


The reason is that A has become the hypothesis in the formula A⇒B.

اس کی وجہ یہ ہے کہ A فارمولا A⇒B میں مفروضہ بن گیا ہے۔


Given proofs of A and A⇒B, we can infer B.

A اور A⇒B کے ثبوت کو دیکھتے ہوئے، ہم B کا نتیجہ اخذ کر سکتے ہیں۔


From a proof of the formula B, we can infer the formula A⇒B.

فارمولا B کے ثبوت سے، ہم فارمولا A⇒B کا نتیجہ اخذ کر سکتے ہیں۔


The proof of the formula B need not contain the assumption A.

فارمولا B کے ثبوت میں مفروضہ A کا ہونا ضروری نہیں ہے۔


We shall see an example of this in the proof of B⇒(A⇒B).

ہم اس کی ایک مثال B⇒(A⇒B) کے ثبوت میں دیکھیں گے۔


In a substantial proof there will be many occurrences of rules.

ایک ٹھوس ثبوت میں اصولوں کے بہت سے واقعات ہوں گے۔


We can discharge the three assumptions B, A and (A∧B)⇒C in turn.

ہم تین مفروضوں B، A اور (A∧B)⇒C کو باری باری خارج کر سکتے ہیں۔


This example shows how a deduction can be free of assumptions.

یہ مثال دکھاتی ہے کہ کس طرح ایک استدلال مفروضوں سے آزاد ہو سکتا ہے۔


The book is about type theory and functional programming.

یہ کتاب ٹائپ تھیوری اور فنکشنل پروگرامنگ کے بارے میں ہے۔


Type theory brings together logic and programming languages.

ٹائپ تھیوری منطق اور پروگرامنگ زبانوں کو ایک ساتھ لاتی ہے۔


The system allows functions whose result type depends upon the value of its input.

یہ نظام ایسے افعال کی اجازت دیتا ہے جن کی نتیجہ کی قسم ان کے ان پٹ کی قدر پر منحصر ہوتی ہے۔


This book is accessible to final-year undergraduates.

یہ کتاب آخری سال کے انڈرگریجویٹس کے لیے قابل رسائی ہے۔


We begin with introductory material on logic and functional programming.

ہم منطق اور فنکشنل پروگرامنگ پر ابتدائی مواد سے شروع کرتے ہیں۔


The book can be thought of as giving both a first and a second course in type theory.

اس کتاب کو ٹائپ تھیوری میں پہلے اور دوسرے کورس دونوں کے طور پر سمجھا جا سکتا ہے۔


We will explore the system from a mathematical perspective.

ہم نظام کو ریاضیاتی نقطہ نظر سے تلاش کریں گے۔


کتاب کا مقصد ایک متحرک ہدف ہے۔


Each chapter begins with a more detailed introduction.

ہر باب ایک زیادہ تفصیلی تعارف سے شروع ہوتا ہے۔


The first three chapters survey the three fields upon which type theory depends.

پہلے تین ابواب ان تین شعبوں کا جائزہ لیتے ہیں جن پر ٹائپ تھیوری انحصار کرتی ہے۔


We discuss some issues in the lambda-calculus and functional programming.

ہم لیمبڈا کیلکولس اور فنکشنل پروگرامنگ میں کچھ مسائل پر تبادلہ خیال کرتے ہیں۔


Chapter four forms the focus of the book.

چوتھا باب کتاب کا مرکز ہے۔


We give the formal system for type theory.

ہم ٹائپ تھیوری کے لیے رسمی نظام پیش کرتے ہیں۔


ٹائپ تھیوری کا نظام پیچیدہ ہے۔


ہم اس کے بارے میں کچھ نتائج ثابت کرتے ہیں۔


Programs are terminating and evaluation is deterministic.

پروگرام ختم ہو رہے ہیں اور تشخیص قطعی ہے۔


Chapter six covers a variety of examples and larger case studies.

چھٹا باب مختلف مثالوں اور بڑے کیس اسٹڈیز کا احاطہ کرتا ہے۔


We choose to stress the differences between the system and more traditional languages.

ہم نظام اور زیادہ روایتی زبانوں کے درمیان فرق پر زور دینے کا انتخاب کرتے ہیں۔


We also take the opportunity to demonstrate how programs can be extracted from constructive proofs.

ہم اس بات کا مظاہرہ کرنے کا موقع بھی لیتے ہیں کہ کس طرح تعمیری ثبوت سے پروگرام نکالے جا سکتے ہیں۔


The combination of symbolic and natural language used by mathematicians is surprisingly suggestive.

ریاضی دانوں کے ذریعہ استعمال ہونے والی علامتی اور قدرتی زبان کا امتزاج حیرت انگیز طور پر تجویز کرنے والا ہے۔


The rule identifies certain functions which have the same behaviour.

یہ اصول ان مخصوص افعال کی نشاندہی کرتا ہے جو ایک ہی طرح کا برتاؤ رکھتے ہیں۔


We generally consider η-reduction as an adjunct to β-reduction.

ہم عام طور پر η-reduction کو β-reduction کے ساتھ ایک اضافی چیز کے طور پر سمجھتے ہیں۔


The relations generate two convertibility relations.

تعلقات دو تبادلہ پذیری تعلقات پیدا کرتے ہیں۔


We can also ask the more general question of which expressions have the same computational behaviour.

ہم یہ زیادہ عام سوال بھی پوچھ سکتے ہیں کہ کون سے تاثرات ایک ہی حسابی رویہ رکھتے ہیں۔


The untyped λ-calculus is a simple theory of pure functions.

غیر ٹائپ شدہ λ-calculus خالص افعال کا ایک سادہ نظریہ ہے۔


It is Turing-complete, exhibiting an equivalence with Turing computability.

یہ ٹورنگ مکمل ہے، جو ٹورنگ کمپیوٹیبلٹی کے ساتھ مساوات کا مظاہرہ کرتا ہے۔


One representation of the natural numbers is as the iterators.

قدرتی اعداد کی ایک نمائندگی تکرار کنندگان کے طور پر ہے۔


We need to be able to solve equations of the form f ≡ R f.

ہمیں اس شکل کی مساواتوں کو حل کرنے کے قابل ہونے کی ضرورت ہے f ≡ R f.


The disadvantage of this power is the fact that our programs can continually break the stipulations.

اس طاقت کا نقصان یہ حقیقت ہے کہ ہمارے پروگرام مسلسل شرائط کو توڑ سکتے ہیں۔


We now examine a number of typed λ-calculi of differing expressive strength.

اب ہم مختلف اظہار قوت کے ٹائپ شدہ λ-calculi کی ایک تعداد کا جائزہ لیتے ہیں۔


We begin by defining a system with function types.

ہم فنکشن کی اقسام کے ساتھ ایک نظام کی تعریف کرکے شروع کرتے ہیں۔


In typed lambda calculi each λ-expression has a type.

ٹائپ شدہ لیمبڈا کیلکولی میں ہر λ-اظہار کی ایک قسم ہوتی ہے۔


We specify the type of each defined λ-expression below.

ہم ذیل میں ہر متعین λ-اظہار کی قسم کی وضاحت کرتے ہیں۔


Many notions defined in the untyped case carry over to here.

غیر ٹائپ شدہ صورت میں بیان کردہ بہت سے تصورات یہاں تک پہنچ جاتے ہیں۔


It is easy to see that convertible expressions must be of the same type.

یہ دیکھنا آسان ہے کہ قابل تبادلہ تاثرات ایک ہی قسم کے ہونے چاہئیں۔


The Church-Rosser theorems for β and βη-reduction have the same proofs.

β اور βη-reduction کے لیے چرچ-روسر کے نظریات کے ایک ہی ثبوت ہیں۔


We can present the calculus in a slightly different form.

ہم کیلکولس کو قدرے مختلف شکل میں پیش کر سکتے ہیں۔


We then assign types to expressions in the type context.

پھر ہم قسم کے سیاق و سباق میں تاثرات کو اقسام تفویض کرتے ہیں۔


The rule giving the type of an abstraction has one unusual aspect.

تجرید کی قسم دینے والے اصول کا ایک غیر معمولی پہلو ہے۔


This method, introduced in [Tai67] and known as the reducibility method, is a general means of proof.

یہ طریقہ، [Tai67] میں متعارف کرایا گیا اور کم کرنے کے طریقہ کے طور پر جانا جاتا ہے، ثبوت کا ایک عام ذریعہ ہے۔


In other words, we need a proof for arbitrary x, which is exactly what the rule states.

دوسرے لفظوں میں، ہمیں من مانے x کے لیے ایک ثبوت کی ضرورت ہے، جو بالکل وہی ہے جو اصول بیان کرتا ہے۔


The rule for elimination of ∨ suggests the following for existential elimination: ∃x. A(x) [A(a)] . . . B [A(b)] . . . B. . . B

∨ کو ختم کرنے کا اصول وجودی خاتمے کے لیے درج ذیل تجویز کرتا ہے: ∃x. A(x) [A(a)] . . . B [A(b)] . . . B. . . B


We obtain our rule by replacing all the individual proofs of B from A(a), A(b) and so forth by a proof from A(x) for an arbitrary x.

ہم اپنے اصول کو A(a), A(b) سے B کے تمام انفرادی ثبوتوں کو من مانے x کے لیے A(x) سے ایک ثبوت سے بدل کر حاصل کرتے ہیں۔


For the first example we assume θ≡ df ∀x.(P(x)⇒Q(x)) ∃x. P(x) and try to prove that ∃x. Q(x)

پہلی مثال کے لیے ہم فرض کرتے ہیں θ≡ df ∀x.(P(x)⇒Q(x)) ∃x. P(x) اور یہ ثابت کرنے کی کوشش کرتے ہیں کہ ∃x. Q(x)


Informally the inference is clear, but what do we do in our system?

غیر رسمی طور پر استدلال واضح ہے، لیکن ہم اپنے نظام میں کیا کرتے ہیں؟


We have a universal assumption, θ, and the rule of universal elimination tells us that we can use any instance P(x)⇒P(x) of θ in our proof.

ہمارے پاس ایک عالمگیر مفروضہ، θ ہے، اور عالمگیر خاتمے کا اصول ہمیں بتاتا ہے کہ ہم اپنے ثبوت میں θ کی کوئی بھی مثال P(x)⇒P(x) استعمال کر سکتے ہیں۔


If we adopt a backwards reading of the rule of existential elimination, then we see how to use an existential assumption.

اگر ہم وجودی خاتمے کے اصول کی الٹی پڑھائی کو اختیار کرتے ہیں، تو ہم دیکھتے ہیں کہ وجودی مفروضے کو کیسے استعمال کیا جائے۔


To use an existential assumption ∃x. P(x) , use the instance P(x) and finally discharge this using the rule (∃E).

وجودی مفروضے ∃x. P(x) کو استعمال کرنے کے لیے، مثال P(x) استعمال کریں اور آخر میں اس کو اصول (∃E) کا استعمال کرتے ہوئے خارج کریں۔


Proceeding thus we have P(x) ∀x.(P(x)⇒Q(x)) (P(x)⇒Q(x)) (∀E) Q(x) (⇒E) From this we can infer ∃x. Q(x) (even though x is free in one of the assumptions — there are no restrictions on the rule (∃I)), and finally by existential elimination we have:

اس طرح آگے بڑھتے ہوئے ہمارے پاس P(x) ∀x.(P(x)⇒Q(x)) (P(x)⇒Q(x)) (∀E) Q(x) (⇒E) ہے اس سے ہم نتیجہ اخذ کر سکتے ہیں ∃x. Q(x) (اگرچہ x مفروضوں میں سے ایک میں آزاد ہے — اصول (∃I) پر کوئی پابندیاں نہیں ہیں)، اور آخر میں وجودی خاتمے سے ہمارے پاس ہے:


For our second example, suppose we make the assumption that every object is either an apple or a banana: ∀x.(A(x)∨B(x)) and that both apples and bananas are tasty: ∀x.(A(x)⇒T(x)) ∀x.(B(x)⇒T(x))

ہماری دوسری مثال کے لیے، فرض کریں کہ ہم یہ فرض کرتے ہیں کہ ہر چیز یا تو سیب ہے یا کیلا: ∀x.(A(x)∨B(x)) اور یہ کہ سیب اور کیلے دونوں لذیذ ہیں: ∀x.(A(x)⇒T(x)) ∀x.(B(x)⇒T(x))


We will show that everything is tasty, ∀x. T(x).

ہم دکھائیں گے کہ ہر چیز لذیذ ہے، ∀x. T(x).


Applying the universal elimination rule three times we have (A(y)∨B(y)) (A(y)⇒T(y)) (B(y)⇒T(y))

عالمگیر خاتمے کے اصول کو تین بار لاگو کرنے پر ہمارے پاس (A(y)∨B(y)) (A(y)⇒T(y)) (B(y)⇒T(y)) ہے


and then we can infer T(y) on the basis of the second of these and the assumption A(y), using (⇒E).

اور پھر ہم ان میں سے دوسرے اور مفروضے A(y) کی بنیاد پر T(y) کا نتیجہ اخذ کر سکتے ہیں، (⇒E) کا استعمال کرتے ہوئے۔


We can similarly infer T(y) from B(y) and the universal statement, and are then in a position to apply (∨E).

ہم اسی طرح B(y) اور عالمگیر بیان سے T(y) کا نتیجہ اخذ کر سکتے ہیں، اور پھر (∨E) کو لاگو کرنے کی پوزیشن میں ہیں۔


Our final example concerns the proof of ∃y.∀x. A(x, y)⇒∀x.∃y. A(x, y)

ہماری آخری مثال ∃y.∀x. A(x, y)⇒∀x.∃y. A(x, y) کے ثبوت سے متعلق ہے۔


The reader might like to refer back to the discussion on page 18 above.

قارئین اوپر صفحہ 18 پر بحث کا حوالہ دے سکتے ہیں۔


Remembering the rule of implication introduction, it is sufficient to prove ∀x.∃y. A(x, y) on the assumption of ∃y.∀x. A(x, y)

امپلی کیشن انٹروڈکشن کے اصول کو یاد کرتے ہوئے، یہ ثابت کرنا کافی ہے ∀x.∃y. A(x, y) ∃y.∀x. A(x, y) کے مفروضے پر


We have an existential assumption, so stripping off the quantifier we can by the rule (∃E) use instead the assumption ∀x. A(x, y)

ہمارے پاس ایک وجودی مفروضہ ہے، لہذا مقدار کو ہٹانے سے ہم اصول (∃E) کے ذریعے اس کے بجائے مفروضہ ∀x. A(x, y) استعمال کر سکتے ہیں۔


Using (∀E) we have ∀x. A(x, y) A(x, y) (∀E)

(∀E) کا استعمال کرتے ہوئے ہمارے پاس ∀x. A(x, y) A(x, y) (∀E) ہے


Now, we can deduce ∀x.∃y. A(x, y) (∀I) using (∀I), since x is not free in the assumptions (and therefore arbitrary).

اب، ہم نتیجہ اخذ کر سکتے ہیں ∀x.∃y. A(x, y) (∀I) (∀I) کا استعمال کرتے ہوئے، کیونکہ x مفروضوں میں آزاد نہیں ہے (اور اس لیے من مانا ہے۔)


کتاب میز پر ہے۔


آپ کا نام کیا ہے؟


میں آج خوش محسوس کر رہا ہوں۔


موسم بہت خوشگوار ہے۔


براہ کرم دروازہ بند کر دیں۔


کمپنی نے ایک نئی مصنوعات کا اعلان کیا۔


The research paper explores the concept of polymorphism.

تحقیقی مقالہ پولیمورفزم کے تصور کو تلاش کرتا ہے۔


وہ ایک بہت باصلاحیت موسیقار ہے۔


The algorithm efficiently sorts the data.

الگورتھم ڈیٹا کو مؤثر طریقے سے ترتیب دیتا ہے۔


وہ یونیورسٹی میں تعلیم حاصل کر رہی ہے۔


The government is discussing new policies.

حکومت نئی پالیسیوں پر غور کر رہی ہے۔


فنکشن دو دلائل لیتا ہے۔


شہر میں شدید ٹریفک ہے۔


The concept of recursion is fundamental.

ریکرژن کا تصور بنیادی ہے۔


میٹنگ کل منعقد کی جائے گی۔


The data structure is efficient for this task.

ڈیٹا ڈھانچہ اس کام کے لیے موثر ہے۔


The company's profits increased significantly.

کمپنی کے منافع میں نمایاں اضافہ ہوا۔


The theorem can be proven using induction.

اس تھیورم کو انڈکشن کا استعمال کرتے ہوئے ثابت کیا جا سکتا ہے۔


The algorithm's time complexity is O(n).

الگورتھم کی وقت کی پیچیدگی O(n) ہے۔


The constructive approach to mathematics is fascinating.

ریاضی کا تعمیری طریقہ دلچسپ ہے۔


آج موسم خوشگوار ہے۔


کیا آپ براہ کرم مجھے نمک دے سکتے ہیں؟


I am going to the market to buy some groceries.

میں بازار جا رہا ہوں کچھ گروسری خریدنے کے لیے۔


The company announced its quarterly profits.

کمپنی نے اپنے سہ ماہی منافع کا اعلان کیا۔


The new policy will be implemented next month.

نئی پالیسی اگلے مہینے نافذ کی جائے گی۔


وہ ایک بہت باصلاحیت موسیقار ہے۔


کانفرنس دہلی میں منعقد کی جائے گی۔


وہ اپنے امتحانات کی تیاری کر رہی ہے۔


The government is working on a new infrastructure project.

حکومت ایک نئے بنیادی ڈھانچے کے منصوبے پر کام کر رہی ہے۔


The research team published their findings in a scientific journal.

تحقیقی ٹیم نے سائنسی جریدے میں اپنے نتائج شائع کیے۔


The complex equation requires careful analysis.

پیچیدہ مساوات کو محتاط تجزیہ کی ضرورت ہے۔


The economic forecast predicts a recession.

معاشی پیش گوئی کساد بازاری کی پیشین گوئی کرتی ہے۔


The artist's work is displayed in a prestigious gallery.

فنکار کا کام ایک معزز گیلری میں نمائش کے لیے پیش کیا گیا ہے۔


معاہدے پر دونوں ممالک نے دستخط کیے۔


The software update includes several new features.

سافٹ ویئر اپ ڈیٹ میں کئی نئی خصوصیات شامل ہیں۔


The philosophical debate explored the nature of reality.

فلسفیانہ بحث نے حقیقت کی نوعیت کو تلاش کیا۔


The implications of the discovery are far-reaching.

دریافت کے مضمرات دور رس ہیں۔


The intricate design of the building is remarkable.

عمارت کا پیچیدہ ڈیزائن قابل ذکر ہے۔


The quantum physics experiment yielded unexpected results.

کوانٹم طبیعیات کے تجربے سے غیر متوقع نتائج برآمد ہوئے۔


The system defines a duality between propositions and types.

یہ نظام تجویزوں اور اقسام کے درمیان دوہری پن کی وضاحت کرتا ہے۔


A proof of a proposition can be seen as a member of the type.

ایک تجویز کا ثبوت قسم کے رکن کے طور پر دیکھا جا سکتا ہے۔


Ideas from one side can be re-interpreted on the other.

ایک طرف کے خیالات کو دوسری طرف دوبارہ تشریح کی جا سکتی ہے۔


We first present type theory as a logical system.

ہم پہلے ٹائپ تھیوری کو ایک منطقی نظام کے طور پر پیش کرتے ہیں۔


The chapter begins with an informal examination of what it means for something to be a proof.

باب اس بات کی غیر رسمی جانچ سے شروع ہوتا ہے کہ کسی چیز کا ثبوت ہونا کیا ہے۔


We look at the general form that the rules will take.

ہم اس عام شکل کو دیکھتے ہیں جو قوانین لیں گے۔


With each connective we associate four kinds of rule.

ہر کنیکٹیو کے ساتھ ہم چار قسم کے اصول منسلک کرتے ہیں۔


The familiar rules of introduction and elimination describe how certain propositions can be proved.

تعارف اور اخراج کے مانوس اصول بیان کرتے ہیں کہ کچھ تجویزوں کو کیسے ثابت کیا جا سکتا ہے۔


From the programming point of view they assert the existence of certain objects.

پروگرامنگ کے نقطہ نظر سے وہ کچھ اشیاء کے وجود کا دعویٰ کرتے ہیں۔


The computation rules explain how to evaluate or run programs.

کمپیوٹیشن کے اصول بتاتے ہیں کہ پروگراموں کا جائزہ یا رن کیسے لیا جائے۔


We also give a formation rule which embodies the syntax of the connective.

ہم ایک تشکیل کا اصول بھی دیتے ہیں جو کنیکٹیو کے نحو کو مجسم کرتا ہے۔


The formal presentation of the logical rules is followed by examples.

منطقی اصولوں کی رسمی پیشکش کے بعد مثالیں دی گئی ہیں۔


We introduce the logical notions of universal and existential quantifiers.

ہم عالمگیر اور وجودی کوانٹیفائرز کے منطقی تصورات متعارف کرواتے ہیں۔


Programming is dependent on the presence of data types.

پروگرامنگ ڈیٹا کی اقسام کی موجودگی پر منحصر ہے۔


Infinite data types are characterized by principles of definition.

لامحدود ڈیٹا کی اقسام تعریف کے اصولوں سے منسوب ہیں۔


دونوں طریقے ساتھ ساتھ چلتے ہیں۔


This recursive characterisation carries over to other types.

یہ ریکرسیو خصوصیت دوسری اقسام پر منتقل ہوتی ہے۔


The assertion of the identity of two values forms a fundamental proposition.

دو اقدار کی شناخت کا دعویٰ ایک بنیادی تجویز بناتا ہے۔


There is another relation linking items, generated by '→'.

ایک اور رشتہ ہے جو اشیاء کو جوڑتا ہے، جو '→' کے ذریعے تیار ہوتا ہے۔


This means that our system gives an integrated treatment of programming and verification.

اس کا مطلب ہے کہ ہمارا نظام پروگرامنگ اور تصدیق کا ایک مربوط علاج فراہم کرتا ہے۔


The function returns a function of type (P⇒Q) which expects an argument of type P.

یہ فنکشن (P⇒Q) قسم کا ایک فنکشن لوٹاتا ہے جو P قسم کے ایک دلیل کی توقع کرتا ہے۔


We often call the first representation the uncurried form, in contrast to the latter.

ہم اکثر پہلے اظہار کو غیر منقولہ شکل کہتے ہیں، بعد کے برعکس۔


The system we are building here is one in which propositions, or formulas, are identified with types, and vice versa.

یہاں ہم جو نظام بنا رہے ہیں وہ ایک ایسا نظام ہے جس میں تجویزیں، یا فارمولے، اقسام کے ساتھ شناخت کی جاتی ہیں، اور اس کے برعکس۔


Consider the case in which we want to return one of two results conditional on some property.

اس معاملے پر غور کریں جس میں ہم کچھ خاصیت پر مشروط دو نتائج میں سے ایک واپس کرنا چاہتے ہیں۔


We call this the type bool of boolean values and for the sake of tradition call the two values True and False.

ہم اسے بولین اقدار کی قسم bool کہتے ہیں اور روایت کی خاطر دو اقدار کو True اور False کہتے ہیں۔


The value of if b then e else f is e if b evaluates to True, otherwise it is f.

اگر b کی قدر True ہے تو if b then e else f کی قدر e ہے، ورنہ یہ f ہے۔


Languages such as Pascal contain a boolean type.

پاسکل جیسی زبانوں میں بولین قسم شامل ہے۔


We eliminate a boolean value by a two-way case switch, conventionally called a conditional expression.

ہم دو طرفہ کیس سوئچ کے ذریعے بولین ویلیو کو ختم کرتے ہیں، جسے روایتی طور پر مشروط اظہار کہا جاتا ہے۔


This is stronger than the conventional case switch, as the type of the result can depend upon the value of the boolean.

یہ روایتی کیس سوئچ سے زیادہ مضبوط ہے، کیونکہ نتیجے کی قسم بولین کی قدر پر منحصر ہو سکتی ہے۔


The ‘then’ or ‘else’ case is selected, according to the value of the boolean.

بولین کی قدر کے مطابق، ‘then’ یا ‘else’ کیس منتخب کیا جاتا ہے۔


Consider the example if tr then False else True.

مثال پر غور کریں اگر tr then False else True۔


Again, we should note the distinction between these functions over the boolean type, which represent the classical boolean operations, and the connectives ∧, ∨, etc. which form propositions from other propositions.

دوبارہ، ہمیں بولین قسم پر ان افعال کے درمیان فرق کو نوٹ کرنا چاہیے، جو کلاسیکی بولین آپریشنز کی نمائندگی کرتے ہیں، اور کنیکٹیوز ∧, ∨, وغیرہ جو دوسری تجاویز سے تجاویز بناتے ہیں۔


For n a natural number, the type N n has n elements.

n ایک قدرتی عدد کے لیے، قسم N n میں n عناصر ہیں۔


We have already seen a two element type, where we identify 1 2 with True and 2 2 with False.

ہم پہلے ہی دو عنصر کی قسم دیکھ چکے ہیں، جہاں ہم 1 2 کو True اور 2 2 کو False کے ساتھ شناخت کرتے ہیں۔


We eliminate an element of an n element type by an n-way case switch.

ہم n-طریقہ کیس سوئچ کے ذریعے n عنصر کی قسم کے ایک عنصر کو ختم کرتے ہیں۔


If we have a one element type, the rules may be specialised.

اگر ہمارے پاس ایک عنصر کی قسم ہے، تو قواعد کو خاص کیا جا سکتا ہے۔


The one element type, >, has a logical interpretation.

ایک عنصر کی قسم، >، کی منطقی تشریح ہے۔


The intuition is that the proposition is valid for obvious reasons, so there is only one trivial proof Triv of it.

وجہ یہ ہے کہ تجویز واضح وجوہات کی بناء پر درست ہے، اس لیے اس کا صرف ایک معمولی ثبوت Triv ہے۔


We have already seen the natural numbers as a base type of our λ-calculus in chapter 2.

ہم پہلے ہی قدرتی اعداد کو باب 2 میں اپنے λ-حساب کے بنیادی قسم کے طور پر دیکھ چکے ہیں۔


Natural numbers are either zero or a successor.

قدرتی اعداد یا تو صفر ہیں یا جانشین۔


The system uses four different notions of equality.

یہ نظام مساوات کے چار مختلف تصورات استعمال کرتا ہے۔


Definitional equality is as close as we get to literal identity.

تشریحی مساوات اتنی ہی قریب ہے جتنا ہم لفظی شناخت کے قریب پہنچ سکتے ہیں۔


Convertibility is external to the system.

تبدیلی نظام کے لیے بیرونی ہے۔


There are equality functions, which return values in the type bool.

مساوات کے افعال ہیں، جو قسم bool میں قدریں لوٹاتے ہیں۔


ہم ان مختلف رشتوں کا موازنہ کرتے ہیں۔


A truly extensional equality can be added to the system.

ایک حقیقی توسیع مساوات کو نظام میں شامل کیا جا سکتا ہے۔


The system can be augmented in a number of ways.

نظام کو کئی طریقوں سے بڑھایا جا سکتا ہے۔


The notion of a type of types is inconsistent.

اقسام کی ایک قسم کا تصور متضاد ہے۔


We show how a sequence of ‘universes’ of types can be added.

ہم دکھاتے ہیں کہ اقسام کی 'کائنات' کا ایک سلسلہ کیسے شامل کیا جا سکتا ہے۔


We give the general mechanism by which well-founded types are defined.

ہم عام طریقہ کار فراہم کرتے ہیں جس کے ذریعے اچھی طرح سے قائم کردہ اقسام کی وضاحت کی جاتی ہے۔


We conclude the chapter with a second look at the Curry Howard isomorphism.

ہم باب کا اختتام کیوری ہاورڈ آئیسومورفزم پر ایک نظر ڈال کر کرتے ہیں۔


Derivations depend in general upon collections of assumptions.

اشتقاق عام طور پر مفروضوں کے مجموعوں پر منحصر ہوتے ہیں۔


We look at the precise form that these collections take.

ہم ان مجموعوں کی درست شکل پر نظر ڈالتے ہیں۔


A useful exercise is to make an implementation of it.

ایک مفید مشق اس کا نفاذ کرنا ہے۔


Mathematical notation is a powerful tool.

ریاضیاتی اشارے ایک طاقتور ذریعہ ہیں۔


The assumptions do not appear at the leaves of a derivation.

مفروضے اشتقاق کے پتوں پر ظاہر نہیں ہوتے ہیں۔


There is an ordering of dependency between them.

ان کے درمیان انحصار کی ترتیب ہے۔


We might reconsider the proof of the symmetry of equality.

ہم مساوات کی ہم آہنگی کے ثبوت پر دوبارہ غور کر سکتے ہیں۔


ہم مفروضوں کو خارج کر سکتے ہیں۔


We must discharge the assumption on x, before discharging either of the assumptions on a and b.

ہمیں x پر مفروضے کو خارج کرنا چاہیے، a اور b پر کسی بھی مفروضے کو خارج کرنے سے پہلے۔


The system's rules are modified to ensure type safety.

قسم کی حفاظت کو یقینی بنانے کے لیے نظام کے قوانین میں ترمیم کی گئی ہے۔


ہم a:A سے A ایک قسم ہے اخذ کر سکتے ہیں۔


The proof proceeds by induction over the derivation of a:A.

ثبوت a:A کے اخذ پر انڈکشن کے ذریعے آگے بڑھتا ہے۔


In a practical system, we would separate these concerns.

ایک عملی نظام میں، ہم ان خدشات کو الگ کریں گے۔


Types of expressions are unique in languages like Pascal.

پاسکل جیسی زبانوں میں اظہار کی اقسام منفرد ہیں۔


The duplication of function space and product types is a problem.

فنکشن اسپیس اور پروڈکٹ کی اقسام کی نقل ایک مسئلہ ہے۔


We remedy this by labeling the injection operators.

ہم انجیکشن آپریٹرز کو لیبل لگا کر اس کا ازالہ کرتے ہیں۔


The Church-Rosser property fails for this system.

چرچ-روسر کی خاصیت اس نظام کے لیے ناکام ہے۔


Evaluation of an object of functional type is declined.

فنکشنل قسم کے کسی شے کی تشخیص سے انکار کر دیا جاتا ہے۔


Functions are applied to their arguments.

افعال کو ان کے دلائل پر لاگو کیا جاتا ہے۔


We change the definition of the relation '→'.

ہم رشتہ '→' کی تعریف کو تبدیل کرتے ہیں۔


نظام مضبوطی سے معمول پر لانے والا ہے۔


The translation loses these dependencies.

ترجمہ ان انحصاروں کو کھو دیتا ہے۔


The system does not contain dependent types.

نظام میں منحصر اقسام شامل نہیں ہیں۔


We modify the system giving a different account.

ہم ایک مختلف اکاؤنٹ دیتے ہوئے نظام میں ترمیم کرتے ہیں۔


ہر ایک نے λ-abstraction استعمال کیا ہے۔


We need to include the variable y among the arguments.

ہمیں دلیلوں میں متغیر y کو شامل کرنے کی ضرورت ہے۔


The computation rule for the term f is given by f x1...xk x→e.

اصطلاح f کے لیے کمپیوٹیشن کا اصول f x1...xk x→e کے ذریعے دیا گیا ہے۔


ہم اصطلاح f x: (B⇒A) تشکیل دے سکتے ہیں۔


The Church Rosser theorem is not violated in this case.

چرچ روسر تھیورم اس معاملے میں خلاف ورزی نہیں کرتا ہے۔


The rule of I-formation breaks this rule, since a necessary condition for I(A, a, b) to be a type is that a:A.

I-تشکیل کا اصول اس اصول کو توڑتا ہے، کیونکہ I(A, a, b) کے ایک قسم ہونے کی ایک لازمی شرط یہ ہے کہ a:A۔


This means that the rules generating the formulas are inextricably mixed up with the rules for derivations.

اس کا مطلب ہے کہ فارمولوں کو بنانے والے اصول استخراج کے اصولوں کے ساتھ لازم و ملزوم طور پر گڈ مڈ ہیں۔


Now, the presence of an element in the type I(A, a, b) will indicate that the objects a and b are taken to be equal.

اب، قسم I(A, a, b) میں ایک عنصر کی موجودگی اس بات کی نشاندہی کرے گی کہ اشیاء a اور b کو برابر سمجھا جاتا ہے۔


ہم کب اس نتیجے پر پہنچ سکتے ہیں؟


The object a is equivalent to itself, so Introduction Rule for I a:A r(a) :I(A, a, a) (II)

شے a خود کے مساوی ہے، لہذا I a:A r(a) :I(A, a, a) (II) کے لیے تعارف کا اصول


We can derive rules which look stronger than this, a subject we defer until the next section.

ہم ایسے اصول اخذ کر سکتے ہیں جو اس سے زیادہ مضبوط نظر آتے ہیں، ایک ایسا موضوع جسے ہم اگلے حصے تک ملتوی کرتے ہیں۔


What is the content of this rule, and more to the point, what is the structure of r(a)?

اس اصول کا مواد کیا ہے، اور زیادہ اہم بات یہ ہے کہ r(a) کی ساخت کیا ہے؟


This object has no internal structure, and at first sight this seems to render it useless.

اس شے کی کوئی اندرونی ساخت نہیں ہے، اور پہلی نظر میں یہ اسے بیکار لگتا ہے۔


However, its mere presence can allow us to do things which would not be possible without it — we shall amplify this after we have considered the elimination and computation rules, and especially in our case studies.

تاہم، اس کی محض موجودگی ہمیں ایسے کام کرنے کی اجازت دے سکتی ہے جو اس کے بغیر ممکن نہیں ہوں گے — ہم اسے اس وقت بڑھائیں گے جب ہم خاتمے اور کمپیوٹیشن کے اصولوں پر غور کر چکے ہوں گے، اور خاص طور پر ہمارے کیس اسٹڈیز میں۔


The essence of equality is that equals can be substituted for equals and this is known as Leibnitz’s law, after the logician who coined it.

مساوات کا جوہر یہ ہے کہ مساوی کو مساوی کے لیے تبدیل کیا جا سکتا ہے اور یہ لیبنز کا قانون کہلاتا ہے، اس منطق دان کے بعد جس نے اسے وضع کیا۔


Suppose that we have some proof p of a proposition P involving a, and also that we know that c:I(A, a, b).

فرض کریں کہ ہمارے پاس ایک تجویز P کا کچھ ثبوت p ہے جس میں a شامل ہے، اور یہ بھی کہ ہم جانتے ہیں کہ c:I(A, a, b).


We should be able to infer the proposition P′ resulting from us replacing some of the occurrences of a in P by b.

ہمیں تجویز P′ کا اندازہ لگانے کے قابل ہونا چاہیے جو P میں a کی کچھ مثالوں کو b سے بدلنے کا نتیجہ ہے۔


To capture the idea of substituting for some of the occurrences we think of P as the formula C[a/x, a/y] in which a replaces two free variables x and y.

کچھ مثالوں کے لیے متبادل بنانے کے خیال کو حاصل کرنے کے لیے ہم P کو فارمولا C[a/x, a/y] کے طور پر سوچتے ہیں جس میں a دو آزاد متغیرات x اور y کی جگہ لیتا ہے۔


We can of course replace all the occurrences of a by making sure that x is not free in C.

یقینا، ہم اس بات کو یقینی بنا کر a کی تمام مثالوں کو تبدیل کر سکتے ہیں کہ x C میں آزاد نہیں ہے۔


We shall use also the informal notation C(a, b) for C[a/x, b/y] when no confusion can result.

ہم غیر رسمی اشارے C(a, b) کو C[a/x, b/y] کے لیے بھی استعمال کریں گے جب کوئی الجھن پیدا نہیں ہو سکتی۔


There is one extra refinement in our rule — we allow the formula C to mention the equality proof object r too.

ہمارے اصول میں ایک اضافی بہتری ہے — ہم فارمولا C کو مساوات کے ثبوت کی شے r کا بھی ذکر کرنے کی اجازت دیتے ہیں۔


Elimination Rule for I c:I(A, a, b) d:C(a, a, r(a)) J(c, d) :C(a, b, c) (IE)

I c:I(A, a, b) d:C(a, a, r(a)) J(c, d) :C(a, b, c) (IE) کے لیے خاتمے کا اصول


Theorem 4.4 Leibnitz’s law is derivable Proof: Take C(a, b, c) ≡ df P(b) and suppose that d:P(a) that is d:C(a, a, r(a))

تھیورم 4.4 لیبنز کا قانون اخذ کیا جا سکتا ہے ثبوت: C(a, b, c) ≡ df P(b) لیں اور فرض کریں کہ d:P(a) یعنی d:C(a, a, r(a))


Assuming that c:I(A, a, b), we can conclude that J(c, d) :P(b) as desired.2

یہ فرض کرتے ہوئے کہ c:I(A, a, b)، ہم اس نتیجے پر پہنچ سکتے ہیں کہ J(c, d) :P(b) جیسا کہ مطلوب ہے۔2


ہم J آپریٹر کو کیسے ختم کرتے ہیں؟


آج موسم خوشگوار ہے۔


کیا آپ براہ کرم مجھے نمک دے سکتے ہیں؟


I am going to the market to buy some groceries.

میں کچھ گروسری خریدنے کے لیے بازار جا رہا ہوں۔


وہ ایک بہت باصلاحیت موسیقار ہیں۔


The company announced its quarterly profits.

کمپنی نے اپنے سہ ماہی منافع کا اعلان کیا۔


The government is implementing new policies to boost the economy.

حکومت معیشت کو فروغ دینے کے لیے نئی پالیسیاں نافذ کر رہی ہے۔


The research team is conducting experiments in the laboratory.

تحقیقی ٹیم لیبارٹری میں تجربات کر رہی ہے۔


He is fluent in several foreign languages.

وہ کئی غیر ملکی زبانوں میں روانی سے بات کرتا ہے۔


The complexities of the legal system are often difficult to understand.

قانونی نظام کی پیچیدگیاں اکثر سمجھنے میں مشکل ہوتی ہیں۔


The implications of climate change are far-reaching and require immediate action.

آب و ہوا کی تبدیلی کے مضمرات دور رس ہیں اور فوری کارروائی کی ضرورت ہے۔


The algorithm efficiently processes large datasets.

الگورتھم بڑے ڈیٹا سیٹس کو مؤثر طریقے سے پروسیس کرتا ہے۔


Despite the challenges, the project was successfully completed.

چیلنجوں کے باوجود، یہ منصوبہ کامیابی سے مکمل ہوا۔


The philosophical debate centered on the nature of consciousness.

فلسفیانہ بحث شعور کی نوعیت پر مرکوز تھی۔


The economic downturn has affected various sectors of the economy.

معاشی بدحالی نے معیشت کے مختلف شعبوں کو متاثر کیا ہے۔


The study explores the correlation between diet and health.

یہ مطالعہ غذا اور صحت کے درمیان تعلق کی تلاش کرتا ہے۔


The intricate details of the artwork were mesmerizing.

فن پارے کی پیچیدہ تفصیلات دلکش تھیں۔


The company's innovative approach revolutionized the industry.

کمپنی کے جدید نقطہ نظر نے صنعت میں انقلاب برپا کر دیا۔


The scientist presented his findings at the international conference.

سائنسدان نے اپنی دریافتیں بین الاقوامی کانفرنس میں پیش کیں۔


The historical context provides a deeper understanding of the events.

تاریخی تناظر واقعات کی گہری سمجھ فراہم کرتا ہے۔


The complex interplay of factors contributed to the outcome.

عوامل کے پیچیدہ باہمی تعامل نے نتیجے میں حصہ ڈالا۔


The concept of convertibility is central to this discussion.

تبدیلی کا تصور اس بحث کے لیے مرکزی ہے۔


Two terms are convertible if they have the same normal form.

دو اصطلاحات قابلِ تبادلہ ہیں اگر ان کی ایک ہی نارمل شکل ہو۔


The relation of convertibility is decidable.

تبدیلی کا رشتہ قابلِ فیصلہ ہے۔


This means that the two expressions denote the same object.

اس کا مطلب ہے کہ دونوں اظہار ایک ہی چیز کی نشاندہی کرتے ہیں۔


We can identify this object as the normal form of the expression.

ہم اس شے کو اظہار کی نارمل شکل کے طور پر شناخت کر سکتے ہیں۔


Judgements are intended to be about the objects denoted by the expressions.

فیصلے ان اشیاء کے بارے میں ہونے کا ارادہ رکھتے ہیں جن کی نشاندہی اظہار سے ہوتی ہے۔


Because ‘a↔↔b’ is not a proposition of the system, we are unable to build more complex assertions on the basis of it.

چونکہ ‘a↔↔b’ نظام کا ایک تجویز نہیں ہے، اس لیے ہم اس کی بنیاد پر مزید پیچیدہ دعوے بنانے سے قاصر ہیں۔


We turn to our third relation, the identity predicate.

ہم اپنے تیسرے رشتے، شناخت کی پیش گوئی کی طرف رجوع کرتے ہیں۔


A is a type a:A b:A I(A, a, b)is a type (IF)

A ایک قسم ہے a:A b:A I(A, a, b) ایک قسم ہے (IF)


I(A, a, b) is provable, by the object r(a), when a↔↔b.

I(A, a, b) کو شے r(a) کے ذریعے ثابت کیا جا سکتا ہے، جب a↔↔b.


We can see the type as an internalisation of convertibility.

ہم قسم کو تبدیلی کے اندرونی عمل کے طور پر دیکھ سکتے ہیں۔


On top of the Itype we can build more complex assertions.

I قسم کے اوپر ہم مزید پیچیدہ دعوے بنا سکتے ہیں۔


The expression x= A y denotes a proposition or type of the system.

اظہار x= A y نظام کی تجویز یا قسم کی نشاندہی کرتا ہے۔


An equality function is a boolean valued function.

برابری کا فنکشن ایک بولین ویلیو والا فنکشن ہے۔


An equality function can be used in a computation to test for the equality of two objects.

برابری کے فنکشن کو دو اشیاء کی برابری کی جانچ کے لیے حساب میں استعمال کیا جا سکتا ہے۔


A predicate is representable if and only if it is formally decidable.

ایک پیش گوئی قابلِ نمائندگی ہے اگر اور صرف اگر یہ رسمی طور پر قابلِ فیصلہ ہے۔


We start our discussion with two definitions.

ہم اپنی بحث دو تعریفوں سے شروع کرتے ہیں۔


The equality function is a representation of equality over the type.

برابری کا فنکشن قسم پر برابری کی نمائندگی ہے۔


Will equality over any other types be decidable?

کیا کسی اور قسم پر برابری کا فیصلہ کیا جا سکے گا؟


It seems highly unlikely that this is so.

ایسا ہونا انتہائی غیر ممکن لگتا ہے۔


The system's functionality is impressive.

سسٹم کی فعالیت متاثر کن ہے۔


کیا آپ براہ کرم اسے دہرا سکتے ہیں؟


The news reported a significant economic downturn.

خبروں میں معاشی گراوٹ کی اطلاع دی گئی۔


He is a highly skilled software engineer.

وہ ایک انتہائی ہنر مند سافٹ ویئر انجینئر ہے۔


The company announced a new product launch.

کمپنی نے ایک نئی مصنوعات کے آغاز کا اعلان کیا۔


She enjoys reading novels in her free time.

وہ اپنے فارغ وقت میں ناول پڑھنا پسند کرتی ہے۔


The algorithm efficiently sorts the data.

الگورتھم ڈیٹا کو مؤثر طریقے سے ترتیب دیتا ہے۔


The government implemented new regulations.

حکومت نے نئے ضوابط نافذ کیے۔


The research paper explores complex topics.

تحقیقی مقالہ پیچیدہ موضوعات کی کھوج کرتا ہے۔


چیلنجوں کے باوجود، وہ کامیاب ہوئے۔


The meeting was adjourned due to lack of quorum.

اجلاس کورم کی کمی کی وجہ سے ملتوی کر دیا گیا۔


فنکار کا کام بہت سراہا جاتا ہے۔


The data analysis revealed interesting patterns.

ڈیٹا تجزیہ نے دلچسپ نمونے ظاہر کیے۔


منصوبے کی ٹائم لائن میں توسیع کی گئی۔


وہ متعدد زبانوں میں روانی سے بات کرتا ہے۔


معاشی پیش گوئی ترقی کی پیشین گوئی کرتی ہے۔


The complex system requires careful maintenance.

پیچیدہ نظام کو احتیاط سے دیکھ بھال کی ضرورت ہے۔


وہ اپنے شعبے میں ایک معروف ماہر ہیں۔


The company is facing financial difficulties.

کمپنی کو مالی مشکلات کا سامنا ہے۔


The intricate design was admired by all.

پیچیدہ ڈیزائن کو سب نے سراہا۔


The identity function is defined for all ‘small’ types uniformly.

شناختی فنکشن تمام 'چھوٹے' اقسام کے لیے یکساں طور پر متعین ہے۔


ایک قسم پر غور کریں جیسے (∃A:U 0 ). P(A).


They are pairs (A, p) of objects, A:U 0 and p:P(A).

وہ اشیاء کے جوڑے ہیں (A, p)، A:U 0 اور p:P(A).


Suppose we have defined P(A) to be (A⇒A)∧(A⇒A).

فرض کریں کہ ہم نے P(A) کو (A⇒A)∧(A⇒A) کے طور پر متعین کیا ہے۔


An object of this type is equivalent to an implementation of an abstract type.

اس قسم کی ایک شے ایک تجریدی قسم کے نفاذ کے مساوی ہے۔


We shall have more to say about quantified types in the following chapter.

ہم اگلے باب میں مقداری اقسام کے بارے میں مزید بات کریں گے۔


The introduction rule explains what objects are permitted to be elements of the type.

تعارف کا اصول بتاتا ہے کہ کن اشیاء کو قسم کے عناصر ہونے کی اجازت ہے۔


It is the closure axioms for a type A which allow us to prove properties for all elements of A.

یہ ایک قسم A کے لیے بندش کے محور ہیں جو ہمیں A کے تمام عناصر کے لیے خصوصیات ثابت کرنے کی اجازت دیتے ہیں۔


The rules we have given for universes correspond to introduction rules.

کائنات کے لیے ہم نے جو اصول دیے ہیں وہ تعارف کے اصولوں سے مطابقت رکھتے ہیں۔


The closure axioms permit us to define polymorphic functions which fail to be parametric.

بندش کے محور ہمیں کثیر شکل کے افعال کی وضاحت کرنے کی اجازت دیتے ہیں جو پیرامیٹرک ہونے میں ناکام رہتے ہیں۔


We could, for instance, define a function which was the identity function on all types but N.

مثال کے طور پر، ہم ایک ایسا فنکشن متعین کر سکتے ہیں جو N کے سوا تمام اقسام پر شناختی فنکشن تھا۔


Why do we stop with a chain of universes U 0 , U 1 , . . . , when there are natural functions which cannot be defined in the system?

ہم U 0 , U 1 , . . . کی کائنات کی ایک زنجیر کے ساتھ کیوں رکتے ہیں، جب قدرتی افعال موجود ہیں جنہیں نظام میں بیان نہیں کیا جا سکتا؟


Another possible direction is to distinguish between the types which are sets, such as N and tree, and the propositions.

ایک اور ممکنہ سمت ان اقسام کے درمیان فرق کرنا ہے جو سیٹ ہیں، جیسے N اور درخت، اور تجویزیں۔


A list is either empty, [ ], or can be thought of as having a first element, or head, a and a remainder, or tail, x.

ایک فہرست یا تو خالی ہے، [ ]، یا یہ سمجھا جا سکتا ہے کہ اس کا پہلا عنصر ہے، یا سر، a اور ایک باقی، یا دم، x۔


The list with head a and tail x is written (a::x).

سر a اور دم x والی فہرست (a::x) لکھی جاتی ہے۔


Definitions by recursion take the form sum[ ]≡ df 0.

بازگشت کے ذریعے تعریفیں شکل sum[ ]≡ df 0 اختیار کرتی ہیں۔


Elements of lists can have any type, as long as we keep the lists homogeneous.

فہرستوں کے عناصر کسی بھی قسم کے ہو سکتے ہیں، جب تک کہ ہم فہرستوں کو یکساں رکھیں۔


Lists form one of the standard data types in functional programming.

فہرستیں فنکشنل پروگرامنگ میں معیاری ڈیٹا کی اقسام میں سے ایک بناتی ہیں۔


Using lrec define the function map which takes as arguments a function f and a list [a 1 , . . . a n ], and returns the list [f a 1 , . . . f a n ].

lrec کا استعمال کرتے ہوئے فنکشن میپ کی وضاحت کریں جو دلائل کے طور پر ایک فنکشن f اور ایک فہرست [a 1 , . . . a n ] لیتا ہے، اور فہرست [f a 1 , . . . f a n ] واپس کرتا ہے۔


In general, we can think of the elements of any algebraic type as trees.

عام طور پر، ہم کسی بھی الجبری قسم کے عناصر کو درختوں کے طور پر سوچ سکتے ہیں۔


If the object does not represent a proof, it is not a proof.

اگر کوئی شے ثبوت کی نمائندگی نہیں کرتی ہے، تو وہ ثبوت نہیں ہے۔


The cases of ConjE and ImpE are difficult.

ConjE اور ImpE کے معاملات مشکل ہیں۔


We can use the dependent type mechanism to make proof construction secure.

ہم ثبوت کی تعمیر کو محفوظ بنانے کے لیے منحصر قسم کے طریقہ کار کا استعمال کر سکتے ہیں۔


First we define a function proves:proof⇒(f mla+dummy).

سب سے پہلے ہم ایک فنکشن کی وضاحت کرتے ہیں: ثابت کرتا ہے: ثبوت ⇒ (f mla+dummy).


Then we define the subtypes prf f≡ df (∃p:proof).(proves p=f).

پھر ہم ذیلی اقسام کی وضاحت کرتے ہیں prf f≡ df (∃p:proof).(ثابت کرتا ہے p=f).


Using these we can give types to the functions which eliminate conjunctions.

ان کا استعمال کرتے ہوئے ہم ان افعال کو اقسام دے سکتے ہیں جو جوڑوں کو ختم کرتے ہیں۔


The essential effect of the functions conjE and impE is to apply the corresponding constructor.

فنکشنز conjE اور impE کا لازمی اثر متعلقہ کنسٹرکٹر کا اطلاق کرنا ہے۔


We know that their application is only permitted when it will take legitimate proofs into a legitimate proof.

ہم جانتے ہیں کہ ان کا اطلاق صرف اس وقت جائز ہے جب یہ جائز ثبوت کو جائز ثبوت میں لے جائے گا۔


We can define functions tr, conjI and impI corresponding to the action of the constructors Tr, ConjI and ImpI.

ہم افعال tr، conjI اور impI کی وضاحت کر سکتے ہیں جو کنسٹرکٹرز Tr، ConjI اور ImpI کے عمل کے مطابق ہیں۔


The types secproof will only contain legitimate proofs.

اقسام secproof صرف جائز ثبوت پر مشتمل ہوں گی۔


Give definitions of the functions proves, conjE 1 and impE introduced above.

اوپر متعارف کرائے گئے افعال ثابت کرتا ہے، conjE 1 اور impE کی تعریفیں دیں۔


Give types for and then define the functions tr, conjI and impI.

اقسام دیں اور پھر افعال tr، conjI اور impI کی وضاحت کریں۔


Prove that the type secproof contains only legitimate proofs, and that all such proofs are contained therein.

ثابت کریں کہ قسم secproof صرف جائز ثبوت پر مشتمل ہے، اور یہ کہ اس طرح کے تمام ثبوت اس میں موجود ہیں۔


Quantification over the universes allows us to assert the existence of types with certain properties.

کائنات پر مقدار ہمیں بعض خصوصیات کے ساتھ اقسام کے وجود کا دعویٰ کرنے کی اجازت دیتی ہے۔


We have already seen how the quicksort function qsort can be defined over lists of numbers.

ہم پہلے ہی دیکھ چکے ہیں کہ کوئیکسورٹ فنکشن qsort کو نمبروں کی فہرستوں پر کیسے بیان کیا جا سکتا ہے۔


This parametrisation is possible in a language like Miranda.

یہ پیرامیٹرائزیشن مرانڈا جیسی زبان میں ممکن ہے۔


The examples we have seen so far resemble the parametric polymorphic functions permitted by the Hindley-Milner type system.

اب تک ہم نے جو مثالیں دیکھی ہیں وہ ہندلے-ملنر ٹائپ سسٹم کے ذریعہ اجازت یافتہ پیرامیٹرک پولیمورفک افعال سے ملتی جلتی ہیں۔


In the system T we can express different types.

سسٹم T میں ہم مختلف اقسام کا اظہار کر سکتے ہیں۔


A function of this type is given by λf .(if f bool(eq N (f N0) (f N1))then f else id).

اس قسم کا ایک فنکشن λf کے ذریعہ دیا گیا ہے۔ (اگر f bool(eq N (f N0) (f N1)) تو f ورنہ id).


Quantifiers over a universe can be used to define weak versions of various familiar type constructors.

ایک کائنات پر مقدار کو مختلف مانوس قسم کے کنسٹرکٹرز کے کمزور ورژن کی وضاحت کے لیے استعمال کیا جا سکتا ہے۔


Given a listl, a natural numbern,anda proof thatnis smaller than the length oflwe return thenth element ofl.

ایک فہرستl کو دیکھتے ہوئے، ایک قدرتی عددn، اور اس بات کا ثبوت کہ n، l کی لمبائی سے چھوٹا ہے، ہم l کا n واں عنصر واپس کرتے ہیں۔


انڈیکس کی تعریف کیسے کی جاتی ہے؟


دوسرا اور تیسرا شق واضح ہیں۔


What is happening in the first?p is a proof that (n <#[ ]) that is (n <0), which is⊥— we can define an element ofAfrompusingabort A .

پہلے میں کیا ہو رہا ہے؟ p اس بات کا ثبوت ہے کہ (n <#[ ]) یعنی (n <0)، جو کہ ⊥ ہے— ہم abort A کا استعمال کرتے ہوئے p سے A کا ایک عنصر بیان کر سکتے ہیں۔


It is interesting to see that the definition ofindexcan be made either by induction overNwith a subsidiary induction over [A], orvice versa— the two arguments are independent of each other.

یہ دیکھنا دلچسپ ہے کہ index کی تعریف یا تو N پر انڈکشن کے ذریعے کی جا سکتی ہے جس میں [A] پر ضمنی انڈکشن ہو، یا اس کے برعکس— دونوں دلائل ایک دوسرے سے آزاد ہیں۔


Now we can return to the example of course-of-values recursion, as we have defined all the auxiliary functions that are needed.

اب ہم قدروں کی تکرار کی مثال پر واپس آ سکتے ہیں، جیسا کہ ہم نے تمام معاون افعال کی وضاحت کی ہے جو ضروری ہیں۔


Taking a special case of thepowerfunction, we have pow0≡ df 1 pow n≡ df (pow(n div2)) 2 ∗2 (n mod2) which can be rewritten thus, wherehis a primitive recursive function, pow0≡ df 1 pow(n+ 1)≡ df h(pow(n+1div2))n

powerfunction کا ایک خاص کیس لیتے ہوئے، ہمارے پاس pow0≡ df 1 pow n≡ df (pow(n div2)) 2 ∗2 (n mod2) ہے جسے اس طرح دوبارہ لکھا جا سکتا ہے، جہاں h ایک ابتدائی recursive فنکشن ہے، pow0≡ df 1 pow(n+ 1)≡ df h(pow(n+1div2))n


Transforming this into a list definition, we have g0≡ df [1] g(n+ 1)≡ df (g n) ++[h((g n) ! (n+1div2))n]

اسے ایک فہرست کی تعریف میں تبدیل کرتے ہوئے، ہمارے پاس g0≡ df [1] g(n+ 1)≡ df (g n) ++[h((g n) ! (n+1div2))n] ہے۔


The subexpressiong! (n+1div2) is informal;indextakes a third argument which is a proof object, legitimising the application.

سب ایکسپریشن g! (n+1div2) غیر رسمی ہے؛ انڈیکس ایک تیسرا دلیل لیتا ہے جو ایک ثبوت آبجیکٹ ہے، جو درخواست کو جائز بناتا ہے۔


The application will be legitimate if we can show that (n+1div2)<#(g n)

درخواست جائز ہوگی اگر ہم یہ ظاہر کر سکیں کہ (n+1div2)<#(g n)


This will follow from proofs of (0< m)⇒(m div2< m) which is standard, and #(g n) = (n+ 1)(6.1) which we have to establish by induction, simultaneously with the definition itself.

یہ (0< m)⇒(m div2< m) کے ثبوت سے پیروی کرے گا جو کہ معیاری ہے، اور #(g n) = (n+ 1)(6.1) جسے ہمیں انڈکشن کے ذریعے قائم کرنا ہے، بیک وقت تعریف کے ساتھ۔


Transforming again, we define a function which returns apair (g n , p n ) wherep n proves the assertion (6.1).

دوبارہ تبدیل کرتے ہوئے، ہم ایک فنکشن کی تعریف کرتے ہیں جو ایک جوڑا (g n , p n ) واپس کرتا ہے جہاں p n دعوے (6.1) کو ثابت کرتا ہے۔


To extract the result (f n) from the value (g n) we apply the head function.

نتیجہ (f n) کو قدر (g n) سے نکالنے کے لیے ہم ہیڈ فنکشن کا اطلاق کرتے ہیں۔


Remember that to do this we need a proof that the list is non-empty.

یاد رکھیں کہ ایسا کرنے کے لیے ہمیں اس بات کا ثبوت درکار ہے کہ فہرست خالی نہیں ہے۔


We can use (6.1) again here to show this, as it states that all the values (g n) have positive length, and so none of them can be empty.

ہم اسے ظاہر کرنے کے لیے یہاں دوبارہ (6.1) استعمال کر سکتے ہیں، جیسا کہ یہ بتاتا ہے کہ تمام قدروں (g n) کی لمبائی مثبت ہے، اور اس لیے ان میں سے کوئی بھی خالی نہیں ہو سکتا۔


We can see from the derivation of the function above that the system is quite different from a traditional functional programming system, in that the definition of a function cannot be separated from a proof that it termi- nates.

ہم اوپر دیے گئے فنکشن کے اخذ سے دیکھ سکتے ہیں کہ نظام روایتی فنکشنل پروگرامنگ سسٹم سے بالکل مختلف ہے، اس لحاظ سے کہ فنکشن کی تعریف کو اس ثبوت سے الگ نہیں کیا جا سکتا کہ یہ ختم ہو جاتا ہے۔


In fact, this is not quite accurate — if we had adopted the approach which gives default or error values toheadandindexwe could perform the derivation without the inferences we needed above, but once derived we would have to prove that the values returned by the function are ‘ok’ and not error or default values.

درحقیقت، یہ بالکل درست نہیں ہے— اگر ہم نے وہ طریقہ اختیار کیا جو head اور index کو ڈیفالٹ یا غلطی کی قدریں دیتا ہے تو ہم اوپر کی ضرورت کے بغیر اخذ کر سکتے ہیں، لیکن ایک بار اخذ کرنے کے بعد ہمیں یہ ثابت کرنا ہوگا کہ فنکشن کے ذریعے واپس کی جانے والی قدریں ‘ٹھیک ہیں’ اور غلطی یا ڈیفالٹ قدریں نہیں ہیں۔


Exercises 6.11. Using induction overm:Nprove that (m div2)< mfor allm >0.

مشقیں 6.11۔ m:N پر انڈکشن کا استعمال کرتے ہوئے ثابت کریں کہ (m div2)< m تمام m >0 کے لیے۔


6.12. Formalise the derivation of the functionsgandpowabove.

6.12۔ اوپر دیے گئے فنکشنز g اور pow کے اخذ کو رسمی شکل دیں۔


6.13. Give a proof that for all listslandm, #l+ #m= #(l++m)

6.13۔ ایک ثبوت دیں کہ تمام فہرستوں l اور m کے لیے، #l+ #m= #(l++m)


The logic is typed, this minimum of type information must be retained.

منطق ٹائپ شدہ ہے، اس لیے ٹائپ کی معلومات کا یہ کم از کم حصہ برقرار رکھنا ضروری ہے۔


An example of a ‘proof-less’ derivation of (∀x:A).(∃y:B). P from (∃y:B).(∀x:A). P follows.

(∀x:A).(∃y:B). P سے (∃y:B).(∀x:A). P کی 'ثبوت کے بغیر' اخذ کی ایک مثال درج ذیل ہے۔


We can extend this proof-less derivation to results involving data types like the natural numbers.

ہم اس ثبوت کے بغیر اخذ کو قدرتی اعداد جیسے ڈیٹا کی اقسام سے متعلق نتائج تک بڑھا سکتے ہیں۔


We first have to derive (0<1) which is a special case of (0< n+ 1), which is itself trivially derivable.

ہمیں سب سے پہلے (0<1) اخذ کرنا ہوگا جو (0< n+ 1) کا ایک خاص معاملہ ہے، جو خود بخود اخذ کیا جا سکتا ہے۔


The problem, baldly stated, is this: given a sequence of items which are either red or white, return a permuted sequence in which all the red items precede the white.

مسئلہ، صاف طور پر بیان کیا گیا ہے، یہ ہے: اشیاء کا ایک سلسلہ دیا گیا ہے جو یا تو سرخ ہیں یا سفید، ایک تبدیل شدہ سلسلہ واپس کریں جس میں تمام سرخ اشیاء سفید سے پہلے ہوں۔


Our approach differs from that in [NPS90] in two ways.

ہمارا طریقہ [NPS90] میں بیان کردہ سے دو طریقوں سے مختلف ہے۔


We also use an ‘equational’ notation which is closer to that in use in the majority of functional programming languages.

ہم ایک 'مساواتی' اشارے کا بھی استعمال کرتے ہیں جو زیادہ تر فنکشنل پروگرامنگ زبانوں میں استعمال ہونے والے کے قریب ہے۔


We assume that the colours are represented by the boolean type, bool (which we shall abbreviate C, for colour), with the value True representing the colour red.

ہم فرض کرتے ہیں کہ رنگوں کی نمائندگی بولین قسم، bool (جسے ہم C، رنگ کے لیے مختصر کریں گے) سے کی جاتی ہے، جس میں True کی قدر سرخ رنگ کی نمائندگی کرتی ہے۔


What we seek is, in fact, a function which returns the pair of lists (l ′ , l ′′ ) corresponding to each l, so we modify the specification to read

ہم جو تلاش کر رہے ہیں، درحقیقت، ایک ایسا فنکشن ہے جو ہر l کے مطابق فہرستوں کا جوڑا (l ′ , l ′′ ) واپس کرتا ہے، اس لیے ہم تفصیلات میں ترمیم کرتے ہیں تاکہ پڑھا جا سکے


This pair consists precisely of the function required together with a proof that is has the property required of it.

اس جوڑے میں بالکل مطلوبہ فنکشن کے ساتھ ایک ثبوت شامل ہے کہ اس میں وہ خاصیت ہے جو اس کے لیے درکار ہے۔


We can prove the statement by giving a term f and proving the formula 6.7.

ہم اصطلاح f دے کر اور فارمولا 6.7 ثابت کر کے بیان کو ثابت کر سکتے ہیں۔


This method corresponds to traditional program development in a functional programming language.

یہ طریقہ فنکشنل پروگرامنگ زبان میں روایتی پروگرام کی ترقی سے مطابقت رکھتا ہے۔


Alternatively, we can develop the proof from the top down, reducing the existential statement 6.6 to 6.5.

متبادل طور پر، ہم ثبوت کو اوپر سے نیچے تیار کر سکتے ہیں، وجودی بیان 6.6 کو 6.5 تک کم کر سکتے ہیں۔


We prove the result by induction over the list l.

ہم فہرست l پر انڈکشن کے ذریعے نتیجہ ثابت کرتے ہیں۔


It is immediate that the types allRed[ ] and allWhite[ ] are inhabited.

یہ فوری ہے کہ اقسام allRed[ ] اور allWhite[ ] آباد ہیں۔


The essence of program transformation is to take a program into another with the same applicative behaviour, yet improved in some aspect like time efficiency or space usage.

پروگرام کی تبدیلی کا جوہر ایک پروگرام کو دوسرے میں لے جانا ہے جس کا اطلاقی رویہ ایک جیسا ہو، لیکن وقت کی کارکردگی یا جگہ کے استعمال جیسے کسی پہلو میں بہتر ہو۔


Two functions have the same behaviour when they return the same results for all arguments, when they are extensionally equal, in other words.

دو فنکشنز کا رویہ ایک جیسا ہوتا ہے جب وہ تمام دلائل کے لیے ایک جیسے نتائج واپس کرتے ہیں، جب وہ توسیع سے مساوی ہوتے ہیں، دوسرے لفظوں میں۔


We begin our discussion by introducing the operators map and fold, and examining some of their properties, including how they are modified to operate over non-empty lists.

ہم آپریٹرز میپ اور فولڈ کو متعارف کروا کر اور ان کی کچھ خصوصیات کا جائزہ لے کر اپنی بحث کا آغاز کرتے ہیں، بشمول یہ کہ انہیں غیر خالی فہرستوں پر کام کرنے کے لیے کیسے تبدیل کیا جاتا ہے۔


Two of the most useful operations over lists are map and fold.

فہرستوں پر سب سے زیادہ مفید آپریشنز میں سے دو میپ اور فولڈ ہیں۔


The transformations we give later are based on the application of a small number of general ‘laws’ embodying properties of the standard functions.

بعد میں ہم جو تبدیلیاں دیتے ہیں وہ معیاری افعال کی خصوصیات کو مجسم کرنے والے چند عام 'قوانین' کے اطلاق پر مبنی ہیں۔


The function is tail recursive if its definition takes a specific form.

فن اگر اس کی تعریف ایک خاص شکل اختیار کرتی ہے تو دم کی تکراری ہے۔


These functions are called tail recursive since the recursive calls are in the tail of the code.

ان افعال کو دم کی تکراری کہا جاتا ہے کیونکہ تکراری کالیں کوڈ کی دم میں ہوتی ہیں۔


Why should these functions be identified with imperative programs?

ان افعال کو لازمی پروگراموں کے ساتھ کیوں شناخت کیا جانا چاہئے؟


If the condition c ~a is true, we make a recursive call.

اگر شرط c ~a درست ہے، تو ہم ایک تکراری کال کرتے ہیں۔


We perform the parallel assignment a1, . . . , an := (g1 ~a), . . . , (gn ~a).

ہم متوازی تفویض a1, . . . , an := (g1 ~a), . . . , (gn ~a) انجام دیتے ہیں۔


This is not an isolated phenomenon; every primitive recursive function can be given a tail recursive definition.

یہ کوئی الگ تھلگ واقعہ نہیں ہے؛ ہر ابتدائی تکراری فنکشن کو دم کی تکراری تعریف دی جا سکتی ہے۔


The idea of the transformation is that the last argument starts off at c.

تبدیلی کا خیال یہ ہے کہ آخری دلیل c سے شروع ہوتی ہے۔


The result is a corollary of the following theorem.

نتیجہ مندرجہ ذیل تھیورم کا نتیجہ ہے۔


Note that in the action of tprim the first three arguments are not modified in the recursive calls.

نوٹ کریں کہ tprim کے عمل میں، پہلے تین دلائل کو تکراری کالوں میں تبدیل نہیں کیا جاتا ہے۔


The corollary justifies the transformation of any primitive recursive function into a tail recursive one.

نتیجہ کسی بھی ابتدائی تکراری فنکشن کو دم کی تکراری میں تبدیل کرنے کا جواز پیش کرتا ہے۔


We can prove similar theorems for the other recursion operators in the system.

ہم نظام میں دیگر تکرار آپریٹرز کے لیے اسی طرح کے نظریات ثابت کر سکتے ہیں۔


If we take any imperative program there will be a functional form for it.

اگر ہم کوئی لازمی پروگرام لیتے ہیں تو اس کے لیے ایک فعال شکل ہوگی۔


However that tail recursion may not be formalizable in TT, since it may lead to non-termination.

تاہم، وہ دم کی تکرار TT میں رسمی نہیں ہو سکتی، کیونکہ اس سے غیر اختتام ہو سکتا ہے۔


Give tail recursive forms of the recursion operators over lists and trees.

فہرستوں اور درختوں پر تکرار آپریٹرز کی دم کی تکراری شکلیں دیں۔


Comment on the space efficiency of the tail recursive form of the factorial function.

فیکٹوریل فنکشن کی دم کی تکراری شکل کی جگہ کی کارکردگی پر تبصرہ کریں۔


This section provides a survey of examples in the published literature.

یہ سیکشن شائع شدہ ادب میں مثالوں کا ایک جائزہ فراہم کرتا ہے۔


In Martin-Löf’s work there are few examples.

مارٹن-لوف کے کام میں چند مثالیں ہیں۔


The extensional version of the theory contains a proof of the axiom of choice.

تھیوری کے توسیعی ورژن میں انتخاب کے محور کا ثبوت موجود ہے۔


As well as a proof of the axiom of choice, the Padova notes contain small examples but nothing large-scale.

انتخاب کے محور کے ثبوت کے ساتھ ساتھ، پیڈوا کے نوٹس میں چھوٹی مثالیں ہیں لیکن بڑے پیمانے پر کچھ نہیں۔


This chapter contains an account of the proposals concerning ways in which the system may be augmented.

اس باب میں ان تجاویز کا ایک بیان شامل ہے جو ان طریقوں سے متعلق ہیں جن سے نظام کو بڑھایا جا سکتا ہے۔


If an argument is computationally irrelevant, its evaluation will degrade the efficiency of the program.

اگر کوئی دلیل کمپیوٹیشنل طور پر غیر متعلق ہے، تو اس کی تشخیص پروگرام کی کارکردگی کو کمزور کر دے گی۔


Normal order evaluation begins evaluation of the whole expression prior to argument evaluation.

عام ترتیب کی تشخیص دلیل کی تشخیص سے پہلے پورے اظہار کی تشخیص شروع کرتی ہے۔


If the value of an argument is unnecessary, then it is not evaluated.

اگر کسی دلیل کی قدر غیر ضروری ہے، تو اس کی تشخیص نہیں کی جاتی ہے۔


In a language with structured data such as pairs and lists, an argument need not be evaluated to normal form.

ایسی زبان میں جس میں جوڑے اور فہرست جیسے منظم ڈیٹا موجود ہے، کسی دلیل کی تشخیص کو عام شکل میں کرنے کی ضرورت نہیں ہے۔


It is only evaluated to the extent that is necessary for computation to proceed.

اس کی تشخیص صرف اس حد تک کی جاتی ہے جو حساب کتاب کو آگے بڑھانے کے لیے ضروری ہے۔


This will usually imply that it is evaluated to weak head normal form.

اس کا مطلب عام طور پر یہ ہوگا کہ اس کی تشخیص کمزور سر کے عام شکل میں کی جاتی ہے۔


Under lazy evaluation computationally irrelevant objects will simply be ignored.

سست تشخیص کے تحت، کمپیوٹیشنل طور پر غیر متعلق اشیاء کو آسانی سے نظر انداز کر دیا جائے گا۔


Indeed, it can be argued that the proper definition of computational relevance would be that which chose just that portion of an expression which is used in calculating a result under a lazy evaluation discipline.

درحقیقت، یہ دلیل دی جا سکتی ہے کہ کمپیوٹیشنل مطابقت کی مناسب تعریف وہ ہوگی جو کسی اظہار کے صرف اس حصے کا انتخاب کرے جو سست تشخیص کے طریقہ کار کے تحت نتیجہ کے حساب میں استعمال ہوتا ہے۔


There is another possible approach to computational relevance, and that involves an examination of the different forms that types can take.

کمپیوٹیشنل مطابقت کا ایک اور ممکنہ طریقہ کار ہے، اور اس میں ان مختلف شکلوں کا جائزہ شامل ہے جو اقسام لے سکتی ہیں۔


Since there are no closed normal forms in ⊥ and there is only the trivial T, computation of objects of these types will never be important.

چونکہ ⊥ میں کوئی بند عام شکل نہیں ہے اور صرف معمولی T موجود ہے، ان اقسام کی اشیاء کا حساب کبھی بھی اہم نہیں ہوگا۔


What is of importance is whether the type is inhabited or not in any particular case.

اہم بات یہ ہے کہ آیا قسم کسی خاص معاملے میں آباد ہے یا نہیں۔


An application of hd to a list l is only possible if we can pair l with a proof p that l is nonempty.

لسٹ l پر hd کا اطلاق صرف اس صورت میں ممکن ہے جب ہم l کو ایک ثبوت p کے ساتھ جوڑ سکیں کہ l خالی نہیں ہے۔


The proof will contribute nothing to further evaluation, rather it ensures that the application is to a non-empty list.

ثبوت مزید تشخیص میں کچھ بھی حصہ نہیں ڈالے گا، بلکہ یہ یقینی بناتا ہے کہ اطلاق ایک غیر خالی فہرست پر ہے۔


It can be argued that this sort of computational irrelevance is preserved when combinations are taken using the connectives ∧, ⇒ and ∀.

یہ دلیل دی جا سکتی ہے کہ اس قسم کی کمپیوٹیشنل غیر مطابقت کو برقرار رکھا جاتا ہے جب کنیکٹیوز ∧, ⇒ اور ∀ کا استعمال کرتے ہوئے امتزاج لیے جاتے ہیں۔


How should we represent the collection of objects of type A with the property B?

ہمیں خاصیت B کے ساتھ قسم A کی اشیاء کے مجموعے کی نمائندگی کیسے کرنی چاہیے؟


According to the principle of complete presentation, we would form the type (∃x:A). B consisting of pairs of objects and the proofs that they have the property P.

مکمل پریزنٹیشن کے اصول کے مطابق، ہم قسم (∃x:A). B بنائیں گے جس میں اشیاء کے جوڑے اور وہ ثبوت شامل ہوں گے جو ان میں خاصیت P ہے۔


An alternative approach is to build the ‘subset’ type {x:A|B} whose members consist of those a in A which have the property B[a/x].

ایک متبادل طریقہ یہ ہے کہ 'سب سیٹ' قسم {x:A|B} بنائیں جس کے اراکین A میں موجود ان a پر مشتمل ہوں جن میں خاصیت B[a/x] ہے۔


This has the consequence that we lose the uniqueness of types in the system TT.

اس کا نتیجہ یہ نکلتا ہے کہ ہم نظام TT میں اقسام کی انفرادیت سے محروم ہوجاتے ہیں۔


What are the formal rules for the subset type?

سب سیٹ کی قسم کے لیے رسمی اصول کیا ہیں؟


The rules we give now are those first proposed in [NP83], and used in [C + 86a], page 167, and [BCMS89], section 3.4.2.

اب ہم جو اصول دیتے ہیں وہ [NP83] میں پہلی بار تجویز کیے گئے تھے، اور [C + 86a]، صفحہ 167، اور [BCMS89]، سیکشن 3.4.2 میں استعمال کیے گئے ہیں۔


تصدیق کے مراحل کو الگ کیا جاتا ہے۔


We did this above by a simple series of transformations.

ہم نے یہ اوپر سادہ تبدیلیوں کی ایک سیریز کے ذریعے کیا۔


In general, simply naming the function we aim to compute and writing the specification and derivation in terms of that function can achieve the desired effect.

عام طور پر، صرف اس فنکشن کا نام بتانا جس کا ہم حساب لگانا چاہتے ہیں اور اس فنکشن کے لحاظ سے تفصیلات اور اخذ لکھنا مطلوبہ اثر حاصل کر سکتا ہے۔


This approach seems to achieve the separation between the logical and the computational to the appropriate degree, without introducing the subset type.

یہ طریقہ کار منطقی اور کمپیوٹیشنل کے درمیان مناسب حد تک علیحدگی حاصل کرتا ہے، ذیلی قسم کو متعارف کرائے بغیر۔


We have found no example in the literature which is not amenable to this kind of treatment.

ہمیں ادب میں کوئی ایسی مثال نہیں ملی جو اس قسم کے علاج کے لیے قابل قبول نہ ہو۔


Using the subset type to represent a subset brings problems.

سب سیٹ کی نمائندگی کے لیے سب سیٹ ٹائپ کا استعمال مسائل لاتا ہے۔


As we saw in the previous section, it is not possible in general to recover the witnessing information from a subset type.

جیسا کہ ہم نے پچھلے حصے میں دیکھا، عام طور پر سب سیٹ ٹائپ سے گواہی دینے والی معلومات کو بازیافت کرنا ممکن نہیں ہے۔


Especially in an intensional system like TT, and so in these cases, the existential type should be used, retaining the witnessing information.

خاص طور پر ایک ارادے کے نظام میں جیسے TT، اور اس لیے ان معاملات میں، وجودی قسم کو استعمال کیا جانا چاہیے، گواہی دینے والی معلومات کو برقرار رکھتے ہوئے۔


An important tool for the programmer and the mathematician is the capability to define an equality relation over a class of objects.

پروگرامر اور ریاضی دان کے لیے ایک اہم ٹول اشیاء کے ایک طبقے پر مساوات کے تعلق کی وضاحت کرنے کی صلاحیت ہے۔


For instance in this account we stipulated that we would consider as the same two expressions which differ only in their bound variables.

مثال کے طور پر، اس اکاؤنٹ میں ہم نے یہ شرط رکھی کہ ہم ان دو تاثرات کو ایک جیسا سمجھیں گے جو صرف اپنے پابند متغیرات میں مختلف ہیں۔


In a program we might choose to represent finite sets by finite lists, by taking as equal those lists which have the same elements, irrespective of their multiplicity or ordering.

ایک پروگرام میں ہم محدود سیٹوں کو محدود فہرستوں کے ذریعے ظاہر کرنے کا انتخاب کر سکتے ہیں، ان فہرستوں کو برابر لے کر جن میں ایک ہی عناصر ہیں، ان کی کثرت یا ترتیب سے قطع نظر۔


In both cases we can be seen to define a new type by taking the quotient of a type by an equivalence relation.

دونوں صورتوں میں ہم ایک مساوات کے تعلق سے ایک قسم کا حصہ لے کر ایک نئی قسم کی وضاحت کرتے ہوئے دیکھے جا سکتے ہیں۔


These types are a part of the Nuprl system.

یہ اقسام Nuprl نظام کا حصہ ہیں۔


We start with an exposition of the quotient type adapted to the context of TT.

ہم TT کے تناظر کے مطابق ڈھالے گئے کوشینٹ ٹائپ کی نمائش سے شروع کرتے ہیں۔


Because of the number of hypotheses in the following rule, we write them in a vertical list.

مندرجہ ذیل اصول میں مفروضوں کی تعداد کی وجہ سے، ہم انہیں عمودی فہرست میں لکھتے ہیں۔


In forming the type, we have to verify that the predicate is an equivalence relation.

قسم کی تشکیل میں، ہمیں یہ تصدیق کرنی ہوگی کہ پیش گوئی ایک مساوات کا رشتہ ہے۔


The introduction rule breaks unicity of typing.

تعارف کا اصول ٹائپنگ کی یکجہتی کو توڑتا ہے۔


If we define a function over a quotient type, then the value on equivalent elements has to be equal.

اگر ہم کوشینٹ ٹائپ پر ایک فنکشن کی وضاحت کرتے ہیں، تو مساوی عناصر پر قدر برابر ہونی چاہیے۔


The elimination rule for the quotient type, which is the rule introducing functions over the type must reflect this.

کوشینٹ ٹائپ کے لیے خاتمے کا اصول، جو کہ قسم پر فنکشن متعارف کرانے کا اصول ہے، اسے ظاہر کرنا چاہیے۔


There is no separate computation rule for the quotient type, but there is a rule indicating that equivalent elements are deemed to be equal.

کوشینٹ ٹائپ کے لیے کوئی الگ کمپیوٹیشن رول نہیں ہے، لیکن ایک ایسا اصول ہے جو یہ بتاتا ہے کہ مساوی عناصر کو برابر سمجھا جاتا ہے۔


The research paper explores the concept of well-founded recursion in type theory.

تحقیقی مقالہ ٹائپ تھیوری میں اچھی طرح سے قائم کردہ تکرار کے تصور کو تلاش کرتا ہے۔


Can you explain the difference between structural and well-founded recursion?

کیا آپ ساختی اور اچھی طرح سے قائم کردہ تکرار کے درمیان فرق کی وضاحت کر سکتے ہیں؟


The paper discusses the use of well-founded orderings in defining recursive functions.

مقالہ تکراری افعال کی تعریف میں اچھی طرح سے قائم کردہ ترتیبوں کے استعمال پر بحث کرتا ہے۔


Well-founded recursion provides a more general notion of 'simpler than'.

اچھی طرح سے قائم کردہ تکرار 'سے آسان' کا ایک زیادہ عام تصور فراہم کرتی ہے۔


The concept of infinite descending chains is crucial to understanding well-foundedness.

اچھی طرح سے قائم ہونے کو سمجھنے کے لیے لامحدود نزولی زنجیروں کا تصور بہت ضروری ہے۔


The theorem provides a characterization of well-foundedness using a set-theoretic approach.

یہ نظریہ سیٹ تھیوری کے نقطہ نظر کا استعمال کرتے ہوئے اچھی طرح سے قائم ہونے کی خصوصیت فراہم کرتا ہے۔


The elimination rule for Acc is a key component in well-founded recursion.

Acc کے لیے خاتمے کا اصول اچھی طرح سے قائم کردہ تکرار کا ایک اہم جزو ہے۔


The introduction rule for Acc is used to infer that y:Acc(A,≺).

Acc کے لیے تعارف کا اصول یہ نتیجہ اخذ کرنے کے لیے استعمال کیا جاتا ہے کہ y:Acc(A,≺).


The paper also discusses inductive types and their generation.

مقالہ انڈکٹیو اقسام اور ان کی نسل پر بھی بحث کرتا ہے۔


The definition of pow is justified by induction over the well-founded ordering.

pow کی تعریف اچھی طرح سے قائم کردہ ترتیب پر انڈکشن کے ذریعے جائز ہے۔


Recursion is often used to define functions or prove universal propositions.

تکرار اکثر افعال کی تعریف کرنے یا عالمگیر تجویزوں کو ثابت کرنے کے لیے استعمال ہوتی ہے۔


The system is not terminating if we include the polymorphic type.

اگر ہم پولیمورفک قسم کو شامل کرتے ہیں تو نظام ختم نہیں ہوتا ہے۔


The well-founded or accessible part of the ordering is defined.

ترتیب کا اچھی طرح سے قائم یا قابل رسائی حصہ بیان کیا گیا ہے۔


We often have to use recursion to define functions.

ہمیں اکثر افعال کی تعریف کرنے کے لیے تکرار کا استعمال کرنا پڑتا ہے۔


The elimination rule legitimises definition by recursion.

خاتمے کا اصول تکرار کے ذریعے تعریف کو جائز قرار دیتا ہے۔


اس اصطلاح کی کوئی کینونیکل شکل نہیں ہے۔


The question we address in this section is whether there is a more general notion of 'simpler than'.

اس حصے میں ہم جس سوال پر غور کر رہے ہیں وہ یہ ہے کہ آیا 'سے آسان' کا ایک زیادہ عام تصور موجود ہے۔


Consider the concrete case of the definition.

تعریف کی ٹھوس صورت پر غور کریں۔


ہم دیکھیں گے کہ واقعی ایسا ہے۔


The proof is by induction over the relation.

ثبوت تعلق پر انڈکشن کے ذریعے ہے۔


The definition requires that the list contains [ ].

اس تعریف میں ضروری ہے کہ فہرست میں [ ] شامل ہو۔


If the list contains x, it must also contain (n::x).

اگر فہرست میں x شامل ہے، تو اس میں (n::x) بھی شامل ہونا چاہیے۔


Moreover, the intention of the definition is that L is the smallest such set.

مزید برآں، تعریف کا مقصد یہ ہے کہ L سب سے چھوٹا ایسا مجموعہ ہے۔


We can formalize by saying that L is the smallest solution of the equation.

ہم یہ کہہ کر رسمی شکل دے سکتے ہیں کہ L مساوات کا سب سے چھوٹا حل ہے۔


We shall in fact continue to use the familiar notation (n::x) instead of the pair.

درحقیقت، ہم جوڑے کے بجائے مانوس علامت (n::x) کا استعمال جاری رکھیں گے۔


Not every equation has a solution or a least solution.

ہر مساوات کا حل یا کم از کم حل نہیں ہوتا ہے۔


A sufficient condition for a least solution is that the operator is monotonic.

کم از کم حل کے لیے ایک کافی شرط یہ ہے کہ آپریٹر یکساں ہو۔


The least solution of the equation is called the least fixed point of the operator.

مساوات کے کم از کم حل کو آپریٹر کا کم از کم مقررہ نقطہ کہا جاتا ہے۔


To show that the equation has a solution we consider the sequence of sets.

یہ ظاہر کرنے کے لیے کہ مساوات کا حل ہے، ہم سیٹوں کے سلسلے پر غور کرتے ہیں۔


In general, the superscript may be an infinite ordinal number.

عام طور پر، سپر اسکرپٹ ایک لامحدود ترتیبی عدد ہو سکتا ہے۔


This fixed point is the least fixed point of Θ.

یہ مقررہ نقطہ Θ کا کم از کم مقررہ نقطہ ہے۔


We shall use the notation L for the operator of which L is the least fixed point.

ہم اس آپریٹر کے لیے علامت L استعمال کریں گے جس کا L کم از کم مقررہ نقطہ ہے۔


The equation characterizes that L is a fixed point of L.

مساوات اس بات کی خصوصیت بتاتی ہے کہ L، L کا ایک مقررہ نقطہ ہے۔


How do we characterize that L is the least solution?

ہم کیسے خصوصیت بیان کریں گے کہ L سب سے چھوٹا حل ہے؟


We need to express that elements only go in by the action of the operator L.

ہمیں یہ ظاہر کرنے کی ضرورت ہے کہ عناصر صرف آپریٹر L کے عمل سے داخل ہوتے ہیں۔


We do this by giving an elimination rule which constructs a function by recursion over L.

ہم یہ ایک خاتمے کا اصول دے کر کرتے ہیں جو L پر تکرار کے ذریعے ایک فنکشن تیار کرتا ہے۔


To make such a definition it is necessary and sufficient to state a value at [ ] and a way of going from a value at x to a value at (n::x).

ایسی تعریف بنانے کے لیے ضروری اور کافی ہے کہ [ ] پر ایک قدر بیان کی جائے اور x پر ایک قدر سے (n::x) پر ایک قدر تک جانے کا طریقہ بتایا جائے۔


Consider the example of the sum function, which returns the sum of a numerical list.

جمع فنکشن کی مثال پر غور کریں، جو عددی فہرست کا مجموعہ لوٹاتا ہے۔


This is characterized by the function g.

اس کی خصوصیت فنکشن g سے ہے۔


Before we give a type theoretic treatment of inductive definitions, we observe that there is a link between inductively defined sets and well-founded orderings.

انڈکٹیو تعریفوں کا ٹائپ تھیوریٹک علاج دینے سے پہلے، ہم دیکھتے ہیں کہ انڈکٹیو طور پر متعین سیٹوں اور اچھی طرح سے قائم کردہ ترتیبوں کے درمیان ایک ربط ہے۔


The concept of identity is unique in a semigroup.

ایک نیم گروپ میں شناخت کا تصور منفرد ہے۔


We will now formally demonstrate this uniqueness.

ہم اب باضابطہ طور پر اس انفرادیت کو ظاہر کریں گے۔


The identity element remains unchanged when combined with any other element.

شناخت کا عنصر کسی دوسرے عنصر کے ساتھ ملنے پر تبدیل نہیں ہوتا ہے۔


The proof uses the associativity property of the operation.

ثبوت آپریشن کی وابستگی کی خاصیت کا استعمال کرتا ہے۔


اگر موجود ہیں تو الٹیاں منفرد ہیں۔


The results depend on unpacking the triples.

نتائج ٹرپلز کو کھولنے پر منحصر ہیں۔


The system has the capability of giving temporary names to objects.

سسٹم میں اشیاء کو عارضی نام دینے کی صلاحیت ہے۔


Axiomatization of the theory would be more appropriate.

تھیوری کی محوریت زیادہ مناسب ہوگی۔


نیم گروپ ایک قسم ہے۔


خارجی قوانین کی بھی وضاحت کی گئی ہے۔


Computation rules show how set, op and assoc behave.

کمپیوٹیشن کے اصول بتاتے ہیں کہ سیٹ، آپ اور ایسوسی ایٹ کیسے برتاؤ کرتے ہیں۔


These rules can be derived from the representation.

یہ اصول نمائندگی سے اخذ کیے جا سکتے ہیں۔


The formal properties of the system might be disturbed.

سسٹم کی رسمی خصوصیات میں خلل پڑ سکتا ہے۔


We will look into it in more depth in the next chapter.

ہم اگلے باب میں اس پر مزید گہرائی سے غور کریں گے۔


What are the types of the projection functions?

پروجیکشن فنکشن کی اقسام کیا ہیں؟


This chapter focuses on the system as a whole.

یہ باب پورے نظام پر توجہ مرکوز کرتا ہے۔


We investigate the mathematical foundations of the system.

ہم نظام کی ریاضیاتی بنیادوں کی تفتیش کرتے ہیں۔


We compare its strength with other formal systems.

ہم اس کی طاقت کا موازنہ دوسرے رسمی نظاموں سے کرتے ہیں۔


The technique used here is that of realizability.

یہاں استعمال کی جانے والی تکنیک حقیقت پسندی کی ہے۔


Realizability provides a mechanism for extracting computational content.

حقیقت پسندی کمپیوٹیشنل مواد کو نکالنے کا ایک طریقہ کار فراہم کرتی ہے۔


The meta-language uses dependent product types.

میٹا زبان انحصار شدہ مصنوعات کی اقسام استعمال کرتی ہے۔


This approach can be used in the Edinburgh Logical Framework.

اس نقطہ نظر کو ایڈنبرا لاجیکل فریم ورک میں استعمال کیا جا سکتا ہے۔


The inversion principle is a key concept in this context.

الٹ کا اصول اس تناظر میں ایک اہم تصور ہے۔


We need to introduce hypothetical hypotheses.

ہمیں فرضی مفروضات متعارف کروانے کی ضرورت ہے۔


The system is stronger than the Milner type system.

یہ نظام ملنر ٹائپ سسٹم سے زیادہ مضبوط ہے۔


The project aimed to develop a system for writing mathematical theories.

اس منصوبے کا مقصد ریاضیاتی نظریات لکھنے کے لیے ایک نظام تیار کرنا تھا۔


The application operator is a constant of a specific type.

ایپلیکیشن آپریٹر ایک مخصوص قسم کا مستقل ہے۔


Substitution in the object language is described by beta-reduction.

اشیاء کی زبان میں متبادل کو بیٹا-کمی کے ذریعے بیان کیا گیا ہے۔


The computation rule for the function space is beta-reduction.

فنکشن اسپیس کے لیے کمپیوٹیشن کا اصول بیٹا-کمی ہے۔


This approach has semantic implications.

اس نقطہ نظر کے معنیاتی مضمرات ہیں۔


The system is designed to support the top-down construction of derivations.

یہ نظام اخذ کی ٹاپ-ڈاؤن تعمیر کی حمایت کے لیے ڈیزائن کیا گیا ہے۔


Proofs are constructed in a top-down way.

ثبوت اوپر سے نیچے کی طرف بنائے جاتے ہیں۔


Nuprl کا زور منطقی ہے۔


The system differs somewhat from the extensional version.

یہ نظام کسی حد تک توسیع شدہ ورژن سے مختلف ہے۔


The logic is embedded in the ML metalanguage.

منطق ML میٹالینگویج میں سرایت شدہ ہے۔


The principle of complete presentation is central to type theory.

مکمل پریزنٹیشن کا اصول ٹائپ تھیوری کے لیے مرکزی حیثیت رکھتا ہے۔


Separation allows definitions like this.

علیحدگی اس طرح کی تعریفوں کی اجازت دیتی ہے۔


Inductive constructions are performed along similar lines.

انڈکٹیو تعمیرات اسی طرح کی لائنوں پر کی جاتی ہیں۔


Reasoning about the sets is performed in a rich logical language.

سیٹوں کے بارے میں استدلال ایک امیر منطقی زبان میں کیا جاتا ہے۔


The realizability approach allows a lot of flexibility.

حقیقت پسندی کا طریقہ بہت زیادہ لچک کی اجازت دیتا ہے۔


تعمیرات کا نظریہ پیچیدہ ہے۔


Mathematics can be developed in a simple foundational theory.

ریاضی کو ایک سادہ بنیادی نظریہ میں تیار کیا جا سکتا ہے۔


The difficulty lies in the mingling of proof objects and types.

مشکل اس بات میں ہے کہ ثبوت کی اشیاء اور اقسام کس طرح مل جاتی ہیں۔


A realizability semantics for the Calculus of Constructions is discussed.

تعمیرات کے حساب کے لیے ایک حقیقت پسندی کی لسانیات پر تبادلہ خیال کیا گیا ہے۔


Research into type theory is still in flux.

قسم کے نظریہ پر تحقیق ابھی تک جاری ہے۔


The core of the system is a sound combination of logic and programming.

نظام کا بنیادی حصہ منطق اور پروگرامنگ کا ایک بہترین امتزاج ہے۔


I hope the reader can share my enthusiasm for the subject.

مجھے امید ہے کہ قاری اس موضوع کے لیے میرا جوش و خروش بانٹ سکتا ہے۔


One of the keenest intellectual pleasures is to see connections.

سب سے زیادہ دلچسپ ذہنی خوشیوں میں سے ایک روابط دیکھنا ہے۔


I can still remember the thrill on discovering that the proof is the same.

مجھے اب بھی اس سنسنی یاد ہے جب میں نے دریافت کیا کہ ثبوت ایک جیسا ہے۔


Additions to the system seem to extract a price.

نظام میں اضافے ایک قیمت وصول کرتے نظر آتے ہیں۔


We should be certain before adding a feature.

ہمیں کسی خصوصیت کو شامل کرنے سے پہلے یقینی ہونا چاہیے۔


This conclusion is obvious to anyone familiar with programming languages.

یہ نتیجہ کسی بھی ایسے شخص کے لیے واضح ہے جو پروگرامنگ زبانوں سے واقف ہے۔


The plight of imperative programming seems hopeless.

ضروری پروگرامنگ کی حالت مایوس کن لگتی ہے۔


Functional languages offer a much brighter prospect.

فعال زبانیں ایک روشن امکان پیش کرتی ہیں۔


Type theory can provide a single foundation.

قسم کا نظریہ ایک واحد بنیاد فراہم کر سکتا ہے۔


There is still much to be done in making type theory usable.

قسم کے نظریہ کو قابل استعمال بنانے میں ابھی بہت کچھ کرنا باقی ہے۔


Languages based on type theory will be popular.

قسم کے نظریہ پر مبنی زبانیں مقبول ہوں گی۔


Contemporary functional languages are like Miranda and ML.

معاصر فعال زبانیں مرانڈا اور ایم ایل کی طرح ہیں۔


This paper discusses the application of type theory.

یہ مقالہ قسم کے نظریہ کے اطلاق پر بحث کرتا ہے۔


The bibliography provides further reading.

حوالہ جات مزید پڑھنے کے لیے فراہم کیے گئے ہیں۔


The company announced record profits this quarter.

کمپنی نے اس سہ ماہی میں ریکارڈ منافع کا اعلان کیا۔


کیا آپ براہ کرم مجھے نمک دے سکتے ہیں؟


The weather forecast predicts rain for tomorrow.

موسم کی پیش گوئی کل بارش کی ہے۔


She is a talented musician and plays several instruments.

وہ ایک باصلاحیت موسیقار ہے اور کئی آلات بجاتی ہے۔


The government is implementing new policies to boost the economy.

حکومت معیشت کو فروغ دینے کے لیے نئی پالیسیاں نافذ کر رہی ہے۔


Despite the challenges, they persevered and achieved their goals.

چیلنجوں کے باوجود، انہوں نے ہمت نہیں ہاری اور اپنے مقاصد حاصل کیے۔


The scientific research has led to groundbreaking discoveries in the field.

سائنسی تحقیق نے اس شعبے میں اہم دریافتوں کی راہ ہموار کی ہے۔


The intricate details of the artwork captivated the audience.

فن پارے کی پیچیدہ تفصیلات نے سامعین کو مسحور کر دیا۔


The algorithm efficiently sorts the data.

الگورتھم ڈیٹا کو مؤثر طریقے سے ترتیب دیتا ہے۔


He is fluent in multiple languages, including Urdu.

وہ متعدد زبانوں میں روانی سے بات کرتا ہے، بشمول اردو۔


The negotiations were prolonged and ultimately unsuccessful.

مذاکرات طویل ہوئے اور بالآخر ناکام رہے۔


The rapid technological advancements have transformed society.

تیز رفتار تکنیکی ترقی نے معاشرے کو بدل دیا ہے۔


She expressed her gratitude for their support.

اس نے ان کی حمایت کے لیے اپنی تشکر کا اظہار کیا۔


The complex legal proceedings took several years to resolve.

پیچیدہ قانونی کارروائیوں کو حل کرنے میں کئی سال لگے۔


The economic downturn affected many industries.

معاشی بدحالی نے کئی صنعتوں کو متاثر کیا۔


The ancient ruins provided a glimpse into the past.

قدیم کھنڈرات نے ماضی کی ایک جھلک فراہم کی۔


The innovative design revolutionized the industry.

جدید ڈیزائن نے صنعت میں انقلاب برپا کر دیا۔


The philosophical debate explored the nature of reality.

فلسفیانہ بحث نے حقیقت کی نوعیت کو تلاش کیا۔


The team's dedication led to a remarkable victory.

ٹیم کی لگن ایک قابل ذکر فتح کا باعث بنی۔


The intricate network of roads facilitated trade and travel.

سڑکوں کے پیچیدہ جال نے تجارت اور سفر کو آسان بنایا۔