proposition: Lemma closed_subspaceP (U : set T) : closed (U : set (subspace A)) <-> exists V, closed (V : set T) /\ V `&` A = U `&` A.
proof: Proof. rewrite -openC open_subspaceP. under [X in _ <-> X] eq_exists => V do rewrite -openC. by split => -[V [? VU]]; exists (~` V); split; rewrite ?setCK //; move/(congr1 setC): VU; rewrite ?eqEsubset ?setCI ?setCK; firstorder. Qed.
imports: HB(structures) mathcomp(all_ssreflect all_algebra finmap generic_quotient) mathcomp(boolp classical_sets functions) mathcomp(cardinality mathcomp_extra fsbigop) reals signed