Metamath Proof Explorer


Theorem csbfrecsg

Description: Move class substitution in and out of the well-founded recursive function generator. (Contributed by Scott Fenton, 18-Nov-2024)

Ref Expression
Assertion csbfrecsg ⊢ A ∈ V → ⦋ A / x⦌ frecs ⁡ R D F = frecs ⁡ ⦋ A / x⦌ R ⦋ A / x⦌ D ⦋ A / x⦌ F

Proof

Step Hyp Ref Expression
1 csbuni ⊢ ⦋ A / x⦌ ⋃ f | ∃ z f Fn z ∧ z ⊆ D ∧ ∀ y ∈ z Pred R D y ⊆ z ∧ ∀ y ∈ z f ⁡ y = y F f ↾ Pred R D y = ⋃ ⦋ A / x⦌ f | ∃ z f Fn z ∧ z ⊆ D ∧ ∀ y ∈ z Pred R D y ⊆ z ∧ ∀ y ∈ z f ⁡ y = y F f ↾ Pred R D y
2 csbab ⊢ ⦋ A / x⦌ f | ∃ z f Fn z ∧ z ⊆ D ∧ ∀ y ∈ z Pred R D y ⊆ z ∧ ∀ y ∈ z f ⁡ y = y F f ↾ Pred R D y = f | [˙A / x]˙ ∃ z f Fn z ∧ z ⊆ D ∧ ∀ y ∈ z Pred R D y ⊆ z ∧ ∀ y ∈ z f ⁡ y = y F f ↾ Pred R D y
3 sbcex2 ⊢ [˙A / x]˙ ∃ z f Fn z ∧ z ⊆ D ∧ ∀ y ∈ z Pred R D y ⊆ z ∧ ∀ y ∈ z f ⁡ y = y F f ↾ Pred R D y ↔ ∃ z [˙A / x]˙ f Fn z ∧ z ⊆ D ∧ ∀ y ∈ z Pred R D y ⊆ z ∧ ∀ y ∈ z f ⁡ y = y F f ↾ Pred R D y
4 sbc3an ⊢ [˙A / x]˙ f Fn z ∧ z ⊆ D ∧ ∀ y ∈ z Pred R D y ⊆ z ∧ ∀ y ∈ z f ⁡ y = y F f ↾ Pred R D y ↔ [˙A / x]˙ f Fn z ∧ [˙A / x]˙ z ⊆ D ∧ ∀ y ∈ z Pred R D y ⊆ z ∧ [˙A / x]˙ ∀ y ∈ z f ⁡ y = y F f ↾ Pred R D y
5 sbcg ⊢ A ∈ V → [˙A / x]˙ f Fn z ↔ f Fn z
6 sbcan ⊢ [˙A / x]˙ z ⊆ D ∧ ∀ y ∈ z Pred R D y ⊆ z ↔ [˙A / x]˙ z ⊆ D ∧ [˙A / x]˙ ∀ y ∈ z Pred R D y ⊆ z
7 sbcssg ⊢ A ∈ V → [˙A / x]˙ z ⊆ D ↔ ⦋ A / x⦌ z ⊆ ⦋ A / x⦌ D
8 csbconstg ⊢ A ∈ V → ⦋ A / x⦌ z = z
9 8 sseq1d ⊢ A ∈ V → ⦋ A / x⦌ z ⊆ ⦋ A / x⦌ D ↔ z ⊆ ⦋ A / x⦌ D
10 7 9 bitrd ⊢ A ∈ V → [˙A / x]˙ z ⊆ D ↔ z ⊆ ⦋ A / x⦌ D
11 sbcralg ⊢ A ∈ V → [˙A / x]˙ ∀ y ∈ z Pred R D y ⊆ z ↔ ∀ y ∈ z [˙A / x]˙ Pred R D y ⊆ z
12 sbcssg ⊢ A ∈ V → [˙A / x]˙ Pred R D y ⊆ z ↔ ⦋ A / x⦌ Pred R D y ⊆ ⦋ A / x⦌ z
13 csbpredg ⊢ A ∈ V → ⦋ A / x⦌ Pred R D y = Pred ⦋ A / x⦌ R ⦋ A / x⦌ D ⦋ A / x⦌ y
14 csbconstg ⊢ A ∈ V → ⦋ A / x⦌ y = y
15 predeq3 ⊢ ⦋ A / x⦌ y = y → Pred ⦋ A / x⦌ R ⦋ A / x⦌ D ⦋ A / x⦌ y = Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y
16 14 15 syl ⊢ A ∈ V → Pred ⦋ A / x⦌ R ⦋ A / x⦌ D ⦋ A / x⦌ y = Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y
17 13 16 eqtrd ⊢ A ∈ V → ⦋ A / x⦌ Pred R D y = Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y
18 17 8 sseq12d ⊢ A ∈ V → ⦋ A / x⦌ Pred R D y ⊆ ⦋ A / x⦌ z ↔ Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y ⊆ z
19 12 18 bitrd ⊢ A ∈ V → [˙A / x]˙ Pred R D y ⊆ z ↔ Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y ⊆ z
20 19 ralbidv ⊢ A ∈ V → ∀ y ∈ z [˙A / x]˙ Pred R D y ⊆ z ↔ ∀ y ∈ z Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y ⊆ z
21 11 20 bitrd ⊢ A ∈ V → [˙A / x]˙ ∀ y ∈ z Pred R D y ⊆ z ↔ ∀ y ∈ z Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y ⊆ z
22 10 21 anbi12d ⊢ A ∈ V → [˙A / x]˙ z ⊆ D ∧ [˙A / x]˙ ∀ y ∈ z Pred R D y ⊆ z ↔ z ⊆ ⦋ A / x⦌ D ∧ ∀ y ∈ z Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y ⊆ z
23 6 22 bitrid ⊢ A ∈ V → [˙A / x]˙ z ⊆ D ∧ ∀ y ∈ z Pred R D y ⊆ z ↔ z ⊆ ⦋ A / x⦌ D ∧ ∀ y ∈ z Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y ⊆ z
24 sbcralg ⊢ A ∈ V → [˙A / x]˙ ∀ y ∈ z f ⁡ y = y F f ↾ Pred R D y ↔ ∀ y ∈ z [˙A / x]˙ f ⁡ y = y F f ↾ Pred R D y
25 sbceqg ⊢ A ∈ V → [˙A / x]˙ f ⁡ y = y F f ↾ Pred R D y ↔ ⦋ A / x⦌ f ⁡ y = ⦋ A / x⦌ y F f ↾ Pred R D y
26 csbconstg ⊢ A ∈ V → ⦋ A / x⦌ f ⁡ y = f ⁡ y
27 csbov123 ⊢ ⦋ A / x⦌ y F f ↾ Pred R D y = ⦋ A / x⦌ y ⦋ A / x⦌ F ⦋ A / x⦌ f ↾ Pred R D y
28 csbres ⊢ ⦋ A / x⦌ f ↾ Pred R D y = ⦋ A / x⦌ f ↾ ⦋ A / x⦌ Pred R D y
29 csbconstg ⊢ A ∈ V → ⦋ A / x⦌ f = f
30 29 17 reseq12d ⊢ A ∈ V → ⦋ A / x⦌ f ↾ ⦋ A / x⦌ Pred R D y = f ↾ Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y
31 28 30 eqtrid ⊢ A ∈ V → ⦋ A / x⦌ f ↾ Pred R D y = f ↾ Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y
32 14 31 oveq12d ⊢ A ∈ V → ⦋ A / x⦌ y ⦋ A / x⦌ F ⦋ A / x⦌ f ↾ Pred R D y = y ⦋ A / x⦌ F f ↾ Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y
33 27 32 eqtrid ⊢ A ∈ V → ⦋ A / x⦌ y F f ↾ Pred R D y = y ⦋ A / x⦌ F f ↾ Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y
34 26 33 eqeq12d ⊢ A ∈ V → ⦋ A / x⦌ f ⁡ y = ⦋ A / x⦌ y F f ↾ Pred R D y ↔ f ⁡ y = y ⦋ A / x⦌ F f ↾ Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y
35 25 34 bitrd ⊢ A ∈ V → [˙A / x]˙ f ⁡ y = y F f ↾ Pred R D y ↔ f ⁡ y = y ⦋ A / x⦌ F f ↾ Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y
36 35 ralbidv ⊢ A ∈ V → ∀ y ∈ z [˙A / x]˙ f ⁡ y = y F f ↾ Pred R D y ↔ ∀ y ∈ z f ⁡ y = y ⦋ A / x⦌ F f ↾ Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y
37 24 36 bitrd ⊢ A ∈ V → [˙A / x]˙ ∀ y ∈ z f ⁡ y = y F f ↾ Pred R D y ↔ ∀ y ∈ z f ⁡ y = y ⦋ A / x⦌ F f ↾ Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y
38 5 23 37 3anbi123d ⊢ A ∈ V → [˙A / x]˙ f Fn z ∧ [˙A / x]˙ z ⊆ D ∧ ∀ y ∈ z Pred R D y ⊆ z ∧ [˙A / x]˙ ∀ y ∈ z f ⁡ y = y F f ↾ Pred R D y ↔ f Fn z ∧ z ⊆ ⦋ A / x⦌ D ∧ ∀ y ∈ z Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y ⊆ z ∧ ∀ y ∈ z f ⁡ y = y ⦋ A / x⦌ F f ↾ Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y
39 4 38 bitrid ⊢ A ∈ V → [˙A / x]˙ f Fn z ∧ z ⊆ D ∧ ∀ y ∈ z Pred R D y ⊆ z ∧ ∀ y ∈ z f ⁡ y = y F f ↾ Pred R D y ↔ f Fn z ∧ z ⊆ ⦋ A / x⦌ D ∧ ∀ y ∈ z Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y ⊆ z ∧ ∀ y ∈ z f ⁡ y = y ⦋ A / x⦌ F f ↾ Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y
40 39 exbidv ⊢ A ∈ V → ∃ z [˙A / x]˙ f Fn z ∧ z ⊆ D ∧ ∀ y ∈ z Pred R D y ⊆ z ∧ ∀ y ∈ z f ⁡ y = y F f ↾ Pred R D y ↔ ∃ z f Fn z ∧ z ⊆ ⦋ A / x⦌ D ∧ ∀ y ∈ z Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y ⊆ z ∧ ∀ y ∈ z f ⁡ y = y ⦋ A / x⦌ F f ↾ Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y
41 3 40 bitrid ⊢ A ∈ V → [˙A / x]˙ ∃ z f Fn z ∧ z ⊆ D ∧ ∀ y ∈ z Pred R D y ⊆ z ∧ ∀ y ∈ z f ⁡ y = y F f ↾ Pred R D y ↔ ∃ z f Fn z ∧ z ⊆ ⦋ A / x⦌ D ∧ ∀ y ∈ z Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y ⊆ z ∧ ∀ y ∈ z f ⁡ y = y ⦋ A / x⦌ F f ↾ Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y
42 41 abbidv ⊢ A ∈ V → f | [˙A / x]˙ ∃ z f Fn z ∧ z ⊆ D ∧ ∀ y ∈ z Pred R D y ⊆ z ∧ ∀ y ∈ z f ⁡ y = y F f ↾ Pred R D y = f | ∃ z f Fn z ∧ z ⊆ ⦋ A / x⦌ D ∧ ∀ y ∈ z Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y ⊆ z ∧ ∀ y ∈ z f ⁡ y = y ⦋ A / x⦌ F f ↾ Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y
43 2 42 eqtrid ⊢ A ∈ V → ⦋ A / x⦌ f | ∃ z f Fn z ∧ z ⊆ D ∧ ∀ y ∈ z Pred R D y ⊆ z ∧ ∀ y ∈ z f ⁡ y = y F f ↾ Pred R D y = f | ∃ z f Fn z ∧ z ⊆ ⦋ A / x⦌ D ∧ ∀ y ∈ z Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y ⊆ z ∧ ∀ y ∈ z f ⁡ y = y ⦋ A / x⦌ F f ↾ Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y
44 43 unieqd ⊢ A ∈ V → ⋃ ⦋ A / x⦌ f | ∃ z f Fn z ∧ z ⊆ D ∧ ∀ y ∈ z Pred R D y ⊆ z ∧ ∀ y ∈ z f ⁡ y = y F f ↾ Pred R D y = ⋃ f | ∃ z f Fn z ∧ z ⊆ ⦋ A / x⦌ D ∧ ∀ y ∈ z Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y ⊆ z ∧ ∀ y ∈ z f ⁡ y = y ⦋ A / x⦌ F f ↾ Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y
45 1 44 eqtrid ⊢ A ∈ V → ⦋ A / x⦌ ⋃ f | ∃ z f Fn z ∧ z ⊆ D ∧ ∀ y ∈ z Pred R D y ⊆ z ∧ ∀ y ∈ z f ⁡ y = y F f ↾ Pred R D y = ⋃ f | ∃ z f Fn z ∧ z ⊆ ⦋ A / x⦌ D ∧ ∀ y ∈ z Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y ⊆ z ∧ ∀ y ∈ z f ⁡ y = y ⦋ A / x⦌ F f ↾ Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y
46 df-frecs ⊢ frecs ⁡ R D F = ⋃ f | ∃ z f Fn z ∧ z ⊆ D ∧ ∀ y ∈ z Pred R D y ⊆ z ∧ ∀ y ∈ z f ⁡ y = y F f ↾ Pred R D y
47 46 csbeq2i ⊢ ⦋ A / x⦌ frecs ⁡ R D F = ⦋ A / x⦌ ⋃ f | ∃ z f Fn z ∧ z ⊆ D ∧ ∀ y ∈ z Pred R D y ⊆ z ∧ ∀ y ∈ z f ⁡ y = y F f ↾ Pred R D y
48 df-frecs ⊢ frecs ⁡ ⦋ A / x⦌ R ⦋ A / x⦌ D ⦋ A / x⦌ F = ⋃ f | ∃ z f Fn z ∧ z ⊆ ⦋ A / x⦌ D ∧ ∀ y ∈ z Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y ⊆ z ∧ ∀ y ∈ z f ⁡ y = y ⦋ A / x⦌ F f ↾ Pred ⦋ A / x⦌ R ⦋ A / x⦌ D y
49 45 47 48 3eqtr4g ⊢ A ∈ V → ⦋ A / x⦌ frecs ⁡ R D F = frecs ⁡ ⦋ A / x⦌ R ⦋ A / x⦌ D ⦋ A / x⦌ F