!set methtit2=Appliquer la transitivité des inégalités
!set methtit=Transitivité des inégalités
!set methenv=ZZ QQ RR
!set methparmtype=parm inequality >,parm inequality >
!set methhelp=Cette méthode applique la transitivité sur deux inégalités\
 du style \(a > b) et \(b > c), pour déduire une troisième \(a > c) qu'elle\
 mettra dans les hypothèses. Les deux inégalités de départ peuvent être\
 données sous forme \(a > b) et \(c < b) par exemple.

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

!exit
:form
 Appliquer la transitivité sur les inégalités
 !read deduc/methparm.phtml 1
 et
 !read deduc/methparm.phtml 2

!exit
:check
 !distribute items $methparmobj1 into data,left1,sign1,right1
 !distribute items $methparmobj2 into data,left2,sign2,right2
 methexp=Transitivité sur \($left1 $sign1 $right1) et \($left2 $sign2 $right2)
 
 gt=>
 lt=<
 !if ($gt isin $sign1 and $lt isin $sign2) or\
	($lt isin $sign1 and $gt isin $sign2)
  !exchange left2,right2
 !endif
 !read deduc/sub/simplify ($right1) - ($left2)\
	($right2) - ($left1)
 !distribute lines $out into test1,test2
 !if $test1!=0
  !if $test2!=0
   error=La transitivité ne s'applique pas sur vos inégalités.
   !advance penalty
   !exit
  !else
   !exchange right1,right2
   !exchange left1,left2
  !endif
 !endif

 !if $gt isin $sign1
  s_=>
 !else
  s_=<
 !endif
 eq=$empty=
 !if $eq isin $sign1 and $eq isin $sign2
  s_=$s_=
 !endif
 newobject0=$left1 $s_ $right2
 oldobject=0

!exit

