Documentation

ConNF.FOA.Basic.Sublitter

Sublitters #

In this file, we define sublitters.

Main declarations #

A sublitter is a co-small subset of a litter set.

Instances For
    theorem ConNF.Sublitter.subset [ConNF.Params] (self : ConNF.Sublitter) :
    self.carrier ConNF.litterSet self.litter
    theorem ConNF.Sublitter.diff_small [ConNF.Params] (self : ConNF.Sublitter) :
    ConNF.Small (ConNF.litterSet self.litter \ self.carrier)
    theorem ConNF.Sublitter.mk_S_eq_κ [ConNF.Params] (S : ConNF.Sublitter) :
    Cardinal.mk S.carrier = Cardinal.mk ConNF.κ

    Use sublitter.mk_eq_κ instead if possible.

    instance ConNF.Sublitter.instSetLikeAtom [ConNF.Params] :
    SetLike ConNF.Sublitter ConNF.Atom
    Equations
    • ConNF.Sublitter.instSetLikeAtom = { coe := fun (S : ConNF.Sublitter) => S.carrier, coe_injective' := }
    @[simp]
    theorem ConNF.Sublitter.mk_eq_κ [ConNF.Params] (S : ConNF.Sublitter) :
    Cardinal.mk S = Cardinal.mk ConNF.κ
    @[simp]
    theorem ConNF.Sublitter.mk_eq_κ' [ConNF.Params] (S : ConNF.Sublitter) :
    Cardinal.mk S = Cardinal.mk ConNF.κ
    @[simp]
    theorem ConNF.Sublitter.carrier_eq_coe [ConNF.Params] {S : ConNF.Sublitter} :
    S.carrier = S
    @[simp]
    theorem ConNF.Sublitter.coe_mk [ConNF.Params] (L : ConNF.Litter) (S : Set ConNF.Atom) (subset : S ConNF.litterSet L) (diff_small : ConNF.Small (ConNF.litterSet L \ S)) :
    { litter := L, carrier := S, subset := subset, diff_small := diff_small } = S
    theorem ConNF.Sublitter.ext [ConNF.Params] {S₁ : ConNF.Sublitter} {S₂ : ConNF.Sublitter} (h : S₁ = S₂) :
    S₁ = S₂
    theorem ConNF.Sublitter.fst_eq_of_mem [ConNF.Params] {S : ConNF.Sublitter} {a : ConNF.Atom} (h : a S) :
    a.1 = S.litter
    theorem ConNF.Sublitter.mem_litterSet_of_mem [ConNF.Params] {S : ConNF.Sublitter} {a : ConNF.Atom} (h : a S) :
    a ConNF.litterSet S.litter
    @[simp]
    theorem ConNF.Sublitter.mem_mk [ConNF.Params] {a : ConNF.Atom} {L : ConNF.Litter} {S : Set ConNF.Atom} {subset : S ConNF.litterSet L} {diff_small : ConNF.Small (ConNF.litterSet L \ S)} :
    a { litter := L, carrier := S, subset := subset, diff_small := diff_small } a S
    @[simp]
    theorem ConNF.Sublitter.litter_diff_eq [ConNF.Params] (S : ConNF.Sublitter) :
    S \ ConNF.litterSet S.litter =
    theorem ConNF.Sublitter.isNearLitter [ConNF.Params] (S : ConNF.Sublitter) :
    ConNF.IsNearLitter S.litter S
    def ConNF.Sublitter.toNearLitter [ConNF.Params] (S : ConNF.Sublitter) :
    ConNF.NearLitter
    Equations
    • S.toNearLitter = S.litter, S,
    Instances For
      @[simp]
      theorem ConNF.Sublitter.toNearLitter_litter [ConNF.Params] (S : ConNF.Sublitter) :
      S.toNearLitter.fst = S.litter
      @[simp]
      theorem ConNF.Sublitter.coe_toNearLitter [ConNF.Params] (S : ConNF.Sublitter) :
      S.toNearLitter = S
      @[simp]
      theorem ConNF.Sublitter.mem_toNearLitter [ConNF.Params] {S : ConNF.Sublitter} (a : ConNF.Atom) :
      a S.toNearLitter a S
      theorem ConNF.Sublitter.isNear_iff [ConNF.Params] {S₁ : ConNF.Sublitter} {S₂ : ConNF.Sublitter} :
      ConNF.IsNear S₁ S₂ S₁.litter = S₂.litter
      theorem ConNF.Sublitter.inter_nonempty_iff [ConNF.Params] {S₁ : ConNF.Sublitter} {S₂ : ConNF.Sublitter} :
      (S₁ S₂).Nonempty S₁.litter = S₂.litter
      def ConNF.Litter.toSublitter [ConNF.Params] (L : ConNF.Litter) :
      ConNF.Sublitter
      Equations
      • L.toSublitter = { litter := L, carrier := ConNF.litterSet L, subset := , diff_small := }
      Instances For
        @[simp]
        theorem ConNF.Litter.litter_toSublitter [ConNF.Params] (L : ConNF.Litter) :
        L.toSublitter.litter = L
        @[simp]
        theorem ConNF.Litter.coe_toSublitter [ConNF.Params] (L : ConNF.Litter) :
        L.toSublitter = ConNF.litterSet L
        noncomputable def ConNF.Sublitter.equivκ [ConNF.Params] (S : ConNF.Sublitter) :
        S ConNF.κ
        Equations
        • S.equivκ = .some
        Instances For
          noncomputable def ConNF.Sublitter.equiv [ConNF.Params] (S : ConNF.Sublitter) (T : ConNF.Sublitter) :
          S T

          There is an equivalence between any two sublitters.

          Equations
          • S.equiv T = S.equivκ.trans T.equivκ.symm
          Instances For
            @[simp]
            theorem ConNF.Sublitter.equiv_apply_mem [ConNF.Params] {S : ConNF.Sublitter} {T : ConNF.Sublitter} (a : S) :
            ((S.equiv T) a) T
            @[simp]
            theorem ConNF.Sublitter.equiv_symm_apply_mem [ConNF.Params] {S : ConNF.Sublitter} {T : ConNF.Sublitter} (a : T) :
            ((S.equiv T).symm a) S
            @[simp]
            theorem ConNF.Sublitter.equiv_apply_fst_eq [ConNF.Params] {S : ConNF.Sublitter} {T : ConNF.Sublitter} (a : S) :
            (((S.equiv T) a)).1 = T.litter
            @[simp]
            theorem ConNF.Sublitter.equiv_symm_apply_fst_eq [ConNF.Params] {S : ConNF.Sublitter} {T : ConNF.Sublitter} (a : T) :
            (((S.equiv T).symm a)).1 = S.litter
            theorem ConNF.Sublitter.equiv_congr_left [ConNF.Params] {S : ConNF.Sublitter} {T : ConNF.Sublitter} {U : ConNF.Sublitter} (h : S = T) (a : S) :
            ((S.equiv U) a) = ((T.equiv U) a, )
            theorem ConNF.Sublitter.equiv_congr_right [ConNF.Params] {S : ConNF.Sublitter} {T : ConNF.Sublitter} {U : ConNF.Sublitter} (h : T = U) (a : S) :
            ((S.equiv T) a) = ((S.equiv U) a)