Documentation

BourbakiLean2.Function.Basic

def Set.image {α : Type u_1} {β : Type u_2} (f : αβ) (x : Set α) :
Set β
Equations
Instances For
    def Set.preimage {α : Type u_1} {β : Type u_2} (f : αβ) (x : Set β) :
    Set α
    Equations
    Instances For
      @[simp]
      theorem Set.mem_image_iff {α : Type u_1} {β : Type u_2} {x : Set α} {f : αβ} {b : β} :
      b f '' x ∃ (a : α), b = f a a x
      @[simp]
      theorem Set.mem_preimage_iff {α : Type u_1} {β : Type u_2} {y : Set β} {f : αβ} {a : α} :
      a f ⁻¹' y f a y
      theorem Set.val_mem_image_of_mem {α : Type u_1} {β : Type u_2} {x : Set α} {f : αβ} {a : α} (h : a x) :
      f a f '' x
      @[simp]
      theorem Set.val_mem_image_univ {α : Type u_1} {β : Type u_2} {f : αβ} {a : α} :
      f a f '' Set.univ
      theorem Function.image_mono {α : Type u_1} {β : Type u_2} {f : αβ} {x y : Set α} (h : x y) :
      f '' x f '' y
      @[simp]
      theorem Function.image_singleton {α : Type u_1} {β : Type u_2} {f : αβ} {a : α} :
      f '' {a} = {f a}
      @[simp]
      theorem Function.comp_assoc {α : Type u_1} {β : Type u_2} {γ : Type u_3} {δ : Type u_4} {f : αβ} {g : γα} {h : δγ} :
      f g h = (f g) h
      @[simp]
      theorem Function.comp_id_left {α : Type u_1} {β : Type u_2} {f : αβ} :
      id f = f
      @[simp]
      theorem Function.comp_id_right {α : Type u_1} {β : Type u_2} {f : αβ} :
      f id = f
      @[simp]
      theorem Function.subset_preimage_image {α : Type u_1} {β : Type u_2} {f : αβ} {x : Set α} :
      x f ⁻¹' (f '' x)
      @[simp]
      theorem Function.image_preimage_subset {α : Type u_1} {β : Type u_2} {f : αβ} {y : Set β} :
      f '' (f ⁻¹' y) y
      @[simp]
      theorem Function.image_empty {α : Type u_1} {β : Type u_2} {f : αβ} :
      @[simp]
      theorem Function.image_empty_iff_empty {α : Type u_1} {β : Type u_2} {f : αβ} {x : Set α} :
      f '' x = x =
      @[simp]
      theorem Function.preimage_empty {α : Type u_1} {β : Type u_2} {f : αβ} :
      @[simp]
      theorem Function.preimage_univ {α : Type u_1} {β : Type u_2} {f : αβ} :
      f ⁻¹' Set.univ = Set.univ
      theorem Function.preimage_mono {α : Type u_1} {β : Type u_2} {f : αβ} {y y' : Set β} (h : y y') :
      f ⁻¹' y f ⁻¹' y'
      @[simp]
      theorem Function.image_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {g : γα} {z : Set γ} :
      f g '' z = f '' (g '' z)
      @[simp]
      theorem Function.preimage_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {g : γα} {x : Set β} :
      f g ⁻¹' x = g ⁻¹' (f ⁻¹' x)
      @[simp]
      theorem Function.image_id {α : Type u_1} {x : Set α} :
      id '' x = x
      @[simp]
      theorem Function.preimage_id {α : Type u_1} {x : Set α} :
      id ⁻¹' x = x
      def Function.IsConstant {α : Type u_1} {β : Type u_2} (f : αβ) :
      Equations
      Instances For
        @[simp]
        theorem Function.Function.const_isConstant {α : Type u_1} {β : Type u_2} {a : α} :
        def Function.fixpoints {α : Type u_1} (f : αα) :
        Set α
        Equations
        Instances For
          @[simp]
          theorem Function.mem_fixpoints {α : Type u_1} {f : αα} {a : α} :
          @[simp]
          theorem Function.fixpoints_id {α : Type u_1} :
          Function.fixpoints id = Set.univ
          def Function.is_extension {α : Type u_1} {β : Type u_2} {x : Set α} (g : αβ) (f : xβ) :
          Equations
          Instances For
            def Function.restriction {α : Type u_1} {β : Type u_2} (f : αβ) (x : Set α) :
            xβ
            Equations
            • (f|_x) a = f a.val
            Instances For
              @[simp]
              theorem Function.is_extension_of_restriction {α : Type u_1} {β : Type u_2} {f : αβ} {x : Set α} :
              @[simp]
              theorem Function.restriction_id {α : Type u_1} {x : Set α} :
              id|_x = fun (a : x) => a.val
              @[simp]
              theorem Function.restriction_const {α : Type u_1} {β : Type u_2} {x : Set α} {b : β} :
              theorem Function.restriction_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {z : Set γ} {g : γα} :
              (f g)|_z = f g|_z
              def Function.Injective {α : Type u_1} {β : Type u_2} (f : αβ) :
              Equations
              Instances For
                theorem Function.Injective.eq_iff {α : Type u_1} {β : Type u_2} {f : αβ} (h : Function.Injective f) {a a' : α} :
                f a = f a' a = a'
                theorem Function.inj_iff_neq_of_neq {α : Type u_1} {β : Type u_2} {f : αβ} :
                Function.Injective f ∀ (a a' : α), a a'f a f a'
                theorem Function.Injective.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {g : γα} (h : Function.Injective f) (h' : Function.Injective g) :
                theorem Function.inj_of_comp_inj {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {g : γα} (h : Function.Injective (f g)) :
                theorem Function.inj_iff_preimage_eq {α : Type u_1} {β : Type u_2} {f : αβ} :
                Function.Injective f ∀ (b : β) (a a' : α), a f ⁻¹' {b}a' f ⁻¹' {b}a = a'
                theorem Function.restriction_inj_of_comp_inj {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {g : γα} (h : Function.Injective (f g)) :
                Function.Injective (f|_(g '' Set.univ))
                @[simp]
                theorem Function.inj_id {α : Type u_1} :
                @[simp]
                theorem Function.Injective.restriction {α : Type u_1} {β : Type u_2} {f : αβ} (h : Function.Injective f) {x : Set α} :
                theorem Function.Injective.preimage_image {α : Type u_1} {β : Type u_2} {f : αβ} (h : Function.Injective f) {x : Set α} :
                f ⁻¹' (f '' x) = x
                def Function.Surjective {α : Type u_1} {β : Type u_2} (f : αβ) :
                Equations
                Instances For
                  @[simp]
                  theorem Function.surj_iff {α : Type u_1} {β : Type u_2} {f : αβ} :
                  Function.Surjective f ∀ (b : β), ∃ (a : α), b = f a
                  theorem Function.Surjective.exists_preimage {α : Type u_1} {β : Type u_2} {f : αβ} (h : Function.Surjective f) (b : β) :
                  ∃ (a : α), b = f a
                  theorem Function.Surjective.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {g : γα} (h : Function.Surjective f) (h' : Function.Surjective g) :
                  theorem Function.surj_of_comp_surj {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {g : γα} (h : Function.Surjective (f g)) :
                  theorem Function.surj_iff_preimage_nonempty {α : Type u_1} {β : Type u_2} {f : αβ} :
                  Function.Surjective f ∀ (b : β), (f ⁻¹' {b}).Nonempty
                  theorem Function.surj_iff_empty_of_preimage_empty {α : Type u_1} {β : Type u_2} {f : αβ} :
                  Function.Surjective f ∀ (y : Set β), f ⁻¹' y = y =
                  @[simp]
                  theorem Function.surjective_of_restriction {α : Type u_1} {β : Type u_2} {f : αβ} {x : Set α} (h : Function.Surjective (f|_x)) :
                  theorem Function.Surjective.image_preimage {α : Type u_1} {β : Type u_2} {f : αβ} (h : Function.Surjective f) {y : Set β} :
                  f '' (f ⁻¹' y) = y
                  def Function.corestrict {α : Type u_1} {β : Type u_2} (f : αβ) {y : Set β} (h : f '' Set.univ y) :
                  αy
                  Equations
                  Instances For
                    theorem Function.corestrict_surjective {α : Type u_1} {β : Type u_2} {f : αβ} :
                    @[simp]
                    theorem Function.coe_corestrict {α : Type u_1} {β : Type u_2} {f : αβ} {y : Set β} {h : f '' Set.univ y} {a : α} :
                    (Function.corestrict f h a).val = f a
                    @[simp]
                    theorem Function.corestrict_eq_iff {α : Type u_1} {β : Type u_2} {f g : αβ} {y : Set β} {h : f '' Set.univ y} {h' : g '' Set.univ y} :
                    def Function.Bijective {α : Type u_1} {β : Type u_2} (f : αβ) :
                    Equations
                    Instances For
                      theorem Function.Bijective.inj {α : Type u_1} {β : Type u_2} {f : αβ} (h : Function.Bijective f) :
                      theorem Function.Bijective.surj {α : Type u_1} {β : Type u_2} {f : αβ} (h : Function.Bijective f) :
                      theorem Function.Bijective.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {g : γα} (h : Function.Bijective f) (h' : Function.Bijective g) :
                      theorem Function.bij_iff_inv_functional {α : Type u_1} {β : Type u_2} {f : αβ} :
                      noncomputable def Function.Bijective.inv {α : Type u_1} {β : Type u_2} {f : αβ} (h : Function.Bijective f) (b : β) :
                      α
                      Equations
                      • h.inv b = .choose
                      Instances For
                        @[simp]
                        theorem Function.Bijective.inv_val_iff {α : Type u_1} {β : Type u_2} {f : αβ} (h : Function.Bijective f) {a : α} {b : β} :
                        h.inv b = a f a = b
                        @[simp]
                        theorem Function.Bijective.inv_val_val {α : Type u_1} {β : Type u_2} {f : αβ} (h : Function.Bijective f) {a : α} :
                        h.inv (f a) = a
                        @[simp]
                        theorem Function.Bijective.val_inv_val {α : Type u_1} {β : Type u_2} {f : αβ} (h : Function.Bijective f) {b : β} :
                        f (h.inv b) = b
                        @[simp]
                        theorem Function.comp_inv {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {g : γα} (h : Function.Bijective f) (h' : Function.Bijective g) :
                        .inv = h'.inv h.inv
                        @[simp]
                        theorem Function.Bijective.inv_bij {α : Type u_1} {β : Type u_2} {f : αβ} (h : Function.Bijective f) :
                        @[simp]
                        theorem Function.Bijective.inv_inv {α : Type u_1} {β : Type u_2} {f : αβ} (h : Function.Bijective f) :
                        .inv = f
                        @[simp]
                        theorem Function.id_inv {α : Type u_1} (h : Function.Bijective id) :
                        h.inv = id
                        theorem Function.Bijective.comp_inv {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {g : γα} (h : Function.Bijective f) (h' : Function.Bijective g) :
                        .inv = h'.inv h.inv
                        def Function.IsRetractionOf {α : Type u_1} {β : Type u_2} (r : αβ) (g : βα) :
                        Equations
                        Instances For
                          def Function.IsSectionOf {α : Type u_1} {β : Type u_2} (s : αβ) (g : βα) :
                          Equations
                          Instances For
                            def Function.HasRetraction {α : Type u_1} {β : Type u_2} (f : αβ) :
                            Equations
                            Instances For
                              def Function.HasSection {α : Type u_1} {β : Type u_2} (f : αβ) :
                              Equations
                              Instances For
                                def Function.IsInverseOf {α : Type u_1} {β : Type u_2} (f : αβ) (g : βα) :
                                Equations
                                Instances For
                                  def Function.HasInverse {α : Type u_1} {β : Type u_2} (f : αβ) :
                                  Equations
                                  Instances For
                                    theorem Function.IsInverseOf.fg_eq {α : Type u_1} {β : Type u_2} {f : αβ} {g : βα} (h : Function.IsInverseOf f g) {b : β} :
                                    f (g b) = b
                                    theorem Function.IsInverseOf.gf_eq {α : Type u_1} {β : Type u_2} {f : αβ} {g : βα} (h : Function.IsInverseOf f g) {a : α} :
                                    g (f a) = a
                                    theorem Function.IsRetractionOf.fg_eq {α : Type u_1} {β : Type u_2} {f : αβ} {g : βα} (h : Function.IsRetractionOf f g) {b : β} :
                                    f (g b) = b
                                    theorem Function.IsSectionOf.gf_eq {α : Type u_1} {β : Type u_2} {f : αβ} {g : βα} (h : Function.IsSectionOf f g) {b : α} :
                                    g (f b) = b
                                    theorem Function.Surjective.hasSection {α : Type u_1} {β : Type u_2} {f : αβ} (h : Function.Surjective f) :
                                    theorem Function.Injective.hasRetraction {α : Type u_1} {β : Type u_2} {f : αβ} [Nonempty α] (h : Function.Injective f) :
                                    theorem Function.Surjective.comp_right_inj {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} (h : Function.Surjective f) :
                                    Function.Injective fun (x : βγ) => x f
                                    theorem Function.Surjective.comp_left_surj {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} (h : Function.Surjective f) :
                                    Function.Surjective fun (x : γα) => f x
                                    theorem Function.Injective.comp_right_surj {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} [Nonempty α] (h : Function.Injective f) :
                                    Function.Surjective fun (x : βγ) => x f
                                    theorem Function.Injective.comp_left_inj {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} (h : Function.Injective f) :
                                    Function.Injective fun (x : γα) => f x
                                    theorem Function.IsSectionOf.swap_retraction {α : Type u_1} {β : Type u_2} {f : αβ} {g : βα} (h : Function.IsSectionOf f g) :
                                    theorem Function.IsRetractionOf.swap_section {α : Type u_1} {β : Type u_2} {f : αβ} {g : βα} (h : Function.IsRetractionOf f g) :
                                    theorem Function.IsSectionOf.inj {α : Type u_1} {β : Type u_2} {f : αβ} {g : βα} (h : Function.IsSectionOf f g) :
                                    theorem Function.IsSectionOf.surj {α : Type u_1} {β : Type u_2} {f : αβ} {g : βα} (h : Function.IsSectionOf f g) :
                                    theorem Function.IsRetractionOf.inj {α : Type u_1} {β : Type u_2} {f : αβ} {g : βα} (h : Function.IsRetractionOf f g) :
                                    theorem Function.IsRetractionOf.surj {α : Type u_1} {β : Type u_2} {f : αβ} {g : βα} (h : Function.IsRetractionOf f g) :
                                    theorem Function.IsInverseOf.symm {α : Type u_1} {β : Type u_2} {f : αβ} {g : βα} (h : Function.IsInverseOf f g) :
                                    theorem Function.IsInverseOf.bij' {α : Type u_1} {β : Type u_2} {f : αβ} {g : βα} (h : Function.IsInverseOf f g) :
                                    theorem Function.IsInverseOf.bij {α : Type u_1} {β : Type u_2} {f : αβ} {g : βα} (h : Function.IsInverseOf f g) :
                                    theorem Function.IsSectionOf.section_eq_iff_image_eq {α : Type u_1} {β : Type u_2} {f : αβ} {g : βα} {f' : αβ} (h : Function.IsSectionOf f g) (h' : Function.IsSectionOf f' g) (h'' : f '' Set.univ = f' '' Set.univ) :
                                    f = f'
                                    theorem Function.IsInverseOf.eq_inv {α : Type u_1} {β : Type u_2} {f : αβ} {g : βα} (h : Function.IsInverseOf f g) :
                                    .inv = g
                                    theorem Function.IsInverseOf.eq_inv' {α : Type u_1} {β : Type u_2} {f : αβ} {g : βα} (h : Function.IsInverseOf f g) :
                                    .inv = f
                                    theorem Function.IsInverseOf.isInverse_eq {α : Type u_1} {β : Type u_2} {f : αβ} {g : βα} {f' : αβ} (h : Function.IsInverseOf f g) (h' : Function.IsInverseOf f' g) :
                                    f = f'
                                    theorem Function.IsInverseOf.isInverse_eq' {α : Type u_1} {β : Type u_2} {f : αβ} {g g' : βα} (h : Function.IsInverseOf f g) (h' : Function.IsInverseOf f g') :
                                    g = g'
                                    theorem Function.IsRetractionOf.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {g : βα} {f' : βγ} {g' : γβ} (h : Function.IsRetractionOf f g) (h' : Function.IsRetractionOf f' g') :
                                    theorem Function.IsSectionOf.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {g : βα} {f' : βγ} {g' : γβ} (h : Function.IsSectionOf f g) (h' : Function.IsSectionOf f' g') :
                                    theorem Function.IsInverseOf.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {g : βα} {f' : βγ} {g' : γβ} (h : Function.IsInverseOf f g) (h' : Function.IsInverseOf f' g') :
                                    theorem Function.HasRetraction.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {f' : βγ} (h : Function.HasRetraction f) (h' : Function.HasRetraction f') :
                                    theorem Function.HasSection.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {f' : βγ} (h : Function.HasSection f) (h' : Function.HasSection f') :
                                    theorem Function.HasInverse.comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {f' : βγ} (h : Function.HasInverse f) (h' : Function.HasInverse f') :
                                    theorem Function.Bijective.inv_isInverseOf {α : Type u_1} {β : Type u_2} {f : αβ} (h : Function.Bijective f) :
                                    theorem Function.hasInverse_iff_bij {α : Type u_1} {β : Type u_2} {f : αβ} :
                                    theorem Function.isRetraction_of_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {f' : βγ} {g : γα} (h : Function.IsRetractionOf g (f' f)) :
                                    theorem Function.isSection_of_comp {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {f' : βγ} {g : γα} (h : Function.IsSectionOf g (f' f)) :
                                    theorem Function.surj_of_inj_comp_surj {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {f' : βγ} (h : Function.Surjective (f' f)) (h' : Function.Injective f') :
                                    theorem Function.inj_of_surj_comp_inj {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {f' : βγ} (h : Function.Injective (f' f)) (h' : Function.Surjective f) :
                                    theorem Function.isRetraction_of_comp_surj {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {f' : βγ} {g : γα} (h : Function.IsRetractionOf g (f' f)) (h' : Function.Surjective f) :
                                    theorem Function.isSection_of_comp_inj {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {f' : βγ} {g : γα} (h : Function.IsSectionOf g (f' f)) (h' : Function.Injective f') :
                                    theorem Function.bij_of_two_bij2 {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {f' : βγ} {g : γα} (h : Function.Bijective (f g)) (h' : Function.Bijective (g f')) :
                                    theorem Function.bij_of_two_bij1 {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {f' : βγ} {g : γα} (h : Function.Bijective (f g)) (h' : Function.Bijective (g f')) :
                                    theorem Function.bij_of_two_bij3 {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {f' : βγ} {g : γα} (h : Function.Bijective (f g)) (h' : Function.Bijective (g f')) :
                                    theorem Function.bij_of_surj_surj_inj1 {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {g : γα} {f' : βγ} (h : Function.Surjective (f' f g)) (h' : Function.Surjective (f g f')) (h'' : Function.Injective (g f' f)) :
                                    theorem Function.bij_of_surj_inj2 {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {g : γα} {f' : βγ} (h' : Function.Surjective (f g f')) (h'' : Function.Injective (g f' f)) :
                                    theorem Function.bij_of_surj_inj3 {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {g : γα} {f' : βγ} (h : Function.Surjective (f' f g)) (h'' : Function.Injective (g f' f)) :
                                    theorem Function.Surjective.factor_after {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {g : αγ} (h : Function.Surjective f) (h' : ∀ (a a' : α), f a = f a'g a = g a') :
                                    ∃! p : βγ, g = p f
                                    theorem Function.Injective.factor_before {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : αβ} {g : γβ} (h : Function.Injective f) (h' : g '' Set.univ f '' Set.univ) :
                                    ∃! i : γα, g = f i
                                    @[simp]
                                    theorem Function.into_unit_surjective {α : Type u_1} [Nonempty α] {f : αUnit} :
                                    @[simp]
                                    theorem Function.out_of_unit_injective {α : Type u_1} {f : Unitα} :
                                    theorem Function.curry_bijective {α : Type u_1} {β : Type u_2} {γ : Type u_3} :
                                    Function.Bijective Function.curry
                                    theorem Function.uncurry_bijective {α : Type u_1} {β : Type u_2} {γ : Type u_3} :
                                    Function.Bijective Function.uncurry
                                    theorem Function.curry_uncurry_inverse {α : Type u_1} {β : Type u_2} {γ : Type u_3} :
                                    Function.IsInverseOf Function.curry Function.uncurry
                                    def Function.Injection (α : Type u_5) (β : Type u_6) :
                                    Type (max 0 u_5 u_6)
                                    Equations
                                    Instances For
                                      def Function.Surjection (α : Type u_5) (β : Type u_6) :
                                      Type (max 0 u_5 u_6)
                                      Equations
                                      Instances For
                                        def Function.Bijection (α : Type u_5) (β : Type u_6) :
                                        Type (max 0 u_5 u_6)
                                        Equations
                                        Instances For
                                          instance Function.instCoeFunBijectionForall {α : Type u_5} {β : Type u_6} :
                                          CoeFun (Function.Bijection α β) fun (x : Function.Bijection α β) => αβ
                                          Equations
                                          instance Function.instCoeFunSurjectionForall {α : Type u_5} {β : Type u_6} :
                                          CoeFun (Function.Surjection α β) fun (x : Function.Surjection α β) => αβ
                                          Equations
                                          instance Function.instCoeFunInjectionForall {α : Type u_5} {β : Type u_6} :
                                          CoeFun (Function.Injection α β) fun (x : Function.Injection α β) => αβ
                                          Equations
                                          noncomputable def Function.Bijection.invfun {α : Type u_1} {β : Type u_2} (f : Function.Bijection α β) (b : β) :
                                          α
                                          Equations
                                          • f.invfun = .inv
                                          Instances For
                                            noncomputable def Function.Bijection.inv {α : Type u_1} {β : Type u_2} (f : Function.Bijection α β) :
                                            Equations
                                            • f.inv = .inv,
                                            Instances For
                                              @[simp]
                                              theorem Function.Bijection.val_inv_val {α : Type u_1} {β : Type u_2} (f : Function.Bijection α β) {b : β} :
                                              f.val (f.inv.val b) = b
                                              @[simp]
                                              theorem Function.Bijection.inv_val_val {α : Type u_1} {β : Type u_2} (f : Function.Bijection α β) {a : α} :
                                              f.inv.val (f.val a) = a
                                              def Function.bijection_of_funcs {α : Type u_1} {β : Type u_2} (f : αβ) (g : βα) (h : ∀ (b : β), f (g b) = b) (h' : ∀ (a : α), g (f a) = a) :
                                              Equations
                                              Instances For
                                                def Function.bijection_univ {α : Type u_1} :
                                                Function.Bijection (↥Set.univ) α
                                                Equations
                                                Instances For
                                                  theorem Subtype.coe.inj {α : Type u_1} {p : αProp} :
                                                  Function.Injective fun (x : { x : α // p x }) => match x with | x, property => x
                                                  theorem Subtype.val_inj {α : Type u_1} {p : αProp} :
                                                  Function.Injective Subtype.val
                                                  theorem Eq.rec_of_inj {ι' : Type u_5} {ι : Type u_6} {x : ιType u_7} {i i' : ι'} (f : ι'ι) (h : f i = f i') (h' : Function.Injective f) (a : (i : ι') → x (f i)) :
                                                  ha i = a i'
                                                  @[simp]
                                                  theorem Subtype.val_image {α : Type u_1} {t : Set α} :
                                                  Subtype.val '' Set.univ = t
                                                  theorem Function.Bijective.preimage_eq {α : Type u_1} {β : Type u_2} {s : Set β} {f : αβ} (h : Function.Bijective f) :
                                                  f ⁻¹' s = h.inv '' s
                                                  @[simp]
                                                  theorem Function.image_univ_restriction {α : Type u_1} {β : Type u_2} {s : Set α} {f : αβ} :
                                                  f|_s '' Set.univ = f '' s
                                                  def bijection_of_eq {α : Type u_1} {s t : Set α} (h : s = t) :
                                                  Equations
                                                  • bijection_of_eq h = fun (x : s) => match x with | x, hx => x, ,
                                                  Instances For