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

Theorem findcard2 9218
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 5334. (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 9040 . . 3 (𝑥 ∈ Fin ↔ ∃𝑤 ∈ ω 𝑥 ≈ 𝑤)
3 breq2 5112 . . . . . . . 8 (𝑤 = ∅ → (𝑥 ≈ 𝑤 ↔ 𝑥 ≈ ∅))
43imbi1d 344 . . . . . . 7 (𝑤 = ∅ → ((𝑥 ≈ 𝑤 → 𝜑) ↔ (𝑥 ≈ ∅ → 𝜑)))
54albidv 1955 . . . . . 6 (𝑤 = ∅ → (∀𝑥(𝑥 ≈ 𝑤 → 𝜑) ↔ ∀𝑥(𝑥 ≈ ∅ → 𝜑)))
6 breq2 5112 . . . . . . . 8 (𝑤 = 𝑣 → (𝑥 ≈ 𝑤 ↔ 𝑥 ≈ 𝑣))
76imbi1d 344 . . . . . . 7 (𝑤 = 𝑣 → ((𝑥 ≈ 𝑤 → 𝜑) ↔ (𝑥 ≈ 𝑣 → 𝜑)))
87albidv 1955 . . . . . 6 (𝑤 = 𝑣 → (∀𝑥(𝑥 ≈ 𝑤 → 𝜑) ↔ ∀𝑥(𝑥 ≈ 𝑣 → 𝜑)))
9 breq2 5112 . . . . . . . 8 (𝑤 = suc 𝑣 → (𝑥 ≈ 𝑤 ↔ 𝑥 ≈ suc 𝑣))
109imbi1d 344 . . . . . . 7 (𝑤 = suc 𝑣 → ((𝑥 ≈ 𝑤 → 𝜑) ↔ (𝑥 ≈ suc 𝑣 → 𝜑)))
1110albidv 1955 . . . . . 6 (𝑤 = suc 𝑣 → (∀𝑥(𝑥 ≈ 𝑤 → 𝜑) ↔ ∀𝑥(𝑥 ≈ suc 𝑣 → 𝜑)))
12 en0 9083 . . . . . . . 8 (𝑥 ≈ ∅ ↔ 𝑥 = ∅)
13 findcard2.5 . . . . . . . . 9 𝜓
14 findcard2.1 . . . . . . . . 9 (𝑥 = ∅ → (𝜑 ↔ 𝜓))
1513, 14mpbiri 261 . . . . . . . 8 (𝑥 = ∅ → 𝜑)
1612, 15sylbi 220 . . . . . . 7 (𝑥 ≈ ∅ → 𝜑)
1716ax-gen 1828 . . . . . 6 ∀𝑥(𝑥 ≈ ∅ → 𝜑)
18 nnon 7917 . . . . . . . . . . . 12 (𝑣 ∈ ω → 𝑣 ∈ On)
19 rexdif1en 9214 . . . . . . . . . . . 12 ((𝑣 ∈ On ∧ 𝑤 ≈ suc 𝑣) → ∃𝑧 ∈ 𝑤 (𝑤 ∖ {𝑧}) ≈ 𝑣)
2018, 19sylan 592 . . . . . . . . . . 11 ((𝑣 ∈ ω ∧ 𝑤 ≈ suc 𝑣) → ∃𝑧 ∈ 𝑤 (𝑤 ∖ {𝑧}) ≈ 𝑣)
21 snssi 4748 . . . . . . . . . . . . . . . 16 (𝑧 ∈ 𝑤 → {𝑧} ⊆ 𝑤)
22 uncom 4160 . . . . . . . . . . . . . . . . 17 ((𝑤 ∖ {𝑧}) ∪ {𝑧}) = ({𝑧} ∪ (𝑤 ∖ {𝑧}))
23 undif 4441 . . . . . . . . . . . . . . . . . 18 ({𝑧} ⊆ 𝑤 ↔ ({𝑧} ∪ (𝑤 ∖ {𝑧})) = 𝑤)
2423biimpi 219 . . . . . . . . . . . . . . . . 17 ({𝑧} ⊆ 𝑤 → ({𝑧} ∪ (𝑤 ∖ {𝑧})) = 𝑤)
2522, 24eqtrid 2810 . . . . . . . . . . . . . . . 16 ({𝑧} ⊆ 𝑤 → ((𝑤 ∖ {𝑧}) ∪ {𝑧}) = 𝑤)
26 vex 3458 . . . . . . . . . . . . . . . . . . 19 𝑤 ∈ V
2726difexi 5299 . . . . . . . . . . . . . . . . . 18 (𝑤 ∖ {𝑧}) ∈ V
28 breq1 5111 . . . . . . . . . . . . . . . . . . . 20 (𝑦 = (𝑤 ∖ {𝑧}) → (𝑦 ≈ 𝑣 ↔ (𝑤 ∖ {𝑧}) ≈ 𝑣))
2928anbi2d 642 . . . . . . . . . . . . . . . . . . 19 (𝑦 = (𝑤 ∖ {𝑧}) → ((𝑣 ∈ ω ∧ 𝑦 ≈ 𝑣) ↔ (𝑣 ∈ ω ∧ (𝑤 ∖ {𝑧}) ≈ 𝑣)))
30 uneq1 4163 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 = (𝑤 ∖ {𝑧}) → (𝑦 ∪ {𝑧}) = ((𝑤 ∖ {𝑧}) ∪ {𝑧}))
3130sbceq1d 3747 . . . . . . . . . . . . . . . . . . . 20 (𝑦 = (𝑤 ∖ {𝑧}) → ([(𝑦 ∪ {𝑧}) / 𝑥]𝜑 ↔ [((𝑤 ∖ {𝑧}) ∪ {𝑧}) / 𝑥]𝜑))
3231imbi2d 343 . . . . . . . . . . . . . . . . . . 19 (𝑦 = (𝑤 ∖ {𝑧}) → ((∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [(𝑦 ∪ {𝑧}) / 𝑥]𝜑) ↔ (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [((𝑤 ∖ {𝑧}) ∪ {𝑧}) / 𝑥]𝜑)))
3329, 32imbi12d 347 . . . . . . . . . . . . . . . . . 18 (𝑦 = (𝑤 ∖ {𝑧}) → (((𝑣 ∈ ω ∧ 𝑦 ≈ 𝑣) → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [(𝑦 ∪ {𝑧}) / 𝑥]𝜑)) ↔ ((𝑣 ∈ ω ∧ (𝑤 ∖ {𝑧}) ≈ 𝑣) → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [((𝑤 ∖ {𝑧}) ∪ {𝑧}) / 𝑥]𝜑))))
34 breq1 5111 . . . . . . . . . . . . . . . . . . . . . 22 (𝑥 = 𝑦 → (𝑥 ≈ 𝑣 ↔ 𝑦 ≈ 𝑣))
35 findcard2.2 . . . . . . . . . . . . . . . . . . . . . 22 (𝑥 = 𝑦 → (𝜑 ↔ 𝜒))
3634, 35imbi12d 347 . . . . . . . . . . . . . . . . . . . . 21 (𝑥 = 𝑦 → ((𝑥 ≈ 𝑣 → 𝜑) ↔ (𝑦 ≈ 𝑣 → 𝜒)))
3736spvv 2023 . . . . . . . . . . . . . . . . . . . 20 (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → (𝑦 ≈ 𝑣 → 𝜒))
38 rspe 3256 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑣 ∈ ω ∧ 𝑦 ≈ 𝑣) → ∃𝑣 ∈ ω 𝑦 ≈ 𝑣)
39 isfi 9040 . . . . . . . . . . . . . . . . . . . . . 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 3458 . . . . . . . . . . . . . . . . . . . . 21 𝑦 ∈ V
47 vsnex 5400 . . . . . . . . . . . . . . . . . . . . 21 {𝑧} ∈ V
4846, 47unex 7793 . . . . . . . . . . . . . . . . . . . 20 (𝑦 ∪ {𝑧}) ∈ V
49 findcard2.3 . . . . . . . . . . . . . . . . . . . 20 (𝑥 = (𝑦 ∪ {𝑧}) → (𝜑 ↔ 𝜃))
5048, 49sbcie 3783 . . . . . . . . . . . . . . . . . . 19 ([(𝑦 ∪ {𝑧}) / 𝑥]𝜑 ↔ 𝜃)
5145, 50imbitrrdi 255 . . . . . . . . . . . . . . . . . 18 ((𝑣 ∈ ω ∧ 𝑦 ≈ 𝑣) → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [(𝑦 ∪ {𝑧}) / 𝑥]𝜑))
5227, 33, 51vtocl 3524 . . . . . . . . . . . . . . . . 17 ((𝑣 ∈ ω ∧ (𝑤 ∖ {𝑧}) ≈ 𝑣) → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [((𝑤 ∖ {𝑧}) ∪ {𝑧}) / 𝑥]𝜑))
53 dfsbcq 3744 . . . . . . . . . . . . . . . . . 18 (((𝑤 ∖ {𝑧}) ∪ {𝑧}) = 𝑤 → ([((𝑤 ∖ {𝑧}) ∪ {𝑧}) / 𝑥]𝜑 ↔ [𝑤 / 𝑥]𝜑))
5453imbi2d 343 . . . . . . . . . . . . . . . . 17 (((𝑤 ∖ {𝑧}) ∪ {𝑧}) = 𝑤 → ((∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [((𝑤 ∖ {𝑧}) ∪ {𝑧}) / 𝑥]𝜑) ↔ (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [𝑤 / 𝑥]𝜑)))
5552, 54imbitrid 247 . . . . . . . . . . . . . . . 16 (((𝑤 ∖ {𝑧}) ∪ {𝑧}) = 𝑤 → ((𝑣 ∈ ω ∧ (𝑤 ∖ {𝑧}) ≈ 𝑣) → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [𝑤 / 𝑥]𝜑)))
5621, 25, 553syl 19 . . . . . . . . . . . . . . 15 (𝑧 ∈ 𝑤 → ((𝑣 ∈ ω ∧ (𝑤 ∖ {𝑧}) ≈ 𝑣) → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [𝑤 / 𝑥]𝜑)))
5756expd 421 . . . . . . . . . . . . . 14 (𝑧 ∈ 𝑤 → (𝑣 ∈ ω → ((𝑤 ∖ {𝑧}) ≈ 𝑣 → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [𝑤 / 𝑥]𝜑))))
5857com12 33 . . . . . . . . . . . . 13 (𝑣 ∈ ω → (𝑧 ∈ 𝑤 → ((𝑤 ∖ {𝑧}) ≈ 𝑣 → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [𝑤 / 𝑥]𝜑))))
5958rexlimdv 3165 . . . . . . . . . . . 12 (𝑣 ∈ ω → (∃𝑧 ∈ 𝑤 (𝑤 ∖ {𝑧}) ≈ 𝑣 → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [𝑤 / 𝑥]𝜑)))
6059adantr 486 . . . . . . . . . . 11 ((𝑣 ∈ ω ∧ 𝑤 ≈ suc 𝑣) → (∃𝑧 ∈ 𝑤 (𝑤 ∖ {𝑧}) ≈ 𝑣 → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [𝑤 / 𝑥]𝜑)))
6120, 60mpd 16 . . . . . . . . . 10 ((𝑣 ∈ ω ∧ 𝑤 ≈ suc 𝑣) → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [𝑤 / 𝑥]𝜑))
6261ex 418 . . . . . . . . 9 (𝑣 ∈ ω → (𝑤 ≈ suc 𝑣 → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [𝑤 / 𝑥]𝜑)))
6362com23 87 . . . . . . . 8 (𝑣 ∈ ω → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → (𝑤 ≈ suc 𝑣 → [𝑤 / 𝑥]𝜑)))
6463alrimdv 1964 . . . . . . 7 (𝑣 ∈ ω → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → ∀𝑤(𝑤 ≈ suc 𝑣 → [𝑤 / 𝑥]𝜑)))
65 nfv 1949 . . . . . . . 8 Ⅎ𝑤(𝑥 ≈ suc 𝑣 → 𝜑)
66 nfv 1949 . . . . . . . . 9 Ⅎ𝑥 𝑤 ≈ suc 𝑣
67 nfsbc1v 3762 . . . . . . . . 9 Ⅎ𝑥[𝑤 / 𝑥]𝜑
6866, 67nfim 1931 . . . . . . . 8 Ⅎ𝑥(𝑤 ≈ suc 𝑣 → [𝑤 / 𝑥]𝜑)
69 breq1 5111 . . . . . . . . 9 (𝑥 = 𝑤 → (𝑥 ≈ suc 𝑣 ↔ 𝑤 ≈ suc 𝑣))
70 sbceq1a 3753 . . . . . . . . 9 (𝑥 = 𝑤 → (𝜑 ↔ [𝑤 / 𝑥]𝜑))
7169, 70imbi12d 347 . . . . . . . 8 (𝑥 = 𝑤 → ((𝑥 ≈ suc 𝑣 → 𝜑) ↔ (𝑤 ≈ suc 𝑣 → [𝑤 / 𝑥]𝜑)))
7265, 68, 71cbvalv1 2374 . . . . . . 7 (∀𝑥(𝑥 ≈ suc 𝑣 → 𝜑) ↔ ∀𝑤(𝑤 ≈ suc 𝑣 → [𝑤 / 𝑥]𝜑))
7364, 72imbitrrdi 255 . . . . . 6 (𝑣 ∈ ω → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → ∀𝑥(𝑥 ≈ suc 𝑣 → 𝜑)))
745, 8, 11, 17, 73finds1 7945 . . . . 5 (𝑤 ∈ ω → ∀𝑥(𝑥 ≈ 𝑤 → 𝜑))
757419.21bi 2229 . . . 4 (𝑤 ∈ ω → (𝑥 ≈ 𝑤 → 𝜑))
7675rexlimiv 3160 . . 3 (∃𝑤 ∈ ω 𝑥 ≈ 𝑤 → 𝜑)
772, 76sylbi 220 . 2 (𝑥 ∈ Fin → 𝜑)
781, 77vtoclga 3540 1 (𝐴 ∈ Fin → 𝜏)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ↔ wb 209   ∧ wa 401  ∀wal 1568   = wceq 1570   ∈ wcel 2147  ∃wrex 3090  [wsbc 3742   ⊆ wss 3900   ∖ cdif 4048   ∪ cun 4152  ∅c0 4281  {csn 4588   class class class wbr 5108  Oncon0 6388  suc csuc 6390  ωcom 7911   ≈ cen 9008  Fincfn 9011
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1945  ax-6 2002  ax-7 2043  ax-8 2149  ax-9 2157  ax-10 2180  ax-11 2197  ax-12 2216  ax-ext 2735  ax-sep 5255  ax-nul 5266  ax-pr 5398  ax-un 7783
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2102  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2839  df-nfc 2913  df-ne 2960  df-ral 3081  df-rex 3091  df-reu 3370  df-rab 3417  df-v 3456  df-sbc 3743  df-ss 3901  df-pss 4017  df-dif 4050  df-in 4094  df-un 4154  df-nul 4282  df-if 4486  df-pw 4562  df-sn 4589  df-pr 4591  df-op 4841  df-uni 4873  df-br 5109  df-opab 5174  df-tr 5219  df-id 5553  df-eprel 5558  df-po 5566  df-so 5567  df-fr 5611  df-we 5613  df-xp 5664  df-rel 5665  df-cnv 5666  df-co 5667  df-dm 5668  df-rn 5669  df-res 5670  df-ima 5671  df-ord 6391  df-on 6392  df-lim 6393  df-suc 6394  df-iota 6520  df-fun 6568  df-fn 6569  df-f 6570  df-f1 6571  df-fo 6572  df-f1o 6573  df-fv 6574  df-om 7912  df-en 9012  df-fin 9015
This theorem is used by:  findcard2s  9219  ssfi  9226  cnvfi  9229  fnfi  9231  frfi  9314  pwfi  9348  iunfi  9370  finsschain  9386  infdiffi  9696  fin1a2lem10  10526  wunfi  10845  rexfiuz  15559  modfsummod  16005  lcmfunsnlem  16860  lcmfun  16864  drsdirfi  18529  fiuncmp  23777  finiunmbl  25920  fineqvac  35925  mbfresfi  38852  heibor1lem  39009  pclfinclN  41273
  Copyright terms: Public domain W3C validator