Documentation

Mathlib.Logic.Function.FiberPartition

This file defines the type f.Fiber of fibers of a function f : Y → Z, and provides some API to work with and construct terms of this type.

Note: this API is designed to be useful when defining the counit of the adjunction between the functor which takes a set to the condensed set corresponding to locally constant maps to that set, and the forgetful functor from the category of condensed sets to the category of sets (see PR https://github.com/leanprover-community/mathlib4/pull/14027).

def Function.Fiber {Y : Type u_2} {Z : Type u_3} (f : YZ) :
Type u_2

The indexing set of the partition.

Equations
Instances For
    noncomputable def Function.Fiber.image {Y : Type u_2} {Z : Type u_3} (f : YZ) (a : Function.Fiber f) :
    Z

    Any a : Fiber f is of the form f ⁻¹' {x} for some x in the image of f. We define a.image as an arbitrary such x.

    Equations
    Instances For
      theorem Function.Fiber.eq_fiber_image {Y : Type u_2} {Z : Type u_3} (f : YZ) (a : Function.Fiber f) :
      def Function.Fiber.mk {Y : Type u_2} {Z : Type u_3} (f : YZ) (y : Y) :

      Given y : Y, Fiber.mk f y is the fiber of f that y belongs to, as an element of Fiber f.

      Equations
      Instances For
        def Function.Fiber.mkSelf {Y : Type u_2} {Z : Type u_3} (f : YZ) (y : Y) :
        (Function.Fiber.mk f y)

        y : Y as a term of the type Fiber.mk f y

        Equations
        Instances For
          theorem Function.Fiber.map_eq_image {Y : Type u_2} {Z : Type u_3} (f : YZ) (a : Function.Fiber f) (x : a) :
          theorem Function.Fiber.mk_image {Y : Type u_2} {Z : Type u_3} (f : YZ) (y : Y) :
          theorem Function.Fiber.mem_iff_eq_image {Y : Type u_2} {Z : Type u_3} (f : YZ) (y : Y) (a : Function.Fiber f) :
          y a f y = Function.Fiber.image f a
          noncomputable def Function.Fiber.preimage {Y : Type u_2} {Z : Type u_3} (f : YZ) (a : Function.Fiber f) :
          Y

          An arbitrary element of a : Fiber f.

          Equations
          Instances For
            theorem Function.Fiber.fiber_nonempty {Y : Type u_2} {Z : Type u_3} (f : YZ) (a : Function.Fiber f) :
            (↑a).Nonempty
            theorem Function.Fiber.map_preimage_eq_image_map {Y : Type u_2} {Z : Type u_3} {W : Type u_4} (f : YZ) (g : ZW) (a : Function.Fiber (g f)) :
            theorem Function.Fiber.image_eq_image_mk {X : Type u_1} {Y : Type u_2} {Z : Type u_3} (f : YZ) (g : XY) (a : Function.Fiber (f g)) :