MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  findcard2 Structured version   Visualization version   GIF version

Theorem findcard2 9185
Description: Schema for induction on the cardinality of a finite set. The inductive step shows that the result is true if one more element is added to the set. The result is then proven to be true for all finite sets. (Contributed by Jeff Madsen, 8-Jul-2010.) Avoid ax-pow 5326. (Revised by BTernaryTau, 26-Aug-2024.)
Hypotheses
Ref Expression
findcard2.1 (𝑥 = ∅ → (𝜑 ↔ 𝜓))
findcard2.2 (𝑥 = 𝑦 → (𝜑 ↔ 𝜒))
findcard2.3 (𝑥 = (𝑦 ∪ {𝑧}) → (𝜑 ↔ 𝜃))
findcard2.4 (𝑥 = 𝐴 → (𝜑 ↔ 𝜏))
findcard2.5 𝜓
findcard2.6 (𝑦 ∈ Fin → (𝜒 → 𝜃))
Assertion
Ref Expression
findcard2 (𝐴 ∈ Fin → 𝜏)
Distinct variable groups:   𝜒,𝑥   𝜃,𝑥   𝜏,𝑥   𝑥,𝐴   𝜑,𝑦,𝑧   𝑥,𝑦,𝑧
Allowed substitution hints:   𝜑(𝑥)   𝜓(𝑥, 𝑦, 𝑧)   𝜒(𝑦, 𝑧)   𝜃(𝑦, 𝑧)   𝜏(𝑦, 𝑧)   𝐴(𝑦, 𝑧)

