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 33767
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 8234 . . 3 (𝑖 = 𝐼 → rec(𝐹, 𝑖) = rec(𝐹, 𝐼))
2 ifeq1 4469 . . . . . . . . 9 (𝑖 = 𝐼 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))
32eqeq2d 2751 . . . . . . . 8 (𝑖 = 𝐼 → ((𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))) ↔ (𝑓𝑦) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))))
43ralbidv 3123 . . . . . . 7 (𝑖 = 𝐼 → (∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))) ↔ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))))
54anbi2d 629 . . . . . 6 (𝑖 = 𝐼 → ((𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))) ↔ (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))))
65rexbidv 3228 . . . . 5 (𝑖 = 𝐼 → (∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))) ↔ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))))
76abbidv 2809 . . . 4 (𝑖 = 𝐼 → {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))} = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))})
87unieqd 4859 . . 3 (𝑖 = 𝐼 {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))} = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))})
91, 8eqeq12d 2756 . 2 (𝑖 = 𝐼 → (rec(𝐹, 𝑖) = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))} ↔ rec(𝐹, 𝐼) = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))}))
10 df-rdg 8232 . . 3 rec(𝐹, 𝑖) = recs((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔))))))
11 dfrecs3 8194 . . 3 recs((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))) = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = ((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))‘(𝑓𝑦)))}
12 vex 3435 . . . . . . . . . . . . 13 𝑓 ∈ V
1312resex 5938 . . . . . . . . . . . 12 (𝑓𝑦) ∈ V
14 eqeq1 2744 . . . . . . . . . . . . . . 15 (𝑔 = (𝑓𝑦) → (𝑔 = ∅ ↔ (𝑓𝑦) = ∅))
15 relres 5919 . . . . . . . . . . . . . . . 16 Rel (𝑓𝑦)
16 reldm0 5836 . . . . . . . . . . . . . . . 16 (Rel (𝑓𝑦) → ((𝑓𝑦) = ∅ ↔ dom (𝑓𝑦) = ∅))
1715, 16ax-mp 5 . . . . . . . . . . . . . . 15 ((𝑓𝑦) = ∅ ↔ dom (𝑓𝑦) = ∅)
1814, 17bitrdi 287 . . . . . . . . . . . . . 14 (𝑔 = (𝑓𝑦) → (𝑔 = ∅ ↔ dom (𝑓𝑦) = ∅))
19 dmeq 5811 . . . . . . . . . . . . . . . 16 (𝑔 = (𝑓𝑦) → dom 𝑔 = dom (𝑓𝑦))
20 limeq 6277 . . . . . . . . . . . . . . . 16 (dom 𝑔 = dom (𝑓𝑦) → (Lim dom 𝑔 ↔ Lim dom (𝑓𝑦)))
2119, 20syl 17 . . . . . . . . . . . . . . 15 (𝑔 = (𝑓𝑦) → (Lim dom 𝑔 ↔ Lim dom (𝑓𝑦)))
22 rneq 5844 . . . . . . . . . . . . . . . . 17 (𝑔 = (𝑓𝑦) → ran 𝑔 = ran (𝑓𝑦))
23 df-ima 5603 . . . . . . . . . . . . . . . . 17 (𝑓𝑦) = ran (𝑓𝑦)
2422, 23eqtr4di 2798 . . . . . . . . . . . . . . . 16 (𝑔 = (𝑓𝑦) → ran 𝑔 = (𝑓𝑦))
2524unieqd 4859 . . . . . . . . . . . . . . 15 (𝑔 = (𝑓𝑦) → ran 𝑔 = (𝑓𝑦))
26 id 22 . . . . . . . . . . . . . . . . 17 (𝑔 = (𝑓𝑦) → 𝑔 = (𝑓𝑦))
2719unieqd 4859 . . . . . . . . . . . . . . . . 17 (𝑔 = (𝑓𝑦) → dom 𝑔 = dom (𝑓𝑦))
2826, 27fveq12d 6778 . . . . . . . . . . . . . . . 16 (𝑔 = (𝑓𝑦) → (𝑔 dom 𝑔) = ((𝑓𝑦)‘ dom (𝑓𝑦)))
2928fveq2d 6775 . . . . . . . . . . . . . . 15 (𝑔 = (𝑓𝑦) → (𝐹‘(𝑔 dom 𝑔)) = (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦))))
3021, 25, 29ifbieq12d 4493 . . . . . . . . . . . . . 14 (𝑔 = (𝑓𝑦) → if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔))) = if(Lim dom (𝑓𝑦), (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦)))))
3118, 30ifbieq2d 4491 . . . . . . . . . . . . 13 (𝑔 = (𝑓𝑦) → if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))) = if(dom (𝑓𝑦) = ∅, 𝑖, if(Lim dom (𝑓𝑦), (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦))))))
32 eqid 2740 . . . . . . . . . . . . 13 (𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔))))) = (𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))
33 vex 3435 . . . . . . . . . . . . . 14 𝑖 ∈ V
34 imaexg 7756 . . . . . . . . . . . . . . . . 17 (𝑓 ∈ V → (𝑓𝑦) ∈ V)
3512, 34ax-mp 5 . . . . . . . . . . . . . . . 16 (𝑓𝑦) ∈ V
3635uniex 7588 . . . . . . . . . . . . . . 15 (𝑓𝑦) ∈ V
37 fvex 6784 . . . . . . . . . . . . . . 15 (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦))) ∈ V
3836, 37ifex 4515 . . . . . . . . . . . . . 14 if(Lim dom (𝑓𝑦), (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦)))) ∈ V
3933, 38ifex 4515 . . . . . . . . . . . . 13 if(dom (𝑓𝑦) = ∅, 𝑖, if(Lim dom (𝑓𝑦), (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦))))) ∈ V
4031, 32, 39fvmpt 6872 . . . . . . . . . . . 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 5912 . . . . . . . . . . . . 13 dom (𝑓𝑦) = (𝑦 ∩ dom 𝑓)
43 onelss 6307 . . . . . . . . . . . . . . . . 17 (𝑥 ∈ On → (𝑦𝑥𝑦𝑥))
4443imp 407 . . . . . . . . . . . . . . . 16 ((𝑥 ∈ On ∧ 𝑦𝑥) → 𝑦𝑥)
45443adant2 1130 . . . . . . . . . . . . . . 15 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → 𝑦𝑥)
46 fndm 6534 . . . . . . . . . . . . . . . 16 (𝑓 Fn 𝑥 → dom 𝑓 = 𝑥)
47463ad2ant2 1133 . . . . . . . . . . . . . . 15 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → dom 𝑓 = 𝑥)
4845, 47sseqtrrd 3967 . . . . . . . . . . . . . 14 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → 𝑦 ⊆ dom 𝑓)
49 df-ss 3909 . . . . . . . . . . . . . 14 (𝑦 ⊆ dom 𝑓 ↔ (𝑦 ∩ dom 𝑓) = 𝑦)
5048, 49sylib 217 . . . . . . . . . . . . 13 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → (𝑦 ∩ dom 𝑓) = 𝑦)
5142, 50eqtrid 2792 . . . . . . . . . . . 12 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → dom (𝑓𝑦) = 𝑦)
52 eqeq1 2744 . . . . . . . . . . . . . 14 (dom (𝑓𝑦) = 𝑦 → (dom (𝑓𝑦) = ∅ ↔ 𝑦 = ∅))
53 limeq 6277 . . . . . . . . . . . . . . 15 (dom (𝑓𝑦) = 𝑦 → (Lim dom (𝑓𝑦) ↔ Lim 𝑦))
54 unieq 4856 . . . . . . . . . . . . . . . . 17 (dom (𝑓𝑦) = 𝑦 dom (𝑓𝑦) = 𝑦)
5554fveq2d 6775 . . . . . . . . . . . . . . . 16 (dom (𝑓𝑦) = 𝑦 → ((𝑓𝑦)‘ dom (𝑓𝑦)) = ((𝑓𝑦)‘ 𝑦))
5655fveq2d 6775 . . . . . . . . . . . . . . 15 (dom (𝑓𝑦) = 𝑦 → (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦))) = (𝐹‘((𝑓𝑦)‘ 𝑦)))
5753, 56ifbieq2d 4491 . . . . . . . . . . . . . 14 (dom (𝑓𝑦) = 𝑦 → if(Lim dom (𝑓𝑦), (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦)))) = if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦))))
5852, 57ifbieq2d 4491 . . . . . . . . . . . . 13 (dom (𝑓𝑦) = 𝑦 → if(dom (𝑓𝑦) = ∅, 𝑖, if(Lim dom (𝑓𝑦), (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦))))) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))))
59 onelon 6290 . . . . . . . . . . . . . . . 16 ((𝑥 ∈ On ∧ 𝑦𝑥) → 𝑦 ∈ On)
60 eloni 6275 . . . . . . . . . . . . . . . 16 (𝑦 ∈ On → Ord 𝑦)
6159, 60syl 17 . . . . . . . . . . . . . . 15 ((𝑥 ∈ On ∧ 𝑦𝑥) → Ord 𝑦)
62613adant2 1130 . . . . . . . . . . . . . 14 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → Ord 𝑦)
63 ordzsl 7686 . . . . . . . . . . . . . . 15 (Ord 𝑦 ↔ (𝑦 = ∅ ∨ ∃𝑧 ∈ On 𝑦 = suc 𝑧 ∨ Lim 𝑦))
64 iftrue 4471 . . . . . . . . . . . . . . . . 17 (𝑦 = ∅ → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = 𝑖)
65 iftrue 4471 . . . . . . . . . . . . . . . . 17 (𝑦 = ∅ → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))) = 𝑖)
6664, 65eqtr4d 2783 . . . . . . . . . . . . . . . 16 (𝑦 = ∅ → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))
67 vex 3435 . . . . . . . . . . . . . . . . . . . . . . 23 𝑧 ∈ V
6867sucid 6344 . . . . . . . . . . . . . . . . . . . . . 22 𝑧 ∈ suc 𝑧
69 fvres 6790 . . . . . . . . . . . . . . . . . . . . . 22 (𝑧 ∈ suc 𝑧 → ((𝑓 ↾ suc 𝑧)‘𝑧) = (𝑓𝑧))
7068, 69ax-mp 5 . . . . . . . . . . . . . . . . . . . . 21 ((𝑓 ↾ suc 𝑧)‘𝑧) = (𝑓𝑧)
71 eloni 6275 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑧 ∈ On → Ord 𝑧)
72 ordunisuc 7673 . . . . . . . . . . . . . . . . . . . . . . 23 (Ord 𝑧 suc 𝑧 = 𝑧)
7371, 72syl 17 . . . . . . . . . . . . . . . . . . . . . 22 (𝑧 ∈ On → suc 𝑧 = 𝑧)
7473fveq2d 6775 . . . . . . . . . . . . . . . . . . . . 21 (𝑧 ∈ On → ((𝑓 ↾ suc 𝑧)‘ suc 𝑧) = ((𝑓 ↾ suc 𝑧)‘𝑧))
7573fveq2d 6775 . . . . . . . . . . . . . . . . . . . . 21 (𝑧 ∈ On → (𝑓 suc 𝑧) = (𝑓𝑧))
7670, 74, 753eqtr4a 2806 . . . . . . . . . . . . . . . . . . . 20 (𝑧 ∈ On → ((𝑓 ↾ suc 𝑧)‘ suc 𝑧) = (𝑓 suc 𝑧))
7776fveq2d 6775 . . . . . . . . . . . . . . . . . . 19 (𝑧 ∈ On → (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)) = (𝐹‘(𝑓 suc 𝑧)))
78 nsuceq0 6345 . . . . . . . . . . . . . . . . . . . . . 22 suc 𝑧 ≠ ∅
7978neii 2947 . . . . . . . . . . . . . . . . . . . . 21 ¬ suc 𝑧 = ∅
8079iffalsei 4475 . . . . . . . . . . . . . . . . . . . 20 if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)))) = if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)))
81 nlimsucg 7683 . . . . . . . . . . . . . . . . . . . . 21 (𝑧 ∈ V → ¬ Lim suc 𝑧)
82 iffalse 4474 . . . . . . . . . . . . . . . . . . . . 21 (¬ Lim suc 𝑧 → if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧))) = (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)))
8367, 81, 82mp2b 10 . . . . . . . . . . . . . . . . . . . 20 if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧))) = (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧))
8480, 83eqtri 2768 . . . . . . . . . . . . . . . . . . 19 if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)))) = (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧))
8579iffalsei 4475 . . . . . . . . . . . . . . . . . . . 20 if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘(𝑓 suc 𝑧)))) = if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘(𝑓 suc 𝑧)))
86 iffalse 4474 . . . . . . . . . . . . . . . . . . . . 21 (¬ Lim suc 𝑧 → if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘(𝑓 suc 𝑧))) = (𝐹‘(𝑓 suc 𝑧)))
8767, 81, 86mp2b 10 . . . . . . . . . . . . . . . . . . . 20 if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘(𝑓 suc 𝑧))) = (𝐹‘(𝑓 suc 𝑧))
8885, 87eqtri 2768 . . . . . . . . . . . . . . . . . . 19 if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘(𝑓 suc 𝑧)))) = (𝐹‘(𝑓 suc 𝑧))
8977, 84, 883eqtr4g 2805 . . . . . . . . . . . . . . . . . 18 (𝑧 ∈ On → if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)))) = if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘(𝑓 suc 𝑧)))))
90 eqeq1 2744 . . . . . . . . . . . . . . . . . . . 20 (𝑦 = suc 𝑧 → (𝑦 = ∅ ↔ suc 𝑧 = ∅))
91 limeq 6277 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 = suc 𝑧 → (Lim 𝑦 ↔ Lim suc 𝑧))
92 reseq2 5885 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑦 = suc 𝑧 → (𝑓𝑦) = (𝑓 ↾ suc 𝑧))
93 unieq 4856 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑦 = suc 𝑧 𝑦 = suc 𝑧)
9492, 93fveq12d 6778 . . . . . . . . . . . . . . . . . . . . . 22 (𝑦 = suc 𝑧 → ((𝑓𝑦)‘ 𝑦) = ((𝑓 ↾ suc 𝑧)‘ suc 𝑧))
9594fveq2d 6775 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 = suc 𝑧 → (𝐹‘((𝑓𝑦)‘ 𝑦)) = (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)))
9691, 95ifbieq2d 4491 . . . . . . . . . . . . . . . . . . . 20 (𝑦 = suc 𝑧 → if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦))) = if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧))))
9790, 96ifbieq2d 4491 . . . . . . . . . . . . . . . . . . 19 (𝑦 = suc 𝑧 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)))))
9893fveq2d 6775 . . . . . . . . . . . . . . . . . . . . . 22 (𝑦 = suc 𝑧 → (𝑓 𝑦) = (𝑓 suc 𝑧))
9998fveq2d 6775 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 = suc 𝑧 → (𝐹‘(𝑓 𝑦)) = (𝐹‘(𝑓 suc 𝑧)))
10091, 99ifbieq2d 4491 . . . . . . . . . . . . . . . . . . . 20 (𝑦 = suc 𝑧 → if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))) = if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘(𝑓 suc 𝑧))))
10190, 100ifbieq2d 4491 . . . . . . . . . . . . . . . . . . 19 (𝑦 = suc 𝑧 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))) = if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘(𝑓 suc 𝑧)))))
10297, 101eqeq12d 2756 . . . . . . . . . . . . . . . . . 18 (𝑦 = suc 𝑧 → (if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))) ↔ if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)))) = if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘(𝑓 suc 𝑧))))))
10389, 102syl5ibrcom 246 . . . . . . . . . . . . . . . . 17 (𝑧 ∈ On → (𝑦 = suc 𝑧 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))))
104103rexlimiv 3211 . . . . . . . . . . . . . . . 16 (∃𝑧 ∈ On 𝑦 = suc 𝑧 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))
105 iftrue 4471 . . . . . . . . . . . . . . . . . 18 (Lim 𝑦 → if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦))) = (𝑓𝑦))
106 df-lim 6270 . . . . . . . . . . . . . . . . . . . . 21 (Lim 𝑦 ↔ (Ord 𝑦𝑦 ≠ ∅ ∧ 𝑦 = 𝑦))
107106simp2bi 1145 . . . . . . . . . . . . . . . . . . . 20 (Lim 𝑦𝑦 ≠ ∅)
108107neneqd 2950 . . . . . . . . . . . . . . . . . . 19 (Lim 𝑦 → ¬ 𝑦 = ∅)
109108iffalsed 4476 . . . . . . . . . . . . . . . . . 18 (Lim 𝑦 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦))))
110 iftrue 4471 . . . . . . . . . . . . . . . . . 18 (Lim 𝑦 → if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))) = (𝑓𝑦))
111105, 109, 1103eqtr4d 2790 . . . . . . . . . . . . . . . . 17 (Lim 𝑦 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))
112108iffalsed 4476 . . . . . . . . . . . . . . . . 17 (Lim 𝑦 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))) = if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))
113111, 112eqtr4d 2783 . . . . . . . . . . . . . . . 16 (Lim 𝑦 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))
11466, 104, 1133jaoi 1426 . . . . . . . . . . . . . . 15 ((𝑦 = ∅ ∨ ∃𝑧 ∈ On 𝑦 = suc 𝑧 ∨ Lim 𝑦) → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))
11563, 114sylbi 216 . . . . . . . . . . . . . 14 (Ord 𝑦 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))
11662, 115syl 17 . . . . . . . . . . . . 13 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))
11758, 116sylan9eqr 2802 . . . . . . . . . . . 12 (((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) ∧ dom (𝑓𝑦) = 𝑦) → if(dom (𝑓𝑦) = ∅, 𝑖, if(Lim dom (𝑓𝑦), (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦))))) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))
11851, 117mpdan 684 . . . . . . . . . . 11 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → if(dom (𝑓𝑦) = ∅, 𝑖, if(Lim dom (𝑓𝑦), (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦))))) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))
11941, 118eqtrid 2792 . . . . . . . . . 10 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → ((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))‘(𝑓𝑦)) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))
120119eqeq2d 2751 . . . . . . . . 9 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → ((𝑓𝑦) = ((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))‘(𝑓𝑦)) ↔ (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))))
1211203expa 1117 . . . . . . . 8 (((𝑥 ∈ On ∧ 𝑓 Fn 𝑥) ∧ 𝑦𝑥) → ((𝑓𝑦) = ((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))‘(𝑓𝑦)) ↔ (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))))
122121ralbidva 3122 . . . . . . 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 3179 . . . . 5 (∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = ((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))‘(𝑓𝑦))) ↔ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))))
125124abbii 2810 . . . 4 {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = ((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))‘(𝑓𝑦)))} = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))}
126125unieqi 4858 . . 3 {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = ((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))‘(𝑓𝑦)))} = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))}
12710, 11, 1263eqtri 2772 . 2 rec(𝐹, 𝑖) = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))}
1289, 127vtoclg 3504 1 (𝐼𝑉 → rec(𝐹, 𝐼) = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))})
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 205  wa 396  w3o 1085  w3a 1086   = wceq 1542  wcel 2110  {cab 2717  wne 2945  wral 3066  wrex 3067  Vcvv 3431  cin 3891  wss 3892  c0 4262  ifcif 4465   cuni 4845  cmpt 5162  dom cdm 5590  ran crn 5591  cres 5592  cima 5593  Rel wrel 5595  Ord word 6264  Oncon0 6265  Lim wlim 6266  suc csuc 6267   Fn wfn 6427  cfv 6432  recscrecs 8192  reccrdg 8231
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1802  ax-4 1816  ax-5 1917  ax-6 1975  ax-7 2015  ax-8 2112  ax-9 2120  ax-10 2141  ax-11 2158  ax-12 2175  ax-ext 2711  ax-sep 5227  ax-nul 5234  ax-pr 5356  ax-un 7582
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 845  df-3or 1087  df-3an 1088  df-tru 1545  df-fal 1555  df-ex 1787  df-nf 1791  df-sb 2072  df-mo 2542  df-eu 2571  df-clab 2718  df-cleq 2732  df-clel 2818  df-nfc 2891  df-ne 2946  df-ral 3071  df-rex 3072  df-rab 3075  df-v 3433  df-dif 3895  df-un 3897  df-in 3899  df-ss 3909  df-pss 3911  df-nul 4263  df-if 4466  df-pw 4541  df-sn 4568  df-pr 4570  df-op 4574  df-uni 4846  df-br 5080  df-opab 5142  df-mpt 5163  df-tr 5197  df-id 5490  df-eprel 5496  df-po 5504  df-so 5505  df-fr 5545  df-we 5547  df-xp 5596  df-rel 5597  df-cnv 5598  df-co 5599  df-dm 5600  df-rn 5601  df-res 5602  df-ima 5603  df-pred 6201  df-ord 6268  df-on 6269  df-lim 6270  df-suc 6271  df-iota 6390  df-fun 6434  df-fn 6435  df-f 6436  df-fo 6438  df-fv 6440  df-ov 7274  df-2nd 7825  df-frecs 8088  df-wrecs 8119  df-recs 8193  df-rdg 8232
This theorem is referenced by:  dfrdg3  33768
  Copyright terms: Public domain W3C validator