MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  spthon Structured version   Unicode version

Theorem spthon 23432
Description: The set of simple paths between two vertices (in an undirected graph). (Contributed by Alexander van der Vekens, 1-Mar-2018.)
Assertion
Ref Expression
spthon  |-  ( ( ( V  e.  X  /\  E  e.  Y
)  /\  ( A  e.  V  /\  B  e.  V ) )  -> 
( A ( V SPathOn  E ) B )  =  { <. f ,  p >.  |  (
f ( A ( V WalkOn  E ) B ) p  /\  f
( V SPaths  E )
p ) } )
Distinct variable groups:    f, E, p    f, V, p    f, X, p    f, Y, p    A, f, p    B, f, p

Proof of Theorem spthon
Dummy variables  a 
b  e  v are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 elex 2976 . . . . 5  |-  ( V  e.  X  ->  V  e.  _V )
21ad2antrr 725 . . . 4  |-  ( ( ( V  e.  X  /\  E  e.  Y
)  /\  ( A  e.  V  /\  B  e.  V ) )  ->  V  e.  _V )
3 elex 2976 . . . . . 6  |-  ( E  e.  Y  ->  E  e.  _V )
43adantl 466 . . . . 5  |-  ( ( V  e.  X  /\  E  e.  Y )  ->  E  e.  _V )
54adantr 465 . . . 4  |-  ( ( ( V  e.  X  /\  E  e.  Y
)  /\  ( A  e.  V  /\  B  e.  V ) )  ->  E  e.  _V )
6 id 22 . . . . . . 7  |-  ( V  e.  X  ->  V  e.  X )
76ancli 551 . . . . . 6  |-  ( V  e.  X  ->  ( V  e.  X  /\  V  e.  X )
)
87ad2antrr 725 . . . . 5  |-  ( ( ( V  e.  X  /\  E  e.  Y
)  /\  ( A  e.  V  /\  B  e.  V ) )  -> 
( V  e.  X  /\  V  e.  X
) )
9 mpt2exga 6644 . . . . 5  |-  ( ( V  e.  X  /\  V  e.  X )  ->  ( a  e.  V ,  b  e.  V  |->  { <. f ,  p >.  |  ( f ( a ( V WalkOn  E
) b ) p  /\  f ( V SPaths  E ) p ) } )  e.  _V )
108, 9syl 16 . . . 4  |-  ( ( ( V  e.  X  /\  E  e.  Y
)  /\  ( A  e.  V  /\  B  e.  V ) )  -> 
( a  e.  V ,  b  e.  V  |->  { <. f ,  p >.  |  ( f ( a ( V WalkOn  E
) b ) p  /\  f ( V SPaths  E ) p ) } )  e.  _V )
11 simpl 457 . . . . . 6  |-  ( ( v  =  V  /\  e  =  E )  ->  v  =  V )
12 oveq12 6095 . . . . . . . . . 10  |-  ( ( v  =  V  /\  e  =  E )  ->  ( v WalkOn  e )  =  ( V WalkOn  E
) )
1312oveqd 6103 . . . . . . . . 9  |-  ( ( v  =  V  /\  e  =  E )  ->  ( a ( v WalkOn 
e ) b )  =  ( a ( V WalkOn  E ) b ) )
1413breqd 4298 . . . . . . . 8  |-  ( ( v  =  V  /\  e  =  E )  ->  ( f ( a ( v WalkOn  e ) b ) p  <->  f (
a ( V WalkOn  E
) b ) p ) )
15 oveq12 6095 . . . . . . . . 9  |-  ( ( v  =  V  /\  e  =  E )  ->  ( v SPaths  e )  =  ( V SPaths  E
) )
1615breqd 4298 . . . . . . . 8  |-  ( ( v  =  V  /\  e  =  E )  ->  ( f ( v SPaths 
e ) p  <->  f ( V SPaths  E ) p ) )
1714, 16anbi12d 710 . . . . . . 7  |-  ( ( v  =  V  /\  e  =  E )  ->  ( ( f ( a ( v WalkOn  e
) b ) p  /\  f ( v SPaths 
e ) p )  <-> 
( f ( a ( V WalkOn  E ) b ) p  /\  f ( V SPaths  E
) p ) ) )
1817opabbidv 4350 . . . . . 6  |-  ( ( v  =  V  /\  e  =  E )  ->  { <. f ,  p >.  |  ( f ( a ( v WalkOn  e
) b ) p  /\  f ( v SPaths 
e ) p ) }  =  { <. f ,  p >.  |  ( f ( a ( V WalkOn  E ) b ) p  /\  f
( V SPaths  E )
p ) } )
1911, 11, 18mpt2eq123dv 6143 . . . . 5  |-  ( ( v  =  V  /\  e  =  E )  ->  ( a  e.  v ,  b  e.  v 
|->  { <. f ,  p >.  |  ( f ( a ( v WalkOn  e
) b ) p  /\  f ( v SPaths 
e ) p ) } )  =  ( a  e.  V , 
b  e.  V  |->  {
<. f ,  p >.  |  ( f ( a ( V WalkOn  E ) b ) p  /\  f ( V SPaths  E
) p ) } ) )
20 df-spthon 23375 . . . . 5  |- SPathOn  =  ( v  e.  _V , 
e  e.  _V  |->  ( a  e.  v ,  b  e.  v  |->  {
<. f ,  p >.  |  ( f ( a ( v WalkOn  e ) b ) p  /\  f ( v SPaths  e
) p ) } ) )
2119, 20ovmpt2ga 6215 . . . 4  |-  ( ( V  e.  _V  /\  E  e.  _V  /\  (
a  e.  V , 
b  e.  V  |->  {
<. f ,  p >.  |  ( f ( a ( V WalkOn  E ) b ) p  /\  f ( V SPaths  E
) p ) } )  e.  _V )  ->  ( V SPathOn  E )  =  ( a  e.  V ,  b  e.  V  |->  { <. f ,  p >.  |  (
f ( a ( V WalkOn  E ) b ) p  /\  f
( V SPaths  E )
p ) } ) )
222, 5, 10, 21syl3anc 1218 . . 3  |-  ( ( ( V  e.  X  /\  E  e.  Y
)  /\  ( A  e.  V  /\  B  e.  V ) )  -> 
( V SPathOn  E )  =  ( a  e.  V ,  b  e.  V  |->  { <. f ,  p >.  |  (
f ( a ( V WalkOn  E ) b ) p  /\  f
( V SPaths  E )
p ) } ) )
2322oveqd 6103 . 2  |-  ( ( ( V  e.  X  /\  E  e.  Y
)  /\  ( A  e.  V  /\  B  e.  V ) )  -> 
( A ( V SPathOn  E ) B )  =  ( A ( a  e.  V , 
b  e.  V  |->  {
<. f ,  p >.  |  ( f ( a ( V WalkOn  E ) b ) p  /\  f ( V SPaths  E
) p ) } ) B ) )
24 simpl 457 . . . 4  |-  ( ( A  e.  V  /\  B  e.  V )  ->  A  e.  V )
2524adantl 466 . . 3  |-  ( ( ( V  e.  X  /\  E  e.  Y
)  /\  ( A  e.  V  /\  B  e.  V ) )  ->  A  e.  V )
26 simprr 756 . . 3  |-  ( ( ( V  e.  X  /\  E  e.  Y
)  /\  ( A  e.  V  /\  B  e.  V ) )  ->  B  e.  V )
27 ancom 450 . . . . . . 7  |-  ( ( f ( A ( V WalkOn  E ) B ) p  /\  f
( V SPaths  E )
p )  <->  ( f
( V SPaths  E )
p  /\  f ( A ( V WalkOn  E
) B ) p ) )
2827a1i 11 . . . . . 6  |-  ( ( V  e.  X  /\  E  e.  Y )  ->  ( ( f ( A ( V WalkOn  E
) B ) p  /\  f ( V SPaths  E ) p )  <-> 
( f ( V SPaths  E ) p  /\  f ( A ( V WalkOn  E ) B ) p ) ) )
2928opabbidv 4350 . . . . 5  |-  ( ( V  e.  X  /\  E  e.  Y )  ->  { <. f ,  p >.  |  ( f ( A ( V WalkOn  E
) B ) p  /\  f ( V SPaths  E ) p ) }  =  { <. f ,  p >.  |  ( f ( V SPaths  E
) p  /\  f
( A ( V WalkOn  E ) B ) p ) } )
30 spthispth 23423 . . . . . . . 8  |-  ( f ( V SPaths  E ) p  ->  f ( V Paths  E ) p )
31 pthistrl 23422 . . . . . . . 8  |-  ( f ( V Paths  E ) p  ->  f ( V Trails  E ) p )
32 trliswlk 23389 . . . . . . . 8  |-  ( f ( V Trails  E ) p  ->  f ( V Walks  E ) p )
3330, 31, 323syl 20 . . . . . . 7  |-  ( f ( V SPaths  E ) p  ->  f ( V Walks  E ) p )
3433wlkres 23379 . . . . . 6  |-  ( ( V  e.  _V  /\  E  e.  _V )  ->  { <. f ,  p >.  |  ( f ( V SPaths  E ) p  /\  f ( A ( V WalkOn  E ) B ) p ) }  e.  _V )
351, 3, 34syl2an 477 . . . . 5  |-  ( ( V  e.  X  /\  E  e.  Y )  ->  { <. f ,  p >.  |  ( f ( V SPaths  E ) p  /\  f ( A ( V WalkOn  E ) B ) p ) }  e.  _V )
3629, 35eqeltrd 2512 . . . 4  |-  ( ( V  e.  X  /\  E  e.  Y )  ->  { <. f ,  p >.  |  ( f ( A ( V WalkOn  E
) B ) p  /\  f ( V SPaths  E ) p ) }  e.  _V )
3736adantr 465 . . 3  |-  ( ( ( V  e.  X  /\  E  e.  Y
)  /\  ( A  e.  V  /\  B  e.  V ) )  ->  { <. f ,  p >.  |  ( f ( A ( V WalkOn  E
) B ) p  /\  f ( V SPaths  E ) p ) }  e.  _V )
38 oveq12 6095 . . . . . . 7  |-  ( ( a  =  A  /\  b  =  B )  ->  ( a ( V WalkOn  E ) b )  =  ( A ( V WalkOn  E ) B ) )
3938breqd 4298 . . . . . 6  |-  ( ( a  =  A  /\  b  =  B )  ->  ( f ( a ( V WalkOn  E ) b ) p  <->  f ( A ( V WalkOn  E
) B ) p ) )
4039anbi1d 704 . . . . 5  |-  ( ( a  =  A  /\  b  =  B )  ->  ( ( f ( a ( V WalkOn  E
) b ) p  /\  f ( V SPaths  E ) p )  <-> 
( f ( A ( V WalkOn  E ) B ) p  /\  f ( V SPaths  E
) p ) ) )
4140opabbidv 4350 . . . 4  |-  ( ( a  =  A  /\  b  =  B )  ->  { <. f ,  p >.  |  ( f ( a ( V WalkOn  E
) b ) p  /\  f ( V SPaths  E ) p ) }  =  { <. f ,  p >.  |  ( f ( A ( V WalkOn  E ) B ) p  /\  f
( V SPaths  E )
p ) } )
42 eqid 2438 . . . 4  |-  ( a  e.  V ,  b  e.  V  |->  { <. f ,  p >.  |  ( f ( a ( V WalkOn  E ) b ) p  /\  f
( V SPaths  E )
p ) } )  =  ( a  e.  V ,  b  e.  V  |->  { <. f ,  p >.  |  (
f ( a ( V WalkOn  E ) b ) p  /\  f
( V SPaths  E )
p ) } )
4341, 42ovmpt2ga 6215 . . 3  |-  ( ( A  e.  V  /\  B  e.  V  /\  {
<. f ,  p >.  |  ( f ( A ( V WalkOn  E ) B ) p  /\  f ( V SPaths  E
) p ) }  e.  _V )  -> 
( A ( a  e.  V ,  b  e.  V  |->  { <. f ,  p >.  |  ( f ( a ( V WalkOn  E ) b ) p  /\  f
( V SPaths  E )
p ) } ) B )  =  { <. f ,  p >.  |  ( f ( A ( V WalkOn  E ) B ) p  /\  f ( V SPaths  E
) p ) } )
4425, 26, 37, 43syl3anc 1218 . 2  |-  ( ( ( V  e.  X  /\  E  e.  Y
)  /\  ( A  e.  V  /\  B  e.  V ) )  -> 
( A ( a  e.  V ,  b  e.  V  |->  { <. f ,  p >.  |  ( f ( a ( V WalkOn  E ) b ) p  /\  f
( V SPaths  E )
p ) } ) B )  =  { <. f ,  p >.  |  ( f ( A ( V WalkOn  E ) B ) p  /\  f ( V SPaths  E
) p ) } )
4523, 44eqtrd 2470 1  |-  ( ( ( V  e.  X  /\  E  e.  Y
)  /\  ( A  e.  V  /\  B  e.  V ) )  -> 
( A ( V SPathOn  E ) B )  =  { <. f ,  p >.  |  (
f ( A ( V WalkOn  E ) B ) p  /\  f
( V SPaths  E )
p ) } )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 184    /\ wa 369    = wceq 1369    e. wcel 1756   _Vcvv 2967   class class class wbr 4287   {copab 4344  (class class class)co 6086    e. cmpt2 6088   Walks cwalk 23356   Trails ctrail 23357   Paths cpath 23358   SPaths cspath 23359   WalkOn cwlkon 23360   SPathOn cspthon 23363
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1591  ax-4 1602  ax-5 1670  ax-6 1708  ax-7 1728  ax-8 1758  ax-9 1760  ax-10 1775  ax-11 1780  ax-12 1792  ax-13 1943  ax-ext 2419  ax-rep 4398  ax-sep 4408  ax-nul 4416  ax-pow 4465  ax-pr 4526  ax-un 6367  ax-cnex 9330  ax-resscn 9331  ax-1cn 9332  ax-icn 9333  ax-addcl 9334  ax-addrcl 9335  ax-mulcl 9336  ax-mulrcl 9337  ax-mulcom 9338  ax-addass 9339  ax-mulass 9340  ax-distr 9341  ax-i2m1 9342  ax-1ne0 9343  ax-1rid 9344  ax-rnegex 9345  ax-rrecex 9346  ax-cnre 9347  ax-pre-lttri 9348  ax-pre-lttrn 9349  ax-pre-ltadd 9350  ax-pre-mulgt0 9351
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 966  df-3an 967  df-tru 1372  df-ex 1587  df-nf 1590  df-sb 1701  df-eu 2256  df-mo 2257  df-clab 2425  df-cleq 2431  df-clel 2434  df-nfc 2563  df-ne 2603  df-nel 2604  df-ral 2715  df-rex 2716  df-reu 2717  df-rab 2719  df-v 2969  df-sbc 3182  df-csb 3284  df-dif 3326  df-un 3328  df-in 3330  df-ss 3337  df-pss 3339  df-nul 3633  df-if 3787  df-pw 3857  df-sn 3873  df-pr 3875  df-tp 3877  df-op 3879  df-uni 4087  df-int 4124  df-iun 4168  df-br 4288  df-opab 4346  df-mpt 4347  df-tr 4381  df-eprel 4627  df-id 4631  df-po 4636  df-so 4637  df-fr 4674  df-we 4676  df-ord 4717  df-on 4718  df-lim 4719  df-suc 4720  df-xp 4841  df-rel 4842  df-cnv 4843  df-co 4844  df-dm 4845  df-rn 4846  df-res 4847  df-ima 4848  df-iota 5376  df-fun 5415  df-fn 5416  df-f 5417  df-f1 5418  df-fo 5419  df-f1o 5420  df-fv 5421  df-riota 6047  df-ov 6089  df-oprab 6090  df-mpt2 6091  df-om 6472  df-1st 6572  df-2nd 6573  df-recs 6824  df-rdg 6858  df-1o 6912  df-oadd 6916  df-er 7093  df-map 7208  df-pm 7209  df-en 7303  df-dom 7304  df-sdom 7305  df-fin 7306  df-card 8101  df-pnf 9412  df-mnf 9413  df-xr 9414  df-ltxr 9415  df-le 9416  df-sub 9589  df-neg 9590  df-nn 10315  df-n0 10572  df-z 10639  df-uz 10854  df-fz 11430  df-fzo 11541  df-hash 12096  df-word 12221  df-wlk 23366  df-trail 23367  df-pth 23368  df-spth 23369  df-spthon 23375
This theorem is referenced by:  isspthon  23433  spthonprp  23435
  Copyright terms: Public domain W3C validator