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

Theorem isf32lem9 10396
Description: Lemma for isfin3-2 10402. Construction of the onto function. (Contributed by Stefan O'Rear, 5-Nov-2014.) (Revised by Mario Carneiro, 2-Oct-2015.)
Hypotheses
Ref Expression
isf32lem.a (𝜑𝐹:ω⟶𝒫 𝐺)
isf32lem.b (𝜑 → ∀𝑥 ∈ ω (𝐹‘suc 𝑥) ⊆ (𝐹𝑥))
isf32lem.c (𝜑 → ¬ ran 𝐹 ∈ ran 𝐹)
isf32lem.d 𝑆 = {𝑦 ∈ ω ∣ (𝐹‘suc 𝑦) ⊊ (𝐹𝑦)}
isf32lem.e 𝐽 = (𝑢 ∈ ω ↦ (𝑣𝑆 (𝑣𝑆) ≈ 𝑢))
isf32lem.f 𝐾 = ((𝑤𝑆 ↦ ((𝐹𝑤) ∖ (𝐹‘suc 𝑤))) ∘ 𝐽)
isf32lem.g 𝐿 = (𝑡𝐺 ↦ (℩𝑠(𝑠 ∈ ω ∧ 𝑡 ∈ (𝐾𝑠))))
Assertion
Ref Expression
isf32lem9 (𝜑𝐿:𝐺onto→ω)
Distinct variable groups:   𝑥,𝑤   𝑡,𝐺   𝑥,𝐿   𝑡,𝑠,𝑢,𝑣,𝑤,𝑥,𝑦,𝜑   𝑤,𝐹,𝑥,𝑦   𝑆,𝑠,𝑡,𝑢,𝑣,𝑤,𝑥,𝑦   𝐽,𝑠,𝑡,𝑤,𝑥,𝑦   𝐾,𝑠,𝑡,𝑥,𝑦
Allowed substitution hints:   𝐹(𝑣, 𝑢, 𝑡, 𝑠)   𝐺(𝑥, 𝑦, 𝑤, 𝑣, 𝑢, 𝑠)   𝐽(𝑣, 𝑢)   𝐾(𝑤, 𝑣, 𝑢)   𝐿(𝑦, 𝑤, 𝑣, 𝑢, 𝑡, 𝑠)

Proof of Theorem isf32lem9
Dummy variables 𝑎 𝑏 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 isf32lem.g . . . 4 𝐿 = (𝑡𝐺 ↦ (℩𝑠(𝑠 ∈ ω ∧ 𝑡 ∈ (𝐾𝑠))))
2 ssab2 4027 . . . . . . 7 {𝑠 ∣ (𝑠 ∈ ω ∧ 𝑡 ∈ (𝐾𝑠))} ⊆ ω
3 iotacl 6514 . . . . . . 7 (∃!𝑠(𝑠 ∈ ω ∧ 𝑡 ∈ (𝐾𝑠)) → (℩𝑠(𝑠 ∈ ω ∧ 𝑡 ∈ (𝐾𝑠))) ∈ {𝑠 ∣ (𝑠 ∈ ω ∧ 𝑡 ∈ (𝐾𝑠))})
42, 3sselid 3929 . . . . . 6 (∃!𝑠(𝑠 ∈ ω ∧ 𝑡 ∈ (𝐾𝑠)) → (℩𝑠(𝑠 ∈ ω ∧ 𝑡 ∈ (𝐾𝑠))) ∈ ω)
5 iotanul 6508 . . . . . . 7 (¬ ∃!𝑠(𝑠 ∈ ω ∧ 𝑡 ∈ (𝐾𝑠)) → (℩𝑠(𝑠 ∈ ω ∧ 𝑡 ∈ (𝐾𝑠))) = ∅)
6 peano1 7884 . . . . . . 7 ∅ ∈ ω
75, 6eqeltrdi 2868 . . . . . 6 (¬ ∃!𝑠(𝑠 ∈ ω ∧ 𝑡 ∈ (𝐾𝑠)) → (℩𝑠(𝑠 ∈ ω ∧ 𝑡 ∈ (𝐾𝑠))) ∈ ω)
84, 7pm2.61i 184 . . . . 5 (℩𝑠(𝑠 ∈ ω ∧ 𝑡 ∈ (𝐾𝑠))) ∈ ω
98a1i 11 . . . 4 (𝑡𝐺 → (℩𝑠(𝑠 ∈ ω ∧ 𝑡 ∈ (𝐾𝑠))) ∈ ω)
101, 9fmpti 7101 . . 3 𝐿:𝐺⟶ω
1110a1i 11 . 2 (𝜑𝐿:𝐺⟶ω)
12 isf32lem.a . . . . . 6 (𝜑𝐹:ω⟶𝒫 𝐺)
13 isf32lem.b . . . . . 6 (𝜑 → ∀𝑥 ∈ ω (𝐹‘suc 𝑥) ⊆ (𝐹𝑥))
14 isf32lem.c . . . . . 6 (𝜑 → ¬ ran 𝐹 ∈ ran 𝐹)
15 isf32lem.d . . . . . 6 𝑆 = {𝑦 ∈ ω ∣ (𝐹‘suc 𝑦) ⊊ (𝐹𝑦)}
16 isf32lem.e . . . . . 6 𝐽 = (𝑢 ∈ ω ↦ (𝑣𝑆 (𝑣𝑆) ≈ 𝑢))
17 isf32lem.f . . . . . 6 𝐾 = ((𝑤𝑆 ↦ ((𝐹𝑤) ∖ (𝐹‘suc 𝑤))) ∘ 𝐽)
1812, 13, 14, 15, 16, 17isf32lem6 10393 . . . . 5 ((𝜑𝑎 ∈ ω) → (𝐾𝑎) ≠ ∅)
19 n0 4300 . . . . 5 ((𝐾𝑎) ≠ ∅ ↔ ∃𝑏 𝑏 ∈ (𝐾𝑎))
2018, 19sylib 221 . . . 4 ((𝜑𝑎 ∈ ω) → ∃𝑏 𝑏 ∈ (𝐾𝑎))
2112, 13, 14, 15, 16, 17isf32lem8 10395 . . . . . . . . 9 ((𝜑𝑎 ∈ ω) → (𝐾𝑎) ⊆ 𝐺)
2221sselda 3931 . . . . . . . 8 (((𝜑𝑎 ∈ ω) ∧ 𝑏 ∈ (𝐾𝑎)) → 𝑏𝐺)
23 eleq1w 2843 . . . . . . . . . . . . 13 (𝑡 = 𝑏 → (𝑡 ∈ (𝐾𝑠) ↔ 𝑏 ∈ (𝐾𝑠)))
2423anbi2d 642 . . . . . . . . . . . 12 (𝑡 = 𝑏 → ((𝑠 ∈ ω ∧ 𝑡 ∈ (𝐾𝑠)) ↔ (𝑠 ∈ ω ∧ 𝑏 ∈ (𝐾𝑠))))
2524iotabidv 6512 . . . . . . . . . . 11 (𝑡 = 𝑏 → (℩𝑠(𝑠 ∈ ω ∧ 𝑡 ∈ (𝐾𝑠))) = (℩𝑠(𝑠 ∈ ω ∧ 𝑏 ∈ (𝐾𝑠))))
26 iotaex 6504 . . . . . . . . . . 11 (℩𝑠(𝑠 ∈ ω ∧ 𝑡 ∈ (𝐾𝑠))) ∈ V
2725, 1, 26fvmpt3i 6988 . . . . . . . . . 10 (𝑏𝐺 → (𝐿𝑏) = (℩𝑠(𝑠 ∈ ω ∧ 𝑏 ∈ (𝐾𝑠))))
2822, 27syl 18 . . . . . . . . 9 (((𝜑𝑎 ∈ ω) ∧ 𝑏 ∈ (𝐾𝑎)) → (𝐿𝑏) = (℩𝑠(𝑠 ∈ ω ∧ 𝑏 ∈ (𝐾𝑠))))
29 simp1r 1217 . . . . . . . . . . . . . . . 16 (((𝜑𝑏 ∈ (𝐾𝑎)) ∧ 𝑎 ∈ ω ∧ 𝑠 ∈ ω) → 𝑏 ∈ (𝐾𝑎))
30 simpl1 1210 . . . . . . . . . . . . . . . . . . . . . 22 (((𝜑𝑎 ∈ ω ∧ 𝑠 ∈ ω) ∧ 𝑠𝑎) → 𝜑)
31 simpr 490 . . . . . . . . . . . . . . . . . . . . . . 23 (((𝜑𝑎 ∈ ω ∧ 𝑠 ∈ ω) ∧ 𝑠𝑎) → 𝑠𝑎)
3231necomd 3010 . . . . . . . . . . . . . . . . . . . . . 22 (((𝜑𝑎 ∈ ω ∧ 𝑠 ∈ ω) ∧ 𝑠𝑎) → 𝑎𝑠)
33 simpl2 1211 . . . . . . . . . . . . . . . . . . . . . 22 (((𝜑𝑎 ∈ ω ∧ 𝑠 ∈ ω) ∧ 𝑠𝑎) → 𝑎 ∈ ω)
34 simpl3 1212 . . . . . . . . . . . . . . . . . . . . . 22 (((𝜑𝑎 ∈ ω ∧ 𝑠 ∈ ω) ∧ 𝑠𝑎) → 𝑠 ∈ ω)
3512, 13, 14, 15, 16, 17isf32lem7 10394 . . . . . . . . . . . . . . . . . . . . . 22 (((𝜑𝑎𝑠) ∧ (𝑎 ∈ ω ∧ 𝑠 ∈ ω)) → ((𝐾𝑎) ∩ (𝐾𝑠)) = ∅)
3630, 32, 33, 34, 35syl22anc 852 . . . . . . . . . . . . . . . . . . . . 21 (((𝜑𝑎 ∈ ω ∧ 𝑠 ∈ ω) ∧ 𝑠𝑎) → ((𝐾𝑎) ∩ (𝐾𝑠)) = ∅)
37 disj1 4405 . . . . . . . . . . . . . . . . . . . . 21 (((𝐾𝑎) ∩ (𝐾𝑠)) = ∅ ↔ ∀𝑏(𝑏 ∈ (𝐾𝑎) → ¬ 𝑏 ∈ (𝐾𝑠)))
3836, 37sylib 221 . . . . . . . . . . . . . . . . . . . 20 (((𝜑𝑎 ∈ ω ∧ 𝑠 ∈ ω) ∧ 𝑠𝑎) → ∀𝑏(𝑏 ∈ (𝐾𝑎) → ¬ 𝑏 ∈ (𝐾𝑠)))
3938ex 418 . . . . . . . . . . . . . . . . . . 19 ((𝜑𝑎 ∈ ω ∧ 𝑠 ∈ ω) → (𝑠𝑎 → ∀𝑏(𝑏 ∈ (𝐾𝑎) → ¬ 𝑏 ∈ (𝐾𝑠))))
40 sp 2219 . . . . . . . . . . . . . . . . . . 19 (∀𝑏(𝑏 ∈ (𝐾𝑎) → ¬ 𝑏 ∈ (𝐾𝑠)) → (𝑏 ∈ (𝐾𝑎) → ¬ 𝑏 ∈ (𝐾𝑠)))
4139, 40syl6 36 . . . . . . . . . . . . . . . . . 18 ((𝜑𝑎 ∈ ω ∧ 𝑠 ∈ ω) → (𝑠𝑎 → (𝑏 ∈ (𝐾𝑎) → ¬ 𝑏 ∈ (𝐾𝑠))))
4241com23 87 . . . . . . . . . . . . . . . . 17 ((𝜑𝑎 ∈ ω ∧ 𝑠 ∈ ω) → (𝑏 ∈ (𝐾𝑎) → (𝑠𝑎 → ¬ 𝑏 ∈ (𝐾𝑠))))
43423adant1r 1196 . . . . . . . . . . . . . . . 16 (((𝜑𝑏 ∈ (𝐾𝑎)) ∧ 𝑎 ∈ ω ∧ 𝑠 ∈ ω) → (𝑏 ∈ (𝐾𝑎) → (𝑠𝑎 → ¬ 𝑏 ∈ (𝐾𝑠))))
4429, 43mpd 16 . . . . . . . . . . . . . . 15 (((𝜑𝑏 ∈ (𝐾𝑎)) ∧ 𝑎 ∈ ω ∧ 𝑠 ∈ ω) → (𝑠𝑎 → ¬ 𝑏 ∈ (𝐾𝑠)))
4544necon4ad 2974 . . . . . . . . . . . . . 14 (((𝜑𝑏 ∈ (𝐾𝑎)) ∧ 𝑎 ∈ ω ∧ 𝑠 ∈ ω) → (𝑏 ∈ (𝐾𝑠) → 𝑠 = 𝑎))
46453expia 1139 . . . . . . . . . . . . 13 (((𝜑𝑏 ∈ (𝐾𝑎)) ∧ 𝑎 ∈ ω) → (𝑠 ∈ ω → (𝑏 ∈ (𝐾𝑠) → 𝑠 = 𝑎)))
4746impd 416 . . . . . . . . . . . 12 (((𝜑𝑏 ∈ (𝐾𝑎)) ∧ 𝑎 ∈ ω) → ((𝑠 ∈ ω ∧ 𝑏 ∈ (𝐾𝑠)) → 𝑠 = 𝑎))
48 eleq1w 2843 . . . . . . . . . . . . . . . 16 (𝑠 = 𝑎 → (𝑠 ∈ ω ↔ 𝑎 ∈ ω))
49 fveq2 6874 . . . . . . . . . . . . . . . . 17 (𝑠 = 𝑎 → (𝐾𝑠) = (𝐾𝑎))
5049eleq2d 2846 . . . . . . . . . . . . . . . 16 (𝑠 = 𝑎 → (𝑏 ∈ (𝐾𝑠) ↔ 𝑏 ∈ (𝐾𝑎)))
5148, 50anbi12d 644 . . . . . . . . . . . . . . 15 (𝑠 = 𝑎 → ((𝑠 ∈ ω ∧ 𝑏 ∈ (𝐾𝑠)) ↔ (𝑎 ∈ ω ∧ 𝑏 ∈ (𝐾𝑎))))
5251biimprcd 253 . . . . . . . . . . . . . 14 ((𝑎 ∈ ω ∧ 𝑏 ∈ (𝐾𝑎)) → (𝑠 = 𝑎 → (𝑠 ∈ ω ∧ 𝑏 ∈ (𝐾𝑠))))
5352ancoms 464 . . . . . . . . . . . . 13 ((𝑏 ∈ (𝐾𝑎) ∧ 𝑎 ∈ ω) → (𝑠 = 𝑎 → (𝑠 ∈ ω ∧ 𝑏 ∈ (𝐾𝑠))))
5453adantll 727 . . . . . . . . . . . 12 (((𝜑𝑏 ∈ (𝐾𝑎)) ∧ 𝑎 ∈ ω) → (𝑠 = 𝑎 → (𝑠 ∈ ω ∧ 𝑏 ∈ (𝐾𝑠))))
5547, 54impbid 215 . . . . . . . . . . 11 (((𝜑𝑏 ∈ (𝐾𝑎)) ∧ 𝑎 ∈ ω) → ((𝑠 ∈ ω ∧ 𝑏 ∈ (𝐾𝑠)) ↔ 𝑠 = 𝑎))
5655iota5 6511 . . . . . . . . . 10 (((𝜑𝑏 ∈ (𝐾𝑎)) ∧ 𝑎 ∈ ω) → (℩𝑠(𝑠 ∈ ω ∧ 𝑏 ∈ (𝐾𝑠))) = 𝑎)
5756an32s 665 . . . . . . . . 9 (((𝜑𝑎 ∈ ω) ∧ 𝑏 ∈ (𝐾𝑎)) → (℩𝑠(𝑠 ∈ ω ∧ 𝑏 ∈ (𝐾𝑠))) = 𝑎)
5828, 57eqtr2d 2796 . . . . . . . 8 (((𝜑𝑎 ∈ ω) ∧ 𝑏 ∈ (𝐾𝑎)) → 𝑎 = (𝐿𝑏))
5922, 58jca 521 . . . . . . 7 (((𝜑𝑎 ∈ ω) ∧ 𝑏 ∈ (𝐾𝑎)) → (𝑏𝐺𝑎 = (𝐿𝑏)))
6059ex 418 . . . . . 6 ((𝜑𝑎 ∈ ω) → (𝑏 ∈ (𝐾𝑎) → (𝑏𝐺𝑎 = (𝐿𝑏))))
6160eximdv 1950 . . . . 5 ((𝜑𝑎 ∈ ω) → (∃𝑏 𝑏 ∈ (𝐾𝑎) → ∃𝑏(𝑏𝐺𝑎 = (𝐿𝑏))))
62 df-rex 3087 . . . . 5 (∃𝑏𝐺 𝑎 = (𝐿𝑏) ↔ ∃𝑏(𝑏𝐺𝑎 = (𝐿𝑏)))
6361, 62imbitrrdi 255 . . . 4 ((𝜑𝑎 ∈ ω) → (∃𝑏 𝑏 ∈ (𝐾𝑎) → ∃𝑏𝐺 𝑎 = (𝐿𝑏)))
6420, 63mpd 16 . . 3 ((𝜑𝑎 ∈ ω) → ∃𝑏𝐺 𝑎 = (𝐿𝑏))
6564ralrimiva 3154 . 2 (𝜑 → ∀𝑎 ∈ ω ∃𝑏𝐺 𝑎 = (𝐿𝑏))
66 dffo3 7091 . 2 (𝐿:𝐺onto→ω ↔ (𝐿:𝐺⟶ω ∧ ∀𝑎 ∈ ω ∃𝑏𝐺 𝑎 = (𝐿𝑏)))
6711, 65, 66sylanbrc 595 1 (𝜑𝐿:𝐺onto→ω)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  ¬ wn 3  wi 4  wa 401  w3a 1103  wal 1568   = wceq 1570  wex 1812  wcel 2145  ∃!weu 2593  {cab 2738  wne 2955  wral 3076  wrex 3086  {crab 3412  cdif 3896  cin 3898  wss 3899  wpss 3900  c0 4279  𝒫 cpw 4557   cint 4907   class class class wbr 5103  cmpt 5186  ran crn 5649  ccom 5652  suc csuc 6354  cio 6482  wf 6524  ontowfo 6526  cfv 6528  crio 7365  ωcom 7861  cen 8949
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 2732  ax-rep 5232  ax-sep 5249  ax-nul 5260  ax-pow 5327  ax-pr 5391  ax-un 7735
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 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-rmo 3365  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3740  df-csb 3848  df-dif 3902  df-un 3904  df-in 3906  df-ss 3916  df-pss 3919  df-nul 4280  df-if 4483  df-pw 4559  df-sn 4585  df-pr 4587  df-op 4591  df-uni 4868  df-int 4908  df-iun 4953  df-br 5104  df-opab 5168  df-mpt 5187  df-tr 5213  df-id 5543  df-eprel 5548  df-po 5556  df-so 5557  df-fr 5601  df-se 5602  df-we 5603  df-xp 5654  df-rel 5655  df-cnv 5656  df-co 5657  df-dm 5658  df-rn 5659  df-res 5660  df-ima 5661  df-pred 6294  df-ord 6355  df-on 6356  df-lim 6357  df-suc 6358  df-iota 6484  df-fun 6530  df-fn 6531  df-f 6532  df-f1 6533  df-fo 6534  df-f1o 6535  df-fv 6536  df-isom 6537  df-riota 7366  df-ov 7412  df-om 7862  df-2nd 7986  df-frecs 8278  df-wrecs 8309  df-recs 8358  df-1o 8455  df-er 8696  df-en 8953  df-dom 8954  df-sdom 8955  df-fin 8956  df-card 9977
This theorem is used by:  isf32lem10  10397
  Copyright terms: Public domain W3C validator