The Set of Primitive Recursive Functions 1
NADPH氧化酶NOX家族与疾病的关系
第30卷第6期2010年12月国际病理科学与临床杂志 http ://www.g jb.l netIn ternati onal Journal ofPat h ol ogy and C li n i calM ed ici ne Vo.l 30 N o .6Dec . 2010收稿日期:2010-10-08 修回日期:2010-11-24作者简介:韩晓燕,硕士研究生,主要从事肿瘤对射线敏感性的研究。
通信作者:刘箐,E m ai:l ci qq@l s ohu.co m基金项目:国家自然科学基金(30870586)。
This w ork was supported by Nati onalNat ural Scie n ce Foundati on ofCh i na (30870586).NADP H 氧化酶NOX 家族与疾病的关系韩晓燕1 综述 高丽萍1,刘箐2 审校(1.兰州大学基础医学院生物化学与分子生物学教研室;2.中国科学院近代物理研究所重离子辐照生物医学研究中心,兰州730000)[摘要] 还原型烟酰胺腺嘌呤二核苷酸磷酸(nicoti na m i de aden i ne di nucleo ti de phosphate ,NA DPH )氧化酶的非吞噬细胞氧化酶(non phagocy tic cell ox i dase ,NOX )家族是许多非吞噬细胞中活性氧(reacti ve ox yg en spec ies ,RO S)的主要来源。
正常状态下,通过该途径产生的ROS 作为信号分子参与了细胞分化、增殖、凋亡等的调节,但在环境胁迫下,NOX 蛋白家族在感受细胞外信息刺激时,能够迅速活化产生过量的ROS ,引起的氧化压力会诱导机体多种疾病的发生、发展。
本文主要从NADPH 氧化酶NOX 家族蛋白的结构、活化、功能及与疾病发生、发展的关系等方面进行简述。
[关键词]还原型烟酰胺腺嘌呤二核苷酸磷酸氧化酶; 非吞噬细胞氧化酶家族; 活性氧; 疾病do:i 10.3969/.j issn .1673 2588.2010.06.012NOX fa m il y of NADPH oxi dase and diseasesHAN X iaoyan 1,GAO L i p i n g 1,L I U Q i n g2(1.De part m e n t of B ioche m istry and M olec u l ar B iology,S c hool of B asic M e d ic a lS cience ,Lanzh ou Un iversit y,L anzhou 730000;2.H e avy Ion Irrad i a tion C e n te r for B io m e d ic a lR esearc h,Institute ofM odern P hysics ,Chinese A c ade my of S ciences ,L anzhou 730000,Ch i na )[Abstract] Non phagocy tic ce ll ox i d ase (NOX )fa m ily of n icoti n a m i d e aden i n e d i n ucleotidephosphate (NADP H )ox idase is the m ajor sources of reactive oxygen species (ROS)i n a num ber of non phygocy tic cells ,NOX derived ROS functi o ns as a m essenger mo lecule to partc i p ate in the m odulation o fcell differentiation ,pr o liferation and apoptosis .NOX pr o te i n fa m ily can be activated quick l y under patho physi o log ica l cond itions l e ad i n g to h i g h producti o n o f ROS ,w h i c h contri b utes to ox i d ative stress and a w ide range o f d iseases .In th is rev ie w,w e summ arized the literatures on NOX pr o te i n construction ,acti vati o n ,functi o n ,and its corre lati o n w ith t h e developm ent o f d iseases .[Key words] nicotina m ide adenine d i n ucleo ti d e phosphate ox idase ; non phagocy tic ce ll ox i dase fa m ily ; reactive oxygen spec ies ; d isease[Int J Pathol C linM ed ,2010,30(6):0513 05]还原型烟酰胺腺嘌呤二核苷酸磷酸(n icoti n a m ide adenine dinuc leoti d e phosphate ,NADPH )在很多生物体的化学反应中起递氢体的作用,对机体具有重要的意义,而NADP H 氧化酶是细胞内一组具有氧化活性的蛋白,早期研究认为NADP H 氧化酶特异地存在于吞噬细胞,是由催化亚基gp91phox[即第6期国际病理科学与临床杂志 http://www.g j b.l net第30卷非吞噬细胞氧化酶2(non phagocy tic ce ll ox idase2, N ox2)],跨膜亚基p22p h ox,胞浆亚基p47phox,p67phox, p40p h ox和小分子三磷酸鸟苷(guanosi n e tri p hosphate, GTP)酶结合蛋白Ras癌基因相关蛋白1 (R as re lat ed prote i n1 ,Rap1 ),Ras相关的C3肉毒素底物2 (Ras related C3botu li n um tox i n substrate2,R ac2),细胞分裂周期蛋白42(ce ll dev ision cycle42,Cdc42)以及最新发现的p29过氧化物酶等组成的酶复合体[1](gp表示糖蛋白,phox代表吞噬细胞氧化酶成分),该酶通过产生活性氧(reactive oxygen species, ROS)清除入侵的病原微生物进而参与宿主防御[2 3]。
荣格 集体潜意识的原型
CARL JUNG “ARCHETYPES OF THE COLLECTIVE UNCONSCIOUS” (1934) Jung, Carl. "Archetypes of the Collective Unconscious." The Archetypes and the Collective Unconscious. Vol. 9i of Collected Works. Ed. Herbert Read, Michael Fordham, and Gerhard Adler. Trans. R. F. C. Hull. 20 Vols. London: Routledge and Kegan Paul, 1953-1978.3-41.Jung draws a distinction between Freud’s notion of the “personal unconscious” (3) (henceforth, PU) and his own notion of the “collective unconscious”(3) (CU). He describes the PU as the “gathering place of forgotten or repressed contents” (3) and as derived from “personal experience” (642). However, the PU “rests upon a deeper layer” (3), the CU. The latter is “not individual but universal” (3): it is “identical in all men” (4), consisting of a “common psyche substrate of a suprapersonal nature which is present in every one of us” (4). Secondly, it is “not a personal acquisition but is inborn” (3), that is, it is biologically inherited rather than, as is the case with the PU, something produced during the formative stages of human development in the course of which the infant is ‘socialised’and acquires a gendered and sexualised identity.Where the contents of the PU are the instincts or drives (as Freud’s German term is more accurately and more often translated today), that is, those repressed desires which are socially incompatible with the dominant mores of human society, the contents of the CU are the “archetypes” (4). These are, according to Jung’s definition, “archaic or . . . primordial types” (5), that is, “universal images that have existed since the remotest times” (5), which are retained at unconscious levels of the psyche and which are passed on from generation to generation as part of the psychic inheritance of all humans. In short, Jung defines the archetype as the psychic residue of repeated patterns of experience, handed down from generation to generation since time immemorial, which prestructureour experiences in the present. An archetype is an “immediate datum of psychic experience” (5) that has “not yet been submitted to conscious elaboration” (5). It is an “unconscious content”(5) that is only subsequently “altered by becoming conscious and by being perceived, and takes its colour from the individual consciousness in which it happens to appear” (5).Archetypes are expressed in a number of ways: especially in primitive tribal lore or myths (where they are “no longer contents of the unconscious, but have already been changed into conscious formulae taught according to tradition” [643]), fairytales and dreams which are, like myths, a particularly fertile source of study for understanding the archetypes found in the human psyche.Myths, Jung claims, are essentially “psychic phenomena that reveal the nature of the soul” (6): primitive man desperately needed toassimilate all outer sense experience to inner, psychic events. It is notenough for the primitive to see the sun rise and set; this externalobservation must at the same time be a psychic happening: the sun in itscourse must represent the fate of a god or hero who, in the last analysis,dwells nowhere except in the soul of man. All the mythologised processes ofnature, such as summer and winter, the phases of the moon, the rainyseasons, and so forth . . . are the symbolic expressions of the inner,unconscious drama of the psyche which becomes accessible to man’sconsciousness by way of projection--that is, mirrored in the events of nature.(6)In short, myths “refer to something psychic” (644) within human beings, being “involuntary statements about unconscious psychic happenings” (645) on the part ofprimitive man. The psyche contains, Jung asserts, all the “images that have ever given rise to myths” (644): our “unconscious is an acting and suffering subject with an inner drama which primitive man rediscovers, by means of analogy, in the processes of nature”(644).。
数学专业英语翻译2-3
S,我们记为。
如果方便,我们可以用在大括号中列出元素的方式来表示集合。 例如,小于10的正偶数的集合表示为{2,4,6,8},而所有正偶数 的集合表示为{2,4,6,…}, 三个圆点表示 “等等”。
The dots are used only when the meaning of “and so on” is clear. The method of listing the members of a set within braces is sometimes referred to as the roster notation.
In fact, the empty set contains no elements, whereas the set has one element. Sets consisting of exactly one element are sometimes called one-element sets.
一个给定的集合S可以产生新的集合,这些集合叫做S的子集。 例如,由可被4除尽的并且小于10的正整数所组成的集合是 小于10的所有偶数所组成集合的子集。一般来说,我们有如 下定义。
In all our applications of set theory, we have a fixed set S given in advance, and we are concerned only with subsets of this given set. The underlying set S may vary from one application to another; it will be referred to as the universal set of each particular discourse. (35页第二段)
Documenta Math. 279 Essential Dimension a Functorial Point of View
Abstract. In these notes we develop a systematic study of the essential dimension of functors. This approach is due to A. Merkurjev and can be found in his unpublished notes [12]. The notion of essential dimension was earlier introduced for finite groups by J. Buhler and Z. Reichstein in [3] and for an arbitrary algebraic group over an algebraically closed field by Z. Reichstein in [14]. This is a numerical invariant depending on the group G and the field k . This number is denoted by edk (G). In this paper we insist on the behaviour of the essential dimension under field extension k /k and try to compute edk (G) for any k . This will be done in particular for the group Z/n when n ≤ 5 and for the circle group. Along the way we define the essential dimension of functor with versal pairs and prove that all the different notions of essential dimension agree in the case of algebraic groups. Applications to finite groups are given. Finally we give a proof of the so-called homotopy invariance, that is edk (G) = edk(t) (G), for an algebraic group G defined over an infinite field k . 2000 Mathematics Subject Classification: 11E72, 12G05, 14L15, 14L30. Keywords and Phrases: Essential dimension, algebraic groups, Galois cohomology, cohomological invariants, group scheme actions, torsors. Acknowledgements The authors would warmly thank P. Chabloz, R. Garibaldi, M. Ojanguren and J.-P. Serre for helpful comments and A. Merkurjev for providing us his private notes. The first named author also gratefully acknowledges support from the Swiss National Science Fundation, grant No 2100-065128.01/1.
lecture2
MASSACHVSETTS INSTITVTE OF TECHNOLOGYDepartment of Electrical Engineering and Computer Science6.081—Introduction to EECS ISpring Semester,2007Lecture2NotesThe Functional StyleIn the functional programming style,one tries to use a very small set of primitives and means of combination.We’ll see that recursion is a very powerful primitive,which could allow us to dispense with all other looping constructs(while and for)and result in code with a certain beauty. Another element of functional programming style is the idea of functions asfirst-class objects.That means that we can treat functions or procedures in much the same way we treat numbers or strings in our programs:we can pass them as arguments to other procedures and return them as the results from procedures.This will let us capture important common patterns of abstraction and will also be an important element of object-oriented programming.BasicsBut let’s begin at the beginning.The primitive elements in the functional programming style are basic functions.They’re combined via function composition:so,for instance f(x,g(x,2))is a composition of functions.To abstract away from the details of an implementation,we can define a functiondef square(x):return x*xOrdef average(a,b):return(a+b)/2.0And now,having defined those functions,we can use them exactly as if they were primitives.So, for example,we could compute the mean square of two values asaverage(square(7),square(11))Here’s a more interesting example.What if you wanted to compute the square root of a number? Here’s a procedure that will do it:def sqrt(x):def goodEnough(guess):return abs(x-square(guess))<.0001guess=1.0while not goodEnough(guess):guess=average(guess,x/guess)return guess>>>sqrt(2)1.4142156862745097This is an ancient algorithm,due to Hero of Alexandria.1It is an iterative algorithm:it starts with a guess about the square root,and repeatedly asks whether the guess is good enough.It’s good enough if,when we square the guess,we are close to the number,x,that we’re trying to take the square root of.If the guess isn’t good enough,we need to try to improve it.We do that by making a new guess,which is the average of the original guess and x/guess.How do we know that this procedure is ever going tofinish?We have to convince ourself that, eventually,the guess will be good enough.The mathematical details of how to make such an argument are more than we want to get into here,but you should at least convince yourself that the new guess is closer to x than the previous one was.This style of computation is generally quite useful.We’ll see later in this chapter how to capture this common pattern of function definition and re-use it easily.Note also that we’ve defined a function,goodEnough,inside the definition of another function.We did it because it’s a function that we don’t expect to be using elsewhere;it’s just here to help out in sqrt.We’ll study this style of definition in detail in the next chapter.For now,it’s important to notice that the variable x inside goodEnough is the same x that was passed into the sqrt function. RecursionIn the previous example,we defined a sqrt function,and now we can use it without remembering or caring about the details of how it is implemented.We sometimes say that we can treat it as a black box,meaning that it is unnecessary to look inside it to use it.This is crucial for maintaining sanity when building complex pieces of software.An even more interesting case is when we can think of the procedure that we’re in the middle of defining as a black box.That’s what we do when we write a recursive procedure.Recursive procedures are ways of doing a lot of work.The amount of work to be done is controlled by one or more arguments to the procedure.The way we are going to do a lot of work is by calling the procedure,over and over again,from inside itself!The way we make sure this process actually terminates is by being sure that the argument that controls how much work we do gets smaller every time we call the procedure again.The argument might be a number that counts down to zero,or a string or list that gets shorter.There are two parts to writing a recursive procedure:the base case(s)and the recursive case. The base case happens when the thing that’s controlling how much work you do has gotten to its smallest value;usually this is0or the empty string or list,but it can be anything,as long as you know it’s sure to happen.In the base case,you just compute the answer directly(no more calls to the recursive function!)and return it.Otherwise,you’re in the recursive case.In the recursive case, you try to be as lazy as possible,and foist most of the work offon another call to this function,but 1Hero of Alexandria is involved in this course in multiple ways.We’ll be studying feedback later on in the course, and Hero was the inventor of several devices that use feedback,including a self-filling wine goblet.Maybe we’ll assign that as afinal project...with one of its arguments getting smaller.Then,when you get the answer back from the recursive call,you do some additional work and return the result.Here’s an example recursive procedure that returns a string of n1’s:def bunchaOnes(n):if n==0:return""else:return bunchaOnes(n-1)+"1"The thing that’s getting smaller is n.In the base case,we just return the empty string.In the recursive case,we get someone else tofigure out the answer to the question of n-1ones,and then we just do a little additional work(adding one more"1"to the end of the string)and return it. Here’s another example.It’s kind of a crazy way to do multiplication,but logicians love it.def mult(a,b):if a==0:return0else:return b+mult(a-1,b)Trace through an example of what happens when you call mult(3,1),by adding a print statement as thefirst line of the function that prints out its arguments,and seeing what happens.Here’s a more interesting example of recursion.Imagine we wanted to compute the binary repre-sentation of an integer.For example,the binary representation of145is’10010001’.Our procedure will take an integer as input,and return a string of1’s and0’s.def bin(n):if n==0:return’0’elif n==1:return’1’else:return bin(n/2)+bin(n%2)The easy cases(base cases)are when we’re down to a1or a0,in which case the answer is obvious. If we don’t have an easy case,we divide up our problem into two that are easier.So,if we convert n/2into a string of digits,we’ll have all but the last digit.And n%2is1or0depending on whether the number is even or odd,so one more call of bin will return a string of’0’or’1’.The other thing that’s important to remember is that the+operation here is being used for string concatenation, not addition of numbers.How do we know that this procedure is going to terminate?We know that the number it’s operating on is getting smaller and smaller,and will eventually be either a1or a0,which can be handled by the base case.You can also do recursion on lists.Here’s another way to do our old favorite addList:def addList6(list):if list==[]:return0else:return list[0]+addList6(list[1:])There’s a new bit of syntax here:list[1:]gives all but thefirst element of list.Go read the section in the Python documentation on subscripts to see how to do more things with list subscripts. The addList procedure consumed a list and produced a number.The incrementElements1pro-cedure below shows how to use recursion to do something to every element of a list and make a new list containing the results.def incrementElements1(elts):if elts==[]:return[]else:return[elts[0]+1]+incrementElements1(elts[1:])Higher-order functionsWe’ve been talking about the fundamental principles of software engineering as being modularity and abstraction.But another important principle is laziness!Don’t ever do twice what you could do only once.2This standardly means writing a procedure whenever you are going to do the same computation more than once.In this section,we’ll explore ways of using procedures to capture common patterns in ways that might be new to you.What if wefind that we’re often wanting to perform the same procedure twice on an argument? That is,we seem to keep writing square(square(x)).If it were always the same procedure we were applying twice,we could just write a new functiondef squaretwice(x):return square(square(x))But what if it’s different functions?The usual strategies for abstraction seem like they won’t work. In the functional programming style,we treat functions asfirst-class objects.So,for example,we can do:>>>m=square>>>m(7)49And so we can write a procedure that consumes a function as an argument.So,now we could write:2Okay,so the main reason behind this rule isn’t laziness.It’s that if you write the same thing more than once,it will make it harder to write,read,debug,and modify your code reliably.def doTwice(f,x):return f(f(x))This is cool,because we can apply it to any function and argument.So,if we wanted to square twice,we could do:>>>doTwice(square,2)16Another way to do this is:def doTwiceMaker(f):return lambda x:f(f(x))This is a procedure that returns a procedure!The expression lambda y:y+y returns a function of a single variable;in this case that function returns a value that doubles its argument.For reasons that defy explanation,in Python,lambda doesn’t require a return expression,and it can only be used with a single expression;you can’t have if or for inside a lambda expression.If you need to put those in a function that you’re going to return,you have to name that function explicitly.So,for example,you could write it this way:def doTwiceMaker(f):def twoF(x):return f(f(x))return twoFNow,to use doTwiceMaker,we could do:>>>twoSquare=doTwiceMaker(square)>>>twoSquare(2)16>>>doTwiceMaker(square)(2)16A somewhat deeper example of capturing common patterns is sums.Mathematicians have invented a notation for writing sums of series,such as100i=1i or100i=1i2.Here’s one that gives us a way to computeπ:π2/8=100i=1,3,5,...1i2.It would be easy enough to write a procedure to compute any one of them.But even better is to write a higher-order procedure that allows us to compute any of them,simply:def sum(low,high,f,next):s=0x=lowwhile x<high:s=s+f(x)x=next(x)return sThis procedure takes integers specifying the lower and upper bounds of the index of the sum,the function of the index that is supposed to be added up,and a function that computes the next value of the index from the previous one.This last feature actually makes this notation more expressive than the usual mathematical notation,because you can specify any function you’d like for incrementing the index.Now,given that definition for sum,we can do all the special cases we described in mathematical notatation above:def sumint(low,high):return sum(low,high,lambda x:x,lambda x:x+1)def sumsquares(low,high):return sum(low,high,lambda x:x**2,lambda x:x+1)def piSum(low,high):return sum(low,high,lambda x:1.0/x**2,lambda x:x+2)>>>(8*piSum(1,1000000))**0.53.1415920169700393Now,we can use this to build an even cooler higher-order procedure.You’ve seen the idea of approximating an integral using a sum.We can express it easily in Python,using our sum higher-order function,asdef integral(f,a,b):dx=0.0001return dx*sum(a,b,f,lambda(x):x+dx)>>>integral(lambda x:x**3,0,1)0.2500500024999337We’ll do one more example of a very powerful higher-order procedure.Early in this chapter,we saw an iterative procedure for computing square roots.We can see that as a special case of a more general process of computing thefixed-point of a function.Thefixed point of a function f,called f∗,is defined as the value such that f∗=f(f∗).Fixed points can be computed by starting at an initial value x,and iteratively applying f:f∗=f(f(f(f(f(...f(x)))))).A function may have manyfixed points,and which one you’ll get may depend on the x you start with.We can capture this idea in Python with:def closeEnough(g1,g2):return abs(g1-g2)<.0001def fixedPoint(f,guess):next=f(guess)while not closeEnough(guess,next):guess=nextnext=f(next)return nextAnd now,we can use this to write the square root procedure much more compactly:def sqrt(x):return fixedPoint(lambda g:average(g,x/g),1.0)Another way to think of square roots is that to compute the square root of x,we need tofind the y that solves the equationx=y2,or,equivalently,y2−x=0.We can try to solve this equation using Newton’s method forfinding roots,which is another instance of afixed-point computation.3In order tofind a solution to the equation f(x)=0,we canfind a fixed point of a different function,g,whereg(x)=x−f(x)Df(x).Thefirst step toward turning this into Python code is to write a procedure for computing derivatives. We’ll do it by approximation here,though there are algorithms that can compute the derivative of a function analytically,for some kinds of functions(that is,they know things like that the derivative of x3is3x2.)dx=1.e-4def deriv(f):return lambda x:(f(x+dx)-f(x))/dx>>>deriv(square)<function<lambda>at0x00B96AB0>>>>deriv(square)(10)20.000099999890608Now,we can describe Newton’s method as an instance of our fixedPoint higher-order procedure. def newtonsMethod(f,firstGuess):return fixedPoint(lambda x:x-f(x)/deriv(f)(x),firstGuess) 3Actually,this is Raphson’s improvement on Newton’s method,so it’s often called the Newton-Raphson method.How do we know it is going to terminate?The answer is,that we don’t really.There are theorems that state that if the derivative is continuous at the root and if you start with an initial guess that’s close enough,then it will converge to the root,guaranteeing that eventually the guess will be close enough to the desired value.To guard against runawayfixed point calculations,we might put in a maximum number of iterations:def fixedPoint(f,guess,maxIterations=200):next=f(guess)count=0while not closeEnough(guess,next)and count<maxIterations:guess=nextnext=f(next)count=count+1if count==0:print"fixedPoint terminated without desired convergence"return nextThe maxIterations=200is a handy thing in Python:an optional argument.If you supply a third value when you call this procedure,it will be used as the value of maxIterations;otherwise, 200will be used.Now,having defined fixedPoint as a black box and used it to define newtonsMethod,we can use newtonsMethod as a black box and use it to define sqrt:def sqrt(x):return newtonsMethod(lambda y:y**2-x,1.0)So,now,we’ve shown you two different ways to compute square root as an iterative process:directly as afixed point,and indirectly using Newton’s method as a solution to an equation.Is one of these methods better?Not necessarily.They’re roughly equivalent in terms of computational efficiency. But we’ve articulated the ideas in very general terms,which means we’ll be able to re-use them in the future.We’re thinking more efficiently.We’re thinking about these computations in terms of more and more general methods,and we’re expressing these general methods themselves as procedures in our computer language.We’re capturing common patterns as things that we can manipulate and name.The importance of this is that if you can name something,it becomes an idea you can use. You have power over it.You will often hear that there are any ways to compute the same thing. That’s true,but we are emphasizing a different point:There are many ways of expressing the same computation.It’s the ability to choose the appropriate mode of expression that distinguishes the master programmer from the novice.MapWhat if,instead of adding1to every element of a list,you wanted to divide it by2?You could write a special-purpose procedure:def halveElements(list):if list==[]:return[]else:return[list[0]/2.0]+halveElements(list[1:])First,you might wonder why we divided by2.0rather than2.The answer is that Python,by default,given two integers does integer division.So1/2is equal to0.Watch out for this,and if you don’t want integer division,make sure that you divide by afloat.So,back to the main topic:halveElements works justfine,but it’s really only a tiny variation on incrementElements1.We’d rather be lazy,and apply the principles of modularity and abstraction so we don’t have to do the work more than once.So,instead,we write a generic procedure,called map,that will take a procedure as an argument,apply it to every element of a list,and return a list made up of the results of each application of the procedure.def map(func,list):if list==[]:return[]else:return[func(list[0])]+map(func,list[1:])Now,we can use it to define halveElements:def halveElements(list):return map(lambda x:x/2.0,list)Is this better than the previous methods?Yes,if youfind it clearer or more likely to get right. Otherwise,no.List ComprehensionsPython has a very nice built-in facility for doing many of the things you can do with map,called list comprehensions.The general template is[expr for var in list]where var is a single variable,list is an expression that results in a list,and expr is an expression that uses the variable var.The result is a list,of the same length as list,which is obtained by successively letting var take values from list,and then evaluating expr,and collecting the results into a list.Whew.It’s probably easier to understand it by example.>>>[x/2.0for x in[4,5,6]][2.0,2.5,3.0]>>>[y**2+3for y in[1,10,1000]][4,103,1000003]>>>[a[0]for a in[[’Hal’,’Abelson’],[’Jacob’,’White’],\[’Leslie’,’Kaelbling’]]][’Hal’,’Jacob’,’Leslie’]>>>[a[0]+’!’for a in[[’Hal’,’Abelson’],[’Jacob’,’White’],\[’Leslie’,’Kaelbling’]]][’Hal!’,’Jacob!’,’Leslie!’]>>>[div2(x)for x in[4,5,6]][2.0,2.5,3.0]ReduceAnother cool thing you can do with higher-order programming is to use the reduce function. Reduce takes a binary function and a list,and returns a single value,which is obtained by repeatedly applying the binary function to pairs of elements in the list.So,if the list contains elements x1...x n, and the function is f,the result will be f(...,f(f(x1,x2),x3),...,x n).This would let us write another version of addList:def addList7(list):return reduce(add,list)You can also use reduce to concatenate a list of lists.Remembering that the addition operation on two lists concatenates them,we have this possibly suprising result:>>>reduce(add,[[1,2,3],[4,5],[6],[]])[1,2,3,4,5,6]>>>addList7([[1,2,3],[4,5],[6],[]])[1,2,3,4,5,6]。
Abstract
Group Signatures:Provable Security,Efficient Constructions and Anonymity from Trapdoor-HoldersAggelos Kiayias∗Computer Science&Engineering University of ConnecticutStorrs,CT,USA aggelos@Moti YungRSA Laboratories,Bedford,MA,USA,andColumbia UniversityNew York,NY,USAmoti@ AbstractTo date,a group signature construction which is efficient,scalable,allows dynamic adversar-ial joins,and proven secure in a formal model has not been suggested.In this work we give the first such construction in the random oracle model.The demonstration of an efficient construction proven secure in a formal model that captures all intuitive security properties of a certain primitive is a basic goal in cryptographic design.To this end we adapt a formal model for group signatures capturing all the basic requirements that have been identified as desirable in the area and we con-struct an efficient scheme and prove its security.Our construction is based on the Strong-RSA assumption(as in the work of Ateniese et al.).In our system,due to the requirements of provable security in a formal model,we give novel constructions as well as innovative extensions of the un-derlying mathematical requirements and properties.Our task,in fact,requires the investigation of some basic number-theoretic techniques for arguing security over the group of quadratic residues modulo a composite when its factorization is known.Along the way we discover that in the basic construction,anonymity does not depend on factoring-based assumptions,which,in turn,allows the natural separation of user join management and anonymity revocation authorities.Anonymity can,in turn,be shown even against an adversary controlling the join manager.∗Research partly supported by NSF Career Award CNS-0447808.1Contents1Introduction3 2Preliminaries6 3DDH over QR(n)with known Factorization7 4PK-Encryption over QR(n)with split n11 5Group Signatures:Model and Definitions16 6Building a Secure Group Signature206.1The Construction (22)6.2Correctness and Security of the Construction (25)7Separability:Anonymity vs.the GM29 A Generalized Forking Lemma3321IntroductionThe notion of group signature is a central anonymity primitive that allows users to have anonymous non-repudiable credentials.The primitive was introduced by Chaum and Van Heyst[13]and it involves a group of users,each holding a membership certificate that allows a user to issue a publicly verifiable signature which hides the identity of the signer within the group.The public-verification procedure employs only the public-key of the group.Furthermore,in a case of any dispute or abuse,it is possible for the group manager(GM)to“open”an individual signature and reveal the identity of its originator.Constructing an efficient and scalable group signature has been a research target for many years since its introduction with quite a slow progress,see e.g.,[14,12,10,11,8,27,3,2,9,24,7].In many of the early works the signature size was related to the group size.Thefirst construction that appeared to provide sufficient heuristic security and efficiency properties and where user joins are performed by a manager that is not trusted to know their keys,was the scalable scheme of Ateniese,Camenisch,Joye and Tsudik[2].It provided constant signature size and resistance to attacks by coalitions of users.This scheme was based on a novel use of the DDH assumption combined with the Strong-RSA assumption over groups of intractable order.Recently,Bellare,Micciancio and Warinschi[4],noticing that the work of[2]claims a collection of individual intuitive security properties,advocated the need for a formal model for arguing the security of group signature.This basic observation is in line with the development of solid security notions in modern cryptography,where a formal model that captures the properties of a primitive is defined and a scheme implementation is formally proven(in some model)to satisfy the security definitions. They also offered a model of a relaxed group signature primitive and a generic construction in that model.Generic constructions are inefficient and many times are simpler than efficient constructions (that are based on specific number theoretic problems).This is due to the fact that generic constructions can employ(as a black box)the available heavy and powerful machinery of general zero-knowledge protocols and general secure multi-party computations.Thus,generic constructions typically serve only as plausibility results for the existence of a cryptographic primitive,cf.[20].The relaxation in the model of[4]amounts to replacing the dynamic adversarial join protocols of[2]where users get individual keys with a trusted party that generates and distributes keys securely(relevant in some settings but perhaps unlikely in others).The above state of affairs([2,4])indicates that there exists a gap in the long progression of research efforts regarding the group signature primitive.This gap is typical in cryptography and is formed by a difference between prohibitively expensive constructions secure in a formal sense on the one hand, and efficient more ad-hoc constructions with intuitive claims on the other.In many cases,as indicated above,it is easier to come up with provably secure generic inefficient constructions or to design efficient ad-hoc constructions.It is often much harder to construct an efficient implementation that is proven secure within a formal model(that convincingly captures all desired intuitive security properties).To summarize the above,it is apparent that the following question remained open by earlier works: Design an efficient group signature with dynamic joins(and no trusted parties)which isprovably secure within a formal model.One of our contributions is solving the above open question by,both,adapting a new model for group signatures(based on the model of traceable signatures of[23]),which follows the paradigm of [22]for the security of signature schemes,as well as providing an efficient provably secure construction (in the sense of the scheme of[2]),and a comprehensive security proof.These contributions reveal many subtleties regarding the exact construction parameters,and in particular issues regarding what intractability assumptions are actually necessary for achieving the3security properties.For example,the anonymity property in our treatment is totally disassociated from any factoring related assumption.We note that,methodologically,in order to reveal such issues,a complete proof is needed following a concrete model.This has not been done in the realm of(efficient) group signatures and concrete proof and model are unique to our work.(We note that even though we try to build our constructions on prior assumptions and systems as much as possible,we need to modify them extensively as required by the constraints imposed by following formal model and arguments).Our investigation also reveals delicate issues regarding the proper formal modeling of the group signature primitive with regards to the work of[4].For example,the need of formalizing security against attacks by any internal or external entity that is active in the scheme(i.e.,no trusted parties). Lack of such treatment,while proper for the non-dynamic setting of[4],is insufficient for proving the security of schemes that follow the line of work of[2](i.e.,where there are no trusted key generators). Our Contributions.Below,we outline what this work achieves in more details.1.M ODELING.To model schemes like the scheme of[2]with dynamic(yet sequential)joins and no trusted parties we adapt the model of[23]which is thefirst formal model in the area of group signing without added trusted parties.In particular,our model has the three types of attacks that involve the GM and the users similarly to[23].We extend the model to allow adversarial opening of signatures(see the next paragraph).All the attacks are modeled as games between the adversaries and a party called the interface.The interface represents the system in a real environment and simulates the behavior of the system(a probabilistic polynomial time simulator)in the security proof.The attacker gets oracle query capabilities to probe the state of the system and is also challenged with an attack task.We note that this follows the basic approach of[22]for modeling security of digital signatures,yet in the complicated system with various parties,a few attacks which can co-exist are possible,and needed to be described as part of the system security.2.A DVERSARIAL O PENING IN E FFICIENT S CHEMES.As mentioned above,our formal model ex-tends the security requirements given by the list of security properties of[2]by allowing the adversary to request that the system opens signatures of its choice.In the work of[2],opening of signatures was implicitly assumed to be an internal operation of the GM.We note that such stronger adversarial capability was put forth for thefirst time in the formal model of[4].For achieving an efficient scheme with adversarial opening we needed to develop novel cryptographic constructs.(Note that adversarial opening can also be applied to strengthen the notion of traceable signatures).3.S TRONGER A NONYMITY P ROPERTY.In the scheme of[2]anonymity is claimed against an ad-versary that is not allowed to corrupt the GM.This is a natural choice since in their scheme the GM holds the trapdoor which provides the opening capability,namely an ElGamal key.The GM also holds the trapdoor that is required to enroll users to the group,namely the factorization of an RSA-modulus. However,pragmatically,there is no need to combine the GM function that manages group members and allow them to join the group(which in real life can be run by e.g.,a commercial company)with the opening authority function(which in real life can be run by a government entity).To manage members the GM who is the“Join Manager”still needs to know the factorization.The opening authority,on the other hand,must know the ElGamal key.This split of functions(separation of authorities)is not a relaxation of group signatures but rather a constraining of the primitive.One should observe that the introduction of such additional functionalities in a primitive potentially leads to new attacks and to a change in the security model.Indeed in the separated authorities setting,we must allow the anonymity adversary to corrupt the GM as well.4.N UMBER-T HEORETIC R ESULTS AND C RYPTOGRAPHIC P RIMITIVES.The last two contributions above required building cryptographic primitives over the set of quadratic residues modulo n=pq that remain secure when the factorization(into two strong primes)p,q is known to the adversary.4To this end,we investigate the Decisional Diffie Hellman Assumption over the quadratic residues modulo n and we prove that it appears to be hard even if the adversary knows the factorization.In particular,we prove that any adversary that knows the factorization p,q and solves the DDH problem over the quadratic residues modulo a composite n=pq,can be turned into a DDH-distinguisher for quadratic-residues modulo a prime number.This result is of independent interest since it suggests that the DDH over QR(n)does not depend to the factorization problem at all.Also,the present work requires a cca2(chosen ciphertext attack)secure encryption mechanism that operates over the quadratic residues modulo n so that(i)encryption should not use the factorization of n,(i.e.,the factorization need not be a part of the public-key),but on the other hand(ii)the factorization is known to the attacker.In this work we derive such a primitive in the form of an ElGamal variant following the general approach of twin encryption,cf.[29,16,19]which is cca2secure under the DDH assumption in the Random Oracle model(note that our efficient group signature requires the random oracle anyway since it is derived from the Fiat-Shamir transform,cf.[18,1]).5.E FFICIENT C ONSTRUCTION.We provide an efficient construction of a group signature that is proven secure in our model.While,we would like to note that our scheme is motivated by[2](and originally we tried to rely on it as much as possible),our scheme,nevertheless,possesses many subtle and important differences.These differences enable the proof of security of our scheme whereas the scheme presented by[2]claims security in heuristic arguments that are not complete and,in particular, cannot be proven secure in our model:There are many reasons for this,e.g.,the scheme of[2]lacks an appropriate cca2secure identity embedding mechanism.Moreover,our efficient construction can support formally(if so desired),the separation of group management and opening capability–some-thing not apparent in the prior scheme of[2].Finally,we note that a syntactically degenerated version of our construction(that retains its efficiency)can be proven secure in the model of[4](and is,in fact, a non-dynamic group signature scheme of the type they have suggested).An interesting technical result with respect to anonymity compared to previous work is highlighted in our investigation.Anonymity was argued in the work of[2]to be based on the decisional Diffie-Hellman Assumption over Quadratic Residues modulo a composite and given that the GM was assumed to be uncorrupted,the key-issuing trapdoor(the factorization of the modulus)was not meant to be known to the adversary.As argued above,we prove that anonymity still holds when the adversary is given the factorization trapdoor.Thus,we disassociate anonymity from the factoring problem.Taking this result independently it also implies the separability between the opening authority and the group manager.In addition,we note that many other technical and subtle details are different in our provable scheme from prior designs.An extended abstract of the present paper appeared in[26].Organization.In section2we present some background,useful tools and the intractability assump-tions.In section3we investigate the behavior of the DDH assumption over the quadratic residues modulo a composite which is multiple of two strong primes,when the factorization is known to the distinguisher.In section4we discuss the kind of cca2security that will be required in our setting (over QR(n)but with known factorization)and we present an efficient and provably secure construc-tion based on the ElGamal twin-encryption paradigm.In section5we present our security model and definitions and in section6we give our construction and its proofs of correctness and security.In sec-tion7we present group signatures with separated authorities(i.e.,the Group Manager(GM)and the Opening Authority(OA)).52PreliminariesN OTATIONS .We will write PPT for probabilistic polynomial-time.If D 1and D 2are two probability distributions defined over the same support that is parameterized by νwe will write dist A (D 1,D 2)to denote the computational distance |Prob x ←D 1[A (x )=1]−Prob x ←D 2[A (x )=1]|.Note thattypically dist A will be expressed as a function of ν.Similarly,we will write dist(D 1,D 2)to denote the maximum distance among all PPT predicates A .Note that the statistical distance of the distribu-tions D 1,D 2,namely 12 x |Prob D 1[x ]−Prob D 2[x ]|might be much larger than the computationaldistance.If n is any number,we will denote by [n ]the set {1,..., n }.If we write a ≡n b for two integers a,b we mean that n divides a −b or equivalently that a,b are the same element within Z n .A function f :I N →R will be called negligible if for all c >0there exists a νc such that for all ν≥νc ,f (ν)<ν−c .In this case we will write f (ν)=negl (ν).PPT will stand for “probabilistic polynomial time.”Throughout the paper (unless noted otherwise)we will work over the group of quadratic residues modulo n ,denoted by QR (n ),where n =pq and p =2p +1and q =2q +1and p,q,p ,q prime numbers.All operations are to be interpreted as modulo n (unless noted otherwise).In general we will use the letter νto denote the security parameter (i.e.,this value will be polynomially related to the sizes of all quantities involved).Next we define the cryptographic intractability assumptions that will be relevant in proving the security properties of our constructions.The first assumption is the Strong-RSA assumption.It is similar in nature to the assumption of the difficulty of finding e -th roots of arbitrary elements in Z ∗n with the difference that the exponent e is not fixed (i.e.,it is not part of the instance).Definition 1Strong-RSA .Given a composite n (as described above),and z ∈QR (n ),it is infeasibleto find u ∈Z ∗n and e >1such that u e =z (mod n ),in time polynomial in ν.Note that the variant we employ above restricts the input z to be a quadratic residue.This variant of Strong-RSA has been discussed before,cf.[15],and by restricting the exponent solutions to be only odd numbers we have that (i)it cannot be easier than the standard unrestricted Strong-RSA problem,but also (ii)it enjoys a random-self reducibility property (see [15]).The second assumption that we employ is the Decisional Diffie-Hellman Assumption (see e.g.,[6]for a survey).We state it below for a general group G and later on in definition 5we will specialize this definition to two specific groups.Decisional Diffie-Hellman Given a description of a cyclic (sub)group G that includes a generator g ,a DDH distinguisher A is a polynomial in νtime PPT that distinguishes the family of triples of the form g x ,g y ,g z from the family of triples of the form g x ,g y ,g xy ,where x,y,z ∈R #G .The DDH assumption suggests that this advantage is a negligible function in ν.Finally,we will employ the discrete-logarithm assumption over the quadratic residues modulo n with known factorization (note that the discrete-logarithm problem is assumed to be hard even when the factorization is known,assuming of course that the factors of n are large primes p,q and where p −1and q −1are non-smooth).Definition 2Range-bounded Discrete-Logarithm with known factorization .Given two values a,b that belong to the set of quadratic residues modulo n with known factorization n =pq ,so that there is an x ∈Λ⊆[p q ]:a x =b ,p,q are safe primes,#Λ=Θ(n )for a given constant >0,it is infeasible to find in time polynomial in νthe integer x so that a x =b (mod n ).63DDH over QR(n)with known FactorizationOur constructions will require the investigation of the number-theoretic results presented in this sec-tion that albeit entirely elementary they have not being observed in the literature to the best of our knowledge.In particular we will show that DDH over QR(n)does not depend on the hardness of factoring.Let n be a composite,n=pq with p=2p +1and q=2q +1(p,q,p ,q primes).Recall that elements of Z∗n are in a1-1correspondence with the set Z∗p×Z∗q.Indeed,given b,c ∈Z∗p×Z∗q, consider the system of equations x≡b(mod p)and x≡c(mod q).Using Chinese remaindering we can construct a solution of the above system since gcd(p,q)=1and the solution will be unique inside Z∗n.Alternatively for any a∈Z∗n we canfind the corresponding pair b,c in Z∗p×Z∗q by computing b=a(mod p)and c=a(mod q)(note that gcd(a,n)=1implies that b≡0(mod p)and c≡0(mod q).The mappingρfrom Z∗p×Z∗q to Z∗n is called the Chinese remaindering mapping. Observe thatρpreserves quadratic residuosity:ρ(QR(p)×QR(q))=QR(n).The following two lemmas will be useful in the sequel.They show(1)how the Chinese remainder-ing mapping behaves when given inputs expressed as powers inside the two groups QR(p)and QR(q), and(2)how discrete-logarithms over QR(n)can be decomposed.Lemma3Let g1,g2be generators of the groups QR(p)and QR(q)respectively,where the groups are defined as above.Then,ifβ=ρ(g x11,g x22),whereρis the Chinese remaindering mapping,it holds thatβ=αq x1+p x2(mod n)whereα=ρ(g(q )−11,g(p )−12)is a generator of QR(n).Proof.First we show thatαis a generator of QR(n).Assume without loss of generality that p >q .Then it holds that q ∈Z∗p and as a result q is an invertible element of Z∗p.It follows that g 1=g(q )−1 1is well defined and is a generator of QR(p)(since g1is a generator of QR(p)).Furthermorep (mod q )∈Z∗qsince it cannot be the case that p ≡q 0as this would mean that either p =q or p isnot prime.It follows that p has an inverse modulo q and as a result g 2=g(p )−12is well defined and isa generator of QR(q)(since g2is a generator of QR(q)).Finally we remark that if g1,g2are randomly selected generators of QR(p),QR(q)respectively,it holds that g 1,g 2are uniformly distributed over all generators.Sinceα=ρ(g 1,g 2),it follows thatα≡p g 1(p)andα≡q g 2(q).It is easy to see thatαmust be a generator unless the order ofαinside Z∗n is divisible by either p or q ;but this can only happen if α≡p1orα≡q1something not possible unless either g 1≡p1or g 2≡q1.This case is excluded given that g 1,g 2are generators of their respective groups QR(p)and QR(q).This completes the argument thatαis a generator of QR(n).Now,sinceβ=ρ(g x11,g x22)it follows thatβ≡g x11(p)andβ≡g x22(q);Using this fact together with the properties ofαwe have:αq x1+p x2≡pαq x1≡p(g(q )−11)q x1≡p g x11αq x1+p x2≡qαp x2≡p(g(p )−12)p x2≡p g x22Due to the uniqueness of the Chinese remaindering solution inside Z∗n it follows thatβ=αq x1+p x2(mod n)is the solution of the system.Lemma4Fix a generatorαof QR(n)and an integer t∈I N.The mappingτα:Z p ×Z q →QR(n),withτα(x1,x2)=α(q )t x1+(p )t x2is a bijection.The inverse mappingτ−1αis defined asτ−1α(αx)=(q )−t x mod p ,(p )−t x mod q .7Proof.Let x1,x2 , x 1,x 2 ∈Z p ×Z q be two tuples withτ(x1,x2)=τ(x 1,x 2).It follows that (q )t x1+(p )t x2≡order(α)(q )t x 1+(p )t x 2;sinceαis a generator,p q |(q )t(x1−x 1)+(p )t(x2−x 2), from which we have p |(q )t(x1−x 1)which implies p |x1−x 1,i.e.,x1=x 1.In a similar fashion we show that x2=x 2.The onto property follows immediately from the number of elements of the domain and the range.Regarding the inverse,define q∗,p∗to be integers in Z p ,Z q respectively,so that q∗(q )t≡p 1and p∗(p )t≡q 1.Moreover let y1=q∗x mod p and y2=p∗x mod q .Letπ1,π2be integers so that q∗x=π1p +y1and p∗x=π2q +y2.We will show that(q )t y1+(p )t y2≡p q x which will complete the proof.In order for p q to divide(q )t y1+(p )t y2−x it should hold that both p ,q divide(q )t y1+(p )t y2−x.Indeed,p divides(q )t y1+(p )t y2−x since(q )t y1+(p )t y2−x=(q )t(q∗x−π1p )+p y2−x≡p (q )t q∗x−x≡p 0.In a similar fashion we show that q divides(q )t y1+(p )t y2−x.From these two facts it follows immediately thatτ(τ−1(αx))=τ( y1,y2 )=αx.Let desc(1ν)be a PPT algorithm,called a group descriptor,that on input1νit outputs a description of a cyclic group G denoted by˜d G.Depending on the group,˜d G may have many entries;in our setting it will include a generator of G,denoted by˜d G.gen and the order of G denoted by˜d G.ord.We require that2ν−1≤˜d G.ord<2ν,i.e.,the order of G is aν-bit number with thefirst bit set.Additionally ˜dGcontains the necessary information that is required to implement multiplication over G.We will be interested in the following two group descriptors:•desc p:Given1νfind aν-bit prime p >2ν−1for which it holds that p=2p +1and p is also prime.Let g be any non-trivial quadratic residue modulo p.We set QR(p)to be the group of quadratic residues modulo p(which in this case is of order p and is generated by g).The descriptor desc p returns g,p,p and it holds that if˜d←desc p(1ν),˜d.ord=p and˜d.gen=g.•desc c:Givenνfind two distinct primes p ,q of bit-lengthν/2so that p q is aν-bit number that is greater than2ν−1and so that there exist primes p,q such that p=2p +1and q= 2q +1.The descriptor desc c returns α,n,p,q,p ,q and it holds that if˜d←desc c(1ν),˜d.ord=p q and˜d.gen=α.The implementation of descc that we will employ is the following:execute desc p twice,to obtain˜d1= g1,p,p and˜d2= g2,q,q with p=q,and set˜d=g,n=pq,p,q,p ,q whereα=ρ(g(q )−11,g(p )−12).For such a description˜d we will call thedescriptions˜d1and˜d2,the prime coordinates of˜d.Note that in the(unlikely)event p=q the procedure is repeated.Definition5A Decisional Diffie Hellman(DDH)distinguisher for a group descriptor desc is a PPT algorithm A with range the set{0,1};the advantage of the distinguisher is defined as follows:Adv DDHdesc,A (ν)=dist A(D descν,R descν)where D descνcontains elements of the form ˜d,g x,g y,g x·y where˜d←desc(1ν),g=˜d.gen andx,y←R[˜d.ord],and R descνcontains elements of the form ˜d,g x,g y,g z where˜d←desc(1ν),g=˜d.gen and x,y,z←R[˜d.ord].Finally we define the overall advantage quantified over all distinguishersas follows:Adv DDHdesc (ν)=max P P T A Adv DDHdesc,A(ν).The main result of this section is the theorem below that shows that the DDH over QR(n)with known factorization is essentially no easier than the DDH over the prime coordinates of QR(n).The proof of the theorem is based on the construction of a mapping of DDH triples drawn from the two prime coordinate groups of QR(n)into DDH triples of QR(n)that is shown in the following lemma:8Lemma6Let˜d←desc c(1ν)with˜d1,˜d2←desc p(1ν/2),its two prime coordinates,such that˜d1= g1,p,p and˜d2= g2,q,q .Consider a mappingρ∗defined as follows:ρ∗( ˜d1,A1,B1,C1 , ˜d2,A2,B2,C2 )=df ˜d,ρ(A1,A2),ρ(B1,B2),ρ((C1)q,(C2)p)⊥so that the⊥output is given if and only if˜d1.ord=˜d2.ord.Then it holds,thatρ∗satisfies the properties(i)dist(ρ∗(D desc pν/2,D desc pν/2),D desc cν)≤3log2·ν2ν/2and(ii)dist(ρ∗(R desc pν/2,R desc pν/2),R desc cν)≤3log2·ν2ν/2.Proof.Observe that if A1=g x11,B1=g y11,C1=g x1y11and A2=g x22,B2=g y22,C2=g x2y21,basedon the properties of the mappingρshown in lemma3it follows thatρ(A1,A2)=αq x1+p x2andρ(B1,B2)=αq y1+p y2ρ((C1)q ,(C2)p )=α(q )2x1y1+(p )2x2y2Now we show that if A1,B1,C1 is a DDH triple from˜d1,and A2,B2,C2 is a DDH triple from˜d2 then A,B,C is a DDH triple from˜d that has˜d1and˜d2as its two prime coordinates:αlogαA logαB=α(q x1+p x2)(q y1+p y2)=α(q )2x1y1+(p )2x2y2+p q (x1y2+x2y1)≡nα(q )2x1y1+(p )2x2y2=CFrom the above and lemma4and standard results on the distribution of primes we can deduce easily thatdist(ρ∗(D desc pν/2,D desc pν/2),D desc cν)≤3log2·ν2ν/2,i.e.,the two distributions are statistically indistinguishable.We conclude that the distribution defined byρ∗when applied to two distributions of DDH triples fromD desc pν/2over the respective groups is statistically close to the distribution D desc cν.This completes theproof for property(i)of the lemma.Regarding property(ii),observe that if A1=g x11,B1=g y11,C1= g z11and A2=g x22,B2=g y22,C2=g z21,based on the properties of the mappingρshown in lemma3it follows thatρ(A1,A2)=αq x1+p x2andρ(B1,B2)=αq y1+p y2ρ((C1)q ,(C2)p )=α(q )2z1+(p )2z2and thus,using lemma4,dist(ρ∗(R desc pν/2,R desc pν/2),R desc cν)≤3log2·ν2ν/2,i.e.,the two distributions arestatistically indistinguishable.The lemma is used for the proof of the theorem below:Theorem7Adv DDHdesc c (ν)≤2Adv DDHdesc p(ν/2)+(6log2·ν)/2ν/2.Proof.Let A be any DDH-distinguisher for desc ing property(i)of lemma6,we have thatdist A(D desc cν,ρ∗(D desc pν/2,D desc pν/2))≤3log2·ν2ν/2and given thatdist A(ρ∗(D desc pν/2,D desc pν/2),ρ∗(R desc pν/2,D desc pν/2))≤≤Adv DDHdesc p(ν/2)9we obtain(Fact1)dist A(D desc cν,ρ∗(R desc pν/2,D desc pν/2))≤≤Adv DDHdesc p (ν/2)+3log2·ν2Now using property(ii)of lemma6we have thatdist A(R desc cν,ρ∗(R desc pν/2,R desc pν/2))≤3log2·ν2ν/2and given thatdist A(ρ∗(R desc pν/2,D desc pν/2),ρ∗(R desc pν/2,R desc pν/2))≤≤Adv DDHdesc p(ν/2) we obtain(Fact2)dist A(ρ∗(R desc pν/2,D desc pν/2),R desc cν)==Adv DDHdesc p (ν/2)+3log2·ν2ν/2Finally by applying the triangle inequality to facts1and2above,we obtain:Adv DDHA,desc c (ν)=dist A(D desc cν,R desc cν)≤≤2·Adv DDHdesc p (ν/2)+6log2·ν2ν/2Since the above holds for an arbitrary choice of A the statement of the theorem follows.We proceed to state explicitly the two variants of the DDH assumption:Definition8The following are two Decisional Diffie Hellman Assumptions:•The DDH assumption over quadratic residues modulo a safe prime(DDH-Prime)asserts that:Adv DDHdesc p (ν)=negl(ν).•The DDH assumption over quadratic residues modulo a safe composite with known Factorization (DDH-Comp-KF)asserts that:Adv DDHdesc c(ν)=negl(ν).We conclude the section with the following theorem(where=⇒stands for logical implication): Theorem9DDH-Prime=⇒DDH-Comp-KF.Proof.An immediate corollary of theorem7and the easy fact that if f1,f2are negligible functions in νthen2·f1(ν)+f2(ν)is also a negligible function.10。
几个逻辑相关的英语单词
几个逻辑相关的英语单词逻辑 logic数理逻辑 mathematical logic模型论 model theory集合论 set theory递归论 recursion theory证明论 proof theory非标准分析 nonstandard analysis反推数学 reverse mathematics元数学 metamathematics二阶算术的子系统 subsystems of the second-order arithmetic 直觉主义 intuitionism构造性数学 constructive mathematics语言 language元语言 metalanguage元定理 metatheorem公理 axiom定理 theorem命题 proposition命题演算 propositional calculus 谓词演算 predicate calculus合取 conjunction析取 disjunction非,否定 negation量词 quantifier全称量词 universal quantifier 存在量词 existential quantifier 关系 relation函数 function常量 constant变元,变量 variable项 term公式 formula原子公式 atomic formula句子,命题 sentence永真命题 tautology前束标准型 prenex normal form 理论 theory可满足的 satisfiable和谐性,相容性 consistency句法 syntax语义 semantics可靠性定理 soundness theorem完备性定理 completeness theorem 紧致性定理 compactness theorem可公理化 axiomatizable有限可公理化 finitely axiomatizable 同构 isomorphism同态 homomorphism初等等价 elementary equivalent 初等嵌入 elementary embedding 初等子模型 elementary submodel 初等扩张 elementary extension图象 diagram正图象 positive diagram初等图象 elementary diagram模型 model可数模型 countable model不可数模型 uncountable model原子模型 atomic model素模型 prime model齐性模型 homogeneous model万有模型 universal model饱和模型 saturated model特殊模型 special model递归饱和模型 recursively saturated model 布尔值模型 boolean-valued model格值模型 lattice-valued model超滤 ultrafilter超积 ultraproduct超幂 ultrapower模型完备 model complete子模型完备 submodel complete量词消去 quantifier elimination稳定性理论 stable theory集,集合 set子集 subset幂集 power set空集 empty set有限集 finite set无限集 infinite set可数集 countable set不可数集 uncountable set 有限集 finite set无限集 infinite set序数 ordinal极限序数 limit ordinal后继序数 successor ordinal 基数 cardinal大基数 large cardinal可测基数 measurable cardinal正则基数 regular cardinal奇异基数 singular cardinal不可达基数 inaccessible力迫法 forcing连续统假设 Continuum Hypothesis 选择公理 Axiom of Choice决定性公理 Axiom of Determinacy 归纳法 induction超限归纳法 transfinite induction 超限递归 transfinite recursion递归 recursion原始递归 primitive recursive递归函数 recursive function递归可枚举 recursively enumerable递归可判定 recursively decidable 递归不可分 recursively inseparable 递归集 recursive set算术集 arithmetical set解析集 analytic set单纯集 simple set创造集 creative set多一归约 many-one reducible一一归约 one-one reducible图灵归约 Turing reducible不可解度 degree of unsolvability 图灵度 Turing degree一阶逻辑 first-order logic二阶逻辑 second-order logic高阶逻辑 higher-order logic非古典逻辑 non-classical logic 无穷逻辑 infinitary logic古典逻辑 classical logic直觉主义逻辑 intuitionistic logic 模态逻辑 modal logic多值逻辑 many-valued logic。
1普通语言学
Visual symbols: gestures,
signal flags, and traffic lights;
Auditory symbols: drum beats, bugle calls and
whistle but not vocal (they are not produced by speech organs).
1.2 Definition of language
a
system of arbitrary vocal symbols
used for human communication.
System :language consists of a set of
rules. Elements are arranged according to certain rules; they cannot be combined at will. ? He eats a table arbitrary no intrinsic connection b/w the word pen and the thing we use to write with. A rose by any name would smell as sweet. vocal symbol Words are symbols, because they have concrete signs-sounds, which can represent a certain meaning. Language is vocal because the primary medium is sound. human Language is human-specific.
我在吃饭。 在我吃饭?
Overlap
¯ and ψ are Dirac fermions and the mass matrix M is infinite. It has a single zero ψ mode but its adjoint has no zero modes. As long as MM† > 0 this setup is stable under small deformations of the mass matrix implying that radiative corrections will not wash the zero mode away. Kaplan’s domain wall suggests the following realization: M = −∂s − f (s), (2)
where s ∈ (−∞, ∞) and f is fixed at −Λ′ for negative s and at Λ for positive s (Λ′ , Λ > 0. There is no mathematical difficulty associated with the discontinuity at s = 0. The infinite path integral over the fermions is easily “done”: on the positive and negative segments of the real line respectively one has propagation with an s-independent “Hamiltonian”. The infinite extent means that at s = 0 the path integrals produce the overlap (inner product) between the two ground states of the many fermion systems corresponding to each side of the origin in s. The infinite extent also means infinite exponents linearly proportional to the respective energies - these factors are subtracted. One is left 2
机械CADChapter 4 Modelling of Solids(2)
4.4.2 Boolean Operators
A solid can be considered as the result of applying Boolean operators to a set of instantiated and transformed CSG primitives. However, simple set operators may create problems as discussed in regularized Boolean operators. Let us just use set operations on following example.
A CSG tree is defined as an inverted ordered binary tree whose leafs are primitives and interior nodes are regularized set operations. The procedure to build the bracket with Boolean operators can be written as: union(diff(trans(block 1), trans(cylinder)), trans(block2)) , where union(A,B) and diff(A,B) are the union and difference of A and B, and trans( ) indicates appropriate transformations This procedure can be converted to a CSG tree of the design, as shown in Fig. 4. 16.
Language structure of pattern Sturmian words
Discrete Mathematics 306(2006)1651–1668/locate/discLanguage structure of pattern Sturmian wordsTeturo Kamae a ,Hui Rao b ,Bo Tan c ,Yu-Mei Xue ba Matsuyama University,790-8578,Japanb Department of Mathematics,Tsinghua University,Beijing 100084,PR Chinac Department of Mathematics,Huazhong University of Science and Technology,Wuhan 430074,PR China Received 28November 2005;received in revised form 14March 2006;accepted 28March 2006Available online 19June 2006AbstractPattern Sturmian words introduced by Kamae and Zamboni [Sequence entropy and the maximal pattern complexity of infinite words,Ergodic Theory Dynamical Systems 22(2002)1191–1199;Maximal pattern complexity for discrete systems,Ergodic Theory Dynamical Systems 22(2002)1201–1214]are an analogy of Sturmian words for the maximal pattern complexity instead of the block complexity.So far,two kinds of recurrent pattern Sturmian words are known,namely,rotation words and Toeplitz words.But neither a structural characterization nor a reasonable classification of the recurrent pattern Sturmian words is known.In this paper,we introduce a new notion,pattern Sturmian sets,which are used to study the language structure of pattern Sturmian words.We prove that there are exactly two primitive structures for pattern Sturmian words.Consequently,we suggest a classification of pattern Sturmian words according to structures of pattern Sturmian sets and prove that there are at most three classes in this classification.Rotation words and Toeplitz words fall into two different classes,but no examples of words from the third class are known.©2006Elsevier B.V .All rights reserved.Keywords:Uniform complexity;Pattern Sturmian word;Language structure1.Introduction1.1.Pattern Sturmian wordsLet A denote a nonempty finite set which is called an alphabet .Let ∈A N be an infinite word over A ,where N ={0,1,2,...}is the index set .Let k be a positive integer.By a k -window ,we mean a subset of N with cardinality k .For a word ∈A N and a k -window ={ 0< 1<···< k −1},we denote[n + ]:= (n + 0) (n + 1)··· (n + k −1)∈A ,F ( ):={ [n + ];n ∈N },p ( ):=#F ( ),where [n + ]is considered as a word on the index set ,and #E denotes the cardinality of a finite set E .An element in F ( )is called a -factor of .The maximal pattern complexity p ∗for a word is introduced by Kamae and E-mail addresses:kamae@apost.plala.or.jp (T.Kamae),hrao@ (H.Rao),bo_tan@ (B.Tan),yxue@ (Y-M.Xue).0012-365X/$-see front matter ©2006Elsevier B.V .All rights reserved.doi:10.1016/j.disc.2006.03.0431652T.Kamae et al./Discrete Mathematics306(2006)1651–1668Zamboni[10]asp ( )(k=1,2,3,...),p∗ (k):=supwhere the supremum is taken over all k-windows .The block complexity p is defined asp (k)=p ({0,1,...,k−1}).Morse and Hedlund[14]characterized the eventually periodicity in term of block complexity by showing that a word is eventually periodic if and only if p (k)<k+1for some k∈Z+:={1,2,...}.A word with block complexity p (k)=k+1(k∈Z+),which is of the minimal complexity among the nonperiodic words,is known as a Sturmian word.Excellent descriptions of Sturmian words can be found in Chapter2of[13]by J.Berstel and P.Séébold,and in Chapter6of[5]by P.Arnoux.In a similar way,Kamae and Zamboni[10]characterized the eventually periodicity in term of maximal pattern complexity.They proved that a word is eventually periodic if and only if p∗ (k)<2k for some k∈Z+.Accordingly, a word with p∗ (k)=2k(k∈Z+)is called a pattern Sturmian word.It is shown that Sturmian words are pattern Sturmian.Indeed,the class of pattern Sturmian words is larger than that of Sturmian words.Till now,three classes of pattern Sturmian words are known:rotation words,Toeplitz words and a class of{0,1}-words with rare1,where thefirst two of them are recurrent,while the last ones are not(see[10,11]). We do not know whether there are pattern Sturmian words other than of these kinds or not.We are also interested in what are the common points of the three known pattern Sturmian words,and what are the differences between them.In this paper,we analyze the language structure of recurrent pattern Sturmian words,and try to answer these questions.1.2.Uniform setLet A be an alphabet and be a countable infinite set.An element w∈A (which is a mapping from to A)is called a word on the index set over A,or a -word over A.For a nonemptyfinite set S⊂ ,define S(w)to be the S-word which is the restriction of w to S.For ⊂A ,put S( ):={ S(w);w∈ }.A subset ⊂A is called a uniform set if# S( )depends only on the size of S.Thus,we introduce the uniform complexity function p :Z+→Z+by p (k)=# S( )with#S=k.Special concern is paid to two classes of uniform sets,namely,Sturmian sets with p (k)=k+1(k∈Z+)and pattern Sturmian sets with p (k)=2k(k∈Z+).Example1.1.Take =N.A word ∈{0,1}N is called an increasing word(a decreasing word)if (i) (j) ( (i) (j),resp.)whenever i<j.A word is monotone if it is increasing or decreasing.A word ∈{0,1}N is called a Dirac word if there exists i0∈N such that (i)=0for any i=i0.Define0:={ ∈{0,1} ; is increasing},0:={ ∈{0,1} ; is Dirac},1:={ ∈{0,1} ; is monotone},1:={ ∈{0,1} ; is either decreasing or Dirac},2:={ ∈{0,1} ; is either increasing or Dirac}.Then,it is easily seen that 0and 0are Sturmian sets,while 1, 1and 2are pattern Sturmian sets.These sets will play an important role in our study and these notations will be used throughout the paper.We will show that a uniform set isfinite if and only if p (k) k holds for some k(Proposition2.3).Hence,a Sturmian set is an infinite uniform set with the minimum uniform complexity.As we will see,the pattern Sturmian sets are closely related to the pattern Sturmian words.T.Kamae et al./Discrete Mathematics306(2006)1651–16681653Fig.1. 0and 0.Fig.2. 1and 1.Fig.3. 2.1.3.Classification of recurrent pattern Sturmian wordsWe study the language structure of the uniform sets on the index set N.We introduce in Section3the notion of isomorphism between uniform sets U and V on N,so that U and V are isomorphic to each other if and only if the trees representing the extension schemes of the languages of them along the indices0,1,2,...are isomorphic.Then,the structure of a uniform set on the index set N is defined to be the isomorphic class of this isomorphism containing ,which is denoted by[ ].It holds that in Example1.1, 0and 0are isomorphic to each other and 1and 1are isomorphic to each other, while 1and 2are not isomorphic(see Figs.1–3).Let N={n0<n1<n2<···}⊂N and N:{0,1}N→{0,1}N be such that N( )(k)= (n k)(k∈N).The induced set (N)of a set on N is defined to be the set N( ).It is a uniform set on N if is so.A uniform set is called primitive if all induced sets of are isomorphic to itself.The structure[ ]for a primitive uniform set is called primitive.That is,[ ]is primitive if there exists a primitive element in[ ].We prove that[ 0]is the unique primitive structure among the Sturmian sets,while there are exactly two different primitive structures among the pattern Sturmian sets,namely,[ 1]and[ 2].The uniform sets are interesting subject to be studied in general.For example,how to characterize the uni-form complexity functions is an interesting problem.Here,we only discussfinite uniform sets,Sturmian sets and1654T.Kamae et al./Discrete Mathematics306(2006)1651–1668pattern Sturmian sets in Sections2and3.The results there except Theorem3.5are irrelevant to the arguments after Section3.1.4.Ultimate structureGiven a recurrent pattern Sturmian word ∈{0,1}N.We prove in Theorem4.1that there exists an infinite subset N of N,which is called an optimal window,such that for any nonemptyfinite set ⊂N,we have p ( )=2# .Then, we have a pattern Sturmian set ( )(N),where ( )denotes the orbit closure of with respect to the shift on{0,1}N. We denote by US( )the set of structures[ ( )(N)]for all optimal windows N of such that ( )(N)is primitive. We prove that US( )={[ 1]}for all rotation words ,while US( )={[ 2]}for all Toeplitz words (Theorems4.3 and4.8).Thus,we can classify the recurrent pattern Sturmian words in terms of the language structure. Specially,for Toeplitz words,we give concrete constructions of optimal windows,which give an alternative proof of the fact that the simple Toeplitz words are pattern Sturmian,which is presented with a wrong proof in[11].Also remark that a proof of this fact in a more general setting can be found in[7].1.5.More references on the complexity in generalTo survey the block complexity in general,see Ferenczi[4].The block complexity of general Toeplitz words are discussed by Cassaigne and Karhumäki[3]and Koskas[12].Other kinds of complexity are defined and discussed by Allouche et al.[1],Avgustinovich et al.[2],Frid[6],Nakashima et al.[15],Restivo and Salemi[16].The notion of pattern Sturmian words is extended to the words over letters in[8],and to the two-dimensional words in[9].anization of the paperThis paper is organized as follows.Sections2and3are devoted to the study of uniform sets.In Section2,the notion of uniform sets is introduced and some basic properties are investigated.We are specially interested in the pattern Sturmian sets which have the uniform complexity2k.In Section3,we study the isomorphism between uniform sets. The isomorphism classes are called structures.We prove that there exist exactly two primitive structures among the pattern Sturmian sets.Section4is devoted to the study of language structure of pattern Sturmian words.In Section 4.1,we prove that all recurrent pattern Sturmian words admit optimal windows,which define the ultimate structure of them.In Section4.2,we study the ultimate structure of the rotation words,while in Section4.3,we study the ultimate structure of the Toeplitz words.2.Uniform setsLet A be an alphabet and be an index set.Let F k(k∈Z+)be the collection of subsets of consisting of k elements,that is,F k={S⊂ ;#S=k}.Set F=∪k 1F k.For S⊂ ,a S-word over A is called a constant word if there exists a∈A such that ( )=a for any ∈S.Let S and S be two disjoint subsets of ,w and w be an S-word and an S -word,respectively,the concatenation of w and w is defined to be the S∪S -word ww with the property ww ( )=w( )if ∈S and ww ( )=w ( )if ∈S .Given w∈ S( ).If w ∈ S ( )satisfies that ww ∈ S∪S ( ),then we say that w is an S -extension of w in . For ∈ \S,w∈ S( )is called -special if there are at least two different{ }-extensions of w in .The complexity of is the function p :F→Z+defined by p (S)=# S .Definition2.1.A nonempty subset ⊂A is called a uniform set if the complexity p (S)depends only on#S.If is a uniform set,we have a function p :Z+→Z+such that p (k)=p (S)for any S∈F k.The function p is called the uniform complexity function.From now on,we always take A={0,1}.We consider thefinite uniform setsfirst.T.Kamae et al./Discrete Mathematics306(2006)1651–16681655Proposition2.2.Let ∈{0,1} be afinite uniform set,then either(i)p (k)≡1and ={w}for some w∈{0,1} or(ii)p (k)≡2and ={w,w}for some w∈{0,1} ,where we put0=1,1=0and w( )=w( )for any ∈ .Proof.Assume that ={w1,w2,...,w n}is a uniform set.For ∈ ,define a vector v( )=(w1( ),w2( ),...,w n( ))∈{0,1}n.Since there are onlyfinite number of vectors in{0,1}n,there exists a vector v,such that v( )=v for infinitely many of .Denote ={ ;v( )=v}.Then for any S⊂ , S( )consists only of constant words,so that# S( ) 2.Since#S as above can be any positive number and is uniform,we have p (k) 2(k=1,2,...).This implies that either p (k)≡1or p (k)≡2since p (k)is an increasing function of k and p (1)=1implies p (k)=1(k=1,2,...).On the other hand,if p (k)≡1,then is a singleton;and if p (k)≡2,then ={w,w}.Proposition2.3.Let be a uniform set.If there exists k such that p (k) k,then is afinite set.Proof.If p (1)=1,then is a singleton.If p (1)=2and p (k) k,then there exists a k <k such that p (k +1)=p (k ).Take S⊂ with#S=k .Then for any ∈ \S and w∈ ,since p (k +1)=p (k ),w( )is determined by the S-word S(w).Hence w is determined by S(w),and is afinite set.Definition2.4.A uniform set ⊂{0,1} is called a Sturmian set if the uniform complexity satisfies p (k)=k+1 for any k∈Z+; is called a pattern Sturmian set if the uniform complexity satisfies p (k)=2k for any k∈Z+. Hence,Sturmian sets have the minimal uniform complexity among all the infinite uniform set by Proposition2.3. Examples of Sturmian sets and pattern Sturmian sets are given in Example1.1.We have the following characterizations. Theorem2.5.If is a uniform set.Then, is a Sturmian set if and only if p (2)=3.Proof.Obviously,the condition p (2)=3is necessary.To show the sufficiency,suppose that is uniform and p (2)=3.Then by Propositions2.2and2.3, is an infinite set and p (k) k+1for any k∈Z+.So we only need to show that p (k) k+1.Otherwise,suppose that p (k) k+2for some k 3.Then there exists a k <k such that p (k +1) p (k )+2. Take S⊂ with#S=k and ∈ \S.Since A={0,1}and each S-word has at most two{ }-extensions,there are two S-words w1and w2which are -special.Since w1and w2are distinct,there exists a ∈S such that w1( )=w2( ). So { , }( )={00,01,10,11}and p (2)=4,a contradiction.A uniform set is said to fulfill(k)-Condition if its uniform complexity satisfiesp (m)=2m for m=1,2,...,k;but p (k+1)=2k+1.Thus,by Theorem2.5, is a Sturmian set if and only if it fulfills(1)-Condition.The following lemma will be used for the characterization of pattern Sturmian sets.Lemma2.6.Let be a uniform set.(1)There exists an infinite subset ⊂ such that ( )contains at least one constant word.(2)If fulfills(k)-Condition for some k 2,then for any S⊂ with S=k,there exist 1∈ S( )and an infinitesubset ⊂ \S such that 1is{ }-special for any ∈ and{ (w);w∈ and S(w)=w1}consists of two constant words.Proof.(1)Take an arbitrary word ∈ .Since is an infinite set,there exists an infinite subset such that ( ) is a constant word.Thus, ( )contains at least one constant word.1656T.Kamae et al./Discrete Mathematics 306(2006)1651–1668(2)Assume that fulfills (k)-Condition for some k 2.Take S ⊂ with #S =k and write S ( )={w 1,w 2,...,w 2k }.Since p (k +1)=2k +1,for any ∈ \S ,just one element in {w 1,w 2,...,w 2k }is -special.Therefore,without loss of generality,we may assume that there exists an infinite set ⊂ \S such that w 1is the only element in S ( )which is -special for any ∈ and{ (w);w ∈ and S (w)=w 1}consists only of constant words.We conclude the proof by claiming that both constant words with 0and 1are included in the above set.Otherwise taking ∈S and ∈ ,one can find only three different { , }-words,which contradicts the fact that p (2)=4. Theorem 2.7.If is a uniform set .Then is a pattern Sturmian set if and only if p (2)=4and p (3)=6.Proof.We only need to show that if is uniform and p (2)=4,p (3)=6,then p (k)=2k for any k .•p (k) 2k for any k 1:otherwise,there exists a k 3such that p (k +1) p (k)+3.Take S ⊂ with #S =k and ∈ \S .There are three S -words w 1,w 2and w 3which are -special.Since w 1,w 2and w 3are distinct,there exists a 1, 2∈S such that { 1, 2}(w 1), { 1, 2}(w 2)and { 1, 2}(w 3)are different from each other.Also all of them are -special.Since p (2)=4,there is another { 1, 2}-word besides { 1, 2}(w 1), { 1, 2}(w 2)and { 1, 2}(w 3)which has at least one { }-extension.Then { 1, 2, }( ) 7,which contradicts the assumption p (3)=6.•p (k) 2k for any k 1:otherwise,there exists a k 3such that p (k +1) p (k)+1.If p (k +1)=p (k),then as in the proof of Proposition 2.3,we can show that is finite which is a contradiction.It remains only one possibility: fulfills (k)-Condition for some k 3.In this case,fix S ⊂ with #S =k .Then # S ( )=2k , S ( )={w 1,w 2,...,w 2k }.By Lemma 2.6(2),there exists an infinite subset ⊂ \S and w 1∈ S ( )such that w 1is -special for any ∈ and { (w);w ∈ and S (w)=w 1}consists only of the two constant words.Construct a set as follows:={ (w);w ∈ and S (w)=w 1}.We claim that is a uniform set.To see this,for a fixed finite subset S ⊂ ,consider the S ∪S -words of .Since any S -word but w 1has a unique S -extension,and w 1has just p (S )different S -extensions,we havep (S )=p (S ∪S )−(2k −1)=p (k +#S )−(2k −1)which implies is a uniform set such thatp (m)=p (k +m)−(2k −1)for any m 1.Obviously,p (1)=2.We claim that p (2)=4.Otherwise p (2)=2or 3.If p (2)=2,then by Propositions 2.2and 2.3, ={ , }for some ∈{0,1} .Take S ⊂ with #S =3.Consider the set S ( )which is the union of S ( )and the two constant words.Then,we havep (S ) 2+2=4,contradicting to the fact that p (3)=6.If p (2)=3,then is a Sturmian set.Then by Lemma 2.6(1),there exists a three-elements subset S ⊂ such that S ( )consists of four elements and among them at least one is a constant word.Consider the set S ( )which is the union of S ( )and the two constant words.Then,p (S ) 4+2−1=5,contradicting to the fact that p (3)=6.T.Kamae et al./Discrete Mathematics306(2006)1651–16681657Moreover,since is defined on ⊂ and ⊂ ( ),we havep (m) p (m)for any m 1.Therefore, fulfills(k )-Condition for some2 k k.Due to Lemma2.6(2)applied to ,there exists an infinite set ⊂ such that := ( )contains the two constant words.Replacing and by these and ,we may assume that the above contains the two constant words.Since for any S ⊂ , S ( )is the union of S ( )and two constant words,we have S ( )= S ( )and p ≡p .On the other hand,fix ∈S and S ⊂ with#S =m.Without loss of generality,assume that w1( )=0.Since p (2)=4,for any ∈S , { , }={00,01,10,11}.Since S ( )contains both the constant words, { }∪S ( )={0w;w∈ S ( )}∪{10m,11m},where,for example,10m denotes the{ }∪S -word w with w( )=1and w(s)=0for s∈S .Since the union is disjoint, p (m+1)=p (m)+2for any m 1.This is a contradiction against the facts p ≡p ,p (k)=2k and p (k+1)=2k+1,which completes the proof of p (k) 2k.3.Isomorphism between uniform setsIn this section,we consider only the uniform sets on the index set :=N equipped with the natural total ordering. Recall that the alphabet A is always{0,1}.The product topology defined on{0,1}N is consistent with the following metric:for x=x(0)x(1)x(2)...,y= y(0)y(1)y(2)...∈{0,1}N,d(x,y)=2−inf{k∈N;x(k)=y(k)}.Thus two points are closer to each other if they share a longer prefix.The cylinder[ ],where = 1 2··· n∈{0,1}n, is the set of words of the form[ ]={x∈{0,1}N;x(0)= 1,x(1)= 2,...,x(n−1)= n}.The order of a cylinder[ ]is defined to be the length n of ,denoted by| |.Note that for the empty word∅, []:=[∅]={0,1}N.Definition3.1.Two uniform sets , ⊂{0,1}N are said to be isomorphic to each other,written ≈ ,if there is an isometry between their closures and ,that is,there is a bijection : → such that for any x,y∈ , d( (x), (y))=d(x,y).An equivalence class of uniform sets with respect to this isomorphism is called a structure.The structure containing is denoted by[ ].Note that and its closure always have the same language,that is,the set offinite words appearing in and coincide.Also,note that two uniform sets which are isomorphic to each other have the same uniform complexity. For a uniform set ⊂{0,1}N,we define the prefix tree G( )as follows:G( )=(V,E)is a directed graph. The set V of vertices is the set of the cylinders which meet ,and the set E of(directed)edges is the set of the ordered pairs([u],[v])of cylinders in V such that v is an immediate extension of u,that is,|v|=|u|+1and u1=v1, u2=v2,...,u|u|=v|u|.Recall that two directed graphs G=(V,E)and G =(V ,E )are isomorphic,written G G ,if there is a bijection :V→V between their vertices,such that there is an edge in E from u to v if and only if there is an edge in E from (u)to (v).Theorem3.2.Let and be two uniform sets.Then ≈ if and only if G( ) G( ).1658T.Kamae et al./Discrete Mathematics306(2006)1651–1668Proof.If ≈ ,then there is an isometry : → .Thus,x,y∈ are in an identical cylinder of order n if and only if (x)and (y)are also in an identical cylinder of order n in .Hence, induces a bijection between the cylinders intersecting with and the cylinders intersecting with keeping the orders.Thus, is a bijection between the vertices of G( )and G( )which preserves the edges,and is an isomorphism between G( )and G( ). Conversely,assume G( ) G( ).Noticing that there is a natural correspondence between the words in and theinfinite paths from the root in G( ),the isomorphism between the prefix trees induces a map : → ,which is an isometry.Let N={n0<n1<n2<···}be an infinite subset of N.Let be a uniform set on N.Recall the notion of induced set (N)of on N in Section1.3.Definition3.3.A uniform set ⊂{0,1}N or a structure[ ]is said to be primitive if for any infinite subset N⊂N, the induced set (N)is isomorphic to the original set .All the uniform sets in Example1.1are easily seen to be primitive.Their prefix trees are depicted in Figs.1–3.Theorem3.4.For any Sturmian set ,there exists an infinite subset N⊂N such that (N)≈ 0.In particular,if is primitive,then ≈ 0.Hence,[ 0]is the unique primitive structure among the Sturmian sets.Proof.Let ⊂{0,1}N be a Sturmian set.Put n0=0.Just as in the proof of Lemma2.6,we can take an infinite set N1⊂N\{n0}such that one{n0}-word, say a(∈{0,1}),is -special for ∈N1,while the other{n0}-word a has only one{ }-extension for any ∈N1. Put ={ N1( ); ∈ with (n0)=a}.Then, is again a Sturmian set since for any set S⊂N1with#S=k,p (S)=p (S∪{n0})−1=k+2−1=k+1.Put n1=min N1,and we continue the above process:find N2⊂N1\{n1}such that in one{n1}-word has a unique N2-extension while the N2-extensions of the other{n1}-word form a Sturmian set.Put n2=min N2,and so on.At last,setting N={n0,n1,n2,...},by the construction of N we have (N)≈ 0(see Fig.1).Moreover,if is primitive,then ≈ (N)≈ 0.The next theorem characterizes the primitive pattern Sturmian sets.Theorem3.5.Let be a pattern Sturmian set.Then either (N)≈ 1for some N⊂N or (N)≈ 2for some N⊂N.In particular,if is primitive,then either ≈ 1or ≈ 2.Hence,[ 1]and[ 2]are the only primitive structures among the pattern Sturmian sets.Proof.Let ⊂{0,1}N be a pattern Sturmian set.For any , ∈N with < , { , }( )={00,01,10,11}because p (2)=4.For any > ,since p (3)=6,there are two{ , }-words which are -special.If one of the special words comes from the set{00,01}and the other comes from{10,11},we call a{ , }-balanced place.If all butfinite number of places are{ , }-balanced places,we say that is{ , }-balanced.If is{ , }-balanced for any , ∈N with < ,we say that is balanced.We consider two cases according to the balance property.Case1: is balanced.Take n0=0,n1=1.Since is{n0,n1}-balanced,we can take an infinite subset N1⊂{n1+1,n1+2,...}such that one{n0,n1}-word in{00,01}is -special for any ∈N1,and one{n0,n1}-word in{10,11}is also -special for any ∈N1.Any of the other two words in{00,01,10,11}has a unique N1-extension.Take n2=min N1.For any{n0,n1}-word w which is{n2}-special,w0,w1∈ {n0,n1,n2}( ).Since is{n0,n2}-balanced,for all butfinite number of ’s with >n2,one word in{w0,w1}is not -special,we can take an infinite subset N2⊂N1\{n2}such that,for all{n0,n1}-words w which are{n2}-special,one word in{w0,w1}has a unique N2-extension.T.Kamae et al./Discrete Mathematics 306(2006)1651–16681659Take n 3=min N 2.Since 4words in {n 0,n 1,n 2}( )have a unique {n 3}-extension and p (4)=8,the other 2words in {n 0,n 1,n 2}( )are n 3-special.One of these 2words starts by 0and the other starts by 1.We continue the above process.Finally,we get N ={n 0,n 1,n 2,n 3,...}such that (N )≈ 1(see Fig.2).Case 2: is not balanced.There are places 0, 0∈N with 0< 0such that is not { 0, 0}-balanced,that is,there are infinite number of places > 0which are not { 0, 0}-balanced.Then,we find an infinite subset N ⊂{ 0+1, 0+2,...}such that for any ∈N ,both { 0, 0}-words either in {00,01}or in {10,11}are -special.Without loss of generality,we assume that both { 0, 0}-words in {00,01}are -special for infinitely many ∈N .Collecting all these ,we define an infinite set N ⊂N such that both { 0, 0}-words in {00,01}are -special for any ∈N ,while { 0, 0}-words in {10,11}are not -special for ∈N .Denote by and ∗the N -extensions of {00,01}and {10,11},respectively.More precisely,={ N (w);w ∈ such that { 0, 1}(w)∈{00,01}},∗={ N (w);w ∈ such that { 0, 1}(w)∈{10,11}}.We claim that is again a pattern Sturmian set.To see this,we study the set ∗first.Since any { 0, 1}-word in {10,11}has a unique N -extension,# ∗ 2.Moreover,since { 0, }( )={00,01,10,11}for any ∈N ,the -extensions of 10and 11are different,thus ∗={x,x }for some N -word x .Hence,for any finite subset S ⊂N ,{ 0}∪S ( )={0w ;w ∈ S ( )}∪{1u,1u }for some S -word u .From this,we havep (S)=p ({ 0}∪S)−2=2(#S +1)−2=2#S ,being a pattern Sturmian set.Subcase 2.1:If is balanced,then by Case 1,there is an N such that (N )≈ 1.But for any S ⊂N , S ( (N ))⊂ S ( (N )),and since both (N )and (N )are pattern Sturmian,by comparing the cardinality, S ( (N ))= S ( (N )).Therefore,the prefix trees of (N )and (N )are just the same,and (N )≈ (N )≈ 1.Subcase 2.2:If is not balanced,then there exist 1, 1∈N with 1< 1such that is not { 1, 1}-balanced,and we get a new pattern Sturmian set ,and continue the above discussion.In case of the new pattern Sturmian set constructed in some step is balanced,then just as shown in Subcase 2.1,we find N ⊂N such that (N )≈ 1.Otherwise,if all the pattern Sturmian sets constructed in the process are balanced,we get a sequence 0< 1< 2<···.PuttingN ={ 0, 1, 2,...},we have (N )≈ 2(see Fig.3).Example 3.6.Let ˜ ⊂{0,1}Z be the set of words ˜ on the index set Z such that either ˜ is increasing or ˜ is Dirac.Define a word (˜ )∈{0,1}N by(˜ )(k)=˜ (i)if k =2i is even ,˜ (−i)if k =2i −1is odd .Let = (˜ ).Then, is a pattern Sturmian set such that (N )= 2if N ={0,2,4,...}and (N )= 1≈ 1if N ={1,3,5,...}.Hence, is not primitive.Moreover,as shown in Fig.4, is isomorphic neither to 1nor to 2,so that [ ]is not primitive.1660T.Kamae et al./Discrete Mathematics306(2006)1651–1668Fig.4. in Example3.6.4.Structures of pattern Sturmian words4.1.From pattern Sturmian words to pattern Sturmian setsRecall that a word on N is called recurrent if for any L 1,there exists M 1such that(i)= (i+M)for i=0,1,...,L−1.(1) Note that if is recurrent,then there exist infinitely many M’s satisfying(1).In this subsection,we will show how to construct pattern Sturmian sets from a recurrent pattern Sturmian word.Let be a pattern Sturmian word.For afinite or infinite subset N⊂N,consider the following property(we will call it the optimal property):for any nonemptyfinite subset ⊂N,it holds thatp ( )=2# .(2) If an infinite subset N of N has the optimal property,then N is called an optimal window for .We note that an infinite subset of an optimal window is again an optimal window.Theorem4.1.Let be a recurrent pattern Sturmian word.Then,there exists an optimal window for .Proof.Suppose that is a recurrent pattern Sturmian word.We construct an increasing family of sets satisfying the optimal property.Put n0=0.Assume that n0<n1<···<n k−1have been picked out such that the optimal property holds for the set := {n0,n1,...,n k−1}.Take L∈N such thatF ( )={ [n+ ];n=0,1,...,L−1}.Since is recurrent,there exists M with M>n k−1such that(1)holds for this L.Put n k=M.Now we show that(2)holds for any nonempty ⊂{n0,n1,...,n k}.•If n k/∈ ,(2)holds for by the hypothesis of induction.•If n k∈ but n0/∈ .Write ={n0}∪( \{n k}).Then# =# .Note that(2)holds for by the hypothesis of induction,actually#{ [n+ ];n=0,1,...,L−1}=#F ( )=2# .On the other hand,by(1), (n k)= (n0)for n=0,1,...,L−1.Therefore,there is an one-to-one correspondence between the sets{ [n+ ];n=0,1,...,L−1}。
4.1.Extensive Form Games Intro.1.0(博弈论讲-Arizona State University)
Extensive-Form Games: IntroductionÙIntroduction______________________________________________________________________1 Game Trees______________________________________________________________________1 Information sets___________________________________________________________________6 Games of perfect recall_____________________________________________________________9 Arborescences___________________________________________________________________12 Simultaneity_____________________________________________________________________13 Divide and conquer: subgames______________________________________________________13IntroductionWhen we model a strategic economic situation we want to capture as much of the relevant detail as tractably possible. A game can have a complex temporal and information structure; and this structure could well be very significant to understanding the way the game will be played. These structures are not acknowledged explicitly in the game’s strategic form, so we seek a more inclusive formulation. It would be desirable to include at least the following: 1) the set of players, 2) who moves when and under what circumstances, 3) what actions are available to a player when she is called upon to move, 4) what she knows when she is called upon to move, and 5) what payoff each player receives when the game is played in a particular way. Components 2 and 4are additions to the strategic-form description; component 3 typically involves more specification in the extensive form than in the strategic form.We can incorporate all of these features within an extensive-form description of the game. The foundation of the extensive form is a game tree. First I’ll discuss what a tree is and then describe the additional specifications and interpretations we need to make in order to transform it into a full-fledged extensive-form description of the game. We’ll discuss additional restrictions upon the information structure to reflect a common assumption, viz. perfect recall, which asserts that players don’t forget. We’ll discuss the relation between this traditional, graph-theoretic exposition and a more recent one based on the arborescence. After that we’ll learn how to ease our analysis of complicated games by breaking them up into simpler subgames.Game TreesWe’ll construct our definition of a tree by first defining more primitive graph-theoretic entities. (Iyanaga and Kawada [1980: 234–235]). A graph G=(V,E) consists of a finite set V of vertices and a finite set E of edges of V. An edge e˙E is an unordered pair of distinct elements of V; e.g. the edge e=(v,v’)joins the two vertices v,v’˙V.Ù© 1997 by Jim Ratliff , <jim@>, </gametheory>.Consider an alternating sequence of vertices and edges of a graph G, P={v0,e1,v1,e2,…,e n,v n}. P is a path if 1 each edge e i joins its neighbors v i¥1 and v i and 2 no edge is encountered more than once (i.e.e i≠e j when i≠j).1 In this case we say that v i and v j, for i,j˙{1,…,n}, are connected by P and that P runs from v0to v n.2 (Note that a path may encounter the same vertex more than once.) A path is closed if it begins and ends with the same vertex, i.e. v0=v n. A closed path which never reencounters a vertex, except for the first, is called a circuit. I.e. a closed path P is a circuit if v i≠v j whenever i≠j and {i,j}≠{0,n}. In other words a circuit is a single “loop.” A graph G is connected if for every pair of distinct vertices v,v’˙V, v≠v’, there exists a path in G which connects v and v’.Now we’re ready to define a tree. A tree is a connected graph which contains no circuit.3 In game theory we often refer to the vertices as nodes and, consistent with our dendro-metaphor, to edges as branches.4Because a tree is a connected graph, any node can be reached from any other node by traversing a sequence of branches. Because it has no circuits, a tree is unicursal: for any pair of nodes, there is exactly one path which runs from the first to the second.Example: graphs and treesFigure 1: A graph.The sets of vertices and edges in Figure 1 form a graph. The edges depicted graphically are defined bye1=(v0,v1),e2=(v0,v2),e3=(v1,v2),e4=(v1,v3),e5=(v2,v4),e6=(v3,v4),e7=(v2,v3).The following two alternating sequences of vertices and edges are paths:{v0,e1,v1}, {v0,e2,v2,e5,v4,e6,v3,e7,v2,e3,v1}.Note in the second case that the vertex v2 is encountered twice. The sequence {v0,e1,v2} is not a path. Neither is1Let e=(v,v’) and e’=(v’,v) be edges, where v and v’ are vertices. Because edges are unordered pairs, we have e=e’.2This “runs from… to” terminology is not standard, but I find it useful for expository purposes here.3I.e., no circuit can be constructed from vertices and edges belonging to the graph.4My treatment roughly follows that of Kuhn [1953], which is the hugely influential, seminal paper concerning extensive-form games.{v0,e1,v1,e3,v2,e7,v3,e4,v1,e3,v2},because the edge e3 is encountered twice.The two sequences{v0,e2,v2,e5,v4,e6,v3,e4,v1,e1,v0}, {v0,e1,v1,e3,v2,e7,v3,e6,v4,e5,v2,e2,v0}are closed paths. The first is a circuit; the second is not, because the vertex v2 is encountered twice. Figure 2 shows two connected graphs. The first is a tree; the second is not.Figure 2: Two connected graphs: (a) a tree and (b) a nontree.Now we want to enhance our tree to become a game tree. We henceforth assume that the tree has at least two vertices. We bestow one vertex of the tree with the honor of being the initial node, O. (See Figure 3.) This is where the game begins. It is a decision node.wFigure 3: A game tree.If a noninitial node x is incident with two or more branches, it is also a decision node. Let XÓV be the set of decision nodes. (In Figure 3, X={O,å,∫,∂}.) One of these branches leads to the node; the remaining branches lead away from the node. Since branches are unordered pairs of nodes, how do youknow which branch leads to the node and which lead away? It’s simple: For some noninitial decision node x˙X\{O}, find the unique path which runs from the initial node O to node x. That path will contain exactly one of the branches incident with x; this branch is the one which leads to x. The other branches incident at v are the branches which lead away from x. For example, in Figure 3, there are three edges incident at node ∂: g, U, and D. The unique path running from the initial node to node ∂ is {O,L,å,g,∂}. This path contains only the g edge incident at ∂; therefore g is the branch leading to ∂ and U and D are the edges leading away.We interpret each edge e˙E as an action. Let A be the set of all actions and let f:ÙE§A be the function which assigns an action to each edge. The branches which lead away from a decision node represent the actions available at that node. We require that, for a given decision node x˙X, the function f assign a unique action to each branch leading away from x. (Otherwise it would not be well specified what path would result from a particular action taken at x.) The actions available at any decision node x˙X are given by the set Aªxº=fª{e˙E:Ùe leads away from x}º.5 (So A is a correspondence A:ÙXéA.) In Figure 3, AªOº={L,R}, Aªåº=Aª∫º={g,s}, and Aª∂º={U,D}. More than one edge may correspond to the same action (as long as any such pair of edges does not lead away from the same node). For example, in Figure 3, there are two edges which correspond to the action g. In what follows I will often refer to an edge e˙E by its associated action fªeº.6Any noninitial node with only one incident branch necessarily has no actions available. Such a node is a terminal node. Let ZÓV be the set of terminal nodes. The tree in Figure 3 has five terminal nodes: Z={z1,z2,z3,z4,z5}. The decision and terminal nodes partition the game tree’s nodes: i.e. V=X¨Z and XËZ=õ. The game ends whenever a terminal node is reached. We identify the terminal nodes with outcomes of the game. (Sometimes outcome is used to refer not just to a terminal node but to the unique path from the initial node to that terminal node.)So we have established that the game begins at the initial node and play ends at a terminal node. In what order are the intermediate decisions made? Consider two distinct nodes v,v’˙V, v≠v’. We say that v precedes v’, or that v is a predecessor of v’, if v lies on the unique path which runs from the initial node O to v’. We write vüv’. Equivalently, we say that v’ is a successor of v, and write v’öv. For example, in Figure 3, the unique path running from the initial node O to ∂ is {O,L,å,g,∂}. This path contains å but not contain ∫; therefore å is a predecessor of ∂, but ∫ is not.Predecession, then, defines a binary relation ü on the set of nodes V, viz.ü={(v,v’)˙V2:Ùvüv’}.7,8(1) 5Recall that if f:ÙX§Y is a function and SÓX, then fªSº is the image of S under f, i.e. fªSº={fªxº:Ùx˙S}.6For example, in the previous paragraph I referred to the edge connecting å and ∂ by its action g.7 A binary relation R on a set X can be thought of as a subset of the Cartesian product of X with itself, i.e. RÓX˜X, which includes allthose pairs (x,y)˙X2 such that xRy. I.e. (x,y)˙R⁄xRy.8The succession binary relation ö is the inverse relation of ü; i.e. Åv,v’˙V, vüv’⁄v’öv; it could also be called the dual order (except for a minor problem that ü is irreflexive and therefore not actually providing an ordering). (See later footnote.)It is intuitively obvious—and you can show rigorously—that the predecession relation is irreflexive (Åv˙V, not vüv), asymmetric [vüv’flnotÙÙ(v’üv)], and transitive [(vüv’ and v’üv”) fl vüv”]. This binary relation need not be complete; there may exist a pair of nodes v,v’˙V such that neither vüv’ nor v’üv. For example in Figure 3, å and ∫ are unordered by precedence. A partial listing of the precedence relations in Figure 3 is: Oüz3, åüz2, and åü∂.The initial node is a predecessor of every noninitial node and has no predecessor itself. For every noninitial node x˙V\{O}, let Pªxº be the set of predecessors of x; i.e. Pªxº={v˙V:Ùvüx}. For example in Figure 3, Pª∂º={O,å} and Pªz4º={O,∫}. Although predecession provides only a partial ordering in general on the set V of all nodes, you can show that it totally orders the set Pªxº of predecessors of any noninitial node x˙V\{O}. (I.e. if v,v’˙Pªxº and v≠v’, then either vüv’ or v’üv.9)10We say that v is the immediate predecessor of v’ if there is an action available at v (i.e. a branch incident at v which leads away from the initial node) which leads directly to v’. (This requires that vüv’and that a single edge joins v and v’. You can prove that each noninitial node has a unique immediate predecessor.) Alternatively we could say that v is the immediate predecessor of v’ if v=maxüÙPªv’º, which means that all other predecessors of v’ must also precede v.11 In Figure 3, for example, O is the immediate predecessor of å but not of ∂, and å is the immediate predecessor of ∂.We have thus far identified the locations in the tree at which decisions are made—the decision nodes—and created a structure which relates the various decisions by specifying what actions lead to which other decisions and in what temporal order. But we still haven’t said who makes which decisions. We retain our standard player set I={1,…,n}, but we also allow Nature to be player 0 when required. (We will see later that Nature can be given the job of introducing new information into the game.)So now we assign to each decision node x˙X exactly one player i˙I¨{0}. We specify this assignment by a node-ownership function ô:ÙX§(I¨{0}) where each decision node x˙X is assigned to the player specified by ôªxº. The set of decision nodes assigned to player i˙I¨{0} is X i={x˙X:Ùôªxº=i}. The node-ownership function ô thus induces a player partitionÙ={X0,X1,…,X n} of the set X of decision nodes.12 We say that a node belongs to a particular player or that a player owns a particular node.Every terminal node z˙Z represents some outcome which affects the players. Perhaps it’s success for 9Note that if a node x˙V has only one predecessor, so that Pªxº is a singleton set, then Pªxº is trivially totally ordered by the binary relation ü.10In my experience it is conventional to require that a binary relation R on a set X be reflexive (i.e. Åx˙X, xRx) in order that it impose a preordering upon X. (See Debreu [1959: 7] and Iyanaga and Kawada [1980: 958, 960].) Kreps [1990: 364] explicitly weakens this notion by defining that “a set is totally ordered by a binary relation if any two distinct elements of the set are ordered in one direction or the other.” [emphasis added] This allows the concept of totally ordered to be usefully applied to irreflexive binary relations. Note that for reflexive binary relations the two definitions are equivalent. Kreps [1988: 8] provides alternative terminology for this concept by saying that a binary relation R on a set X is weakly connected if for all x,y˙X, either x=y, xRy, or yRx.11Because Pªv’º is totally ordered by the binary relation ü, we can arrange its elements such that v1üv2üÚüv k. Then v k=maxüÙPªv’º.12 A partition of a set A is a collection of cells A1,…,A n, such that 1 each A iÓA, 2 the collection is exhaustive, i.e. A1¨A2¨Ú¨A n=A,and 3 the cells are mutually exclusive, i.e. when i≠j, A iËA j=õ.one and failure for another; the outcomes may represent profit levels for each firm or lengths of prison sentences for each criminal suspect. Whatever the outcomes are, they are events over which each player has preferences. We assume that each player has von Neumann-Morgenstern preferences, which can be represented by a utility function µi :ÙZ§Â with the expected-utility property, and seeks to maximize her expected utility.13Figure 4 shows an extensive-form game elaborated from the tree in Figure 3. I have indicated the player partition, which assigns players to nodes, by numerical labels and assigned payoff vectors to each terminal node. By convention the upper entry in each payoff vector is the first player’s utility derived from that outcome; the second entry is the second player’s utility. The player partition is given by X 1={O ,∂} and X 2={å,∫}. (Nature does not appear in this game.)Information setsIn the first paragraph I identified five aspects of an economic scenario we’d capture using the extensive form. So far we’ve captured the set of players, who moves when and under what conditions, what actions are available to a player when it’s her turn to move, and what payoffs are received at the end of the game. The remaining challenge is to represent the information which a player knows when called upon to move.What kind of information do I have in mind? We need to be concerned about things which have changed during the course of the game as a result of the actions of the players.14 The key to representing information in the game tree is realizing the connection between nodes and history . At any point in the play of the game the history is a record of who did what when. Remember that game trees are13I’m using µi to represent the utility to player i of an outcome z˙Z because I want to reserve the symbol u i for later use as her utility to a strategy profile. (We will see that an outcome z˙Z could be the result of any of several strategy profiles.)14If information is entering the game in some other fashion, this can be modeled by the addition of Nature as a nonstrategic player who chooses her strategy according to a probability distribution. The revelation of Nature’s moves then communicates the exogenouslygenerated information to the players.Figure 4: An extensive-form game indicating the player partition and payoffs as a function of outcome.unicursal—there’s precisely one path which runs from the initial node to any given node. Therefore, if you know the node you have reached, you also know precisely the history of play that got you there.15,16We can divide extensive-form games into two classes: In games of perfect information, whenever it is your turn to move you know precisely where in the tree you are located. Therefore you know the history of play completely. In games of imperfect information, you might be uncertain about the history of play when you are called on to play. This uncertainty about history corresponds to uncertainty about which of several nodes you might be at.To express this uncertainty we employ the information set. An information set hÓX is a set of decision nodes. In the course of playing the game the players’ actions may cause one of your nodes to be reached. When this occurs, you might not know precisely which of your nodes has been reached. This uncertainty is captured by saying that you only know that a particular information set has been reached; all you know is that you’ve reached one of the nodes x˙h in that information set. It is as if you are sent a message, whenever it is your move, specifying the information set you have reached.There are some obvious restrictions we need to impose on the composition of information sets. First, each decision node must belong to exactly one information set. (If a node belonged to more than one information set, it wouldn’t be well defined what message its owner should receive when that node is reached.) Therefore the set H of all information sets forms a partition of the decision nodes: X=U h˙HÙh and Åh,h’˙H, hËh’=õ. We can also define an information-set membership function h:ÙX§H, which specifies an information set h˙H for each decision node x˙X according to hªxº=h⁄x˙h.Secondly, all of the nodes in an information set must belong to the same player. (I.e. Åh˙H,Åx,x’˙h, ôªxº=ôªx’º.) Otherwise, two or more players may think it is their turn to move.17 (Therefore the information partition H is a refinement of the player partition Ù={X0,X1,…,X n}, because for each information set h˙H there exists a player i˙I¨{0} such that this information set is entirely contained within player i’s set of nodes, i.e. such that hÓX i.18)We can partition the set H of information sets into sets of information sets which belong to each player: For every player i˙I¨{0}, the set H i={h˙H:ÙÅx˙h,ôªxº=i} contains the information sets 15Note that this wouldn’t be the case if we were playing the game represented by the nontree of Figure 1b. If we had reached the bottom node, we wouldn’t know whether we had arrived there via the clockwise or counterclockwise path from the top initial node.16You might object that in the real world there often are many different ways to reach the same result. Such a situation can be modeled within this framework. You would still have a different terminal node for each of these histories; but you would assign the same payoff vector to each of these terminal nodes.17“But what’s wrong with that? Perhaps it’s a simultaneous move game. Then it would be perfectly kosher to have two players believing it’s their turn,” you say. In an extensive-form representation a simultaneous-move game is modeled as a sequential game where the second mover doesn’t get to observe the first mover’s choice at least until after the second mover has played. We’ll discuss simultaneity further later.18One partition is a refinement of a second partition if each cell of the first is a subset of some cell of the second. More formally…. Let ˜={M i}i˙{1,…,m} and ˆ={N i}i˙{1,…,n}be two partitions. M is a refinement of N, denoted ˜üˆ, if ÅM i˙˜, ‰N j˙ˆsuch that M iÓN j. In such a case we say that ˆ is coarser than ˜.owned by player i. Therefore, for all i˙I¨{0}, U h˙HÙh=X i.iIn general, for any information set h˙H, ôªhºfi{ôªxº:Ùx˙h} would refer to the image of the set of nodes h under the node-ownership function ô; i.e. ôªhº would be the set of players who owned one or more nodes in h. However, since all nodes in h are owned by the same player, we see that ôªhº is single valued; i.e. Åh˙H, #ôªhº=1. Therefore we can also consider, with some abuse of notation, ô to be an information-set ownership function ôªhº={i˙I¨{0}:ÙÅx˙h,ôªxº=i}. As with decision nodes, we say that an information set belongs to a particular player or that a player owns a particular information set. Thirdly, every node in an information set must have the same set of available actions. Otherwise the player wouldn’t be sure which actions were truly available to her. I.e. Åh˙H, Åx,x’˙h, Aªxº=Aªx’). It is useful then to refer to the set of actions available at an information set h˙H, viz. the image of h under the correspondence A: Aªhº=U x˙hÙAªxº, because for all nodes in the information set Aªhº is the set of actions available there: Åx˙h, Aªxº=Aªhº.We can summarize these last two restrictions byÅh˙H, Åx,x’˙h, ôªxº=ôªx’º and Aªxº=Aªx’º.(2) An information set may be a singleton—it may consist of only a single node. If every information set of every player is a singleton, we have a game of perfect information; i.e. Åh˙H, #h=1, or equivalently: Åi˙I¨{0}, Åh˙H i, #h=1. If any information set contains more than one node—i.e.‰i˙I¨{0}, ‰h˙H i, such that #h>1—then the game is one of imperfect information. When an information set contains more than one node, we indicate this graphically on the extensive form by connecting all of the nodes in that information set with a dashed line. Singleton information sets require no special ornamentation. For example, the game in Figure 4 has perfect information; therefore H1={{O},{∂}}, H2={{å},{∫}}.(3) Return to the perfect information game of Figure 4. If we change the information structure so that player 1’s first move is unobserved by player 2 by the time player 2 makes his first move, then he doesn’t know at which of his two nodes he is located. We indicate this information imperfection by connecting these two nodes with a dashed line. (See Figure 5a.) Each of player 1’s two nodes belongs to its own information set. In this game then there are three information sets: two belonging to the first player and one belonging to the second. Note that, as required, player 2 has the same two actions, viz. g and s, available at both nodes of his information set; Aªåº=Aª∫º={g,s}. Contrast each player’s collection of information sets in this game, viz.H1={{O},{∂}}, H2={{å,∫}},(3) with those given in (3) for the game in Figure 4.The pseudo–extensive form of Figure 5b has two violations of the restrictions upon information sets. One information set consists of nodes belonging to different players. (Consider the information set h={å,∫}, where ôªåº=2 but ôª∫º=3.) A second information set has different actions available to itsplayer at different nodes. (Consider the information set h’={∂,©}, where Aª∂º={U,D} but Aª©º={L,C,R}.)In summary, then, an extensive-form game Ì is defined by a tree (V,E), a distinguished vertex O , a set of actions A , an action-for-edge assignment function f:ÙE§A , an information partition H of the decision nodes X , a player set I , a node-ownership function ô:ÙX§I¨{0}, and player payoff functions µi :ÙZ§Â for i˙I . From this definition the following entities can be derived: the set X of decision nodes,the set Z of terminal nodes, the set of actions Aªxº available at each decision node x˙X , the player partition Ù, and the precedence relation ü on V . It is further required that, for each information set h˙H ,every node in h shares the same player-owner and shares the same set of available actions: Åh˙H ,Åx,x’˙H , ôªxº=ôªx’º and Aªxº=Aªx’º.Games of perfect recallWe’ve established some restrictions on what nodes we can include in the same information set: We can only draw dotted lines which connect nodes which belong to the same player and at which the same set of actions is available. Now I’ll present two extensive-form fragments which might suggest additional restrictions.In Figure 6a, at node å player 1 can choose Left and turn the move over to player 2 or she can choose Right and immediately move again. If she chooses Right, she reaches node ∫, which is in the same information set as the node å from which she had just come. Note what this particular information set construction implies: When player 1 chose Right at node å, she realized what she was doing. When she then reaches ∫, she doesn’t know whether she’s at ∫ or back at å. Therefore she no longer knows that she chose Right when at å; she has forgotten the action she just took.It is typical in game theory to restrict ourselves to games of perfect recall . In such games a player always know what actions she has taken and never forgets anything she ever knew. How do we(a)(b)Figure 5: A game of (a) imperfect information and (b) implausible information.formalize this restriction?19 We can rule out the game fragment in Figure 6a with the following requirement: If two nodes are in the same information set, then neither can precede the other. (Åh˙H ,Åx,x’˙h , neither xüx’ nor x’üx .)However, that requirement isn’t sufficient. Consider Figure 6b. Nodes ∂ and © are both in the same information set. There are two ways player 1 can reach that information set: She can be at node å and choose stop, or she can start at node ∫ and play Up. Note that å and ∫ are not in the same information set; therefore they represent different information—different histories. If player 1 reaches å she knows that she reached å but never passed through ∫; if she reaches ∫ she knows she reached ∫ but never passed through å. But if she reaches the {©,∂} information set via node å, say, she cannot possibly know that she didn’t pass through ∫. (If she did know this, then she would know for certain that she is at node ∂. But that would violate the information set’s knowledge restriction that she doesn’t know which of the two nodes ∂ and © she is at.) Therefore she has forgotten something she knew earlier; so this would be a violation of perfect recall.The extensive-form fragment of Figure 6b doesn’t violate the prohibition that members of the same information set should not be ordered by precedence; so we need a stronger restriction. The formal characterization of this restriction is extremely arcane and abstruse.20 I’ll try to motivate it the best I can.Consider two nodes ∂ and © which belong to the same information set for player 1. Now consider a player-1 node å which precedes ∂ when player 1 chooses the action a at å. (See Figure 7a.21) When19There are two reasons to be interested in perfect recall. The first is that most if not all games we would be interested in analyzing would satisfy this property. (But for precisely this reason there would be little point in formalizing the restriction.) More important theoretically, however, is that the restriction to games of perfect recall allows a simplification in the analysis of these games: We will see later that in games of perfect recall there is an equivalence between mixed strategies and behavior strategies such that we can choose whichever analytical perspective is more convenient.20See Fudenberg and Tirole [1991: 81], Kreps and Wilson [1982: 867], Kreps [1990: 374–375], and Myerson [1991: 43–44]. The property so defined will prove sufficient for a later demonstration of the equivalence between mixed and behavior strategies. Kuhn [1953: 213] defines a weaker property, which he also calls perfect recall. Although this is a misnomer, his property is necessary and21∂but not necessarily an immediate predecessor.(a)(b)Figure 6: Two game fragments with forgetful players.。
langston hughes简短诗歌英文版
langston hughes简短诗歌英文版全文共3篇示例,供读者参考篇1Langston Hughes was an influential American poet, novelist, and playwright. He was a key figure in the Harlem Renaissance, a cultural movement that took place in the 1920s and 1930s and aimed to celebrate African American culture and heritage. Hughes' work often focused on the struggles and joys of African Americans, and he used his poetry to illuminate issues of racism, injustice, and inequality.One of Hughes' most famous poems is "The Negro Speaks of Rivers," which was published in 1921 when he was just 19 years old. The poem is a powerful reflection on the history and strength of African Americans, drawing connections between the rivers mentioned in the poem and the deep roots of African culture.I've known rivers:I've known rivers ancient as the world and older than the flow of human blood in human veins.My soul has grown deep like the rivers.I bathed in the Euphrates when dawns were young.I built my hut near the Congo and it lulled me to sleep.I looked upon the Nile and raised the pyramids above it.I heard the singing of the Mississippi when Abe Lincoln went down to New Orleans, and I've seen its muddy bosom turn all golden in the sunset.I've known rivers:Ancient, dusky rivers.My soul has grown deep like the rivers.This poem is a beautiful meditation on the interconnectedness of African Americans with the rivers of the world, highlighting the enduring strength and resilience of the African spirit.Another famous poem by Langston Hughes is "Harlem," which was published in 1951 and is often referred to by its opening line, "What happens to a dream deferred?" This poem explores the consequences of deferring one's dreams and the impact of societal oppression on individual aspirations.What happens to a dream deferred?Does it dry up like a raisin in the sun?Or fester like a sore--And then run?Does it stink like rotten meat?Or crust and sugar over--like a syrupy sweet?Maybe it just sagslike a heavy load.Or does it explode?"Harlem" is a powerful and evocative poem that captures the frustration and despair of African Americans who are denied the opportunity to pursue their dreams. Hughes' use of vivid imagery and potent language makes this poem a poignant reflection on the human experience.Langston Hughes' poetry continues to resonate with readers today, as his themes of identity, injustice, and resilience are still relevant in our contemporary society. His evocative language and powerful imagery have cemented his legacy as one of themost important poets of the 20th century, and his work remains a testament to the enduring power of the human spirit.篇2Langston Hughes was one of the most influential poets of the Harlem Renaissance, a cultural movement that emerged in the 1920s and 1930s. Known for his powerful and evocative verses, Hughes's poetry often explored themes of race, identity, and the struggles of African Americans in a racially divided society.One of Hughes's most famous poems is "The Negro Speaks of Rivers," which he wrote when he was just 17 years old. In this poem, Hughes celebrates the rich history and heritage of African Americans, drawing on the imagery of rivers to symbolize the deep roots of black culture. The poem begins with the powerful lines:"I've known rivers:I've known rivers ancient as the world and older than theflow of human blood in human veins."These opening lines establish the theme of the poem and set the tone for the rest of the verse. Hughes goes on to connect therivers to the history of African Americans, referencing the Euphrates, the Mississippi, the Congo, and the Nile as symbols of the resilience and strength of black people throughout the centuries.Another iconic poem by Langston Hughes is "Harlem," also known as "A Dream Deferred." This poem reflects on the frustrations and disappointments faced by African Americans in the face of racism and inequality. The poem poses the question:"What happens to a dream deferred?Does it dry uplike a raisin in the sun?"Through this powerful imagery, Hughes captures the sense of hopelessness and despair that many black Americans experienced during this time.Overall, Langston Hughes's poetry continues to resonate with readers today, as his words speak to the universal themes of struggle, resilience, and the power of the human spirit. His poems are a testament to the enduring legacy of the Harlem Renaissance and the ongoing fight for equality and justice in America. Langston Hughes's work remains a powerful and poignant reminder of the importance of speaking out againstinjustice and celebrating the richness of African American culture.篇3Langston Hughes was a prominent American poet, social activist, and novelist. His work is known for its powerful portrayal of the African American experience and its exploration of themes like inequality, racism, and the search for identity. Hughes' poetry is characterized by its use of simple language, vivid imagery, and a distinct musical quality. Throughout his career, Hughes published numerous collections of poems that continue to resonate with readers today.One of Hughes' most famous poems is "Harlem," which is also known as "A Dream Deferred." This poem explores the consequences of delayed dreams and the impact of unfulfilled aspirations. The opening lines of the poem pose a series of questions: "What happens to a dream deferred? / Does it dry up like a raisin in the sun?" This imagery of a dried-up raisin conveys a sense of loss and disappointment, illustrating the way unfulfilled dreams can wither and fade away.Hughes' poetry often reflects his commitment to social justice and his desire to bring about change. In "I, Too," Hughescelebrates the resilience and strength of the African American community in the face of oppression. The poem asserts the speaker's identity and asserts his place at the proverbial table, declaring, "I am the darker brother. / They send me to eat in the kitchen / When company comes." Despite being marginalized and excluded, the speaker asserts his worth and declares his right to claim his space and demand equality.Hughes' poetry also explores themes of heritage, tradition, and cultural pride. In "The Negro Speaks of Rivers," Hughes traces the history of the African diaspora through a series of powerful images: "I've known rivers ancient as the world and older than the flow of human blood in human veins." These lines evoke a sense of connection to the past and highlight the enduring presence of African culture in the world.Overall, Langston Hughes' poetry continues to be celebrated for its powerful language, evocative imagery, and timeless relevance. Through his work, Hughes made a significant impact on American literature and helped to shape the cultural and political landscape of his time. His poems remain a testament to the enduring power of art to inspire, provoke, and challenge readers to think differently about the world around them.。
罗兰 ME-80 吉他多效器说明书
Mobile, battery powered, and filled with a diverseselection of flagship-quality BOSS COSM ampsand effects, the ME-80 is the ideal compact toneprocessor for performing guitarists. A friendlyknob-based interface makes it simple to dial ingreat sounds in seconds, while easily selectableoperation modes offer the flexibility of individualstompbox-style on/off or instant recall of complexmulti-effects setups. Unique new footswitchesdeliver twice the control of previous designs forefficient and intuitive effects switching, patch selection, and real-time sound shaping whileplaying on stage. The free BOSS TONE STUDIO software unlocks even more tonal possibilities,providing a cool graphical interface for tweakingand organizing sounds on your computer, plus aweb connection to BOSS TONE CENTRAL for directaccess to free gig-ready patches created by toppro guitarists and much more.Hands-On Access to a World of Great Tones ■Compact and powerful floor multi-effects with a simple knob-based interface■Eight simultaneous effects categories, each with multiple effects types■Dial up tones with the ease of using your favorite stompboxes■Includes a massive selection of top-quality effects, from classic BOSS stomps to the latest MDP effects■Updated flagship-level COSM amps derived from the GT-100■Eight multifunction footswitches and expression pedal■Manual mode for stompbox-style on/off; Memory mode for switching complete patch setups■Delay section includes Phrase Loop function with 38 seconds of recording■Runs on six AA batteries or optional PSA-series AC adaptor■USB audio/MIDI interface built in■Free BOSS TONE STUDIO software allows you to edit and organize tones on your computer, and also preview and downloadfree patches directly from the BOSS TONE CENTRAL websiteA Huge Selection of BOSS Effects in One PedalNo matter what style you play, it’s easy to craft your own personal sound with the ME-80’s wide range ofbuilt-in effects. A complete history of gig-ready BOSS tone processing is at your command, from multiple overdrives and distortions to wahs, mod effects, pitch shifters, delays, and beyond. BOSS’ groundbreaking Multi Dimensional Processing (MDP) technology is represented with the unique, spacious ambience of Tera Echo and thedistinctive tone-shaping possibilities of Overtone. Updated COSM preamps include new additions such as Crunch and Metal, plus an AC preamp designed for acoustic/electric guitar. The onboard expression pedal can be used for foot volume and pedal effects like wah, octave shift, and Freeze, and it’s also possible to control effects parameters such as mod rate, delay oscillation, and more for expressive real-time sound shaping.Instant Gratification with Dedicated KnobsUnlike typical menu-driven multi-effects processors that arecomplicated and unintuitive, using the ME-80 is as easy asusing a stompbox. Effects are organized into eight logicalcategories that can all be active at the same time. Sevencategories contain multiple effects types to choose from, plusdedicated knobs for selecting a type and adjusting it with aset of parameters you’d find in the pedal version of the effect.The Pedal FX category has its own knob for quickly assigninga particular effects type or function to be controlled by footwith the expression pedal. With this familiar and friendlyinterface, you’re able to dial up and play great tones instantly,just like using a large pedalboard filled with your favoritestomps. But a major advantage over that pedalboard is thatyou can to save all the current knob settings to one of theME-80’s 36 user patch locations, allowing you to recall customeffects configurations at the touch of a pedal.Stompbox Immediacy or Multi-FX Power: You DecideThe hands-on experience that stompbox control provides is perfect for tweaking tones as you go. However, there are times when switching among an entire group of preset effects is more efficient, such as when you’ve set up complex tones for different songs. The flexible ME-80 supports either approach, giving you the best of worlds. In Manual mode, the categories function like individual stomp effects, with instant adjustment via the panel knobs and on/off control with dedicated footswitches. By entering Memory mode, seven footswitches are automatically reconfigured to select user or preset patches and patch banks, letting you recall complete multi-effects setups directly. One footswitch on the ME-80 is dedicated just for mode switching, so you can toggle between Manual and Memory modes any time you want, even in the middle of a song.New Footswitch Design Delivers Twice the ControlThe ME-80 offers easy usability while performing, witheight multifunction footswitches for direct control ofeffects on/off, bank/patch selection, and mode switching,plus convenient access to alternate functions such as taptempo, tuner, looper control, and more. A special control(CTL) function is also assignable in each patch, lettingyou toggle grouped effects on/off or adjust a specifiedparameter in real time. The newly developed footswitchstyle provides two switches in the space occupied by onein previous designs, allowing BOSS to equip the ME-80 witha generous array of foot-operated controls while keepingthe unit extremely compact and mobile. In addition to theeight main footswitches, the expression pedal is equippedwith an integrated toe switch that toggles between footvolume and the current Pedal FX setting.USB Audio/MIDI Interface Built InVia USB, you can connect to your computer and capture the output of the ME-80 directly into your favorite DAWto record pro tones with COSM preamps and effects. It’s also possible to monitor the ME-80’s effects sound while recording an unprocessed signal into a DAW track; after the fact, use the USB Loopback function to “re-amp” the dry track with the ME-80, tweaking the knobs as you listen to the song to capture the perfect tone. MIDI transfer over USB is also supported, allowing you to select ME-80 patches from your computer, send expression and control pedal data into your software, and swap patches via BOSS TONE STUDIO.Edit and Organize Tones and Connect to the Webwith BOSS TONE STUDIOAvailable as a free download, the BOSS TONE STUDIO application provides an inviting graphical interface for tweaking the ME-80’s effects from your Mac or Windows computer through USB. The software makes it easy to save, edit, and organize your patches, and to load them into the ME-80 as needed for different gigs and other applications. If your computer has Internet access, BOSS TONE STUDIO also provides an integrated connection to the BOSS TONE CENTRAL website, allowing you to preview and download gig-ready patches created by top guitar pros directly into your ME-80! In addition to expanding your palette of tones, these free patches provide solid foundations for creating your own patches with the ME-80’s extensive array of effects.BOSS TONE CENTRAL: Your Web Home for Free Patches, Instructional Vids, Artist Tips, and MoreBOSS TONE CENTRAL is the ultimate destination for all players that use BOSS guitar and bass gear. The initial focus of this powerful new web portal is on the ME-80, but compact stomps and other BOSS multi-effects will be included as the site grows. Right now, you have access to lots of great ME-80 content, including demo videos and free patches created by famous guitarists, touring pros, and session players. Check back often for additional patches, how-to videos, artist interviews, and much more. If you love BOSS effects, BOSS TONE CENTRAL is the place to be!*Access 。
Oracle基础(习题卷8)
Oracle基础(习题卷8)第1部分:单项选择题,共63题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]下列()不是一个角色A)CONNECTB)DBAC)RESOURCED)CREATE SESSION答案:D解析:2.[单选题]在以下命令中,一个使用哪一个来激活(开启)一个角色?( )A)SET ROLLB)ALTER USERC)CREATE ROLED)ALTER SYSTEM答案:A解析:3.[单选题]当一个段需要额外的磁盘空间时,应该增加哪一种数据库的逻辑组件?( )A)区段( extents)B)表空间C)数据库块D)操作系统块答案:A解析:4.[单选题]存储数据的逻辑单位,按大小依次为()。
A)表空间、数据块、区和段B)区、表空间、数据块和段C)段、区、表空间和数据块D)表空间、段、区和数据块答案:D解析:5.[单选题]A non-correlated subquery can be defined as . (Choose the best answer.)A)A set of one or more sequential queries in which generally the result of the inner query is used as the search value in the outer query.B)A set of sequential queries, all of which must return values from the same table.C)A set of sequential queries, all of which must always return a single value.D)A SELECT statement that can be embedded in a clause of another SELECT statement only.答案:A解析:C)alter system remove user brent cascade;D)drop user brent cascade;答案:D解析:7.[单选题]系统事件触发器共支持5种系统事件,下列()事件不会激发触发器。
How many words are there
Keywords: Vocabulary size, Zipf´s law 1. Introduction Ask the lay person how many different words are there, and you are likely to receive a surprisingly uniform set of answers. English has more words than any other language. There are over a hundred thousand words in unabridged dictionaries. The OED has over three hundred thousand, but there are still a few words missing. A five year old knows five thousand words, an adult uses fifteen thousand. Shakespeare used thirty thousand, but Joyce used even more. Some primitive tribes get along with only a few hundred words. Eskimo has seventeen words for snow. Introductory linguistics courses invariably spend a great deal of energy on rebutting these and similar commonly known —facts“ about languages in general and English in particular. But the basic fallacy, what we will call the closed vocabulary assumption, that there is a fixed number of words S in any given language, is often present even in highly technical work otherwise based on a sophisticated understanding of language. Open vocabulary, that words in a language form a denumerably infinite set, is a standard assumption in generative linguistics, where it is justified by pointing at productive morphological processes such as compounding and various kinds of affixation. Yet somehow the existence of such processes generally fails to impress those with more of an engineering mindset, chiefly because the recursive aspect of these processes is weak œ the probability of iterated rule application decreases exponentially with the number of iterations. In this paper we offer a new quantitative argument why vocabulary must be treated as open. We investigate vocabulary size not as an isolated number, but rather as part of the broader task of trying to estimate the frequency of words. The rest of this Introduction establishes the terminology and notation and surveys the literature. Section 2 disposes of some widely used arguments in favor of closed vocabulary by means of counterexamples and introduces the subgeometric mean property that will play a crucial role in the subsequent analysis of vocabulary size. Section 3 explores the regions of extremely high and extremely low frequencies, where the basic regularity governing word frequencies, Zipf's Law, is known to fail. Section 4 investigates some widely used alternatives to Zipf's Law, including the beta, lognormal, Waring, and negative binomial distributions, and shows why most of these are inferior to Zipf's Law. We offer our conclusionpondence to: Andras Kornai, Metacarta Inc. 126 Prospect St, Cambridge, MA 02139 USA. E-mail: andras@
minimal set
Decomposition of a 2D polygon into aminimal set of disjoint primitivesH. Lipson M. ShpitalniAbstractThis paper presents a method based on artificial intelligence (AI) techniques for decomposing a two-dimensional polygoninto a minimal set of disjoint primitives. Decomposition isaccomplished using a search algorithm based on recursivelysplitting the given shape into smaller parts until a primitive isrecognized. The method operates in a primitive-orientedenvironment, where each primitive type must provide three basicmember functions, namely (a) a function for recognizing a shapeas the primitive, (b) a function for suggesting new splittingcurves for a given shape, and (c) a function for optimisticallyestimating the number of primitives required to tile a shape.Optimality in the number of decomposition units can beguaranteed subject to the domain spanned by function (b). Theproposed method produces a hierarchical decomposition of theshape. Examples from a working implementation are shown.IntroductionThe need for converting from Boundary representation (B-Rep) to Constructive Solid Geometry representation (CSG) has arisen in many geometric modelling and image processing applications and has motivated both practical and theoretical interest. Rigid three-dimensional homogeneous solids or two-dimensional shapes may be modelled as sets of compact, regular and semi-analytic points. Requicha [1] describes six families of informationally complete representation schemes. Of these, CSG and B-Rep are most widely used. While transformation from CSG to B-Rep is relatively well understood [2], the reverse is not. The need for B-Rep to CSG conversions arises mainly in solid modelling packages, where alternative representations allow application of various representation-specific technologies, more versatile user-interface options and more compact storage.In general, there are three approaches to the problem of B-Rep to CSG conversion. The first approach converts the boundary to a set of half-spaces joined by Boolean algebra. Such algorithms have been proposed both for two-dimensional polygons [3] and for three-dimensional solids [4, 5]. The second approach describes the object's geometry as the difference between its convex hull and its concavities.1The process is repeated recursively until only convex components remain. These, in turn, are described as a union of half-spaces corresponding to their faces. Such algorithms are applied to two-dimensional shapes [6] and three-dimensional solids [7]. The third approach uses decomposition techniques [8,9]. These can be divided into partitioning methods and covering methods. Partitioning methods subdivide a shape into non-overlapping convex pieces, whereas covering techniques allow overlapping of the components and thus usually take advantage of collinear edges. Tiling problems in combinatorial geometry [10] are also related; however, they usually do not focus on minimal sets or multiple tile types (primitive shapes). Dynamic programming techniques have also been used [11].The approach proposed in this paper can be classified as a partitioning decomposition method. A given two-dimensional polygon is partitioned into a finite set of non-overlapping primitives or subtracted primitives. The partitioning provides a general framework into which various primitives and target functions can be "plugged in". As output, the given polygon is tiled with a set of the given primitives, according to the given target function. The tiling approach provides a form of CSG decomposition of the given shape. Moreover, it can also be used in other applications, such as computing geometrical properties like the area of a polygon while allowing simple manual verification, two-dimensional geometrical disjoint feature recognition, and meshing.In this paper, the basic problem and solution approach are outlined. Then, the algorithm structure and implementation are described in detail, and examples from a working implementation are provided.Problem and solution approachThe goal of the decomposition process is to break down a given convex or concave polygon into a minimal set of predefined primitives. The polygon is constructed from straight line segments arranged in a convex or concave contour. More complex geometries, such as multiple or nested contours, can be decomposed by treating each of their contours separately. The primitives themselves are also polygons with specific properties.Decomposition is achieved by recursively splitting the given shape into smaller parts until a primitive is recognized, as illustrated in Figure 1. Note that although each polygon can be split in an infinite number of ways, the number of topologically different splits is limited. A split is considered topologically different from another split if it creates a different number or arrangement of segments or if the segments exhibit some geometrical regularity such as collinearity or parallelism.2Figure 1. Recursive splitting down to the primitive level.Figure 2 illustrates 16 different split possibilities for a rectangle. The last two are considered different only because they exhibit the parallelism regularity. The splitting problem can therefore be transformed from an infinitely continuous domain into a discrete problem space, making it a combinatorial optimization problem.While the number of options still remains large, various well established AI search techniques can now be applied. For a survey of search techniques, refer to [12,13]. Relevant search methods are described briefly here.Figure 2. (a) 16 topologically different ways to split a rectangle.(b) Two are geometrically (not topologically) special.3Search MethodsSearch is a universal problem-solving technique in artificial intelligence. It systematically explores alternative sequences of steps required for solving a problem. Each step leads from one state to the next in the problem-state domain. All that is required is a set of states, a set of legal operators, an initial state, and a goal criterion. For polygon decomposition, the initial state is the original polygon and the legal operator is splitting. Activating the splitting operator on the initial state produces several alternative new states, which, in turn, may be subject to further splitting. A final state in the decomposition problem is a state where all the "pieces" are identified as primitives, and the goal is to minimize the number of primitives. Figure 3 illustrates this process, from the initial state through generation of intermediate states to the final goal states.Brute force techniquesThe most general search algorithms are termed brute force searches since they do not require any domain-specific knowledge. Thus, for brute force decomposition, two basic functions are required:• A function to provide splitting operators (and execute them)• A function to recognize and count primitives in a solution state.The most important brute force search techniques are breadth-first, depth-first, iterative deepening and bi-directional searches. These techniques differ in time and space complexities, but they will eventually scan the complete problem domain before they can declare the optimal solution. Due to the large number of splitting operators possible in the polygon decomposition problem, however, a full scan is impractical. Heuristic SearchAll brute force searches are inefficient because they are essentially blind searches. They use no knowledge about which nodes (decomposition states) should be expanded next. A heuristic search, in contrast, takes advantage of information available in the problem domain to differentiate between the likelihood of various states to lead to the goal state.This information, often termed a heuristic evaluation function, estimates the distance between two states in the problem domain. The distance can usually be estimated without actually determining the path between the states and can therefore be evaluated at relatively low computational cost. In the polygon decomposition problem domain, a457843Figure 3. Decomposition states leading from the initial polygon toseveral decomposition alternatives.heuristic evaluation function estimates the number of primitives required to tile a given shape without actually finding them.A* Heuristic SearchOne of the most established heuristic search algorithm is A* (A-Star) [13]. In this algorithm, each state is assigned a value corresponding to its likelihood to lead to a solution. This value takes the form f(n) = g(n) + h(n), where g(n) is the actual cost of the path leading from the initial state to node (state) n and h(n) estimates the lowest cost from node n to a final goal state. The search process always selects and expands the state with the lowest f(n). In the polygon decomposition problem, new states are generated by splitting the basic state in various ways. The figure of merit associated with each state f(n) is the number of pieces already identified as primitives g(n) plus an estimation of the number of primitives required to tile the remaining pieces which have not as yet been identified as primitives h(n).A* always finds an optimal path to a goal (lowest cost path) if the heuristic function h(n) does not overestimate the actual cost to the goal [14]. The first solution found is the optimal solution, provided that the cost function f(n) is monotonic, i.e., it is consistent by obeying the triangle inequality of metrics. This requirement ensures that A* will expand paths in non-decreasing order of cost, and thus once A* finds a path to a goal node, it is the lowest cost path.To conclude, the three functions necessary to execute a heuristic search in the polygon decomposition problem domain are as follows:• A function to estimate the number of primitives required to tile a polygon. This function must be monotonic and should never overestimate the real number.• A function to provide splitting operators (and execute them).• A function to recognize and count primitives in a solution state.ImplementationPrimitive member functionsTo facilitate introduction of primitive-specific knowledge, "private" functions are associated individually with each primitive type. In an object-oriented sense, a primitive object must provide three member functions: functions for split-suggestions, functions for heuristic estimation, and functions for primitive identification.The split-suggestions functionThe split-suggestions function proposes how to split the shape. The routine should suggest none, one or more split lines. Primitive-specific information is used to select the most promising possibilities. The following rules are observed:1. All split lines must start at a polygon vertex, thus reducing the number ofsegments in the split pieces.2. Split lines that are collinear with other segments of the polygon boundary arepreferable. This criterion increases the effectiveness of tiling primitives, since a primitive edge may match more than one edge of the polygon.3. Split lines exhibiting some geometrical regularities which also exist in a primitiveare preferable. For example, for a rectangular primitive, split lines creating 90° angles with one or more of the contour segments are preferable. For a trapezoid primitive, split lines parallel to one or more of the contour segments are preferable. A triangle has no preferences in this respect.67(a) (b) (c) Figure 4. (a) Split lines preferred by collinearity. (b) Split lines preferred by 90° criterion. (c) Some split lines suggested by a triangle object.Split line suggestions are "collected" from each of the primitive objects and are considered as operators to advance the current decomposition state in the decomposition problem domain. Figure 4 illustrates some split suggestions. Heuristic estimation functionThe function guiding the heuristic search is the estimation function. This function forecasts the number of primitives necessary to tile a given polygon. It should not overestimate the actual number but should approach it from below as closely as possible. As the estimation approaches the real number, the number of nodes expanded by the heuristic function decreases.If the N -sided polygon is already in the form of a primitive, the estimation function should return "1"; otherwise, at least "2" is necessary. Primitives used to tile a polygon must have at least one edge in common. Consequently, if a primitive with n sides is used as a tile, it may match at most (n -1) segments of the N -sided polygon contour. Therefore, N/(n -1) primitives can be expected, and the minimum number of primitives k necessary to tile a polygon with N sides is at leastk =max 2,N (n −1) æ è ç ö ø ÷if the polygon is not a primitive itself. The assumption that each primitive matches (n -1) segments of the polygon contour is equivalent to the best case and thus ensures that k is not overestimated.The proposed heuristic estimation function is monotonic. Refer again to the N -sided polygon. The estimated number of primitives is given by the above equation. If this polygon is split into two new polygons, the total number of contour segments is increased by at least 2 ( if the split8(a) (b) Figure 5. (a) 4 collinear points require a reduction of 2 in the number of sides. (b) 3 collinear points require a reduction of 1.line coincides with a diagonal of the polygon). The sum of the estimations of both split pieces k1+k2 must therefore be at least k. Since the values of k1 and k2 are rounded upwards, cases where k1 or k2 are not factors of N can only increase the sum k1+k2.Special cases where one or more lines are collinear in the given polygon or in the resulting split pieces must be considered and treated separately. In such cases, a single primitive may simultaneously match more than one line of the contour. This may cause the heuristic function to overestimate the actual number of primitives. To remedy this, collinear lines or collinear points are counted differently. In cases of m )m>2) collinear vertices, the number of lines that may be created using these vertices is (m -1). These (m -1) lines can be matched simultaneously (in the worst case) by one primitive. To ensure that the heuristic function does not overestimate, these (m -1) lines are counted as one, i.e., (m -2) lines must be subtracted from the original N lines of the polygon before k is calculated . In Figure 5 (a), N'=8 but there are 4 collinear points. Thus, (m-2) = (4-2) is subtracted from N , so that N=6. An estimation of tiling with rectangles where n=4 produces the estimation of k = N'/ (n-1) = 6/3 = 2, which is a correct estimation. Similarly, an estimation of triangle tiling of the shape illustrated in Figure 5 (b) is also corrected by this amendment.Primitive IdentificationAll primitive objects must supply a function for identifying a polygon as the primitive. Precise implementation depends on the primitive type, but care must be taken to overcome pathological cases of zero-length lines, subdivided lines and near-accurate angles. Typically, some tolerance is required in the identification.Algorithm stepsGiven an initial polygon to decompose, the decomposition proceeds as follows:1. Compute the cost f(n) of the given polygon and store it in the Open-State list.2. Select the lowest cost state from the Open-State list. Check whether all the piecesare primitives. If so, the optimal solution has been obtained - Stop.3. Obtain splitting suggestions for the lowest cost state from all primitive functions.Merge and eliminate duplicate suggestions. Move the state to theClosed-State list.4. Duplicate the current state, split according to each suggestion in turn, computecost, and store the new states in the Open-State list.5. Go to step 2.This procedure always converges into the optimal decomposition, namely, achieving the minimal number of non-overlapping primitives required to tile the original shape. It is important to note that optimality is guaranteed subject to the options spanned by the splitting suggestions. If a certain subdivision is never suggested, it will never be reached."Plug-in" primitivesThe estimation term in the cost computation is obtained by taking the most optimistic forecast of the estimator functions of all the primitives. A primitive is identified sequentially by calling the identification routine of each primitive, and split suggestions are obtained by merging the suggestions of all primitive split-suggesting functions. That is, addition of a new primitive to the decomposition system involves only the addition of a new primitive object supplying the three member functions.Convergence of the search procedure can be guaranteed only if a goal state is feasible. In the polygon decomposition problem domain, feasibility corresponds to the ability to tile an arbitrary shape with some primitive. To ensure this, a triangular primitive must always be available to the system, and the triangular split-suggestion function must be able to decompose any shape.910Figure 6. Partially duplicate decomposition states.Elimination of duplicate statesOne of the reasons for the large number of decomposition states is the duplication of state configurations. A state duplication occurs under two circumstances. The first case is a consequence of applying the same set of split operators in a different sequence. Figure 3 shows four final decomposition states, each duplicated twice (e.g., state 1 and state 5). The second case is a partial state duplication, where one or more of the pieces in a state appears in another state as well. Here, the decomposition algorithm will "work" on decomposing that specific piece more than once. Such a situation can occur as a result of different sequences, as is illustrated in Figure 6.The first situation stems from the fact that the heuristic search algorithm does not search only states but also paths to states; there are several optimal decomposition states and several paths leading to each. The search algorithm may simultaneously expand several paths that ultimately lead to the same decomposition. In the decomposition problem, however, optimality is a function of the final state and not of the path leading to it. State repetition can be avoided by posing a constraint so that any decomposition state can be reached from only one decomposition path (i.e., one splitting sequence). The constraint is enforced by assigning some arbitrary order to the split operators. The order, for example, can be the chronological order in which the split11 a dab cdec fd a g b hFigure 7. Duplicate decompositions eliminatedby disallowing descending split sequences.operators are first suggested. Once an order is set, the search process should disallow the application of split operators in an order different from their assigned order. This eliminates the possibility of the same state being found by following different paths without missing any decomposition state. Only one sequence of split operators can correspond to any given decomposition state. The number of paths eliminated by this technique is proportional to the number of paths leading to each decomposition state, which is roughly a factorial of the number of split operations.Consider the example shown in Figure 7. The given shape can be initially decomposed using four suggested split lines. These split lines are assigned the letters a, b, c and d , according to some arbitrary order. The shape in the initial state is then decomposed into four new states, each created by splitting the shape in the initial state according to one of the four splitting suggestions. The letter above the new state indicates which split operator was used to obtain that state. Next, two split suggestions are provided for each new state. These split suggestions are also labelled with letters; note however, that split lines previously considered are recognized and assigned their original letter. For simplicity, the heuristic function recommendation is temporarily disregarded and all the new states are expanded. Eight new states are obtained, with the split sequence written above each. Of these eight states, only six are different, and two are duplications. More importantly, the two duplicates are those with a non-ascending lexical order of split operators. If the rule suggested above had been applied, these two states would not have been expanded.The second case of partial-state duplication, as illustrated in Figure 6, does not result in the same set of operators and will not be eliminated by the above technique. It still occurs an exponential number of times and contributes to the overall size of the search domain. The technique used to overcome this difficulty involves the actual identification of the duplicate piece and management of a list of "known pieces". Whenever a contour is encountered for decomposition, it is first matched against the list of known pieces (using a hashing function). If this is not the first instance of the shape, then data on its decomposition will be available. Conversely, if it is the first instance, decomposition continues while back-propagating data to the list and other states using this shape. This technique accelerates the decomposition process but requires space resources that are exponentially proportional to the depth of the search and therefore may be impractical on some machines.ResultsFigure 8 shows decompositions obtained by implementing the proposed decomposition algorithm. The search was accomplished using a triangle, a rectangle and trapezoid primitives (a trapezoid was defined as a quadrilateral with at least two parallel sides). The search algorithm used was iterative deepening A* (IDA*) [12], which is a space-conservative variant of the A* algorithm.ExtensionsFast Time-Limited DecompositionSome applications require real-time solutions to decomposition problems, for example in an interactive system where the user is kept waiting while a shape is decomposed. In such cases, speed may be traded for optimality.In the proposed algorithm, the most prominent time-consuming factor is the number of splitting suggestions. Optimality is sacrificed by selecting only a limited number of the most promising splits (according to the heuristic estimation), thus reducing the search domain. A parameter specifying the maximum number of suggestions taken at each1213(a) (b)(c) (d)Figure 8. Decompositions obtained using the search process.(SG Iris 4D: (a) 2.3 (b) 0.6 (c) 0.8 (d) 1.1 CPU secs.). (Shape (d) adopted from Parry-Barwick et al. [15]). level can be used to govern the solution speed versus deviation from optimality. Figure 9 illustrates a near-optimal decomposition obtained in this way.An important consideration is that because of the mechanism for identifying and storing partial decompositions, the search algorithm can be reactivated with a more elaborate search without actually recomputing parts of the tree already visited. Thus, the decomposition may be improved when more time is available (or "in the background") while minimizing resource waste.Figure 9. Near optimal decomposition obtained under a time limit(SG Iris 4D - 3.7 CPU Seconds).Tie-breakingOne of the important properties of A* is that of all search algorithms using the heuristic estimation function h(n), it expands the fewest number of nodes, up to tie breaking between equal cost nodes [16]. Ties in the cost function f(n) of candidate nodes can have a detrimental effect; at the specific point where a tie occurs, no information is available to distinguish candidate nodes. In the absence of this information, a local breadth-first search is performed. The effect of ties is especially noticeable when the cost function is discrete or of low resolution, and hence the probability of a tie in the cost function is high. In the polygon decomposition problem, the cost function is expressed as an integer estimating the number of primitives necessary for tiling a shape. This function is indeed both discrete and of low resolution (in the range of approximately 1 to n).To improve performance, the search algorithm must be supplied with more information to enable a wiser distinction between equal-cost decomposition states. Provided that this information is only used in tie situations, i.e., the information will never overrun the cost-function recommendation, its usage will not impede the optimality ensured by A*.The tie-breaking information chosen in implementing the polygon decomposition algorithm is split-length. This information describes the total length of lines along which the initial polygon was split, up to the current decomposition state. This function is heuristic; it cannot guarantee selecting the better node in a tie, but ittends to do so. The1415Split line=+Figure 10. External split lines form subtraction operations.split-length value is added as a fraction beyond the integer specifying the number of primitives. The value was scaled so that it always remains a fraction and never overruns the true cost function but only influence ties.One of the advantages of the split-length value as a tie-breaker is that it is simple to calculate and forecast. A conservative forecast is made by multiplying the number of expected primitives by the length of the shortest vertex-line distance in the polygon. Provided that the rules for selecting split suggestions are obeyed, this forecast never overestimates the actual split length. Introduction of this heuristic tie-breaking mechanism has significantly improved search time performance. Non-additive decompositionUntil now, the search algorithm was confined to those split operators that expanded the decomposition state by splitting a shape into two disjoint pieces. Relaxing this requirement provides more decomposition options. Although such relaxation may enlarge the search domain and extend the search process, it also improves the chances of encountering a more efficient decomposition. The scope of splitting operators can be expanded in various ways. In this implementation, the splitting operator scope was enhanced by allowing split lines to run outside the shape. The polygon is split into two parts: one is larger than the original shape and the other is marked by a "negative sign" indicating that it should be subtracted from the larger shape. Figure 10 illustrates such a decomposition.Introduction of this type of external split operator in the proposed decomposition algorithm allows the basic CSG operation of subtraction. While this introduction does increase the search domain size, it does not necessarily increase solution time, as might have been expected. In some cases, execution time was even reduced, perhaps because better opportunities were introduced, causing complete branches of the search tree to be pruned by the A* algorithm.(a) (b)Figure 11. Decomposition obtained using external split line, of shapes in Figure 8. (SG Iris 4D: (a) 3.6 (b) 0.5 CPU secs.)Furthermore, the number of primitives was reduced, thus reducing the maximum depth of the tree. Figure 11 shows results obtained using external split operators. Note that the introduction of external splits has allowed instances of primitive subtraction, thus making it possible for shape 11(a) to be decomposed into six primitives instead of eight (Figure 8(a)) and shape 11(b) to four pieces instead of five (Figure 8(b)). Also note that the decomposition time in these examples has not necessarily increased.Expansion to curved edge and three-dimensional solid decompositionThe proposed algorithm has been described and implemented for a restricted geometrical problem domain consisting of two-dimensional straight-edged polygons. In developing the algorithm, however, no assumptions have been made about this restricted domain. Relaxing the restriction to include curved objects or three-dimensional solids would require a new complexity analysis and the following modifications:• A basic primitive or set of primitives capable of tiling any shape in the domain must be available. If curved shapes are introduced, triangles will not suffice, and curved edge primitives must be provided. For three dimensions, a tetraheder primitive could be used to ensure convergence for planar-faced solids.• More elaborate splitting-suggestion and splitting execution procedures must be provided, according to the type of primitives supported. The basic rules regardingpreferred splitting operators may still be observed (continuation, collinearity,etc.), however, it is expected that execution of the splitting itself, which is a16。
Lifting
1
2
takes a list and nondeterministically returns some element of that list.
1 Nondeterministic Lisp
Nondeterministic programs provide a natural way of characterizing many search problems. The complexity class NP is usually de ned in terms of nondeterministic programs. A nondeterministic program is a computer program with di erent possible executions. In this chapter we investigate a nondeterministic version of the functional programming language Lisp. This chapter assumes prior experience with Lisp, although anyone with experience in some form of functional programming will probably be able to understand all of the examples. An introduction to functional programming in Lisp can be found in Sussman and Abelson, 1985]. A complete speci cation of the Common Lisp programming language can be found in Steele, 1990]. In an ordinary (deterministic) functional programming language each expression of the language either diverges (causes an in nite loop) or evaluates to a certain value. For example, in Lisp the expression (+ 1 2) evaluates to 3. In a nondeterministic programming language the evaluation of an expression involves nondeterministic choices. In nondeterministic Lisp these choices are declared using a new primitive called EITHER.1 The expression (EITHER 1 2) has two possible values | 1 and 2. The expression (+ 3 (EITHER 1 2)) also has two possible values | 4 and 5. Given this nondeterministic feature one can write simple recursive nondeterministic programs such as the following.
strictpropertyinitialization 详解
strictpropertyinitialization 详解The concept of "strict property initialization" primarily refers to a programming paradigm that enforces the explicit initialization of object properties. This approach ensures that all properties of an object are assigned a value before the object is used, thereby reducing the chances of runtime errors due to uninitialized properties. It is a key aspect of robust and predictable programming, particularly in languages that do not automatically initialize object properties.“严格属性初始化”这一概念主要指的是一种编程范式,它强制要求对象属性的显式初始化。
这种方法确保在对象被使用之前,其所有属性都被赋予一个值,从而减少了因属性未初始化而导致的运行时错误的可能性。
它是健壮且可预测编程的关键方面,特别是在不会自动初始化对象属性的编程语言中尤为重要。
In the context of object-oriented programming, strict property initialization helps maintain the integrity of object states. By requiring developers to explicitly set initial values for properties, it promotes better code readability and maintainability. This approach also facilitates debugging as it makes it easier to identify and track issues related to uninitialized properties.在面向对象编程的上下文中,严格属性初始化有助于维护对象状态的完整性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JOURNAL OF FORMALIZED MATHEMATICSV olume13,Released2001,Published2003Inst.of Computer Science,Univ.of BiałystokThe Set of Primitive Recursive Functions1Grzegorz Bancerek University of Białystok Shinshu University,NaganoPiotr Rudnicki University of Alberta EdmontonSummary.We follow[31]in defining the set of primitive recursive functions.The important helper notion is the homogeneous function fromfinite sequences of natural numbersinto natural numbers where homogeneous means that all the sequences in the domain areof the same length.The set of all such functions is then used to define the notion of a setclosed under composition of functions and under primitive recursion.We call a set primitivelyrecursively closed iff it contains the initial functions(nullary constant function returning0,unary successor and projection functions for all arities)and is closed under composition andprimitive recursion.The set of primitive recursive functions is then defined as the smallest setof functions which is primitive recursively closed.We show that this set can be obtained byprimitive recursive approximation.Wefinish with showing that some simple and well knownfunctions are primitive recursive.MML Identifier:COMPUT_1.WWW:/JFM/Vol13/comput_1.htmlThe articles[25],[11],[30],[27],[1],[32],[33],[8],[6],[12],[24],[16],[26],[9],[13],[3],[22], [4],[21],[29],[10],[19],[15],[18],[5],[7],[14],[28],[20],[17],[23],and[2]provide the notation and terminology for this paper.1.P RELIMINARIESFor simplicity,we adopt the following rules:i,j,k,c,m,n denote natural numbers,a,x,y,z,X,Y denote sets,D,E denote non empty sets,R denotes a binary relation,f,g denote functions,and p, q denotefinite sequences.Let X be a non empty set,let n be a natural number,let p be an element of X n,let i be a natural number,and let x be an element of X.Then p+·(i,x)is an element of X n.Let n be a natural number,let t be an element of N n,and let i be a natural number.Then t(i)is an element of N.The following propositions are true:(3)1 x,y +·(1,z)= z,y and x,y +·(2,z)= x,z .(5)2If f+·(a,x)=g+·(a,y),then f+·(a,z)=g+·(a,z).(6)(p+·(i,x)) i=p i.(7)If p+·(i,a)=q+·(i,a),then p i=q i.1This work has been supported by NSERC Grant OGP9207,NATO CRG951368and TYPES grantIST-1999-29001.1The propositions(1)and(2)have been removed.2The proposition(4)has been removed.1c Association of Mizar Users(8)X0={/0}.(9)If n=0,then/0n=/0.(10)If/0∈rng f,then∏∗f=/0.(11)If rng f=D,then rng∏∗ f =D1.(12)If1≤i and i≤n+1,then for every element p of D n+1holds p i∈D n.(13)For every set X and for every set Y offinite sequences of X holds Y⊆X∗.2.S ETS OF C OMPATIBLE F UNCTIONSLet X be a set.We say that X is compatible if and only if:(Def.1)For all functions f,g such that f∈X and g∈X holds f≈g.Let us observe that there exists a set which is non empty,functional,and compatible.X is function-like and relation-like.Let X be a functional compatible set.One can check thatNext we state the propositionX is a function.(14)X is functional and compatible iffLet X,Y be sets.Note that there exists a non empty set of partial functions from X to Y which is non empty and compatible.One can prove the following propositions:X= {dom f:f ranges(15)For every non empty functional compatible set X holds domover elements of X}.X(16)Let X be a functional compatible set and f be a function.If f∈X,then dom f⊆domX)(x)=f(x).and for every set x such that x∈dom f holds(X= {rng f:f ranges over(17)For every non empty functional compatible set X holds rngelements of X}.Let us consider X,Y.Note that every non empty set of partial functions from X to Y is functional.The following proposition is trueP is a partial(18)Let P be a compatible non empty set of partial functions from X to Y.Thenfunction from X to Y.3.H OMOGENEOUS R ELATIONSLet f be a binary relation.We introduce f is into N as a synonym of f is natural-yielding.Let f be a binary relation.We say that f is from tuples on N if and only if:(Def.2)dom f⊆N∗.Let us note that there exists a function which is from tuples on N and into N.Let f be a binary relation from tuples on N.We say that f is length total if and only if: (Def.3)For allfinite sequences x,y of elements of N such that len x=len y and x∈dom f holds y∈dom f.Let f be a binary relation.We say that f is homogeneous if and only if:(Def.4)For allfinite sequences x,y such that x∈dom f and y∈dom f holds len x=len y.One can prove the following proposition(19)If dom R⊆D n,then R is homogeneous.One can check that/0is homogeneous.Let p be afinite sequence and let x be a set.Observe that{p}−→x is non empty and homoge-neous.One can verify that there exists a function which is non empty and homogeneous.Let f be a homogeneous function and let g be a function.One can verify that g·f is homoge-neous.Let X,Y be sets.One can check that there exists a partial function from X∗to Y which is homogeneous.Let X,Y be non empty sets.One can check that there exists a partial function from X∗to Y which is non empty and homogeneous.Let X be a non empty set.Observe that there exists a partial function from X∗to X which is non empty,homogeneous,and quasi total.Let us observe that there exists a function from tuples on N which is non empty,homogeneous, into N,and length total.Let us mention that every partial function from N∗to N is into N and from tuples on N.Let us observe that every partial function from N∗to N which is quasi total is also length total.Next we state the proposition(20)Every length total function from tuples on N into N is a quasi total partial function fromN∗to N.Let f be a homogeneous binary relation.The functor arity f yields a natural number and is defined by:(Def.5)(i)For everyfinite sequence x such that x∈dom f holds arity f=len x if there exists a finite sequence x such that x∈dom f,(ii)arity f=0,otherwise.Next we state several propositions:(21)arity/0=0.(22)For every homogeneous binary relation f such that dom f={/0}holds arity f=0.(23)For every homogeneous partial function f from X∗to Y holds dom f⊆X arity f.(24)For every homogeneous function f from tuples on N holds dom f⊆N arity f.(25)Let f be a homogeneous partial function from X∗to X.Then f is quasi total and non emptyif and only if dom f=X arity f.(26)Let f be a homogeneous function into N and from tuples on N.Then f is length total andnon empty if and only if dom f=N arity f.(27)For every non empty homogeneous partial function f from D∗to D and for every n suchthat dom f⊆D n holds arity f=n.(28)For every homogeneous partial function f from D∗to D and for every n such that dom f=D n holds arity f=n.Let R be a binary relation.We say that R has the same arity if and only if the condition(Def.6) is satisfied.(Def.6)Let f,g be functions such that f∈rng R and g∈rng R.Then(i)if f is empty,then g is empty or dom g={/0},and(ii)if f is non empty and g is non empty,then there exists a natural number n and there existsa non empty set X such that dom f⊆X n and dom g⊆X n.Let us mention that/0has the same arity.Observe that there exists afinite sequence which has the same arity.Let X be a set.One can check that there exists afinite sequence of elements of X which has the same arity and there exists an element of X∗which has the same arity.Let F be a binary relation with the same arity.The functor arity F yields a natural number and is defined by:(Def.7)(i)For every homogeneous function f such that f∈rng F holds arity F=arity f if there exists a homogeneous function f such that f∈rng F,(ii)arity F=0,otherwise.The following proposition is true(29)For everyfinite sequence F with the same arity such that len F=0holds arity F=0.Let X be a set.The functor HFuncs X yields a non empty set of partial functions from X∗to X and is defined as follows:(Def.8)HFuncs X={f;f ranges over elements of X∗˙→X:f is homogeneous}.We now state the proposition(30)/0∈HFuncs X.Let X be a non empty set.Observe that there exists an element of HFuncs X which is non empty, homogeneous,and quasi total.Let X be a set.Observe that every element of HFuncs X is homogeneous.Let X be a non empty set and let S be a non empty subset of HFuncs X.Note that every element of S is homogeneous.The following propositions are true:(31)Every homogeneous function into N and from tuples on N is an element of HFuncs N.(32)Every length total homogeneous function from tuples on N into N is a quasi total elementof HFuncs N.(33)Let X be a non empty set and F be a binary relation such that rng F⊆HFuncs X and for allhomogeneous functions f,g such that f∈rng F and g∈rng F holds arity f=arity g.Then F has the same arity.Let n,m be natural numbers.The functor const n(m)yielding a homogeneous function into N and from tuples on N is defined by:(Def.9)const n(m)=N n−→m.One can prove the following proposition(34)const n(m)∈HFuncs N.Let n,m be natural numbers.Note that const n(m)is length total and non empty.One can prove the following propositions:(35)arityconst n(m)=n.(36)For every element t of N n holds(const n(m))(t)=m.Let n,i be natural numbers.The functor succ n(i)yields a homogeneous function into N and from tuples on N and is defined as follows:(Def.10)domsucc n(i)=N n and for every element p of N n holds(succ n(i))(p)=p i+1.The following proposition is true(37)succ n(i)∈HFuncs N.Let n,i be natural numbers.One can check that succ n(i)is length total and non empty.The following proposition is true(38)aritysucc n(i)=n.Let n,i be natural numbers.The functor proj n(i)yields a homogeneous function into N and from tuples on N and is defined as follows:(Def.11)proj n(i)=proj(n→N,i).We now state two propositions:(39)proj n(i)∈HFuncs N.(40)domproj n(i)=N n and if1≤i and i≤n,then rngproj n(i)=N.Let n,i be natural numbers.Observe that proj n(i)is length total and non empty.One can prove the following two propositions:(41)arityproj n(i)=n.(42)For every element t of N n holds(proj n(i))(t)=t(i).Let X be a set.One can check that HFuncs X is functional.Next we state three propositions:(43)Let F be a function from D into HFuncs E.Suppose rng F is compatible and for everyelement x of D holds dom F(x)⊆E n.Then there exists an element f of HFuncs E such thatF and dom f⊆E n.f=(44)For every function F from N into HFuncs D such that for every i holds F(i)⊆F(i+1)F∈HFuncs D.holds(45)For everyfinite sequence F of elements of HFuncs D with the same arity holds dom∏∗F⊆D arity F.Let X be a non empty set and let F be afinite sequence of elements of HFuncs X with the same arity.Observe that∏∗F is homogeneous.Next we state the proposition(46)Let f be an element of HFuncs D and F be afinite sequence of elements of HFuncs D withthe same arity.Then dom(f·∏∗F)⊆D arity F and rng(f·∏∗F)⊆D and f·∏∗F∈HFuncs D.Let X,Y be non empty sets,let P be a non empty set of partial functions from X to Y,and let S be a non empty subset of P.We see that the element of S is an element of P.Let f be a homogeneous function from tuples on N.Observe that f has the same arity.We now state several propositions:(47)For every homogeneous function f into N and from tuples on N holds arity f =arity f.(48)Let f,g be non empty elements of HFuncs N and F be afinite sequence of elements ofHFuncs N with the same arity.If g=f·∏∗F,then arity g=arity F.(49)Let f be a non empty quasi total element of HFuncs D and F be afinite sequence of ele-ments of HFuncs D with the same arity.Suppose arity f=len F and F is non empty and for every element h of HFuncs D such that h∈rng F holds h is quasi total and non empty.Then f·∏∗F is a non empty quasi total element of HFuncs D and dom(f·∏∗F)=D arity F.(50)Let f be a quasi total element of HFuncs D and F be afinite sequence of elements ofHFuncs D with the same arity.Suppose arity f=len F and for every element h of HFuncs D such that h∈rng F holds h is quasi total.Then f·∏∗F is a quasi total element of HFuncs D.(51)For all non empty quasi total elements f,g of HFuncs D such that arity f=0and arity g=0and f(/0)=g(/0)holds f=g.(52)Let f,g be non empty length total homogeneous functions from tuples on N into N.Ifarity f=0and arity g=0and f(/0)=g(/0),then f=g.4.P RIMITIVE R ECURSIVENESSWe adopt the following convention:f1,f2denote non empty homogeneous functions into N and from tuples on N,e1,e2denote homogeneous functions into N and from tuples on N,and p denotes an element of N arity f1+1.Let g,f1,f2be homogeneous functions into N and from tuples on N and let i be a natural number.We say that g is primitive recursively expressed by f1,f2and i if and only if the condition (Def.12)is satisfied.(Def.12)There exists a natural number n such that(i)dom g⊆N n,(ii)i≥1,(iii)i≤n,(iv)arity f1+1=n,(v)n+1=arity f2,and(vi)for everyfinite sequence p of elements of N such that len p=n holds p+·(i,0)∈dom g iff p i∈dom f1and if p+·(i,0)∈dom g,then g(p+·(i,0))=f1(p i)and for every natural number n holds p+·(i,n+1)∈dom g iff p+·(i,n)∈dom g and(p+·(i,n)) g(p+·(i,n)) ∈dom f2and if p+·(i,n+1)∈dom g,then g(p+·(i,n+1))=f2((p+·(i,n)) g(p+·(i,n)) ).Let f1,f2be homogeneous functions into N and from tuples on N,let i be a natural number, and let p be afinite sequence of elements of N.The functor primrec(f1,f2,i,p)yields an element of HFuncs N and is defined by the condition(Def.13).(Def.13)There exists a function F from N into HFuncs N such that(i)primrec(f1,f2,i,p)=F(p i),(ii)if i∈dom p and p i∈dom f1,then F(0)={p+·(i,0)}−→f1(p i),(iii)if i/∈dom p or p i/∈dom f1,then F(0)=/0,and(iv)for every natural number m holds if i∈dom p and p+·(i,m)∈dom F(m)and(p+·(i,m)) F(m)(p+·(i,m)) ∈dom f2,then F(m+1)=F(m)+·({p+·(i,m+1)}−→f2((p+·(i,m)) F(m)(p+·(i,m)) ))and if i/∈dom p or p+·(i,m)/∈dom F(m)or (p+·(i,m)) F(m)(p+·(i,m)) /∈dom f2,then F(m+1)=F(m).The following propositions are true:(53)For allfinite sequences p,q of elements of N such that q∈domprimrec(e1,e2,i,p)thereexists k such that q=p+·(i,k).(54)For everyfinite sequence p of elements of N such that i/∈dom p holds primrec(e1,e2,i,p)=/0.(55)For allfinite sequences p,q of elements of N holds primrec(e1,e2,i,p)≈primrec(e1,e2,i,q).(56)For everyfinite sequence p of elements of N holds domprimrec(e1,e2,i,p)⊆N1+arity e1.(57)For everyfinite sequence p of elements of N such that e1is empty holds primrec(e1,e2,i,p)is empty.(58)If f1is length total and f2is length total and arity f1+2=arity f2and1≤i and i≤1+arity f1,then p∈domprimrec(f1,f2,i,p).Let f1,f2be homogeneous functions into N and from tuples on N and let i be a natural number.The functor primrec(f1,f2,i)yielding an element of HFuncs N is defined as follows:G (Def.14)There exists a function G from N arity f1+1into HFuncs N such that primrec(f1,f2,i)= and for every element p of N arity f1+1holds G(p)=primrec(f1,f2,i,p).We now state a number of propositions:(59)If e1is empty,then primrec(e1,e2,i)is empty.(60)domprimrec(f1,f2,i)⊆N arity f1+1.(61)If f1is length total and f2is length total and arity f1+2=arity f2and1≤i and i≤1+arity f1,then domprimrec(f1,f2,i)=N arity f1+1and arityprimrec(f1,f2,i)=arity f1+1.(62)If i∈dom p,then p+·(i,0)∈domprimrec(f1,f2,i)iff p i∈dom f1.(63)If i∈dom p and p+·(i,0)∈domprimrec(f1,f2,i),then(primrec(f1,f2,i))(p+·(i,0))=f1(p i).(64)If i∈dom p and f1is length total,then(primrec(f1,f2,i))(p+·(i,0))=f1(p i).(65)If i∈dom p,then p+·(i,m+1)∈domprimrec(f1,f2,i)iff p+·(i,m)∈domprimrec(f1,f2,i)and(p+·(i,m)) (primrec(f1,f2,i))(p+·(i,m)) ∈dom f2.(66)If i∈dom p and p+·(i,m+1)∈domprimrec(f1,f2,i),then(primrec(f1,f2,i))(p+·(i,m+1))=f2((p+·(i,m)) (primrec(f1,f2,i))(p+·(i,m)) ).(67)Suppose f1is length total and f2is length total and arity f1+2=arity f2and1≤i and i≤1+arity f1.Then(primrec(f1,f2,i))(p+·(i,m+1))=f2((p+·(i,m))(primrec(f1,f2,i))(p+·(i,m)) ).(68)If arity f1+2=arity f2and1≤i and i≤arity f1+1,then primrec(f1,f2,i)is primitiverecursively expressed by f1,f2and i.(69)Suppose1≤i and i≤arity f1+1.Let g be an element of HFuncs N.If g is primitiverecursively expressed by f1,f2and i,then g=primrec(f1,f2,i).5.T HE S ET OF P RIMITIVE R ECURSIVE F UNCTIONSLet X be a set.We say that X is composition closed if and only if the condition(Def.15)is satisfied.(Def.15)Let f be an element of HFuncs N and F be afinite sequence of elements of HFuncs N with the same arity.If f∈X and arity f=len F and rng F⊆X,then f·∏∗F∈X.We say that X is primitive recursion closed if and only if the condition(Def.16)is satisfied.(Def.16)Let g,f1,f2be elements of HFuncs N and i be a natural number.Suppose g is primitive recursively expressed by f1,f2and i and f1∈X and f2∈X.Then g∈X.Let X be a set.We say that X is primitive recursively closed if and only if the conditions(Def.17) are satisfied.(Def.17)(i)const0(0)∈X,(ii)succ1(1)∈X,(iii)for all natural numbers n,i such that1≤i and i≤n holds proj n(i)∈X,and(iv)X is composition closed and primitive recursion closed.Next we state the proposition(70)HFuncs N is primitive recursively closed.Let us note that there exists a subset of HFuncs N which is primitive recursively closed and non empty.In the sequel P is a primitive recursively closed non empty subset of HFuncs N .The following propositions are true:(71)For every element g of HFuncs N such that e 1=/0and g is primitive recursively expressed by e 1,e 2and i holds g =/0.(72)Let g be an element of HFuncs N ,f 1,f 2be quasi total elements of HFuncs N ,and i be anatural number.Suppose g is primitive recursively expressed by f 1,f 2and i .Then g is quasi total and if f 1is non empty,then g is non empty.(73)const n (c )∈P .(74)If 1≤i and i ≤n ,then succ n (i )∈P .(75)/0∈P .(76)Let f be an element of P and F be a finite sequence of elements of P with the same arity.If arity f =len F ,then f ·∏∗F ∈P .(77)Let f 1,f 2be elements of P .Suppose arity f 1+2=arity f 2.Let i be a natural number.If1≤i and i ≤arity f 1+1,then primrec (f 1,f 2,i )∈P .The subset PrimRec of HFuncs N is defined as follows:(Def.18)PrimRec ={R ;R ranges over elements of 2HFuncs N :R is primitive recursively closed }.One can prove the following proposition(78)For every subset X of HFuncs N such that X is primitive recursively closed holds PrimRec ⊆X .One can verify that PrimRec is non empty and primitive recursively closed.Let us observe that every element of PrimRec is homogeneous.Let x be a set.We say that x is primitive recursive if and only if:(Def.19)x ∈PrimRec .Let us observe that every set which is primitive recursive is also relation-like and function-like.Let us observe that every binary relation which is primitive recursive is also homogeneous,into N ,and from tuples on N .Let us note that every element of PrimRec is primitive recursive.One can check that there exists a function which is primitive recursive and there exists an ele-ment of HFuncs N which is primitive recursive.The initial functions constitute a subset of HFuncs N defined by:(Def.20)The initial functions ={const 0(0),succ 1(1)}∪{proj n (i );n ranges over natural numbers,iranges over natural numbers:1≤i ∧i ≤n }.Let Q be a subset of HFuncs N .The primitive recursion closure of Q is a subset of HFuncs N and is defined by the condition (Def.21).(Def.21)The primitive recursion closure of Q =Q ∪{g ;g ranges over elements of HFuncs N : f 1,f 2:element of HFuncs N i :natural number (f 1∈Q ∧f 2∈Q ∧g is primitive recursively ex-pressed by f 1,f 2and i )}.The composition closure of Q is a subset of HFuncs N and is defined by the condition (Def.22).(Def.22)The composition closure of Q=Q∪{f·∏∗F;f ranges over elements of HFuncs N,F ranges over elements of(HFuncs N)∗with the same arity:f∈Q∧arity f=len F∧rng F⊆Q}.The function PrimRec≈from N into2HFuncs N is defined by the conditions(Def.23).(Def.23)(i)PrimRec≈(0)=the initial functions,and(ii)for every natural number m holds PrimRec≈(m+1)=(the primitive recursion closure of PrimRec≈(m))∪(the composition closure of PrimRec≈(m)).Next we state four propositions:(79)If m≤n,then PrimRec≈(m)⊆PrimRec≈(n).(PrimRec≈)is primitive recursively closed.(80)(PrimRec≈).(81)PrimRec=(82)For every element f of HFuncs N such that f∈PrimRec≈(m)holds f is quasi total.One can verify that every element of PrimRec is quasi total and homogeneous.One can verify that every element of HFuncs N which is primitive recursive is also quasi total.One can verify that every function from tuples on N which is primitive recursive is also length total and there exists an element of PrimRec which is non empty.6.E XAMPLESLet f be a homogeneous binary relation.We say that f is nullary if and only if:(Def.24)arity f=0.We say that f is unary if and only if:(Def.25)arity f=1.We say that f is binary if and only if:(Def.26)arity f=2.We say that f is ternary if and only if:(Def.27)arity f=3.One can verify the following observations:∗every homogeneous function which is unary is also non empty,∗every homogeneous function which is binary is also non empty,and∗every homogeneous function which is ternary is also non empty.One can verify the following observations:∗proj1(1)is primitive recursive,∗proj2(1)is primitive recursive,∗proj2(2)is primitive recursive,∗succ1(1)is primitive recursive,and∗succ3(3)is primitive recursive.Let i be a natural number.One can verify the following observations:∗const0(i)is nullary,∗const1(i)is unary,∗const2(i)is binary,∗const3(i)is ternary,∗proj1(i)is unary,∗proj2(i)is binary,∗proj3(i)is ternary,∗succ1(i)is unary,∗succ2(i)is binary,and∗succ3(i)is ternary.Let j be a natural number.Note that const i(j)is primitive recursive.One can check the following observations:∗there exists a homogeneous function which is nullary,primitive recursive,and non empty,∗there exists a homogeneous function which is unary and primitive recursive,∗there exists a homogeneous function which is binary and primitive recursive,and∗there exists a homogeneous function which is ternary and primitive recursive.One can verify the following observations:∗there exists a homogeneous function from tuples on N which is non empty,nullary,length total,and into N,∗there exists a homogeneous function from tuples on N which is non empty,unary,length total,and into N,∗there exists a homogeneous function from tuples on N which is non empty,binary,length total,and into N,and∗there exists a homogeneous function from tuples on N which is non empty,ternary,length total,and into N.Let f be a nullary non empty primitive recursive function and let g be a binary primitive recursive function.Observe that primrec(f,g,1)is primitive recursive and unary.Let f be a unary primitive recursive function and let g be a ternary primitive recursive function. One can check that primrec(f,g,1)is primitive recursive and binary and primrec(f,g,2)is primitive recursive and binary.We now state four propositions:(83)Let f1be a unary length total homogeneous function from tuples on N into N and f2be anon empty homogeneous function into N and from tuples on N.Then(primrec(f1,f2,2))( i,0 )=f1( i ).(84)If f1is length total and arity f1=0,then(primrec(f1,f2,1))( 0 )=f1(/0).(85)Let f1be a unary length total homogeneous function from tuples on N into N andf2be a ternary length total homogeneous function from tuples on N into N.Then (primrec(f1,f2,2))( i,j+1 )=f2( i,j,(primrec(f1,f2,2))( i,j ) ).(86)If f1is length total and f2is length total and arity f1=0and arity f2=2,then(primrec(f1,f2,1))( i+1 )=f2( i,(primrec(f1,f2,1))( i ) ).Let g be a function.The functor 1,?,2 g yields a function and is defined as follows:(Def.28) 1,?,2 g=g·∏∗ proj3(1),proj3(3) .Let g be a function into N and from tuples on N.One can check that 1,?,2 g is into N and from tuples on N.Let g be a homogeneous function.Note that 1,?,2 g is homogeneous.Let g be a binary length total homogeneous function from tuples on N into N.Observe that 1,?,2 g is non empty,ternary,and length total.The following propositions are true:(87)Let f be a binary length total homogeneous function from tuples on N into N.Then( 1,?,2 f)( i,j,k )=f( i,k ).(88)For every binary primitive recursive function g holds 1,?,2 g∈PrimRec.Let f be a binary primitive recursive homogeneous function.Note that 1,?,2 f is primitive recursive and ternary.The binary primitive recursive function[+]is defined by:(Def.29)[+]=primrec(proj1(1),succ3(3),2).Next we state the proposition(89)[+]( i,j )=i+j.The binary primitive recursive function[∗]is defined by:(Def.30)[∗]=primrec(const1(0), 1,?,2 [+],2).One can prove the following proposition(90)For all natural numbers i,j holds[∗]( i,j )=i·j.Let g,h be binary primitive recursive homogeneous functions.Note that g,h has the same arity.Let f,g,h be binary primitive recursive functions.Note that f·∏∗ g,h is primitive recursive.Let f,g,h be binary primitive recursive functions.Observe that f·∏∗ g,h is binary.Let f be a unary primitive recursive function and let g be a primitive recursive function.One can check that f·∏∗ g is primitive recursive.Let f be a unary primitive recursive function and let g be a binary primitive recursive function.Observe that f·∏∗ g is binary.The unary primitive recursive function[!]is defined by:(Def.31)[!]=primrec(const0(1),[∗]·∏∗ succ1(1)·∏∗ proj2(1) ,proj2(2) ,1).In this article we present several logical schemes.The scheme Primrec1deals with a unary length total homogeneous function A from tuples on N into N,a binary length total homogeneous function B from tuples on N into N,a unary functor F yielding a natural number,and a binary functor G yielding a natural number,and states that:For all natural numbers i,j holds(A·∏∗ B )( i,j )=F(G(i,j))provided the parameters meet the following conditions:•For every natural number i holds A( i )=F(i),and•For all natural numbers i,j holds B( i,j )=G(i,j).The scheme Primrec2deals with binary length total homogeneous functions A,B,C from tuples on N into N and three binary functors F,G,and H yielding natural numbers,and states that: For all natural numbers i,j holds(A·∏∗ B,C )( i,j )=F(G(i,j),H(i,j)) provided the parameters meet the following conditions:•For all natural numbers i,j holds A( i,j )=F(i,j),•For all natural numbers i,j holds B( i,j )=G(i,j),and•For all natural numbers i,j holds C( i,j )=H(i,j).The following proposition is true(91)[!]( i )=i!.The binary primitive recursive function[∧]is defined by:(Def.32)[∧]=primrec(const1(1), 1,?,2 [∗],2).One can prove the following proposition(92)[∧]( i,j )=i j.The unary primitive recursive function[pred]is defined by:(Def.33)[pred]=primrec(const0(0),proj2(1),1).Next we state the proposition(93)[pred]( 0 )=0and[pred]( i+1 )=i.The binary primitive recursive function[−]is defined by:(Def.34)[−]=primrec(proj1(1), 1,?,2 ([pred]·∏∗ proj2(2) ),2).The following proposition is true(94)[−]( i,j )=i− j.R EFERENCES[1]Grzegorz Bancerek.The fundamental properties of natural numbers.Journal of Formalized Mathematics,1,1989.http://mizar.org/JFM/Vol1/nat_1.html.[2]Grzegorz Bancerek.Countable sets and Hessenberg’s theorem.Journal of Formalized Mathematics,2,1990./JFM/Vol2/card_4.html.[3]Grzegorz Bancerek.Curried and uncurried functions.Journal of Formalized Mathematics,2,1990./JFM/Vol2/funct_5.html.[4]Grzegorz Bancerek.K¨o nig’s theorem.Journal of Formalized Mathematics,2,1990./JFM/Vol2/card_3.html.[5]Grzegorz Bancerek.Cartesian product of functions.Journal of Formalized Mathematics,3,1991./JFM/Vol3/funct_6.html.[6]Grzegorz Bancerek and Krzysztof Hryniewiecki.Segments of natural numbers andfinite sequences.Journal of Formalized Mathematics,1,1989./JFM/Vol1/finseq_1.html.[7]Grzegorz Bancerek and Andrzej Trybulec.Miscellaneous facts about functions.Journal of Formalized Mathematics,8,1996.http:///JFM/Vol8/funct_7.html.[8]Czesław Byli´n ski.Functions and their basic properties.Journal of Formalized Mathematics,1,1989./JFM/Vol1/funct_1.html.[9]Czesław Byli´n ski.Functions from a set to a set.Journal of Formalized Mathematics,1,1989./JFM/Vol1/funct_2.html.[10]Czesław Byli´n ski.Partial functions.Journal of Formalized Mathematics,1,1989./JFM/Vol1/partfun1.html.[11]Czesław Byli´n ski.Some basic properties of sets.Journal of Formalized Mathematics,1,1989./JFM/Vol1/zfmisc_1.html.[12]Czesław Byli´n ski.Finite sequences and tuples of elements of a non-empty sets.Journal of Formalized Mathematics,2,1990.http:///JFM/Vol2/finseq_2.html.[13]Czesław Byli´n ski.The modification of a function by a function and the iteration of the composition of a function.Journal of FormalizedMathematics,2,1990./JFM/Vol2/funct_4.html.[14]Agata Darmochwał.Finite sets.Journal of Formalized Mathematics,1,1989./JFM/Vol1/finset_1.html.[15]Mariusz Giero.More on products of many sorted algebras.Journal of Formalized Mathematics,8,1996./JFM/Vol8/pralg_3.html.[16]Katarzyna Jankowska.Transpose matrices and groups of permutations.Journal of Formalized Mathematics,4,1992.http://mizar.org/JFM/Vol4/matrix_2.html.[17]Jarosław Kotowicz.Monotone real sequences.Subsequences.Journal of Formalized Mathematics,1,1989./JFM/Vol1/seqm_3.html.。