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 35790
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 8383 . . 3 (𝑖 = 𝐼 → rec(𝐹, 𝑖) = rec(𝐹, 𝐼))
2 ifeq1 4495 . . . . . . . . 9 (𝑖 = 𝐼 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))
32eqeq2d 2741 . . . . . . . 8 (𝑖 = 𝐼 → ((𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))) ↔ (𝑓𝑦) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))))
43ralbidv 3157 . . . . . . 7 (𝑖 = 𝐼 → (∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))) ↔ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))))
54anbi2d 630 . . . . . 6 (𝑖 = 𝐼 → ((𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))) ↔ (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))))
65rexbidv 3158 . . . . 5 (𝑖 = 𝐼 → (∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))) ↔ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))))
76abbidv 2796 . . . 4 (𝑖 = 𝐼 → {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))} = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))})
87unieqd 4887 . . 3 (𝑖 = 𝐼 {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))} = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))})
91, 8eqeq12d 2746 . 2 (𝑖 = 𝐼 → (rec(𝐹, 𝑖) = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))} ↔ rec(𝐹, 𝐼) = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝐼, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))}))
10 df-rdg 8381 . . 3 rec(𝐹, 𝑖) = recs((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔))))))
11 dfrecs3 8344 . . 3 recs((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))) = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = ((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))‘(𝑓𝑦)))}
12 vex 3454 . . . . . . . . . . . . 13 𝑓 ∈ V
1312resex 6003 . . . . . . . . . . . 12 (𝑓𝑦) ∈ V
14 eqeq1 2734 . . . . . . . . . . . . . . 15 (𝑔 = (𝑓𝑦) → (𝑔 = ∅ ↔ (𝑓𝑦) = ∅))
15 relres 5979 . . . . . . . . . . . . . . . 16 Rel (𝑓𝑦)
16 reldm0 5894 . . . . . . . . . . . . . . . 16 (Rel (𝑓𝑦) → ((𝑓𝑦) = ∅ ↔ dom (𝑓𝑦) = ∅))
1715, 16ax-mp 5 . . . . . . . . . . . . . . 15 ((𝑓𝑦) = ∅ ↔ dom (𝑓𝑦) = ∅)
1814, 17bitrdi 287 . . . . . . . . . . . . . 14 (𝑔 = (𝑓𝑦) → (𝑔 = ∅ ↔ dom (𝑓𝑦) = ∅))
19 dmeq 5870 . . . . . . . . . . . . . . . 16 (𝑔 = (𝑓𝑦) → dom 𝑔 = dom (𝑓𝑦))
20 limeq 6347 . . . . . . . . . . . . . . . 16 (dom 𝑔 = dom (𝑓𝑦) → (Lim dom 𝑔 ↔ Lim dom (𝑓𝑦)))
2119, 20syl 17 . . . . . . . . . . . . . . 15 (𝑔 = (𝑓𝑦) → (Lim dom 𝑔 ↔ Lim dom (𝑓𝑦)))
22 rneq 5903 . . . . . . . . . . . . . . . . 17 (𝑔 = (𝑓𝑦) → ran 𝑔 = ran (𝑓𝑦))
23 df-ima 5654 . . . . . . . . . . . . . . . . 17 (𝑓𝑦) = ran (𝑓𝑦)
2422, 23eqtr4di 2783 . . . . . . . . . . . . . . . 16 (𝑔 = (𝑓𝑦) → ran 𝑔 = (𝑓𝑦))
2524unieqd 4887 . . . . . . . . . . . . . . 15 (𝑔 = (𝑓𝑦) → ran 𝑔 = (𝑓𝑦))
26 id 22 . . . . . . . . . . . . . . . . 17 (𝑔 = (𝑓𝑦) → 𝑔 = (𝑓𝑦))
2719unieqd 4887 . . . . . . . . . . . . . . . . 17 (𝑔 = (𝑓𝑦) → dom 𝑔 = dom (𝑓𝑦))
2826, 27fveq12d 6868 . . . . . . . . . . . . . . . 16 (𝑔 = (𝑓𝑦) → (𝑔 dom 𝑔) = ((𝑓𝑦)‘ dom (𝑓𝑦)))
2928fveq2d 6865 . . . . . . . . . . . . . . 15 (𝑔 = (𝑓𝑦) → (𝐹‘(𝑔 dom 𝑔)) = (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦))))
3021, 25, 29ifbieq12d 4520 . . . . . . . . . . . . . 14 (𝑔 = (𝑓𝑦) → if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔))) = if(Lim dom (𝑓𝑦), (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦)))))
3118, 30ifbieq2d 4518 . . . . . . . . . . . . 13 (𝑔 = (𝑓𝑦) → if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))) = if(dom (𝑓𝑦) = ∅, 𝑖, if(Lim dom (𝑓𝑦), (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦))))))
32 eqid 2730 . . . . . . . . . . . . 13 (𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔))))) = (𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))
33 vex 3454 . . . . . . . . . . . . . 14 𝑖 ∈ V
34 imaexg 7892 . . . . . . . . . . . . . . . . 17 (𝑓 ∈ V → (𝑓𝑦) ∈ V)
3512, 34ax-mp 5 . . . . . . . . . . . . . . . 16 (𝑓𝑦) ∈ V
3635uniex 7720 . . . . . . . . . . . . . . 15 (𝑓𝑦) ∈ V
37 fvex 6874 . . . . . . . . . . . . . . 15 (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦))) ∈ V
3836, 37ifex 4542 . . . . . . . . . . . . . 14 if(Lim dom (𝑓𝑦), (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦)))) ∈ V
3933, 38ifex 4542 . . . . . . . . . . . . 13 if(dom (𝑓𝑦) = ∅, 𝑖, if(Lim dom (𝑓𝑦), (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦))))) ∈ V
4031, 32, 39fvmpt 6971 . . . . . . . . . . . 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 5986 . . . . . . . . . . . . 13 dom (𝑓𝑦) = (𝑦 ∩ dom 𝑓)
43 onelss 6377 . . . . . . . . . . . . . . . . 17 (𝑥 ∈ On → (𝑦𝑥𝑦𝑥))
4443imp 406 . . . . . . . . . . . . . . . 16 ((𝑥 ∈ On ∧ 𝑦𝑥) → 𝑦𝑥)
45443adant2 1131 . . . . . . . . . . . . . . 15 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → 𝑦𝑥)
46 fndm 6624 . . . . . . . . . . . . . . . 16 (𝑓 Fn 𝑥 → dom 𝑓 = 𝑥)
47463ad2ant2 1134 . . . . . . . . . . . . . . 15 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → dom 𝑓 = 𝑥)
4845, 47sseqtrrd 3987 . . . . . . . . . . . . . 14 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → 𝑦 ⊆ dom 𝑓)
49 dfss2 3935 . . . . . . . . . . . . . 14 (𝑦 ⊆ dom 𝑓 ↔ (𝑦 ∩ dom 𝑓) = 𝑦)
5048, 49sylib 218 . . . . . . . . . . . . 13 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → (𝑦 ∩ dom 𝑓) = 𝑦)
5142, 50eqtrid 2777 . . . . . . . . . . . 12 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → dom (𝑓𝑦) = 𝑦)
52 eqeq1 2734 . . . . . . . . . . . . . 14 (dom (𝑓𝑦) = 𝑦 → (dom (𝑓𝑦) = ∅ ↔ 𝑦 = ∅))
53 limeq 6347 . . . . . . . . . . . . . . 15 (dom (𝑓𝑦) = 𝑦 → (Lim dom (𝑓𝑦) ↔ Lim 𝑦))
54 unieq 4885 . . . . . . . . . . . . . . . . 17 (dom (𝑓𝑦) = 𝑦 dom (𝑓𝑦) = 𝑦)
5554fveq2d 6865 . . . . . . . . . . . . . . . 16 (dom (𝑓𝑦) = 𝑦 → ((𝑓𝑦)‘ dom (𝑓𝑦)) = ((𝑓𝑦)‘ 𝑦))
5655fveq2d 6865 . . . . . . . . . . . . . . 15 (dom (𝑓𝑦) = 𝑦 → (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦))) = (𝐹‘((𝑓𝑦)‘ 𝑦)))
5753, 56ifbieq2d 4518 . . . . . . . . . . . . . 14 (dom (𝑓𝑦) = 𝑦 → if(Lim dom (𝑓𝑦), (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦)))) = if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦))))
5852, 57ifbieq2d 4518 . . . . . . . . . . . . 13 (dom (𝑓𝑦) = 𝑦 → if(dom (𝑓𝑦) = ∅, 𝑖, if(Lim dom (𝑓𝑦), (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ dom (𝑓𝑦))))) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))))
59 onelon 6360 . . . . . . . . . . . . . . . 16 ((𝑥 ∈ On ∧ 𝑦𝑥) → 𝑦 ∈ On)
60 eloni 6345 . . . . . . . . . . . . . . . 16 (𝑦 ∈ On → Ord 𝑦)
6159, 60syl 17 . . . . . . . . . . . . . . 15 ((𝑥 ∈ On ∧ 𝑦𝑥) → Ord 𝑦)
62613adant2 1131 . . . . . . . . . . . . . 14 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → Ord 𝑦)
63 ordzsl 7824 . . . . . . . . . . . . . . 15 (Ord 𝑦 ↔ (𝑦 = ∅ ∨ ∃𝑧 ∈ On 𝑦 = suc 𝑧 ∨ Lim 𝑦))
64 iftrue 4497 . . . . . . . . . . . . . . . . 17 (𝑦 = ∅ → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = 𝑖)
65 iftrue 4497 . . . . . . . . . . . . . . . . 17 (𝑦 = ∅ → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))) = 𝑖)
6664, 65eqtr4d 2768 . . . . . . . . . . . . . . . 16 (𝑦 = ∅ → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))
67 vex 3454 . . . . . . . . . . . . . . . . . . . . . . 23 𝑧 ∈ V
6867sucid 6419 . . . . . . . . . . . . . . . . . . . . . 22 𝑧 ∈ suc 𝑧
69 fvres 6880 . . . . . . . . . . . . . . . . . . . . . 22 (𝑧 ∈ suc 𝑧 → ((𝑓 ↾ suc 𝑧)‘𝑧) = (𝑓𝑧))
7068, 69ax-mp 5 . . . . . . . . . . . . . . . . . . . . 21 ((𝑓 ↾ suc 𝑧)‘𝑧) = (𝑓𝑧)
71 eloni 6345 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑧 ∈ On → Ord 𝑧)
72 ordunisuc 7810 . . . . . . . . . . . . . . . . . . . . . . 23 (Ord 𝑧 suc 𝑧 = 𝑧)
7371, 72syl 17 . . . . . . . . . . . . . . . . . . . . . 22 (𝑧 ∈ On → suc 𝑧 = 𝑧)
7473fveq2d 6865 . . . . . . . . . . . . . . . . . . . . 21 (𝑧 ∈ On → ((𝑓 ↾ suc 𝑧)‘ suc 𝑧) = ((𝑓 ↾ suc 𝑧)‘𝑧))
7573fveq2d 6865 . . . . . . . . . . . . . . . . . . . . 21 (𝑧 ∈ On → (𝑓 suc 𝑧) = (𝑓𝑧))
7670, 74, 753eqtr4a 2791 . . . . . . . . . . . . . . . . . . . 20 (𝑧 ∈ On → ((𝑓 ↾ suc 𝑧)‘ suc 𝑧) = (𝑓 suc 𝑧))
7776fveq2d 6865 . . . . . . . . . . . . . . . . . . 19 (𝑧 ∈ On → (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)) = (𝐹‘(𝑓 suc 𝑧)))
78 nsuceq0 6420 . . . . . . . . . . . . . . . . . . . . . 22 suc 𝑧 ≠ ∅
7978neii 2928 . . . . . . . . . . . . . . . . . . . . 21 ¬ suc 𝑧 = ∅
8079iffalsei 4501 . . . . . . . . . . . . . . . . . . . 20 if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)))) = if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)))
81 nlimsucg 7821 . . . . . . . . . . . . . . . . . . . . 21 (𝑧 ∈ V → ¬ Lim suc 𝑧)
82 iffalse 4500 . . . . . . . . . . . . . . . . . . . . 21 (¬ Lim suc 𝑧 → if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧))) = (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)))
8367, 81, 82mp2b 10 . . . . . . . . . . . . . . . . . . . 20 if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧))) = (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧))
8480, 83eqtri 2753 . . . . . . . . . . . . . . . . . . 19 if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)))) = (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧))
8579iffalsei 4501 . . . . . . . . . . . . . . . . . . . 20 if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘(𝑓 suc 𝑧)))) = if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘(𝑓 suc 𝑧)))
86 iffalse 4500 . . . . . . . . . . . . . . . . . . . . 21 (¬ Lim suc 𝑧 → if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘(𝑓 suc 𝑧))) = (𝐹‘(𝑓 suc 𝑧)))
8767, 81, 86mp2b 10 . . . . . . . . . . . . . . . . . . . 20 if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘(𝑓 suc 𝑧))) = (𝐹‘(𝑓 suc 𝑧))
8885, 87eqtri 2753 . . . . . . . . . . . . . . . . . . 19 if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘(𝑓 suc 𝑧)))) = (𝐹‘(𝑓 suc 𝑧))
8977, 84, 883eqtr4g 2790 . . . . . . . . . . . . . . . . . 18 (𝑧 ∈ On → if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)))) = if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘(𝑓 suc 𝑧)))))
90 eqeq1 2734 . . . . . . . . . . . . . . . . . . . 20 (𝑦 = suc 𝑧 → (𝑦 = ∅ ↔ suc 𝑧 = ∅))
91 limeq 6347 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 = suc 𝑧 → (Lim 𝑦 ↔ Lim suc 𝑧))
92 reseq2 5948 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑦 = suc 𝑧 → (𝑓𝑦) = (𝑓 ↾ suc 𝑧))
93 unieq 4885 . . . . . . . . . . . . . . . . . . . . . . 23 (𝑦 = suc 𝑧 𝑦 = suc 𝑧)
9492, 93fveq12d 6868 . . . . . . . . . . . . . . . . . . . . . 22 (𝑦 = suc 𝑧 → ((𝑓𝑦)‘ 𝑦) = ((𝑓 ↾ suc 𝑧)‘ suc 𝑧))
9594fveq2d 6865 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 = suc 𝑧 → (𝐹‘((𝑓𝑦)‘ 𝑦)) = (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)))
9691, 95ifbieq2d 4518 . . . . . . . . . . . . . . . . . . . 20 (𝑦 = suc 𝑧 → if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦))) = if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧))))
9790, 96ifbieq2d 4518 . . . . . . . . . . . . . . . . . . 19 (𝑦 = suc 𝑧 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘((𝑓 ↾ suc 𝑧)‘ suc 𝑧)))))
9893fveq2d 6865 . . . . . . . . . . . . . . . . . . . . . 22 (𝑦 = suc 𝑧 → (𝑓 𝑦) = (𝑓 suc 𝑧))
9998fveq2d 6865 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 = suc 𝑧 → (𝐹‘(𝑓 𝑦)) = (𝐹‘(𝑓 suc 𝑧)))
10091, 99ifbieq2d 4518 . . . . . . . . . . . . . . . . . . . 20 (𝑦 = suc 𝑧 → if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))) = if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘(𝑓 suc 𝑧))))
10190, 100ifbieq2d 4518 . . . . . . . . . . . . . . . . . . 19 (𝑦 = suc 𝑧 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))) = if(suc 𝑧 = ∅, 𝑖, if(Lim suc 𝑧, (𝑓𝑦), (𝐹‘(𝑓 suc 𝑧)))))
10297, 101eqeq12d 2746 . . . . . . . . . . . . . . . . . 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 3128 . . . . . . . . . . . . . . . 16 (∃𝑧 ∈ On 𝑦 = suc 𝑧 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))
105 iftrue 4497 . . . . . . . . . . . . . . . . . 18 (Lim 𝑦 → if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦))) = (𝑓𝑦))
106 df-lim 6340 . . . . . . . . . . . . . . . . . . . . 21 (Lim 𝑦 ↔ (Ord 𝑦𝑦 ≠ ∅ ∧ 𝑦 = 𝑦))
107106simp2bi 1146 . . . . . . . . . . . . . . . . . . . 20 (Lim 𝑦𝑦 ≠ ∅)
108107neneqd 2931 . . . . . . . . . . . . . . . . . . 19 (Lim 𝑦 → ¬ 𝑦 = ∅)
109108iffalsed 4502 . . . . . . . . . . . . . . . . . 18 (Lim 𝑦 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦))))
110 iftrue 4497 . . . . . . . . . . . . . . . . . 18 (Lim 𝑦 → if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))) = (𝑓𝑦))
111105, 109, 1103eqtr4d 2775 . . . . . . . . . . . . . . . . 17 (Lim 𝑦 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘((𝑓𝑦)‘ 𝑦)))) = if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))
112108iffalsed 4502 . . . . . . . . . . . . . . . . 17 (Lim 𝑦 → if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))) = if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))
113111, 112eqtr4d 2768 . . . . . . . . . . . . . . . 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 2787 . . . . . . . . . . . 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 2777 . . . . . . . . . 10 ((𝑥 ∈ On ∧ 𝑓 Fn 𝑥𝑦𝑥) → ((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))‘(𝑓𝑦)) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))
120119eqeq2d 2741 . . . . . . . . 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 3155 . . . . . . 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 3075 . . . . 5 (∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = ((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))‘(𝑓𝑦))) ↔ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦))))))
125124abbii 2797 . . . 4 {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = ((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))‘(𝑓𝑦)))} = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))}
126125unieqi 4886 . . 3 {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = ((𝑔 ∈ V ↦ if(𝑔 = ∅, 𝑖, if(Lim dom 𝑔, ran 𝑔, (𝐹‘(𝑔 dom 𝑔)))))‘(𝑓𝑦)))} = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))}
12710, 11, 1263eqtri 2757 . 2 rec(𝐹, 𝑖) = {𝑓 ∣ ∃𝑥 ∈ On (𝑓 Fn 𝑥 ∧ ∀𝑦𝑥 (𝑓𝑦) = if(𝑦 = ∅, 𝑖, if(Lim 𝑦, (𝑓𝑦), (𝐹‘(𝑓 𝑦)))))}
1289, 127vtoclg 3523 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 1540  wcel 2109  {cab 2708  wne 2926  wral 3045  wrex 3054  Vcvv 3450  cin 3916  wss 3917  c0 4299  ifcif 4491   cuni 4874  cmpt 5191  dom cdm 5641  ran crn 5642  cres 5643  cima 5644  Rel wrel 5646  Ord word 6334  Oncon0 6335  Lim wlim 6336  suc csuc 6337   Fn wfn 6509  cfv 6514  recscrecs 8342  reccrdg 8380
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1910  ax-6 1967  ax-7 2008  ax-8 2111  ax-9 2119  ax-10 2142  ax-11 2158  ax-12 2178  ax-ext 2702  ax-sep 5254  ax-nul 5264  ax-pr 5390  ax-un 7714
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2066  df-mo 2534  df-eu 2563  df-clab 2709  df-cleq 2722  df-clel 2804  df-nfc 2879  df-ne 2927  df-ral 3046  df-rex 3055  df-rab 3409  df-v 3452  df-dif 3920  df-un 3922  df-in 3924  df-ss 3934  df-pss 3937  df-nul 4300  df-if 4492  df-pw 4568  df-sn 4593  df-pr 4595  df-op 4599  df-uni 4875  df-br 5111  df-opab 5173  df-mpt 5192  df-tr 5218  df-id 5536  df-eprel 5541  df-po 5549  df-so 5550  df-fr 5594  df-we 5596  df-xp 5647  df-rel 5648  df-cnv 5649  df-co 5650  df-dm 5651  df-rn 5652  df-res 5653  df-ima 5654  df-pred 6277  df-ord 6338  df-on 6339  df-lim 6340  df-suc 6341  df-iota 6467  df-fun 6516  df-fn 6517  df-f 6518  df-fo 6520  df-fv 6522  df-ov 7393  df-2nd 7972  df-frecs 8263  df-wrecs 8294  df-recs 8343  df-rdg 8381
This theorem is referenced by:  dfrdg3  35791
  Copyright terms: Public domain W3C validator