Functions over sets #
Main definitions #
Predicate #
Set.EqOn f₁ f₂ s: functionsf₁andf₂are equal at every point ofs;Set.MapsTo f s t:fsends every point ofsto a point oft;Set.InjOn f s: restriction offtosis injective;Set.SurjOn f s t: every point inshas a preimage ins;Set.BijOn f s t:fis a bijection betweensandt;Set.LeftInvOn f' f s: for everyx ∈ swe havef' (f x) = x;Set.RightInvOn f' f t: for everyy ∈ twe havef (f' y) = y;Set.InvOn f' f s t:f'is a two-side inverse offonsandt, i.e. we haveSet.LeftInvOn f' f sandSet.RightInvOn f' f t.
Functions #
Set.restrict f s: restrict the domain offto the sets;Set.codRestrict f s h: givenh : ∀ x, f x ∈ s, restrict the codomain offto the sets;Set.MapsTo.restrict f s t h: givenh : MapsTo f s t, restrict the domain offtosand the codomain tot.
Restrict #
Restrict domain of a function f to a set s. Same as Subtype.restrict but this version
takes an argument ↥s instead of Subtype s.
Equations
- s.restrict f x = f ↑x
Instances For
Restrict codomain of a function f to a set s. Same as Subtype.coind but this version
has codomain ↥s instead of Subtype s.
Equations
- Set.codRestrict f s h x = ⟨f x, ⋯⟩
Instances For
Alias of the reverse direction of Set.injective_codRestrict.
Equality on a set #
Variant of EqOn.image_eq, for one function being the identity.
Congruence lemmas for monotonicity and antitonicity #
Monotonicity lemmas #
Restricting the domain and then the codomain is the same as MapsTo.restrict.
Reverse of Set.codRestrict_restrict.
If f maps s to t and s is non-empty, t is non-empty.
Restriction onto preimage #
Alias of Set.restrictPreimage_injective.
Alias of Set.restrictPreimage_surjective.
Alias of Set.restrictPreimage_bijective.
Injectivity on a set #
Alias of Set.injOn_of_injective.
Alias of the forward direction of Set.injOn_iff_injective.
Surjectivity on a set #
Bijectivity #
Alias of the forward direction of Set.bijective_iff_bijOn_univ.
left inverse #
Right inverse #
Two-side inverses #
If functions f' and f are inverse on s and t, f maps s into t, and f' maps t
into s, then f is a bijection between s and t. The mapsTo arguments can be deduced from
surjOn statements using LeftInvOn.mapsTo and RightInvOn.mapsTo.
Construct the inverse for a function f on domain s. This function is a right inverse of f
on f '' s. For a computable version, see Function.Embedding.invOfMemRange.
Equations
- Function.invFunOn f s b = if h : ∃ a ∈ s, f a = b then Classical.choose h else Classical.choice inst
Instances For
This lemma is a special case of rightInvOn_invFunOn.image_image'; it may make more sense
to use the other lemma directly in an application.
This lemma is a special case of rightInvOn_invFunOn.image_image; it may make more sense
to use the other lemma directly in an application.
Alias of the forward direction of Set.surjOn_iff_exists_bijOn_subset.
If f maps s bijectively to t and a set t' is contained in the image of some s₁ ⊇ s,
then s₁ has a subset containing s that f maps bijectively to t'.
If f maps s bijectively to t, and t' is a superset of t contained in the range of f,
then f maps some superset of s bijectively to t'.
Monotone #
Piecewise defined function #
Alias of the reverse direction of strictMono_restrict.
Alias of the forward direction of strictMono_restrict.
Non-dependent version of Function.update_comp_eq_of_not_mem_range'
Equivalences, permutations #
Alias of the forward direction of Equiv.bijOn_symm.
Alias of the reverse direction of Equiv.bijOn_symm.