Documentation

Linglib.Core.Logic.FactorsThroughOn

Factor-through on a subset #

This file defines the set-restricted variant of mathlib's Function.FactorsThrough: g factors through f on a subset s of the domain when, for a b ∈ s, equality of f a and f b forces equality of g a and g b.

Main definitions #

Main results #

def Function.FactorsThroughOn {α : Type u_1} {β : Type u_2} {γ : Type u_3} (g : αγ) (f : αβ) (s : Set α) :

g factors through f on s: for a b ∈ s, f a = f b implies g a = g b.

Equations
Instances For
    theorem Function.factorsThroughOn_univ {α : Type u_1} {β : Type u_2} {γ : Type u_3} (g : αγ) (f : αβ) :
    FactorsThroughOn g f Set.univ FactorsThrough g f
    theorem Function.FactorsThrough.factorsThroughOn {α : Type u_1} {β : Type u_2} {γ : Type u_3} {g : αγ} {f : αβ} (h : FactorsThrough g f) (s : Set α) :
    theorem Function.not_factorsThroughOn_iff_exists_witness {α : Type u_1} {β : Type u_2} {γ : Type u_3} {g : αγ} {f : αβ} {s : Set α} :
    ¬FactorsThroughOn g f s ∃ (a : α) (b : α), a s b s f a = f b g a g b
    theorem Function.factorsThroughOn_iff_exists_eqOn {α : Type u_1} {β : Type u_2} {γ : Type u_3} [Nonempty γ] {g : αγ} {f : αβ} {s : Set α} :
    FactorsThroughOn g f s ∃ (h : βγ), Set.EqOn g (h f) s

    Factoring through on s, existentially: g agrees on s with some function of f. The mirror of Function.factorsThrough_iff for the set-restricted variant.

    theorem Function.factorsThrough_iff_of_idempotent {α : Type u_1} {γ : Type u_3} {g : αγ} {f : αα} (hf : ∀ (a : α), f (f a) = f a) :
    FactorsThrough g f ∀ (a : α), g a = g (f a)

    For an idempotent f, g factors through f iff g is f-invariant (pointwise g = g ∘ f).

    @[implicit_reducible]
    instance Function.instDecidableFactorsThroughOnOfFintypeOfDecidablePredMemSetOfDecidableEq {α : Type u_1} {β : Type u_2} {γ : Type u_3} {g : αγ} {f : αβ} {s : Set α} [Fintype α] [DecidablePred fun (x : α) => x s] [DecidableEq β] [DecidableEq γ] :
    Decidable (FactorsThroughOn g f s)
    Equations