Sets in subtypes #
This file is about sets in Set A when A is a set.
It defines notation ↓∩ for sets in a type pulled down to sets in a subtype, as an inverse
operation to the coercion that lifts sets in a subtype up to sets in the ambient type.
This module also provides lemmas for ↓∩ and this coercion.
Notation #
Let α be a Type, A B : Set α two sets in α, and C : Set A a set in the subtype ↑A.
A ↓∩ Bdenotes(Subtype.val ⁻¹' B : Set A)(that is,{x : ↑A | ↑x ∈ B}).↑CdenotesSubtype.val '' C(that is,{x : α | ∃ y ∈ C, ↑y = x}).
This notation, (together with the ↑ notation for Set.CoeHead)
is defined in Mathlib/Data/Set/Notation.lean and is scoped to the Set.Notation namespace.
To enable it, use open Set.Notation.
Naming conventions #
Theorem names refer to ↓∩ as preimage_val.
Tags #
subsets
The following simp lemmas try to transform operations in the subtype into operations in the ambient type, if possible.
Relations between restriction and coercion.