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 35975
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 8351 . . 3 (𝑖 = 𝐼 → rec(𝐹, 𝑖) = rec(𝐹, 𝐼))
2 ifeq1 4470 . . . . . . . . 9 (𝑖 = 𝐼 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))
32eqeq2d 2747 . . . . . . . 8 (𝑖 = 𝐼 → ((𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))) ↔ (𝑓𝑦) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))))
43ralbidv 3160 . . . . . . 7 (𝑖 = 𝐼 → (∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))) ↔ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))))
54anbi2d 631 . . . . . 6 (𝑖 = 𝐼 → ((𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))) ↔ (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))))
65rexbidv 3161 . . . . 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 4863 . . 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 8349 . . 3 rec(𝐹, 𝑖) = recs((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔))))))
11 dfrecs3 8312 . . 3 recs((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))) = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = ((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))‘(𝑓𝑦)))}
12 vex 3433 . . . . . . . . . . . . 13 𝑓 ∈ V
1312resex 5994 . . . . . . . . . . . 12 (𝑓𝑦) ∈ V
14 eqeq1 2740 . . . . . . . . . . . . . . 15 (𝑔 = (𝑓𝑦) → (𝑔 = ∅ ↔ (𝑓𝑦) = ∅))
15 relres 5970 . . . . . . . . . . . . . . . 16 Rel (𝑓𝑦)
16 reldm0 5883 . . . . . . . . . . . . . . . 16 (Rel (𝑓𝑦) → ((𝑓𝑦) = ∅ ↔ dom (𝑓𝑦) = ∅))
1715, 16ax-mp 5 . . . . . . . . . . . . . . 15 ((𝑓𝑦) = ∅ ↔ dom (𝑓𝑦) = ∅)
1814, 17bitrdi 287 . . . . . . . . . . . . . 14 (𝑔 = (𝑓𝑦) → (𝑔 = ∅ ↔ dom (𝑓𝑦) = ∅))
19 dmeq 5858 . . . . . . . . . . . . . . . 16 (𝑔 = (𝑓𝑦) → dom 𝑔 = dom (𝑓𝑦))
20 limeq 6335 . . . . . . . . . . . . . . . 16 (dom 𝑔 = dom (𝑓𝑦) → (Lim dom 𝑔 ↔ Lim dom (𝑓𝑦)))
2119, 20syl 17 . . . . . . . . . . . . . . 15 (𝑔 = (𝑓𝑦) → (Lim dom 𝑔 ↔ Lim dom (𝑓𝑦)))
22 rneq 5891 . . . . . . . . . . . . . . . . 17 (𝑔 = (𝑓𝑦) → ran 𝑔 = ran (𝑓𝑦))
23 df-ima 5644 . . . . . . . . . . . . . . . . 17 (𝑓𝑦) = ran (𝑓𝑦)
2422, 23eqtr4di 2789 . . . . . . . . . . . . . . . 16 (𝑔 = (𝑓𝑦) → ran 𝑔 = (𝑓𝑦))
2524unieqd 4863 . . . . . . . . . . . . . . 15 (𝑔 = (𝑓𝑦) → ran 𝑔 = (𝑓𝑦))
26 id 22 . . . . . . . . . . . . . . . . 17 (𝑔 = (𝑓𝑦) → 𝑔 = (𝑓𝑦))
2719unieqd 4863 . . . . . . . . . . . . . . . . 17 (𝑔 = (𝑓𝑦) → dom 𝑔 = dom (𝑓𝑦))
2826, 27fveq12d 6847 . . . . . . . . . . . . . . . 16 (𝑔 = (𝑓𝑦) → (𝑔 dom 𝑔) = ((𝑓𝑦)‘ dom (𝑓𝑦)))
2928fveq2d 6844 . . . . . . . . . . . . . . 15 (𝑔 = (𝑓𝑦) → (𝐹‘(𝑔 dom 𝑔)) = (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦))))
3021, 25, 29ifbieq12d 4495 . . . . . . . . . . . . . 14 (𝑔 = (𝑓𝑦) → if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔))) = if(Lim dom (𝑓𝑦), (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦)))))
3118, 30ifbieq2d 4493 . . . . . . . . . . . . 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 3433 . . . . . . . . . . . . . 14 𝑖 ∈ V
34 imaexg 7864 . . . . . . . . . . . . . . . . 17 (𝑓 ∈ V → (𝑓𝑦) ∈ V)
3512, 34ax-mp 5 . . . . . . . . . . . . . . . 16 (𝑓𝑦) ∈ V
3635uniex 7695 . . . . . . . . . . . . . . 15 (𝑓𝑦) ∈ V
37 fvex 6853 . . . . . . . . . . . . . . 15 (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦))) ∈ V
3836, 37ifex 4517 . . . . . . . . . . . . . 14 if(Lim dom (𝑓𝑦), (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦)))) ∈ V
3933, 38ifex 4517 . . . . . . . . . . . . 13 if(dom (𝑓𝑦) = ∅, 𝑖, if(Lim dom (𝑓𝑦), (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦))))) ∈ V
4031, 32, 39fvmpt 6947 . . . . . . . . . . . 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 5977 . . . . . . . . . . . . 13 dom (𝑓𝑦) = (𝑦 ∩ dom 𝑓)
43 onelss 6365 . . . . . . . . . . . . . . . . 17 (𝑥 ∈ On → (𝑦𝑥𝑦𝑥))
4443imp 406 . . . . . . . . . . . . . . . 16 ((𝑥 ∈ On ∧ 𝑦𝑥) → 𝑦𝑥)
45443adant2 1132 . . . . . . . . . . . . . . 15 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → 𝑦𝑥)
46 fndm 6601 . . . . . . . . . . . . . . . 16 (𝑓 Fn 𝑥 → dom 𝑓 = 𝑥)
47463ad2ant2 1135 . . . . . . . . . . . . . . 15 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → dom 𝑓 = 𝑥)
4845, 47sseqtrrd 3959 . . . . . . . . . . . . . 14 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → 𝑦 ⊆ dom 𝑓)
49 dfss2 3907 . . . . . . . . . . . . . 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 6335 . . . . . . . . . . . . . . 15 (dom (𝑓𝑦) = 𝑦 → (Lim dom (𝑓𝑦) ↔ Lim 𝑦))
54 unieq 4861 . . . . . . . . . . . . . . . . 17 (dom (𝑓𝑦) = 𝑦 dom (𝑓𝑦) = 𝑦)
5554fveq2d 6844 . . . . . . . . . . . . . . . 16 (dom (𝑓𝑦) = 𝑦 → ((𝑓𝑦)‘ dom (𝑓𝑦)) = ((𝑓𝑦)‘ 𝑦))
5655fveq2d 6844 . . . . . . . . . . . . . . 15 (dom (𝑓𝑦) = 𝑦 → (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦))) = (𝐹‘((𝑓𝑦)‘ 𝑦)))
5753, 56ifbieq2d 4493 . . . . . . . . . . . . . 14 (dom (𝑓𝑦) = 𝑦 → if(Lim dom (𝑓𝑦), (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦)))) = if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦))))
5852, 57ifbieq2d 4493 . . . . . . . . . . . . 13 (dom (𝑓𝑦) = 𝑦 → if(dom (𝑓𝑦) = ∅, 𝑖, if(Lim dom (𝑓𝑦), (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦))))) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))))
59 onelon 6348 . . . . . . . . . . . . . . . 16 ((𝑥 ∈ On ∧ 𝑦𝑥) → 𝑦 ∈ On)
60 eloni 6333 . . . . . . . . . . . . . . . 16 (𝑦 ∈ On → Ord 𝑦)
6159, 60syl 17 . . . . . . . . . . . . . . 15 ((𝑥 ∈ On ∧ 𝑦𝑥) → Ord 𝑦)
62613adant2 1132 . . . . . . . . . . . . . 14 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → Ord 𝑦)
63 ordzsl 7796 . . . . . . . . . . . . . . 15 (Ord 𝑦 ↔ (𝑦 = ∅ ∨ ∃𝑧 ∈ On 𝑦 = suc 𝑧 ∨ Lim 𝑦))
64 iftrue 4472 . . . . . . . . . . . . . . . . 17 (𝑦 = ∅ → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = 𝑖)
65 iftrue 4472 . . . . . . . . . . . . . . . . 17 (𝑦 = ∅ → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))) = 𝑖)
6664, 65eqtr4d 2774 . . . . . . . . . . . . . . . 16 (𝑦 = ∅ → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))
67 vex 3433 . . . . . . . . . . . . . . . . . . . . . . 23 𝑧 ∈ V
6867sucid 6407 . . . . . . . . . . . . . . . . . . . . . 22 𝑧 ∈ suc 𝑧
69 fvres 6859 . . . . . . . . . . . . . . . . . . . . . 22 (𝑧 ∈ suc 𝑧 → ((𝑓 ↾ suc 𝑧)‘𝑧) = (𝑓𝑧))
7068, 69ax-mp 5 . . . . . . . . . . . . . . . . . . . . 21 ((𝑓 ↾ suc 𝑧)‘𝑧) = (𝑓𝑧)
71 eloni 6333 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑧 ∈ On → Ord 𝑧)
72 ordunisuc 7783 . . . . . . . . . . . . . . . . . . . . . . 23 (Ord 𝑧 suc 𝑧 = 𝑧)
7371, 72syl 17 . . . . . . . . . . . . . . . . . . . . . 22 (𝑧 ∈ On → suc 𝑧 = 𝑧)
7473fveq2d 6844 . . . . . . . . . . . . . . . . . . . . 21 (𝑧 ∈ On → ((𝑓 ↾ suc 𝑧)‘ suc 𝑧) = ((𝑓 ↾ suc 𝑧)‘𝑧))
7573fveq2d 6844 . . . . . . . . . . . . . . . . . . . . 21 (𝑧 ∈ On → (𝑓 suc 𝑧) = (𝑓𝑧))
7670, 74, 753eqtr4a 2797 . . . . . . . . . . . . . . . . . . . 20 (𝑧 ∈ On → ((𝑓 ↾ suc 𝑧)‘ suc 𝑧) = (𝑓 suc 𝑧))
7776fveq2d 6844 . . . . . . . . . . . . . . . . . . 19 (𝑧 ∈ On → (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)) = (𝐹‘(𝑓 suc 𝑧)))
78 nsuceq0 6408 . . . . . . . . . . . . . . . . . . . . . 22 suc 𝑧 ≠ ∅
7978neii 2934 . . . . . . . . . . . . . . . . . . . . 21 ¬ suc 𝑧 = ∅
8079iffalsei 4476 . . . . . . . . . . . . . . . . . . . 20 if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)))) = if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)))
81 nlimsucg 7793 . . . . . . . . . . . . . . . . . . . . 21 (𝑧 ∈ V → ¬ Lim suc 𝑧)
82 iffalse 4475 . . . . . . . . . . . . . . . . . . . . 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 4476 . . . . . . . . . . . . . . . . . . . 20 if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘(𝑓 suc 𝑧)))) = if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘(𝑓 suc 𝑧)))
86 iffalse 4475 . . . . . . . . . . . . . . . . . . . . 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 6335 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 = suc 𝑧 → (Lim 𝑦 ↔ Lim suc 𝑧))
92 reseq2 5939 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑦 = suc 𝑧 → (𝑓𝑦) = (𝑓 ↾ suc 𝑧))
93 unieq 4861 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑦 = suc 𝑧 𝑦 = suc 𝑧)
9492, 93fveq12d 6847 . . . . . . . . . . . . . . . . . . . . . 22 (𝑦 = suc 𝑧 → ((𝑓𝑦)‘ 𝑦) = ((𝑓 ↾ suc 𝑧)‘ suc 𝑧))
9594fveq2d 6844 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 = suc 𝑧 → (𝐹‘((𝑓𝑦)‘ 𝑦)) = (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)))
9691, 95ifbieq2d 4493 . . . . . . . . . . . . . . . . . . . 20 (𝑦 = suc 𝑧 → if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦))) = if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧))))
9790, 96ifbieq2d 4493 . . . . . . . . . . . . . . . . . . 19 (𝑦 = suc 𝑧 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)))))
9893fveq2d 6844 . . . . . . . . . . . . . . . . . . . . . 22 (𝑦 = suc 𝑧 → (𝑓 𝑦) = (𝑓 suc 𝑧))
9998fveq2d 6844 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 = suc 𝑧 → (𝐹‘(𝑓 𝑦)) = (𝐹‘(𝑓 suc 𝑧)))
10091, 99ifbieq2d 4493 . . . . . . . . . . . . . . . . . . . 20 (𝑦 = suc 𝑧 → if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))) = if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘(𝑓 suc 𝑧))))
10190, 100ifbieq2d 4493 . . . . . . . . . . . . . . . . . . 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 3131 . . . . . . . . . . . . . . . 16 (∃𝑧 ∈ On 𝑦 = suc 𝑧 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))
105 iftrue 4472 . . . . . . . . . . . . . . . . . 18 (Lim 𝑦 → if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦))) = (𝑓𝑦))
106 df-lim 6328 . . . . . . . . . . . . . . . . . . . . 21 (Lim 𝑦 ↔ (Ord 𝑦𝑦 ≠ ∅ ∧ 𝑦 = 𝑦))
107106simp2bi 1147 . . . . . . . . . . . . . . . . . . . 20 (Lim 𝑦𝑦 ≠ ∅)
108107neneqd 2937 . . . . . . . . . . . . . . . . . . 19 (Lim 𝑦 → ¬ 𝑦 = ∅)
109108iffalsed 4477 . . . . . . . . . . . . . . . . . 18 (Lim 𝑦 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦))))
110 iftrue 4472 . . . . . . . . . . . . . . . . . 18 (Lim 𝑦 → if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))) = (𝑓𝑦))
111105, 109, 1103eqtr4d 2781 . . . . . . . . . . . . . . . . 17 (Lim 𝑦 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))
112108iffalsed 4477 . . . . . . . . . . . . . . . . 17 (Lim 𝑦 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))) = if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))
113111, 112eqtr4d 2774 . . . . . . . . . . . . . . . 16 (Lim 𝑦 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))
11466, 104, 1133jaoi 1431 . . . . . . . . . . . . . . 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 688 . . . . . . . . . . 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 1119 . . . . . . . 8 (((𝑥 ∈ On ∧ 𝑓 Fn 𝑥) ∧ 𝑦𝑥) → ((𝑓𝑦) = ((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))‘(𝑓𝑦)) ↔ (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))))
122121ralbidva 3158 . . . . . . 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 3082 . . . . 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 4862 . . 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 3499 1 (𝐼𝑉 → rec(𝐹, 𝐼) = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))})
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 206  wa 395  w3o 1086  w3a 1087   = wceq 1542  wcel 2114  {cab 2714  wne 2932  wral 3051  wrex 3061  Vcvv 3429  cin 3888  wss 3889  c0 4273  ifcif 4466   cuni 4850  cmpt 5166  dom cdm 5631  ran crn 5632  cres 5633  cima 5634  Rel wrel 5636  Ord word 6322  Oncon0 6323  Lim wlim 6324  suc csuc 6325   Fn wfn 6493  cfv 6498  recscrecs 8310  reccrdg 8348
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1912  ax-6 1969  ax-7 2010  ax-8 2116  ax-9 2124  ax-10 2147  ax-11 2163  ax-12 2185  ax-ext 2708  ax-sep 5231  ax-nul 5241  ax-pr 5375  ax-un 7689
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-3or 1088  df-3an 1089  df-tru 1545  df-fal 1555  df-ex 1782  df-nf 1786  df-sb 2069  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 3062  df-rab 3390  df-v 3431  df-dif 3892  df-un 3894  df-in 3896  df-ss 3906  df-pss 3909  df-nul 4274  df-if 4467  df-pw 4543  df-sn 4568  df-pr 4570  df-op 4574  df-uni 4851  df-br 5086  df-opab 5148  df-mpt 5167  df-tr 5193  df-id 5526  df-eprel 5531  df-po 5539  df-so 5540  df-fr 5584  df-we 5586  df-xp 5637  df-rel 5638  df-cnv 5639  df-co 5640  df-dm 5641  df-rn 5642  df-res 5643  df-ima 5644  df-pred 6265  df-ord 6326  df-on 6327  df-lim 6328  df-suc 6329  df-iota 6454  df-fun 6500  df-fn 6501  df-f 6502  df-fo 6504  df-fv 6506  df-ov 7370  df-2nd 7943  df-frecs 8231  df-wrecs 8262  df-recs 8311  df-rdg 8349
This theorem is referenced by:  dfrdg3  35976
  Copyright terms: Public domain W3C validator