!set methtit2=Multiplica dos desigualdades positivas
!set methtit=Multiplicar dos desigualdades
!set methenv=ZZ QQ RR
!set methparmrelax=3,4
!set methparmtype=parm inequality >,\
	parm inequality >,\
	parm inequality >,\
	parm inequality >
!set methhelp=Este método aplica la siguiente propiedad.
  <p class="wimscenter" style="font-type:italic">\
Si \(A <= B) y \(C <= D) con \(B >= 0) y \(C >= 0), entonces \
   \(AC <= BD).</p>\
   El resultado (\(AC <= BD)) se agregará a las hipótesis.\
  <p>\
  En los casos en que algunas desigualdades iniciales son estrictas, el método\
   también sabe cuándo podemos tener \(AC < BD).\
 </p>

!if $wims_read_parm iswordof form check
  !goto $wims_read_parm
!endif

!exit
:form
 Se aplica la siguiente propiedad.
<p class="wimscenter" style="font-type:italic">Si \(A <= B) y \(C <= D) con \(B >= 0) y \(C >= 0), entonces
 \(AC <= BD).
</p>

!set ch_optional=es evidente
Para \(A <= B): la desigualdad
!read deduc/methparm.phtml 1
donde \(B >= 0) porque
!read deduc/methparm.phtml 3
<br>
Para \(C <= D): la desigualdad
!read deduc/methparm.phtml 2
donde \(C >= 0) porque
!read deduc/methparm.phtml 4

!exit
:check
gt=>
lt=<
eq=$empty=
!for i=1 to 4
  !distribute items $(methparmobj$i) into data,left$i,sign$i,right$i
  mt$i=$(left$i) $(sign$i) $(right$i)
  !if $lt isin $(sign$i)
    !exchange left$i,right$i
  !endif
!next i
methexp=Multiplicar \($mt1) et \($mt2)

!read deduc/sub/checkineq ($right1),>=,0\
	($left1),>=,0\
	($right2),>=,0\
	($right1),>,0\
	($left1),>,0
!distribute lines $out into t1,t2,t3,t4,t5
!if $t2=false
  error=¡Tu primera desigualdad no cumple la condición!
  !advance penalty
  !exit
!endif
!if $t1=true or $t2=true
  !if $t2=true
    sign3=$sign1=
    mt2=$t5
  !else
    sign3=$sign1
    mt2=$t4
  !endif
  !goto ok1
!endif
!ifval $methparm3=0
  !goto bad1
!endif
!read deduc/sub/checkineq ($left1) - ($left3) + ($right3),>=,0\
	($left1) - ($left3) + ($right3),>,0
!distribute lines $out into mt1,mt2
!if $mt1!=true
  :bad1
  error=No veo por qué la primera desigualdad satisface la condición.
  !advance penalty
  !exit
!endif
:ok1
!read deduc/sub/checkineq ($right2),>=,0\
	($right2),>,0
!distribute lines $out into mt3,mt4
!if $mt3=true
  sign4=$sign2=
  !goto ok2
!endif
!if $out=false
  error=¡Tu segunda desigualdad no cumple la condición!
  !advance penalty
  !exit
!endif
!if $[$methparm4]=0
  !goto bad2
!endif
!read deduc/sub/checkineq ($right2) - ($left4) + ($right4),>=,0
	($right2) - ($left4) + ($right4),>,0
!distribute lines $out into mt3,mt4
!if $mt3!=true
  :bad2
  error=No veo por qué la segunda desigualdad es positiva.
  !exit
!endif
:ok2

!read deduc/sub/simplify ($left1) * ($left2)\
	($right1) * ($right2)
!distribute lines $out into newright, newleft
!if $newleft=$empty or $newright=$empty
  error=bad_data
  !exit
!endif

s_=<
!reset eq1,eq2
!if $eq isin $sign3 and $mt2!=true
  eq1=true
!endif
!if $eq isin $sign4 and $mt4!=true
  eq2=true
!endif
!if ($eq isin $sign1 and $eq isin $sign2) or\
	($eq1=true and $eq2=true) or\
	($eq isin $sign1 and $eq1=true) or ($eq isin $sign2 and $eq2=true)
  s_=$s_=
!endif
 newobject0=$newleft $s_ $newright
 oldobject=0

!exit
