Documentation

ZFLean.Basic

Basic ZFSet lemmas #

This file develops elementary lemmas about ZFSet, including characterizations of the empty set, separation, and the behavior of unions and intersections.

@[simp]
theorem ZFSet.sep_empty_iff {A : ZFSet.{u_1}} {P : ZFSet.{u_1}Prop} :
ZFSet.sep P A = A = xA, ¬P x
theorem ZFSet.insert_prod {A B x : ZFSet.{u_1}} :
(insert x A).prod B = A.prod B {x}.prod B
theorem ZFSet.prod_insert {A B x : ZFSet.{u_1}} :
A.prod (insert x B) = A.prod B A.prod {x}
theorem ZFSet.inter_comm {A B : ZFSet.{u_1}} :
A B = B A
theorem ZFSet.union_comm {A B : ZFSet.{u_1}} :
A B = B A
theorem ZFSet.sep_true {A : ZFSet.{u_1}} :
ZFSet.sep (fun (x : ZFSet.{u_1}) => True) A = A
theorem ZFSet.eq_of_subset_subset {A B : ZFSet.{u_1}} (hAB : A B) (hBA : B A) :
A = B
theorem ZFSet.powerset_inj {A B : ZFSet.{u_1}} (h : A.powerset = B.powerset) :
A = B
theorem ZFSet.prod_inj {A B C D : ZFSet.{u_1}} (h : A.prod B = C.prod D) (hA : A ) (hB : B ) :
A = C B = D