设A={a,b,c},○是A上的二元运算,在V=<A,○>的运算表中,除了a○b=a以外,其余运算结果都等于b.试给出V=<A,○>的两个非恒等映射的自同态.
设 < S,* >是一个半群,a∈S.在S上定义一个二元运算口,使得对于S中的任意元素x和y.都有
证明:二元运算口是可结合的。
设是布尔代数,在S上定义二元运算⊕,x,y∈S有x⊕y=(x∧y')∨(x'∧y),那么<S,⊕>能否构成代数系统?如果能,指出是哪种代数系统。
如果a*(b*c)=(a*b)*c、那么二元运算*称为可结合的。从它可推得更强的结果,即在任何仅含运算*的表达式中,括号的位置不影响结果,就是,仅仅出现于表达式中的运算对象和次序是重要的。为了证明这个“推广的结合律”,我们定义“*表达式集合”如下:
(a)(基础)单个运算对象a1是*表达式。
(b)(归纳)设e1和e2是*表达式,那么(e1*e2)是一个*表达式。
(c)(极小性)只有有限次应用(a)和(b)构成的式子才是*表达式。
推广的结合律陈述如下;
设e是一个表达式、它有a1a2…,an个运算对象,且以此次序出现于表达式中,那么e=(a1*(a2*(a3*(…(an-1*an))…)))
证明这个推广的结合律。(提示:用数学归纳法第二原理。)
R为实数集,定义以下六个函数有
(1)指出哪些函数是R上的二元运算.
(2)对所有R上的二元运算说明是否为可交换。可结合,幂等的.
(3)求所有R上二元运算的单位元,零元以及每一个可逆元素的逆元.
在实数集合R上定义二元运算*,x*y=xy-2x-2y+6.
(1)验证*满足结合律
(2)求的幺元和零元
(3)对任意非零元的x,求<R,*>其在中的逆元.
假设在算法描述语言中引入指针的二元运算“异或”,若a和b为指针,则的运算结果仍为原指针类型,且
则可利用一个指针域来实现双向链表L。链表L中的每个结点只含两个域:data域和LRPtr域,其中L RPtr域存放该结点的左邻与右邻结点指针(不存在时为NULL) 的异或。若设指针L.Left指向链表中的最左结点,L.Right指向链表中的最右结点, 则可实现从左向右或从右向左遍历此双向链表的操作。试写一算法按任一方向依次输出链表中各元素的值。
若~为中S上的等价关系,如果对S中的任何元素x,y,满足().那么,~为s上的关于一元运算△的同余关系;如果对S中的任何元素x,y,u,满足(),那么,一为S上的关于二元运算*的同余关系,当~关于一元运算、二元运算*均为同余关系时,就是上的同余关系,这时等价类[x]又可称为().