430 likes | 534 Views
Chapter 2. Mathematical Preliminaries. Contents. Relations Functions Partial orders Induction (Formal) Language. Cartesian products. A, B: two sets AxB (Cartesian Product of A and B) is the set of all ordered pairs {<a,b> | a Î A and b Î B }. Examples:
E N D
Chapter 2 Mathematical Preliminaries
Contents • Relations • Functions • Partial orders • Induction • (Formal) Language
Cartesian products • A, B: two sets • AxB (Cartesian Product of A and B) is the set of all ordered pairs {<a,b> | a Î A and b Î B }. • Examples: A= {1,2,3}, B= {4,5,6} => AxB = ? • A1,A2,...,An (n > 0): n sets • A1xA2x...xAn = {<a1,a2,...,an> | aiÎ Ai }. • Example: 1. A1={1,2},A2={a,b},A3={x,y} ==> |A1xA2xA3| = ? 2. A1= {}, A2={a,b} => A1xA2 = ?
Binary Relation • Binary relation: • A,B: two sets • A binary relation R between A and B is any subset of AxB. • Example: If A={1,2,3}, B ={4,5,6}, then which of the following is a binary relation between A and B ? R1 = {<1,4>, <1,5>, <2,6> } R2 = {} R3 = {1,2,3,4} R4 = {<1,2>, <3,4>, <5,6> }
Basic terminology about relation • R: a binary relation between A and B (I.e., a subset of AxB), then • The domain of R: dom(R) = {x Î A | y Î B s.t. <x,y> Î R} • The range of R: range(R) ={y Î B, | x Î A, s.t., <x,y> Î R} • <x,y> Î R is usually written as x R y. • If A = B, then R is simply called a relation over(on) A. • An n-tuple relation R among A1,A2,...,An is any subset of A1xA2...xAn, n is called the arity of R • If A1=A2=...=An=A => R is called an n-tuple relation (on A).
Examples about relations • A = the set of All human beings = {...,蔣中正, 蔣經國, 蔣緯國, ...} • the-father-of (父子關係) = {<x,y> | x,y are human and x is the father of y } is a binary relation over humans. • the-brother-of (兄弟關係) = {<x,y> | x and y are human and x is the brother of y } So, <蔣中正,蔣經國>,<蔣中正,蔣經國>Î the-father-of and<蔣經國, 蔣緯國>,<蔣緯國, 蔣經國>Î the-brother-of
(Partial) Functions • A relation R between A and B is functional iff, for all x Î A and y,z Î B, x R y and x R z implies y = z. (I.e., for each x in A, there is at most one y in B, s.t., x R y.) • A partial function is a triple f=<A,B,G> where A and B are sets and G is a functional relation between A and B. • A is called the domain of f • B is called the codomain of f and • G is called the graph of f. Notation:1. f : A B; 2. A= dom(f); B=Codom(f); G=graph(f) • Note: Dom(f) ¹ Dom(G) in general. • For every element x ∈ A, the unique y in the range of f with (x,y) G is denoted f(x).
(partial) functions • If Dom(f) = Dom(G), (I.e., for all x in A, there is y in B, s.t., x G y), then • call f a (total) function • f and its graph G are usually identified. range(G) or imgae(G) A=Dom(f) G B=Codom(f) Dom(G) f is a total function iff Dom(f) = Dom(G) Note: In the following, if not stated otherwise, all functions are assumed to be total function.
Classification of (total) functions • f:AB a (partial) function; X a subset of A, Y a subset of B; then • f(X) : the image of X under f = {y Î B | there is x in X s.t., f(x) = y } • f-1(Y):the inverse image of Y under f = {x Î A | there is y Y s.t., f(x) = y } • f is surjective(onto) iff f(A) = B • f is injective(1-1) iff for each y in B, there is at most one x in A, s.t., f(x) =y. • f is bijective (or a bijection) iff f is 1-1 and onto. • If f is 1-1 and onto then there exists a unique function g:B A s.t., g(y)=x iff f(x) = y. • g is called the inverse of f and is denoted f-1.
g2 1 2 3 4 5 6 1 2 3 4 5 6 g4 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 Example: g1 g3 • A= {1,2,3} B= {4,5,6} • Let fi = <A,B,gi>. then • dom(gi) = ?; range(gi) = ? • which are total functions? • which are 1-1 functions? • which are surjective, bijective? g5
Operations on relations (and functions) • R Í AxB; S Í B x C: two relations • composition of R and S: • R · S = {<a,c> | there is b B s.t., <a,b> R and <b,c> S }. • Identity relation: IA = {<a,a> | a A } • Converse relation: R-1 = {<b,a> | <a,b> R } • f:A B; g: BC: two functions, then g·f:AC defined by g·f(x) = g(f(x)). • Note: function and relation compositions are associative, I.e., for any function or relation f,g,h, f· (g·h) = (f·g) ·h
Properties of binary relations • R: A binary relation on S, 1. R is reflexive iff for all x in S, x R x. 2. R is irreflexive iff for all x in S, not x R x. 3. R is symmetric iff for all x, y in S, xRy ⇒ yRx. 4. R is asymmetric iff for all x,y in S, xRy ⇒ yRx. 5. R is antisymmetric iff for all x,y in S, xRy and yRx ⇒ x=y. 6. R is transitive iff for all x,y,z in S, xRy and yRz ⇒ xRz. Graphical realization of a binary relation and its properties. rule: if xRy then draw an arc from x on left S to y on right S. x x y y s s
Examples • The relation £ on the set of natural numbers N. What properties does £ satisfy ? • ref. irref, or neither ? • symmetric, asymmetric or antisymmetric ? • transitive ? • The relation > on the set of natural numbers N. • The divide | relation on integers N ? • x | y iff x divides y. (eg. 2 | 10, but not 3 | 10) What properties do > and | satisfy ? • The BROTHER relation on males (or on all people) • (x,y) BROTHER iff x is y’s brother. • The ANCESTOR relation in a family. • (x,y) ANCESTOR if x is an ancestor of y. What properties does BROTHER(ANCESTOR) have?
Some special relations • R: a binary relation on S 1. R is a preorder iff it is ref. and trans. 2. R is a partial order (p.o.) iff R is ref.,trans. and antisym. (usually written as £ ). 3. R is a strict partial order (s.p.o) iff it is irref. and transitive. • usually written <. 4. R is a total (or linear) order iff it is a partial order and every two element are comparable (i.e., for all x,y either xRy or yRx.) 5. R is an equivalence relation iff it is ref. sym. and trans. • If R is a preorder (resp. po or spo) then (S,R) is called a preorder set (resp. poset, strict poset). • What order sets do (N, <) , (N, £ ) and (N, |) belong to ?
Relationship between properties of relations • R: a nonempty binary relation on a nonempty set S . 1. If R is ref., then it is not irref. (ref. ⇒ not irref.) 2. irref. and antisym. asym. 3. If £ is a partial order, then the relation < defined by “x < y iff x£ y and x¹ y” is a strict partial order. 4. If <is a strict partial order, then the relation £ defined by “x £ y iff x < y or x = y” is a partial order. 5. According to 3 and 4, basically there is no difference b/t partial order and strict partial order. Note: In the literature, 1. if £ is given first, then x < y means x£y /\ x ¹ y. 2. If < is given first, then x £ y means x < y \/ x = y. 3. x > y means y < x; x ³ y means y £ x.
Properties of ordered set • (S, £): a poset, X: a subset of S. 1. b X is the least (or called minimum) element of X iff b £ x for all x X. 2. b X is the greatest (or called maximum or largest) element of X iff X £ b for all x X. • Least element and greatest element, if existing, is unique for any subset X of a poset (S, £ ) pf: let x, y be least elements of X. Then, x£ y and y£ x. So by antisym. of £, x = y. 3. X is a chain iff (X,R) is a linear order(, i.e., for all x, y X, either x£y or y£x) . 4. b S is a lower bound (resp., upper bound) of X iff b £ x (resp., x £ b) for all x X. • Note: b may not belong to X.
Properties of ordered sets • (S, £) : a poset, X: a nonempty subset of S. 5. b in X is minimal in X iff there is no element less than it. • i.e., there is no x ∈ X, s.t., (x < b), • or “for all x, x £ b ⇒ x =b.” 6. b in X is amaximal element of X iff there is no element greater then it. • i.e., there is no x ∈ X, s.t., (b < x), • or “for all x, b £ x ⇒ x=b.” • Note: 1.Every maximum element is maximal, but not the converse in general. 2. Maximal and minimal are not unique in general.
well-founded set and minimum conditions • (S,£) : a poset (偏序集). 1. £ is said to be well-founded (良基性) iff there is no infinite descending sequence. (i.e., there is no infinite sequence x1,x2,x3,.... s.t., x1 > x2 > x3 >... ). • Note: x > y means y < x (i.e., y£ x and y x) • if £ is well-founded => (S,£) is called a well-founded set. 2. (S,£) is said to satisfy the minimal condition iff every nonempty subset of S has a minimal element. • (S, £ ): a total ordered set (全序集). 3. £ is said to be a well-ordering(良序) iff every nonempty subset of S has a least (or equivalently, minimal) element. • If £ is well ordered, then (S,£) is called a well-ordered set.
Examples of ordered sets • Among the relations (N,£ ), (N,³ ), (N, |), (Z, £), (Z,³), (Z,|) and (R, £), 1. Which are well-founded ? 2. Which are well-ordered ?
Equivalence of well-foundness and minimal condition • (S,£) is well-founded (w.f.) iff it satisfies the minimal conditions (m.c.). pf: scheme: (1) not w.f => not m.c. (2) not m.c. => not w.f. (1) Let x1,x2,... be any infinite sequence s.t. x1 > x2 > x3 >... . Now let X={x1,x2,...}. Then X has no minimal element. Hence, S does not satisfy m.c. (2) Let X be any nonempty subset of S w/o minimal elements. Now (*) chose arbitrarily an element a1 from X,let X1 = {x | x X and a1 > x } (i.e. the set of elements in X < a1 ) since a1 is not minimal, X1 is nonempty and has no minimal element, too. So we can repeat the procedure (*) infinitely to find a2, X2, a3, X3,... and obtain the infinite descendingsequence a1 > a2 > a3 > ... So S is not w.f. Q.E.D.
Equivalence of w.f. and w.o. • If (S,£) is linear ordered then S is well-founded(or equ., satisfies the m.c.) iff S is well-ordered. pf: (1): w.f. => well-ordered. In total ordered set, every minimal element is a least element. x: minimal in X, let y ¹ x be any element in X => either y < x (impossible!) or x£ y. Hence x is least in X. Existence of minimum elements is implied by m.c. (2) well-ordered => w.f. Trivial. Since every nonempty subset have a least element, which is a minimal element.
Variants of Inductions • Mathematical Induction: • To prove a property P(n) holds for all natural number n Î N, it suffices to show that (1)P(0) holds --- (base step) and (2) For all n Î N, p(n) => p(n+1) --- (induction step) • P(n) in (2) is called induction hypothesis (h.p.) • Well-order induction: • (S,£ ) a well-ordered set; P(x): a property about S. • To show that P(x) holds for all x in S, it suffices to show (1) P(x) holds for the least element x of S. --- (base step) (2) ∀x∈S, (∀y ∈S y < x => P(y)) => p(x) ---(ind. step) • (1) is a special case of (2) [i.e., (2) implies (1)] • (for all y in S y < x => P(y)) in (2) is called the ind. hyp. of (2).
Variants of inductions • Well-founded induction: • (S, £ ) a well-founded set. P(x) a property about S. • w.f. induction says that to prove that P(x) holds for all x in S, it suffices to show that (1) P(x) holds for all minimal elements x of S --- base step, and (2) x∈S, ( ∀y∈S y < x => P(y)) => p(x) ---ind. step • (1) is already implied by (2) • (∀y∈S y < x => P(y)) in (2) is the ind. hyp. of the proof. • Facts: • w.f. Ind. => well-ordered ind. => math ind. • (I.e., If w.f ind. is true, then so is well-ordered ind. and if well-ordered ind. is true , then so is math. ind.)
relationship between types of inductions • Show that w.f. Ind. => well-ordered ind. If 1. (S,£ ) is any well-ordered set, and 2. for all x in S (for all y in S, y < x => P(x)) => P(x) holds, then for all x Î S, P(x) holds. Pf: Since (S, £) is well-ordered, (S, £) is well-founded. By condition 2, (w.f. ind and w.o. ind. have the same form) for all x in S (for all y in S, y < x => P(x)) => P(x) holds Hence (by w.f. induction) P(x) holds for all x in S. • Show that math ind. is implied by well-order ind. pf: left as an exercise.
Correctness of w.f. induction • (S,£) : a well-founded set. P(x) : a property about S. Then P(x) holds for all x Î S, if (1) P(x) holds for all minimal elements x Î S --- base step, and (2) for all x Î S, (for all y Î S y < x => P(y)) => p(x) ---ind. step pf: Assume NP = { x | x Î S and P(x) is not true } is not empty. ==> Let x be any minimal element of NP. case (1): x is minimal in S. --> impossible! (violating (1) ) by (1), P(x) holds and x Ï NP. case (2): x is not minimal. --> still impossible! (hence NP has no minimal element and NP is empty, ie. P(x) holds for all x in S) x not minimal ==> L = {y | y Î S /\ y < x} is not empty. ==> L Ç NP = { } (o/w x would not be minimal in NP.) ==> (ind. hyp. holds for x , i.e., for all y Î S, y < x => p(y)is true) ==> (by (2).) p(x) holds ==> x Ï NP. qed
Definition by induction (or recursion) • Consider the following ways of defining a set. 1. the set of even numbers Even = {0,2,4,...}: • Initial rule : 0 Î Even. • closure rule: if x Î Even then x +2 Î Even. 2. The set of strings S+ over an alphabets S = {a,b,c,...,z} • Initial: if x ÎS, then x ÎS+. • closure: If x ÎS and aÎS+, then xaÎS+. 3. The set of lists of numbers. • Initial: [ ] is a (empty) list, • closure: If x is number and L is a list, then [x | L] is a list. • [x | L] is the result of inserting x into the head position of L. • e.g., [ 5 | [2,3,4]] = [5,2,3,4] • Problem:All definitions well-defined? What’s wrong?
Problems about recursive definition • The above definitions are incomplete in the sense that there are multiple sets satisfy each definition • Example: • Let Ni = {0,2,4,6,...} U { 2i+1, 2i+3, ...}. • Then {0,2,4,6,...} and Ni (i > 0) all satisfy Def. 1. • Among {0,2,4,6,...} and Ni (i > 0) , which one is our intended set ? • How to overcome the incompleteness ? • Relationship between {0,2,4,...} and the collection of sets satisfying the definitions? • {0,2,4,...} is the least set among all sets. • {0,2,4,...} is equal to the intersection of all sets. • Every other set contains at least one element which is not grounded.
General form of inductively defining a set (or domain) • W: a set, Init: a subset of W F: a set of functions on W, • we define a subset D of W as follows: 1. Initialization: Every element of Init is an element of D. (or simply Init D) 2. closure: If f:Wn->W in F and t1,...,tn are members of D, then so are f(t1,...,tn) 3. plus one of the following 3 phrases. 3.1 D is the least subset of W with the above two properties. 3.2 D is the intersection of all subsets of W with property 1,2. 3.3 Only elements obtainable by a finite number of applications of rules 1 and 2 are elements of D. • Note: Although phrase 3. is necessary, it is usually replaced by an adv. “inductively” or “recursively” before “define”, and sometimes even totally omitted if it is understood in mind.
Example: A complete inductive definition • the set of even numbers Even = {0,2,4,...}: • Even is the least subset of Natural numbers satisfying the conditions: • Initial rule : 0 Î Even. • closure rule: if x Î Even then x +2 Î Even. • Even is the intersection of all subsets of Natural numbers satisfying the conditions: • Initial rule : 0 Î Even. • closure rule: if x Î Even then x +2 Î Even. • Even is the subset of Natural numbers satisfying the conditions: • Initial rule : 0 Î Even. • closure rule: if x Î Even then x +2 Î Even. • x is Even only if it can be obtained by a finite number of applications of rules 1 and 2.
Define functions on recursively defined domains • Consider the following function on lists of integers: sum : List of integer Z with sum(L) =def sum of all members of L. • We can define sum by recursion as follows: • basis: specify the value sum(L) of L for each L in Init = { [] }. • ==> Basis: sum([]) = 0 . • recursion: specify the value sum(f(t1,...,tn)) of element f(t1,...,tn)for each f ∈ F and t1,...,tn ∈ D = S+. • ==> Recursion: • For any list of integer L of the form [x | L’ ], sum(L) = sum([x|L’]) = x + sum([L’])
Define functions on recursively defined domains • More example: sum : S+ N with Na(x) =def number of a’s in string x. • Now we can define Na as follows: • Initial: specify the value Na(x) of x for each x in Init = S. • ==> Na(a) = 1 ; Na(x) = 0 if x ¹ a. • recursion: specify the value Na(f(t1,...,tn)) of element f(t1,...,tn) for each f ∈ F and t1,...,tn ∈ D = S+. • ==> for any z S+ , if z = ay, then Na(z) = 1 + Na(y) and if z = xy where x is any symbol ¹ a, Na(z) = Na(y). • Such kind of definitions are well defined. why ? • sufficient condition: The recursively defined domain is not ambiguous(i.e., multi-defined)I.e., There is only one way to form (or derive ) each element in the domain. ]
- x x - 5 2 3 5 2 3 Example of a multi-defined(ambigous) Domain • Arithmetic expression (Ar1 ⊆ S*) : • Init:Constants a,b,c,… and variables x,y,z,… are arithmetic expressions • Closure: If a and b are arithmetic expressions then so are a+b, a-b, -a, a xband a/b. • ambiguous arithmetic expressions: • 2 – 3 x 5 ; x – y + 2 • two ways to form “ 2 – 3 x 5 “: • 1. 2, 3, 2-3, 5, 2-3 x 5. • 2. 2, 3, 5, 3x5, 2- 3x 5.
Problem for ambiguous defintions • Define the fucntion val : Ar1 Z as follows: • Basis: • val(c) = c where c is an integer constant. • val(x) = 0 where x is a variable. • Recursion : where a and b are expressions • val(a+b) = val(a) + val(b) • val(a-b) = val(a) – val(b) • val(a * b ) = val(a) * Val(b) • val(a / b) = val(a)/val(b). • Then there are two possible values for 2 – 3 * 5. • val( 2 - 3 * 5 ) =val(2) – val(3 * 5) = 2 – [val(3) * val(5)] = 2 – 15 = -13. • val( 2 – 3 * 5) = val(2-3) * val(5) = [val(2) – val(3)] * 5 • = -1 * 5 = -5. • As a result, the function val is not well-defined !!
Structural induction(SI) • D: an inductively defined domain P(x): a property on D. • To show that P(x) holds for all x in D, it suffices to show • Base step: P(x) holds for all x ∈ Init. • Ind. step: P(t1),...,P(tn) ⇒ P(f(t1,...,tn)) for all f ∈ F, and for all t1,...,tn ∈ D. • Example: show P(x) º “Na(x) ³ 0” holds for all x. • Base step: x Î Init = (S = {a,b,c,...}) • x = a => Na(x) = 1 ³ 0. • x ¹ a => Na(x) = 0 ³0 • Ind. step: x: any element in S, y: any element in S+. Assume (ind. hyp.) Na(y) ³ 0. then • if x = a => Na(x y) = 1 + Na(y) ³0 • if x ¹ a => Na(x y) = Na(y) ³ 0.
Correctness of structural induction (SI) • Structural induction is a special case of well-founded induction. Why? • Let D be an inductively defined domain. • We can define a (strict) partial ordering < on D as follows: • [All elements of Init are minimal in <.] • ti < f(t1,...,tn) i=1,..,n, for each f in F and for all t1,..,tn ∈ D. • moreover, if s < t and t < u then s < u for all s,t,u ∈ D. • Notes: 1. < may not be a s.p.o. 2. However, if every element of D is not multi-defined, then < must be a s.p.o. Ex of multi-defined set: Even = 0 Î E | x + 4, x - 2 Î E. 3. If < is a spo, then structural ind. is just w.f. ind. on the ordered set (D, <). 4. Even if < is not a spo, SI still holds! (a more complicated ordering than < is needed to show its correctness)
Correctness of recursively defining a function on a recursively defined domain without ambiguous elements. • D: a recursively defined domain s.t. every element has exactly one form. • g:D T defined as follows: • (1) Init: g(i) = ci is given explicitly for each i ∈ Init. • (2) recursion: for each operation f of arity n and for all t1, t1,…,tn ∈ D, g(f(t1,…,tn)) = h(g(t1),…,(tn)) is given in terms of g(t1),..,g(tn). Then there is exactly one function from D to T satisfying conditions (1) and (2). pf: (I) : Existence: Assume the set N = { y ∈ D | y never be assigned value by (1) and (2)} is not empty. =>let x be any element minimal in N. • (1) x ∉ Init. • (2) let x = f(t1,…,tn) for some f and some t1,…,tn.
(by ind. hyp.,) t1,…,tn can be assigned values g(t1),…,g(tn) • by recursion rule x can be assigned value h(g(t1),…,g(tn)). • x ∉ N, a contradiction!. (II) : Uniquess: Assume there are two distinct functions g1, g2: D T satisfying condition (1) and (2). Let N = {y ∈ D | g1(y) g2(y) } and let x be any minimal element ∈ N. ⇒ (1) x ∉ Init. [since both g1(x) and g2(x) must equal to cx.] • (2) let x = f(t1,…,tn) for some f and some t1,…,tn∉ N • (g1(t1),…,g1(tn)) = (g2(t1),…,g2(tn)) • by closure rule g1(x) = h(g1(t1),…,g1(tn)) • = h(g2(t1),…,g2(tn)) =g2(x). • x ∉ N, a contradiction!.
More example: • Define the set of labeled binary trees as follows: • S: a set of labels = {a,b,c,..} • G = S U {(, )}, G* = the set of strings over G. • TS is a subset of G* defined inductively as follows: • Init: () is a tree. • closure: if x is a label, and L and R are trees, then (x L R) is a tree. • Examples and counter examples: • (), (a ()()), ((a) (b)()), • For each tree T, lf(T) = # of “(“ and lb(T) =# of labels in T; e(T) = number of empty subtrees “()”, can be defined as • Init: lf(()) = 1; lb(()) = 0; e(()) = 1. • recursion: lf((x LR)) = 1+ lf(L) + lf(R) ; lb((x L R)) = 1 + lb(L) +lb(R) ; e((x L R)) = e(L) + e(R).
more example(cont’d) • Use structural ind. to prove properties of trees. • Show that for all tree T ∈ TS, P(T) =def “ lf(T) =lb(T) + e(T)” holds for all tree T. • Base step: lf(()) = 1, lb(())=0, e(())=1. OK. • ind. step: x: any label, L, R: any trees. assume (ind.hyp.:) lf(L) = lb(L) + e(L) and lf(R) = lb(R) + e(R), then lf((x L R)) = 1 + lf(L) + lf(R) = 1 +lb(L) +lb(R) + e(L) +e(R) e((x L R)) = e(L) +e(R) lb((x L R)) =1 + lb(L) + lb(R) ==> lf((X L R)) = lb((X L R)) + e((X L R)).
math. induction revisited • Math. ind. is a special case of structural ind. why? • Inductively define N={0,1,2,...}. • Init: 0 is a natural number. • closure: if n is a natural number, then n’ (called the successor of n, ie., n+1) is a natural number. • Example of natural numbers and non natural numbers: • 0, 0’, 0’’, 0’’’,... --- unary representation of numbers. • 00, 0’0, 0’’00 --- not numbers. • Now applying structural Ind. on N based on the above def. • To prove p(x) holds for all natural number x, it suffices to show: • Base step: P(0) • Ind. step: Let x be any number, If P(x) then P(x’). ---- This is just the math. ind.
More Example • Let N = {0, 0’,0’’,0’’’, …}. • Define + : N2 N by recursion: for all x in N • Basis: +(x, 0) = x, // or x + 0 = x • Recursion: for all y in N, +(x, y’) = +(x,y) + 1 = [+(x,y)]’ • // or (x + y’) = (x+y)’ • Ex: 2+3 = (0’’ + 0’’’) = (0’’+0’’)’ = (0’’+ 0’)’’ = (0’’ + 0)’’’ = 0’’ ’’’ = 5 • It can be proved by SI that for all x, y ∈ N • 1. x + (y + z) = (x+y) + z • 2. x + y = y + x • Note: Such proof : x, y∈ N => x = m, y = n for some m,n =>x + y = o’’’ (m ’s) + 0’’’’ (n ’s)= o’’’’’’’ (m+n ’s) = y + x. is unacceptable. (why ?).
Exercise • Define multiplication * : N2 N by recursion: • For all x in N • Basis: ____________________ • Recursion: _________________ 2. Proved by SI that for all x, y ∈ N • 1. x * (y * z) = (x*y) * z • 2. x * y = y * x • Assuming ‘+’ is known to be associative and commutative.
Languages • S : any arbitrary set (called alphabet, or set of symbols) • any finite sequence of symbols in S is called a string over S. Ex: S = {0, 1} => e , 000, 10, 1111,... are strings over {0,1}. • Concatenation of strings: x= x1x2...xm ; y = y1...yn => xy = x1x2...xm y1...yn • Definitions • S* is the set of all strings over S. • S+ = S* \ {e} is the set of strings of positive length. • Any subset G of S* is called a language over S. Ex: {},{e}, {0,1}, {0,1}*, {0,00,000,...}, {e, 10,1010,1010,...} are all languages over {0,1}.