如何理解“空集是任何集合的子集”

不应该从规定层面来理解这个结论,比如数学书上的直接告诉你“空集是任何集合的子集”,根据子集的定义,你很难回过头来说明白这个结论。绕一下就豁然开朗:
 For any B⊆A, we have A∖B⊆A. So A∖A=∅⊆A.
当然,从定义出发,利用反证法,也还是能够证明的:参考证明
A是B的子集定义为:若任给x属于A,则x一定也属于B。反证法的要义在于找到正确的否命题不是【若任给x属于A,则x一定也属于B】,并对这个否命题进行证否,则间接证明了原命题。那么对这个否命题进行一个解构:若任给x属于A,存在x不属于B,或者说存在x属于A但x不属于B,这仍然是原命题的否命题,这个命题就很明显是假的,因为在A(空集)中,你找不到满足这个命题要求的x,即这个x的存在性是假的,因此这个否命题是假的,进而原命题是真的。
vacuous truth
空洞真理:在逻辑学中,指一个命题由于其前提永远不成立而被认为是真的

反证法

一直以来对反证法有说不清的感觉,有时候觉得它很强大,有时候又觉得它没道理…
典型的就是这种感觉:证明了所有x<8的x不满足一个命题,并不能表明所有>=8的x就能满足这个命题
刚才又陷入到这个思维漩涡里,然后想起程序里的一个常见代码,分享一个:
a是一个类的实例,然后if (a.length > 0),意图就是根据a的长度是否大于0来做判断,很正常的代码对吧…但是,a压根就没有length属性,这是合法的js代码…
反证法就像,证明一下这个杯子的屁股很大,然后你反证这个杯子的屁股不大是不可能的,所以这个杯子的屁股很大,问题是杯子它没有屁股…我这里说的杯子的屁股,指的就是根据经验或数据总结出的一些似是而非的概念,不是这个概念对不对的问题,是它不该存在,压根没这回事。
我知道这个跟反证法不是一回事,但是这种类似的感觉总是悬在头顶。
反证法成立的前提是:命题加上否命题,等于真理的全部,才能反证。这个在探索未知的世界规律时,反证可能会陷入思维陷阱,就像薛定谔的猫,没有量子力学的时候,你觉得真理的全部就是猫要么是死的,要么是活的。但是很不幸的是这个真理里还要加入猫既死又活。这跟提问的方式有关,你换个说法,它又是成立的:猫要么是死的,要么不是死的。所以反证法的要害在于,你真的找对了命题的否命题
回到最开头的那个例子,它其实有2个命题
  1. 任给x<8,其不满足A
  2. 任给x>=8,其满足A
结合上面的分析,只有当这2个命题互为否命题时,才能放到反证法的框架下来谈论。
第1个命题的否命题是:不是【任给x<8,其不满足A】,解构为存在x<8,其满足A
很明显,这个解构后的否命题,并不等价于第2个命题,因此命题1和2不构成互否命题,因此不能套用反证法框架来进行证明。
经过这里的思考,以及如何理解“空集是任何集合的子集” ,可以获得描述否命题的方法:将任意和存在互换、将满足和不满足互换