Step |
Hyp |
Ref |
Expression |
1 |
|
crctcsh.v |
|- V = ( Vtx ` G ) |
2 |
|
crctcsh.i |
|- I = ( iEdg ` G ) |
3 |
|
crctcsh.d |
|- ( ph -> F ( Circuits ` G ) P ) |
4 |
|
crctcsh.n |
|- N = ( # ` F ) |
5 |
|
crctcsh.s |
|- ( ph -> S e. ( 0 ..^ N ) ) |
6 |
|
crctcsh.h |
|- H = ( F cyclShift S ) |
7 |
|
crctcsh.q |
|- Q = ( x e. ( 0 ... N ) |-> if ( x <_ ( N - S ) , ( P ` ( x + S ) ) , ( P ` ( ( x + S ) - N ) ) ) ) |
8 |
1 2 3 4 5 6 7
|
crctcshlem4 |
|- ( ( ph /\ S = 0 ) -> ( H = F /\ Q = P ) ) |
9 |
|
breq12 |
|- ( ( H = F /\ Q = P ) -> ( H ( Circuits ` G ) Q <-> F ( Circuits ` G ) P ) ) |
10 |
3 9
|
syl5ibrcom |
|- ( ph -> ( ( H = F /\ Q = P ) -> H ( Circuits ` G ) Q ) ) |
11 |
10
|
adantr |
|- ( ( ph /\ S = 0 ) -> ( ( H = F /\ Q = P ) -> H ( Circuits ` G ) Q ) ) |
12 |
8 11
|
mpd |
|- ( ( ph /\ S = 0 ) -> H ( Circuits ` G ) Q ) |
13 |
1 2 3 4 5 6 7
|
crctcshtrl |
|- ( ph -> H ( Trails ` G ) Q ) |
14 |
13
|
adantr |
|- ( ( ph /\ S =/= 0 ) -> H ( Trails ` G ) Q ) |
15 |
|
breq1 |
|- ( x = 0 -> ( x <_ ( N - S ) <-> 0 <_ ( N - S ) ) ) |
16 |
|
oveq1 |
|- ( x = 0 -> ( x + S ) = ( 0 + S ) ) |
17 |
16
|
fveq2d |
|- ( x = 0 -> ( P ` ( x + S ) ) = ( P ` ( 0 + S ) ) ) |
18 |
16
|
fvoveq1d |
|- ( x = 0 -> ( P ` ( ( x + S ) - N ) ) = ( P ` ( ( 0 + S ) - N ) ) ) |
19 |
15 17 18
|
ifbieq12d |
|- ( x = 0 -> if ( x <_ ( N - S ) , ( P ` ( x + S ) ) , ( P ` ( ( x + S ) - N ) ) ) = if ( 0 <_ ( N - S ) , ( P ` ( 0 + S ) ) , ( P ` ( ( 0 + S ) - N ) ) ) ) |
20 |
|
elfzo0le |
|- ( S e. ( 0 ..^ N ) -> S <_ N ) |
21 |
5 20
|
syl |
|- ( ph -> S <_ N ) |
22 |
1 2 3 4
|
crctcshlem1 |
|- ( ph -> N e. NN0 ) |
23 |
22
|
nn0red |
|- ( ph -> N e. RR ) |
24 |
|
elfzoelz |
|- ( S e. ( 0 ..^ N ) -> S e. ZZ ) |
25 |
5 24
|
syl |
|- ( ph -> S e. ZZ ) |
26 |
25
|
zred |
|- ( ph -> S e. RR ) |
27 |
23 26
|
subge0d |
|- ( ph -> ( 0 <_ ( N - S ) <-> S <_ N ) ) |
28 |
21 27
|
mpbird |
|- ( ph -> 0 <_ ( N - S ) ) |
29 |
28
|
adantr |
|- ( ( ph /\ S =/= 0 ) -> 0 <_ ( N - S ) ) |
30 |
29
|
iftrued |
|- ( ( ph /\ S =/= 0 ) -> if ( 0 <_ ( N - S ) , ( P ` ( 0 + S ) ) , ( P ` ( ( 0 + S ) - N ) ) ) = ( P ` ( 0 + S ) ) ) |
31 |
19 30
|
sylan9eqr |
|- ( ( ( ph /\ S =/= 0 ) /\ x = 0 ) -> if ( x <_ ( N - S ) , ( P ` ( x + S ) ) , ( P ` ( ( x + S ) - N ) ) ) = ( P ` ( 0 + S ) ) ) |
32 |
3
|
adantr |
|- ( ( ph /\ S =/= 0 ) -> F ( Circuits ` G ) P ) |
33 |
1 2 32 4
|
crctcshlem1 |
|- ( ( ph /\ S =/= 0 ) -> N e. NN0 ) |
34 |
|
0elfz |
|- ( N e. NN0 -> 0 e. ( 0 ... N ) ) |
35 |
33 34
|
syl |
|- ( ( ph /\ S =/= 0 ) -> 0 e. ( 0 ... N ) ) |
36 |
|
fvexd |
|- ( ( ph /\ S =/= 0 ) -> ( P ` ( 0 + S ) ) e. _V ) |
37 |
7 31 35 36
|
fvmptd2 |
|- ( ( ph /\ S =/= 0 ) -> ( Q ` 0 ) = ( P ` ( 0 + S ) ) ) |
38 |
|
breq1 |
|- ( x = ( # ` H ) -> ( x <_ ( N - S ) <-> ( # ` H ) <_ ( N - S ) ) ) |
39 |
|
oveq1 |
|- ( x = ( # ` H ) -> ( x + S ) = ( ( # ` H ) + S ) ) |
40 |
39
|
fveq2d |
|- ( x = ( # ` H ) -> ( P ` ( x + S ) ) = ( P ` ( ( # ` H ) + S ) ) ) |
41 |
39
|
fvoveq1d |
|- ( x = ( # ` H ) -> ( P ` ( ( x + S ) - N ) ) = ( P ` ( ( ( # ` H ) + S ) - N ) ) ) |
42 |
38 40 41
|
ifbieq12d |
|- ( x = ( # ` H ) -> if ( x <_ ( N - S ) , ( P ` ( x + S ) ) , ( P ` ( ( x + S ) - N ) ) ) = if ( ( # ` H ) <_ ( N - S ) , ( P ` ( ( # ` H ) + S ) ) , ( P ` ( ( ( # ` H ) + S ) - N ) ) ) ) |
43 |
|
elfzoel2 |
|- ( S e. ( 0 ..^ N ) -> N e. ZZ ) |
44 |
|
elfzonn0 |
|- ( S e. ( 0 ..^ N ) -> S e. NN0 ) |
45 |
|
simpr |
|- ( ( N e. ZZ /\ S e. NN0 ) -> S e. NN0 ) |
46 |
45
|
anim1i |
|- ( ( ( N e. ZZ /\ S e. NN0 ) /\ S =/= 0 ) -> ( S e. NN0 /\ S =/= 0 ) ) |
47 |
|
elnnne0 |
|- ( S e. NN <-> ( S e. NN0 /\ S =/= 0 ) ) |
48 |
46 47
|
sylibr |
|- ( ( ( N e. ZZ /\ S e. NN0 ) /\ S =/= 0 ) -> S e. NN ) |
49 |
48
|
nngt0d |
|- ( ( ( N e. ZZ /\ S e. NN0 ) /\ S =/= 0 ) -> 0 < S ) |
50 |
|
zre |
|- ( N e. ZZ -> N e. RR ) |
51 |
|
nn0re |
|- ( S e. NN0 -> S e. RR ) |
52 |
50 51
|
anim12ci |
|- ( ( N e. ZZ /\ S e. NN0 ) -> ( S e. RR /\ N e. RR ) ) |
53 |
52
|
adantr |
|- ( ( ( N e. ZZ /\ S e. NN0 ) /\ S =/= 0 ) -> ( S e. RR /\ N e. RR ) ) |
54 |
|
ltsubpos |
|- ( ( S e. RR /\ N e. RR ) -> ( 0 < S <-> ( N - S ) < N ) ) |
55 |
54
|
bicomd |
|- ( ( S e. RR /\ N e. RR ) -> ( ( N - S ) < N <-> 0 < S ) ) |
56 |
53 55
|
syl |
|- ( ( ( N e. ZZ /\ S e. NN0 ) /\ S =/= 0 ) -> ( ( N - S ) < N <-> 0 < S ) ) |
57 |
49 56
|
mpbird |
|- ( ( ( N e. ZZ /\ S e. NN0 ) /\ S =/= 0 ) -> ( N - S ) < N ) |
58 |
57
|
ex |
|- ( ( N e. ZZ /\ S e. NN0 ) -> ( S =/= 0 -> ( N - S ) < N ) ) |
59 |
43 44 58
|
syl2anc |
|- ( S e. ( 0 ..^ N ) -> ( S =/= 0 -> ( N - S ) < N ) ) |
60 |
5 59
|
syl |
|- ( ph -> ( S =/= 0 -> ( N - S ) < N ) ) |
61 |
60
|
imp |
|- ( ( ph /\ S =/= 0 ) -> ( N - S ) < N ) |
62 |
5
|
adantr |
|- ( ( ph /\ S =/= 0 ) -> S e. ( 0 ..^ N ) ) |
63 |
1 2 32 4 62 6
|
crctcshlem2 |
|- ( ( ph /\ S =/= 0 ) -> ( # ` H ) = N ) |
64 |
63
|
breq1d |
|- ( ( ph /\ S =/= 0 ) -> ( ( # ` H ) <_ ( N - S ) <-> N <_ ( N - S ) ) ) |
65 |
64
|
notbid |
|- ( ( ph /\ S =/= 0 ) -> ( -. ( # ` H ) <_ ( N - S ) <-> -. N <_ ( N - S ) ) ) |
66 |
23 26
|
resubcld |
|- ( ph -> ( N - S ) e. RR ) |
67 |
66 23
|
jca |
|- ( ph -> ( ( N - S ) e. RR /\ N e. RR ) ) |
68 |
67
|
adantr |
|- ( ( ph /\ S =/= 0 ) -> ( ( N - S ) e. RR /\ N e. RR ) ) |
69 |
|
ltnle |
|- ( ( ( N - S ) e. RR /\ N e. RR ) -> ( ( N - S ) < N <-> -. N <_ ( N - S ) ) ) |
70 |
68 69
|
syl |
|- ( ( ph /\ S =/= 0 ) -> ( ( N - S ) < N <-> -. N <_ ( N - S ) ) ) |
71 |
65 70
|
bitr4d |
|- ( ( ph /\ S =/= 0 ) -> ( -. ( # ` H ) <_ ( N - S ) <-> ( N - S ) < N ) ) |
72 |
61 71
|
mpbird |
|- ( ( ph /\ S =/= 0 ) -> -. ( # ` H ) <_ ( N - S ) ) |
73 |
72
|
iffalsed |
|- ( ( ph /\ S =/= 0 ) -> if ( ( # ` H ) <_ ( N - S ) , ( P ` ( ( # ` H ) + S ) ) , ( P ` ( ( ( # ` H ) + S ) - N ) ) ) = ( P ` ( ( ( # ` H ) + S ) - N ) ) ) |
74 |
42 73
|
sylan9eqr |
|- ( ( ( ph /\ S =/= 0 ) /\ x = ( # ` H ) ) -> if ( x <_ ( N - S ) , ( P ` ( x + S ) ) , ( P ` ( ( x + S ) - N ) ) ) = ( P ` ( ( ( # ` H ) + S ) - N ) ) ) |
75 |
1 2 3 4 5 6
|
crctcshlem2 |
|- ( ph -> ( # ` H ) = N ) |
76 |
75 22
|
eqeltrd |
|- ( ph -> ( # ` H ) e. NN0 ) |
77 |
76
|
nn0cnd |
|- ( ph -> ( # ` H ) e. CC ) |
78 |
25
|
zcnd |
|- ( ph -> S e. CC ) |
79 |
22
|
nn0cnd |
|- ( ph -> N e. CC ) |
80 |
77 78 79
|
addsubd |
|- ( ph -> ( ( ( # ` H ) + S ) - N ) = ( ( ( # ` H ) - N ) + S ) ) |
81 |
75
|
oveq1d |
|- ( ph -> ( ( # ` H ) - N ) = ( N - N ) ) |
82 |
79
|
subidd |
|- ( ph -> ( N - N ) = 0 ) |
83 |
81 82
|
eqtrd |
|- ( ph -> ( ( # ` H ) - N ) = 0 ) |
84 |
83
|
oveq1d |
|- ( ph -> ( ( ( # ` H ) - N ) + S ) = ( 0 + S ) ) |
85 |
80 84
|
eqtrd |
|- ( ph -> ( ( ( # ` H ) + S ) - N ) = ( 0 + S ) ) |
86 |
85
|
fveq2d |
|- ( ph -> ( P ` ( ( ( # ` H ) + S ) - N ) ) = ( P ` ( 0 + S ) ) ) |
87 |
86
|
adantr |
|- ( ( ph /\ S =/= 0 ) -> ( P ` ( ( ( # ` H ) + S ) - N ) ) = ( P ` ( 0 + S ) ) ) |
88 |
87
|
adantr |
|- ( ( ( ph /\ S =/= 0 ) /\ x = ( # ` H ) ) -> ( P ` ( ( ( # ` H ) + S ) - N ) ) = ( P ` ( 0 + S ) ) ) |
89 |
74 88
|
eqtrd |
|- ( ( ( ph /\ S =/= 0 ) /\ x = ( # ` H ) ) -> if ( x <_ ( N - S ) , ( P ` ( x + S ) ) , ( P ` ( ( x + S ) - N ) ) ) = ( P ` ( 0 + S ) ) ) |
90 |
75
|
adantr |
|- ( ( ph /\ S =/= 0 ) -> ( # ` H ) = N ) |
91 |
|
nn0fz0 |
|- ( N e. NN0 <-> N e. ( 0 ... N ) ) |
92 |
22 91
|
sylib |
|- ( ph -> N e. ( 0 ... N ) ) |
93 |
92
|
adantr |
|- ( ( ph /\ S =/= 0 ) -> N e. ( 0 ... N ) ) |
94 |
90 93
|
eqeltrd |
|- ( ( ph /\ S =/= 0 ) -> ( # ` H ) e. ( 0 ... N ) ) |
95 |
7 89 94 36
|
fvmptd2 |
|- ( ( ph /\ S =/= 0 ) -> ( Q ` ( # ` H ) ) = ( P ` ( 0 + S ) ) ) |
96 |
37 95
|
eqtr4d |
|- ( ( ph /\ S =/= 0 ) -> ( Q ` 0 ) = ( Q ` ( # ` H ) ) ) |
97 |
|
iscrct |
|- ( H ( Circuits ` G ) Q <-> ( H ( Trails ` G ) Q /\ ( Q ` 0 ) = ( Q ` ( # ` H ) ) ) ) |
98 |
14 96 97
|
sylanbrc |
|- ( ( ph /\ S =/= 0 ) -> H ( Circuits ` G ) Q ) |
99 |
12 98
|
pm2.61dane |
|- ( ph -> H ( Circuits ` G ) Q ) |