C TEL SOLUTION Subject: Theory of Computation (TOC) Notes Prepared By: Ahmad Sir : 9867597554 All the best… Notes Prepared by- Ahmad Sir Contact no: 9867597554 Page 1 Introduction: Theoretical Foundations of Computer Sciences (TFCS) It is also known as Theory of Computation (TOC) This course is on the Theory of Computation, which tries to answer the following questions: • What are the mathematical properties of computer hardware and software? • What is a computation and what is an algorithm? Can we give rigorous Mathematical definitions of these notions? • What are the limitations of computers? Can “everything” be computed? (As we will see, the answer to this question is “no”.) Purpose of the Theory of Computation: “Develop formal mathematical models of computation that reflect real-world computers.” This field of research was started by mathematicians and logicians in the 1930’s, when they were trying to understand the meaning of a “computation”. A central question asked was whether all mathematical problems can be Solved in a systematic way. The research that started in those days led to computers as we know them today. Nowadays, the Theory of Computation can be divided into the following three areas: 1. Complexity Theory 2. Computability Theory 3. Automata Theory Complexity Theory: The main question asked in this area is “What makes some problems computationally hard and other problems easy?” Central Question in Complexity Theory: Classify problems according to their degree of “difficulty”. Give a rigorous proof that problems that seem to be “hard” are really “hard”. All the best… Notes Prepared by- Ahmad Sir Contact no: 9867597554 Page 2 Computability Theory: The theoretical models that were proposed in order to understand solvable and unsolvable problems led to the development of real computers. Central Question in Computability Theory: Classify problems as being solvable or unsolvable. Automata Theory: Automata Theory deals with definitions and properties of different types of “computation models”. Examples of such models are: 1. Finite Automata: These are used in text processing, compilers, and hardware design. 2. Context-Free Grammars: These are used to define programming languages and in Artificial Intelligence. 3. Turing Machines: These form a simple abstract model of a “real” computer, such as your PC at home. Central Question in Automata Theory : Do these models have the same power, or can one model solve more problems than the other? In this course: In this course, we will study the last two areas in reverse order: We will start with Automata Theory, followed by Computability Theory. The first area, Complexity Theory, will be covered in next sem (5th) under DAA (Design analysis and algorithms). All the best… Notes Prepared by- Ahmad Sir Contact no: 9867597554 Page 3 Syllabus Theoretical Foundations of Computer Sciences (CSE) UNIT 1 Mathematical preliminaries – Sets, operations on sets, relations, strings, closure of relation, Countability and diagonalization , induction and proof methods- pigeon-hole principle ,concept of language, formal grammars, Chomsky hierarchy. UNIT 2 Finite Automaton, regular languages, deterministic & non deterministic finite automata, €-closures,minimization of automata, equivalence, Moore and Mealy machine. UNIT 3 Regular expression, identities, Regular grammar, right linear, left linear, Arden theorem,Pumping lemma for regular sets, closure & decision properties for regular sets, Context free languages, parse trees and ambiguity, reduction of CFGS, Normal forms for CFG . UNIT 4 Push down Automata (PDA), non-determinism, acceptance by two methods and their equivalence, conversion of PDA to CFG, CFG to PDAs, closure and decision properties of CFLs, pumping lemma for CFL UNIT 5 Turing machines, TM as acceptor, TM as transducers, Variations of TM, linear bounded automata, TM as computer of function. UNIT 6 Recursively enumerable (r.e.) set, recursive sets, Decidability and solvability, Post correspondence Problem (PCP), Introduction to recursive function theory, primitive recursive functions , Ackerman function All the best… Notes Prepared by- Ahmad Sir Contact no: 9867597554 Page 4 Subject: Theoretical Foundations of Computer Science (TOC) UNIT –I Mathematical Preliminaries Syllabus 1. Sets 2. Operations on sets 3. Relations 4. Closure of Relation 5. Strings 6. Countability and diagonalization 7. Induction and proof methods 8. Pigeon-hole principle 9. Concept of language 10. Formal grammars 11. Chomsky hierarchy All the best… Notes Prepared by- Ahmad Sir Contact no: 9867597554 Page 5 1. SETS : Definition: A set is usually defined as an unordered collection of well defined objects without repetition. The objects are called elements or member of the set. For examples, the collection of all states in india , the collection of all students in the college. The symbols ∈ (read as belongs to) is used to denote the membership in a set. The symbols ∉ (read as does not belongs to) denotes that a particular elements is not a member of a set. Sets are usually denoted by capital letters. Let A = {a, b, c, d, e} Then we can say that a ∈ A, e ∈ A and x ∉ A. Representation: There are two different ways of representing of sets. 1. Listing methods: It is also known as Roaster methods, in this methods all the elements of the set are separated by commas (,) and the elements are unique. For example, A = {1, 6, 8, 9} 2. Set builder methods: It is also known as Ruler methods, in this methods all the elements of the set are denoted by x, where x satisfies the certain property. For example, A = {x | x has the property P} Here the set A denotes all the elements x such that x has the property P. For example, A = {x | x is the vowel in English} then A = {a, e, i, o, u} All the best… Notes Prepared by- Ahmad Sir Contact no: 9867597554 Page 6 Types of sets: 1. Finite set: A set is said to finite, if it contains finite numbers of elements. For Example, A = {0, 1, 2, 3} 2. Infinite set: A set is said to be infinite, if it contains infinite number of elements. For example, A = {0, 1, 2, 3, …….} 3. Subset: The subset A is called subset of set B if every elements of set A is presents in set B but reverse is not true. It is denoted by A ⊆ B. For example, A = {1, 2, 3} and B = {1, 2, 3, 4, 5} then we can say that A ⊆ B 4. Empty Set: The set having no element in it is called as empty set. It is denoted by A ={ } and it can be written as Ø (phi) 5. Power set: The power set is the set of all the subsets of its elements. For example, A = {1, 2, 3} Then no of possible sets in the power set can be calculated as of |A| = 3 , then the no of possible sets are 8 . 2| A| in the above example value Q = { Ø, {1}, {2}, {3},{1,2},{1,3},{2,3},{1,2,3} } All the best… Notes Prepared by- Ahmad Sir Contact no: 9867597554 Page 7 2. OPERATIONS ON SETS : Usually operations on sets are: 1. Union: If A and B are two sets then union of A and B denoted as A ∪ B = {x | x is in A or x is in B} 2. Intersection: If A and B are two sets then intersection of A and B denoted as A ∩ B = {x | x is in A and x is in B} 3. Set difference: If A and B are two sets then difference of A and B denoted as A - B = {x | x is in A but not in B } 4. Cartesian product: If A and B are the two sets then the Cartesian product of A and B, denoted as A×B = {(a ,b) | a is in A and b is in B } 5. Concatenation: If A and B are two sets then the concatenation of A and B, denoted as A.B = {ab | a is in A and b is in B} 6. Complement: Complement of set A is denoted as 𝐴̅ and defined as 𝐴̅ = {𝑥 |𝑥 𝑖𝑠 𝑖𝑛 𝑈 𝑏𝑢𝑡 𝑛𝑜𝑡 𝑖𝑛 𝐴} , where U is a universal set Example: A = {1, 2, 3,4}, U = {1, 2, 3, 4, 5, 6, ………….} 𝐴̅ = {5, 6, 7, 8, … … … … … … } All the best… Notes Prepared by- Ahmad Sir Contact no: 9867597554 Page 8 3. RELATIONS : A set of ordered pairs is known as relations. The first component of the pair is from the set called as the domain and second component is from the set called range. If R is a relation and (a,b) is pair in R ,then we write aRb. Equivalence Relation: If a relation is Reflexive, Symmetric and Transitive as well as it is said to be Equivalence Relation Properties of relations: If R is a relation on set S , it is said to be Reflexive: If aRa exists ∀ ( for all ) a ⊆ S . Symmetric: If aRb ⇒ bRa Transitive: If aRb and bRc ⇒ aRc 4. CLOSURE OF RELATIONS : If P is a set of properties of relations R, then the P-closure of relation R is the smallest relation R that includes all the pair of R and possesses the properties in P. 1. Transitive closure: Transitive closure of R (R+) is defined as: i ). If (a, b) ⊆ R then (a, b) ⊆ R+ ii). If (a, b) ⊆ R and (b ,c) ⊆ R then (a, c) is in R+. All the best… Notes Prepared by- Ahmad Sir Contact no: 9867597554 Page 9 Example : Let, S = { 1, 2, 3} R = {(1, 2), (2, 2),(2, 3)} Then, R+ = {(1, 2), (2, 2), (2, 3), (1, 3)} 2. Reflexive closure: Reflexive closure of R(R*) is defined as: R* = R+ ∪ {(a,a) | a ⊆ S} Example: Let, S = {1, 2, 3} R = {(1, 2), (2, 2), (2, 3)} Then, R+ = {(1, 2), (2, 2), (2, 3), (1,3)} R* = {(1, 2), (2, 2), (2, 3), (1,3)} ∪ {(1,1), (2,2), (3,3)} R* = {(1, 2), (2, 2), (2, 3), (1,3),(1,1), (3,3)} Homomorphism : In group theory, the most important functions between two groups are those that “preserve” the group operations, and they are called homomorphism. A function f : G → H between two groups is a homomorphism when f(xy) = f(x) f(y) for all x and y in G. Here the multiplication in f(xy) is in G and the multiplication in f(x) f(y) is in H , so a homomorphism from G to H is a function that transform the operation in G to the operation in H. 5. COUNTABILITY AND DIAGONALIZATION : Countability: A set is said to be countable if it is finite or countably infinite . Infinite sets that can be placed in one- to- one correspondence with the set of natural numbers (N) said to be countably infinite or countable. Finite sets are always countable. Some infinite sets are uncountable, eg. Set of real numbers. All the best… Notes Prepared by- Ahmad Sir Contact no: 9867597554 Page 10 Diagonalization: The diagonalization principle is based on a simple observation. The diagonalization principle are used to prove uncountability of sets. Let A be a finite set, and R be a binary relation on A. We can represent the relation by a square table, rows and columns representing the elements, and cells having 1 if (a, b) in R other wise 0. For example, if A = {a, b, c, d}, and R = {(a, b), (a, c), (b, b), (b, d), (c, b), (c, d), (d, a)}, the table would be: R a b c d a 0 1 1 0 b 0 1 0 1 c 0 1 0 1 d 1 0 0 0 The principle says that the compliment of the diagonal (replacing 1s with 0s and vice versa) is different from each row. The reversed diagonal in the example is 1,0,1,1 and you can see that it is different from each row. The reversed diagonal differs from the first row in the first element (we have taken the complement in the diagonal), it differs from the second row in the second element, etc In order to apply the principle the elements of the set have to be represented as infinite sequences of 0 and 1, and any infinite sequence of 0 and 1 has to be a representation of some element in the set. Let us assume that we can order the elements of the set in some way. The binary representation will result in an infinite table, where each row will correspond to an element in the set. Let us take now the compliment of the diagonal - it is a representation of some element in the set, so it should appear somewhere among the rows of the table. However, it differs form the first row in the first element, it differs from the second row in the second element, etc, and hence it is not equal to any row in the table. This contradicts the assumption that all elements can be ordered, and each element corresponds to a row in the table. Hence the set is uncountable. All the best… Notes Prepared by- Ahmad Sir Contact no: 9867597554 Page 11 Decidability: If there is an algorithm which terminates after a finite amount of time and correctly decides whether or not a given number belong to the set is called decidability. A set which is not computable is called non-computable or undecidable. 6. STRINGS : Symbol: It can be defined as the abstract or a user defined entity. It cannot be formally defined ( like ‘Point’ in geometry). Letter, digits are examples of the symbol. Alphabet (𝚺): It can be defined as the some finite collections of symbols are called as the alphabet. Examples: D = {1, 2, 3, 4, …….,9} B = {0, 1} String: It can be defined as the any finite sequence of symbol over the alphabet is called as the string. It is generally denoted as the small letters like x, y, z and w etc. the length of string is denoted as |w|. It is the number of symbol presents in the string. For example: Σ = {a, b, c} w = abc |w| = 3 Prefix: Any number of leading symbols of the string is known as prefix of a sting. Example: Let w = abc Prefix = ∈, a, ab, abc. All the best… Notes Prepared by- Ahmad Sir Contact no: 9867597554 Page 12 Proper prefix: The prefix without string itself is called as proper prefix. Proper prefix: ∈, a, ab. Suffix: Any number of trailing symbols of the string is known as suffix of a sting Example: w = abc Suffix = ∈, c, bc, abc. Proper Suffix: The suffix without string itself is called as proper suffix. Example: proper suffix = ∈, c, bc. 7. INDUCTION AND PROOF METHODS: There are two proof methods: 1. Formal proof 2. Inductive proof 1. Formal Proof: There are various types of proof methods are used to prove the statements as fallow: I. Direct proof: In this proof technique, we prove implication statements that contain two parts II. 1. An “if –part” which called the premise. 2. An “then-part” which called as conclusion. Proof by contradiction: This kind of proof can be applied to all types of statements. Where it is shown that if some property were true, a logical contradiction occurs, hence the property must be false. All the best… Notes Prepared by- Ahmad Sir Contact no: 9867597554 Page 13 III. Proof by contrapositive: Contrapositive proof technique contains contrapositive of the statements, which is of the form “ if A then B” concludes “if not A then not B”. IV. Proof by deduction: A deductive proof consists of a sequence of statements whose truth leads some initial statements, called hypothesis or the given statements, to a concluding statements. V. Proof by exhaustion: Where the conclusion is established by dividing it into a finite number of cases and proving each one separately. 2. Inductive proof: Inductive proof based on some observations. It is used to prove recursively defined objects. This types of proof is also called as proof by mathematical induction. Principle of Mathematical Induction : The proof by mathematical induction can be carried out using fallowing steps 1. Basis steps: In this step we assume the lowest possible value. This is the initial step in the proof of mathematical induction. For example: we can prove that the result is true for n=0 or n=1. 2. Induction Hypothesis: In this step we assign value of n to some other value k. That means we will check whether the result is true for n = k or not. 3. Inductive step : In this step, if n = k is true then we check whether the result is true for n = k + 1 or not. If we get the same result at n = k + 1 then we can state that given proof is true by principle of mathematical induction. All the best… Notes Prepared by- Ahmad Sir Contact no: 9867597554 Page 14 Example: prove 12 + 22 + 32 + … … … + 𝑛2 = n(n+1)(2n+1) 6 Let the given statement be P(n) 12 + 22 + 32 + … … … + 𝑛2 = 1. n(n+1)(2n+1) 6 Basis step: For n = 1, we have P(1): 12 = 1 = (1(1+1)(2*1+1)) / 6 =1 ,Thus, P(1) is true 2. Inductive Hypothesis: Let P (k) be true, where k is a positive integer (k > 1) 12 + 22 + 32 + … … … + 𝑘 2 = k(k+1)(2k+1) …………..(1) 6 3. Inductive step : We will prove that P(k+1) is true Now, 12 + 22 + 32 + … … … + 𝑘 2 +(k + 1)2 = = = = = = k(k+1)(2k+1) 6 +(k + 1)2 …………….. from (1) 𝑘(𝑘+1)(2𝑘+1)+ 6(𝑘+1) 6 (𝑘+1){2𝑘 2 + 𝑘 +6𝑘+6} 6 (𝑘+1){2𝑘 2 +7𝑘+6} 6 (𝑘+1){ (𝑘+2)(2𝑘+3)} 6 (𝑘+1) (𝑘+2) (2(𝑘+1)+1) 6 thus, P(k +1) is true whenever P(k) is true hence proved. All the best… Notes Prepared by- Ahmad Sir Contact no: 9867597554 Page 15 8. PIGEON HOLE PRINCIPLE: If n + 1 or more objects are placed into n boxes, then there is at least one box containing two or more objects. In other words, if A and B are two sets such that |A| > |B|, then there is no one-toone function from A to B. If n objects are distributed over m places and n > m, then some place receives at least two objects. Example: Suppose a postman distributes 51 letters (pigeon) in 50 mailboxes (pigeonholes), then it is evident that some mailbox will contain at least two letters. Generalized Pigeon Hole Principle: If n pigeon hole is occupied by Kn+1 pigeons, where K is a positive integers, at least 1 pigeon hole is occupied by atleast K +1 pigeons. Example: Find the minimum number of students in a class so that three of them are born in same month. Soln: n = 12 (months) which represents the number of pigeon holes k + 1 =3 k=2 Hence the minimum number of pigeons can be calculated as = k*n + 1 = 2*12 +1 = 25 students. All the best… Notes Prepared by- Ahmad Sir Contact no: 9867597554 Page 16 9. CONCEPT OF LANGUAGE : A Language is defined as the collection of strings over alphabet. It may be finite or infinite Operations on languages: Because languages are sets of strings, new languages can be constructed using the set operations. There are various possible operations are Union, Intersection and difference are also languages over Σ .besides these operations some more operations can also be performed on languages. Concatenation: The concatenation AB of languages A and B is defined by A.B = { (uv) | u ∈ A and v ∈ B } Example: Let A = {a, b} B = {aa, ab, ba, bb} A.B = {aaa, aab, aba, abb, baa, bab, bba, bbb} Closure operations: There are two types of closure operations1. Star closure ( kleene*): Star closure is defined as: L* = L0 ∪ L1 ∪ L2 ∪ ………. Example: L = {a, b} {a,b}* = { ∈} ∪{a, b} ∪{aa, ab, ba, bb} = {∈, a, b, aa, ab, ba, bb …………..} L* is the infinite language which contains the all possible string over {a, b}. All the best… Notes Prepared by- Ahmad Sir Contact no: 9867597554 Page 17 2. Positive closure: Positive closure is defined as: L+ = L* - { ∈} = L1 ∪ L2 ∪ ………. = {∈, a, b, aa, ab, ba, bb………} – { ϵ} = { a, b, aa, ab, ba, bb …………..} L+ is the infinite language which contains the all possible string over {a, b} excluding with ϵ. 10. FORMAL GRAMMARS: Grammar: Grammar is the set of rules that generates syntactically correct sentences for the particular language. Grammar defines the syntax of the language. The rules of grammar are also called as production rules or syntactical rules. For example: Dog barks < Sentence > = < Noun > < verb > < Noun > = Dog < Verb > = barks The sentence “Dog barks” is formed by the rules < Noun > fallowed by < verb > Components of grammar: There are two components of grammar 1. Terminal symbols 2. Non-terminal symbols 1. Terminal symbols: Terminals symbols are those symbols which are the part of generated sentence. In the above example ‘Dog’ and ‘barks’ are called as terminal symbols since they are the part of generated sentence “Dog barks”. All the best… Notes Prepared by- Ahmad Sir Contact no: 9867597554 Page 18 2 .Non-terminal symbols: Non-terminal symbol are those symbols which take part in the generation or formation of sentence . They are not the part of generated sentence. Example: < Sentence > = < Noun > < verb > < Noun > = Dog < Verb > = barks In above example < Sentence >, < Noun >, < verb > are the non- terminal symbol. Formal definition: A phase structure grammar is denoted by 4 tuple of form G = (V, T, P, S ) Where, V: finite set of non-terminals T: finite set of terminals S: starting symbols P: production rules of form, 𝛼 → 𝛽 11. CHOMSKY HIERARCHY: Chomsky himself, in his paper of 1956 and 1959, designated the four types as type 3, type 2, type 1, and type 0, from most restrictive to most general. Each level of hierarchy can be characterized by a class of grammar and by a certain type of abstract machine, or model of computation. Grammars are classified by the form of their productions. • Each category represents a class of languages that can be recognized by a different automaton • The classes are nested, with type 0 being the largest and most general, and type 3 being the smallest and most restricted. All the best… Notes Prepared by- Ahmad Sir Contact no: 9867597554 Page 19 This hierarchy is shown in fig below. • The classifications are: 1. (Type 0) : Unrestricted Grammar : There are no restrictions on the production of grammar of this type. This type of grammar permits production of the form, α → β with α ≠ ∈ where , α and β are sentential form i.e. any combination of any number of terminals and nonterminals. This grammar generates the recursively enumerable languages or every type 0 language forms a recursively enumerable set. That means, we can construct Turing machine to recognize the sentences generated by this type of grammar. All the best… Notes Prepared by- Ahmad Sir Contact no: 9867597554 Page 20 Eg. Let G = (V, T, P, S) V = (S, A, B, C, D, E) T = (a, ∈) S = {S}, S ∈ V And P is the set of production given by S → ACaB Ca → aaC CB → DB CB → E aD → Da AD → AC aE → Ea AE → ∈ As we can see there are no restrictions on the productions, therefore, it is type 0 grammar. Grammar - Unrestricted Grammar Language - Recursively enumerable Automata - Turing machine 2. (Type 1) : Context-Sensitive Grammar : In this grammar ,every production rule is of the form: α → β where α and β are arbitrary string of grammar symbol with α ≠ ∈ and | β | ≥ |α| i.e. they can be any string of terminals and nonterminals and the length of the string on the right side must be greater than or equal to the length of the string on the left side. As there are restriction that the right hand side must be at least as long as that of the left hand side. All the best… Notes Prepared by- Ahmad Sir Contact no: 9867597554 Page 21 Eg. Let the grammar G given as, G = ( {S, A, B, }, {a, b,c}, P, S) Where, ‘P’ consists of the production S → abc | aAbc Ab → bA Ac → Bbcc bB → Bb aB → aa | aaA Grammar - Context-Sensitive Grammar Language - Context-Sensitive Automata - Linear-bounded automata 3. (Type 2) : Context-Free Grammar : The context free grammar is defined as G = (V, T, P, S ) Where, V: finite set of non-terminals T: finite set of terminals S: starting symbol S ∈ V P: production rules of form, 𝛼 → 𝛽 , where α ∈ V* and β ∈ ( V ∪ T)* In this grammar, every production rule is of the form: A → α , where α , is arbitrary string of grammar symbol i.e. the left side of the production rule is a single non-terminal or variable and the right side can be any string of terminals and nonterminals. All the best… Notes Prepared by- Ahmad Sir Contact no: 9867597554 Page 22 Example: let the grammar G defined as, G = ({S}, {a, b}, P, S}) Where, P consists of fallowing productions, S → aSa | bSb | a | b Grammar- context-free Grammar Language -context-free Automata - Pushdown automaton 4. (Type 3): Regular Grammar : The regular grammar is defined as G = (V, T, P, S) Where, V: finite set of non-terminals T: finite set of terminals S: starting symbol S ∈ V P: production rules In this grammar, every production rules is of the form: A → aB, or A → a, where A and B are non-terminals and ‘a’ is terminals i.e. the left side of the production rule is a single non terminal fallowed by a non-terminal or only a single terminal. Example: Consider grammar: G = ({S, B, C}, {a, b}, P, S) Where, P consists of S → Ca | Bb C → Bb B → Ba | b All the best… Notes Prepared by- Ahmad Sir Contact no: 9867597554 Page 23 Grammar – Regular Grammar Language - Regular Automata - Finite-State Automata (FA) RTMNU QUESTIONS: 1. Write short notes on pigeons hole principal. [S-09] 2. Prove that: [S-10] P(n) : 1.1! + 2.2! + 3.3! + …….+ n.n! 3. Explain generalized pigeon hole principle. [S-10] 4. Write a short notes on Chomsky hierarchy of languages. Give an example of type 2 grammar but which is not of type 3. [S-10] 5. Explain the Chomsky hierarchy of language. [S-11, W-11] 6. Prove that by principle of induction [W-11] 1.2.3 +2.3.4 +3.4.5 +………..+ n(n+1)(n+2) = 𝑛(𝑛 + 1)(𝑛 + 2)(𝑛 + 3) 4 7. Define: Relation, Homomorphism, Countability. [S-12] 8. With the help of mathematical induction prove that : [W-12] 12 + 22 + 32 +…………….+ n2 = 𝑛(𝑛+1)(2𝑛+1) 6 9. What is Diagonalization ? explain with an example. [W-12] 10. Define: Language, Closure and Homomorphism. [S-13] 11. Comment on countability of set of all real number. Use diagonalization. [S-13] 12. Prove the fallowing by principal of induction : [W-13] (i). 1 + 4 + 7 + …..+ (3n-2) = 𝑛(3𝑛−1) 2 (ii). 2n > n for all n > 1. All the best… Notes Prepared by- Ahmad Sir Contact no: 9867597554 Page 24 13. Discuss the Chomsky hierarchy of language. Identify the type of fallowing grammar: [W-13] AB → CDB AB → CdEB ABcd → abCD |Bcd B→ b 14. Write short note on countability and diagonalization. [W-13, S-14] 15. Define the following terms with the help of examples: [S-14] (i). Transitive closure (ii). Reflexive transitive closure (iii). Equivalence relation 16. Prove the following by mathematical induction : [S-14] 1 + 2 + 3 + ……..+ (n-1) = 𝑛 (𝑛−1) 2 17. Explain the following with suitable examples: [S-14] (i). Alphabet set (ii). Proper prefix (iii). Proper suffix (iv). Power set All the best… Notes Prepared by- Ahmad Sir Contact no: 9867597554 Page 25