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

Theorem findcard2 9181
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 5327. (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 9003 . . 3 (𝑥 ∈ Fin ↔ ∃𝑤 ∈ ω 𝑥 ≈ 𝑤)
3 breq2 5107 . . . . . . . 8 (𝑤 = ∅ → (𝑥 ≈ 𝑤 ↔ 𝑥 ≈ ∅))
43imbi1d 344 . . . . . . 7 (𝑤 = ∅ → ((𝑥 ≈ 𝑤 → 𝜑) ↔ (𝑥 ≈ ∅ → 𝜑)))
54albidv 1953 . . . . . 6 (𝑤 = ∅ → (∀𝑥(𝑥 ≈ 𝑤 → 𝜑) ↔ ∀𝑥(𝑥 ≈ ∅ → 𝜑)))
6 breq2 5107 . . . . . . . 8 (𝑤 = 𝑣 → (𝑥 ≈ 𝑤 ↔ 𝑥 ≈ 𝑣))
76imbi1d 344 . . . . . . 7 (𝑤 = 𝑣 → ((𝑥 ≈ 𝑤 → 𝜑) ↔ (𝑥 ≈ 𝑣 → 𝜑)))
87albidv 1953 . . . . . 6 (𝑤 = 𝑣 → (∀𝑥(𝑥 ≈ 𝑤 → 𝜑) ↔ ∀𝑥(𝑥 ≈ 𝑣 → 𝜑)))
9 breq2 5107 . . . . . . . 8 (𝑤 = suc 𝑣 → (𝑥 ≈ 𝑤 ↔ 𝑥 ≈ suc 𝑣))
109imbi1d 344 . . . . . . 7 (𝑤 = suc 𝑣 → ((𝑥 ≈ 𝑤 → 𝜑) ↔ (𝑥 ≈ suc 𝑣 → 𝜑)))
1110albidv 1953 . . . . . 6 (𝑤 = suc 𝑣 → (∀𝑥(𝑥 ≈ 𝑤 → 𝜑) ↔ ∀𝑥(𝑥 ≈ suc 𝑣 → 𝜑)))
12 en0 9046 . . . . . . . 8 (𝑥 ≈ ∅ ↔ 𝑥 = ∅)
13 findcard2.5 . . . . . . . . 9 𝜓
14 findcard2.1 . . . . . . . . 9 (𝑥 = ∅ → (𝜑 ↔ 𝜓))
1513, 14mpbiri 261 . . . . . . . 8 (𝑥 = ∅ → 𝜑)
1612, 15sylbi 220 . . . . . . 7 (𝑥 ≈ ∅ → 𝜑)
1716ax-gen 1828 . . . . . 6 ∀𝑥(𝑥 ≈ ∅ → 𝜑)
18 nnon 7884 . . . . . . . . . . . 12 (𝑣 ∈ ω → 𝑣 ∈ On)
19 rexdif1en 9177 . . . . . . . . . . . 12 ((𝑣 ∈ On ∧ 𝑤 ≈ suc 𝑣) → ∃𝑧 ∈ 𝑤 (𝑤 ∖ {𝑧}) ≈ 𝑣)
2018, 19sylan 592 . . . . . . . . . . 11 ((𝑣 ∈ ω ∧ 𝑤 ≈ suc 𝑣) → ∃𝑧 ∈ 𝑤 (𝑤 ∖ {𝑧}) ≈ 𝑣)
21 snssi 4746 . . . . . . . . . . . . . . . 16 (𝑧 ∈ 𝑤 → {𝑧} ⊆ 𝑤)
22 uncom 4105 . . . . . . . . . . . . . . . . 17 ((𝑤 ∖ {𝑧}) ∪ {𝑧}) = ({𝑧} ∪ (𝑤 ∖ {𝑧}))
23 undif 4438 . . . . . . . . . . . . . . . . . 18 ({𝑧} ⊆ 𝑤 ↔ ({𝑧} ∪ (𝑤 ∖ {𝑧})) = 𝑤)
2423biimpi 219 . . . . . . . . . . . . . . . . 17 ({𝑧} ⊆ 𝑤 → ({𝑧} ∪ (𝑤 ∖ {𝑧})) = 𝑤)
2522, 24eqtrid 2808 . . . . . . . . . . . . . . . 16 ({𝑧} ⊆ 𝑤 → ((𝑤 ∖ {𝑧}) ∪ {𝑧}) = 𝑤)
26 vex 3455 . . . . . . . . . . . . . . . . . . 19 𝑤 ∈ V
2726difexi 5292 . . . . . . . . . . . . . . . . . 18 (𝑤 ∖ {𝑧}) ∈ V
28 breq1 5106 . . . . . . . . . . . . . . . . . . . 20 (𝑦 = (𝑤 ∖ {𝑧}) → (𝑦 ≈ 𝑣 ↔ (𝑤 ∖ {𝑧}) ≈ 𝑣))
2928anbi2d 642 . . . . . . . . . . . . . . . . . . 19 (𝑦 = (𝑤 ∖ {𝑧}) → ((𝑣 ∈ ω ∧ 𝑦 ≈ 𝑣) ↔ (𝑣 ∈ ω ∧ (𝑤 ∖ {𝑧}) ≈ 𝑣)))
30 uneq1 4108 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 = (𝑤 ∖ {𝑧}) → (𝑦 ∪ {𝑧}) = ((𝑤 ∖ {𝑧}) ∪ {𝑧}))
3130sbceq1d 3744 . . . . . . . . . . . . . . . . . . . 20 (𝑦 = (𝑤 ∖ {𝑧}) → ([(𝑦 ∪ {𝑧}) / 𝑥]𝜑 ↔ [((𝑤 ∖ {𝑧}) ∪ {𝑧}) / 𝑥]𝜑))
3231imbi2d 343 . . . . . . . . . . . . . . . . . . 19 (𝑦 = (𝑤 ∖ {𝑧}) → ((∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [(𝑦 ∪ {𝑧}) / 𝑥]𝜑) ↔ (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [((𝑤 ∖ {𝑧}) ∪ {𝑧}) / 𝑥]𝜑)))
3329, 32imbi12d 347 . . . . . . . . . . . . . . . . . 18 (𝑦 = (𝑤 ∖ {𝑧}) → (((𝑣 ∈ ω ∧ 𝑦 ≈ 𝑣) → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [(𝑦 ∪ {𝑧}) / 𝑥]𝜑)) ↔ ((𝑣 ∈ ω ∧ (𝑤 ∖ {𝑧}) ≈ 𝑣) → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [((𝑤 ∖ {𝑧}) ∪ {𝑧}) / 𝑥]𝜑))))
34 breq1 5106 . . . . . . . . . . . . . . . . . . . . . 22 (𝑥 = 𝑦 → (𝑥 ≈ 𝑣 ↔ 𝑦 ≈ 𝑣))
35 findcard2.2 . . . . . . . . . . . . . . . . . . . . . 22 (𝑥 = 𝑦 → (𝜑 ↔ 𝜒))
3634, 35imbi12d 347 . . . . . . . . . . . . . . . . . . . . 21 (𝑥 = 𝑦 → ((𝑥 ≈ 𝑣 → 𝜑) ↔ (𝑦 ≈ 𝑣 → 𝜒)))
3736spvv 2021 . . . . . . . . . . . . . . . . . . . 20 (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → (𝑦 ≈ 𝑣 → 𝜒))
38 rspe 3253 . . . . . . . . . . . . . . . . . . . . . 22 ((𝑣 ∈ ω ∧ 𝑦 ≈ 𝑣) → ∃𝑣 ∈ ω 𝑦 ≈ 𝑣)
39 isfi 9003 . . . . . . . . . . . . . . . . . . . . . 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 3455 . . . . . . . . . . . . . . . . . . . . 21 𝑦 ∈ V
47 vsnex 5393 . . . . . . . . . . . . . . . . . . . . 21 {𝑧} ∈ V
4846, 47unex 7762 . . . . . . . . . . . . . . . . . . . 20 (𝑦 ∪ {𝑧}) ∈ V
49 findcard2.3 . . . . . . . . . . . . . . . . . . . 20 (𝑥 = (𝑦 ∪ {𝑧}) → (𝜑 ↔ 𝜃))
5048, 49sbcie 3780 . . . . . . . . . . . . . . . . . . 19 ([(𝑦 ∪ {𝑧}) / 𝑥]𝜑 ↔ 𝜃)
5145, 50imbitrrdi 255 . . . . . . . . . . . . . . . . . 18 ((𝑣 ∈ ω ∧ 𝑦 ≈ 𝑣) → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [(𝑦 ∪ {𝑧}) / 𝑥]𝜑))
5227, 33, 51vtocl 3521 . . . . . . . . . . . . . . . . 17 ((𝑣 ∈ ω ∧ (𝑤 ∖ {𝑧}) ≈ 𝑣) → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [((𝑤 ∖ {𝑧}) ∪ {𝑧}) / 𝑥]𝜑))
53 dfsbcq 3741 . . . . . . . . . . . . . . . . . 18 (((𝑤 ∖ {𝑧}) ∪ {𝑧}) = 𝑤 → ([((𝑤 ∖ {𝑧}) ∪ {𝑧}) / 𝑥]𝜑 ↔ [𝑤 / 𝑥]𝜑))
5453imbi2d 343 . . . . . . . . . . . . . . . . 17 (((𝑤 ∖ {𝑧}) ∪ {𝑧}) = 𝑤 → ((∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [((𝑤 ∖ {𝑧}) ∪ {𝑧}) / 𝑥]𝜑) ↔ (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [𝑤 / 𝑥]𝜑)))
5552, 54imbitrid 247 . . . . . . . . . . . . . . . 16 (((𝑤 ∖ {𝑧}) ∪ {𝑧}) = 𝑤 → ((𝑣 ∈ ω ∧ (𝑤 ∖ {𝑧}) ≈ 𝑣) → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [𝑤 / 𝑥]𝜑)))
5621, 25, 553syl 19 . . . . . . . . . . . . . . 15 (𝑧 ∈ 𝑤 → ((𝑣 ∈ ω ∧ (𝑤 ∖ {𝑧}) ≈ 𝑣) → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [𝑤 / 𝑥]𝜑)))
5756expd 421 . . . . . . . . . . . . . 14 (𝑧 ∈ 𝑤 → (𝑣 ∈ ω → ((𝑤 ∖ {𝑧}) ≈ 𝑣 → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [𝑤 / 𝑥]𝜑))))
5857com12 33 . . . . . . . . . . . . 13 (𝑣 ∈ ω → (𝑧 ∈ 𝑤 → ((𝑤 ∖ {𝑧}) ≈ 𝑣 → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [𝑤 / 𝑥]𝜑))))
5958rexlimdv 3162 . . . . . . . . . . . 12 (𝑣 ∈ ω → (∃𝑧 ∈ 𝑤 (𝑤 ∖ {𝑧}) ≈ 𝑣 → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [𝑤 / 𝑥]𝜑)))
6059adantr 486 . . . . . . . . . . 11 ((𝑣 ∈ ω ∧ 𝑤 ≈ suc 𝑣) → (∃𝑧 ∈ 𝑤 (𝑤 ∖ {𝑧}) ≈ 𝑣 → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [𝑤 / 𝑥]𝜑)))
6120, 60mpd 16 . . . . . . . . . 10 ((𝑣 ∈ ω ∧ 𝑤 ≈ suc 𝑣) → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [𝑤 / 𝑥]𝜑))
6261ex 418 . . . . . . . . 9 (𝑣 ∈ ω → (𝑤 ≈ suc 𝑣 → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → [𝑤 / 𝑥]𝜑)))
6362com23 87 . . . . . . . 8 (𝑣 ∈ ω → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → (𝑤 ≈ suc 𝑣 → [𝑤 / 𝑥]𝜑)))
6463alrimdv 1962 . . . . . . 7 (𝑣 ∈ ω → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → ∀𝑤(𝑤 ≈ suc 𝑣 → [𝑤 / 𝑥]𝜑)))
65 nfv 1947 . . . . . . . 8 Ⅎ𝑤(𝑥 ≈ suc 𝑣 → 𝜑)
66 nfv 1947 . . . . . . . . 9 Ⅎ𝑥 𝑤 ≈ suc 𝑣
67 nfsbc1v 3759 . . . . . . . . 9 Ⅎ𝑥[𝑤 / 𝑥]𝜑
6866, 67nfim 1929 . . . . . . . 8 Ⅎ𝑥(𝑤 ≈ suc 𝑣 → [𝑤 / 𝑥]𝜑)
69 breq1 5106 . . . . . . . . 9 (𝑥 = 𝑤 → (𝑥 ≈ suc 𝑣 ↔ 𝑤 ≈ suc 𝑣))
70 sbceq1a 3750 . . . . . . . . 9 (𝑥 = 𝑤 → (𝜑 ↔ [𝑤 / 𝑥]𝜑))
7169, 70imbi12d 347 . . . . . . . 8 (𝑥 = 𝑤 → ((𝑥 ≈ suc 𝑣 → 𝜑) ↔ (𝑤 ≈ suc 𝑣 → [𝑤 / 𝑥]𝜑)))
7265, 68, 71cbvalv1 2371 . . . . . . 7 (∀𝑥(𝑥 ≈ suc 𝑣 → 𝜑) ↔ ∀𝑤(𝑤 ≈ suc 𝑣 → [𝑤 / 𝑥]𝜑))
7364, 72imbitrrdi 255 . . . . . 6 (𝑣 ∈ ω → (∀𝑥(𝑥 ≈ 𝑣 → 𝜑) → ∀𝑥(𝑥 ≈ suc 𝑣 → 𝜑)))
745, 8, 11, 17, 73finds1 7912 . . . . 5 (𝑤 ∈ ω → ∀𝑥(𝑥 ≈ 𝑤 → 𝜑))
757419.21bi 2226 . . . 4 (𝑤 ∈ ω → (𝑥 ≈ 𝑤 → 𝜑))
7675rexlimiv 3157 . . 3 (∃𝑤 ∈ ω 𝑥 ≈ 𝑤 → 𝜑)
772, 76sylbi 220 . 2 (𝑥 ∈ Fin → 𝜑)
781, 77vtoclga 3537 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 2145  ∃wrex 3087  [wsbc 3739   ∖ cdif 3896   ∪ cun 3897   ⊆ wss 3914  ∅c0 4279  {csn 4584   class class class wbr 5103  Oncon0 6363  suc csuc 6365  ωcom 7878   ≈ cen 8971  Fincfn 8974
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 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2213  ax-ext 2733  ax-sep 5249  ax-nul 5260  ax-pr 5391  ax-un 7752
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 2100  df-mo 2565  df-eu 2595  df-clab 2740  df-cleq 2753  df-clel 2836  df-nfc 2910  df-ne 2957  df-ral 3078  df-rex 3088  df-reu 3367  df-rab 3414  df-v 3453  df-sbc 3740  df-dif 3900  df-un 3902  df-in 3904  df-ss 3915  df-pss 4035  df-nul 4280  df-if 4483  df-pw 4559  df-sn 4585  df-pr 4587  df-op 4591  df-uni 4868  df-br 5104  df-opab 5168  df-tr 5213  df-id 5546  df-eprel 5551  df-po 5559  df-so 5560  df-fr 5604  df-we 5606  df-xp 5657  df-rel 5658  df-cnv 5659  df-co 5660  df-dm 5661  df-rn 5662  df-res 5663  df-ima 5664  df-ord 6366  df-on 6367  df-lim 6368  df-suc 6369  df-iota 6495  df-fun 6541  df-fn 6542  df-f 6543  df-f1 6544  df-fo 6545  df-f1o 6546  df-fv 6547  df-om 7879  df-en 8975  df-fin 8978
This theorem is used by:  findcard2s  9182  ssfi  9189  cnvfi  9192  fnfi  9194  frfi  9277  pwfi  9311  iunfi  9333  finsschain  9349  infdiffi  9660  fin1a2lem10  10488  wunfi  10807  rexfiuz  15516  modfsummod  15962  lcmfunsnlem  16817  lcmfun  16821  drsdirfi  18480  fiuncmp  23723  finiunmbl  25866  fineqvac  35785  mbfresfi  38586  heibor1lem  38745  pclfinclN  41009
  Copyright terms: Public domain W3C validator