Proof of Theorem findcard2
Dummy variables 𝑣 𝑤 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 findcard2.4 . 2 (𝑥 = 𝐴 → (𝜑 ↔ 𝜏))
2 isfi 9007 . . 3 (𝑥 ∈ Fin ↔ ∃𝑤 ∈ ω 𝑥 ≈ 𝑤)
3 breq2 5106 . . . . . . . 8 (𝑤 = ∅ → (𝑥 ≈ 𝑤 ↔ 𝑥 ≈ ∅))
43imbi1d 344 . . . . . . 7 (𝑤 = ∅ → ((𝑥 ≈ 𝑤 → 𝜑) ↔ (𝑥 ≈ ∅ → 𝜑)))
54albidv 1952 . . . . . 6 (𝑤 = ∅ → (∀𝑥(𝑥 ≈ 𝑤 → 𝜑) ↔ ∀𝑥(𝑥 ≈ ∅ → 𝜑)))
6 breq2 5106 . . . . . . . 8 (𝑤 = 𝑣 → (𝑥 ≈ 𝑤 ↔ 𝑥 ≈ 𝑣))
76imbi1d 344 . . . . . . 7 (𝑤 = 𝑣 → ((𝑥 ≈ 𝑤 → 𝜑) ↔ (𝑥 ≈ 𝑣 → 𝜑)))
87albidv 1952 . . . . . 6 (𝑤 = 𝑣 → (∀𝑥(𝑥 ≈ 𝑤 → 𝜑) ↔ ∀𝑥(𝑥 ≈ 𝑣 → 𝜑)))
9 breq2 5106 . . . . . . . 8 (𝑤 = suc 𝑣 → (𝑥 ≈ 𝑤 ↔ 𝑥 ≈ suc 𝑣))
109imbi1d 344 . . . . . . 7 (𝑤 = suc 𝑣 → ((𝑥 ≈ 𝑤 → 𝜑) ↔ (𝑥 ≈ suc 𝑣 → 𝜑)))
1110albidv 1952 . . . . . 6 (𝑤 = suc 𝑣 → (∀𝑥(𝑥 ≈ 𝑤 → 𝜑) ↔ ∀𝑥(𝑥 ≈ suc 𝑣 → 𝜑)))
12 en0 9050 . . . . . . . 8 (𝑥 ≈ ∅ ↔ 𝑥 = ∅)
13 findcard2.5 . . . . . . . . 9 𝜓
14 findcard2.1 . . . . . . . . 9 (𝑥 = ∅ → (𝜑 ↔ 𝜓))
1513, 14mpbiri 261 . . . . . . . 8 (𝑥 = ∅ → 𝜑)
1612, 15sylbi 220 . . . . . . 7 (𝑥 ≈ ∅ → 𝜑)
1716ax-gen 1827 . . . . . 6 ∀𝑥(𝑥 ≈ ∅ → 𝜑)
18 nnon 7885 . . . . . . . . . . . 12 (𝑣 ∈ ω → 𝑣 ∈ On)
19 rexdif1en 9181 . . . . . . . . . . . 12 ((𝑣 ∈ On ∧ 𝑤 ≈ suc 𝑣) → ∃𝑧 ∈ 𝑤 (𝑤 ∖ {𝑧}) ≈ 𝑣)
2018, 19sylan 592 . . . . . . . . . . 11 ((𝑣 ∈ ω ∧ 𝑤 ≈ suc 𝑣) → ∃𝑧 ∈ 𝑤 (𝑤 ∖ {𝑧}) ≈ 𝑣)
21 snssi 4742 . . . . . . . . . . . . . . . 16 (𝑧 ∈ 𝑤 → {𝑧} ⊆ 𝑤)
22 uncom 4156 . . . . . . . . . . . . . . . . 17 ((𝑤 ∖ {𝑧}) ∪ {𝑧}) = ({𝑧} ∪ (𝑤 ∖ {𝑧}))
23 undif 4437 . . . . . . . . . . . . . . . . . 18 ({𝑧} ⊆ 𝑤 ↔ ({𝑧} ∪ (𝑤 ∖ {𝑧})) = 𝑤)
2423biimpi 219 . . . . . . . . . . . . . . . . 17 ({𝑧} ⊆ 𝑤 → ({𝑧} ∪ (𝑤 ∖ {𝑧})) = 𝑤)
2522, 24eqtrid 2807 . . . . . . . . . . . . . . . 16 ({𝑧} ⊆ 𝑤 → ((𝑤 ∖ {𝑧}) ∪ {𝑧}) = 𝑤)
26 vex 3454 . . . . . . . . . . . . . . . . . . 19 𝑤 ∈ V
2726difexi 5291 . . . . . . . . . . . . . . . . . 18 (𝑤 ∖ {𝑧}) ∈ V
28 breq1 5105 . . . . . . . . . . . . . . . . . . . 20 (𝑦 = (𝑤 ∖ {𝑧}) → (𝑦 ≈ 𝑣 ↔ (𝑤 ∖ {𝑧}) ≈ 𝑣))
2928anbi2d 642 . . . . . . . . . . . . . . . . . . 19 (𝑦 = (𝑤 ∖ {𝑧}) → ((𝑣 ∈ ω ∧ 𝑦 ≈ 𝑣) ↔ (𝑣 ∈ ω ∧ (𝑤 ∖ {𝑧}) ≈ 𝑣)))
30 uneq1 4159 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 = (𝑤 ∖ {𝑧}) → (𝑦 ∪ {𝑧}) = ((𝑤 ∖ {𝑧}) ∪ {𝑧}))
3130sbceq1d 3743 . . . . . . . . . . . . . . . . . . . 20 (𝑦 = (𝑤 ∖ {𝑧}) → ([(𝑦 ∪ {𝑧}) / 𝑥]𝜑 ↔ [((𝑤 ∖ {𝑧}) ∪ {𝑧}) / 𝑥]𝜑))
3231imbi2d 343 . . . . . . . . . . . . . . . . . . 19 (𝑦 = (𝑤 ∖ {𝑧}) → ((∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [(𝑦 ∪ {𝑧}) / 𝑥]𝜑) ↔ (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [((𝑤 ∖ {𝑧}) ∪ {𝑧}) / 𝑥]𝜑)))
3329, 32imbi12d 347 . . . . . . . . . . . . . . . . . 18 (𝑦 = (𝑤 ∖ {𝑧}) → (((𝑣 ∈ ω ∧ 𝑦 ≈ 𝑣) → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [(𝑦 ∪ {𝑧}) / 𝑥]𝜑)) ↔ ((𝑣 ∈ ω ∧ (𝑤 ∖ {𝑧}) ≈ 𝑣) → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [((𝑤 ∖ {𝑧}) ∪ {𝑧}) / 𝑥]𝜑))))
34 breq1 5105 . . . . . . . . . . . . . . . . . . . . . 22 (𝑥 = 𝑦 → (𝑥 ≈ 𝑣 ↔ 𝑦 ≈ 𝑣))
35 findcard2.2 . . . . . . . . . . . . . . . . . . . . . 22 (𝑥 = 𝑦 → (𝜑 ↔ 𝜒))
3634, 35imbi12d 347 . . . . . . . . . . . . . . . . . . . . 21 (𝑥 = 𝑦 → ((𝑥 ≈ 𝑣 → 𝜑) ↔ (𝑦 ≈ 𝑣 → 𝜒)))
3736spvv 2020 . . . . . . . . . . . . . . . . . . . 20 (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → (𝑦 ≈ 𝑣 → 𝜒))
38 rspe 3252 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑣 ∈ ω ∧ 𝑦 ≈ 𝑣) → ∃𝑣 ∈ ω 𝑦 ≈ 𝑣)
39 isfi 9007 . . . . . . . . . . . . . . . . . . . . . 22 (𝑦 ∈ Fin ↔ ∃𝑣 ∈ ω 𝑦 ≈ 𝑣)
4038, 39sylibr 237 . . . . . . . . . . . . . . . . . . . . 21 ((𝑣 ∈ ω ∧ 𝑦 ≈ 𝑣) → 𝑦 ∈ Fin)
41 pm2.27 43 . . . . . . . . . . . . . . . . . . . . . 22 (𝑦 ≈ 𝑣 → ((𝑦 ≈ 𝑣 → 𝜒) → 𝜒))
4241adantl 487 . . . . . . . . . . . . . . . . . . . . 21 ((𝑣 ∈ ω ∧ 𝑦 ≈ 𝑣) → ((𝑦 ≈ 𝑣 → 𝜒) → 𝜒))
43 findcard2.6 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 ∈ Fin → (𝜒 → 𝜃))
4440, 42, 43sylsyld 62 . . . . . . . . . . . . . . . . . . . 20 ((𝑣 ∈ ω ∧ 𝑦 ≈ 𝑣) → ((𝑦 ≈ 𝑣 → 𝜒) → 𝜃))
4537, 44syl5 35 . . . . . . . . . . . . . . . . . . 19 ((𝑣 ∈ ω ∧ 𝑦 ≈ 𝑣) → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → 𝜃))
46 vex 3454 . . . . . . . . . . . . . . . . . . . . 21 𝑦 ∈ V
47 vsnex 5392 . . . . . . . . . . . . . . . . . . . . 21 {𝑧} ∈ V
4846, 47unex 7763 . . . . . . . . . . . . . . . . . . . 20 (𝑦 ∪ {𝑧}) ∈ V
49 findcard2.3 . . . . . . . . . . . . . . . . . . . 20 (𝑥 = (𝑦 ∪ {𝑧}) → (𝜑 ↔ 𝜃))
5048, 49sbcie 3779 . . . . . . . . . . . . . . . . . . 19 ([(𝑦 ∪ {𝑧}) / 𝑥]𝜑 ↔ 𝜃)
5145, 50imbitrrdi 255 . . . . . . . . . . . . . . . . . 18 ((𝑣 ∈ ω ∧ 𝑦 ≈ 𝑣) → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [(𝑦 ∪ {𝑧}) / 𝑥]𝜑))
5227, 33, 51vtocl 3520 . . . . . . . . . . . . . . . . 17 ((𝑣 ∈ ω ∧ (𝑤 ∖ {𝑧}) ≈ 𝑣) → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [((𝑤 ∖ {𝑧}) ∪ {𝑧}) / 𝑥]𝜑))
53 dfsbcq 3740 . . . . . . . . . . . . . . . . . 18 (((𝑤 ∖ {𝑧}) ∪ {𝑧}) = 𝑤 → ([((𝑤 ∖ {𝑧}) ∪ {𝑧}) / 𝑥]𝜑 ↔ [𝑤 / 𝑥]𝜑))
5453imbi2d 343 . . . . . . . . . . . . . . . . 17 (((𝑤 ∖ {𝑧}) ∪ {𝑧}) = 𝑤 → ((∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [((𝑤 ∖ {𝑧}) ∪ {𝑧}) / 𝑥]𝜑) ↔ (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [𝑤 / 𝑥]𝜑)))
5552, 54imbitrid 247 . . . . . . . . . . . . . . . 16 (((𝑤 ∖ {𝑧}) ∪ {𝑧}) = 𝑤 → ((𝑣 ∈ ω ∧ (𝑤 ∖ {𝑧}) ≈ 𝑣) → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [𝑤 / 𝑥]𝜑)))
5621, 25, 553syl 19 . . . . . . . . . . . . . . 15 (𝑧 ∈ 𝑤 → ((𝑣 ∈ ω ∧ (𝑤 ∖ {𝑧}) ≈ 𝑣) → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [𝑤 / 𝑥]𝜑)))
5756expd 421 . . . . . . . . . . . . . 14 (𝑧 ∈ 𝑤 → (𝑣 ∈ ω → ((𝑤 ∖ {𝑧}) ≈ 𝑣 → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [𝑤 / 𝑥]𝜑))))
5857com12 33 . . . . . . . . . . . . 13 (𝑣 ∈ ω → (𝑧 ∈ 𝑤 → ((𝑤 ∖ {𝑧}) ≈ 𝑣 → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [𝑤 / 𝑥]𝜑))))
5958rexlimdv 3161 . . . . . . . . . . . 12 (𝑣 ∈ ω → (∃𝑧 ∈ 𝑤 (𝑤 ∖ {𝑧}) ≈ 𝑣 → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [𝑤 / 𝑥]𝜑)))
6059adantr 486 . . . . . . . . . . 11 ((𝑣 ∈ ω ∧ 𝑤 ≈ suc 𝑣) → (∃𝑧 ∈ 𝑤 (𝑤 ∖ {𝑧}) ≈ 𝑣 → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [𝑤 / 𝑥]𝜑)))
6120, 60mpd 16 . . . . . . . . . 10 ((𝑣 ∈ ω ∧ 𝑤 ≈ suc 𝑣) → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [𝑤 / 𝑥]𝜑))
6261ex 418 . . . . . . . . 9 (𝑣 ∈ ω → (𝑤 ≈ suc 𝑣 → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [𝑤 / 𝑥]𝜑)))
6362com23 87 . . . . . . . 8 (𝑣 ∈ ω → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → (𝑤 ≈ suc 𝑣 → [𝑤 / 𝑥]𝜑)))
6463alrimdv 1961 . . . . . . 7 (𝑣 ∈ ω → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → ∀𝑤(𝑤 ≈ suc 𝑣 → [𝑤 / 𝑥]𝜑)))
65 nfv 1946 . . . . . . . 8 Ⅎ𝑤(𝑥 ≈ suc 𝑣 → 𝜑)
66 nfv 1946 . . . . . . . . 9 Ⅎ𝑥 𝑤 ≈ suc 𝑣
67 nfsbc1v 3758 . . . . . . . . 9 Ⅎ𝑥[𝑤 / 𝑥]𝜑
6866, 67nfim 1928 . . . . . . . 8 Ⅎ𝑥(𝑤 ≈ suc 𝑣 → [𝑤 / 𝑥]𝜑)
69 breq1 5105 . . . . . . . . 9 (𝑥 = 𝑤 → (𝑥 ≈ suc 𝑣 ↔ 𝑤 ≈ suc 𝑣))
70 sbceq1a 3749 . . . . . . . . 9 (𝑥 = 𝑤 → (𝜑 ↔ [𝑤 / 𝑥]𝜑))
7169, 70imbi12d 347 . . . . . . . 8 (𝑥 = 𝑤 → ((𝑥 ≈ suc 𝑣 → 𝜑) ↔ (𝑤 ≈ suc 𝑣 → [𝑤 / 𝑥]𝜑)))
7265, 68, 71cbvalv1 2370 . . . . . . 7 (∀𝑥(𝑥 ≈ suc 𝑣 → 𝜑) ↔ ∀𝑤(𝑤 ≈ suc 𝑣 → [𝑤 / 𝑥]𝜑))
7364, 72imbitrrdi 255 . . . . . 6 (𝑣 ∈ ω → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → ∀𝑥(𝑥 ≈ suc 𝑣 → 𝜑)))
745, 8, 11, 17, 73finds1 7913 . . . . 5 (𝑤 ∈ ω → ∀𝑥(𝑥 ≈ 𝑤 → 𝜑))
757419.21bi 2225 . . . 4 (𝑤 ∈ ω → (𝑥 ≈ 𝑤 → 𝜑))
7675rexlimiv 3156 . . 3 (∃𝑤 ∈ ω 𝑥 ≈ 𝑤 → 𝜑)
772, 76sylbi 220 . 2 (𝑥 ∈ Fin → 𝜑)
781, 77vtoclga 3536 1 (𝐴 ∈ Fin → 𝜏)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ↔ wb 209   ∧ wa 401  ∀wal 1567   = wceq 1569   ∈ wcel 2144  ∃wrex 3086  [wsbc 3738   ⊆ wss 3896   ∖ cdif 4044   ∪ cun 4148  ∅c0 4277  {csn 4584   class class class wbr 5102  Oncon0 6364  suc csuc 6366  ωcom 7879   ≈ cen 8975  Fincfn 8978
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1827  ax-4 1841  ax-5 1942  ax-6 1999  ax-7 2040  ax-8 2146  ax-9 2154  ax-10 2177  ax-11 2193  ax-12 2212  ax-ext 2732  ax-sep 5248  ax-nul 5259  ax-pr 5390  ax-un 7753
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1572  df-fal 1582  df-ex 1812  df-nf 1816  df-sb 2099  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-ral 3077  df-rex 3087  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3739  df-ss 3897  df-pss 4013  df-dif 4046  df-in 4090  df-un 4150  df-nul 4278  df-if 4482  df-pw 4558  df-sn 4585  df-pr 4587  df-op 4835  df-uni 4867  df-br 5103  df-opab 5167  df-tr 5212  df-id 5545  df-eprel 5550  df-po 5558  df-so 5559  df-fr 5603  df-we 5605  df-xp 5656  df-rel 5657  df-cnv 5658  df-co 5659  df-dm 5660  df-rn 5661  df-res 5662  df-ima 5663  df-ord 6367  df-on 6368  df-lim 6369  df-suc 6370  df-iota 6496  df-fun 6543  df-fn 6544  df-f 6545  df-f1 6546  df-fo 6547  df-f1o 6548  df-fv 6549  df-om 7880  df-en 8979  df-fin 8982
This theorem is used by:  findcard2s  9186  ssfi  9193  cnvfi  9196  fnfi  9198  frfi  9281  pwfi  9315  iunfi  9337  finsschain  9353  infdiffi  9664  fin1a2lem10  10492  wunfi  10811  rexfiuz  15522  modfsummod  15968  lcmfunsnlem  16823  lcmfun  16827  drsdirfi  18486  fiuncmp  23729  finiunmbl  25872  fineqvac  35842  mbfresfi  38691  heibor1lem  38850  pclfinclN  41114
  Copyright terms: Public domain W3C validator