Metamath Proof Explorer


Theorem dfrtrcl2

Description: The two definitions t* and t*rec of the reflexive, transitive closure coincide if R is indeed a relation. (Contributed by Drahflow, 12-Nov-2015) (Revised by RP, 30-May-2020) (Revised by AV, 13-Jul-2024)

Ref Expression
Hypothesis dfrtrcl2.1 ⊢ φ → Rel ⁡ R
Assertion dfrtrcl2 ⊢ φ → t* ⁡ R = t*rec ⁡ R

Proof

Step Hyp Ref Expression
1 dfrtrcl2.1 ⊢ φ → Rel ⁡ R
2 eqidd ⊢ φ ∧ R ∈ V → x ∈ V ⟼ ⋂ z | I ↾ dom ⁡ x ∪ ran ⁡ x ⊆ z ∧ x ⊆ z ∧ z ∘ z ⊆ z = x ∈ V ⟼ ⋂ z | I ↾ dom ⁡ x ∪ ran ⁡ x ⊆ z ∧ x ⊆ z ∧ z ∘ z ⊆ z
3 dmeq ⊢ x = R → dom ⁡ x = dom ⁡ R
4 rneq ⊢ x = R → ran ⁡ x = ran ⁡ R
5 3 4 uneq12d ⊢ x = R → dom ⁡ x ∪ ran ⁡ x = dom ⁡ R ∪ ran ⁡ R
6 5 reseq2d ⊢ x = R → I ↾ dom ⁡ x ∪ ran ⁡ x = I ↾ dom ⁡ R ∪ ran ⁡ R
7 6 sseq1d ⊢ x = R → I ↾ dom ⁡ x ∪ ran ⁡ x ⊆ z ↔ I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z
8 id ⊢ x = R → x = R
9 8 sseq1d ⊢ x = R → x ⊆ z ↔ R ⊆ z
10 7 9 3anbi12d ⊢ x = R → I ↾ dom ⁡ x ∪ ran ⁡ x ⊆ z ∧ x ⊆ z ∧ z ∘ z ⊆ z ↔ I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ∧ R ⊆ z ∧ z ∘ z ⊆ z
11 10 abbidv ⊢ x = R → z | I ↾ dom ⁡ x ∪ ran ⁡ x ⊆ z ∧ x ⊆ z ∧ z ∘ z ⊆ z = z | I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ∧ R ⊆ z ∧ z ∘ z ⊆ z
12 11 inteqd ⊢ x = R → ⋂ z | I ↾ dom ⁡ x ∪ ran ⁡ x ⊆ z ∧ x ⊆ z ∧ z ∘ z ⊆ z = ⋂ z | I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ∧ R ⊆ z ∧ z ∘ z ⊆ z
13 12 adantl ⊢ φ ∧ R ∈ V ∧ x = R → ⋂ z | I ↾ dom ⁡ x ∪ ran ⁡ x ⊆ z ∧ x ⊆ z ∧ z ∘ z ⊆ z = ⋂ z | I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ∧ R ⊆ z ∧ z ∘ z ⊆ z
14 simpr ⊢ φ ∧ R ∈ V → R ∈ V
15 relfld ⊢ Rel ⁡ R → ⋃ ⋃ R = dom ⁡ R ∪ ran ⁡ R
16 1 15 syl ⊢ φ → ⋃ ⋃ R = dom ⁡ R ∪ ran ⁡ R
17 16 eqcomd ⊢ φ → dom ⁡ R ∪ ran ⁡ R = ⋃ ⋃ R
18 17 adantr ⊢ φ ∧ R ∈ V → dom ⁡ R ∪ ran ⁡ R = ⋃ ⋃ R
19 1 adantr ⊢ φ ∧ R ∈ V → Rel ⁡ R
20 19 14 rtrclreclem2 ⊢ φ ∧ R ∈ V → I ↾ ⋃ ⋃ R ⊆ t*rec ⁡ R
21 id ⊢ dom ⁡ R ∪ ran ⁡ R = ⋃ ⋃ R → dom ⁡ R ∪ ran ⁡ R = ⋃ ⋃ R
22 21 reseq2d ⊢ dom ⁡ R ∪ ran ⁡ R = ⋃ ⋃ R → I ↾ dom ⁡ R ∪ ran ⁡ R = I ↾ ⋃ ⋃ R
23 22 sseq1d ⊢ dom ⁡ R ∪ ran ⁡ R = ⋃ ⋃ R → I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ t*rec ⁡ R ↔ I ↾ ⋃ ⋃ R ⊆ t*rec ⁡ R
24 20 23 imbitrrid ⊢ dom ⁡ R ∪ ran ⁡ R = ⋃ ⋃ R → φ ∧ R ∈ V → I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ t*rec ⁡ R
25 18 24 mpcom ⊢ φ ∧ R ∈ V → I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ t*rec ⁡ R
26 14 rtrclreclem1 ⊢ φ ∧ R ∈ V → R ⊆ t*rec ⁡ R
27 1 rtrclreclem3 ⊢ φ → t*rec ⁡ R ∘ t*rec ⁡ R ⊆ t*rec ⁡ R
28 27 adantr ⊢ φ ∧ R ∈ V → t*rec ⁡ R ∘ t*rec ⁡ R ⊆ t*rec ⁡ R
29 fvex ⊢ t*rec ⁡ R ∈ V
30 sseq2 ⊢ z = t*rec ⁡ R → I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ↔ I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ t*rec ⁡ R
31 sseq2 ⊢ z = t*rec ⁡ R → R ⊆ z ↔ R ⊆ t*rec ⁡ R
32 id ⊢ z = t*rec ⁡ R → z = t*rec ⁡ R
33 32 32 coeq12d ⊢ z = t*rec ⁡ R → z ∘ z = t*rec ⁡ R ∘ t*rec ⁡ R
34 33 32 sseq12d ⊢ z = t*rec ⁡ R → z ∘ z ⊆ z ↔ t*rec ⁡ R ∘ t*rec ⁡ R ⊆ t*rec ⁡ R
35 30 31 34 3anbi123d ⊢ z = t*rec ⁡ R → I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ∧ R ⊆ z ∧ z ∘ z ⊆ z ↔ I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ t*rec ⁡ R ∧ R ⊆ t*rec ⁡ R ∧ t*rec ⁡ R ∘ t*rec ⁡ R ⊆ t*rec ⁡ R
36 35 a1i ⊢ φ → z = t*rec ⁡ R → I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ∧ R ⊆ z ∧ z ∘ z ⊆ z ↔ I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ t*rec ⁡ R ∧ R ⊆ t*rec ⁡ R ∧ t*rec ⁡ R ∘ t*rec ⁡ R ⊆ t*rec ⁡ R
37 36 alrimiv ⊢ φ → ∀ z z = t*rec ⁡ R → I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ∧ R ⊆ z ∧ z ∘ z ⊆ z ↔ I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ t*rec ⁡ R ∧ R ⊆ t*rec ⁡ R ∧ t*rec ⁡ R ∘ t*rec ⁡ R ⊆ t*rec ⁡ R
38 elabgt ⊢ t*rec ⁡ R ∈ V ∧ ∀ z z = t*rec ⁡ R → I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ∧ R ⊆ z ∧ z ∘ z ⊆ z ↔ I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ t*rec ⁡ R ∧ R ⊆ t*rec ⁡ R ∧ t*rec ⁡ R ∘ t*rec ⁡ R ⊆ t*rec ⁡ R → t*rec ⁡ R ∈ z | I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ∧ R ⊆ z ∧ z ∘ z ⊆ z ↔ I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ t*rec ⁡ R ∧ R ⊆ t*rec ⁡ R ∧ t*rec ⁡ R ∘ t*rec ⁡ R ⊆ t*rec ⁡ R
39 29 37 38 sylancr ⊢ φ → t*rec ⁡ R ∈ z | I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ∧ R ⊆ z ∧ z ∘ z ⊆ z ↔ I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ t*rec ⁡ R ∧ R ⊆ t*rec ⁡ R ∧ t*rec ⁡ R ∘ t*rec ⁡ R ⊆ t*rec ⁡ R
40 39 adantr ⊢ φ ∧ R ∈ V → t*rec ⁡ R ∈ z | I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ∧ R ⊆ z ∧ z ∘ z ⊆ z ↔ I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ t*rec ⁡ R ∧ R ⊆ t*rec ⁡ R ∧ t*rec ⁡ R ∘ t*rec ⁡ R ⊆ t*rec ⁡ R
41 25 26 28 40 mpbir3and ⊢ φ ∧ R ∈ V → t*rec ⁡ R ∈ z | I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ∧ R ⊆ z ∧ z ∘ z ⊆ z
42 41 ne0d ⊢ φ ∧ R ∈ V → z | I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ∧ R ⊆ z ∧ z ∘ z ⊆ z ≠ ∅
43 intex ⊢ z | I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ∧ R ⊆ z ∧ z ∘ z ⊆ z ≠ ∅ ↔ ⋂ z | I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ∧ R ⊆ z ∧ z ∘ z ⊆ z ∈ V
44 42 43 sylib ⊢ φ ∧ R ∈ V → ⋂ z | I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ∧ R ⊆ z ∧ z ∘ z ⊆ z ∈ V
45 2 13 14 44 fvmptd ⊢ φ ∧ R ∈ V → x ∈ V ⟼ ⋂ z | I ↾ dom ⁡ x ∪ ran ⁡ x ⊆ z ∧ x ⊆ z ∧ z ∘ z ⊆ z ⁡ R = ⋂ z | I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ∧ R ⊆ z ∧ z ∘ z ⊆ z
46 intss1 ⊢ t*rec ⁡ R ∈ z | I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ∧ R ⊆ z ∧ z ∘ z ⊆ z → ⋂ z | I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ∧ R ⊆ z ∧ z ∘ z ⊆ z ⊆ t*rec ⁡ R
47 41 46 syl ⊢ φ ∧ R ∈ V → ⋂ z | I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ∧ R ⊆ z ∧ z ∘ z ⊆ z ⊆ t*rec ⁡ R
48 vex ⊢ s ∈ V
49 sseq2 ⊢ z = s → I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ↔ I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ s
50 sseq2 ⊢ z = s → R ⊆ z ↔ R ⊆ s
51 id ⊢ z = s → z = s
52 51 51 coeq12d ⊢ z = s → z ∘ z = s ∘ s
53 52 51 sseq12d ⊢ z = s → z ∘ z ⊆ z ↔ s ∘ s ⊆ s
54 49 50 53 3anbi123d ⊢ z = s → I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ∧ R ⊆ z ∧ z ∘ z ⊆ z ↔ I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ s ∧ R ⊆ s ∧ s ∘ s ⊆ s
55 48 54 elab ⊢ s ∈ z | I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ∧ R ⊆ z ∧ z ∘ z ⊆ z ↔ I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ s ∧ R ⊆ s ∧ s ∘ s ⊆ s
56 1 rtrclreclem4 ⊢ φ → ∀ s I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ s ∧ R ⊆ s ∧ s ∘ s ⊆ s → t*rec ⁡ R ⊆ s
57 56 19.21bi ⊢ φ → I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ s ∧ R ⊆ s ∧ s ∘ s ⊆ s → t*rec ⁡ R ⊆ s
58 55 57 biimtrid ⊢ φ → s ∈ z | I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ∧ R ⊆ z ∧ z ∘ z ⊆ z → t*rec ⁡ R ⊆ s
59 58 ralrimiv ⊢ φ → ∀ s ∈ z | I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ∧ R ⊆ z ∧ z ∘ z ⊆ z t*rec ⁡ R ⊆ s
60 ssint ⊢ t*rec ⁡ R ⊆ ⋂ z | I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ∧ R ⊆ z ∧ z ∘ z ⊆ z ↔ ∀ s ∈ z | I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ∧ R ⊆ z ∧ z ∘ z ⊆ z t*rec ⁡ R ⊆ s
61 59 60 sylibr ⊢ φ → t*rec ⁡ R ⊆ ⋂ z | I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ∧ R ⊆ z ∧ z ∘ z ⊆ z
62 61 adantr ⊢ φ ∧ R ∈ V → t*rec ⁡ R ⊆ ⋂ z | I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ∧ R ⊆ z ∧ z ∘ z ⊆ z
63 47 62 eqssd ⊢ φ ∧ R ∈ V → ⋂ z | I ↾ dom ⁡ R ∪ ran ⁡ R ⊆ z ∧ R ⊆ z ∧ z ∘ z ⊆ z = t*rec ⁡ R
64 45 63 eqtrd ⊢ φ ∧ R ∈ V → x ∈ V ⟼ ⋂ z | I ↾ dom ⁡ x ∪ ran ⁡ x ⊆ z ∧ x ⊆ z ∧ z ∘ z ⊆ z ⁡ R = t*rec ⁡ R
65 df-rtrcl ⊢ t* = x ∈ V ⟼ ⋂ z | I ↾ dom ⁡ x ∪ ran ⁡ x ⊆ z ∧ x ⊆ z ∧ z ∘ z ⊆ z
66 fveq1 ⊢ t* = x ∈ V ⟼ ⋂ z | I ↾ dom ⁡ x ∪ ran ⁡ x ⊆ z ∧ x ⊆ z ∧ z ∘ z ⊆ z → t* ⁡ R = x ∈ V ⟼ ⋂ z | I ↾ dom ⁡ x ∪ ran ⁡ x ⊆ z ∧ x ⊆ z ∧ z ∘ z ⊆ z ⁡ R
67 66 eqeq1d ⊢ t* = x ∈ V ⟼ ⋂ z | I ↾ dom ⁡ x ∪ ran ⁡ x ⊆ z ∧ x ⊆ z ∧ z ∘ z ⊆ z → t* ⁡ R = t*rec ⁡ R ↔ x ∈ V ⟼ ⋂ z | I ↾ dom ⁡ x ∪ ran ⁡ x ⊆ z ∧ x ⊆ z ∧ z ∘ z ⊆ z ⁡ R = t*rec ⁡ R
68 67 imbi2d ⊢ t* = x ∈ V ⟼ ⋂ z | I ↾ dom ⁡ x ∪ ran ⁡ x ⊆ z ∧ x ⊆ z ∧ z ∘ z ⊆ z → φ ∧ R ∈ V → t* ⁡ R = t*rec ⁡ R ↔ φ ∧ R ∈ V → x ∈ V ⟼ ⋂ z | I ↾ dom ⁡ x ∪ ran ⁡ x ⊆ z ∧ x ⊆ z ∧ z ∘ z ⊆ z ⁡ R = t*rec ⁡ R
69 65 68 ax-mp ⊢ φ ∧ R ∈ V → t* ⁡ R = t*rec ⁡ R ↔ φ ∧ R ∈ V → x ∈ V ⟼ ⋂ z | I ↾ dom ⁡ x ∪ ran ⁡ x ⊆ z ∧ x ⊆ z ∧ z ∘ z ⊆ z ⁡ R = t*rec ⁡ R
70 64 69 mpbir ⊢ φ ∧ R ∈ V → t* ⁡ R = t*rec ⁡ R
71 70 ex ⊢ φ → R ∈ V → t* ⁡ R = t*rec ⁡ R
72 fvprc ⊢ ¬ R ∈ V → t* ⁡ R = ∅
73 fvprc ⊢ ¬ R ∈ V → t*rec ⁡ R = ∅
74 73 eqcomd ⊢ ¬ R ∈ V → ∅ = t*rec ⁡ R
75 72 74 eqtrd ⊢ ¬ R ∈ V → t* ⁡ R = t*rec ⁡ R
76 71 75 pm2.61d1 ⊢ φ → t* ⁡ R = t*rec ⁡ R