Metamath Proof Explorer


Theorem ltbwe

Description: The finite bag order is a well-order, given a well-order of the index set. (Contributed by Mario Carneiro, 2-Jun-2015)

Ref Expression
Hypotheses ltbval.c ⊢ C = T < bag I
ltbval.d ⊢ D = h ∈ ℕ 0 I | h -1 ℕ ∈ Fin
ltbval.i ⊢ φ → I ∈ V
ltbval.t ⊢ φ → T ∈ W
ltbwe.w ⊢ φ → T We I
Assertion ltbwe ⊢ φ → C We D

Proof

Step Hyp Ref Expression
1 ltbval.c ⊢ C = T < bag I
2 ltbval.d ⊢ D = h ∈ ℕ 0 I | h -1 ℕ ∈ Fin
3 ltbval.i ⊢ φ → I ∈ V
4 ltbval.t ⊢ φ → T ∈ W
5 ltbwe.w ⊢ φ → T We I
6 eqid ⊢ x y | ∃ z ∈ I x ⁡ z < y ⁡ z ∧ ∀ w ∈ I z T w → x ⁡ w = y ⁡ w = x y | ∃ z ∈ I x ⁡ z < y ⁡ z ∧ ∀ w ∈ I z T w → x ⁡ w = y ⁡ w
7 breq1 ⊢ h = x → finSupp 0 ⁡ h ↔ finSupp 0 ⁡ x
8 7 cbvrabv ⊢ h ∈ ℕ 0 I | finSupp 0 ⁡ h = x ∈ ℕ 0 I | finSupp 0 ⁡ x
9 nn0uz ⊢ ℕ 0 = ℤ ≥ 0
10 ltweuz ⊢ < We ℤ ≥ 0
11 weeq2 ⊢ ℕ 0 = ℤ ≥ 0 → < We ℕ 0 ↔ < We ℤ ≥ 0
12 10 11 mpbiri ⊢ ℕ 0 = ℤ ≥ 0 → < We ℕ 0
13 9 12 mp1i ⊢ φ → < We ℕ 0
14 0nn0 ⊢ 0 ∈ ℕ 0
15 ne0i ⊢ 0 ∈ ℕ 0 → ℕ 0 ≠ ∅
16 14 15 mp1i ⊢ φ → ℕ 0 ≠ ∅
17 eqid ⊢ OrdIso T I = OrdIso T I
18 0z ⊢ 0 ∈ ℤ
19 hashgval2 ⊢ . ↾ ω = rec ⁡ x ∈ V ⟼ x + 1 0 ↾ ω
20 18 19 om2uzoi ⊢ . ↾ ω = OrdIso < ℤ ≥ 0
21 oieq2 ⊢ ℕ 0 = ℤ ≥ 0 → OrdIso < ℕ 0 = OrdIso < ℤ ≥ 0
22 9 21 ax-mp ⊢ OrdIso < ℕ 0 = OrdIso < ℤ ≥ 0
23 20 22 eqtr4i ⊢ . ↾ ω = OrdIso < ℕ 0
24 peano1 ⊢ ∅ ∈ ω
25 fvres ⊢ ∅ ∈ ω → . ↾ ω ⁡ ∅ = ∅
26 24 25 ax-mp ⊢ . ↾ ω ⁡ ∅ = ∅
27 hash0 ⊢ ∅ = 0
28 26 27 eqtr2i ⊢ 0 = . ↾ ω ⁡ ∅
29 6 8 5 13 16 17 23 28 wemapwe ⊢ φ → x y | ∃ z ∈ I x ⁡ z < y ⁡ z ∧ ∀ w ∈ I z T w → x ⁡ w = y ⁡ w We h ∈ ℕ 0 I | finSupp 0 ⁡ h
30 elmapfun ⊢ h ∈ ℕ 0 I → Fun ⁡ h
31 30 adantl ⊢ φ ∧ h ∈ ℕ 0 I → Fun ⁡ h
32 simpr ⊢ φ ∧ h ∈ ℕ 0 I → h ∈ ℕ 0 I
33 c0ex ⊢ 0 ∈ V
34 33 a1i ⊢ φ ∧ h ∈ ℕ 0 I → 0 ∈ V
35 funisfsupp ⊢ Fun ⁡ h ∧ h ∈ ℕ 0 I ∧ 0 ∈ V → finSupp 0 ⁡ h ↔ h supp 0 ∈ Fin
36 31 32 34 35 syl3anc ⊢ φ ∧ h ∈ ℕ 0 I → finSupp 0 ⁡ h ↔ h supp 0 ∈ Fin
37 elmapi ⊢ h ∈ ℕ 0 I → h : I ⟶ ℕ 0
38 fcdmnn0supp ⊢ I ∈ V ∧ h : I ⟶ ℕ 0 → h supp 0 = h -1 ℕ
39 38 eleq1d ⊢ I ∈ V ∧ h : I ⟶ ℕ 0 → h supp 0 ∈ Fin ↔ h -1 ℕ ∈ Fin
40 3 37 39 syl2an ⊢ φ ∧ h ∈ ℕ 0 I → h supp 0 ∈ Fin ↔ h -1 ℕ ∈ Fin
41 36 40 bitr2d ⊢ φ ∧ h ∈ ℕ 0 I → h -1 ℕ ∈ Fin ↔ finSupp 0 ⁡ h
42 41 rabbidva ⊢ φ → h ∈ ℕ 0 I | h -1 ℕ ∈ Fin = h ∈ ℕ 0 I | finSupp 0 ⁡ h
43 2 42 eqtrid ⊢ φ → D = h ∈ ℕ 0 I | finSupp 0 ⁡ h
44 weeq2 ⊢ D = h ∈ ℕ 0 I | finSupp 0 ⁡ h → x y | ∃ z ∈ I x ⁡ z < y ⁡ z ∧ ∀ w ∈ I z T w → x ⁡ w = y ⁡ w We D ↔ x y | ∃ z ∈ I x ⁡ z < y ⁡ z ∧ ∀ w ∈ I z T w → x ⁡ w = y ⁡ w We h ∈ ℕ 0 I | finSupp 0 ⁡ h
45 43 44 syl ⊢ φ → x y | ∃ z ∈ I x ⁡ z < y ⁡ z ∧ ∀ w ∈ I z T w → x ⁡ w = y ⁡ w We D ↔ x y | ∃ z ∈ I x ⁡ z < y ⁡ z ∧ ∀ w ∈ I z T w → x ⁡ w = y ⁡ w We h ∈ ℕ 0 I | finSupp 0 ⁡ h
46 29 45 mpbird ⊢ φ → x y | ∃ z ∈ I x ⁡ z < y ⁡ z ∧ ∀ w ∈ I z T w → x ⁡ w = y ⁡ w We D
47 weinxp ⊢ x y | ∃ z ∈ I x ⁡ z < y ⁡ z ∧ ∀ w ∈ I z T w → x ⁡ w = y ⁡ w We D ↔ x y | ∃ z ∈ I x ⁡ z < y ⁡ z ∧ ∀ w ∈ I z T w → x ⁡ w = y ⁡ w ∩ D × D We D
48 46 47 sylib ⊢ φ → x y | ∃ z ∈ I x ⁡ z < y ⁡ z ∧ ∀ w ∈ I z T w → x ⁡ w = y ⁡ w ∩ D × D We D
49 1 2 3 4 ltbval ⊢ φ → C = x y | x y ⊆ D ∧ ∃ z ∈ I x ⁡ z < y ⁡ z ∧ ∀ w ∈ I z T w → x ⁡ w = y ⁡ w
50 df-xp ⊢ D × D = x y | x ∈ D ∧ y ∈ D
51 vex ⊢ x ∈ V
52 vex ⊢ y ∈ V
53 51 52 prss ⊢ x ∈ D ∧ y ∈ D ↔ x y ⊆ D
54 53 opabbii ⊢ x y | x ∈ D ∧ y ∈ D = x y | x y ⊆ D
55 50 54 eqtr2i ⊢ x y | x y ⊆ D = D × D
56 55 ineq1i ⊢ x y | x y ⊆ D ∩ x y | ∃ z ∈ I x ⁡ z < y ⁡ z ∧ ∀ w ∈ I z T w → x ⁡ w = y ⁡ w = D × D ∩ x y | ∃ z ∈ I x ⁡ z < y ⁡ z ∧ ∀ w ∈ I z T w → x ⁡ w = y ⁡ w
57 inopab ⊢ x y | x y ⊆ D ∩ x y | ∃ z ∈ I x ⁡ z < y ⁡ z ∧ ∀ w ∈ I z T w → x ⁡ w = y ⁡ w = x y | x y ⊆ D ∧ ∃ z ∈ I x ⁡ z < y ⁡ z ∧ ∀ w ∈ I z T w → x ⁡ w = y ⁡ w
58 incom ⊢ D × D ∩ x y | ∃ z ∈ I x ⁡ z < y ⁡ z ∧ ∀ w ∈ I z T w → x ⁡ w = y ⁡ w = x y | ∃ z ∈ I x ⁡ z < y ⁡ z ∧ ∀ w ∈ I z T w → x ⁡ w = y ⁡ w ∩ D × D
59 56 57 58 3eqtr3i ⊢ x y | x y ⊆ D ∧ ∃ z ∈ I x ⁡ z < y ⁡ z ∧ ∀ w ∈ I z T w → x ⁡ w = y ⁡ w = x y | ∃ z ∈ I x ⁡ z < y ⁡ z ∧ ∀ w ∈ I z T w → x ⁡ w = y ⁡ w ∩ D × D
60 49 59 eqtrdi ⊢ φ → C = x y | ∃ z ∈ I x ⁡ z < y ⁡ z ∧ ∀ w ∈ I z T w → x ⁡ w = y ⁡ w ∩ D × D
61 weeq1 ⊢ C = x y | ∃ z ∈ I x ⁡ z < y ⁡ z ∧ ∀ w ∈ I z T w → x ⁡ w = y ⁡ w ∩ D × D → C We D ↔ x y | ∃ z ∈ I x ⁡ z < y ⁡ z ∧ ∀ w ∈ I z T w → x ⁡ w = y ⁡ w ∩ D × D We D
62 60 61 syl ⊢ φ → C We D ↔ x y | ∃ z ∈ I x ⁡ z < y ⁡ z ∧ ∀ w ∈ I z T w → x ⁡ w = y ⁡ w ∩ D × D We D
63 48 62 mpbird ⊢ φ → C We D