Users' Mathboxes Mathbox for Scott Fenton < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  dfrdg2 Structured version   Visualization version   GIF version

Theorem dfrdg2 35987
Description: Alternate definition of the recursive function generator when 𝐼 is a set. (Contributed by Scott Fenton, 26-Mar-2014.) (Revised by Mario Carneiro, 19-Apr-2014.)
Assertion
Ref Expression
dfrdg2 (𝐼𝑉 → rec(𝐹, 𝐼) = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))})
Distinct variable groups:   𝑓,𝐹,𝑥,𝑦   𝑓,𝐼,𝑥,𝑦
Allowed substitution hints:   𝑉(𝑥,𝑦,𝑓)

Proof of Theorem dfrdg2
Dummy variables 𝑔 𝑖 𝑧 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 rdgeq2 8343 . . 3 (𝑖 = 𝐼 → rec(𝐹, 𝑖) = rec(𝐹, 𝐼))
2 ifeq1 4483 . . . . . . . . 9 (𝑖 = 𝐼 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))
32eqeq2d 2747 . . . . . . . 8 (𝑖 = 𝐼 → ((𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))) ↔ (𝑓𝑦) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))))
43ralbidv 3159 . . . . . . 7 (𝑖 = 𝐼 → (∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))) ↔ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))))
54anbi2d 630 . . . . . 6 (𝑖 = 𝐼 → ((𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))) ↔ (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))))
65rexbidv 3160 . . . . 5 (𝑖 = 𝐼 → (∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))) ↔ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))))
76abbidv 2802 . . . 4 (𝑖 = 𝐼 → {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))} = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))})
87unieqd 4876 . . 3 (𝑖 = 𝐼 {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))} = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))})
91, 8eqeq12d 2752 . 2 (𝑖 = 𝐼 → (rec(𝐹, 𝑖) = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))} ↔ rec(𝐹, 𝐼) = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))}))
10 df-rdg 8341 . . 3 rec(𝐹, 𝑖) = recs((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔))))))
11 dfrecs3 8304 . . 3 recs((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))) = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = ((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))‘(𝑓𝑦)))}
12 vex 3444 . . . . . . . . . . . . 13 𝑓 ∈ V
1312resex 5988 . . . . . . . . . . . 12 (𝑓𝑦) ∈ V
14 eqeq1 2740 . . . . . . . . . . . . . . 15 (𝑔 = (𝑓𝑦) → (𝑔 = ∅ ↔ (𝑓𝑦) = ∅))
15 relres 5964 . . . . . . . . . . . . . . . 16 Rel (𝑓𝑦)
16 reldm0 5877 . . . . . . . . . . . . . . . 16 (Rel (𝑓𝑦) → ((𝑓𝑦) = ∅ ↔ dom (𝑓𝑦) = ∅))
1715, 16ax-mp 5 . . . . . . . . . . . . . . 15 ((𝑓𝑦) = ∅ ↔ dom (𝑓𝑦) = ∅)
1814, 17bitrdi 287 . . . . . . . . . . . . . 14 (𝑔 = (𝑓𝑦) → (𝑔 = ∅ ↔ dom (𝑓𝑦) = ∅))
19 dmeq 5852 . . . . . . . . . . . . . . . 16 (𝑔 = (𝑓𝑦) → dom 𝑔 = dom (𝑓𝑦))
20 limeq 6329 . . . . . . . . . . . . . . . 16 (dom 𝑔 = dom (𝑓𝑦) → (Lim dom 𝑔 ↔ Lim dom (𝑓𝑦)))
2119, 20syl 17 . . . . . . . . . . . . . . 15 (𝑔 = (𝑓𝑦) → (Lim dom 𝑔 ↔ Lim dom (𝑓𝑦)))
22 rneq 5885 . . . . . . . . . . . . . . . . 17 (𝑔 = (𝑓𝑦) → ran 𝑔 = ran (𝑓𝑦))
23 df-ima 5637 . . . . . . . . . . . . . . . . 17 (𝑓𝑦) = ran (𝑓𝑦)
2422, 23eqtr4di 2789 . . . . . . . . . . . . . . . 16 (𝑔 = (𝑓𝑦) → ran 𝑔 = (𝑓𝑦))
2524unieqd 4876 . . . . . . . . . . . . . . 15 (𝑔 = (𝑓𝑦) → ran 𝑔 = (𝑓𝑦))
26 id 22 . . . . . . . . . . . . . . . . 17 (𝑔 = (𝑓𝑦) → 𝑔 = (𝑓𝑦))
2719unieqd 4876 . . . . . . . . . . . . . . . . 17 (𝑔 = (𝑓𝑦) → dom 𝑔 = dom (𝑓𝑦))
2826, 27fveq12d 6841 . . . . . . . . . . . . . . . 16 (𝑔 = (𝑓𝑦) → (𝑔 dom 𝑔) = ((𝑓𝑦)‘ dom (𝑓𝑦)))
2928fveq2d 6838 . . . . . . . . . . . . . . 15 (𝑔 = (𝑓𝑦) → (𝐹‘(𝑔 dom 𝑔)) = (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦))))
3021, 25, 29ifbieq12d 4508 . . . . . . . . . . . . . 14 (𝑔 = (𝑓𝑦) → if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔))) = if(Lim dom (𝑓𝑦), (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦)))))
3118, 30ifbieq2d 4506 . . . . . . . . . . . . 13 (𝑔 = (𝑓𝑦) → if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))) = if(dom (𝑓𝑦) = ∅, 𝑖, if(Lim dom (𝑓𝑦), (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦))))))
32 eqid 2736 . . . . . . . . . . . . 13 (𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔))))) = (𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))
33 vex 3444 . . . . . . . . . . . . . 14 𝑖 ∈ V
34 imaexg 7855 . . . . . . . . . . . . . . . . 17 (𝑓 ∈ V → (𝑓𝑦) ∈ V)
3512, 34ax-mp 5 . . . . . . . . . . . . . . . 16 (𝑓𝑦) ∈ V
3635uniex 7686 . . . . . . . . . . . . . . 15 (𝑓𝑦) ∈ V
37 fvex 6847 . . . . . . . . . . . . . . 15 (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦))) ∈ V
3836, 37ifex 4530 . . . . . . . . . . . . . 14 if(Lim dom (𝑓𝑦), (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦)))) ∈ V
3933, 38ifex 4530 . . . . . . . . . . . . 13 if(dom (𝑓𝑦) = ∅, 𝑖, if(Lim dom (𝑓𝑦), (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦))))) ∈ V
4031, 32, 39fvmpt 6941 . . . . . . . . . . . 12 ((𝑓𝑦) ∈ V → ((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))‘(𝑓𝑦)) = if(dom (𝑓𝑦) = ∅, 𝑖, if(Lim dom (𝑓𝑦), (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦))))))
4113, 40ax-mp 5 . . . . . . . . . . 11 ((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))‘(𝑓𝑦)) = if(dom (𝑓𝑦) = ∅, 𝑖, if(Lim dom (𝑓𝑦), (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦)))))
42 dmres 5971 . . . . . . . . . . . . 13 dom (𝑓𝑦) = (𝑦 ∩ dom 𝑓)
43 onelss 6359 . . . . . . . . . . . . . . . . 17 (𝑥 ∈ On → (𝑦𝑥𝑦𝑥))
4443imp 406 . . . . . . . . . . . . . . . 16 ((𝑥 ∈ On ∧ 𝑦𝑥) → 𝑦𝑥)
45443adant2 1131 . . . . . . . . . . . . . . 15 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → 𝑦𝑥)
46 fndm 6595 . . . . . . . . . . . . . . . 16 (𝑓 Fn 𝑥 → dom 𝑓 = 𝑥)
47463ad2ant2 1134 . . . . . . . . . . . . . . 15 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → dom 𝑓 = 𝑥)
4845, 47sseqtrrd 3971 . . . . . . . . . . . . . 14 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → 𝑦 ⊆ dom 𝑓)
49 dfss2 3919 . . . . . . . . . . . . . 14 (𝑦 ⊆ dom 𝑓 ↔ (𝑦 ∩ dom 𝑓) = 𝑦)
5048, 49sylib 218 . . . . . . . . . . . . 13 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → (𝑦 ∩ dom 𝑓) = 𝑦)
5142, 50eqtrid 2783 . . . . . . . . . . . 12 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → dom (𝑓𝑦) = 𝑦)
52 eqeq1 2740 . . . . . . . . . . . . . 14 (dom (𝑓𝑦) = 𝑦 → (dom (𝑓𝑦) = ∅ ↔ 𝑦 = ∅))
53 limeq 6329 . . . . . . . . . . . . . . 15 (dom (𝑓𝑦) = 𝑦 → (Lim dom (𝑓𝑦) ↔ Lim 𝑦))
54 unieq 4874 . . . . . . . . . . . . . . . . 17 (dom (𝑓𝑦) = 𝑦 dom (𝑓𝑦) = 𝑦)
5554fveq2d 6838 . . . . . . . . . . . . . . . 16 (dom (𝑓𝑦) = 𝑦 → ((𝑓𝑦)‘ dom (𝑓𝑦)) = ((𝑓𝑦)‘ 𝑦))
5655fveq2d 6838 . . . . . . . . . . . . . . 15 (dom (𝑓𝑦) = 𝑦 → (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦))) = (𝐹‘((𝑓𝑦)‘ 𝑦)))
5753, 56ifbieq2d 4506 . . . . . . . . . . . . . 14 (dom (𝑓𝑦) = 𝑦 → if(Lim dom (𝑓𝑦), (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦)))) = if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦))))
5852, 57ifbieq2d 4506 . . . . . . . . . . . . 13 (dom (𝑓𝑦) = 𝑦 → if(dom (𝑓𝑦) = ∅, 𝑖, if(Lim dom (𝑓𝑦), (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦))))) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))))
59 onelon 6342 . . . . . . . . . . . . . . . 16 ((𝑥 ∈ On ∧ 𝑦𝑥) → 𝑦 ∈ On)
60 eloni 6327 . . . . . . . . . . . . . . . 16 (𝑦 ∈ On → Ord 𝑦)
6159, 60syl 17 . . . . . . . . . . . . . . 15 ((𝑥 ∈ On ∧ 𝑦𝑥) → Ord 𝑦)
62613adant2 1131 . . . . . . . . . . . . . 14 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → Ord 𝑦)
63 ordzsl 7787 . . . . . . . . . . . . . . 15 (Ord 𝑦 ↔ (𝑦 = ∅ ∨ ∃𝑧 ∈ On 𝑦 = suc 𝑧 ∨ Lim 𝑦))
64 iftrue 4485 . . . . . . . . . . . . . . . . 17 (𝑦 = ∅ → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = 𝑖)
65 iftrue 4485 . . . . . . . . . . . . . . . . 17 (𝑦 = ∅ → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))) = 𝑖)
6664, 65eqtr4d 2774 . . . . . . . . . . . . . . . 16 (𝑦 = ∅ → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))
67 vex 3444 . . . . . . . . . . . . . . . . . . . . . . 23 𝑧 ∈ V
6867sucid 6401 . . . . . . . . . . . . . . . . . . . . . 22 𝑧 ∈ suc 𝑧
69 fvres 6853 . . . . . . . . . . . . . . . . . . . . . 22 (𝑧 ∈ suc 𝑧 → ((𝑓 ↾ suc 𝑧)‘𝑧) = (𝑓𝑧))
7068, 69ax-mp 5 . . . . . . . . . . . . . . . . . . . . 21 ((𝑓 ↾ suc 𝑧)‘𝑧) = (𝑓𝑧)
71 eloni 6327 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑧 ∈ On → Ord 𝑧)
72 ordunisuc 7774 . . . . . . . . . . . . . . . . . . . . . . 23 (Ord 𝑧 suc 𝑧 = 𝑧)
7371, 72syl 17 . . . . . . . . . . . . . . . . . . . . . 22 (𝑧 ∈ On → suc 𝑧 = 𝑧)
7473fveq2d 6838 . . . . . . . . . . . . . . . . . . . . 21 (𝑧 ∈ On → ((𝑓 ↾ suc 𝑧)‘ suc 𝑧) = ((𝑓 ↾ suc 𝑧)‘𝑧))
7573fveq2d 6838 . . . . . . . . . . . . . . . . . . . . 21 (𝑧 ∈ On → (𝑓 suc 𝑧) = (𝑓𝑧))
7670, 74, 753eqtr4a 2797 . . . . . . . . . . . . . . . . . . . 20 (𝑧 ∈ On → ((𝑓 ↾ suc 𝑧)‘ suc 𝑧) = (𝑓 suc 𝑧))
7776fveq2d 6838 . . . . . . . . . . . . . . . . . . 19 (𝑧 ∈ On → (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)) = (𝐹‘(𝑓 suc 𝑧)))
78 nsuceq0 6402 . . . . . . . . . . . . . . . . . . . . . 22 suc 𝑧 ≠ ∅
7978neii 2934 . . . . . . . . . . . . . . . . . . . . 21 ¬ suc 𝑧 = ∅
8079iffalsei 4489 . . . . . . . . . . . . . . . . . . . 20 if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)))) = if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)))
81 nlimsucg 7784 . . . . . . . . . . . . . . . . . . . . 21 (𝑧 ∈ V → ¬ Lim suc 𝑧)
82 iffalse 4488 . . . . . . . . . . . . . . . . . . . . 21 (¬ Lim suc 𝑧 → if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧))) = (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)))
8367, 81, 82mp2b 10 . . . . . . . . . . . . . . . . . . . 20 if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧))) = (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧))
8480, 83eqtri 2759 . . . . . . . . . . . . . . . . . . 19 if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)))) = (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧))
8579iffalsei 4489 . . . . . . . . . . . . . . . . . . . 20 if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘(𝑓 suc 𝑧)))) = if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘(𝑓 suc 𝑧)))
86 iffalse 4488 . . . . . . . . . . . . . . . . . . . . 21 (¬ Lim suc 𝑧 → if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘(𝑓 suc 𝑧))) = (𝐹‘(𝑓 suc 𝑧)))
8767, 81, 86mp2b 10 . . . . . . . . . . . . . . . . . . . 20 if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘(𝑓 suc 𝑧))) = (𝐹‘(𝑓 suc 𝑧))
8885, 87eqtri 2759 . . . . . . . . . . . . . . . . . . 19 if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘(𝑓 suc 𝑧)))) = (𝐹‘(𝑓 suc 𝑧))
8977, 84, 883eqtr4g 2796 . . . . . . . . . . . . . . . . . 18 (𝑧 ∈ On → if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)))) = if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘(𝑓 suc 𝑧)))))
90 eqeq1 2740 . . . . . . . . . . . . . . . . . . . 20 (𝑦 = suc 𝑧 → (𝑦 = ∅ ↔ suc 𝑧 = ∅))
91 limeq 6329 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 = suc 𝑧 → (Lim 𝑦 ↔ Lim suc 𝑧))
92 reseq2 5933 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑦 = suc 𝑧 → (𝑓𝑦) = (𝑓 ↾ suc 𝑧))
93 unieq 4874 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑦 = suc 𝑧 𝑦 = suc 𝑧)
9492, 93fveq12d 6841 . . . . . . . . . . . . . . . . . . . . . 22 (𝑦 = suc 𝑧 → ((𝑓𝑦)‘ 𝑦) = ((𝑓 ↾ suc 𝑧)‘ suc 𝑧))
9594fveq2d 6838 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 = suc 𝑧 → (𝐹‘((𝑓𝑦)‘ 𝑦)) = (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)))
9691, 95ifbieq2d 4506 . . . . . . . . . . . . . . . . . . . 20 (𝑦 = suc 𝑧 → if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦))) = if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧))))
9790, 96ifbieq2d 4506 . . . . . . . . . . . . . . . . . . 19 (𝑦 = suc 𝑧 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)))))
9893fveq2d 6838 . . . . . . . . . . . . . . . . . . . . . 22 (𝑦 = suc 𝑧 → (𝑓 𝑦) = (𝑓 suc 𝑧))
9998fveq2d 6838 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 = suc 𝑧 → (𝐹‘(𝑓 𝑦)) = (𝐹‘(𝑓 suc 𝑧)))
10091, 99ifbieq2d 4506 . . . . . . . . . . . . . . . . . . . 20 (𝑦 = suc 𝑧 → if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))) = if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘(𝑓 suc 𝑧))))
10190, 100ifbieq2d 4506 . . . . . . . . . . . . . . . . . . 19 (𝑦 = suc 𝑧 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))) = if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘(𝑓 suc 𝑧)))))
10297, 101eqeq12d 2752 . . . . . . . . . . . . . . . . . 18 (𝑦 = suc 𝑧 → (if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))) ↔ if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)))) = if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘(𝑓 suc 𝑧))))))
10389, 102syl5ibrcom 247 . . . . . . . . . . . . . . . . 17 (𝑧 ∈ On → (𝑦 = suc 𝑧 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))))
104103rexlimiv 3130 . . . . . . . . . . . . . . . 16 (∃𝑧 ∈ On 𝑦 = suc 𝑧 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))
105 iftrue 4485 . . . . . . . . . . . . . . . . . 18 (Lim 𝑦 → if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦))) = (𝑓𝑦))
106 df-lim 6322 . . . . . . . . . . . . . . . . . . . . 21 (Lim 𝑦 ↔ (Ord 𝑦𝑦 ≠ ∅ ∧ 𝑦 = 𝑦))
107106simp2bi 1146 . . . . . . . . . . . . . . . . . . . 20 (Lim 𝑦𝑦 ≠ ∅)
108107neneqd 2937 . . . . . . . . . . . . . . . . . . 19 (Lim 𝑦 → ¬ 𝑦 = ∅)
109108iffalsed 4490 . . . . . . . . . . . . . . . . . 18 (Lim 𝑦 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦))))
110 iftrue 4485 . . . . . . . . . . . . . . . . . 18 (Lim 𝑦 → if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))) = (𝑓𝑦))
111105, 109, 1103eqtr4d 2781 . . . . . . . . . . . . . . . . 17 (Lim 𝑦 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))
112108iffalsed 4490 . . . . . . . . . . . . . . . . 17 (Lim 𝑦 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))) = if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))
113111, 112eqtr4d 2774 . . . . . . . . . . . . . . . 16 (Lim 𝑦 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))
11466, 104, 1133jaoi 1430 . . . . . . . . . . . . . . 15 ((𝑦 = ∅ ∨ ∃𝑧 ∈ On 𝑦 = suc 𝑧 ∨ Lim 𝑦) → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))
11563, 114sylbi 217 . . . . . . . . . . . . . 14 (Ord 𝑦 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))
11662, 115syl 17 . . . . . . . . . . . . 13 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))
11758, 116sylan9eqr 2793 . . . . . . . . . . . 12 (((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) ∧ dom (𝑓𝑦) = 𝑦) → if(dom (𝑓𝑦) = ∅, 𝑖, if(Lim dom (𝑓𝑦), (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦))))) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))
11851, 117mpdan 687 . . . . . . . . . . 11 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → if(dom (𝑓𝑦) = ∅, 𝑖, if(Lim dom (𝑓𝑦), (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦))))) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))
11941, 118eqtrid 2783 . . . . . . . . . 10 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → ((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))‘(𝑓𝑦)) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))
120119eqeq2d 2747 . . . . . . . . 9 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → ((𝑓𝑦) = ((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))‘(𝑓𝑦)) ↔ (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))))
1211203expa 1118 . . . . . . . 8 (((𝑥 ∈ On ∧ 𝑓 Fn 𝑥) ∧ 𝑦𝑥) → ((𝑓𝑦) = ((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))‘(𝑓𝑦)) ↔ (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))))
122121ralbidva 3157 . . . . . . 7 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥) → (∀𝑦𝑥 (𝑓𝑦) = ((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))‘(𝑓𝑦)) ↔ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))))
123122pm5.32da 579 . . . . . 6 (𝑥 ∈ On → ((𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = ((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))‘(𝑓𝑦))) ↔ (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))))
124123rexbiia 3081 . . . . 5 (∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = ((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))‘(𝑓𝑦))) ↔ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))))
125124abbii 2803 . . . 4 {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = ((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))‘(𝑓𝑦)))} = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))}
126125unieqi 4875 . . 3 {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = ((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))‘(𝑓𝑦)))} = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))}
12710, 11, 1263eqtri 2763 . 2 rec(𝐹, 𝑖) = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))}
1289, 127vtoclg 3511 1 (𝐼𝑉 → rec(𝐹, 𝐼) = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))})
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 206  wa 395  w3o 1085  w3a 1086   = wceq 1541  wcel 2113  {cab 2714  wne 2932  wral 3051  wrex 3060  Vcvv 3440  cin 3900  wss 3901  c0 4285  ifcif 4479   cuni 4863  cmpt 5179  dom cdm 5624  ran crn 5625  cres 5626  cima 5627  Rel wrel 5629  Ord word 6316  Oncon0 6317  Lim wlim 6318  suc csuc 6319   Fn wfn 6487  cfv 6492  recscrecs 8302  reccrdg 8340
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1911  ax-6 1968  ax-7 2009  ax-8 2115  ax-9 2123  ax-10 2146  ax-11 2162  ax-12 2184  ax-ext 2708  ax-sep 5241  ax-nul 5251  ax-pr 5377  ax-un 7680
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1544  df-fal 1554  df-ex 1781  df-nf 1785  df-sb 2068  df-mo 2539  df-eu 2569  df-clab 2715  df-cleq 2728  df-clel 2811  df-nfc 2885  df-ne 2933  df-ral 3052  df-rex 3061  df-rab 3400  df-v 3442  df-dif 3904  df-un 3906  df-in 3908  df-ss 3918  df-pss 3921  df-nul 4286  df-if 4480  df-pw 4556  df-sn 4581  df-pr 4583  df-op 4587  df-uni 4864  df-br 5099  df-opab 5161  df-mpt 5180  df-tr 5206  df-id 5519  df-eprel 5524  df-po 5532  df-so 5533  df-fr 5577  df-we 5579  df-xp 5630  df-rel 5631  df-cnv 5632  df-co 5633  df-dm 5634  df-rn 5635  df-res 5636  df-ima 5637  df-pred 6259  df-ord 6320  df-on 6321  df-lim 6322  df-suc 6323  df-iota 6448  df-fun 6494  df-fn 6495  df-f 6496  df-fo 6498  df-fv 6500  df-ov 7361  df-2nd 7934  df-frecs 8223  df-wrecs 8254  df-recs 8303  df-rdg 8341
This theorem is referenced by:  dfrdg3  35988
  Copyright terms: Public domain W3C validator