Metamath Proof Explorer


Theorem findcard2OLD

Description: Obsolete version of findcard2 as of 6-Aug-2024. (Contributed by Jeff Madsen, 8-Jul-2010) (Proof modification is discouraged.) (New usage is discouraged.)

Ref Expression
Hypotheses findcard2OLD.1 ( 𝑥 = ∅ → ( 𝜑𝜓 ) )
findcard2OLD.2 ( 𝑥 = 𝑦 → ( 𝜑𝜒 ) )
findcard2OLD.3 ( 𝑥 = ( 𝑦 ∪ { 𝑧 } ) → ( 𝜑𝜃 ) )
findcard2OLD.4 ( 𝑥 = 𝐴 → ( 𝜑𝜏 ) )
findcard2OLD.5 𝜓
findcard2OLD.6 ( 𝑦 ∈ Fin → ( 𝜒𝜃 ) )
Assertion findcard2OLD ( 𝐴 ∈ Fin → 𝜏 )

Proof

Step Hyp Ref Expression
1 findcard2OLD.1 ( 𝑥 = ∅ → ( 𝜑𝜓 ) )
2 findcard2OLD.2 ( 𝑥 = 𝑦 → ( 𝜑𝜒 ) )
3 findcard2OLD.3 ( 𝑥 = ( 𝑦 ∪ { 𝑧 } ) → ( 𝜑𝜃 ) )
4 findcard2OLD.4 ( 𝑥 = 𝐴 → ( 𝜑𝜏 ) )
5 findcard2OLD.5 𝜓
6 findcard2OLD.6 ( 𝑦 ∈ Fin → ( 𝜒𝜃 ) )
7 isfi ( 𝑥 ∈ Fin ↔ ∃ 𝑤 ∈ ω 𝑥𝑤 )
8 breq2 ( 𝑤 = ∅ → ( 𝑥𝑤𝑥 ≈ ∅ ) )
9 8 imbi1d ( 𝑤 = ∅ → ( ( 𝑥𝑤𝜑 ) ↔ ( 𝑥 ≈ ∅ → 𝜑 ) ) )
10 9 albidv ( 𝑤 = ∅ → ( ∀ 𝑥 ( 𝑥𝑤𝜑 ) ↔ ∀ 𝑥 ( 𝑥 ≈ ∅ → 𝜑 ) ) )
11 breq2 ( 𝑤 = 𝑣 → ( 𝑥𝑤𝑥𝑣 ) )
12 11 imbi1d ( 𝑤 = 𝑣 → ( ( 𝑥𝑤𝜑 ) ↔ ( 𝑥𝑣𝜑 ) ) )
13 12 albidv ( 𝑤 = 𝑣 → ( ∀ 𝑥 ( 𝑥𝑤𝜑 ) ↔ ∀ 𝑥 ( 𝑥𝑣𝜑 ) ) )
14 breq2 ( 𝑤 = suc 𝑣 → ( 𝑥𝑤𝑥 ≈ suc 𝑣 ) )
15 14 imbi1d ( 𝑤 = suc 𝑣 → ( ( 𝑥𝑤𝜑 ) ↔ ( 𝑥 ≈ suc 𝑣𝜑 ) ) )
16 15 albidv ( 𝑤 = suc 𝑣 → ( ∀ 𝑥 ( 𝑥𝑤𝜑 ) ↔ ∀ 𝑥 ( 𝑥 ≈ suc 𝑣𝜑 ) ) )
17 en0 ( 𝑥 ≈ ∅ ↔ 𝑥 = ∅ )
18 5 1 mpbiri ( 𝑥 = ∅ → 𝜑 )
19 17 18 sylbi ( 𝑥 ≈ ∅ → 𝜑 )
20 19 ax-gen 𝑥 ( 𝑥 ≈ ∅ → 𝜑 )
21 nsuceq0 suc 𝑣 ≠ ∅
22 breq1 ( 𝑤 = ∅ → ( 𝑤 ≈ suc 𝑣 ↔ ∅ ≈ suc 𝑣 ) )
23 22 anbi2d ( 𝑤 = ∅ → ( ( 𝑣 ∈ ω ∧ 𝑤 ≈ suc 𝑣 ) ↔ ( 𝑣 ∈ ω ∧ ∅ ≈ suc 𝑣 ) ) )
24 peano1 ∅ ∈ ω
25 peano2 ( 𝑣 ∈ ω → suc 𝑣 ∈ ω )
26 nneneq ( ( ∅ ∈ ω ∧ suc 𝑣 ∈ ω ) → ( ∅ ≈ suc 𝑣 ↔ ∅ = suc 𝑣 ) )
27 24 25 26 sylancr ( 𝑣 ∈ ω → ( ∅ ≈ suc 𝑣 ↔ ∅ = suc 𝑣 ) )
28 27 biimpa ( ( 𝑣 ∈ ω ∧ ∅ ≈ suc 𝑣 ) → ∅ = suc 𝑣 )
29 28 eqcomd ( ( 𝑣 ∈ ω ∧ ∅ ≈ suc 𝑣 ) → suc 𝑣 = ∅ )
30 23 29 syl6bi ( 𝑤 = ∅ → ( ( 𝑣 ∈ ω ∧ 𝑤 ≈ suc 𝑣 ) → suc 𝑣 = ∅ ) )
31 30 com12 ( ( 𝑣 ∈ ω ∧ 𝑤 ≈ suc 𝑣 ) → ( 𝑤 = ∅ → suc 𝑣 = ∅ ) )
32 31 necon3d ( ( 𝑣 ∈ ω ∧ 𝑤 ≈ suc 𝑣 ) → ( suc 𝑣 ≠ ∅ → 𝑤 ≠ ∅ ) )
33 21 32 mpi ( ( 𝑣 ∈ ω ∧ 𝑤 ≈ suc 𝑣 ) → 𝑤 ≠ ∅ )
34 33 ex ( 𝑣 ∈ ω → ( 𝑤 ≈ suc 𝑣𝑤 ≠ ∅ ) )
35 n0 ( 𝑤 ≠ ∅ ↔ ∃ 𝑧 𝑧𝑤 )
36 dif1en ( ( 𝑣 ∈ ω ∧ 𝑤 ≈ suc 𝑣𝑧𝑤 ) → ( 𝑤 ∖ { 𝑧 } ) ≈ 𝑣 )
37 36 3expia ( ( 𝑣 ∈ ω ∧ 𝑤 ≈ suc 𝑣 ) → ( 𝑧𝑤 → ( 𝑤 ∖ { 𝑧 } ) ≈ 𝑣 ) )
38 snssi ( 𝑧𝑤 → { 𝑧 } ⊆ 𝑤 )
39 uncom ( ( 𝑤 ∖ { 𝑧 } ) ∪ { 𝑧 } ) = ( { 𝑧 } ∪ ( 𝑤 ∖ { 𝑧 } ) )
40 undif ( { 𝑧 } ⊆ 𝑤 ↔ ( { 𝑧 } ∪ ( 𝑤 ∖ { 𝑧 } ) ) = 𝑤 )
41 40 biimpi ( { 𝑧 } ⊆ 𝑤 → ( { 𝑧 } ∪ ( 𝑤 ∖ { 𝑧 } ) ) = 𝑤 )
42 39 41 syl5eq ( { 𝑧 } ⊆ 𝑤 → ( ( 𝑤 ∖ { 𝑧 } ) ∪ { 𝑧 } ) = 𝑤 )
43 vex 𝑤 ∈ V
44 43 difexi ( 𝑤 ∖ { 𝑧 } ) ∈ V
45 breq1 ( 𝑦 = ( 𝑤 ∖ { 𝑧 } ) → ( 𝑦𝑣 ↔ ( 𝑤 ∖ { 𝑧 } ) ≈ 𝑣 ) )
46 45 anbi2d ( 𝑦 = ( 𝑤 ∖ { 𝑧 } ) → ( ( 𝑣 ∈ ω ∧ 𝑦𝑣 ) ↔ ( 𝑣 ∈ ω ∧ ( 𝑤 ∖ { 𝑧 } ) ≈ 𝑣 ) ) )
47 uneq1 ( 𝑦 = ( 𝑤 ∖ { 𝑧 } ) → ( 𝑦 ∪ { 𝑧 } ) = ( ( 𝑤 ∖ { 𝑧 } ) ∪ { 𝑧 } ) )
48 47 sbceq1d ( 𝑦 = ( 𝑤 ∖ { 𝑧 } ) → ( [ ( 𝑦 ∪ { 𝑧 } ) / 𝑥 ] 𝜑[ ( ( 𝑤 ∖ { 𝑧 } ) ∪ { 𝑧 } ) / 𝑥 ] 𝜑 ) )
49 48 imbi2d ( 𝑦 = ( 𝑤 ∖ { 𝑧 } ) → ( ( ∀ 𝑥 ( 𝑥𝑣𝜑 ) → [ ( 𝑦 ∪ { 𝑧 } ) / 𝑥 ] 𝜑 ) ↔ ( ∀ 𝑥 ( 𝑥𝑣𝜑 ) → [ ( ( 𝑤 ∖ { 𝑧 } ) ∪ { 𝑧 } ) / 𝑥 ] 𝜑 ) ) )
50 46 49 imbi12d ( 𝑦 = ( 𝑤 ∖ { 𝑧 } ) → ( ( ( 𝑣 ∈ ω ∧ 𝑦𝑣 ) → ( ∀ 𝑥 ( 𝑥𝑣𝜑 ) → [ ( 𝑦 ∪ { 𝑧 } ) / 𝑥 ] 𝜑 ) ) ↔ ( ( 𝑣 ∈ ω ∧ ( 𝑤 ∖ { 𝑧 } ) ≈ 𝑣 ) → ( ∀ 𝑥 ( 𝑥𝑣𝜑 ) → [ ( ( 𝑤 ∖ { 𝑧 } ) ∪ { 𝑧 } ) / 𝑥 ] 𝜑 ) ) ) )
51 breq1 ( 𝑥 = 𝑦 → ( 𝑥𝑣𝑦𝑣 ) )
52 51 2 imbi12d ( 𝑥 = 𝑦 → ( ( 𝑥𝑣𝜑 ) ↔ ( 𝑦𝑣𝜒 ) ) )
53 52 spvv ( ∀ 𝑥 ( 𝑥𝑣𝜑 ) → ( 𝑦𝑣𝜒 ) )
54 rspe ( ( 𝑣 ∈ ω ∧ 𝑦𝑣 ) → ∃ 𝑣 ∈ ω 𝑦𝑣 )
55 isfi ( 𝑦 ∈ Fin ↔ ∃ 𝑣 ∈ ω 𝑦𝑣 )
56 54 55 sylibr ( ( 𝑣 ∈ ω ∧ 𝑦𝑣 ) → 𝑦 ∈ Fin )
57 pm2.27 ( 𝑦𝑣 → ( ( 𝑦𝑣𝜒 ) → 𝜒 ) )
58 57 adantl ( ( 𝑣 ∈ ω ∧ 𝑦𝑣 ) → ( ( 𝑦𝑣𝜒 ) → 𝜒 ) )
59 56 58 6 sylsyld ( ( 𝑣 ∈ ω ∧ 𝑦𝑣 ) → ( ( 𝑦𝑣𝜒 ) → 𝜃 ) )
60 53 59 syl5 ( ( 𝑣 ∈ ω ∧ 𝑦𝑣 ) → ( ∀ 𝑥 ( 𝑥𝑣𝜑 ) → 𝜃 ) )
61 vex 𝑦 ∈ V
62 snex { 𝑧 } ∈ V
63 61 62 unex ( 𝑦 ∪ { 𝑧 } ) ∈ V
64 63 3 sbcie ( [ ( 𝑦 ∪ { 𝑧 } ) / 𝑥 ] 𝜑𝜃 )
65 60 64 syl6ibr ( ( 𝑣 ∈ ω ∧ 𝑦𝑣 ) → ( ∀ 𝑥 ( 𝑥𝑣𝜑 ) → [ ( 𝑦 ∪ { 𝑧 } ) / 𝑥 ] 𝜑 ) )
66 44 50 65 vtocl ( ( 𝑣 ∈ ω ∧ ( 𝑤 ∖ { 𝑧 } ) ≈ 𝑣 ) → ( ∀ 𝑥 ( 𝑥𝑣𝜑 ) → [ ( ( 𝑤 ∖ { 𝑧 } ) ∪ { 𝑧 } ) / 𝑥 ] 𝜑 ) )
67 dfsbcq ( ( ( 𝑤 ∖ { 𝑧 } ) ∪ { 𝑧 } ) = 𝑤 → ( [ ( ( 𝑤 ∖ { 𝑧 } ) ∪ { 𝑧 } ) / 𝑥 ] 𝜑[ 𝑤 / 𝑥 ] 𝜑 ) )
68 67 imbi2d ( ( ( 𝑤 ∖ { 𝑧 } ) ∪ { 𝑧 } ) = 𝑤 → ( ( ∀ 𝑥 ( 𝑥𝑣𝜑 ) → [ ( ( 𝑤 ∖ { 𝑧 } ) ∪ { 𝑧 } ) / 𝑥 ] 𝜑 ) ↔ ( ∀ 𝑥 ( 𝑥𝑣𝜑 ) → [ 𝑤 / 𝑥 ] 𝜑 ) ) )
69 66 68 syl5ib ( ( ( 𝑤 ∖ { 𝑧 } ) ∪ { 𝑧 } ) = 𝑤 → ( ( 𝑣 ∈ ω ∧ ( 𝑤 ∖ { 𝑧 } ) ≈ 𝑣 ) → ( ∀ 𝑥 ( 𝑥𝑣𝜑 ) → [ 𝑤 / 𝑥 ] 𝜑 ) ) )
70 38 42 69 3syl ( 𝑧𝑤 → ( ( 𝑣 ∈ ω ∧ ( 𝑤 ∖ { 𝑧 } ) ≈ 𝑣 ) → ( ∀ 𝑥 ( 𝑥𝑣𝜑 ) → [ 𝑤 / 𝑥 ] 𝜑 ) ) )
71 70 expd ( 𝑧𝑤 → ( 𝑣 ∈ ω → ( ( 𝑤 ∖ { 𝑧 } ) ≈ 𝑣 → ( ∀ 𝑥 ( 𝑥𝑣𝜑 ) → [ 𝑤 / 𝑥 ] 𝜑 ) ) ) )
72 71 com12 ( 𝑣 ∈ ω → ( 𝑧𝑤 → ( ( 𝑤 ∖ { 𝑧 } ) ≈ 𝑣 → ( ∀ 𝑥 ( 𝑥𝑣𝜑 ) → [ 𝑤 / 𝑥 ] 𝜑 ) ) ) )
73 72 adantr ( ( 𝑣 ∈ ω ∧ 𝑤 ≈ suc 𝑣 ) → ( 𝑧𝑤 → ( ( 𝑤 ∖ { 𝑧 } ) ≈ 𝑣 → ( ∀ 𝑥 ( 𝑥𝑣𝜑 ) → [ 𝑤 / 𝑥 ] 𝜑 ) ) ) )
74 37 73 mpdd ( ( 𝑣 ∈ ω ∧ 𝑤 ≈ suc 𝑣 ) → ( 𝑧𝑤 → ( ∀ 𝑥 ( 𝑥𝑣𝜑 ) → [ 𝑤 / 𝑥 ] 𝜑 ) ) )
75 74 exlimdv ( ( 𝑣 ∈ ω ∧ 𝑤 ≈ suc 𝑣 ) → ( ∃ 𝑧 𝑧𝑤 → ( ∀ 𝑥 ( 𝑥𝑣𝜑 ) → [ 𝑤 / 𝑥 ] 𝜑 ) ) )
76 35 75 syl5bi ( ( 𝑣 ∈ ω ∧ 𝑤 ≈ suc 𝑣 ) → ( 𝑤 ≠ ∅ → ( ∀ 𝑥 ( 𝑥𝑣𝜑 ) → [ 𝑤 / 𝑥 ] 𝜑 ) ) )
77 76 ex ( 𝑣 ∈ ω → ( 𝑤 ≈ suc 𝑣 → ( 𝑤 ≠ ∅ → ( ∀ 𝑥 ( 𝑥𝑣𝜑 ) → [ 𝑤 / 𝑥 ] 𝜑 ) ) ) )
78 34 77 mpdd ( 𝑣 ∈ ω → ( 𝑤 ≈ suc 𝑣 → ( ∀ 𝑥 ( 𝑥𝑣𝜑 ) → [ 𝑤 / 𝑥 ] 𝜑 ) ) )
79 78 com23 ( 𝑣 ∈ ω → ( ∀ 𝑥 ( 𝑥𝑣𝜑 ) → ( 𝑤 ≈ suc 𝑣[ 𝑤 / 𝑥 ] 𝜑 ) ) )
80 79 alrimdv ( 𝑣 ∈ ω → ( ∀ 𝑥 ( 𝑥𝑣𝜑 ) → ∀ 𝑤 ( 𝑤 ≈ suc 𝑣[ 𝑤 / 𝑥 ] 𝜑 ) ) )
81 nfv 𝑤 ( 𝑥 ≈ suc 𝑣𝜑 )
82 nfv 𝑥 𝑤 ≈ suc 𝑣
83 nfsbc1v 𝑥 [ 𝑤 / 𝑥 ] 𝜑
84 82 83 nfim 𝑥 ( 𝑤 ≈ suc 𝑣[ 𝑤 / 𝑥 ] 𝜑 )
85 breq1 ( 𝑥 = 𝑤 → ( 𝑥 ≈ suc 𝑣𝑤 ≈ suc 𝑣 ) )
86 sbceq1a ( 𝑥 = 𝑤 → ( 𝜑[ 𝑤 / 𝑥 ] 𝜑 ) )
87 85 86 imbi12d ( 𝑥 = 𝑤 → ( ( 𝑥 ≈ suc 𝑣𝜑 ) ↔ ( 𝑤 ≈ suc 𝑣[ 𝑤 / 𝑥 ] 𝜑 ) ) )
88 81 84 87 cbvalv1 ( ∀ 𝑥 ( 𝑥 ≈ suc 𝑣𝜑 ) ↔ ∀ 𝑤 ( 𝑤 ≈ suc 𝑣[ 𝑤 / 𝑥 ] 𝜑 ) )
89 80 88 syl6ibr ( 𝑣 ∈ ω → ( ∀ 𝑥 ( 𝑥𝑣𝜑 ) → ∀ 𝑥 ( 𝑥 ≈ suc 𝑣𝜑 ) ) )
90 10 13 16 20 89 finds1 ( 𝑤 ∈ ω → ∀ 𝑥 ( 𝑥𝑤𝜑 ) )
91 90 19.21bi ( 𝑤 ∈ ω → ( 𝑥𝑤𝜑 ) )
92 91 rexlimiv ( ∃ 𝑤 ∈ ω 𝑥𝑤𝜑 )
93 7 92 sylbi ( 𝑥 ∈ Fin → 𝜑 )
94 4 93 vtoclga ( 𝐴 ∈ Fin → 𝜏 )