Sublitters #
In this file, we define sublitters.
Main declarations #
ConNF.Sublitter
: A co-small subset of a litter set.
A sublitter is a co-small subset of a litter set.
- litter : ConNF.Litter
- carrier : Set ConNF.Atom
- subset : self.carrier ⊆ ConNF.litterSet self.litter
- diff_small : ConNF.Small (ConNF.litterSet self.litter \ self.carrier)
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.
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]
@[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)}
:
@[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
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]
@[simp]
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}
:
Equations
- L.toSublitter = { litter := L, carrier := ConNF.litterSet L, subset := ⋯, diff_small := ⋯ }
Instances For
@[simp]
@[simp]
theorem
ConNF.Litter.coe_toSublitter
[ConNF.Params]
(L : ConNF.Litter)
:
↑L.toSublitter = ConNF.litterSet L
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)