| Step |
Hyp |
Ref |
Expression |
| 1 |
|
wwlksnextbij0.v |
|- V = ( Vtx ` G ) |
| 2 |
|
wwlksnextbij0.e |
|- E = ( Edg ` G ) |
| 3 |
|
wwlksnextbij0.d |
|- D = { w e. Word V | ( ( # ` w ) = ( N + 2 ) /\ ( w prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` w ) } e. E ) } |
| 4 |
|
wwlksnextbij0.r |
|- R = { n e. V | { ( lastS ` W ) , n } e. E } |
| 5 |
|
wwlksnextbij0.f |
|- F = ( t e. D |-> ( lastS ` t ) ) |
| 6 |
1 2 3 4 5
|
wwlksnextfun |
|- ( N e. NN0 -> F : D --> R ) |
| 7 |
|
fveq2 |
|- ( t = d -> ( lastS ` t ) = ( lastS ` d ) ) |
| 8 |
|
fvex |
|- ( lastS ` d ) e. _V |
| 9 |
7 5 8
|
fvmpt |
|- ( d e. D -> ( F ` d ) = ( lastS ` d ) ) |
| 10 |
|
fveq2 |
|- ( t = x -> ( lastS ` t ) = ( lastS ` x ) ) |
| 11 |
|
fvex |
|- ( lastS ` x ) e. _V |
| 12 |
10 5 11
|
fvmpt |
|- ( x e. D -> ( F ` x ) = ( lastS ` x ) ) |
| 13 |
9 12
|
eqeqan12d |
|- ( ( d e. D /\ x e. D ) -> ( ( F ` d ) = ( F ` x ) <-> ( lastS ` d ) = ( lastS ` x ) ) ) |
| 14 |
13
|
adantl |
|- ( ( N e. NN0 /\ ( d e. D /\ x e. D ) ) -> ( ( F ` d ) = ( F ` x ) <-> ( lastS ` d ) = ( lastS ` x ) ) ) |
| 15 |
|
fveqeq2 |
|- ( w = d -> ( ( # ` w ) = ( N + 2 ) <-> ( # ` d ) = ( N + 2 ) ) ) |
| 16 |
|
oveq1 |
|- ( w = d -> ( w prefix ( N + 1 ) ) = ( d prefix ( N + 1 ) ) ) |
| 17 |
16
|
eqeq1d |
|- ( w = d -> ( ( w prefix ( N + 1 ) ) = W <-> ( d prefix ( N + 1 ) ) = W ) ) |
| 18 |
|
fveq2 |
|- ( w = d -> ( lastS ` w ) = ( lastS ` d ) ) |
| 19 |
18
|
preq2d |
|- ( w = d -> { ( lastS ` W ) , ( lastS ` w ) } = { ( lastS ` W ) , ( lastS ` d ) } ) |
| 20 |
19
|
eleq1d |
|- ( w = d -> ( { ( lastS ` W ) , ( lastS ` w ) } e. E <-> { ( lastS ` W ) , ( lastS ` d ) } e. E ) ) |
| 21 |
15 17 20
|
3anbi123d |
|- ( w = d -> ( ( ( # ` w ) = ( N + 2 ) /\ ( w prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` w ) } e. E ) <-> ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` d ) } e. E ) ) ) |
| 22 |
21 3
|
elrab2 |
|- ( d e. D <-> ( d e. Word V /\ ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` d ) } e. E ) ) ) |
| 23 |
|
fveqeq2 |
|- ( w = x -> ( ( # ` w ) = ( N + 2 ) <-> ( # ` x ) = ( N + 2 ) ) ) |
| 24 |
|
oveq1 |
|- ( w = x -> ( w prefix ( N + 1 ) ) = ( x prefix ( N + 1 ) ) ) |
| 25 |
24
|
eqeq1d |
|- ( w = x -> ( ( w prefix ( N + 1 ) ) = W <-> ( x prefix ( N + 1 ) ) = W ) ) |
| 26 |
|
fveq2 |
|- ( w = x -> ( lastS ` w ) = ( lastS ` x ) ) |
| 27 |
26
|
preq2d |
|- ( w = x -> { ( lastS ` W ) , ( lastS ` w ) } = { ( lastS ` W ) , ( lastS ` x ) } ) |
| 28 |
27
|
eleq1d |
|- ( w = x -> ( { ( lastS ` W ) , ( lastS ` w ) } e. E <-> { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) |
| 29 |
23 25 28
|
3anbi123d |
|- ( w = x -> ( ( ( # ` w ) = ( N + 2 ) /\ ( w prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` w ) } e. E ) <-> ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) ) |
| 30 |
29 3
|
elrab2 |
|- ( x e. D <-> ( x e. Word V /\ ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) ) |
| 31 |
|
eqtr3 |
|- ( ( ( # ` d ) = ( N + 2 ) /\ ( # ` x ) = ( N + 2 ) ) -> ( # ` d ) = ( # ` x ) ) |
| 32 |
31
|
expcom |
|- ( ( # ` x ) = ( N + 2 ) -> ( ( # ` d ) = ( N + 2 ) -> ( # ` d ) = ( # ` x ) ) ) |
| 33 |
32
|
3ad2ant1 |
|- ( ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) -> ( ( # ` d ) = ( N + 2 ) -> ( # ` d ) = ( # ` x ) ) ) |
| 34 |
33
|
adantl |
|- ( ( x e. Word V /\ ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) -> ( ( # ` d ) = ( N + 2 ) -> ( # ` d ) = ( # ` x ) ) ) |
| 35 |
34
|
com12 |
|- ( ( # ` d ) = ( N + 2 ) -> ( ( x e. Word V /\ ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) -> ( # ` d ) = ( # ` x ) ) ) |
| 36 |
35
|
3ad2ant1 |
|- ( ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` d ) } e. E ) -> ( ( x e. Word V /\ ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) -> ( # ` d ) = ( # ` x ) ) ) |
| 37 |
36
|
adantl |
|- ( ( d e. Word V /\ ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` d ) } e. E ) ) -> ( ( x e. Word V /\ ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) -> ( # ` d ) = ( # ` x ) ) ) |
| 38 |
37
|
imp |
|- ( ( ( d e. Word V /\ ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` d ) } e. E ) ) /\ ( x e. Word V /\ ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) ) -> ( # ` d ) = ( # ` x ) ) |
| 39 |
38
|
adantr |
|- ( ( ( ( d e. Word V /\ ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` d ) } e. E ) ) /\ ( x e. Word V /\ ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) ) /\ N e. NN0 ) -> ( # ` d ) = ( # ` x ) ) |
| 40 |
39
|
adantr |
|- ( ( ( ( ( d e. Word V /\ ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` d ) } e. E ) ) /\ ( x e. Word V /\ ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) ) /\ N e. NN0 ) /\ ( lastS ` d ) = ( lastS ` x ) ) -> ( # ` d ) = ( # ` x ) ) |
| 41 |
|
simpr |
|- ( ( ( ( ( d e. Word V /\ ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` d ) } e. E ) ) /\ ( x e. Word V /\ ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) ) /\ N e. NN0 ) /\ ( lastS ` d ) = ( lastS ` x ) ) -> ( lastS ` d ) = ( lastS ` x ) ) |
| 42 |
|
eqtr3 |
|- ( ( ( d prefix ( N + 1 ) ) = W /\ ( x prefix ( N + 1 ) ) = W ) -> ( d prefix ( N + 1 ) ) = ( x prefix ( N + 1 ) ) ) |
| 43 |
|
1e2m1 |
|- 1 = ( 2 - 1 ) |
| 44 |
43
|
a1i |
|- ( N e. NN0 -> 1 = ( 2 - 1 ) ) |
| 45 |
44
|
oveq2d |
|- ( N e. NN0 -> ( N + 1 ) = ( N + ( 2 - 1 ) ) ) |
| 46 |
|
nn0cn |
|- ( N e. NN0 -> N e. CC ) |
| 47 |
|
2cnd |
|- ( N e. NN0 -> 2 e. CC ) |
| 48 |
|
1cnd |
|- ( N e. NN0 -> 1 e. CC ) |
| 49 |
46 47 48
|
addsubassd |
|- ( N e. NN0 -> ( ( N + 2 ) - 1 ) = ( N + ( 2 - 1 ) ) ) |
| 50 |
45 49
|
eqtr4d |
|- ( N e. NN0 -> ( N + 1 ) = ( ( N + 2 ) - 1 ) ) |
| 51 |
50
|
adantr |
|- ( ( N e. NN0 /\ ( # ` d ) = ( N + 2 ) ) -> ( N + 1 ) = ( ( N + 2 ) - 1 ) ) |
| 52 |
|
oveq1 |
|- ( ( # ` d ) = ( N + 2 ) -> ( ( # ` d ) - 1 ) = ( ( N + 2 ) - 1 ) ) |
| 53 |
52
|
eqeq2d |
|- ( ( # ` d ) = ( N + 2 ) -> ( ( N + 1 ) = ( ( # ` d ) - 1 ) <-> ( N + 1 ) = ( ( N + 2 ) - 1 ) ) ) |
| 54 |
53
|
adantl |
|- ( ( N e. NN0 /\ ( # ` d ) = ( N + 2 ) ) -> ( ( N + 1 ) = ( ( # ` d ) - 1 ) <-> ( N + 1 ) = ( ( N + 2 ) - 1 ) ) ) |
| 55 |
51 54
|
mpbird |
|- ( ( N e. NN0 /\ ( # ` d ) = ( N + 2 ) ) -> ( N + 1 ) = ( ( # ` d ) - 1 ) ) |
| 56 |
|
oveq2 |
|- ( ( N + 1 ) = ( ( # ` d ) - 1 ) -> ( d prefix ( N + 1 ) ) = ( d prefix ( ( # ` d ) - 1 ) ) ) |
| 57 |
|
oveq2 |
|- ( ( N + 1 ) = ( ( # ` d ) - 1 ) -> ( x prefix ( N + 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) ) |
| 58 |
56 57
|
eqeq12d |
|- ( ( N + 1 ) = ( ( # ` d ) - 1 ) -> ( ( d prefix ( N + 1 ) ) = ( x prefix ( N + 1 ) ) <-> ( d prefix ( ( # ` d ) - 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) ) ) |
| 59 |
55 58
|
syl |
|- ( ( N e. NN0 /\ ( # ` d ) = ( N + 2 ) ) -> ( ( d prefix ( N + 1 ) ) = ( x prefix ( N + 1 ) ) <-> ( d prefix ( ( # ` d ) - 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) ) ) |
| 60 |
59
|
biimpd |
|- ( ( N e. NN0 /\ ( # ` d ) = ( N + 2 ) ) -> ( ( d prefix ( N + 1 ) ) = ( x prefix ( N + 1 ) ) -> ( d prefix ( ( # ` d ) - 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) ) ) |
| 61 |
60
|
ex |
|- ( N e. NN0 -> ( ( # ` d ) = ( N + 2 ) -> ( ( d prefix ( N + 1 ) ) = ( x prefix ( N + 1 ) ) -> ( d prefix ( ( # ` d ) - 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) ) ) ) |
| 62 |
61
|
com13 |
|- ( ( d prefix ( N + 1 ) ) = ( x prefix ( N + 1 ) ) -> ( ( # ` d ) = ( N + 2 ) -> ( N e. NN0 -> ( d prefix ( ( # ` d ) - 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) ) ) ) |
| 63 |
42 62
|
syl |
|- ( ( ( d prefix ( N + 1 ) ) = W /\ ( x prefix ( N + 1 ) ) = W ) -> ( ( # ` d ) = ( N + 2 ) -> ( N e. NN0 -> ( d prefix ( ( # ` d ) - 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) ) ) ) |
| 64 |
63
|
ex |
|- ( ( d prefix ( N + 1 ) ) = W -> ( ( x prefix ( N + 1 ) ) = W -> ( ( # ` d ) = ( N + 2 ) -> ( N e. NN0 -> ( d prefix ( ( # ` d ) - 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) ) ) ) ) |
| 65 |
64
|
com23 |
|- ( ( d prefix ( N + 1 ) ) = W -> ( ( # ` d ) = ( N + 2 ) -> ( ( x prefix ( N + 1 ) ) = W -> ( N e. NN0 -> ( d prefix ( ( # ` d ) - 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) ) ) ) ) |
| 66 |
65
|
impcom |
|- ( ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W ) -> ( ( x prefix ( N + 1 ) ) = W -> ( N e. NN0 -> ( d prefix ( ( # ` d ) - 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) ) ) ) |
| 67 |
66
|
com12 |
|- ( ( x prefix ( N + 1 ) ) = W -> ( ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W ) -> ( N e. NN0 -> ( d prefix ( ( # ` d ) - 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) ) ) ) |
| 68 |
67
|
3ad2ant2 |
|- ( ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) -> ( ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W ) -> ( N e. NN0 -> ( d prefix ( ( # ` d ) - 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) ) ) ) |
| 69 |
68
|
adantl |
|- ( ( x e. Word V /\ ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) -> ( ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W ) -> ( N e. NN0 -> ( d prefix ( ( # ` d ) - 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) ) ) ) |
| 70 |
69
|
com12 |
|- ( ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W ) -> ( ( x e. Word V /\ ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) -> ( N e. NN0 -> ( d prefix ( ( # ` d ) - 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) ) ) ) |
| 71 |
70
|
3adant3 |
|- ( ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` d ) } e. E ) -> ( ( x e. Word V /\ ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) -> ( N e. NN0 -> ( d prefix ( ( # ` d ) - 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) ) ) ) |
| 72 |
71
|
adantl |
|- ( ( d e. Word V /\ ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` d ) } e. E ) ) -> ( ( x e. Word V /\ ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) -> ( N e. NN0 -> ( d prefix ( ( # ` d ) - 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) ) ) ) |
| 73 |
72
|
imp31 |
|- ( ( ( ( d e. Word V /\ ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` d ) } e. E ) ) /\ ( x e. Word V /\ ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) ) /\ N e. NN0 ) -> ( d prefix ( ( # ` d ) - 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) ) |
| 74 |
73
|
adantr |
|- ( ( ( ( ( d e. Word V /\ ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` d ) } e. E ) ) /\ ( x e. Word V /\ ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) ) /\ N e. NN0 ) /\ ( lastS ` d ) = ( lastS ` x ) ) -> ( d prefix ( ( # ` d ) - 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) ) |
| 75 |
|
simpl |
|- ( ( d e. Word V /\ ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` d ) } e. E ) ) -> d e. Word V ) |
| 76 |
|
simpl |
|- ( ( x e. Word V /\ ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) -> x e. Word V ) |
| 77 |
75 76
|
anim12i |
|- ( ( ( d e. Word V /\ ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` d ) } e. E ) ) /\ ( x e. Word V /\ ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) ) -> ( d e. Word V /\ x e. Word V ) ) |
| 78 |
77
|
adantr |
|- ( ( ( ( d e. Word V /\ ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` d ) } e. E ) ) /\ ( x e. Word V /\ ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) ) /\ N e. NN0 ) -> ( d e. Word V /\ x e. Word V ) ) |
| 79 |
|
nn0re |
|- ( N e. NN0 -> N e. RR ) |
| 80 |
|
2re |
|- 2 e. RR |
| 81 |
80
|
a1i |
|- ( N e. NN0 -> 2 e. RR ) |
| 82 |
|
nn0ge0 |
|- ( N e. NN0 -> 0 <_ N ) |
| 83 |
|
2pos |
|- 0 < 2 |
| 84 |
83
|
a1i |
|- ( N e. NN0 -> 0 < 2 ) |
| 85 |
79 81 82 84
|
addgegt0d |
|- ( N e. NN0 -> 0 < ( N + 2 ) ) |
| 86 |
85
|
adantl |
|- ( ( ( # ` d ) = ( N + 2 ) /\ N e. NN0 ) -> 0 < ( N + 2 ) ) |
| 87 |
|
breq2 |
|- ( ( # ` d ) = ( N + 2 ) -> ( 0 < ( # ` d ) <-> 0 < ( N + 2 ) ) ) |
| 88 |
87
|
adantr |
|- ( ( ( # ` d ) = ( N + 2 ) /\ N e. NN0 ) -> ( 0 < ( # ` d ) <-> 0 < ( N + 2 ) ) ) |
| 89 |
86 88
|
mpbird |
|- ( ( ( # ` d ) = ( N + 2 ) /\ N e. NN0 ) -> 0 < ( # ` d ) ) |
| 90 |
|
hashgt0n0 |
|- ( ( d e. Word V /\ 0 < ( # ` d ) ) -> d =/= (/) ) |
| 91 |
89 90
|
sylan2 |
|- ( ( d e. Word V /\ ( ( # ` d ) = ( N + 2 ) /\ N e. NN0 ) ) -> d =/= (/) ) |
| 92 |
91
|
exp32 |
|- ( d e. Word V -> ( ( # ` d ) = ( N + 2 ) -> ( N e. NN0 -> d =/= (/) ) ) ) |
| 93 |
92
|
com12 |
|- ( ( # ` d ) = ( N + 2 ) -> ( d e. Word V -> ( N e. NN0 -> d =/= (/) ) ) ) |
| 94 |
93
|
3ad2ant1 |
|- ( ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` d ) } e. E ) -> ( d e. Word V -> ( N e. NN0 -> d =/= (/) ) ) ) |
| 95 |
94
|
impcom |
|- ( ( d e. Word V /\ ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` d ) } e. E ) ) -> ( N e. NN0 -> d =/= (/) ) ) |
| 96 |
95
|
adantr |
|- ( ( ( d e. Word V /\ ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` d ) } e. E ) ) /\ ( x e. Word V /\ ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) ) -> ( N e. NN0 -> d =/= (/) ) ) |
| 97 |
96
|
imp |
|- ( ( ( ( d e. Word V /\ ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` d ) } e. E ) ) /\ ( x e. Word V /\ ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) ) /\ N e. NN0 ) -> d =/= (/) ) |
| 98 |
85
|
adantl |
|- ( ( ( # ` x ) = ( N + 2 ) /\ N e. NN0 ) -> 0 < ( N + 2 ) ) |
| 99 |
|
breq2 |
|- ( ( # ` x ) = ( N + 2 ) -> ( 0 < ( # ` x ) <-> 0 < ( N + 2 ) ) ) |
| 100 |
99
|
adantr |
|- ( ( ( # ` x ) = ( N + 2 ) /\ N e. NN0 ) -> ( 0 < ( # ` x ) <-> 0 < ( N + 2 ) ) ) |
| 101 |
98 100
|
mpbird |
|- ( ( ( # ` x ) = ( N + 2 ) /\ N e. NN0 ) -> 0 < ( # ` x ) ) |
| 102 |
|
hashgt0n0 |
|- ( ( x e. Word V /\ 0 < ( # ` x ) ) -> x =/= (/) ) |
| 103 |
101 102
|
sylan2 |
|- ( ( x e. Word V /\ ( ( # ` x ) = ( N + 2 ) /\ N e. NN0 ) ) -> x =/= (/) ) |
| 104 |
103
|
exp32 |
|- ( x e. Word V -> ( ( # ` x ) = ( N + 2 ) -> ( N e. NN0 -> x =/= (/) ) ) ) |
| 105 |
104
|
com12 |
|- ( ( # ` x ) = ( N + 2 ) -> ( x e. Word V -> ( N e. NN0 -> x =/= (/) ) ) ) |
| 106 |
105
|
3ad2ant1 |
|- ( ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) -> ( x e. Word V -> ( N e. NN0 -> x =/= (/) ) ) ) |
| 107 |
106
|
impcom |
|- ( ( x e. Word V /\ ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) -> ( N e. NN0 -> x =/= (/) ) ) |
| 108 |
107
|
adantl |
|- ( ( ( d e. Word V /\ ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` d ) } e. E ) ) /\ ( x e. Word V /\ ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) ) -> ( N e. NN0 -> x =/= (/) ) ) |
| 109 |
108
|
imp |
|- ( ( ( ( d e. Word V /\ ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` d ) } e. E ) ) /\ ( x e. Word V /\ ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) ) /\ N e. NN0 ) -> x =/= (/) ) |
| 110 |
78 97 109
|
jca32 |
|- ( ( ( ( d e. Word V /\ ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` d ) } e. E ) ) /\ ( x e. Word V /\ ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) ) /\ N e. NN0 ) -> ( ( d e. Word V /\ x e. Word V ) /\ ( d =/= (/) /\ x =/= (/) ) ) ) |
| 111 |
110
|
adantr |
|- ( ( ( ( ( d e. Word V /\ ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` d ) } e. E ) ) /\ ( x e. Word V /\ ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) ) /\ N e. NN0 ) /\ ( lastS ` d ) = ( lastS ` x ) ) -> ( ( d e. Word V /\ x e. Word V ) /\ ( d =/= (/) /\ x =/= (/) ) ) ) |
| 112 |
|
simpl |
|- ( ( d e. Word V /\ x e. Word V ) -> d e. Word V ) |
| 113 |
112
|
adantr |
|- ( ( ( d e. Word V /\ x e. Word V ) /\ ( d =/= (/) /\ x =/= (/) ) ) -> d e. Word V ) |
| 114 |
|
simpr |
|- ( ( d e. Word V /\ x e. Word V ) -> x e. Word V ) |
| 115 |
114
|
adantr |
|- ( ( ( d e. Word V /\ x e. Word V ) /\ ( d =/= (/) /\ x =/= (/) ) ) -> x e. Word V ) |
| 116 |
|
hashneq0 |
|- ( d e. Word V -> ( 0 < ( # ` d ) <-> d =/= (/) ) ) |
| 117 |
116
|
biimprd |
|- ( d e. Word V -> ( d =/= (/) -> 0 < ( # ` d ) ) ) |
| 118 |
117
|
adantr |
|- ( ( d e. Word V /\ x e. Word V ) -> ( d =/= (/) -> 0 < ( # ` d ) ) ) |
| 119 |
118
|
com12 |
|- ( d =/= (/) -> ( ( d e. Word V /\ x e. Word V ) -> 0 < ( # ` d ) ) ) |
| 120 |
119
|
adantr |
|- ( ( d =/= (/) /\ x =/= (/) ) -> ( ( d e. Word V /\ x e. Word V ) -> 0 < ( # ` d ) ) ) |
| 121 |
120
|
impcom |
|- ( ( ( d e. Word V /\ x e. Word V ) /\ ( d =/= (/) /\ x =/= (/) ) ) -> 0 < ( # ` d ) ) |
| 122 |
|
pfxsuff1eqwrdeq |
|- ( ( d e. Word V /\ x e. Word V /\ 0 < ( # ` d ) ) -> ( d = x <-> ( ( # ` d ) = ( # ` x ) /\ ( ( d prefix ( ( # ` d ) - 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) /\ ( lastS ` d ) = ( lastS ` x ) ) ) ) ) |
| 123 |
113 115 121 122
|
syl3anc |
|- ( ( ( d e. Word V /\ x e. Word V ) /\ ( d =/= (/) /\ x =/= (/) ) ) -> ( d = x <-> ( ( # ` d ) = ( # ` x ) /\ ( ( d prefix ( ( # ` d ) - 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) /\ ( lastS ` d ) = ( lastS ` x ) ) ) ) ) |
| 124 |
|
ancom |
|- ( ( ( d prefix ( ( # ` d ) - 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) /\ ( lastS ` d ) = ( lastS ` x ) ) <-> ( ( lastS ` d ) = ( lastS ` x ) /\ ( d prefix ( ( # ` d ) - 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) ) ) |
| 125 |
124
|
anbi2i |
|- ( ( ( # ` d ) = ( # ` x ) /\ ( ( d prefix ( ( # ` d ) - 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) /\ ( lastS ` d ) = ( lastS ` x ) ) ) <-> ( ( # ` d ) = ( # ` x ) /\ ( ( lastS ` d ) = ( lastS ` x ) /\ ( d prefix ( ( # ` d ) - 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) ) ) ) |
| 126 |
|
3anass |
|- ( ( ( # ` d ) = ( # ` x ) /\ ( lastS ` d ) = ( lastS ` x ) /\ ( d prefix ( ( # ` d ) - 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) ) <-> ( ( # ` d ) = ( # ` x ) /\ ( ( lastS ` d ) = ( lastS ` x ) /\ ( d prefix ( ( # ` d ) - 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) ) ) ) |
| 127 |
125 126
|
bitr4i |
|- ( ( ( # ` d ) = ( # ` x ) /\ ( ( d prefix ( ( # ` d ) - 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) /\ ( lastS ` d ) = ( lastS ` x ) ) ) <-> ( ( # ` d ) = ( # ` x ) /\ ( lastS ` d ) = ( lastS ` x ) /\ ( d prefix ( ( # ` d ) - 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) ) ) |
| 128 |
123 127
|
bitrdi |
|- ( ( ( d e. Word V /\ x e. Word V ) /\ ( d =/= (/) /\ x =/= (/) ) ) -> ( d = x <-> ( ( # ` d ) = ( # ` x ) /\ ( lastS ` d ) = ( lastS ` x ) /\ ( d prefix ( ( # ` d ) - 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) ) ) ) |
| 129 |
111 128
|
syl |
|- ( ( ( ( ( d e. Word V /\ ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` d ) } e. E ) ) /\ ( x e. Word V /\ ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) ) /\ N e. NN0 ) /\ ( lastS ` d ) = ( lastS ` x ) ) -> ( d = x <-> ( ( # ` d ) = ( # ` x ) /\ ( lastS ` d ) = ( lastS ` x ) /\ ( d prefix ( ( # ` d ) - 1 ) ) = ( x prefix ( ( # ` d ) - 1 ) ) ) ) ) |
| 130 |
40 41 74 129
|
mpbir3and |
|- ( ( ( ( ( d e. Word V /\ ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` d ) } e. E ) ) /\ ( x e. Word V /\ ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) ) /\ N e. NN0 ) /\ ( lastS ` d ) = ( lastS ` x ) ) -> d = x ) |
| 131 |
130
|
exp31 |
|- ( ( ( d e. Word V /\ ( ( # ` d ) = ( N + 2 ) /\ ( d prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` d ) } e. E ) ) /\ ( x e. Word V /\ ( ( # ` x ) = ( N + 2 ) /\ ( x prefix ( N + 1 ) ) = W /\ { ( lastS ` W ) , ( lastS ` x ) } e. E ) ) ) -> ( N e. NN0 -> ( ( lastS ` d ) = ( lastS ` x ) -> d = x ) ) ) |
| 132 |
22 30 131
|
syl2anb |
|- ( ( d e. D /\ x e. D ) -> ( N e. NN0 -> ( ( lastS ` d ) = ( lastS ` x ) -> d = x ) ) ) |
| 133 |
132
|
impcom |
|- ( ( N e. NN0 /\ ( d e. D /\ x e. D ) ) -> ( ( lastS ` d ) = ( lastS ` x ) -> d = x ) ) |
| 134 |
14 133
|
sylbid |
|- ( ( N e. NN0 /\ ( d e. D /\ x e. D ) ) -> ( ( F ` d ) = ( F ` x ) -> d = x ) ) |
| 135 |
134
|
ralrimivva |
|- ( N e. NN0 -> A. d e. D A. x e. D ( ( F ` d ) = ( F ` x ) -> d = x ) ) |
| 136 |
|
dff13 |
|- ( F : D -1-1-> R <-> ( F : D --> R /\ A. d e. D A. x e. D ( ( F ` d ) = ( F ` x ) -> d = x ) ) ) |
| 137 |
6 135 136
|
sylanbrc |
|- ( N e. NN0 -> F : D -1-1-> R ) |