请求证明$B = B^+$当且仅当$BB \subseteq B$,求证明思路指引
证明$B = B^+$当且仅当$BB \subseteq B$的思路拆解
别担心,咱们把这个证明拆成必要性(由$B = B^+$推出$BB \subseteq B$)和充分性(由$BB \subseteq B$推出$B = B^+$)两个方向来梳理,逻辑会清晰很多:
一、必要性:若$B = B^+$,则$BB \subseteq B$
首先回忆$B+$的定义:它是由$B$中字符串进行1次或多次连接得到的所有字符串集合,也就是$B+ = B \cup BB \cup BBB \cup \dots$。
你已经推导出$BB \subseteq B+$,这一步完全正确——因为$BB$是$B$中字符串连接2次的结果,显然属于“1次或多次连接”的范畴,所以$BB$肯定是$B+$的子集。
而题目给出的前提是$B = B+$,也就是说$B$和$B+$是同一个集合,那既然$BB \subseteq B^+$,自然就能得到$BB \subseteq B$,这部分的逻辑就闭环了。
二、充分性:若$BB \subseteq B$,则$B = B^+$
要证明两个集合相等,咱们只需要证明它们互相包含就行:
首先,$B \subseteq B+$是显然的——因为$B+$包含了$B$中所有1次连接的字符串(也就是$B$本身),所以$B$肯定是$B^+$的子集。
接下来重点证明$B^+ \subseteq B$,这里用数学归纳法来证最方便:
- 基例(n=1):当字符串是$B$中单个元素(也就是1次连接的结果),显然属于$B$,成立。
- 归纳假设:假设对于任意$k \geq 1$,$B$中字符串连接$k$次得到的所有字符串都属于$B$。
- 归纳步骤:考虑连接$k+1$次的字符串$s$,它可以拆成$s = t \cdot u$,其中$t$是$B$中字符串连接$k$次的结果,$u$是$B$中的单个字符串。根据归纳假设,$t \in B$;又因为$u \in B$,所以$t \cdot u \in BB$。而题目给出的前提是$BB \subseteq B$,所以$s = t \cdot u \in B$。
这样归纳下来,所有1次或多次连接得到的字符串(也就是$B+$中的所有元素)都属于$B$,即$B+ \subseteq B$。
结合$B \subseteq B+$和$B+ \subseteq B$,就可以得出$B = B^+$了。
内容的提问来源于stack exchange,提问作者Christian Soto
相关产品推荐
相关产品推荐

