This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: The old definition of transfinite recursion. This version is preferred for development, as it demonstrates the properties of transfinite recursion without relying on well-ordered recursion. (Contributed by Scott Fenton, 3-Aug-2020) (Proof revised by Scott Fenton, 18-Nov-2024.)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | dfrecs3 | ⊢ recs ( 𝐹 ) = ∪ { 𝑓 ∣ ∃ 𝑥 ∈ On ( 𝑓 Fn 𝑥 ∧ ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝐹 ‘ ( 𝑓 ↾ 𝑦 ) ) ) } |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | df-recs | ⊢ recs ( 𝐹 ) = wrecs ( E , On , 𝐹 ) | |
| 2 | df-wrecs | ⊢ wrecs ( E , On , 𝐹 ) = frecs ( E , On , ( 𝐹 ∘ 2nd ) ) | |
| 3 | df-frecs | ⊢ frecs ( E , On , ( 𝐹 ∘ 2nd ) ) = ∪ { 𝑓 ∣ ∃ 𝑥 ( 𝑓 Fn 𝑥 ∧ ( 𝑥 ⊆ On ∧ ∀ 𝑦 ∈ 𝑥 Pred ( E , On , 𝑦 ) ⊆ 𝑥 ) ∧ ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝑦 ( 𝐹 ∘ 2nd ) ( 𝑓 ↾ Pred ( E , On , 𝑦 ) ) ) ) } | |
| 4 | 3anass | ⊢ ( ( 𝑓 Fn 𝑥 ∧ ( 𝑥 ⊆ On ∧ ∀ 𝑦 ∈ 𝑥 Pred ( E , On , 𝑦 ) ⊆ 𝑥 ) ∧ ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝑦 ( 𝐹 ∘ 2nd ) ( 𝑓 ↾ Pred ( E , On , 𝑦 ) ) ) ) ↔ ( 𝑓 Fn 𝑥 ∧ ( ( 𝑥 ⊆ On ∧ ∀ 𝑦 ∈ 𝑥 Pred ( E , On , 𝑦 ) ⊆ 𝑥 ) ∧ ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝑦 ( 𝐹 ∘ 2nd ) ( 𝑓 ↾ Pred ( E , On , 𝑦 ) ) ) ) ) ) | |
| 5 | vex | ⊢ 𝑥 ∈ V | |
| 6 | 5 | elon | ⊢ ( 𝑥 ∈ On ↔ Ord 𝑥 ) |
| 7 | ordsson | ⊢ ( Ord 𝑥 → 𝑥 ⊆ On ) | |
| 8 | ordtr | ⊢ ( Ord 𝑥 → Tr 𝑥 ) | |
| 9 | 7 8 | jca | ⊢ ( Ord 𝑥 → ( 𝑥 ⊆ On ∧ Tr 𝑥 ) ) |
| 10 | epweon | ⊢ E We On | |
| 11 | wess | ⊢ ( 𝑥 ⊆ On → ( E We On → E We 𝑥 ) ) | |
| 12 | 10 11 | mpi | ⊢ ( 𝑥 ⊆ On → E We 𝑥 ) |
| 13 | 12 | anim1ci | ⊢ ( ( 𝑥 ⊆ On ∧ Tr 𝑥 ) → ( Tr 𝑥 ∧ E We 𝑥 ) ) |
| 14 | df-ord | ⊢ ( Ord 𝑥 ↔ ( Tr 𝑥 ∧ E We 𝑥 ) ) | |
| 15 | 13 14 | sylibr | ⊢ ( ( 𝑥 ⊆ On ∧ Tr 𝑥 ) → Ord 𝑥 ) |
| 16 | 9 15 | impbii | ⊢ ( Ord 𝑥 ↔ ( 𝑥 ⊆ On ∧ Tr 𝑥 ) ) |
| 17 | dftr3 | ⊢ ( Tr 𝑥 ↔ ∀ 𝑦 ∈ 𝑥 𝑦 ⊆ 𝑥 ) | |
| 18 | ssel2 | ⊢ ( ( 𝑥 ⊆ On ∧ 𝑦 ∈ 𝑥 ) → 𝑦 ∈ On ) | |
| 19 | predon | ⊢ ( 𝑦 ∈ On → Pred ( E , On , 𝑦 ) = 𝑦 ) | |
| 20 | 19 | sseq1d | ⊢ ( 𝑦 ∈ On → ( Pred ( E , On , 𝑦 ) ⊆ 𝑥 ↔ 𝑦 ⊆ 𝑥 ) ) |
| 21 | 18 20 | syl | ⊢ ( ( 𝑥 ⊆ On ∧ 𝑦 ∈ 𝑥 ) → ( Pred ( E , On , 𝑦 ) ⊆ 𝑥 ↔ 𝑦 ⊆ 𝑥 ) ) |
| 22 | 21 | ralbidva | ⊢ ( 𝑥 ⊆ On → ( ∀ 𝑦 ∈ 𝑥 Pred ( E , On , 𝑦 ) ⊆ 𝑥 ↔ ∀ 𝑦 ∈ 𝑥 𝑦 ⊆ 𝑥 ) ) |
| 23 | 17 22 | bitr4id | ⊢ ( 𝑥 ⊆ On → ( Tr 𝑥 ↔ ∀ 𝑦 ∈ 𝑥 Pred ( E , On , 𝑦 ) ⊆ 𝑥 ) ) |
| 24 | 23 | pm5.32i | ⊢ ( ( 𝑥 ⊆ On ∧ Tr 𝑥 ) ↔ ( 𝑥 ⊆ On ∧ ∀ 𝑦 ∈ 𝑥 Pred ( E , On , 𝑦 ) ⊆ 𝑥 ) ) |
| 25 | 6 16 24 | 3bitri | ⊢ ( 𝑥 ∈ On ↔ ( 𝑥 ⊆ On ∧ ∀ 𝑦 ∈ 𝑥 Pred ( E , On , 𝑦 ) ⊆ 𝑥 ) ) |
| 26 | 25 | anbi1i | ⊢ ( ( 𝑥 ∈ On ∧ ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝑦 ( 𝐹 ∘ 2nd ) ( 𝑓 ↾ Pred ( E , On , 𝑦 ) ) ) ) ↔ ( ( 𝑥 ⊆ On ∧ ∀ 𝑦 ∈ 𝑥 Pred ( E , On , 𝑦 ) ⊆ 𝑥 ) ∧ ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝑦 ( 𝐹 ∘ 2nd ) ( 𝑓 ↾ Pred ( E , On , 𝑦 ) ) ) ) ) |
| 27 | onelon | ⊢ ( ( 𝑥 ∈ On ∧ 𝑦 ∈ 𝑥 ) → 𝑦 ∈ On ) | |
| 28 | 27 19 | syl | ⊢ ( ( 𝑥 ∈ On ∧ 𝑦 ∈ 𝑥 ) → Pred ( E , On , 𝑦 ) = 𝑦 ) |
| 29 | 28 | reseq2d | ⊢ ( ( 𝑥 ∈ On ∧ 𝑦 ∈ 𝑥 ) → ( 𝑓 ↾ Pred ( E , On , 𝑦 ) ) = ( 𝑓 ↾ 𝑦 ) ) |
| 30 | 29 | oveq2d | ⊢ ( ( 𝑥 ∈ On ∧ 𝑦 ∈ 𝑥 ) → ( 𝑦 ( 𝐹 ∘ 2nd ) ( 𝑓 ↾ Pred ( E , On , 𝑦 ) ) ) = ( 𝑦 ( 𝐹 ∘ 2nd ) ( 𝑓 ↾ 𝑦 ) ) ) |
| 31 | id | ⊢ ( 𝑦 ∈ 𝑥 → 𝑦 ∈ 𝑥 ) | |
| 32 | vex | ⊢ 𝑓 ∈ V | |
| 33 | 32 | resex | ⊢ ( 𝑓 ↾ 𝑦 ) ∈ V |
| 34 | 33 | a1i | ⊢ ( 𝑦 ∈ 𝑥 → ( 𝑓 ↾ 𝑦 ) ∈ V ) |
| 35 | 31 34 | opco2 | ⊢ ( 𝑦 ∈ 𝑥 → ( 𝑦 ( 𝐹 ∘ 2nd ) ( 𝑓 ↾ 𝑦 ) ) = ( 𝐹 ‘ ( 𝑓 ↾ 𝑦 ) ) ) |
| 36 | 35 | adantl | ⊢ ( ( 𝑥 ∈ On ∧ 𝑦 ∈ 𝑥 ) → ( 𝑦 ( 𝐹 ∘ 2nd ) ( 𝑓 ↾ 𝑦 ) ) = ( 𝐹 ‘ ( 𝑓 ↾ 𝑦 ) ) ) |
| 37 | 30 36 | eqtrd | ⊢ ( ( 𝑥 ∈ On ∧ 𝑦 ∈ 𝑥 ) → ( 𝑦 ( 𝐹 ∘ 2nd ) ( 𝑓 ↾ Pred ( E , On , 𝑦 ) ) ) = ( 𝐹 ‘ ( 𝑓 ↾ 𝑦 ) ) ) |
| 38 | 37 | eqeq2d | ⊢ ( ( 𝑥 ∈ On ∧ 𝑦 ∈ 𝑥 ) → ( ( 𝑓 ‘ 𝑦 ) = ( 𝑦 ( 𝐹 ∘ 2nd ) ( 𝑓 ↾ Pred ( E , On , 𝑦 ) ) ) ↔ ( 𝑓 ‘ 𝑦 ) = ( 𝐹 ‘ ( 𝑓 ↾ 𝑦 ) ) ) ) |
| 39 | 38 | ralbidva | ⊢ ( 𝑥 ∈ On → ( ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝑦 ( 𝐹 ∘ 2nd ) ( 𝑓 ↾ Pred ( E , On , 𝑦 ) ) ) ↔ ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝐹 ‘ ( 𝑓 ↾ 𝑦 ) ) ) ) |
| 40 | 39 | pm5.32i | ⊢ ( ( 𝑥 ∈ On ∧ ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝑦 ( 𝐹 ∘ 2nd ) ( 𝑓 ↾ Pred ( E , On , 𝑦 ) ) ) ) ↔ ( 𝑥 ∈ On ∧ ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝐹 ‘ ( 𝑓 ↾ 𝑦 ) ) ) ) |
| 41 | 26 40 | bitr3i | ⊢ ( ( ( 𝑥 ⊆ On ∧ ∀ 𝑦 ∈ 𝑥 Pred ( E , On , 𝑦 ) ⊆ 𝑥 ) ∧ ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝑦 ( 𝐹 ∘ 2nd ) ( 𝑓 ↾ Pred ( E , On , 𝑦 ) ) ) ) ↔ ( 𝑥 ∈ On ∧ ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝐹 ‘ ( 𝑓 ↾ 𝑦 ) ) ) ) |
| 42 | 41 | anbi2i | ⊢ ( ( 𝑓 Fn 𝑥 ∧ ( ( 𝑥 ⊆ On ∧ ∀ 𝑦 ∈ 𝑥 Pred ( E , On , 𝑦 ) ⊆ 𝑥 ) ∧ ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝑦 ( 𝐹 ∘ 2nd ) ( 𝑓 ↾ Pred ( E , On , 𝑦 ) ) ) ) ) ↔ ( 𝑓 Fn 𝑥 ∧ ( 𝑥 ∈ On ∧ ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝐹 ‘ ( 𝑓 ↾ 𝑦 ) ) ) ) ) |
| 43 | an12 | ⊢ ( ( 𝑓 Fn 𝑥 ∧ ( 𝑥 ∈ On ∧ ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝐹 ‘ ( 𝑓 ↾ 𝑦 ) ) ) ) ↔ ( 𝑥 ∈ On ∧ ( 𝑓 Fn 𝑥 ∧ ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝐹 ‘ ( 𝑓 ↾ 𝑦 ) ) ) ) ) | |
| 44 | 4 42 43 | 3bitri | ⊢ ( ( 𝑓 Fn 𝑥 ∧ ( 𝑥 ⊆ On ∧ ∀ 𝑦 ∈ 𝑥 Pred ( E , On , 𝑦 ) ⊆ 𝑥 ) ∧ ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝑦 ( 𝐹 ∘ 2nd ) ( 𝑓 ↾ Pred ( E , On , 𝑦 ) ) ) ) ↔ ( 𝑥 ∈ On ∧ ( 𝑓 Fn 𝑥 ∧ ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝐹 ‘ ( 𝑓 ↾ 𝑦 ) ) ) ) ) |
| 45 | 44 | exbii | ⊢ ( ∃ 𝑥 ( 𝑓 Fn 𝑥 ∧ ( 𝑥 ⊆ On ∧ ∀ 𝑦 ∈ 𝑥 Pred ( E , On , 𝑦 ) ⊆ 𝑥 ) ∧ ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝑦 ( 𝐹 ∘ 2nd ) ( 𝑓 ↾ Pred ( E , On , 𝑦 ) ) ) ) ↔ ∃ 𝑥 ( 𝑥 ∈ On ∧ ( 𝑓 Fn 𝑥 ∧ ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝐹 ‘ ( 𝑓 ↾ 𝑦 ) ) ) ) ) |
| 46 | df-rex | ⊢ ( ∃ 𝑥 ∈ On ( 𝑓 Fn 𝑥 ∧ ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝐹 ‘ ( 𝑓 ↾ 𝑦 ) ) ) ↔ ∃ 𝑥 ( 𝑥 ∈ On ∧ ( 𝑓 Fn 𝑥 ∧ ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝐹 ‘ ( 𝑓 ↾ 𝑦 ) ) ) ) ) | |
| 47 | 45 46 | bitr4i | ⊢ ( ∃ 𝑥 ( 𝑓 Fn 𝑥 ∧ ( 𝑥 ⊆ On ∧ ∀ 𝑦 ∈ 𝑥 Pred ( E , On , 𝑦 ) ⊆ 𝑥 ) ∧ ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝑦 ( 𝐹 ∘ 2nd ) ( 𝑓 ↾ Pred ( E , On , 𝑦 ) ) ) ) ↔ ∃ 𝑥 ∈ On ( 𝑓 Fn 𝑥 ∧ ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝐹 ‘ ( 𝑓 ↾ 𝑦 ) ) ) ) |
| 48 | 47 | abbii | ⊢ { 𝑓 ∣ ∃ 𝑥 ( 𝑓 Fn 𝑥 ∧ ( 𝑥 ⊆ On ∧ ∀ 𝑦 ∈ 𝑥 Pred ( E , On , 𝑦 ) ⊆ 𝑥 ) ∧ ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝑦 ( 𝐹 ∘ 2nd ) ( 𝑓 ↾ Pred ( E , On , 𝑦 ) ) ) ) } = { 𝑓 ∣ ∃ 𝑥 ∈ On ( 𝑓 Fn 𝑥 ∧ ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝐹 ‘ ( 𝑓 ↾ 𝑦 ) ) ) } |
| 49 | 48 | unieqi | ⊢ ∪ { 𝑓 ∣ ∃ 𝑥 ( 𝑓 Fn 𝑥 ∧ ( 𝑥 ⊆ On ∧ ∀ 𝑦 ∈ 𝑥 Pred ( E , On , 𝑦 ) ⊆ 𝑥 ) ∧ ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝑦 ( 𝐹 ∘ 2nd ) ( 𝑓 ↾ Pred ( E , On , 𝑦 ) ) ) ) } = ∪ { 𝑓 ∣ ∃ 𝑥 ∈ On ( 𝑓 Fn 𝑥 ∧ ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝐹 ‘ ( 𝑓 ↾ 𝑦 ) ) ) } |
| 50 | 3 49 | eqtri | ⊢ frecs ( E , On , ( 𝐹 ∘ 2nd ) ) = ∪ { 𝑓 ∣ ∃ 𝑥 ∈ On ( 𝑓 Fn 𝑥 ∧ ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝐹 ‘ ( 𝑓 ↾ 𝑦 ) ) ) } |
| 51 | 1 2 50 | 3eqtri | ⊢ recs ( 𝐹 ) = ∪ { 𝑓 ∣ ∃ 𝑥 ∈ On ( 𝑓 Fn 𝑥 ∧ ∀ 𝑦 ∈ 𝑥 ( 𝑓 ‘ 𝑦 ) = ( 𝐹 ‘ ( 𝑓 ↾ 𝑦 ) ) ) } |