Documentation

ConNF.Position.Deny

Injective functions from denied sets #

In this file, we construct a mechanism for creating injective functions satisfying particular constraints.

Main declarations #

Equations
Instances For

    Endow a type X with a well-order of smallest possible order type.

    Equations
    Instances For
      theorem ConNF.initialWellOrder_type {X : Type u_1} :
      (Ordinal.type fun (x1 x2 : X) => x1 < x2) = (Cardinal.mk X).ord
      theorem ConNF.initialWellOrder_card_Iio {X : Type u_1} (x : X) :
      def ConNF.chooseOfCardLt {X : Type u_1} {s : Set X} (h : Cardinal.mk s < Cardinal.mk X) :
      X
      Equations
      Instances For
        theorem ConNF.chooseOfCardLt_not_mem {X : Type u_1} {s : Set X} (h : Cardinal.mk s < Cardinal.mk X) :
        theorem ConNF.gtOfDeny_aux [Params] {X : Type u} (h₁ : Cardinal.mk X Cardinal.mk μ) (deny : XSet μ) (h₂ : ∀ (x : X), Cardinal.mk (deny x) < (Cardinal.mk μ).ord.cof) (x : X) (ih : (y : X) → y < xμ) :
        Cardinal.mk ↑({ν : μ | ∃ (y : X) (h : y < x), ν = ih y h} {ν : μ | ξdeny x, ν ξ}) < Cardinal.mk μ
        def ConNF.gtOfDeny [Params] {X : Type u} (h₁ : Cardinal.mk X Cardinal.mk μ) (deny : XSet μ) (h₂ : ∀ (x : X), Cardinal.mk (deny x) < (Cardinal.mk μ).ord.cof) (x : X) (ih : (y : X) → y < xμ) :
        Equations
        Instances For
          theorem ConNF.gtOfDeny_spec [Params] {X : Type u} (h₁ : Cardinal.mk X Cardinal.mk μ) (deny : XSet μ) (h₂ : ∀ (x : X), Cardinal.mk (deny x) < (Cardinal.mk μ).ord.cof) (x : X) (ih : (y : X) → y < xμ) :
          gtOfDeny h₁ deny h₂ x ih{ν : μ | ∃ (y : X) (h : y < x), ν = ih y h} {ν : μ | ξdeny x, ν ξ}
          def ConNF.funOfDeny [Params] {X : Type u} (h₁ : Cardinal.mk X Cardinal.mk μ) (deny : XSet μ) (h₂ : ∀ (x : X), Cardinal.mk (deny x) < (Cardinal.mk μ).ord.cof) :
          Xμ
          Equations
          Instances For
            theorem ConNF.funOfDeny_eq [Params] {X : Type u} (h₁ : Cardinal.mk X Cardinal.mk μ) (deny : XSet μ) (h₂ : ∀ (x : X), Cardinal.mk (deny x) < (Cardinal.mk μ).ord.cof) (x : X) :
            funOfDeny h₁ deny h₂ x = gtOfDeny h₁ deny h₂ x fun (y : X) (x : y < x) => funOfDeny h₁ deny h₂ y
            theorem ConNF.funOfDeny_spec [Params] {X : Type u} (h₁ : Cardinal.mk X Cardinal.mk μ) (deny : XSet μ) (h₂ : ∀ (x : X), Cardinal.mk (deny x) < (Cardinal.mk μ).ord.cof) (x : X) :
            funOfDeny h₁ deny h₂ x{ν : μ | ∃ (y : X) (_ : y < x), ν = funOfDeny h₁ deny h₂ y} {ν : μ | ξdeny x, ν ξ}
            theorem ConNF.funOfDeny_gt_deny [Params] {X : Type u} (h₁ : Cardinal.mk X Cardinal.mk μ) (deny : XSet μ) (h₂ : ∀ (x : X), Cardinal.mk (deny x) < (Cardinal.mk μ).ord.cof) (x : X) (ν : μ) ( : ν deny x) :
            ν < funOfDeny h₁ deny h₂ x
            theorem ConNF.funOfDeny_injective [Params] {X : Type u} (h₁ : Cardinal.mk X Cardinal.mk μ) (deny : XSet μ) (h₂ : ∀ (x : X), Cardinal.mk (deny x) < (Cardinal.mk μ).ord.cof) :
            Function.Injective (funOfDeny h₁ deny h₂)