Metamath Proof Explorer


Theorem eulerpartlemgu

Description: Lemma for eulerpart : Rewriting the U set for an odd partition Note that interestingly, this proof reuses marypha2lem2 . (Contributed by Thierry Arnoux, 10-Aug-2018)

Ref Expression
Hypotheses eulerpart.p ⊢ P = f ∈ ℕ 0 ℕ | f -1 ℕ ∈ Fin ∧ ∑ k ∈ ℕ f ⁡ k ⁢ k = N
eulerpart.o ⊢ O = g ∈ P | ∀ n ∈ g -1 ℕ ¬ 2 ∥ n
eulerpart.d ⊢ D = g ∈ P | ∀ n ∈ ℕ g ⁡ n ≤ 1
eulerpart.j ⊢ J = z ∈ ℕ | ¬ 2 ∥ z
eulerpart.f ⊢ F = x ∈ J , y ∈ ℕ 0 ⟼ 2 y ⁢ x
eulerpart.h ⊢ H = r ∈ 𝒫 ℕ 0 ∩ Fin J | r supp ∅ ∈ Fin
eulerpart.m ⊢ M = r ∈ H ⟼ x y | x ∈ J ∧ y ∈ r ⁡ x
eulerpart.r ⊢ R = f | f -1 ℕ ∈ Fin
eulerpart.t ⊢ T = f ∈ ℕ 0 ℕ | f -1 ℕ ⊆ J
eulerpart.g ⊢ G = o ∈ T ∩ R ⟼ 𝟙 ℕ ⁡ F M ⁡ bits ∘ o ↾ J
eulerpartlemgh.1 ⊢ U = ⋃ t ∈ A -1 ℕ ∩ J t × bits ⁡ A ⁡ t
Assertion eulerpartlemgu ⊢ A ∈ T ∩ R → U = t n | t ∈ A -1 ℕ ∩ J ∧ n ∈ bits ∘ A ⁡ t

Proof

Step Hyp Ref Expression
1 eulerpart.p ⊢ P = f ∈ ℕ 0 ℕ | f -1 ℕ ∈ Fin ∧ ∑ k ∈ ℕ f ⁡ k ⁢ k = N
2 eulerpart.o ⊢ O = g ∈ P | ∀ n ∈ g -1 ℕ ¬ 2 ∥ n
3 eulerpart.d ⊢ D = g ∈ P | ∀ n ∈ ℕ g ⁡ n ≤ 1
4 eulerpart.j ⊢ J = z ∈ ℕ | ¬ 2 ∥ z
5 eulerpart.f ⊢ F = x ∈ J , y ∈ ℕ 0 ⟼ 2 y ⁢ x
6 eulerpart.h ⊢ H = r ∈ 𝒫 ℕ 0 ∩ Fin J | r supp ∅ ∈ Fin
7 eulerpart.m ⊢ M = r ∈ H ⟼ x y | x ∈ J ∧ y ∈ r ⁡ x
8 eulerpart.r ⊢ R = f | f -1 ℕ ∈ Fin
9 eulerpart.t ⊢ T = f ∈ ℕ 0 ℕ | f -1 ℕ ⊆ J
10 eulerpart.g ⊢ G = o ∈ T ∩ R ⟼ 𝟙 ℕ ⁡ F M ⁡ bits ∘ o ↾ J
11 eulerpartlemgh.1 ⊢ U = ⋃ t ∈ A -1 ℕ ∩ J t × bits ⁡ A ⁡ t
12 1 2 3 4 5 6 7 8 9 eulerpartlemt0 ⊢ A ∈ T ∩ R ↔ A ∈ ℕ 0 ℕ ∧ A -1 ℕ ∈ Fin ∧ A -1 ℕ ⊆ J
13 12 simp1bi ⊢ A ∈ T ∩ R → A ∈ ℕ 0 ℕ
14 elmapi ⊢ A ∈ ℕ 0 ℕ → A : ℕ ⟶ ℕ 0
15 13 14 syl ⊢ A ∈ T ∩ R → A : ℕ ⟶ ℕ 0
16 15 adantr ⊢ A ∈ T ∩ R ∧ t ∈ A -1 ℕ ∩ J → A : ℕ ⟶ ℕ 0
17 16 ffund ⊢ A ∈ T ∩ R ∧ t ∈ A -1 ℕ ∩ J → Fun ⁡ A
18 inss1 ⊢ A -1 ℕ ∩ J ⊆ A -1 ℕ
19 cnvimass ⊢ A -1 ℕ ⊆ dom ⁡ A
20 19 15 fssdm ⊢ A ∈ T ∩ R → A -1 ℕ ⊆ ℕ
21 18 20 sstrid ⊢ A ∈ T ∩ R → A -1 ℕ ∩ J ⊆ ℕ
22 21 sselda ⊢ A ∈ T ∩ R ∧ t ∈ A -1 ℕ ∩ J → t ∈ ℕ
23 15 fdmd ⊢ A ∈ T ∩ R → dom ⁡ A = ℕ
24 23 eleq2d ⊢ A ∈ T ∩ R → t ∈ dom ⁡ A ↔ t ∈ ℕ
25 24 adantr ⊢ A ∈ T ∩ R ∧ t ∈ A -1 ℕ ∩ J → t ∈ dom ⁡ A ↔ t ∈ ℕ
26 22 25 mpbird ⊢ A ∈ T ∩ R ∧ t ∈ A -1 ℕ ∩ J → t ∈ dom ⁡ A
27 fvco ⊢ Fun ⁡ A ∧ t ∈ dom ⁡ A → bits ∘ A ⁡ t = bits ⁡ A ⁡ t
28 17 26 27 syl2anc ⊢ A ∈ T ∩ R ∧ t ∈ A -1 ℕ ∩ J → bits ∘ A ⁡ t = bits ⁡ A ⁡ t
29 28 xpeq2d ⊢ A ∈ T ∩ R ∧ t ∈ A -1 ℕ ∩ J → t × bits ∘ A ⁡ t = t × bits ⁡ A ⁡ t
30 29 iuneq2dv ⊢ A ∈ T ∩ R → ⋃ t ∈ A -1 ℕ ∩ J t × bits ∘ A ⁡ t = ⋃ t ∈ A -1 ℕ ∩ J t × bits ⁡ A ⁡ t
31 eqid ⊢ ⋃ t ∈ A -1 ℕ ∩ J t × bits ∘ A ⁡ t = ⋃ t ∈ A -1 ℕ ∩ J t × bits ∘ A ⁡ t
32 31 marypha2lem2 ⊢ ⋃ t ∈ A -1 ℕ ∩ J t × bits ∘ A ⁡ t = t n | t ∈ A -1 ℕ ∩ J ∧ n ∈ bits ∘ A ⁡ t
33 30 32 eqtr3di ⊢ A ∈ T ∩ R → ⋃ t ∈ A -1 ℕ ∩ J t × bits ⁡ A ⁡ t = t n | t ∈ A -1 ℕ ∩ J ∧ n ∈ bits ∘ A ⁡ t
34 11 33 eqtrid ⊢ A ∈ T ∩ R → U = t n | t ∈ A -1 ℕ ∩ J ∧ n ∈ bits ∘ A ⁡ t