Users' Mathboxes Mathbox for Thierry Arnoux < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  signswn0 Structured version   Unicode version

Theorem signswn0 28310
Description: The zero-skipping operation propagages non-zeros. (Contributed by Thierry Arnoux, 11-Oct-2018.)
Hypotheses
Ref Expression
signsw.p  |-  .+^  =  ( a  e.  { -u
1 ,  0 ,  1 } ,  b  e.  { -u 1 ,  0 ,  1 }  |->  if ( b  =  0 ,  a ,  b ) )
signsw.w  |-  W  =  { <. ( Base `  ndx ) ,  { -u 1 ,  0 ,  1 } >. ,  <. ( +g  `  ndx ) , 
.+^  >. }
Assertion
Ref Expression
signswn0  |-  ( ( ( X  e.  { -u 1 ,  0 ,  1 }  /\  Y  e.  { -u 1 ,  0 ,  1 } )  /\  X  =/=  0 )  ->  ( X  .+^  Y )  =/=  0 )
Distinct variable groups:    a, b, X    Y, a, b
Allowed substitution hints:    .+^ ( a, b)    W( a, b)

Proof of Theorem signswn0
StepHypRef Expression
1 signsw.p . . . 4  |-  .+^  =  ( a  e.  { -u
1 ,  0 ,  1 } ,  b  e.  { -u 1 ,  0 ,  1 }  |->  if ( b  =  0 ,  a ,  b ) )
21signspval 28302 . . 3  |-  ( ( X  e.  { -u
1 ,  0 ,  1 }  /\  Y  e.  { -u 1 ,  0 ,  1 } )  ->  ( X  .+^ 
Y )  =  if ( Y  =  0 ,  X ,  Y
) )
32adantr 465 . 2  |-  ( ( ( X  e.  { -u 1 ,  0 ,  1 }  /\  Y  e.  { -u 1 ,  0 ,  1 } )  /\  X  =/=  0 )  ->  ( X  .+^  Y )  =  if ( Y  =  0 ,  X ,  Y ) )
4 neeq1 2748 . . 3  |-  ( X  =  if ( Y  =  0 ,  X ,  Y )  ->  ( X  =/=  0  <->  if ( Y  =  0 ,  X ,  Y )  =/=  0 ) )
5 neeq1 2748 . . 3  |-  ( Y  =  if ( Y  =  0 ,  X ,  Y )  ->  ( Y  =/=  0  <->  if ( Y  =  0 ,  X ,  Y )  =/=  0 ) )
6 simplr 754 . . 3  |-  ( ( ( ( X  e. 
{ -u 1 ,  0 ,  1 }  /\  Y  e.  { -u 1 ,  0 ,  1 } )  /\  X  =/=  0 )  /\  Y  =  0 )  ->  X  =/=  0 )
7 simpr 461 . . . 4  |-  ( ( ( ( X  e. 
{ -u 1 ,  0 ,  1 }  /\  Y  e.  { -u 1 ,  0 ,  1 } )  /\  X  =/=  0 )  /\  -.  Y  =  0 )  ->  -.  Y  = 
0 )
87neqned 2670 . . 3  |-  ( ( ( ( X  e. 
{ -u 1 ,  0 ,  1 }  /\  Y  e.  { -u 1 ,  0 ,  1 } )  /\  X  =/=  0 )  /\  -.  Y  =  0 )  ->  Y  =/=  0
)
94, 5, 6, 8ifbothda 3979 . 2  |-  ( ( ( X  e.  { -u 1 ,  0 ,  1 }  /\  Y  e.  { -u 1 ,  0 ,  1 } )  /\  X  =/=  0 )  ->  if ( Y  =  0 ,  X ,  Y )  =/=  0 )
103, 9eqnetrd 2760 1  |-  ( ( ( X  e.  { -u 1 ,  0 ,  1 }  /\  Y  e.  { -u 1 ,  0 ,  1 } )  /\  X  =/=  0 )  ->  ( X  .+^  Y )  =/=  0 )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    /\ wa 369    = wceq 1379    e. wcel 1767    =/= wne 2662   ifcif 3944   {cpr 4034   {ctp 4036   <.cop 4038   ` cfv 5593  (class class class)co 6294    |-> cmpt2 6296   0cc0 9502   1c1 9503   -ucneg 9816   ndxcnx 14499   Basecbs 14502   +g cplusg 14567
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1601  ax-4 1612  ax-5 1680  ax-6 1719  ax-7 1739  ax-9 1771  ax-10 1786  ax-11 1791  ax-12 1803  ax-13 1968  ax-ext 2445  ax-sep 4573  ax-nul 4581  ax-pr 4691
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3an 975  df-tru 1382  df-ex 1597  df-nf 1600  df-sb 1712  df-eu 2279  df-mo 2280  df-clab 2453  df-cleq 2459  df-clel 2462  df-nfc 2617  df-ne 2664  df-ral 2822  df-rex 2823  df-rab 2826  df-v 3120  df-sbc 3337  df-dif 3484  df-un 3486  df-in 3488  df-ss 3495  df-nul 3791  df-if 3945  df-sn 4033  df-pr 4035  df-op 4039  df-uni 4251  df-br 4453  df-opab 4511  df-id 4800  df-xp 5010  df-rel 5011  df-cnv 5012  df-co 5013  df-dm 5014  df-iota 5556  df-fun 5595  df-fv 5601  df-ov 6297  df-oprab 6298  df-mpt2 6299
This theorem is referenced by:  signstfvneq0  28322
  Copyright terms: Public domain W3C validator