Consecutive differences of sets #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This file defines the way to make a sequence of elements into a sequence of disjoint elements with the same partial sups.
For a sequence f : ℕ → α
, this new sequence will be f 0
, f 1 \ f 0
, f 2 \ (f 0 ⊔ f 1)
.
It is actually unique, as disjointed_unique
shows.
Main declarations #
disjointed f
: The sequencef 0
,f 1 \ f 0
,f 2 \ (f 0 ⊔ f 1)
, ....partial_sups_disjointed
:disjointed f
has the same partial sups asf
.disjoint_disjointed
: The elements ofdisjointed f
are pairwise disjoint.disjointed_unique
:disjointed f
is the only pairwise disjoint sequence having the same partial sups asf
.supr_disjointed
:disjointed f
has the same supremum asf
. Limiting case ofpartial_sups_disjointed
.
We also provide set notation variants of some lemmas.
TODO #
Find a useful statement of disjointed_rec_succ
.
One could generalize disjointed
to any locally finite bot preorder domain, in place of ℕ
.
Related to the TODO in the module docstring of order.partial_sups
.
If f : ℕ → α
is a sequence of elements, then disjointed f
is the sequence formed by
subtracting each element from the nexts. This is the unique disjoint sequence whose partial sups
are the same as the original sequence.
Equations
- disjointed f (n + 1) = f (n + 1) \ ⇑(partial_sups f) n
- disjointed f 0 = f 0
An induction principle for disjointed
. To define/prove something on disjointed f n
, it's
enough to define/prove it for f n
and being able to extend through diffs.
Equations
- disjointed_rec hdiff = λ (h : p (f (n + 1))), (λ (k : ℕ), nat.rec (hdiff h) (λ (k : ℕ) (ih : p (f (n + 1) \ ⇑(partial_sups f) k)), _.mpr (_.mpr (hdiff ih))) k) n
- disjointed_rec hdiff = id
disjointed f
is the unique sequence that is pairwise disjoint and has the same partial sups
as f
.