Metamath Proof Explorer


Theorem ssttrcl

Description: If R is a relation, then it is a subclass of its transitive closure. (Contributed by Scott Fenton, 17-Oct-2024)

Ref Expression
Assertion ssttrcl Could not format assertion : No typesetting found for |- ( Rel R -> R C_ t++ R ) with typecode |-

Proof

Step Hyp Ref Expression
1 1onn 1 𝑜 ω
2 1on 1 𝑜 On
3 2 onirri ¬ 1 𝑜 1 𝑜
4 eldif 1 𝑜 ω 1 𝑜 1 𝑜 ω ¬ 1 𝑜 1 𝑜
5 1 3 4 mpbir2an 1 𝑜 ω 1 𝑜
6 vex x V
7 vex y V
8 6 7 ifex if m = x y V
9 eqid m suc 1 𝑜 if m = x y = m suc 1 𝑜 if m = x y
10 8 9 fnmpti m suc 1 𝑜 if m = x y Fn suc 1 𝑜
11 eqid x = x
12 eqid y = y
13 11 12 pm3.2i x = x y = y
14 1oex 1 𝑜 V
15 14 sucex suc 1 𝑜 V
16 15 mptex m suc 1 𝑜 if m = x y V
17 fneq1 f = m suc 1 𝑜 if m = x y f Fn suc 1 𝑜 m suc 1 𝑜 if m = x y Fn suc 1 𝑜
18 fveq1 f = m suc 1 𝑜 if m = x y f = m suc 1 𝑜 if m = x y
19 2 onordi Ord 1 𝑜
20 0elsuc Ord 1 𝑜 suc 1 𝑜
21 19 20 ax-mp suc 1 𝑜
22 iftrue m = if m = x y = x
23 22 9 6 fvmpt suc 1 𝑜 m suc 1 𝑜 if m = x y = x
24 21 23 ax-mp m suc 1 𝑜 if m = x y = x
25 18 24 eqtrdi f = m suc 1 𝑜 if m = x y f = x
26 25 eqeq1d f = m suc 1 𝑜 if m = x y f = x x = x
27 fveq1 f = m suc 1 𝑜 if m = x y f 1 𝑜 = m suc 1 𝑜 if m = x y 1 𝑜
28 14 sucid 1 𝑜 suc 1 𝑜
29 eqeq1 m = 1 𝑜 m = 1 𝑜 =
30 29 ifbid m = 1 𝑜 if m = x y = if 1 𝑜 = x y
31 1n0 1 𝑜
32 31 neii ¬ 1 𝑜 =
33 32 iffalsei if 1 𝑜 = x y = y
34 33 7 eqeltri if 1 𝑜 = x y V
35 30 9 34 fvmpt 1 𝑜 suc 1 𝑜 m suc 1 𝑜 if m = x y 1 𝑜 = if 1 𝑜 = x y
36 28 35 ax-mp m suc 1 𝑜 if m = x y 1 𝑜 = if 1 𝑜 = x y
37 36 33 eqtri m suc 1 𝑜 if m = x y 1 𝑜 = y
38 27 37 eqtrdi f = m suc 1 𝑜 if m = x y f 1 𝑜 = y
39 38 eqeq1d f = m suc 1 𝑜 if m = x y f 1 𝑜 = y y = y
40 26 39 anbi12d f = m suc 1 𝑜 if m = x y f = x f 1 𝑜 = y x = x y = y
41 25 38 breq12d f = m suc 1 𝑜 if m = x y f R f 1 𝑜 x R y
42 17 40 41 3anbi123d f = m suc 1 𝑜 if m = x y f Fn suc 1 𝑜 f = x f 1 𝑜 = y f R f 1 𝑜 m suc 1 𝑜 if m = x y Fn suc 1 𝑜 x = x y = y x R y
43 16 42 spcev m suc 1 𝑜 if m = x y Fn suc 1 𝑜 x = x y = y x R y f f Fn suc 1 𝑜 f = x f 1 𝑜 = y f R f 1 𝑜
44 10 13 43 mp3an12 x R y f f Fn suc 1 𝑜 f = x f 1 𝑜 = y f R f 1 𝑜
45 suceq n = 1 𝑜 suc n = suc 1 𝑜
46 45 fneq2d n = 1 𝑜 f Fn suc n f Fn suc 1 𝑜
47 fveqeq2 n = 1 𝑜 f n = y f 1 𝑜 = y
48 47 anbi2d n = 1 𝑜 f = x f n = y f = x f 1 𝑜 = y
49 raleq n = 1 𝑜 m n f m R f suc m m 1 𝑜 f m R f suc m
50 df1o2 1 𝑜 =
51 50 raleqi m 1 𝑜 f m R f suc m m f m R f suc m
52 0ex V
53 fveq2 m = f m = f
54 suceq m = suc m = suc
55 df-1o 1 𝑜 = suc
56 54 55 eqtr4di m = suc m = 1 𝑜
57 56 fveq2d m = f suc m = f 1 𝑜
58 53 57 breq12d m = f m R f suc m f R f 1 𝑜
59 52 58 ralsn m f m R f suc m f R f 1 𝑜
60 51 59 bitri m 1 𝑜 f m R f suc m f R f 1 𝑜
61 49 60 bitrdi n = 1 𝑜 m n f m R f suc m f R f 1 𝑜
62 46 48 61 3anbi123d n = 1 𝑜 f Fn suc n f = x f n = y m n f m R f suc m f Fn suc 1 𝑜 f = x f 1 𝑜 = y f R f 1 𝑜
63 62 exbidv n = 1 𝑜 f f Fn suc n f = x f n = y m n f m R f suc m f f Fn suc 1 𝑜 f = x f 1 𝑜 = y f R f 1 𝑜
64 63 rspcev 1 𝑜 ω 1 𝑜 f f Fn suc 1 𝑜 f = x f 1 𝑜 = y f R f 1 𝑜 n ω 1 𝑜 f f Fn suc n f = x f n = y m n f m R f suc m
65 5 44 64 sylancr x R y n ω 1 𝑜 f f Fn suc n f = x f n = y m n f m R f suc m
66 df-br x R y x y R
67 brttrcl Could not format ( x t++ R y <-> E. n e. ( _om \ 1o ) E. f ( f Fn suc n /\ ( ( f ` (/) ) = x /\ ( f ` n ) = y ) /\ A. m e. n ( f ` m ) R ( f ` suc m ) ) ) : No typesetting found for |- ( x t++ R y <-> E. n e. ( _om \ 1o ) E. f ( f Fn suc n /\ ( ( f ` (/) ) = x /\ ( f ` n ) = y ) /\ A. m e. n ( f ` m ) R ( f ` suc m ) ) ) with typecode |-
68 df-br Could not format ( x t++ R y <-> <. x , y >. e. t++ R ) : No typesetting found for |- ( x t++ R y <-> <. x , y >. e. t++ R ) with typecode |-
69 67 68 bitr3i Could not format ( E. n e. ( _om \ 1o ) E. f ( f Fn suc n /\ ( ( f ` (/) ) = x /\ ( f ` n ) = y ) /\ A. m e. n ( f ` m ) R ( f ` suc m ) ) <-> <. x , y >. e. t++ R ) : No typesetting found for |- ( E. n e. ( _om \ 1o ) E. f ( f Fn suc n /\ ( ( f ` (/) ) = x /\ ( f ` n ) = y ) /\ A. m e. n ( f ` m ) R ( f ` suc m ) ) <-> <. x , y >. e. t++ R ) with typecode |-
70 65 66 69 3imtr3i Could not format ( <. x , y >. e. R -> <. x , y >. e. t++ R ) : No typesetting found for |- ( <. x , y >. e. R -> <. x , y >. e. t++ R ) with typecode |-
71 70 gen2 Could not format A. x A. y ( <. x , y >. e. R -> <. x , y >. e. t++ R ) : No typesetting found for |- A. x A. y ( <. x , y >. e. R -> <. x , y >. e. t++ R ) with typecode |-
72 ssrel Could not format ( Rel R -> ( R C_ t++ R <-> A. x A. y ( <. x , y >. e. R -> <. x , y >. e. t++ R ) ) ) : No typesetting found for |- ( Rel R -> ( R C_ t++ R <-> A. x A. y ( <. x , y >. e. R -> <. x , y >. e. t++ R ) ) ) with typecode |-
73 71 72 mpbiri Could not format ( Rel R -> R C_ t++ R ) : No typesetting found for |- ( Rel R -> R C_ t++ R ) with typecode |-