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

Theorem seqomlem2 8439
Description: Lemma for seqω. (Contributed by Stefan O'Rear, 1-Nov-2014.) (Revised by Mario Carneiro, 23-Jun-2015.)
Hypothesis
Ref Expression
seqomlem.a 𝑄 = rec((𝑖 ∈ ω, 𝑣 ∈ V ↦ ⟨suc 𝑖, (𝑖𝐹𝑣)⟩), ⟨∅, ( I ‘𝐼)⟩)
Assertion
Ref Expression
seqomlem2 (𝑄 “ ω) Fn ω
Distinct variable groups:   𝑄,𝑖,𝑣   𝑖,𝐹,𝑣
Allowed substitution hints:   𝐼(𝑣,𝑖)

Proof of Theorem seqomlem2
Dummy variables 𝑎 𝑏 𝑐 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 frfnom 8423 . . . . . . 7 (rec((𝑖 ∈ ω, 𝑣 ∈ V ↦ ⟨suc 𝑖, (𝑖𝐹𝑣)⟩), ⟨∅, ( I ‘𝐼)⟩) ↾ ω) Fn ω
2 seqomlem.a . . . . . . . . 9 𝑄 = rec((𝑖 ∈ ω, 𝑣 ∈ V ↦ ⟨suc 𝑖, (𝑖𝐹𝑣)⟩), ⟨∅, ( I ‘𝐼)⟩)
32reseq1i 5976 . . . . . . . 8 (𝑄 ↾ ω) = (rec((𝑖 ∈ ω, 𝑣 ∈ V ↦ ⟨suc 𝑖, (𝑖𝐹𝑣)⟩), ⟨∅, ( I ‘𝐼)⟩) ↾ ω)
43fneq1i 6634 . . . . . . 7 ((𝑄 ↾ ω) Fn ω ↔ (rec((𝑖 ∈ ω, 𝑣 ∈ V ↦ ⟨suc 𝑖, (𝑖𝐹𝑣)⟩), ⟨∅, ( I ‘𝐼)⟩) ↾ ω) Fn ω)
51, 4mpbir 234 . . . . . 6 (𝑄 ↾ ω) Fn ω
6 fvres 6902 . . . . . . . . 9 (𝑏 ∈ ω → ((𝑄 ↾ ω)‘𝑏) = (𝑄𝑏))
72seqomlem1 8438 . . . . . . . . 9 (𝑏 ∈ ω → (𝑄𝑏) = ⟨𝑏, (2nd ‘(𝑄𝑏))⟩)
86, 7eqtrd 2798 . . . . . . . 8 (𝑏 ∈ ω → ((𝑄 ↾ ω)‘𝑏) = ⟨𝑏, (2nd ‘(𝑄𝑏))⟩)
9 fvex 6896 . . . . . . . . 9 (2nd ‘(𝑄𝑏)) ∈ V
10 opelxpi 5700 . . . . . . . . 9 ((𝑏 ∈ ω ∧ (2nd ‘(𝑄𝑏)) ∈ V) → ⟨𝑏, (2nd ‘(𝑄𝑏))⟩ ∈ (ω × V))
119, 10mpan2 703 . . . . . . . 8 (𝑏 ∈ ω → ⟨𝑏, (2nd ‘(𝑄𝑏))⟩ ∈ (ω × V))
128, 11eqeltrd 2863 . . . . . . 7 (𝑏 ∈ ω → ((𝑄 ↾ ω)‘𝑏) ∈ (ω × V))
1312rgen 3081 . . . . . 6 𝑏 ∈ ω ((𝑄 ↾ ω)‘𝑏) ∈ (ω × V)
14 ffnfv 7116 . . . . . 6 ((𝑄 ↾ ω):ω⟶(ω × V) ↔ ((𝑄 ↾ ω) Fn ω ∧ ∀𝑏 ∈ ω ((𝑄 ↾ ω)‘𝑏) ∈ (ω × V)))
155, 13, 14mpbir2an 723 . . . . 5 (𝑄 ↾ ω):ω⟶(ω × V)
16 frn 6715 . . . . 5 ((𝑄 ↾ ω):ω⟶(ω × V) → ran (𝑄 ↾ ω) ⊆ (ω × V))
1715, 16ax-mp 5 . . . 4 ran (𝑄 ↾ ω) ⊆ (ω × V)
18 df-br 5111 . . . . . . . . . 10 (𝑎ran (𝑄 ↾ ω)𝑏 ↔ ⟨𝑎, 𝑏⟩ ∈ ran (𝑄 ↾ ω))
19 fvelrnb 6943 . . . . . . . . . . 11 ((𝑄 ↾ ω) Fn ω → (⟨𝑎, 𝑏⟩ ∈ ran (𝑄 ↾ ω) ↔ ∃𝑐 ∈ ω ((𝑄 ↾ ω)‘𝑐) = ⟨𝑎, 𝑏⟩))
205, 19ax-mp 5 . . . . . . . . . 10 (⟨𝑎, 𝑏⟩ ∈ ran (𝑄 ↾ ω) ↔ ∃𝑐 ∈ ω ((𝑄 ↾ ω)‘𝑐) = ⟨𝑎, 𝑏⟩)
21 fvres 6902 . . . . . . . . . . . 12 (𝑐 ∈ ω → ((𝑄 ↾ ω)‘𝑐) = (𝑄𝑐))
2221eqeq1d 2765 . . . . . . . . . . 11 (𝑐 ∈ ω → (((𝑄 ↾ ω)‘𝑐) = ⟨𝑎, 𝑏⟩ ↔ (𝑄𝑐) = ⟨𝑎, 𝑏⟩))
2322rexbiia 3110 . . . . . . . . . 10 (∃𝑐 ∈ ω ((𝑄 ↾ ω)‘𝑐) = ⟨𝑎, 𝑏⟩ ↔ ∃𝑐 ∈ ω (𝑄𝑐) = ⟨𝑎, 𝑏⟩)
2418, 20, 233bitri 300 . . . . . . . . 9 (𝑎ran (𝑄 ↾ ω)𝑏 ↔ ∃𝑐 ∈ ω (𝑄𝑐) = ⟨𝑎, 𝑏⟩)
252seqomlem1 8438 . . . . . . . . . . . . . . . 16 (𝑐 ∈ ω → (𝑄𝑐) = ⟨𝑐, (2nd ‘(𝑄𝑐))⟩)
2625adantl 486 . . . . . . . . . . . . . . 15 ((𝑎 ∈ ω ∧ 𝑐 ∈ ω) → (𝑄𝑐) = ⟨𝑐, (2nd ‘(𝑄𝑐))⟩)
2726eqeq1d 2765 . . . . . . . . . . . . . 14 ((𝑎 ∈ ω ∧ 𝑐 ∈ ω) → ((𝑄𝑐) = ⟨𝑎, 𝑏⟩ ↔ ⟨𝑐, (2nd ‘(𝑄𝑐))⟩ = ⟨𝑎, 𝑏⟩))
28 vex 3459 . . . . . . . . . . . . . . 15 𝑐 ∈ V
29 fvex 6896 . . . . . . . . . . . . . . 15 (2nd ‘(𝑄𝑐)) ∈ V
3028, 29opth1 5459 . . . . . . . . . . . . . 14 (⟨𝑐, (2nd ‘(𝑄𝑐))⟩ = ⟨𝑎, 𝑏⟩ → 𝑐 = 𝑎)
3127, 30biimtrdi 256 . . . . . . . . . . . . 13 ((𝑎 ∈ ω ∧ 𝑐 ∈ ω) → ((𝑄𝑐) = ⟨𝑎, 𝑏⟩ → 𝑐 = 𝑎))
32 fveqeq2 6892 . . . . . . . . . . . . . 14 (𝑐 = 𝑎 → ((𝑄𝑐) = ⟨𝑎, 𝑏⟩ ↔ (𝑄𝑎) = ⟨𝑎, 𝑏⟩))
3332biimpd 232 . . . . . . . . . . . . 13 (𝑐 = 𝑎 → ((𝑄𝑐) = ⟨𝑎, 𝑏⟩ → (𝑄𝑎) = ⟨𝑎, 𝑏⟩))
3431, 33syli 40 . . . . . . . . . . . 12 ((𝑎 ∈ ω ∧ 𝑐 ∈ ω) → ((𝑄𝑐) = ⟨𝑎, 𝑏⟩ → (𝑄𝑎) = ⟨𝑎, 𝑏⟩))
35 fveq2 6883 . . . . . . . . . . . . 13 ((𝑄𝑎) = ⟨𝑎, 𝑏⟩ → (2nd ‘(𝑄𝑎)) = (2nd ‘⟨𝑎, 𝑏⟩))
36 vex 3459 . . . . . . . . . . . . . 14 𝑎 ∈ V
37 vex 3459 . . . . . . . . . . . . . 14 𝑏 ∈ V
3836, 37op2nd 7996 . . . . . . . . . . . . 13 (2nd ‘⟨𝑎, 𝑏⟩) = 𝑏
3935, 38eqtr2di 2815 . . . . . . . . . . . 12 ((𝑄𝑎) = ⟨𝑎, 𝑏⟩ → 𝑏 = (2nd ‘(𝑄𝑎)))
4034, 39syl6 36 . . . . . . . . . . 11 ((𝑎 ∈ ω ∧ 𝑐 ∈ ω) → ((𝑄𝑐) = ⟨𝑎, 𝑏⟩ → 𝑏 = (2nd ‘(𝑄𝑎))))
4140rexlimdva 3166 . . . . . . . . . 10 (𝑎 ∈ ω → (∃𝑐 ∈ ω (𝑄𝑐) = ⟨𝑎, 𝑏⟩ → 𝑏 = (2nd ‘(𝑄𝑎))))
422seqomlem1 8438 . . . . . . . . . . . 12 (𝑎 ∈ ω → (𝑄𝑎) = ⟨𝑎, (2nd ‘(𝑄𝑎))⟩)
43 fveqeq2 6892 . . . . . . . . . . . . 13 (𝑐 = 𝑎 → ((𝑄𝑐) = ⟨𝑎, (2nd ‘(𝑄𝑎))⟩ ↔ (𝑄𝑎) = ⟨𝑎, (2nd ‘(𝑄𝑎))⟩))
4443rspcev 3582 . . . . . . . . . . . 12 ((𝑎 ∈ ω ∧ (𝑄𝑎) = ⟨𝑎, (2nd ‘(𝑄𝑎))⟩) → ∃𝑐 ∈ ω (𝑄𝑐) = ⟨𝑎, (2nd ‘(𝑄𝑎))⟩)
4542, 44mpdan 699 . . . . . . . . . . 11 (𝑎 ∈ ω → ∃𝑐 ∈ ω (𝑄𝑐) = ⟨𝑎, (2nd ‘(𝑄𝑎))⟩)
46 opeq2 4840 . . . . . . . . . . . . 13 (𝑏 = (2nd ‘(𝑄𝑎)) → ⟨𝑎, 𝑏⟩ = ⟨𝑎, (2nd ‘(𝑄𝑎))⟩)
4746eqeq2d 2774 . . . . . . . . . . . 12 (𝑏 = (2nd ‘(𝑄𝑎)) → ((𝑄𝑐) = ⟨𝑎, 𝑏⟩ ↔ (𝑄𝑐) = ⟨𝑎, (2nd ‘(𝑄𝑎))⟩))
4847rexbidv 3189 . . . . . . . . . . 11 (𝑏 = (2nd ‘(𝑄𝑎)) → (∃𝑐 ∈ ω (𝑄𝑐) = ⟨𝑎, 𝑏⟩ ↔ ∃𝑐 ∈ ω (𝑄𝑐) = ⟨𝑎, (2nd ‘(𝑄𝑎))⟩))
4945, 48syl5ibrcom 250 . . . . . . . . . 10 (𝑎 ∈ ω → (𝑏 = (2nd ‘(𝑄𝑎)) → ∃𝑐 ∈ ω (𝑄𝑐) = ⟨𝑎, 𝑏⟩))
5041, 49impbid 215 . . . . . . . . 9 (𝑎 ∈ ω → (∃𝑐 ∈ ω (𝑄𝑐) = ⟨𝑎, 𝑏⟩ ↔ 𝑏 = (2nd ‘(𝑄𝑎))))
5124, 50bitrid 286 . . . . . . . 8 (𝑎 ∈ ω → (𝑎ran (𝑄 ↾ ω)𝑏𝑏 = (2nd ‘(𝑄𝑎))))
5251alrimiv 1957 . . . . . . 7 (𝑎 ∈ ω → ∀𝑏(𝑎ran (𝑄 ↾ ω)𝑏𝑏 = (2nd ‘(𝑄𝑎))))
53 fvex 6896 . . . . . . . 8 (2nd ‘(𝑄𝑎)) ∈ V
54 eqeq2 2775 . . . . . . . . . 10 (𝑐 = (2nd ‘(𝑄𝑎)) → (𝑏 = 𝑐𝑏 = (2nd ‘(𝑄𝑎))))
5554bibi2d 345 . . . . . . . . 9 (𝑐 = (2nd ‘(𝑄𝑎)) → ((𝑎ran (𝑄 ↾ ω)𝑏𝑏 = 𝑐) ↔ (𝑎ran (𝑄 ↾ ω)𝑏𝑏 = (2nd ‘(𝑄𝑎)))))
5655albidv 1950 . . . . . . . 8 (𝑐 = (2nd ‘(𝑄𝑎)) → (∀𝑏(𝑎ran (𝑄 ↾ ω)𝑏𝑏 = 𝑐) ↔ ∀𝑏(𝑎ran (𝑄 ↾ ω)𝑏𝑏 = (2nd ‘(𝑄𝑎)))))
5753, 56spcev 3566 . . . . . . 7 (∀𝑏(𝑎ran (𝑄 ↾ ω)𝑏𝑏 = (2nd ‘(𝑄𝑎))) → ∃𝑐𝑏(𝑎ran (𝑄 ↾ ω)𝑏𝑏 = 𝑐))
5852, 57syl 18 . . . . . 6 (𝑎 ∈ ω → ∃𝑐𝑏(𝑎ran (𝑄 ↾ ω)𝑏𝑏 = 𝑐))
59 eu6 2602 . . . . . 6 (∃!𝑏 𝑎ran (𝑄 ↾ ω)𝑏 ↔ ∃𝑐𝑏(𝑎ran (𝑄 ↾ ω)𝑏𝑏 = 𝑐))
6058, 59sylibr 237 . . . . 5 (𝑎 ∈ ω → ∃!𝑏 𝑎ran (𝑄 ↾ ω)𝑏)
6160rgen 3081 . . . 4 𝑎 ∈ ω ∃!𝑏 𝑎ran (𝑄 ↾ ω)𝑏
62 dff3 7097 . . . 4 (ran (𝑄 ↾ ω):ω⟶V ↔ (ran (𝑄 ↾ ω) ⊆ (ω × V) ∧ ∀𝑎 ∈ ω ∃!𝑏 𝑎ran (𝑄 ↾ ω)𝑏))
6317, 61, 62mpbir2an 723 . . 3 ran (𝑄 ↾ ω):ω⟶V
64 df-ima 5676 . . . 4 (𝑄 “ ω) = ran (𝑄 ↾ ω)
6564feq1i 6698 . . 3 ((𝑄 “ ω):ω⟶V ↔ ran (𝑄 ↾ ω):ω⟶V)
6663, 65mpbir 234 . 2 (𝑄 “ ω):ω⟶V
67 dffn2 6709 . 2 ((𝑄 “ ω) Fn ω ↔ (𝑄 “ ω):ω⟶V)
6866, 67mpbir 234 1 (𝑄 “ ω) Fn ω
Colors of variables: wff setvar class
Syntax hints:  wb 209  wa 400  wal 1568   = wceq 1570  wex 1809  wcel 2143  ∃!weu 2596  wral 3079  wrex 3089  Vcvv 3455  wss 3906  c0 4287  cop 4596   class class class wbr 5110   I cid 5557   × cxp 5661  ran crn 5664  cres 5665  cima 5666  suc csuc 6364   Fn wfn 6533  wf 6534  cfv 6538  (class class class)co 7412  cmpo 7414  ωcom 7863  2nd c2nd 7986  reccrdg 8397
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1825  ax-4 1839  ax-5 1940  ax-6 1997  ax-7 2038  ax-8 2145  ax-9 2153  ax-10 2176  ax-11 2192  ax-12 2213  ax-ext 2735  ax-sep 5258  ax-nul 5270  ax-pr 5406  ax-un 7734
This theorem depends on definitions:  df-bi 210  df-an 401  df-or 861  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1810  df-nf 1814  df-sb 2097  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2838  df-nfc 2912  df-ne 2959  df-ral 3080  df-rex 3090  df-reu 3370  df-rab 3417  df-v 3457  df-sbc 3746  df-csb 3855  df-dif 3909  df-un 3911  df-in 3913  df-ss 3923  df-pss 3926  df-nul 4288  df-if 4489  df-pw 4565  df-sn 4591  df-pr 4593  df-op 4597  df-uni 4874  df-iun 4959  df-br 5111  df-opab 5175  df-mpt 5194  df-tr 5220  df-id 5558  df-eprel 5563  df-po 5571  df-so 5572  df-fr 5616  df-we 5618  df-xp 5669  df-rel 5670  df-cnv 5671  df-co 5672  df-dm 5673  df-rn 5674  df-res 5675  df-ima 5676  df-pred 6304  df-ord 6365  df-on 6366  df-lim 6367  df-suc 6368  df-iota 6494  df-fun 6540  df-fn 6541  df-f 6542  df-f1 6543  df-fo 6544  df-f1o 6545  df-fv 6546  df-ov 7415  df-oprab 7416  df-mpo 7417  df-om 7864  df-2nd 7988  df-frecs 8279  df-wrecs 8310  df-recs 8359  df-rdg 8398
This theorem is referenced by:  seqomlem3  8440  seqomlem4  8441  fnseqom  8443
  Copyright terms: Public domain W3C validator